Compare commits

...

76 Commits

Author SHA1 Message Date
stax76
96afc62165 v7.1.2.0 2026-01-09 06:16:51 +01:00
stax76
fd3ea9afe9 Misc 2026-01-09 06:03:08 +01:00
stax76
853d38a427 PS script documentation 2026-01-09 05:21:30 +01:00
stax76
76a2f64fa6 adjust to mpv v.0.41 2026-01-08 17:14:31 +01:00
stax76
6c0e116918 Update readme 2025-11-26 13:51:47 +01:00
stax76
c1abf90559 Update outdated requirements in manual 2025-11-25 06:07:35 +01:00
stax76
eb085a6534 Changelog and version updated 2025-11-23 21:26:51 +01:00
stax76
78b85d59aa Merge pull request #751 from DogancanYr/patch-5
Revise Turkish translations.
2025-11-23 21:21:16 +01:00
stax76
0f900e01fa Merge pull request #752 from tsubasanouta/patch-1
Update ja.po
2025-11-23 21:20:54 +01:00
tsubasanouta
f754d4d865 Update ja.po 2025-11-24 04:47:20 +09:00
DogancanYr
474c4e888d Revise Turkish translations. 2025-11-23 16:10:49 +03:00
stax76
8f8ca453da Fix #748 2025-11-20 01:51:23 +01:00
stax76
8bd00fd2f1 Changelog update 2025-11-20 01:23:09 +01:00
stax76
61958aba2c v7.1.1.5 Beta 2025-11-20 01:11:02 +01:00
stax76
3fa6f44828 Changelog update 2025-11-20 01:07:16 +01:00
stax76
31be72efb2 Update Changelog 2025-11-20 01:00:27 +01:00
stax76
405c20f056 Merge pull request #749 from DogancanYr/patch-4
Update Turkish translations in tr.po file
2025-11-20 00:56:45 +01:00
stax76
5f0fb4ebc3 Update to .NET 10 LTS 2025-11-20 00:56:03 +01:00
DogancanYr
c6a2b06fdf Update Turkish translations in tr.po file 2025-10-29 19:58:56 +03:00
stax76
8f38eba23e Chinese and Japanese translations update 2025-10-14 02:41:25 +02:00
stax76
79164aae72 The German translation was updated 2025-10-06 00:43:18 +02:00
stax76
e5d3ac0d92 Changed default keys and menu items 2025-10-05 16:53:55 +02:00
stax76
f7c8c16344 v7.1.1.4 Beta 2025-10-05 01:12:04 +02:00
stax76
b1fccbf175 misc 2025-10-04 15:07:56 +02:00
stax76
cc1e4bc9f8 misc 2025-09-12 05:11:55 +02:00
stax76
3812f3031c Improved support for select.lua 2025-05-05 17:42:50 +02:00
stax76
837f97d491 Merge branch 'main' of https://github.com/mpvnet-player/mpv.net 2025-05-05 14:38:20 +02:00
stax76
2dab825af4 Update changelog 2025-05-05 14:37:58 +02:00
stax76
a78c1ba50d Merge pull request #725 from benomine/main
feat: dotnet 9, CPM, etc
2025-05-05 14:30:44 +02:00
stax76
50aea3b5ba Update changelog 2025-05-05 14:28:45 +02:00
stax76
6a971595f7 attempted actions/workflow fix 2025-05-04 05:03:17 +02:00
stax76
a1d944a9a0 translation update 2025-05-04 04:51:40 +02:00
stax76
8b49312bad Turkish translation update 2025-05-04 04:26:25 +02:00
stax76
95b279b0e9 Merge pull request #718 from DogancanYr/patch-3
Update tr.po
2025-05-04 04:10:30 +02:00
Benjamin Nomine
01477d8b25 feat: dotnet 9, CPM, etc 2025-01-11 14:05:54 -05:00
DogancanYr
4e5182eb73 Update tr.po 2024-11-28 19:43:56 +02:00
stax76
8d0b70a5dc manual improvements and fixes 2024-11-06 01:50:07 +01:00
stax76
37a241f136 Use MPV_CONFIG_DIR env var for command palette installer script 2024-11-03 11:30:19 +01:00
stax76
ace7566c2a v7.1.1.3 Beta 2024-10-20 09:15:34 +02:00
stax76
0b646cedb5 New command Video > Stream Quality (Alt+q) 2024-10-14 15:18:11 +02:00
stax76
a0d2fb6a4e command palette support 2024-10-13 14:18:04 +02:00
stax76
59a556794f support for autocreate-playlist, video-exts, audio-exts, image-exts 2024-10-12 21:50:46 +02:00
stax76
cca474a5a5 Merge pull request #710 from emmanuel-ferdman/main
update manual guide reference
2024-10-10 19:25:14 +02:00
Emmanuel Ferdman
ae05b997c7 update manual guide reference
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-10-10 06:52:50 -07:00
stax76
88a6e18e78 v7.1.1.2 2024-10-10 14:08:21 +02:00
stax76
3de72df806 use autocreate-playlist instead of auto-load-folder 2024-10-10 13:32:19 +02:00
stax76
da176085cd Action fix 2024-10-10 06:27:24 +02:00
stax76
2b0ac7c087 cursor-autohide support #702 2024-10-10 05:44:02 +02:00
stax76
94ecf4a069 try fixing #662 2024-09-05 23:33:13 +02:00
stax76
9355e2f50c Set media-controls=yes 2024-09-05 05:15:00 +02:00
stax76
058ae3d185 auto build fix 2024-08-19 11:37:50 +02:00
stax76
3c1e6395a4 changelog update 2024-08-19 09:59:08 +02:00
stax76
236d10c14a changelog update 2024-08-19 09:56:02 +02:00
stax76
53f350da9a Polish translation fixed 2024-08-19 09:45:56 +02:00
stax76
bb6819f240 translation update 2024-08-19 09:27:18 +02:00
stax76
8f53254dbc Merge branch 'main' of https://github.com/mpvnet-player/mpv.net 2024-08-19 08:58:10 +02:00
stax76
8ed73f6ae0 changelog update 2024-08-19 08:57:54 +02:00
stax76
d59ccd7beb Merge pull request #704 from Ilithy/main
French translation
2024-08-19 08:55:19 +02:00
stax76
aeb11c9be1 changelog update 2024-08-19 08:53:06 +02:00
Ilithy
a1c8e93034 Update fr.po 2024-08-18 12:10:25 +02:00
Ilithy
00a11ea076 Update fr.po 2024-08-18 12:08:43 +02:00
Ilithy
9115f707dc Update fr.po 2024-08-18 12:02:59 +02:00
Ilithy
a2ec8de976 Update fr.po 2024-08-18 11:59:08 +02:00
Ilithy
be7e5aa7d2 Update fr.po 2024-08-18 11:52:03 +02:00
Ilithy
27124c9cdd Update fr.po 2024-08-18 01:57:02 +02:00
Ilithy
44079ed69c first commit for french translation 2024-08-16 01:36:00 +02:00
stax76
07749cb2cc title-bar fix 2024-08-10 11:19:23 +02:00
stax76
9d30acaba6 Japanese translation updated 2024-07-26 00:36:07 +02:00
stax76
f3fdef780d Support relative folders from command line 2024-07-26 00:14:44 +02:00
stax76
1243d1381b Updated changelog 2024-07-25 11:42:01 +02:00
stax76
3602f627e8 manual 2024-07-25 11:06:09 +02:00
stax76
97fab64d32 manual 2024-07-25 11:01:37 +02:00
stax76
e7b7f33b1b translation 2024-07-25 10:53:30 +02:00
stax76
01c2171a62 translation update 2024-07-25 10:34:09 +02:00
stax76
321dc13531 Merge pull request #699 from DogancanYr/patch-2
Update tr.po
2024-07-25 10:13:32 +02:00
DogancanYr
4032e8be7b Update tr.po 2024-07-20 21:21:24 +03:00
46 changed files with 8151 additions and 4765 deletions

View File

@@ -54,7 +54,7 @@ jobs:
- name: Download libmpv # In principle, only update this binary file when significant feature changes occur in mpv/mpv.net - name: Download libmpv # In principle, only update this binary file when significant feature changes occur in mpv/mpv.net
shell: msys2 {0} shell: msys2 {0}
run: | run: |
wget -nv -O libmpv.7z https://github.com/zhongfly/mpv-winbuild/releases/download/2024-07-14-202ecc1/mpv-dev-x86_64-20240714-git-202ecc1.7z wget -nv -O libmpv.7z https://github.com/zhongfly/mpv-winbuild/releases/download/2025-05-03-e663cbc/mpv-dev-x86_64-20250503-git-e663cbc.7z
7z x -y libmpv.7z -olibmpv 7z x -y libmpv.7z -olibmpv
cp -f libmpv/libmpv-2.dll src/MpvNet.Windows/bin/Debug/ || true cp -f libmpv/libmpv-2.dll src/MpvNet.Windows/bin/Debug/ || true
- name: Download MediaInfo - name: Download MediaInfo
@@ -69,7 +69,7 @@ jobs:
wget -nv -O mpvnet.com https://github.com/mpvnet-player/file-host/releases/download/tag/mpvnet.com.txt wget -nv -O mpvnet.com https://github.com/mpvnet-player/file-host/releases/download/tag/mpvnet.com.txt
cp -f mpvnet.com src/MpvNet.Windows/bin/Debug/ || true cp -f mpvnet.com src/MpvNet.Windows/bin/Debug/ || true
- name: Upload - name: Upload
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: "mpv.net-win64" name: "mpv.net-win64"
path: src/MpvNet.Windows/bin/Debug/ path: src/MpvNet.Windows/bin/Debug/

View File

@@ -137,3 +137,11 @@ Searchable config editor as alternative to edit the conf file manually.
#### Terminal #### Terminal
![](docs/img/Terminal.webp) ![](docs/img/Terminal.webp)
Other projects from me
----------------------
A list of my other projects can be found here:
https://stax76.github.io/software-list

View File

@@ -1,4 +1,79 @@
# v7.1.2.0 (2026-01-09)
- libmpv updated to v0.41 2026-01-09.
- Some adjustments to recent mpv changes.
- The Japanese and Turkish translations were updated. Thanks to the translators!
# v7.1.1.5 Beta (2025-11-20)
- Same as in mpv the `?` and `t-4` keys can be used to show the active
key bindings on-screen, it supports scrolling and searching.
In the context menu it's located at:
`View > More > Show Active Bindings On-Screen`
- Bindings of select.lua menus have changed:
`F1` On-Screen menu
`F2` Bindings
`F3` Properties
`F4` Commands
- The German, Chinese, Japanese and Turkish translations were updated. Thanks to the translators!
- Users need to install .NET 10 LTS (Long Term Support), it should run on Windows 10.
It was requested by users to prefer LTS over STS (Short Term Support).
- libmpv and MediaInfo was updated.
# v7.1.1.4 Beta (2025-10-05)
- Support for select.lua has been added. It's a new Lua script built
directly into mpv like the osc or console script. It's similar to command_palete.lua.
- Fix --script-opt not working.
- The mpv.net manual was updated.
- The Turkish translation was updated. A Bulgarian translation was added.
Thanks to the translators!
- The required Dotnet version changed from 6.0 to 9.0. This drops Win 7 support
unfortunately. It was done to use new C# language features and make
the mpv.net project more attractive for new developers to contribute.
Also most users prefer having the newest runtime.
- auto build has been disabled because it requires updating libmpv and
mediainfo all the time which is too much manual work.
- The script src/Tools/update-mpv.ps1 has been improved. It's the easiest way
update mpv and libmpv (x64 and ARM64). Shinshiro has a update script too,
but it's a lot longer and more complex.
- mediainfo and libmpv have been updated.
# v7.1.1.3 Beta (2024-10-20)
- Support for autocreate-playlist, video-exts, audio-exts, image-exts.
Windows 7 support should still work, but needs auto-load-folder to be enabled
or autoload.lua.
- The command palette user script is installable from the context menu under
`Settings > Setup > Install Command Palette`. The command palette features
are shown in the menu under 'View > Command Palette'.
- New command to select the stream quality `Video > Stream Quality (Alt+q)`,
this calls the Stream Quality feature of the command palette.
- The Command Palette interacts with mpv.net to enable the Recent Files
feature in the Command Palette.
- New zhongfly libmpv x64 build.
- New Andarwinux libmpv ARM64 build.
# v7.1.1.2 Beta (2024-10-10)
- Polish translation fixed. German, Turkish and Japanese translation updated.
French translation added! Thanks to the translation team!
- Support of relative folders from command line.
- Support for the mpv option `cursor-autohide`.
- A issue with the support of the mpv property `title-bar` has been fixed,
at the moment this is most useful for users of the popular uosc user script,
the mpv built-in OSC doesn't fully support it yet.
- `media-controls=yes` is now enabled by default, this enables play controls
in the `KDE Connect` android app.
- The mpv.net option `auto-load-folder` by default is now disabled and the
option is deprecated. The reason for this is mpv has new native support
for it using `autocreate-playlist`, which mpv.net uses now instead by default.
- New zhongfly libmpv x64 build.
- New Andarwinux libmpv ARM64 build.
# v7.1.1.1 Beta (2024-07-20) # v7.1.1.1 Beta (2024-07-20)
- Korean, Russian and Turkish translation added, Japanese translation fixed. Thanks to the translation team! - Korean, Russian and Turkish translation added, Japanese translation fixed. Thanks to the translation team!

File diff suppressed because it is too large Load Diff

View File

@@ -43,8 +43,6 @@ D:\Projects\CS\mpv.net\src\MpvNet.Windows\Native\StockIcon.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\Native\Taskbar.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\Native\Taskbar.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\Native\WinApi.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\Native\WinApi.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\Properties\Resources.Designer.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\Properties\Resources.Designer.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\UI\CommandPalette.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\UI\CommandPaletteItem.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\UI\GlobalHotkey.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\UI\GlobalHotkey.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\UI\Theme.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\UI\Theme.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\UI\TreeNode.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\UI\TreeNode.cs
@@ -62,7 +60,6 @@ D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Msg.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\WpfApplication.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\WpfApplication.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\WpfTranslator.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\WpfTranslator.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\ComboBoxSettingControl.xaml.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\ComboBoxSettingControl.xaml.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\CommandPaletteControl.xaml.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\HyperlinkEx.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\HyperlinkEx.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\OptionSettingControl.xaml.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\OptionSettingControl.xaml.cs
D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\SearchControl.xaml.cs D:\Projects\CS\mpv.net\src\MpvNet.Windows\WPF\Controls\SearchControl.xaml.cs

1013
lang/po/bg.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1028
lang/po/fr.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-23 05:45+0200\n" "POT-Creation-Date: 2025-10-06 00:24+0200\n"
"PO-Revision-Date: 2023-12-08 00:34+0000\n" "PO-Revision-Date: 2023-12-08 00:34+0000\n"
"Last-Translator: YT H <dev@theYT.net>, 2024\n" "Last-Translator: YT H <dev@theYT.net>, 2024\n"
"Language-Team: Korean (https://app.transifex.com/stax76/teams/179964/ko/)\n" "Language-Team: Korean (https://app.transifex.com/stax76/teams/179964/ko/)\n"
@@ -29,26 +29,34 @@ msgstr "+10%"
msgid "-10%" msgid "-10%"
msgstr "-10%" msgstr "-10%"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
msgid "100 %" msgid "100 %"
msgstr "100 %" msgstr "100 %"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
msgid "200 %" msgid "200 %"
msgstr "200 %" msgstr "200 %"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
msgid "300 %" msgid "300 %"
msgstr "300 %" msgstr "300 %"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
msgid "50 %" msgid "50 %"
msgstr "50 %" msgstr "50 %"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
msgid "About mpv.net" msgid "About mpv.net"
msgstr "mpv.net 정보" msgstr "mpv.net 정보"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
msgid "Active Bindings In Text Editor"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
msgid "Active Bindings On-Screen"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:16 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:16
msgid "Add external audio files..." msgid "Add external audio files..."
msgstr "외부 오디오 파일 추가..." msgstr "외부 오디오 파일 추가..."
@@ -65,7 +73,7 @@ msgstr "재생 목록에 파일 추가..."
msgid "Add files/URLs to playlist from clipboard" msgid "Add files/URLs to playlist from clipboard"
msgstr "클립보드에서 파일/URL을 재생 목록에 추가" msgstr "클립보드에서 파일/URL을 재생 목록에 추가"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
msgid "Add mpv.net to Path environment variable" msgid "Add mpv.net to Path environment variable"
msgstr "Path 환경 변수에 mpv.net 추가" msgstr "Path 환경 변수에 mpv.net 추가"
@@ -78,15 +86,30 @@ msgid "Audio"
msgstr "오디오" msgstr "오디오"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:85 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:85
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:455 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:453
msgid "Audio Device" msgid "Audio Device"
msgstr "오디오 장치" msgstr "오디오 장치"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:243
msgid "Audio Devices"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:237
msgid "Audio Tracks"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
msgid "Backward" msgid "Backward"
msgstr "뒤로" msgstr "뒤로"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:246
msgid "Bindings"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
msgctxt "Move" msgctxt "Move"
msgid "Center" msgid "Center"
msgstr "중앙" msgstr "중앙"
@@ -100,19 +123,56 @@ msgid "Changes will be available on next startup."
msgstr "변경 사항은 다음 실행 시 적용됩니다." msgstr "변경 사항은 다음 실행 시 적용됩니다."
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:51 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:51
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:353 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:351
msgid "Chapter" msgid "Chapter"
msgstr "챕터" msgstr "챕터"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:390 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:240
msgid "Chapters"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:388
msgid "Clear List" msgid "Clear List"
msgstr "목록 비우기" msgstr "목록 비우기"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
#, fuzzy
msgid "Commands"
msgstr "명령어 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:479 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
msgid "Config"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
#, fuzzy
msgid "Console"
msgstr "콘솔 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:477
msgid "Custom" msgid "Custom"
msgstr "사용자 지정" msgstr "사용자 지정"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#, fuzzy
msgid "Decoders"
msgstr "디코더 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:70 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:70
msgid "Decrease Brightness" msgid "Decrease Brightness"
msgstr "밝기 감소" msgstr "밝기 감소"
@@ -151,11 +211,16 @@ msgstr "지연 0.1초 증가"
msgid "Delay -0.1" msgid "Delay -0.1"
msgstr "지연 0.1초 감소" msgstr "지연 0.1초 감소"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
#, fuzzy
msgid "Demuxers"
msgstr "디멀티플렉서 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:116 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:116
msgid "Double" msgid "Double"
msgstr "두배" msgstr "두배"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
msgctxt "Move" msgctxt "Move"
msgid "Down" msgid "Down"
msgstr "아래" msgstr "아래"
@@ -165,29 +230,35 @@ msgctxt "Volume"
msgid "Down" msgid "Down"
msgstr "감소" msgstr "감소"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
msgid "Edit input.conf" msgid "Edit input.conf"
msgstr "input.conf 파일 편집" msgstr "input.conf 파일 편집"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
msgid "Edit mpv.conf" msgid "Edit mpv.conf"
msgstr "mpv.conf 파일 편집" msgstr "mpv.conf 파일 편집"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:241
#, fuzzy
msgid "Editions"
msgstr "input.conf 파일 편집"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
msgid "Enlarge" msgid "Enlarge"
msgstr "크게" msgstr "크게"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:261 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:270
msgid "Error creating file associations." msgid "Error creating file associations."
msgstr "파일 연결을 만드는 중 오류가 발생했습니다." msgstr "파일 연결을 만드는 중 오류가 발생했습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:23 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:23
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:233
msgid "Exit" msgid "Exit"
msgstr "종료" msgstr "종료"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
msgid "Exit Watch Later" msgid "Exit Watch Later"
msgstr "다음에 이어 보기 설정하고 종료" msgstr "다음에 이어 보기 설정하고 종료"
@@ -206,20 +277,20 @@ msgstr "다음에 이어 보기 설정하고 종료"
msgid "File" msgid "File"
msgstr "파일" msgstr "파일"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:253 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:262
msgid "File Explorer icons will refresh after process restart." msgid "File Explorer icons will refresh after process restart."
msgstr "탐색기 아이콘은 프로세스를 다시 시작한 후 업데이트됩니다." msgstr "탐색기 아이콘은 프로세스를 다시 시작한 후 업데이트됩니다."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:258 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:267
msgid "File associations were successfully created." msgid "File associations were successfully created."
msgstr "파일 연결을 생성했습니다." msgstr "파일 연결을 생성했습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:256 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:265
msgid "File associations were successfully removed." msgid "File associations were successfully removed."
msgstr "파일 연결을 제거했습니다." msgstr "파일 연결을 제거했습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:189 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:192
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:209 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:214
msgid "Files/URLs were added to the playlist" msgid "Files/URLs were added to the playlist"
msgstr "파일/URL을 재생 목록에 추가했습니다" msgstr "파일/URL을 재생 목록에 추가했습니다"
@@ -227,13 +298,13 @@ msgstr "파일/URL을 재생 목록에 추가했습니다"
msgid "First File" msgid "First File"
msgstr "첫 파일" msgstr "첫 파일"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
msgid "Forward" msgid "Forward"
msgstr "앞으로" msgstr "앞으로"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:221
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:222
msgid "Fullscreen" msgid "Fullscreen"
msgstr "전체 화면" msgstr "전체 화면"
@@ -241,18 +312,18 @@ msgstr "전체 화면"
msgid "Half" msgid "Half"
msgstr "절반" msgstr "절반"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:183 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
msgid "Help" msgid "Help"
msgstr "도움말" msgstr "도움말"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:220
msgid "Ignore left mouse butten" msgid "Ignore left mouse butten"
msgstr "왼쪽 마우스 버튼 무시" msgstr "왼쪽 마우스 버튼 무시"
@@ -316,45 +387,59 @@ msgstr "다음 프레임으로 이동"
msgid "Jump To Previous Frame" msgid "Jump To Previous Frame"
msgstr "이전 프레임으로 이동" msgstr "이전 프레임으로 이동"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
#, fuzzy
msgid "Keys"
msgstr "키 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:32 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:32
msgid "Last File" msgid "Last File"
msgstr "마지막 파일" msgstr "마지막 파일"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
msgctxt "Move" msgctxt "Move"
msgid "Left" msgid "Left"
msgstr "왼쪽" msgstr "왼쪽"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
msgid "Manual mpv" msgid "Manual mpv"
msgstr "mpv 설명서" msgstr "mpv 설명서"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
msgid "Manual mpv.net" msgid "Manual mpv.net"
msgstr "mpv.net 설명서" msgstr "mpv.net 설명서"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:228
msgid "Mark position for revert-seek" msgid "Mark position for revert-seek"
msgstr "복귀 탐색하기 위한 위치 표시" msgstr "복귀 탐색하기 위한 위치 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126 #, fuzzy
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127 msgid "Media Info Message Box"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128 msgstr "미디어 정보 메시지 상자 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
msgid "More"
msgstr "더 보기"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
#, fuzzy
msgid "Media Info On-Screen"
msgstr "On-Screen 미디어 정보 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
msgid "More"
msgstr "더 보기"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
msgid "Move" msgid "Move"
msgstr "이동" msgstr "이동"
@@ -411,9 +496,9 @@ msgid "Next Chapter"
msgstr "다음 장" msgstr "다음 장"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:29 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:29
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:200 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
msgid "Next File" msgid "Next File"
msgstr "다음 파일" msgstr "다음 파일"
@@ -422,7 +507,28 @@ msgstr "다음 파일"
msgid "Next Track" msgid "Next Track"
msgstr "다음 트랙" msgstr "다음 트랙"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:248
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:249
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:250
msgid "On-Screen Menu"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
msgid "Open Config Folder" msgid "Open Config Folder"
msgstr "설정 폴더 열기" msgstr "설정 폴더 열기"
@@ -455,10 +561,10 @@ msgid "Pan & Scan"
msgstr "팬과 스캔" msgstr "팬과 스캔"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:189 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
msgid "Play/Pause" msgid "Play/Pause"
msgstr "재생/일시 정지" msgstr "재생/일시 정지"
@@ -467,40 +573,61 @@ msgstr "재생/일시 정지"
msgid "Playback" msgid "Playback"
msgstr "재생" msgstr "재생"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:234
msgid "Playlist"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:36 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:36
msgid "Previous Chapter" msgid "Previous Chapter"
msgstr "이전 장" msgstr "이전 장"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:28 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:28
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
msgid "Previous File" msgid "Previous File"
msgstr "이전 파일" msgstr "이전 파일"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:428 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:426
msgid "Profile" msgid "Profile"
msgstr "프로파일" msgstr "프로파일"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125
#, fuzzy
msgid "Progress"
msgstr "진행률 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:247
msgid "Properties"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#, fuzzy
msgid "Protocols"
msgstr "프로토콜 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:374 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:372
msgid "Recent Files" msgid "Recent Files"
msgstr "최근 파일" msgstr "최근 파일"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
msgid "Register audio file associations" msgid "Register audio file associations"
msgstr "오디오 파일 연결 등록" msgstr "오디오 파일 연결 등록"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
msgid "Register image file associations" msgid "Register image file associations"
msgstr "이미지 파일 연결 등록" msgstr "이미지 파일 연결 등록"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
msgid "Register video file associations" msgid "Register video file associations"
msgstr "비디오 파일 연결 등록" msgstr "비디오 파일 연결 등록"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
msgid "Remove mpv.net from Path environment variable" msgid "Remove mpv.net from Path environment variable"
msgstr "Path 환경 변수에서 mpv.net 제거" msgstr "Path 환경 변수에서 mpv.net 제거"
@@ -509,7 +636,7 @@ msgstr "Path 환경 변수에서 mpv.net 제거"
msgid "Reset" msgid "Reset"
msgstr "초기화" msgstr "초기화"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
msgctxt "Move" msgctxt "Move"
msgid "Right" msgid "Right"
msgstr "오른쪽" msgstr "오른쪽"
@@ -518,134 +645,74 @@ msgstr "오른쪽"
msgid "Rotate Video" msgid "Rotate Video"
msgstr "비디오 회전" msgstr "비디오 회전"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211 msgid "Secondary Subtitle"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217 msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:236
#, fuzzy
msgid "Secondary Subtitles"
msgstr "다음 자막으로 이동"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:224
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:226
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:232
msgid "Seek Backward" msgid "Seek Backward"
msgstr "되감기" msgstr "되감기"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:223
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:225
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:231
msgid "Seek Forward" msgid "Seek Forward"
msgstr "빨리감기" msgstr "빨리감기"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:230
msgid "Seek to next subtitle" msgid "Seek to next subtitle"
msgstr "다음 자막으로 이동" msgstr "다음 자막으로 이동"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:229
msgid "Seek to previous subtitle" msgid "Seek to previous subtitle"
msgstr "이전 자막으로 이동" msgstr "이전 자막으로 이동"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
msgid "Set/clear A-B loop points" msgid "Set/clear A-B loop points"
msgstr "A-B 반복 지점 설정/해제" msgstr "A-B 반복 지점 설정/해제"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
msgid "Settings"
msgstr "설정"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
msgid "Setup" msgid "Setup"
msgstr "시스템 설정" msgstr "시스템 설정"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
msgid "Show Audio Devices"
msgstr "오디오 장치 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
msgid "Show Bindings"
msgstr "키 설정 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
msgid "Show Commands"
msgstr "명령어 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
msgid "Show Config Editor" msgid "Show Config Editor"
msgstr "구성 편집기 표시" msgstr "구성 편집기 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
msgid "Show Console"
msgstr "콘솔 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
msgid "Show Decoders"
msgstr "디코더 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
msgid "Show Demuxers"
msgstr "디멀티플렉서 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
msgid "Show Input Editor" msgid "Show Input Editor"
msgstr "입력 편집기 표시" msgstr "입력 편집기 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
msgid "Show Keys"
msgstr "키 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
msgid "Show Media Info Message Box"
msgstr "미디어 정보 메시지 상자 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
msgid "Show Media Info On-Screen"
msgstr "On-Screen 미디어 정보 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
msgid "Show Menu" msgid "Show Menu"
msgstr "메뉴 표시" msgstr "메뉴 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:448
msgid "Show Playlist"
msgstr "재생목록 보기"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:450
msgid "Show Profiles" msgid "Show Profiles"
msgstr "프로파일 보기" msgstr "프로파일 보기"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
msgid "Show Progress"
msgstr "진행률 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
msgid "Show Properties"
msgstr "속성 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
msgid "Show Protocols"
msgstr "프로토콜 표시"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
msgid "Shrink" msgid "Shrink"
msgstr "작게" msgstr "작게"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186
msgid "Shuffle Playlist" msgid "Shuffle Playlist"
msgstr "재생 목록 순서 섞기" msgstr "재생 목록 순서 섞기"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1419 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1432
msgid "Shutdown thread failed to complete within 10 seconds." msgid "Shutdown thread failed to complete within 10 seconds."
msgstr "종료 스레드가 10초 이내에 완료되지 않았습니다." msgstr "종료 스레드가 10초 이내에 완료되지 않았습니다."
@@ -660,7 +727,7 @@ msgid "Speed"
msgstr "속도" msgstr "속도"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
msgid "Stop" msgid "Stop"
msgstr "정지" msgstr "정지"
@@ -680,6 +747,20 @@ msgstr "정지"
msgid "Subtitle" msgid "Subtitle"
msgstr "자막" msgstr "자막"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:242
msgid "Subtitle Lines"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
msgid "Subtitle Tracks"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:235
#, fuzzy
msgid "Subtitles"
msgstr "자막"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:79 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:79
msgid "Take Screenshot" msgid "Take Screenshot"
msgstr "스크린샷 찍기" msgstr "스크린샷 찍기"
@@ -688,28 +769,25 @@ msgstr "스크린샷 찍기"
msgid "Take Screenshot without subtitles" msgid "Take Screenshot without subtitles"
msgstr "자막 없이 스크린샷 찍기" msgstr "자막 없이 스크린샷 찍기"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:202 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:207
msgid "The clipboard does not contain a valid URL or file." msgid "The clipboard does not contain a valid URL or file."
msgstr "클립보드에 유효한 URL 또는 파일이 포함되어 있지 않습니다." msgstr "클립보드에 유효한 URL 또는 파일이 포함되어 있지 않습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:389 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:418
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:396 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:423
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:404
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:411
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:416
msgid "This feature was removed, but there are user scripts:" msgid "This feature was removed, but there are user scripts:"
msgstr "이 기능은 삭제되었지만, 사용자 스크립트를 찾을 수 있습니다:" msgstr "이 기능은 삭제되었지만, 사용자 스크립트를 찾을 수 있습니다:"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:420 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:427
msgid "This feature was removed." msgid "This feature was removed."
msgstr "이 기능은 삭제되었습니다." msgstr "이 기능은 삭제되었습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:50 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:50
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:395 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:393
msgid "Title" msgid "Title"
msgstr "타이틀" msgstr "타이틀"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
msgid "Toggle Border" msgid "Toggle Border"
msgstr "창 테두리 전환" msgstr "창 테두리 전환"
@@ -717,7 +795,7 @@ msgstr "창 테두리 전환"
msgid "Toggle Deinterlace" msgid "Toggle Deinterlace"
msgstr "디인터레이스 전환" msgstr "디인터레이스 전환"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
msgid "Toggle Hardware Decoding" msgid "Toggle Hardware Decoding"
msgstr "하드웨어 디코딩 전환" msgstr "하드웨어 디코딩 전환"
@@ -725,7 +803,7 @@ msgstr "하드웨어 디코딩 전환"
msgid "Toggle OSC Visibility" msgid "Toggle OSC Visibility"
msgstr "OSC 표시 전환" msgstr "OSC 표시 전환"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
msgid "Toggle On Top" msgid "Toggle On Top"
msgstr "항상 위에 표시 전환" msgstr "항상 위에 표시 전환"
@@ -737,7 +815,7 @@ msgstr "통계 전환"
msgid "Toggle Visibility" msgid "Toggle Visibility"
msgstr "표시 전환" msgstr "표시 전환"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
msgid "Toggle infinite file looping" msgid "Toggle infinite file looping"
msgstr "파일 무한 반복 전환" msgstr "파일 무한 반복 전환"
@@ -745,28 +823,33 @@ msgstr "파일 무한 반복 전환"
msgid "Toggle overriding SSA/ASS styles with normal styles" msgid "Toggle overriding SSA/ASS styles with normal styles"
msgstr "SSA/ASS 스타일을 일반 스타일로 덮어쓰기 전환" msgstr "SSA/ASS 스타일을 일반 스타일로 덮어쓰기 전환"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
msgid "Tools" msgid "Tools"
msgstr "도구" msgstr "도구"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:105 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:105
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:291 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:289
msgid "Track" msgid "Track"
msgstr "트랙" msgstr "트랙"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:239
msgid "Tracks"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:227
msgid "Undo previous (or marked) seek" msgid "Undo previous (or marked) seek"
msgstr "이전 (또는 표시된) 탐색을 취소" msgstr "이전 (또는 표시된) 탐색을 취소"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
msgid "Unregister file associations" msgid "Unregister file associations"
msgstr "파일 연결 등록 해제" msgstr "파일 연결 등록 해제"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
msgctxt "Move" msgctxt "Move"
msgid "Up" msgid "Up"
msgstr "위" msgstr "위"
@@ -796,6 +879,11 @@ msgstr "증가"
msgid "Video" msgid "Video"
msgstr "비디오" msgstr "비디오"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:238
msgid "Video Tracks"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
@@ -811,34 +899,7 @@ msgstr "비디오"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
msgid "View" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
msgstr "보기"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:109
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
msgid "Volume"
msgstr "볼륨"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
msgid "Volume Down"
msgstr "볼륨 감소"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
msgid "Volume Up"
msgstr "볼륨 증가"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
msgid "Website mpv"
msgstr "mpv 웹사이트"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
msgid "Website mpv.net"
msgstr "mpv.net 웹사이트"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
@@ -853,21 +914,74 @@ msgstr "mpv.net 웹사이트"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150 msgid "View"
msgstr "보기"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:109
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
msgid "Volume"
msgstr "볼륨"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213
msgid "Volume Down"
msgstr "볼륨 감소"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
msgid "Volume Up"
msgstr "볼륨 증가"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:244
msgid "Watch History"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:245
#, fuzzy
msgid "Watch Later"
msgstr "다음에 이어 보기 설정하고 종료"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
msgid "Website mpv"
msgstr "mpv 웹사이트"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
msgid "Website mpv.net"
msgstr "mpv.net 웹사이트"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
msgid "Window" msgid "Window"
msgstr "창" msgstr "창"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
msgid "Zoom" msgid "Zoom"
msgstr "확대" msgstr "확대"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:183 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
msgid "awesome-mpv" msgid "awesome-mpv"
msgstr "awesome-mpv" msgstr "awesome-mpv"
@@ -875,22 +989,32 @@ msgstr "awesome-mpv"
msgid "editor_conf" msgid "editor_conf"
msgstr "editor_conf" msgstr "editor_conf"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:358 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:387
msgid "mpv.net is already in the Path environment variable." msgid "mpv.net is already in the Path environment variable."
msgstr "mpv.net은 이미 Path 환경 변수에 있습니다." msgstr "mpv.net은 이미 Path 환경 변수에 있습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:375 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:404
msgid "mpv.net was not found in the Path environment variable." msgid "mpv.net was not found in the Path environment variable."
msgstr "mpv.net을 Path 환경 변수에서 찾을 수 없습니다." msgstr "mpv.net을 Path 환경 변수에서 찾을 수 없습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:366 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:395
msgid "mpv.net was successfully added to the Path environment variable." msgid "mpv.net was successfully added to the Path environment variable."
msgstr "mpv.net을 Path 환경 변수에 추가했습니다." msgstr "mpv.net을 Path 환경 변수에 추가했습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:384 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:413
msgid "mpv.net was successfully removed from the Path environment variable." msgid "mpv.net was successfully removed from the Path environment variable."
msgstr "mpv.net을 Path 환경 변수에서 제거했습니다." msgstr "mpv.net을 Path 환경 변수에서 제거했습니다."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\Properties\Resources.Designer.cs:114 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\Properties\Resources.Designer.cs:114
msgid "theme" msgid "theme"
msgstr "theme" msgstr "theme"
#, fuzzy
#~ msgid "Select Menu"
#~ msgstr "메뉴 표시"
#~ msgid "Settings"
#~ msgstr "설정"
#~ msgid "Show Bindings"
#~ msgstr "키 설정 표시"

1022
lang/po/pl.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -4,19 +4,24 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
# Translators: # Translators:
# jambickz, 2024 # Frank Skare, 2024
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-23 05:45+0200\n" "POT-Creation-Date: 2025-10-06 00:24+0200\n"
"PO-Revision-Date: 2023-12-08 00:34+0000\n" "PO-Revision-Date: 2023-12-08 00:34+0000\n"
"Last-Translator: jambickz, 2024\n" "Last-Translator: Frank Skare, 2024\n"
"Language-Team: Russian (https://app.transifex.com/stax76/teams/179964/ru/)\n"
"Language: ru\n" "Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\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"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:113 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:113
msgid "+10%" msgid "+10%"
@@ -26,26 +31,34 @@ msgstr "+10%"
msgid "-10%" msgid "-10%"
msgstr "-10%" msgstr "-10%"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
msgid "100 %" msgid "100 %"
msgstr "100 %" msgstr "100 %"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
msgid "200 %" msgid "200 %"
msgstr "200 %" msgstr "200 %"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
msgid "300 %" msgid "300 %"
msgstr "300 %" msgstr "300 %"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
msgid "50 %" msgid "50 %"
msgstr "50 %" msgstr "50 %"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
msgid "About mpv.net" msgid "About mpv.net"
msgstr "О mpv.net" msgstr "О mpv.net"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
msgid "Active Bindings In Text Editor"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
msgid "Active Bindings On-Screen"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:16 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:16
msgid "Add external audio files..." msgid "Add external audio files..."
msgstr "Добавить внешние аудиофайлы..." msgstr "Добавить внешние аудиофайлы..."
@@ -62,7 +75,7 @@ msgstr "Добавить файлы в плейлист..."
msgid "Add files/URLs to playlist from clipboard" msgid "Add files/URLs to playlist from clipboard"
msgstr "Добавить файлы/URL в плейлист из буфера обмена" msgstr "Добавить файлы/URL в плейлист из буфера обмена"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
msgid "Add mpv.net to Path environment variable" msgid "Add mpv.net to Path environment variable"
msgstr "Добавить mpv.net в переменную среды Path" msgstr "Добавить mpv.net в переменную среды Path"
@@ -75,15 +88,30 @@ msgid "Audio"
msgstr "Аудио" msgstr "Аудио"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:85 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:85
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:455 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:453
msgid "Audio Device" msgid "Audio Device"
msgstr "Аудиоустройство" msgstr "Аудиоустройство"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:243
msgid "Audio Devices"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:237
msgid "Audio Tracks"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
msgid "Backward" msgid "Backward"
msgstr "Назад" msgstr "Назад"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:246
msgid "Bindings"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
msgctxt "Move" msgctxt "Move"
msgid "Center" msgid "Center"
msgstr "Центр" msgstr "Центр"
@@ -97,19 +125,56 @@ msgid "Changes will be available on next startup."
msgstr "Изменения будут доступны при следующем запуске." msgstr "Изменения будут доступны при следующем запуске."
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:51 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:51
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:353 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:351
msgid "Chapter" msgid "Chapter"
msgstr "Глава" msgstr "Глава"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:390 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:240
msgid "Chapters"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:388
msgid "Clear List" msgid "Clear List"
msgstr "Очистить список" msgstr "Очистить список"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
#, fuzzy
msgid "Commands"
msgstr "Показать команды"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:479 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
msgid "Config"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
#, fuzzy
msgid "Console"
msgstr "Показать консоль"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:477
msgid "Custom" msgid "Custom"
msgstr "Пользовательский" msgstr "Пользовательский"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#, fuzzy
msgid "Decoders"
msgstr "Показать декодеры"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:70 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:70
msgid "Decrease Brightness" msgid "Decrease Brightness"
msgstr "Уменьшить яркость" msgstr "Уменьшить яркость"
@@ -148,11 +213,16 @@ msgstr "Задержка +0.1"
msgid "Delay -0.1" msgid "Delay -0.1"
msgstr "Задержка -0.1" msgstr "Задержка -0.1"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
#, fuzzy
msgid "Demuxers"
msgstr "Показать демуксеры"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:116 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:116
msgid "Double" msgid "Double"
msgstr "Удвоить" msgstr "Удвоить"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
msgctxt "Move" msgctxt "Move"
msgid "Down" msgid "Down"
msgstr "Вниз" msgstr "Вниз"
@@ -162,29 +232,35 @@ msgctxt "Volume"
msgid "Down" msgid "Down"
msgstr "Уменьшить" msgstr "Уменьшить"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
msgid "Edit input.conf" msgid "Edit input.conf"
msgstr "Изменить input.conf" msgstr "Изменить input.conf"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
msgid "Edit mpv.conf" msgid "Edit mpv.conf"
msgstr "Изменить mpv.conf" msgstr "Изменить mpv.conf"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:241
#, fuzzy
msgid "Editions"
msgstr "Изменить input.conf"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
msgid "Enlarge" msgid "Enlarge"
msgstr "Увеличить" msgstr "Увеличить"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:261 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:270
msgid "Error creating file associations." msgid "Error creating file associations."
msgstr "Ошибка создания ассоциаций файлов." msgstr "Ошибка создания ассоциаций файлов."
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:23 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:23
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:233
msgid "Exit" msgid "Exit"
msgstr "Выход" msgstr "Выход"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
msgid "Exit Watch Later" msgid "Exit Watch Later"
msgstr "Выход и позже просмотреть" msgstr "Выход и позже просмотреть"
@@ -203,20 +279,20 @@ msgstr "Выход и позже просмотреть"
msgid "File" msgid "File"
msgstr "Файл" msgstr "Файл"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:253 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:262
msgid "File Explorer icons will refresh after process restart." msgid "File Explorer icons will refresh after process restart."
msgstr "Иконки Проводника будут обновлены после перезапуска процесса." msgstr "Иконки Проводника будут обновлены после перезапуска процесса."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:258 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:267
msgid "File associations were successfully created." msgid "File associations were successfully created."
msgstr "Ассоциации файлов успешно созданы." msgstr "Ассоциации файлов успешно созданы."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:256 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:265
msgid "File associations were successfully removed." msgid "File associations were successfully removed."
msgstr "Ассоциации файлов успешно удалены." msgstr "Ассоциации файлов успешно удалены."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:189 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:192
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:209 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:214
msgid "Files/URLs were added to the playlist" msgid "Files/URLs were added to the playlist"
msgstr "Файлы/URL добавлены в список воспроизведения" msgstr "Файлы/URL добавлены в список воспроизведения"
@@ -224,13 +300,13 @@ msgstr "Файлы/URL добавлены в список воспроизвед
msgid "First File" msgid "First File"
msgstr "Первый файл" msgstr "Первый файл"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
msgid "Forward" msgid "Forward"
msgstr "Вперед" msgstr "Вперед"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:221
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:222
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Полноэкранный режим" msgstr "Полноэкранный режим"
@@ -238,21 +314,20 @@ msgstr "Полноэкранный режим"
msgid "Half" msgid "Half"
msgstr "Половина" msgstr "Половина"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:183 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
msgid "Help" msgid "Help"
msgstr "Помощь" msgstr "Помощь"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:220
#, fuzzy
msgid "Ignore left mouse butten" msgid "Ignore left mouse butten"
msgstr "Игнорировать левую кнопку мыши" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:71 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:71
msgid "Increase Brightness" msgid "Increase Brightness"
@@ -314,45 +389,59 @@ msgstr "Перейти к следующему кадру"
msgid "Jump To Previous Frame" msgid "Jump To Previous Frame"
msgstr "Перейти к предыдущему кадру" msgstr "Перейти к предыдущему кадру"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
#, fuzzy
msgid "Keys"
msgstr "Показать клавиши"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:32 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:32
msgid "Last File" msgid "Last File"
msgstr "Последний файл" msgstr "Последний файл"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
msgctxt "Move" msgctxt "Move"
msgid "Left" msgid "Left"
msgstr "Влево" msgstr "Влево"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
msgid "Manual mpv" msgid "Manual mpv"
msgstr "Руководство mpv" msgstr "Руководство mpv"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
msgid "Manual mpv.net" msgid "Manual mpv.net"
msgstr "Руководство mpv.net" msgstr "Руководство mpv.net"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:228
msgid "Mark position for revert-seek" msgid "Mark position for revert-seek"
msgstr "Отметить позицию для возврата" msgstr "Отметить позицию для возврата"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126 #, fuzzy
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127 msgid "Media Info Message Box"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128 msgstr "Показать информацию о медиа в окне сообщения"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
msgid "More"
msgstr "Дополнительно"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
#, fuzzy
msgid "Media Info On-Screen"
msgstr "Показать информацию о медиа на экране"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
msgid "More"
msgstr "Дополнительно"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
msgid "Move" msgid "Move"
msgstr "Перемещение" msgstr "Перемещение"
@@ -409,9 +498,9 @@ msgid "Next Chapter"
msgstr "Следующая глава" msgstr "Следующая глава"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:29 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:29
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:200 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
msgid "Next File" msgid "Next File"
msgstr "Следующий файл" msgstr "Следующий файл"
@@ -420,14 +509,34 @@ msgstr "Следующий файл"
msgid "Next Track" msgid "Next Track"
msgstr "Следующий трек" msgstr "Следующий трек"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:248
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:249
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:250
msgid "On-Screen Menu"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
msgid "Open Config Folder" msgid "Open Config Folder"
msgstr "Открыть папку конфигурации" msgstr "Открыть папку конфигурации"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:14 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:14
#, fuzzy
msgid "Open DVD/Blu-ray Drive/Folder..." msgid "Open DVD/Blu-ray Drive/Folder..."
msgstr "Открыть привод DVD/Blu-ray/Папку..." msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:12 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:12
msgid "Open Files..." msgid "Open Files..."
@@ -454,10 +563,10 @@ msgid "Pan & Scan"
msgstr "Панорамирование и масштабирование" msgstr "Панорамирование и масштабирование"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:189 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
msgid "Play/Pause" msgid "Play/Pause"
msgstr "Воспроизведение/Пауза" msgstr "Воспроизведение/Пауза"
@@ -466,41 +575,61 @@ msgstr "Воспроизведение/Пауза"
msgid "Playback" msgid "Playback"
msgstr "Воспроизведение" msgstr "Воспроизведение"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:234
msgid "Playlist"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:36 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:36
msgid "Previous Chapter" msgid "Previous Chapter"
msgstr "Предыдущая глава" msgstr "Предыдущая глава"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:28 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:28
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
msgid "Previous File" msgid "Previous File"
msgstr "Предыдущий файл" msgstr "Предыдущий файл"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:428 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:426
msgid "Profile" msgid "Profile"
msgstr "Профиль" msgstr "Профиль"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125
#, fuzzy
msgid "Progress"
msgstr "Показать прогресс"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:247
msgid "Properties"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#, fuzzy
msgid "Protocols"
msgstr "Показать протоколы"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:374 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:372
msgid "Recent Files" msgid "Recent Files"
msgstr "Недавние файлы" msgstr "Недавние файлы"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
msgid "Register audio file associations" msgid "Register audio file associations"
msgstr "Зарегистрировать ассоциации аудиофайлов" msgstr "Зарегистрировать ассоциации аудиофайлов"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
msgid "Register image file associations" msgid "Register image file associations"
msgstr "Зарегистрировать ассоциации файлов изображений" msgstr "Зарегистрировать ассоциации файлов изображений"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
#, fuzzy
msgid "Register video file associations" msgid "Register video file associations"
msgstr "Зарегистрировать ассоциации файлов Viuao" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
msgid "Remove mpv.net from Path environment variable" msgid "Remove mpv.net from Path environment variable"
msgstr "Удалить mpv.net из переменной среды Path" msgstr "Удалить mpv.net из переменной среды Path"
@@ -509,144 +638,83 @@ msgstr "Удалить mpv.net из переменной среды Path"
msgid "Reset" msgid "Reset"
msgstr "Сбросить" msgstr "Сбросить"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
msgctxt "Move" msgctxt "Move"
msgid "Right" msgid "Right"
msgstr "Вправо" msgstr "Вправо"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:83 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:83
#, fuzzy
msgid "Rotate Video" msgid "Rotate Video"
msgstr "Повернуть Viuao" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211 msgid "Secondary Subtitle"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217 msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:236
#, fuzzy
msgid "Secondary Subtitles"
msgstr "Перейти к следующему субтитру"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:224
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:226
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:232
msgid "Seek Backward" msgid "Seek Backward"
msgstr "Перемотать назад" msgstr "Перемотать назад"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:223
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:225
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:231
msgid "Seek Forward" msgid "Seek Forward"
msgstr "Перемотать вперед" msgstr "Перемотать вперед"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:230
msgid "Seek to next subtitle" msgid "Seek to next subtitle"
msgstr "Перейти к следующему субтитру" msgstr "Перейти к следующему субтитру"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:229
msgid "Seek to previous subtitle" msgid "Seek to previous subtitle"
msgstr "Перейти к предыдущему субтитру" msgstr "Перейти к предыдущему субтитру"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
msgid "Set/clear A-B loop points" msgid "Set/clear A-B loop points"
msgstr "Установить/очистить точки петли A-B" msgstr "Установить/очистить точки петли A-B"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
msgid "Settings"
msgstr "Настройки"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
msgid "Setup" msgid "Setup"
msgstr "Настройка" msgstr "Настройка"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
msgid "Show Audio Devices"
msgstr "Показать аудиоустройства"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
msgid "Show Bindings"
msgstr "Показать привязки"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
msgid "Show Commands"
msgstr "Показать команды"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
msgid "Show Config Editor" msgid "Show Config Editor"
msgstr "Показать редактор конфигурации" msgstr "Показать редактор конфигурации"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
msgid "Show Console"
msgstr "Показать консоль"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
msgid "Show Decoders"
msgstr "Показать декодеры"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
msgid "Show Demuxers"
msgstr "Показать демуксеры"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
msgid "Show Input Editor" msgid "Show Input Editor"
msgstr "Показать редактор ввода" msgstr "Показать редактор ввода"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
msgid "Show Keys"
msgstr "Показать клавиши"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
msgid "Show Media Info Message Box"
msgstr "Показать информацию о медиа в окне сообщения"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
msgid "Show Media Info On-Screen"
msgstr "Показать информацию о медиа на экране"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
msgid "Show Menu" msgid "Show Menu"
msgstr "Показать меню" msgstr "Показать меню"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:448
msgid "Show Playlist"
msgstr "Показать плейлист"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:450
msgid "Show Profiles" msgid "Show Profiles"
msgstr "Показать профили" msgstr "Показать профили"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
msgid "Show Progress"
msgstr "Показать прогресс"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
msgid "Show Properties"
msgstr "Показать свойства"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
msgid "Show Protocols"
msgstr "Показать протоколы"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
msgid "Shrink" msgid "Shrink"
msgstr "Уменьшить" msgstr "Уменьшить"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186
msgid "Shuffle Playlist" msgid "Shuffle Playlist"
msgstr "Перемешать плейлист" msgstr "Перемешать плейлист"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1419 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1432
msgid "Shutdown thread failed to complete within 10 seconds." msgid "Shutdown thread failed to complete within 10 seconds."
msgstr "Поток завершения не удалось завершить в течение 10 секунд." msgstr "Поток завершения не удалось завершить в течение 10 секунд."
@@ -661,7 +729,7 @@ msgid "Speed"
msgstr "Скорость" msgstr "Скорость"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
msgid "Stop" msgid "Stop"
msgstr "Остановить" msgstr "Остановить"
@@ -681,6 +749,20 @@ msgstr "Остановить"
msgid "Subtitle" msgid "Subtitle"
msgstr "Субтитры" msgstr "Субтитры"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:242
msgid "Subtitle Lines"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
msgid "Subtitle Tracks"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:235
#, fuzzy
msgid "Subtitles"
msgstr "Субтитры"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:79 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:79
msgid "Take Screenshot" msgid "Take Screenshot"
msgstr "Сделать снимок экрана" msgstr "Сделать снимок экрана"
@@ -689,47 +771,41 @@ msgstr "Сделать снимок экрана"
msgid "Take Screenshot without subtitles" msgid "Take Screenshot without subtitles"
msgstr "Сделать снимок экрана без субтитров" msgstr "Сделать снимок экрана без субтитров"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:202 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:207
msgid "The clipboard does not contain a valid URL or file." msgid "The clipboard does not contain a valid URL or file."
msgstr "Буфер обмена не содержит действительного URL ouar файла." msgstr "Буфер обмена не содержит действительного URL ouar файла."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:389 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:418
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:396 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:423
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:404
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:411
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:416
#, fuzzy
msgid "This feature was removed, but there are user scripts:" msgid "This feature was removed, but there are user scripts:"
msgstr "Эта функция была удалена." msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:420 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:427
msgid "This feature was removed." msgid "This feature was removed."
msgstr "Эта функция была удалена." msgstr "Эта функция была удалена."
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:50 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:50
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:395 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:393
msgid "Title" msgid "Title"
msgstr "Заголовок" msgstr "Заголовок"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
msgid "Toggle Border" msgid "Toggle Border"
msgstr "Переключить рамку" msgstr "Переключить рамку"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:81 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:81
#, fuzzy
msgid "Toggle Deinterlace" msgid "Toggle Deinterlace"
msgstr "Переключить деинтерлейс" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
#, fuzzy
msgid "Toggle Hardware Decoding" msgid "Toggle Hardware Decoding"
msgstr "Переключить аппаратное ускорение кодирования" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
msgid "Toggle OSC Visibility" msgid "Toggle OSC Visibility"
msgstr "Переключить видимость OSC" msgstr "Переключить видимость OSC"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
msgid "Toggle On Top" msgid "Toggle On Top"
msgstr "Переключить поверх всех окон" msgstr "Переключить поверх всех окон"
@@ -741,7 +817,7 @@ msgstr "Переключить статистику"
msgid "Toggle Visibility" msgid "Toggle Visibility"
msgstr "Переключить видимость" msgstr "Переключить видимость"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
msgid "Toggle infinite file looping" msgid "Toggle infinite file looping"
msgstr "Переключить бесконечное повторение файла" msgstr "Переключить бесконечное повторение файла"
@@ -749,28 +825,33 @@ msgstr "Переключить бесконечное повторение фа
msgid "Toggle overriding SSA/ASS styles with normal styles" msgid "Toggle overriding SSA/ASS styles with normal styles"
msgstr "Переключить замещение стилей SSA/ASS обычными стилями" msgstr "Переключить замещение стилей SSA/ASS обычными стилями"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
msgid "Tools" msgid "Tools"
msgstr "Инструменты" msgstr "Инструменты"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:105 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:105
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:291 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:289
msgid "Track" msgid "Track"
msgstr "Трек" msgstr "Трек"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:239
msgid "Tracks"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:227
msgid "Undo previous (or marked) seek" msgid "Undo previous (or marked) seek"
msgstr "Отменить предыдущий (или помеченный) поиск" msgstr "Отменить предыдущий (или помеченный) поиск"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
msgid "Unregister file associations" msgid "Unregister file associations"
msgstr "Отменить регистрацию ассоциаций файлов" msgstr "Отменить регистрацию ассоциаций файлов"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
msgctxt "Move" msgctxt "Move"
msgid "Up" msgid "Up"
msgstr "Вверх" msgstr "Вверх"
@@ -800,6 +881,11 @@ msgstr "Увеличить"
msgid "Video" msgid "Video"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:238
msgid "Video Tracks"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
@@ -815,34 +901,7 @@ msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
msgid "View" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
msgstr "Просмотр"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:109
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
msgid "Volume"
msgstr "Громкость"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
msgid "Volume Down"
msgstr "Уменьшить громкость"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
msgid "Volume Up"
msgstr "Увеличить громкость"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
msgid "Website mpv"
msgstr "Веб-сайт mpv"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
msgid "Website mpv.net"
msgstr "Веб-сайт mpv.net"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
@@ -857,21 +916,74 @@ msgstr "Веб-сайт mpv.net"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150 msgid "View"
msgstr "Просмотр"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:109
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
msgid "Volume"
msgstr "Громкость"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213
msgid "Volume Down"
msgstr "Уменьшить громкость"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
msgid "Volume Up"
msgstr "Увеличить громкость"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:244
msgid "Watch History"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:245
#, fuzzy
msgid "Watch Later"
msgstr "Выход и позже просмотреть"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
msgid "Website mpv"
msgstr "Веб-сайт mpv"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
msgid "Website mpv.net"
msgstr "Веб-сайт mpv.net"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
msgid "Window" msgid "Window"
msgstr "Окно" msgstr "Окно"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
msgid "Zoom" msgid "Zoom"
msgstr "Увеличить" msgstr "Увеличить"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:183 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
msgid "awesome-mpv" msgid "awesome-mpv"
msgstr "awesome-mpv" msgstr "awesome-mpv"
@@ -879,20 +991,19 @@ msgstr "awesome-mpv"
msgid "editor_conf" msgid "editor_conf"
msgstr "editor_conf" msgstr "editor_conf"
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:358 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:387
msgid "mpv.net is already in the Path environment variable." msgid "mpv.net is already in the Path environment variable."
msgstr "mpv.net уже присутствует в переменной среды 'Path'." msgstr "mpv.net уже присутствует в переменной среды 'Path'."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:375 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:404
msgid "mpv.net was not found in the Path environment variable." msgid "mpv.net was not found in the Path environment variable."
msgstr "mpv.net не найден в переменной среды 'Path'." msgstr "mpv.net не найден в переменной среды 'Path'."
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:366 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:395
#, fuzzy
msgid "mpv.net was successfully added to the Path environment variable." msgid "mpv.net was successfully added to the Path environment variable."
msgstr "mpv.net успешно добавлен в переменную среды 'Path'." msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:384 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:413
msgid "mpv.net was successfully removed from the Path environment variable." msgid "mpv.net was successfully removed from the Path environment variable."
msgstr "mpv.net успешно удален из переменной среды 'Path'." msgstr "mpv.net успешно удален из переменной среды 'Path'."
@@ -900,5 +1011,12 @@ msgstr "mpv.net успешно удален из переменной среды
msgid "theme" msgid "theme"
msgstr "тема" msgstr "тема"
#~ msgid "Viuao" #, fuzzy
#~ msgstr "Viuao" #~ msgid "Select Menu"
#~ msgstr "Показать меню"
#~ msgid "Settings"
#~ msgstr "Настройки"
#~ msgid "Show Bindings"
#~ msgstr "Показать привязки"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-23 05:45+0200\n" "POT-Creation-Date: 2025-10-06 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -61,13 +61,13 @@ msgid "Add files/URLs to playlist from clipboard"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:374 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:372
msgid "Recent Files" msgid "Recent Files"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:23 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:23
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:233
msgid "Exit" msgid "Exit"
msgstr "" msgstr ""
@@ -77,15 +77,15 @@ msgid "Playback"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:25
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:189 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
msgid "Play/Pause" msgid "Play/Pause"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:26
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
msgid "Stop" msgid "Stop"
msgstr "" msgstr ""
@@ -116,16 +116,16 @@ msgid "Navigate"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:28 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:28
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
msgid "Previous File" msgid "Previous File"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:29 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:29
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:200 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
msgid "Next File" msgid "Next File"
msgstr "" msgstr ""
@@ -178,12 +178,12 @@ msgid "Jump 5 min backward"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:50 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:50
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:395 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:393
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:51 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:51
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:353 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:351
msgid "Chapter" msgid "Chapter"
msgstr "" msgstr ""
@@ -323,7 +323,7 @@ msgid "Audio"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:85 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:85
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:455 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:453
msgid "Audio Device" msgid "Audio Device"
msgstr "" msgstr ""
@@ -371,15 +371,14 @@ msgid "Increase Font Size"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
msgid "More" msgid "More"
msgstr "" msgstr ""
@@ -388,7 +387,7 @@ msgid "Toggle overriding SSA/ASS styles with normal styles"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:105 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:105
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:291 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:289
msgid "Track" msgid "Track"
msgstr "" msgstr ""
@@ -454,11 +453,28 @@ msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
msgid "View" msgid "View"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:120
msgid "Show Playlist" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:234
msgid "Playlist"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
@@ -470,157 +486,136 @@ msgid "Toggle OSC Visibility"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
msgid "Show Media Info On-Screen" msgid "Media Info On-Screen"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
msgid "Show Media Info Message Box" msgid "Media Info Message Box"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125
msgid "Show Progress" msgid "Progress"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126
msgid "Show Console"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
msgid "Show Audio Devices" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:248
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:249
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:250
msgid "On-Screen Menu"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
msgid "Show Commands" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:246
msgid "Bindings"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
msgid "Show Bindings" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:247
msgid "Properties"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
msgid "Show Properties" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:240
msgid "Chapters"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
msgid "Show Keys" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:239
msgid "Tracks"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
msgid "Show Protocols" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:237
msgid "Audio Tracks"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
msgid "Show Decoders" msgid "Subtitle Tracks"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
msgid "Show Demuxers" msgid "Secondary Subtitle"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:238
msgid "Video Tracks"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:241
msgid "Editions"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:242
msgid "Subtitle Lines"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:243
msgid "Audio Devices"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:244
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141 msgid "Watch History"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
msgid "Window"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
msgid "Fullscreen"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
msgid "Zoom"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
msgid "Enlarge"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
msgid "Shrink"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
msgid "50 %" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:245
msgstr "" msgid "Watch Later"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
msgid "100 %"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
msgid "200 %" msgid "Console"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
msgid "300 %" msgid "Commands"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145 msgid "Active Bindings In Text Editor"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
msgid "Move"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
msgctxt "Move"
msgid "Left"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
msgctxt "Move" msgid "Active Bindings On-Screen"
msgid "Right"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
msgctxt "Move" msgid "Keys"
msgid "Up"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
msgctxt "Move" msgid "Protocols"
msgid "Down"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
msgctxt "Move" msgid "Decoders"
msgid "Center"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
msgid "Toggle Border" msgid "Demuxers"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
msgid "Toggle On Top"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:428 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
msgid "Profile"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
@@ -633,63 +628,93 @@ msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166 msgid "Window"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
msgid "Settings"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:221
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:222
msgid "Fullscreen"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
msgid "Show Config Editor" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
msgid "Zoom"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
msgid "Enlarge"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
msgid "Shrink"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
msgid "Show Input Editor" msgid "50 %"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
msgid "100 %"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
msgid "Edit mpv.conf" msgid "200 %"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
msgid "Edit input.conf" msgid "300 %"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
msgid "Move"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
msgctxt "Move"
msgid "Left"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
msgid "Open Config Folder" msgctxt "Move"
msgid "Right"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
msgctxt "Move"
msgid "Up"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
msgctxt "Move"
msgid "Down"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
msgctxt "Move"
msgid "Center"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
msgid "Toggle Border"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166 msgid "Toggle On Top"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
msgid "Setup"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
msgid "Register video file associations"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
msgid "Register audio file associations"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
msgid "Register image file associations"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
msgid "Unregister file associations"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
msgid "Add mpv.net to Path environment variable"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
msgid "Remove mpv.net from Path environment variable" #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:426
msgid "Profile"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
@@ -697,173 +722,249 @@ msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
msgid "Tools" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
msgid "Set/clear A-B loop points"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
msgid "Toggle infinite file looping"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
msgid "Shuffle Playlist"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
msgid "Toggle Hardware Decoding"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
msgid "Exit Watch Later"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:479 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
msgid "Custom"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:183 msgid "Config"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184 msgstr ""
msgid "Help"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
msgid "Show Config Editor"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
msgid "Show Input Editor"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
msgid "Edit mpv.conf"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
msgid "Edit input.conf"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
msgid "Open Config Folder"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
msgid "Setup"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
msgid "Register video file associations"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
msgid "Website mpv" msgid "Register audio file associations"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
msgid "Website mpv.net" msgid "Register image file associations"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:180 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
msgid "Manual mpv" msgid "Unregister file associations"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
msgid "Manual mpv.net" msgid "Add mpv.net to Path environment variable"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:183 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
msgid "awesome-mpv" msgid "Remove mpv.net from Path environment variable"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
msgid "About mpv.net" #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
msgid "Tools"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
msgid "Set/clear A-B loop points"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
msgid "Toggle infinite file looping"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186
msgid "Shuffle Playlist"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
msgid "Show Menu" msgid "Toggle Hardware Decoding"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
msgid "Exit Watch Later"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:477
msgid "Custom"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
msgid "Help"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
msgid "Website mpv"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
msgid "Forward" msgid "Website mpv.net"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
msgid "Backward"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197 msgid "Manual mpv"
msgid "Volume Up"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198 msgid "Manual mpv.net"
msgid "Volume Down"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
msgid "Ignore left mouse butten" msgid "awesome-mpv"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
msgid "About mpv.net"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
msgid "Show Menu"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210 msgid "Forward"
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
msgid "Seek Forward"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
msgid "Backward"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
msgid "Volume Up"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213
msgid "Volume Down"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:220
msgid "Ignore left mouse butten"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:223
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:225
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:231
msgid "Seek Forward"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:224
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:226
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:232
msgid "Seek Backward" msgid "Seek Backward"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:227
msgid "Undo previous (or marked) seek" msgid "Undo previous (or marked) seek"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:228
msgid "Mark position for revert-seek" msgid "Mark position for revert-seek"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:229
msgid "Seek to previous subtitle" msgid "Seek to previous subtitle"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:230
msgid "Seek to next subtitle" msgid "Seek to next subtitle"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:189 #: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:235
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:209 msgid "Subtitles"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:236
msgid "Secondary Subtitles"
msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:192
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:214
msgid "Files/URLs were added to the playlist" msgid "Files/URLs were added to the playlist"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:202 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:207
msgid "The clipboard does not contain a valid URL or file." msgid "The clipboard does not contain a valid URL or file."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:253 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:262
msgid "File Explorer icons will refresh after process restart." msgid "File Explorer icons will refresh after process restart."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:256 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:265
msgid "File associations were successfully removed." msgid "File associations were successfully removed."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:258 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:267
msgid "File associations were successfully created." msgid "File associations were successfully created."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:261 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:270
msgid "Error creating file associations." msgid "Error creating file associations."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:358 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:387
msgid "mpv.net is already in the Path environment variable." msgid "mpv.net is already in the Path environment variable."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:366 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:395
msgid "mpv.net was successfully added to the Path environment variable." msgid "mpv.net was successfully added to the Path environment variable."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:375 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:404
msgid "mpv.net was not found in the Path environment variable." msgid "mpv.net was not found in the Path environment variable."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:384 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:413
msgid "mpv.net was successfully removed from the Path environment variable." msgid "mpv.net was successfully removed from the Path environment variable."
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:389 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:418
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:396 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:423
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:404
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:411
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:416
msgid "This feature was removed, but there are user scripts:" msgid "This feature was removed, but there are user scripts:"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:420 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\GuiCommand.cs:427
msgid "This feature was removed." msgid "This feature was removed."
msgstr "" msgstr ""
@@ -875,15 +976,15 @@ msgstr ""
msgid "theme" msgid "theme"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:390 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:388
msgid "Clear List" msgid "Clear List"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:450 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:448
msgid "Show Profiles" msgid "Show Profiles"
msgstr "" msgstr ""
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1419 #: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1432
msgid "Shutdown thread failed to complete within 10 seconds." msgid "Shutdown thread failed to complete within 10 seconds."
msgstr "" msgstr ""

View File

@@ -5,3 +5,6 @@ csharp_style_implicit_object_creation_when_type_is_apparent = true
# IDE0090: Use 'new(...)' # IDE0090: Use 'new(...)'
dotnet_diagnostic.IDE0090.severity = silent dotnet_diagnostic.IDE0090.severity = silent
# WFO1000: A property should determine its property content serialization with the DesignerSerializationVisibilityAttribute, DefaultValueAttribute or the ShouldSerializeProperty method
dotnet_diagnostic.WFO1000.severity = silent

View File

@@ -0,0 +1,6 @@
<Project>
<PropertyGroup>
<Product>mpv.net</Product>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,10 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageVersion Include="NGettext" Version="0.6.7" />
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.135" />
</ItemGroup>
</Project>

View File

@@ -101,8 +101,8 @@ public class ConfParser
} }
else if (line.Contains('=')) else if (line.Contains('='))
{ {
string name = line[..line.IndexOf("=")].Trim(); string name = line[..line.IndexOf('=')].Trim();
string value = line[(line.IndexOf("=") + 1)..].Trim(); string value = line[(line.IndexOf('=') + 1)..].Trim();
currentGroup?.Items.Add(new StringPair(name, value)); currentGroup?.Items.Add(new StringPair(name, value));
} }

View File

@@ -13,7 +13,7 @@ public static class FileAssociation
string exeFilename = Path.GetFileName(exePath); string exeFilename = Path.GetFileName(exePath);
string exeFilenameNoExt = Path.GetFileNameWithoutExtension(exePath); string exeFilenameNoExt = Path.GetFileNameWithoutExtension(exePath);
string[] protocols = { "ytdl", "rtsp", "srt", "srtp" }; string[] protocols = ["ytdl", "rtsp", "srt", "srtp"];
if (perceivedType != "unreg") if (perceivedType != "unreg")
{ {

View File

@@ -162,8 +162,7 @@ public class GuiCommand
} }
string header = BR + string header = BR +
"https://mpv.io/manual/master/#list-of-input-commands" + BR2 + "https://mpv.io/manual/master/#list-of-input-commands" + BR;
"https://github.com/stax76/mpv-scripts#command_palette" + BR;
ShowTextWithEditor("Input Commands", header + sb.ToString()); ShowTextWithEditor("Input Commands", header + sb.ToString());
} }
@@ -195,11 +194,13 @@ public class GuiCommand
else else
{ {
string clipboard = System.Windows.Forms.Clipboard.GetText(); string clipboard = System.Windows.Forms.Clipboard.GetText();
List<string> files = new List<string>(); List<string> files = [];
foreach (string i in clipboard.Split(BR.ToCharArray(), StringSplitOptions.RemoveEmptyEntries)) foreach (string i in clipboard.Split(BR.ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
{
if (i.Contains("://") || File.Exists(i)) if (i.Contains("://") || File.Exists(i))
files.Add(i); files.Add(i);
}
if (files.Count == 0) if (files.Count == 0)
{ {
@@ -224,10 +225,14 @@ public class GuiCommand
dialog.Multiselect = true; dialog.Multiselect = true;
if (dialog.ShowDialog() == DialogResult.OK) if (dialog.ShowDialog() != DialogResult.OK)
return;
foreach (string i in dialog.FileNames) foreach (string i in dialog.FileNames)
{
Player.CommandV("audio-add", i); Player.CommandV("audio-add", i);
} }
}
void RegisterFileAssociations(IList<string> args) void RegisterFileAssociations(IList<string> args)
{ {
@@ -236,9 +241,9 @@ public class GuiCommand
switch (perceivedType) switch (perceivedType)
{ {
case "video": extensions = FileTypes.Video; break; case "video": extensions = FileTypes.GetVideoExts(); break;
case "audio": extensions = FileTypes.Audio; break; case "audio": extensions = FileTypes.GetAudioExts(); break;
case "image": extensions = FileTypes.Image; break; case "image": extensions = FileTypes.GetImgExts(); break;
} }
try try
@@ -267,6 +272,20 @@ public class GuiCommand
catch { } catch { }
} }
class Obj
{
public string title { get; set; } = "";
public int selected_index { get; set; } = 0;
public Item[] items { get; set; } = [];
}
class Item
{
public string[] value { get; set; } = [];
public string title { get; set; } = "";
public string hint { get; set; } = "";
}
void ShowMediaInfo(IList<string> args) void ShowMediaInfo(IList<string> args)
{ {
if (Player.PlaylistPos == -1) if (Player.PlaylistPos == -1)
@@ -284,13 +303,13 @@ public class GuiCommand
if (File.Exists(path) && osd) if (File.Exists(path) && osd)
{ {
if (FileTypes.Audio.Contains(path.Ext())) if (FileTypes.IsAudio(path.Ext()))
{ {
text = Player.GetPropertyOsdString("filtered-metadata"); text = Player.GetPropertyOsdString("filtered-metadata");
Player.CommandV("show-text", text, "5000"); Player.CommandV("show-text", text, "5000");
return; return;
} }
else if (FileTypes.Image.Contains(path.Ext())) else if (FileTypes.IsImage(path.Ext()))
{ {
fileSize = new FileInfo(path).Length; fileSize = new FileInfo(path).Length;
@@ -324,16 +343,22 @@ public class GuiCommand
} }
if (App.MediaInfo && !osd && File.Exists(path) && !path.Contains(@"\\.\pipe\")) if (App.MediaInfo && !osd && File.Exists(path) && !path.Contains(@"\\.\pipe\"))
using (MediaInfo mediaInfo = new MediaInfo(path)) {
using MediaInfo mediaInfo = new MediaInfo(path);
text = Regex.Replace(mediaInfo.GetSummary(full, raw), "Unique ID.+", ""); text = Regex.Replace(mediaInfo.GetSummary(full, raw), "Unique ID.+", "");
}
else else
{ {
Player.UpdateExternalTracks(); Player.UpdateExternalTracks();
text = "N: " + Player.GetPropertyString("filename") + BR; text = "N: " + Player.GetPropertyString("filename") + BR;
lock (Player.MediaTracksLock) lock (Player.MediaTracksLock)
{
foreach (MediaTrack track in Player.MediaTracks) foreach (MediaTrack track in Player.MediaTracks)
{
text += track.Text + BR; text += track.Text + BR;
} }
}
}
text = text.TrimEx(); text = text.TrimEx();
@@ -357,7 +382,7 @@ public class GuiCommand
{ {
string path = Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.User)!; string path = Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.User)!;
if (path.ToLower().Contains(Folder.Startup.TrimEnd(Path.DirectorySeparatorChar).ToLower())) if (path.Contains(Folder.Startup.TrimEnd(Path.DirectorySeparatorChar), StringComparison.CurrentCultureIgnoreCase))
{ {
Msg.ShowWarning(_("mpv.net is already in the Path environment variable.")); Msg.ShowWarning(_("mpv.net is already in the Path environment variable."));
return; return;

View File

@@ -27,7 +27,7 @@ public static class WinApiHelp
} }
} }
public static void AdjustWindowRect(IntPtr hwnd, ref RECT rc, int dpi) public static void AdjustWindowRectangle(IntPtr hwnd, ref RECT rc, int dpi)
{ {
uint style = (uint)GetWindowLongPtr(hwnd, -16); // GWL_STYLE uint style = (uint)GetWindowLongPtr(hwnd, -16); // GWL_STYLE
uint styleEx = (uint)GetWindowLongPtr(hwnd, -20); // GWL_EXSTYLE uint styleEx = (uint)GetWindowLongPtr(hwnd, -20); // GWL_EXSTYLE
@@ -35,13 +35,13 @@ public static class WinApiHelp
if (Environment.OSVersion.Version >= WindowsTen1607) if (Environment.OSVersion.Version >= WindowsTen1607)
AdjustWindowRectExForDpi(ref rc, style, false, styleEx, (uint)dpi); AdjustWindowRectExForDpi(ref rc, style, false, styleEx, (uint)dpi);
else else
Native.WinApi.AdjustWindowRect(ref rc, style, false); AdjustWindowRect(ref rc, style, false);
} }
public static void AddWindowBorders(IntPtr hwnd, ref RECT rc, int dpi, bool changeTop) public static void AddWindowBorders(IntPtr hwnd, ref RECT rc, int dpi, bool changeTop)
{ {
RECT win = rc; RECT win = rc;
AdjustWindowRect(hwnd, ref rc, dpi); AdjustWindowRectangle(hwnd, ref rc, dpi);
if (changeTop) if (changeTop)
{ {
@@ -64,7 +64,7 @@ public static class WinApiHelp
public static int GetTitleBarHeight(IntPtr hwnd, int dpi) public static int GetTitleBarHeight(IntPtr hwnd, int dpi)
{ {
RECT rect = new RECT(); RECT rect = new RECT();
AdjustWindowRect(hwnd, ref rect, dpi); AdjustWindowRectangle(hwnd, ref rect, dpi);
return -rect.Top; return -rect.Top;
} }

View File

@@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework> <TargetFramework>net10.0-windows7.0</TargetFramework>
<RootNamespace>MpvNet.Windows</RootNamespace> <RootNamespace>MpvNet.Windows</RootNamespace>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<PublishSingleFile>true</PublishSingleFile> <PublishSingleFile>true</PublishSingleFile>
@@ -10,11 +10,9 @@
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon>mpv-icon.ico</ApplicationIcon> <ApplicationIcon>mpv-icon.ico</ApplicationIcon>
<Product>mpv.net</Product> <FileVersion>7.1.2.0</FileVersion>
<FileVersion>7.1.1.1</FileVersion> <AssemblyVersion>7.1.2.0</AssemblyVersion>
<AssemblyVersion>7.1.1.1</AssemblyVersion> <InformationalVersion>7.1.2.0</InformationalVersion>
<InformationalVersion>7.1.1.1</InformationalVersion>
<Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@@ -42,8 +40,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /> <PackageReference Include="CommunityToolkit.Mvvm" />
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.77" /> <PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -21,23 +21,11 @@ default = yes
option = yes option = yes
option = no option = no
name = video-file-extensions name = image-exts
file = mpvnet file = mpv
directory = General directory = General
width = 500 width = 500
help = Video file extensions used to create file associations and used by the auto-load-folder feature. (mpv.net option) help = Image file extentions to try to match when using --cover-art-auto, --autocreate-playlist or --directory-filter-types. By mpv.net used to create file associations and used by the auto-load-folder feature. Default: avif,bmp,gif,j2k,jp2,jpeg,jpg,jxl,png,svg,tga,tif,tiff,webp
name = audio-file-extensions
file = mpvnet
directory = General
width = 500
help = Audio file extensions used to create file associations and used by the auto-load-folder feature. (mpv.net option)
name = image-file-extensions
file = mpvnet
directory = General
width = 500
help = Image file extensions used to create file associations and used by the auto-load-folder feature. (mpv.net option)
name = menu-syntax name = menu-syntax
file = mpvnet file = mpvnet
@@ -72,7 +60,8 @@ file = mpv
directory = Video directory = Video
help = Video output drivers to be used.\n\nFor more information visit: help = Video output drivers to be used.\n\nFor more information visit:
url = https://mpv.io/manual/master/#video-output-drivers-vo url = https://mpv.io/manual/master/#video-output-drivers-vo
default = gpu default = info
option = info Choose the best mode automatically.
option = gpu General purpose, customizable, GPU-accelerated video output driver. It supports extended scaling methods, dithering, color management, custom shaders, HDR, and more. option = gpu General purpose, customizable, GPU-accelerated video output driver. It supports extended scaling methods, dithering, color management, custom shaders, HDR, and more.
option = gpu-next Experimental video renderer based on libplacebo. This supports almost the same set of features as --vo=gpu. option = gpu-next Experimental video renderer based on libplacebo. This supports almost the same set of features as --vo=gpu.
option = direct3d Video output driver that uses the Direct3D interface. option = direct3d Video output driver that uses the Direct3D interface.
@@ -100,9 +89,9 @@ option = nvdec-copy copies video back to system RAM
name = gpu-api name = gpu-api
file = mpv file = mpv
directory = Video/Render Options directory = Video/Render Options
help = Controls which type of graphics APIs will be accepted. On Windows this defaults to d3d11 and should not be changed without a good reason. help = Controls which type of graphics APIs will be accepted.
default = auto default = auto
option = auto Use any available API option = auto Use any available API. Note that the default GPU API used for this value is subject to change, and must not be relied upon. If a certain GPU API needs to be used, it must be explicitly specified
option = d3d11 Allow only gpu-context=d3d11 option = d3d11 Allow only gpu-context=d3d11
option = opengl Allow only OpenGL (requires OpenGL 2.1+ or GLES 2.0+) option = opengl Allow only OpenGL (requires OpenGL 2.1+ or GLES 2.0+)
option = vulkan Allow only Vulkan option = vulkan Allow only Vulkan
@@ -790,6 +779,12 @@ file = mpv
directory = Video/Screenshot directory = Video/Screenshot
help = <0-5> Set the filter applied prior to PNG compression. 0 is none, 1 is 'sub', 2 is 'up', 3 is 'average', 4 is 'Paeth', and 5 is 'mixed'. This affects the level of compression that can be achieved. For most images, 'mixed' achieves the best compression ratio, hence it is the default. help = <0-5> Set the filter applied prior to PNG compression. 0 is none, 1 is 'sub', 2 is 'up', 3 is 'average', 4 is 'Paeth', and 5 is 'mixed'. This affects the level of compression that can be achieved. For most images, 'mixed' achieves the best compression ratio, hence it is the default.
name = video-exts
file = mpv
directory = Video
width = 500
help = Video file extentions to try to match when using --autocreate-playlist or --directory-filter-types. By mpv.net used to create file associations and used by the auto-load-folder feature. Default: 3g2,3gp,avi,flv,m2ts,m4v,mj2,mkv,mov,mp4,mpeg,mpg,ogv,rmvb,ts,webm,wmv,y4m
name = volume name = volume
file = mpv file = mpv
directory = Audio directory = Audio
@@ -833,6 +828,12 @@ default = yes
option = yes option = yes
option = no option = no
name = audio-exts
file = mpv
directory = Audio
width = 500
help = Audio file extentions to try to match when using --audio-file-auto, --autocreate-playlist or --directory-filter-types. By mpv.net used to create file associations and used by the auto-load-folder feature. Default: aac,ac3,aiff,ape,au,dts,eac3,flac,m4a,mka,mp3,oga,ogg,ogm,opus,thd,wav,wav,wma,wv
name = slang name = slang
file = mpv file = mpv
directory = Subtitle directory = Subtitle
@@ -1097,10 +1098,19 @@ file = mpv
directory = Playback directory = Playback
help = <N|inf|force|no> Loops playback N times. A value of 1 plays it one time (default), 2 two times, etc. inf means forever. no is the same as 1 and disables looping. If several files are specified on command line, the entire playlist is looped. The force mode is like inf, but does not skip playlist entries which have been marked as failing. This means the player might waste CPU time trying to loop a file that doesn't exist. But it might be useful for playing webradios under very bad network conditions. help = <N|inf|force|no> Loops playback N times. A value of 1 plays it one time (default), 2 two times, etc. inf means forever. no is the same as 1 and disables looping. If several files are specified on command line, the entire playlist is looped. The force mode is like inf, but does not skip playlist entries which have been marked as failing. This means the player might waste CPU time trying to loop a file that doesn't exist. But it might be useful for playing webradios under very bad network conditions.
name = autocreate-playlist
file = mpv
directory = Playback
help = When opening a local file, act as if the parent directory is opened and create a playlist automatically.\n\nno: Load a single file (mpv default).\n\nFilter: Create a playlist from the parent directory with files matching --directory-filter-types. (mpv.net default)\n\nsame: Create a playlist from the parent directory with files matching the same category as the currently loaded file. One of the *-exts is selected based on the input file and only files with matching extensions are added to the playlist. If the input file itself is not matched to any extension list, the playlist is not autogenerated.
default = filter
option = no
option = filter
option = same
name = auto-load-folder name = auto-load-folder
file = mpvnet file = mpvnet
directory = Playback directory = Playback
help = For single files automatically load the entire directory into the playlist. (mpv.net option) help = For single files automatically load the entire directory into the playlist. (deprecated mpv.net option, autocreate-playlist can be used instead)
default = yes default = yes
option = yes option = yes
option = no option = no
@@ -1108,7 +1118,7 @@ option = no
name = reset-on-next-file name = reset-on-next-file
file = mpv file = mpv
directory = Program Behavior directory = Program Behavior
help = Normally, mpv will try to keep all settings when playing the next file on the playlist, even if they were changed by the user during playback. This can be changed with this option. It accepts a list of options, and mpv will reset the value of these options on playback start to the initial value. help = Normally, mpv will try to keep all options when playing the next file on the playlist, even if they were changed by the user during playback. This can be changed with this option. It accepts a list of options, and mpv will reset the value of these options on playback start to the initial value.
width = 400 width = 400
name = input-ar-delay name = input-ar-delay
@@ -1133,11 +1143,14 @@ directory = Appearance
help = User interface display language.\nmpv.net must be restarted after a change. help = User interface display language.\nmpv.net must be restarted after a change.
default = system default = system
option = system option = system
option = english option = bulgarian
option = chinese-china option = chinese-china
option = english
option = french
option = german option = german
option = japanese option = japanese
option = korean option = korean
option = polish
option = russian option = russian
option = turkish option = turkish

View File

@@ -10,11 +10,14 @@ public class WpfTranslator : ITranslator
string _localizerLangauge = ""; string _localizerLangauge = "";
static Language[] Languages { get; } = new Language[] { static Language[] Languages { get; } = new Language[] {
new("english", "en", "en"), new("bulgarian", "bg", "bg"),
new("chinese-china", "zh-CN", "zh"), // Chinese (Simplified) new("chinese-china", "zh-CN", "zh"), // Chinese (Simplified)
new("english", "en", "en"),
new("french", "fr", "fr"),
new("german", "de", "de"), new("german", "de", "de"),
new("japanese", "ja", "ja"), new("japanese", "ja", "ja"),
new("korean", "ko", "ko"), new("korean", "ko", "ko"),
new("polish", "pl", "pl"),
new("russian", "ru", "ru"), new("russian", "ru", "ru"),
new("turkish", "tr", "tr"), new("turkish", "tr", "tr"),
}; };

View File

@@ -38,7 +38,7 @@ partial class MainForm
// CursorTimer // CursorTimer
// //
CursorTimer.Enabled = true; CursorTimer.Enabled = true;
CursorTimer.Interval = 1000; CursorTimer.Interval = 500;
CursorTimer.Tick += CursorTimer_Tick; CursorTimer.Tick += CursorTimer_Tick;
// //
// ProgressTimer // ProgressTimer

View File

@@ -5,7 +5,6 @@ using System.Runtime.InteropServices;
using System.Threading; using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Threading; using System.Windows.Threading;
using System.Windows.Forms.Integration;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using MpvNet.Windows.WPF; using MpvNet.Windows.WPF;
@@ -39,10 +38,12 @@ public partial class MainForm : Form
int _lastCursorChanged; int _lastCursorChanged;
int _lastCycleFullscreen; int _lastCycleFullscreen;
int _taskbarButtonCreatedMessage; int _taskbarButtonCreatedMessage;
int _cursorAutohide = 1000;
bool _contextMenuIsReady; bool _contextMenuIsReady;
bool _wasMaximized; bool _wasMaximized;
bool _maxSizeSet; bool _maxSizeSet;
bool _isCursorVisible = true;
public MainForm() public MainForm()
{ {
@@ -69,9 +70,9 @@ public partial class MainForm : Form
Player.Init(Handle, true); Player.Init(Handle, true);
// bool methods not working correctly Player.ObserveProperty("window-maximized", PropChangeWindowMaximized); // bool methods not working correctly
Player.ObserveProperty("window-maximized", PropChangeWindowMaximized); Player.ObserveProperty("window-minimized", PropChangeWindowMinimized); // bool methods not working correctly
Player.ObserveProperty("window-minimized", PropChangeWindowMinimized); Player.ObserveProperty("cursor-autohide", PropChangeCursorAutohide);
Player.ObservePropertyBool("border", PropChangeBorder); Player.ObservePropertyBool("border", PropChangeBorder);
Player.ObservePropertyBool("fullscreen", PropChangeFullscreen); Player.ObservePropertyBool("fullscreen", PropChangeFullscreen);
@@ -684,8 +685,11 @@ public partial class MainForm : Form
width = rect.Width; width = rect.Width;
height = rect.Height; height = rect.Height;
int left = middlePos.X - width / 2; int left = Convert.ToInt32(middlePos.X - width / 2.0);
int top = middlePos.Y - height / 2; int top = Convert.ToInt32(middlePos.Y - height / 2.0);
if (!Player.TitleBar)
top -= Convert.ToInt32(GetTitleBarHeight(Handle, GetDpi(Handle)) / 2.0);
Rectangle currentRect = new Rectangle(Left, Top, Width, Height); Rectangle currentRect = new Rectangle(Left, Top, Width, Height);
@@ -1044,11 +1048,12 @@ public partial class MainForm : Form
break; break;
case 0x319: // WM_APPCOMMAND case 0x319: // WM_APPCOMMAND
{ {
string? value = MpvHelp.WM_APPCOMMAND_to_mpv_key((int)(m.LParam.ToInt64() >> 16 & ~0xf000)); string? key = MpvHelp.WM_APPCOMMAND_to_mpv_key((int)(m.LParam.ToInt64() >> 16 & ~0xf000));
bool inputMediaKeys = Player.GetPropertyBool("input-media-keys");
if (value != null) if (key != null && inputMediaKeys)
{ {
Player.Command("keypress " + value); Player.Command("keypress " + key);
m.Result = new IntPtr(1); m.Result = new IntPtr(1);
return; return;
} }
@@ -1102,7 +1107,8 @@ public partial class MainForm : Form
{ {
var nccalcsize_params = Marshal.PtrToStructure<NCCALCSIZE_PARAMS>(m.LParam); var nccalcsize_params = Marshal.PtrToStructure<NCCALCSIZE_PARAMS>(m.LParam);
RECT[] rects = nccalcsize_params.rgrc; RECT[] rects = nccalcsize_params.rgrc;
rects[0].Top = rects[0].Top - GetTitleBarHeight(Handle, GetDpi(Handle)); int h = GetTitleBarHeight(Handle, GetDpi(Handle));
rects[0].Top = rects[0].Top - h;
Marshal.StructureToPtr(nccalcsize_params, m.LParam, false); Marshal.StructureToPtr(nccalcsize_params, m.LParam, false);
} }
break; break;
@@ -1248,8 +1254,7 @@ public partial class MainForm : Form
_lastCursorPosition = MousePosition; _lastCursorPosition = MousePosition;
_lastCursorChanged = Environment.TickCount; _lastCursorChanged = Environment.TickCount;
} }
else if ((Environment.TickCount - _lastCursorChanged > 1500 || else if ((Environment.TickCount - _lastCursorChanged > _cursorAutohide) &&
Environment.TickCount - _lastCursorChanged > 5000) &&
ClientRectangle.Contains(PointToClient(MousePosition)) && ClientRectangle.Contains(PointToClient(MousePosition)) &&
ActiveForm == this && !ContextMenu.IsVisible && !IsMouseInOsc()) ActiveForm == this && !ContextMenu.IsVisible && !IsMouseInOsc())
@@ -1308,6 +1313,18 @@ public partial class MainForm : Form
}); });
} }
void PropChangeCursorAutohide()
{
string strValue = Player.GetPropertyString("cursor-autohide");
if (strValue == "no")
_cursorAutohide = 0;
else if (strValue == "always")
_cursorAutohide = -1;
else if (int.TryParse(strValue, out var intValue))
_cursorAutohide = intValue;
}
void PropChangeBorder(bool enabled) { void PropChangeBorder(bool enabled) {
Player.Border = enabled; Player.Border = enabled;
@@ -1474,20 +1491,18 @@ public partial class MainForm : Form
base.OnKeyDown(e); base.OnKeyDown(e);
} }
static bool _isCursorVisible = true; void ShowCursor()
static void ShowCursor()
{ {
if (!_isCursorVisible) if (!_isCursorVisible && _cursorAutohide != -1)
{ {
Cursor.Show(); Cursor.Show();
_isCursorVisible = true; _isCursorVisible = true;
} }
} }
static void HideCursor() void HideCursor()
{ {
if (_isCursorVisible) if (_isCursorVisible && _cursorAutohide != 0)
{ {
Cursor.Hide(); Cursor.Hide();
_isCursorVisible = false; _isCursorVisible = false;

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.PowerShell.5.ReferenceAssemblies" version="1.1.0" targetFramework="net472" />
</packages>

View File

@@ -13,6 +13,7 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2F97C77E-32E3-46FA-8D7C-3940FD9AA384}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2F97C77E-32E3-46FA-8D7C-3940FD9AA384}"
ProjectSection(SolutionItems) = preProject ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig .editorconfig = .editorconfig
Directory.Build.props = Directory.Build.props
EndProjectSection EndProjectSection
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NGettext.Wpf", "NGettext.Wpf\NGettext.Wpf.csproj", "{0B7958FD-2138-482A-A21B-481AE7A0F851}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NGettext.Wpf", "NGettext.Wpf\NGettext.Wpf.csproj", "{0B7958FD-2138-482A-A21B-481AE7A0F851}"

View File

@@ -21,7 +21,7 @@ public class AppClass
public string CommandLine { get; set; } = Environment.CommandLine; public string CommandLine { get; set; } = Environment.CommandLine;
public string MenuSyntax { get; set; } = "#menu:"; public string MenuSyntax { get; set; } = "#menu:";
public bool AutoLoadFolder { get; set; } = true; public bool AutoLoadFolder { get; set; }
public bool DebugMode { get; set; } public bool DebugMode { get; set; }
public bool Exit { get; set; } public bool Exit { get; set; }
public bool IsTerminalAttached { get; } = Environment.GetEnvironmentVariable("_started_from_console") == "yes"; public bool IsTerminalAttached { get; } = Environment.GetEnvironmentVariable("_started_from_console") == "yes";
@@ -131,14 +131,12 @@ public class AppClass
{ {
switch (name) switch (name)
{ {
case "audio-file-extensions": FileTypes.Audio = value.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); return true;
case "auto-load-folder": AutoLoadFolder = value == "yes"; return true; case "auto-load-folder": AutoLoadFolder = value == "yes"; return true;
case "autofit-audio": AutofitAudio = value.Trim('%').ToInt(70) / 100f; return true; case "autofit-audio": AutofitAudio = value.Trim('%').ToInt(70) / 100f; return true;
case "autofit-image": AutofitImage = value.Trim('%').ToInt(80) / 100f; return true; case "autofit-image": AutofitImage = value.Trim('%').ToInt(80) / 100f; return true;
case "dark-mode": DarkMode = value; return true; case "dark-mode": DarkMode = value; return true;
case "dark-theme": DarkTheme = value.Trim('\'', '"'); return true; case "dark-theme": DarkTheme = value.Trim('\'', '"'); return true;
case "debug-mode": DebugMode = value == "yes"; return true; case "debug-mode": DebugMode = value == "yes"; return true;
case "image-file-extensions": FileTypes.Image = value.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); return true;
case "language": Language = value; return true; case "language": Language = value; return true;
case "light-theme": LightTheme = value.Trim('\'', '"'); return true; case "light-theme": LightTheme = value.Trim('\'', '"'); return true;
case "media-info": MediaInfo = value == "yes"; return true; case "media-info": MediaInfo = value == "yes"; return true;
@@ -152,7 +150,6 @@ public class AppClass
case "remember-volume": RememberVolume = value == "yes"; return true; case "remember-volume": RememberVolume = value == "yes"; return true;
case "remember-window-position": RememberWindowPosition = value == "yes"; return true; case "remember-window-position": RememberWindowPosition = value == "yes"; return true;
case "start-size": StartSize = value; return true; case "start-size": StartSize = value; return true;
case "video-file-extensions": FileTypes.Video = value.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); return true;
default: default:
if (writeError) if (writeError)

View File

@@ -19,7 +19,7 @@ public class Chapter
_timeDisplay = TimeSpan.FromSeconds(Time).ToString(); _timeDisplay = TimeSpan.FromSeconds(Time).ToString();
if (_timeDisplay.ContainsEx(".")) if (_timeDisplay.ContainsEx("."))
_timeDisplay = _timeDisplay[.._timeDisplay.LastIndexOf(".")]; _timeDisplay = _timeDisplay[.._timeDisplay.LastIndexOf('.')];
} }
return _timeDisplay; return _timeDisplay;

View File

@@ -28,7 +28,7 @@ public class Command
["playlist-random"] = args => PlaylistRandom(), // deprecated ["playlist-random"] = args => PlaylistRandom(), // deprecated
}; };
string FormatTime(double value) => ((int)value).ToString("00"); static string FormatTime(double value) => ((int)value).ToString("00");
void PlayPause(IList<string> args) void PlayPause(IList<string> args)
{ {
@@ -42,7 +42,7 @@ public class Command
{ {
if (i.Contains("://") || File.Exists(i)) if (i.Contains("://") || File.Exists(i))
{ {
Player.LoadFiles(new[] { i }, true, false); Player.LoadFiles([i], true, false);
break; break;
} }
} }

View File

@@ -6,9 +6,9 @@ public class CommandLine
static List<StringPair>? _arguments; static List<StringPair>? _arguments;
static string[] _preInitProperties { get; } = { static string[] _preInitProperties { get; } = {
"input-terminal", "terminal", "input-file", "config", "o", "input-terminal", "terminal", "input-file", "config", "o", "config-dir", "input-conf",
"config-dir", "input-conf", "load-scripts", "scripts", "player-operation-mode", "load-scripts", "scripts", "script-opts", "player-operation-mode", "idle", "log-file",
"idle", "log-file", "msg-color", "dump-stats", "msg-level", "really-quiet" }; "msg-color", "dump-stats", "msg-level", "really-quiet" };
public static List<StringPair> Arguments public static List<StringPair> Arguments
{ {
@@ -17,7 +17,7 @@ public class CommandLine
if (_arguments != null) if (_arguments != null)
return _arguments; return _arguments;
_arguments = new(); _arguments = [];
foreach (string i in Environment.GetCommandLineArgs().Skip(1)) foreach (string i in Environment.GetCommandLineArgs().Skip(1))
{ {
@@ -37,7 +37,7 @@ public class CommandLine
arg += "=yes"; arg += "=yes";
} }
string left = arg[2..arg.IndexOf("=")]; string left = arg[2..arg.IndexOf('=')];
string right = arg[(left.Length + 3)..]; string right = arg[(left.Length + 3)..];
if (string.IsNullOrEmpty(left)) if (string.IsNullOrEmpty(left))
@@ -46,6 +46,7 @@ public class CommandLine
switch (left) switch (left)
{ {
case "script": left = "scripts"; break; case "script": left = "scripts"; break;
case "script-opt": left = "script-opts"; break;
case "audio-file": left = "audio-files"; break; case "audio-file": left = "audio-files"; break;
case "sub-file": left = "sub-files"; break; case "sub-file": left = "sub-files"; break;
case "external-file": left = "external-files"; break; case "external-file": left = "external-files"; break;
@@ -113,15 +114,19 @@ public class CommandLine
public static void ProcessCommandLineFiles() public static void ProcessCommandLineFiles()
{ {
List<string> files = new List<string>(); List<string> files = [];
foreach (string arg in Environment.GetCommandLineArgs().Skip(1)) foreach (string arg in Environment.GetCommandLineArgs().Skip(1))
{
if (!arg.StartsWith("--") && (arg == "-" || arg.Contains("://") || if (!arg.StartsWith("--") && (arg == "-" || arg.Contains("://") ||
arg.Contains(":\\") || arg.StartsWith("\\\\") || File.Exists(arg))) arg.Contains(":\\") || arg.StartsWith("\\\\") || arg.StartsWith('.') ||
File.Exists(arg)))
{
files.Add(arg); files.Add(arg);
}
}
Player.LoadFiles(files.ToArray(), !App.Queue, App.Queue); Player.LoadFiles([.. files], !App.Queue, App.Queue);
if (App.CommandLine.Contains("--shuffle")) if (App.CommandLine.Contains("--shuffle"))
{ {
@@ -133,8 +138,10 @@ public class CommandLine
public static bool Contains(string name) public static bool Contains(string name)
{ {
foreach (StringPair pair in Arguments) foreach (StringPair pair in Arguments)
{
if (pair.Name == name) if (pair.Name == name)
return true; return true;
}
return false; return false;
} }
@@ -142,8 +149,10 @@ public class CommandLine
public static string GetValue(string name) public static string GetValue(string name)
{ {
foreach (StringPair pair in Arguments) foreach (StringPair pair in Arguments)
{
if (pair.Name == name) if (pair.Name == name)
return pair.Value; return pair.Value;
}
return ""; return "";
} }

View File

@@ -9,7 +9,7 @@ public class ExtensionLoader
{ {
public event Action<Exception>? UnhandledException; public event Action<Exception>? UnhandledException;
readonly List<object?> _refs = new(); readonly List<object?> _refs = [];
void LoadDll(string path) void LoadDll(string path)
{ {
@@ -31,10 +31,14 @@ public class ExtensionLoader
public void LoadFolder(string path) public void LoadFolder(string path)
{ {
if (Directory.Exists(path)) if (Directory.Exists(path))
{
foreach (string dir in Directory.GetDirectories(path)) foreach (string dir in Directory.GetDirectories(path))
{
LoadDll(dir.AddSep() + Path.GetFileName(dir) + ".dll"); LoadDll(dir.AddSep() + Path.GetFileName(dir) + ".dll");
} }
} }
}
}
public interface IExtension public interface IExtension
{ {

View File

@@ -32,12 +32,12 @@ public static class PathStringExtension
int index = instance.LastIndexOf('\\'); int index = instance.LastIndexOf('\\');
if (index > -1) if (index > -1)
return instance.Substring(index + 1); return instance[(index + 1)..];
index = instance.LastIndexOf('/'); index = instance.LastIndexOf('/');
if (index > -1) if (index > -1)
return instance.Substring(index + 1); return instance[(index + 1)..];
return instance; return instance;
} }

View File

@@ -5,16 +5,49 @@ namespace MpvNet;
public static class FileTypes public static class FileTypes
{ {
public static string[] Video { get; set; } = "mkv mp4 avi mov flv mpg webm wmv ts vob 264 265 asf avc avs dav h264 h265 hevc m2t m2ts m2v m4v mpeg mpv mts vpy y4m".Split(' '); public static string[] Subtitle { get; } = ["srt", "ass", "idx", "sub", "sup", "ttxt", "txt", "ssa", "smi", "mks"];
public static string[] Audio { get; set; } = "mp3 flac m4a mka mp2 ogg opus aac ac3 dts dtshd dtshr dtsma eac3 mpa mpc thd w64 wav".Split(' ');
public static string[] Image { get; set; } = { "jpg", "bmp", "png", "gif", "webp" };
public static string[] Subtitle { get; } = { "srt", "ass", "idx", "sub", "sup", "ttxt", "txt", "ssa", "smi", "mks" };
public static bool IsImage(string extension) => Image.Contains(extension); public static bool IsVideo(string[] exts, string ext) => exts?.Contains(ext) ?? false;
public static bool IsAudio(string extension) => Audio.Contains(extension); public static bool IsAudio(string[] exts, string ext) => exts?.Contains(ext) ?? false;
public static bool IsImage(string[] exts, string ext) => exts?.Contains(ext) ?? false;
public static bool IsMedia(string extension) => public static bool IsVideo(string ext) => GetVideoExts().Contains(ext);
Video.Contains(extension) || Audio.Contains(extension) || Image.Contains(extension); public static bool IsAudio(string ext) => GetAudioExts().Contains(ext);
public static bool IsImage(string ext) => GetImgExts().Contains(ext);
public static IEnumerable<string> GetMediaFiles(IEnumerable<string> files) => files.Where(i => IsMedia(i.Ext())); public static string[] GetVideoExts()
{
string exts = Player.GetPropertyString("video-exts");
if (string.IsNullOrEmpty(exts))
return ["mkv", "mp4", "avi", "mov", "flv", "mpg", "webm", "wmv", "ts", "vob", "264", "265", "asf", "avc", "avs", "dav", "h264", "h265", "hevc", "m2t", "m2ts", "m2v", "m4v", "mpeg", "mpv", "mts", "vpy", "y4m"];
return exts.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
}
public static string[] GetAudioExts()
{
string exts = Player.GetPropertyString("audio-exts");
if (string.IsNullOrEmpty(exts))
return ["mp3", "flac", "m4a", "mka", "mp2", "ogg", "opus", "aac", "ac3", "dts", "dtshd", "dtshr", "dtsma", "eac3", "mpa", "mpc", "thd", "w64", "wav"];
return exts.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
}
public static string[] GetImgExts()
{
string exts = Player.GetPropertyString("image-exts");
if (string.IsNullOrEmpty(exts))
return ["jpg", "bmp", "png", "gif", "webp"];
return exts.Split(" ,;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
}
public static bool IsMedia(string[] exts, string ext) =>
IsVideo(exts, ext) || IsAudio(exts, ext) || IsImage(exts, ext);
public static IEnumerable<string> GetMediaFiles(string[] files) =>
files.Where(i => IsMedia(files, i.Ext()));
} }

View File

@@ -8,9 +8,7 @@ public static class StringHelp
{ {
public static string GetMD5Hash(string txt) public static string GetMD5Hash(string txt)
{ {
using MD5 md5 = MD5.Create();
byte[] inputBuffer = Encoding.UTF8.GetBytes(txt); byte[] inputBuffer = Encoding.UTF8.GetBytes(txt);
byte[] hashBuffer = md5.ComputeHash(inputBuffer); return Convert.ToHexString(MD5.HashData(inputBuffer));
return BitConverter.ToString(md5.ComputeHash(inputBuffer)).Replace("-", "");
} }
} }

View File

@@ -34,17 +34,25 @@ public class InputConf
var defaultBindings = InputHelp.GetDefaults(); var defaultBindings = InputHelp.GetDefaults();
foreach (Binding defaultBinding in defaultBindings) foreach (Binding defaultBinding in defaultBindings)
{
foreach (Binding confBinding in confbindings) foreach (Binding confBinding in confbindings)
{
if (defaultBinding.Input == confBinding.Input && if (defaultBinding.Input == confBinding.Input &&
defaultBinding.Command != confBinding.Command) defaultBinding.Command != confBinding.Command)
{ {
defaultBinding.Input = ""; defaultBinding.Input = "";
} }
}
}
foreach (Binding defaultBinding in defaultBindings) foreach (Binding defaultBinding in defaultBindings)
{
foreach (Binding confBinding in confbindings) foreach (Binding confBinding in confbindings)
{
if (defaultBinding.Command == confBinding.Command) if (defaultBinding.Command == confBinding.Command)
defaultBinding.Input = confBinding.Input; defaultBinding.Input = confBinding.Input;
}
}
return (defaultBindings, confbindings); return (defaultBindings, confbindings);
} }
@@ -82,16 +90,22 @@ public class InputConf
var conf = InputHelp.Parse(Content); var conf = InputHelp.Parse(Content);
foreach (Binding defaultBinding in defaults) foreach (Binding defaultBinding in defaults)
{
foreach (Binding confBinding in conf) foreach (Binding confBinding in conf)
{
if (defaultBinding.Command == confBinding.Command && if (defaultBinding.Command == confBinding.Command &&
defaultBinding.Comment == confBinding.Comment) defaultBinding.Comment == confBinding.Comment)
{ {
defaultBinding.Input = confBinding.Input; defaultBinding.Input = confBinding.Input;
removed.Add(confBinding); removed.Add(confBinding);
} }
}
}
foreach (Binding binding in removed) foreach (Binding binding in removed)
{
conf.Remove(binding); conf.Remove(binding);
}
defaults.AddRange(conf); defaults.AddRange(conf);
return InputHelp.ConvertToString(defaults); return InputHelp.ConvertToString(defaults);

View File

@@ -7,228 +7,251 @@ public static class InputHelp
{ {
public static List<Binding> GetDefaults() public static List<Binding> GetDefaults()
{ {
List<Binding> bindings = new List<Binding>() List<Binding> b = [];
{
new (_("File"), _("Open Files..."), "script-message-to mpvnet open-files", "o"),
new (_("File"), _("Open URL or file from clipboard"), "script-message-to mpvnet open-clipboard", "Ctrl+v"),
new (_("File"), _("Open DVD/Blu-ray Drive/Folder..."), "script-message-to mpvnet open-optical-media"),
new (_("File"), "-"),
new (_("File"), _("Add external audio files..."), "script-message-to mpvnet load-audio", "Alt+a"),
new (_("File"), _("Add external subtitle files..."), "script-message-to mpvnet load-sub", "Alt+s"),
new (_("File"), "-"),
new (_("File"), _("Add files to playlist..."), "script-message-to mpvnet open-files append"),
new (_("File"), _("Add files/URLs to playlist from clipboard"), "script-message-to mpvnet open-clipboard append", "Ctrl+Shift+v"),
new (_("File"), "-"),
new (_("File"), _("Recent Files")),
new (_("File"), _("Exit"), "quit", "Esc"),
new (_("Playback"), _("Play/Pause"), "script-message-to mpvnet play-pause", "Space"), Add(b, new (_("File"), _("Open Files..."), "script-message-to mpvnet open-files", "o"));
new (_("Playback"), _("Stop"), "stop", "Ctrl+s"), Add(b, new (_("File"), _("Open URL or file from clipboard"), "script-message-to mpvnet open-clipboard", "Ctrl+v"));
Add(b, new (_("File"), _("Open DVD/Blu-ray Drive/Folder..."), "script-message-to mpvnet open-optical-media"));
Add(b, new (_("File"), "-"));
Add(b, new (_("File"), _("Add external audio files..."), "script-message-to mpvnet load-audio"));
Add(b, new (_("File"), _("Add external subtitle files..."), "script-message-to mpvnet load-sub"));
Add(b, new (_("File"), "-"));
Add(b, new (_("File"), _("Add files to playlist..."), "script-message-to mpvnet open-files append"));
Add(b, new (_("File"), _("Add files/URLs to playlist from clipboard"), "script-message-to mpvnet open-clipboard append", "Ctrl+Shift+v"));
Add(b, new (_("File"), "-"));
Add(b, new (_("File"), _("Recent Files")));
Add(b, new (_("File"), _("Exit"), "quit", "Esc"));
new (_("Navigate"), _("Previous File"), "playlist-prev", "F11"), Add(b, new (_("Playback"), _("Play/Pause"), "script-message-to mpvnet play-pause", "Space"));
new (_("Navigate"), _("Next File"), "playlist-next", "F12"), Add(b, new (_("Playback"), _("Stop"), "stop", "Ctrl+s"));
new (_("Navigate"), "-"),
new (_("Navigate"), _("First File"), "script-message-to mpvnet playlist-first", "Home"),
new (_("Navigate"), _("Last File"), "script-message-to mpvnet playlist-last", "End"),
new (_("Navigate"), "-"), Add(b, new (_("Navigate"), _("Previous File"), "playlist-prev", "F11"));
new (_("Navigate"), _("Next Chapter"), "add chapter 1", "PGUP"), Add(b, new (_("Navigate"), _("Next File"), "playlist-next", "F12"));
new (_("Navigate"), _("Previous Chapter"), "add chapter -1", "PGDWN"), Add(b, new (_("Navigate"), "-"));
new (_("Navigate"), "-"), Add(b, new (_("Navigate"), _("First File"), "script-message-to mpvnet playlist-first", "Home"));
new (_("Navigate"), _("Jump To Next Frame"), "frame-step", "."), Add(b, new (_("Navigate"), _("Last File"), "script-message-to mpvnet playlist-last", "End"));
new (_("Navigate"), _("Jump To Previous Frame"), "frame-back-step", ","),
new (_("Navigate"), "-"),
new (_("Navigate"), _("Jump 5 sec forward"), "seek 5", "Right"),
new (_("Navigate"), _("Jump 5 sec backward"), "seek -5", "Left"),
new (_("Navigate"), "-"),
new (_("Navigate"), _("Jump 30 sec forward"), "seek 30", "Up"),
new (_("Navigate"), _("Jump 30 sec backward"), "seek -30", "Down"),
new (_("Navigate"), "-"),
new (_("Navigate"), _("Jump 5 min forward"), "seek 300", "Ctrl+Right"),
new (_("Navigate"), _("Jump 5 min backward"), "seek -300", "Ctrl+Left"),
new (_("Navigate"), "-"),
new (_("Navigate"), _("Title")),
new (_("Navigate"), _("Chapter")),
new (_("Pan & Scan"), _("Decrease Size"), "add video-zoom -0.1", "Ctrl+-"), Add(b, new (_("Navigate"), "-"));
new (_("Pan & Scan"), _("Increase Size"), "add video-zoom 0.1", "Ctrl++"), Add(b, new (_("Navigate"), _("Next Chapter"), "add chapter 1", "PGUP"));
new (_("Pan & Scan"), "-"), Add(b, new (_("Navigate"), _("Previous Chapter"), "add chapter -1", "PGDWN"));
new (_("Pan & Scan"), _("Move Left"), "add video-pan-x -0.01", "Ctrl+KP4"), Add(b, new (_("Navigate"), "-"));
new (_("Pan & Scan"), _("Move Right"), "add video-pan-x 0.01", "Ctrl+KP6"), Add(b, new (_("Navigate"), _("Jump To Next Frame"), "frame-step", "."));
new (_("Pan & Scan"), "-"), Add(b, new (_("Navigate"), _("Jump To Previous Frame"), "frame-back-step", ","));
new (_("Pan & Scan"), _("Move Up"), "add video-pan-y -0.01", "Ctrl+KP8"), Add(b, new (_("Navigate"), "-"));
new (_("Pan & Scan"), _("Move Down"), "add video-pan-y 0.01", "Ctrl+KP2"), Add(b, new (_("Navigate"), _("Jump 5 sec forward"), "seek 5", "Right"));
new (_("Pan & Scan"), "-"), Add(b, new (_("Navigate"), _("Jump 5 sec backward"), "seek -5", "Left"));
new (_("Pan & Scan"), _("Decrease Height"), "add panscan -0.1", "w"), Add(b, new (_("Navigate"), "-"));
new (_("Pan & Scan"), _("Increase Height"), "add panscan 0.1", "W"), Add(b, new (_("Navigate"), _("Jump 30 sec forward"), "seek 30", "Up"));
new (_("Pan & Scan"), "-"), Add(b, new (_("Navigate"), _("Jump 30 sec backward"), "seek -30", "Down"));
new (_("Pan & Scan"), _("Reset"), "set video-zoom 0; set video-pan-x 0; set video-pan-y 0", "Ctrl+BS"), Add(b, new (_("Navigate"), "-"));
Add(b, new (_("Navigate"), _("Jump 5 min forward"), "seek 300", "Ctrl+Right"));
Add(b, new (_("Navigate"), _("Jump 5 min backward"), "seek -300", "Ctrl+Left"));
Add(b, new (_("Navigate"), "-"));
Add(b, new (_("Navigate"), _("Title")));
Add(b, new (_("Navigate"), _("Chapter")));
new (_("Video"), _("Decrease Contrast"), "add contrast -1", "Ctrl+1"), Add(b, new (_("Pan & Scan"), _("Decrease Size"), "add video-zoom -0.1", "Ctrl+-"));
new (_("Video"), _("Increase Contrast"), "add contrast 1", "Ctrl+2"), Add(b, new (_("Pan & Scan"), _("Increase Size"), "add video-zoom 0.1", "Ctrl++"));
new (_("Video"), "-"), Add(b, new (_("Pan & Scan"), "-"));
new (_("Video"), _("Decrease Brightness"), "add brightness -1", "Ctrl+3"), Add(b, new (_("Pan & Scan"), _("Move Left"), "add video-pan-x -0.01", "Ctrl+KP4"));
new (_("Video"), _("Increase Brightness"), "add brightness 1", "Ctrl+4"), Add(b, new (_("Pan & Scan"), _("Move Right"), "add video-pan-x 0.01", "Ctrl+KP6"));
new (_("Video"), "-"), Add(b, new (_("Pan & Scan"), "-"));
new (_("Video"), _("Decrease Gamma"), "add gamma -1", "Ctrl+5"), Add(b, new (_("Pan & Scan"), _("Move Up"), "add video-pan-y -0.01", "Ctrl+KP8"));
new (_("Video"), _("Increase Gamma"), "add gamma 1", "Ctrl+6"), Add(b, new (_("Pan & Scan"), _("Move Down"), "add video-pan-y 0.01", "Ctrl+KP2"));
new (_("Video"), "-"), Add(b, new (_("Pan & Scan"), "-"));
new (_("Video"), _("Decrease Saturation"), "add saturation -1", "Ctrl+7"), Add(b, new (_("Pan & Scan"), _("Decrease Height"), "add panscan -0.1", "w"));
new (_("Video"), _("Increase Saturation"), "add saturation 1", "Ctrl+8"), Add(b, new (_("Pan & Scan"), _("Increase Height"), "add panscan 0.1", "W"));
new (_("Video"), "-"), Add(b, new (_("Pan & Scan"), "-"));
new (_("Video"), _("Take Screenshot"), "async screenshot", "s"), Add(b, new (_("Pan & Scan"), _("Reset"), "set video-zoom 0; set video-pan-x 0; set video-pan-y 0", "Ctrl+BS"));
new (_("Video"), _("Take Screenshot without subtitles"), "async screenshot video", "S"),
new (_("Video"), _("Toggle Deinterlace"), "cycle deinterlace", "d"),
new (_("Video"), _("Change Aspect Ratio"), "cycle-values video-aspect-override 16:9 4:3 2.35:1 -1", "a"),
new (_("Video"), _("Rotate Video"), "cycle-values video-rotate 90 180 270 0", "Ctrl+r"),
new (_("Audio"), _("Audio Device")), Add(b, new (_("Video"), _("Decrease Contrast"), "add contrast -1", "Ctrl+1"));
new (_("Audio"), _("Next Track"), "script-message-to mpvnet cycle-audio", "KP7"), Add(b, new (_("Video"), _("Increase Contrast"), "add contrast 1", "Ctrl+2"));
new (_("Audio"), "-"), Add(b, new (_("Video"), "-"));
new (_("Audio"), _("Delay +0.1"), "add audio-delay 0.1", "Ctrl+d"), Add(b, new (_("Video"), _("Decrease Brightness"), "add brightness -1", "Ctrl+3"));
new (_("Audio"), _("Delay -0.1"), "add audio-delay -0.1", "Ctrl+D"), Add(b, new (_("Video"), _("Increase Brightness"), "add brightness 1", "Ctrl+4"));
Add(b, new (_("Video"), "-"));
Add(b, new (_("Video"), _("Decrease Gamma"), "add gamma -1", "Ctrl+5"));
Add(b, new (_("Video"), _("Increase Gamma"), "add gamma 1", "Ctrl+6"));
Add(b, new (_("Video"), "-"));
Add(b, new (_("Video"), _("Decrease Saturation"), "add saturation -1", "Ctrl+7"));
Add(b, new (_("Video"), _("Increase Saturation"), "add saturation 1", "Ctrl+8"));
Add(b, new (_("Video"), "-"));
Add(b, new (_("Video"), _("Take Screenshot"), "async screenshot", "s"));
Add(b, new (_("Video"), _("Take Screenshot without subtitles"), "async screenshot video", "S"));
Add(b, new (_("Video"), _("Toggle Deinterlace"), "cycle deinterlace", "d"));
Add(b, new (_("Video"), _("Change Aspect Ratio"), "cycle-values video-aspect-override 16:9 4:3 2.35:1 0 -1", "a"));
Add(b, new (_("Video"), _("Rotate Video"), "cycle-values video-rotate 90 180 270 0", "Ctrl+r"));
new (_("Subtitle"), _("Next Track"), "script-message-to mpvnet cycle-subtitles", "KP8"), Add(b, new (_("Audio"), _("Audio Device")));
new (_("Subtitle"), _("Toggle Visibility"), "cycle sub-visibility", "v"), Add(b, new (_("Audio"), _("Next Track"), "script-message-to mpvnet cycle-audio", "KP7"));
new (_("Subtitle"), "-"), Add(b, new (_("Audio"), "-"));
new (_("Subtitle"), _("Delay -0.1"), "add sub-delay -0.1", "z"), Add(b, new (_("Audio"), _("Delay +0.1"), "add audio-delay 0.1", "Ctrl+d"));
new (_("Subtitle"), _("Delay +0.1"), "add sub-delay 0.1", "Z"), Add(b, new (_("Audio"), _("Delay -0.1"), "add audio-delay -0.1", "Ctrl+D"));
new (_("Subtitle"), "-"),
new (_("Subtitle"), _("Move Up"), "add sub-pos -1", "r"),
new (_("Subtitle"), _("Move Down"), "add sub-pos 1", "R"),
new (_("Subtitle"), "-"),
new (_("Subtitle"), _("Decrease Font Size"), "add sub-scale -0.1", "F"),
new (_("Subtitle"), _("Increase Font Size"), "add sub-scale 0.1", "G"),
new (_("Subtitle"), "-"),
new (_("Subtitle") + " > " + _("More"), _("Toggle overriding SSA/ASS styles with normal styles"), "cycle-values sub-ass-override force no", "u"),
new ("", _("Track")), Add(b, new (_("Subtitle"), _("Next Track"), "script-message-to mpvnet cycle-subtitles", "KP8"));
Add(b, new (_("Subtitle"), _("Toggle Visibility"), "cycle sub-visibility", "v"));
Add(b, new (_("Subtitle"), "-"));
Add(b, new (_("Subtitle"), _("Delay -0.1"), "add sub-delay -0.1", "z"));
Add(b, new (_("Subtitle"), _("Delay +0.1"), "add sub-delay 0.1", "Z"));
Add(b, new (_("Subtitle"), "-"));
Add(b, new (_("Subtitle"), _("Move Up"), "add sub-pos -1", "r"));
Add(b, new (_("Subtitle"), _("Move Down"), "add sub-pos 1", "R"));
Add(b, new (_("Subtitle"), "-"));
Add(b, new (_("Subtitle"), _("Decrease Font Size"), "add sub-scale -0.1", "F"));
Add(b, new (_("Subtitle"), _("Increase Font Size"), "add sub-scale 0.1", "G"));
Add(b, new (_("Subtitle"), "-"));
Add(b, new (_("Subtitle") + " > " + _("More"), _("Toggle overriding SSA/ASS styles with normal styles"), "cycle-values sub-ass-override force no", "u"));
new (_("Volume"), _p("Volume", "Up"), "add volume 2", "+"), Add(b, new ("", _("Track")));
new (_("Volume"), _p("Volume", "Down"), "add volume -2", "-"),
new (_("Volume"), "-"),
new (_("Volume"), _("Mute"), "cycle mute", "m"),
new (_("Speed"), _("-10%"), "multiply speed 1/1.1", "["), Add(b, new (_("Volume"), _p("Volume", "Up"), "add volume 2", "+"));
new (_("Speed"), _("+10%"), "multiply speed 1.1", "]"), Add(b, new (_("Volume"), _p("Volume", "Down"), "add volume -2", "-"));
new (_("Speed"), "-"), Add(b, new (_("Volume"), "-"));
new (_("Speed"), _("Half"), "multiply speed 0.5", "{"), Add(b, new (_("Volume"), _("Mute"), "cycle mute", "m"));
new (_("Speed"), _("Double"), "multiply speed 2.0", "}"),
new (_("Speed"), "-"),
new (_("Speed"), _("Reset"), "set speed 1", "BS"),
new (_("View"), _("Toggle Statistics"), "script-binding stats/display-stats-toggle", "t"), Add(b, new (_("Speed"), _("-10%"), "multiply speed 1/1.1", "["));
new (_("View"), _("Toggle OSC Visibility"), "script-binding osc/visibility", "Del"), Add(b, new (_("Speed"), _("+10%"), "multiply speed 1.1", "]"));
new (_("View"), _("Show Media Info On-Screen"), "script-message-to mpvnet show-media-info osd", "i"), Add(b, new (_("Speed"), "-"));
new (_("View"), _("Show Media Info Message Box"), "script-message-to mpvnet show-media-info msgbox", "Ctrl+m"), Add(b, new (_("Speed"), _("Half"), "multiply speed 0.5", "{"));
new (_("View"), _("Show Progress"), "show-progress", "p"), Add(b, new (_("Speed"), _("Double"), "multiply speed 2.0", "}"));
Add(b, new (_("Speed"), "-"));
Add(b, new (_("Speed"), _("Reset"), "set speed 1", "BS"));
new (_("View") + " > " + _("On Screen Menu"), _("Playlist"), "script-binding select/select-playlist", "F8"), Add(b, new (_("View"), _("Playlist"), "script-binding select/select-playlist", "F8"));
new (_("View") + " > " + _("On Screen Menu"), _("Bindings"), "script-binding select/select-binding", "F1"), Add(b, new (_("View"), _("Toggle Statistics"), "script-binding stats/display-stats-toggle", "t"));
new (_("View") + " > " + _("On Screen Menu"), _("Properties"), "script-binding select/show-properties", "F3"), Add(b, new (_("View"), _("Toggle OSC Visibility"), "script-binding osc/visibility", "Del"));
new (_("View") + " > " + _("On Screen Menu"), _("Chapters"), "script-binding select/select-chapter", "Alt+c"), Add(b, new (_("View"), _("Media Info On-Screen"), "script-message-to mpvnet show-media-info osd", "i"));
new (_("View") + " > " + _("On Screen Menu"), _("Tracks"), "script-binding select/select-track", "Alt+t"), Add(b, new (_("View"), _("Media Info Message Box"), "script-message-to mpvnet show-media-info msgbox", "Ctrl+m"));
new (_("View") + " > " + _("On Screen Menu"), _("Audio Tracks"), "script-binding select/select-aid"), Add(b, new (_("View"), _("Progress"), "show-progress", "p"));
new (_("View") + " > " + _("On Screen Menu"), _("Subtitle Tracks"), "script-binding select/select-sid"), Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("On-Screen Menu"), "script-binding select/menu", "F1"));
new (_("View") + " > " + _("On Screen Menu"), _("Secondary Subtitle"), "script-binding select/select-secondary-sid", "Alt+F2"), Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Playlist"), "script-binding select/select-playlist", "F8"));
new (_("View") + " > " + _("On Screen Menu"), _("Video Tracks"), "script-binding select/select-vid", "Alt+v"), Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Bindings"), "script-binding select/select-binding", "F2"));
new (_("View") + " > " + _("On Screen Menu"), _("Subtitle Lines"), "script-binding select/select-subtitle-line", "Alt+l"), Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Properties"), "script-binding select/show-properties", "F3"));
new (_("View") + " > " + _("On Screen Menu"), _("Audio Devices"), "script-binding select/select-audio-device", "Alt+d"), Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Chapters"), "script-binding select/select-chapter", "Alt+c"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Tracks"), "script-binding select/select-track", "F9"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Audio Tracks"), "script-binding select/select-aid", "Alt+a"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Subtitle Tracks"), "script-binding select/select-sid", "Alt+s"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Secondary Subtitle"), "script-binding select/select-secondary-sid", "Alt+b"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Video Tracks"), "script-binding select/select-vid", "Alt+v"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Editions"), "script-binding select/select-edition", "Alt+e"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Subtitle Lines"), "script-binding select/select-subtitle-line", "Alt+l"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Audio Devices"), "script-binding select/select-audio-device", "Alt+d"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Watch History"), "script-binding select/select-watch-history", "Alt+h"));
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Watch Later"), "script-binding select/select-watch-later"));
Add(b, new (_("View"), "-"));
Add(b, new (_("View") + " > " + _("More"), _("Console"), "script-binding console/enable", "`"));
Add(b, new (_("View") + " > " + _("More"), _("Commands"), "script-message-to mpvnet show-commands", "F4"));
Add(b, new (_("View") + " > " + _("More"), _("Active Bindings In Text Editor"), "script-message-to mpvnet show-bindings"));
Add(b, new (_("View") + " > " + _("More"), _("Active Bindings On-Screen"), "script-binding stats/display-page-4-toggle", "?"));
Add(b, new (_("View") + " > " + _("More"), _("Keys"), "script-message-to mpvnet show-keys", "Alt+k"));
Add(b, new (_("View") + " > " + _("More"), _("Protocols"), "script-message-to mpvnet show-protocols", "Alt+p"));
Add(b, new (_("View") + " > " + _("More"), _("Decoders"), "script-message-to mpvnet show-decoders"));
Add(b, new (_("View") + " > " + _("More"), _("Demuxers"), "script-message-to mpvnet show-demuxers"));
new (_("View") + " > " + _("More"), _("Show Console"), "script-binding console/enable", "`"), Add(b, new (_("Window"), _("Fullscreen"), "cycle fullscreen", "Enter"));
new (_("View") + " > " + _("More"), _("Show Commands"), "script-message-to mpvnet show-commands", "F2"), Add(b, new (_("Window") + " > " + _("Zoom"), _("Enlarge"), "script-message-to mpvnet scale-window 1.2", "Alt++"));
new (_("View") + " > " + _("More"), _("Show Bindings"), "script-message-to mpvnet show-bindings"), Add(b, new (_("Window") + " > " + _("Zoom"), _("Shrink"), "script-message-to mpvnet scale-window 0.8", "Alt+-"));
new (_("View") + " > " + _("More"), _("Show Keys"), "script-message-to mpvnet show-keys", "Alt+k"), Add(b, new (_("Window") + " > " + _("Zoom"), "-"));
new (_("View") + " > " + _("More"), _("Show Protocols"), "script-message-to mpvnet show-protocols", "Alt+p"), Add(b, new (_("Window") + " > " + _("Zoom"), _("50 %"), "script-message-to mpvnet window-scale 0.5", "Alt+0"));
new (_("View") + " > " + _("More"), _("Show Decoders"), "script-message-to mpvnet show-decoders"), Add(b, new (_("Window") + " > " + _("Zoom"), _("100 %"), "script-message-to mpvnet window-scale 1.0", "Alt+1"));
new (_("View") + " > " + _("More"), _("Show Demuxers"), "script-message-to mpvnet show-demuxers"), Add(b, new (_("Window") + " > " + _("Zoom"), _("200 %"), "script-message-to mpvnet window-scale 2.0", "Alt+2"));
Add(b, new (_("Window") + " > " + _("Zoom"), _("300 %"), "script-message-to mpvnet window-scale 3.0", "Alt+3"));
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Left"), "script-message-to mpvnet move-window left", "Alt+Left"));
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Right"), "script-message-to mpvnet move-window right", "Alt+Right"));
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Up"), "script-message-to mpvnet move-window top", "Alt+Up"));
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Down"), "script-message-to mpvnet move-window bottom", "Alt+Down"));
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Center"), "script-message-to mpvnet move-window center", "Alt+BS"));
Add(b, new (_("Window"), _("Toggle Border"), "cycle border", "b"));
Add(b, new (_("Window"), _("Toggle On Top"), "cycle ontop", "Ctrl+t"));
new (_("Window"), _("Fullscreen"), "cycle fullscreen", "Enter"), Add(b, new ("", _("Profile")));
new (_("Window") + " > " + _("Zoom"), _("Enlarge"), "script-message-to mpvnet scale-window 1.2", "Alt++"),
new (_("Window") + " > " + _("Zoom"), _("Shrink"), "script-message-to mpvnet scale-window 0.8", "Alt+-"),
new (_("Window") + " > " + _("Zoom"), "-"),
new (_("Window") + " > " + _("Zoom"), _("50 %"), "script-message-to mpvnet window-scale 0.5", "Alt+0"),
new (_("Window") + " > " + _("Zoom"), _("100 %"), "script-message-to mpvnet window-scale 1.0", "Alt+1"),
new (_("Window") + " > " + _("Zoom"), _("200 %"), "script-message-to mpvnet window-scale 2.0", "Alt+2"),
new (_("Window") + " > " + _("Zoom"), _("300 %"), "script-message-to mpvnet window-scale 3.0", "Alt+3"),
new (_("Window") + " > " + _("Move"), _p("Move", "Left"), "script-message-to mpvnet move-window left", "Alt+Left"),
new (_("Window") + " > " + _("Move"), _p("Move", "Right"), "script-message-to mpvnet move-window right", "Alt+Right"),
new (_("Window") + " > " + _("Move"), _p("Move", "Up"), "script-message-to mpvnet move-window top", "Alt+Up"),
new (_("Window") + " > " + _("Move"), _p("Move", "Down"), "script-message-to mpvnet move-window bottom", "Alt+Down"),
new (_("Window") + " > " + _("Move"), _p("Move", "Center"), "script-message-to mpvnet move-window center", "Alt+BS"),
new (_("Window"), _("Toggle Border"), "cycle border", "b"),
new (_("Window"), _("Toggle On Top"), "cycle ontop", "Ctrl+t"),
new ("", _("Profile")), Add(b, new (_("Config"), _("Show Config Editor"), "script-message-to mpvnet show-conf-editor", "Ctrl+,"));
Add(b, new (_("Config"), _("Show Input Editor"), "script-message-to mpvnet show-input-editor", "Ctrl+i"));
Add(b, new (_("Config"), "-"));
Add(b, new (_("Config"), _("Edit mpv.conf"), "script-message-to mpvnet edit-conf-file mpv.conf", "c"));
Add(b, new (_("Config"), _("Edit input.conf"), "script-message-to mpvnet edit-conf-file input.conf", "k"));
Add(b, new (_("Config"), "-"));
Add(b, new (_("Config"), _("Open Config Folder"), "script-message-to mpvnet open-conf-folder", "Ctrl+f"));
Add(b, new (_("Config") + " > " + _("Setup"), _("Register video file associations"), "script-message-to mpvnet reg-file-assoc video"));
Add(b, new (_("Config") + " > " + _("Setup"), _("Register audio file associations"), "script-message-to mpvnet reg-file-assoc audio"));
Add(b, new (_("Config") + " > " + _("Setup"), _("Register image file associations"), "script-message-to mpvnet reg-file-assoc image"));
Add(b, new (_("Config") + " > " + _("Setup"), _("Unregister file associations"), "script-message-to mpvnet reg-file-assoc unreg"));
Add(b, new (_("Config") + " > " + _("Setup"), "-"));
Add(b, new (_("Config") + " > " + _("Setup"), _("Add mpv.net to Path environment variable"), "script-message-to mpvnet add-to-path"));
Add(b, new (_("Config") + " > " + _("Setup"), _("Remove mpv.net from Path environment variable"), "script-message-to mpvnet remove-from-path"));
new (_("Settings"), _("Show Config Editor"), "script-message-to mpvnet show-conf-editor", "Ctrl+,"), Add(b, new (_("Tools"), _("Set/clear A-B loop points"), "ab-loop", "l"));
new (_("Settings"), _("Show Input Editor"), "script-message-to mpvnet show-input-editor", "Ctrl+i"), Add(b, new (_("Tools"), _("Toggle infinite file looping"), "cycle-values loop-file inf no", "L"));
new (_("Settings"), "-"), Add(b, new (_("Tools"), _("Shuffle Playlist"), "playlist-shuffle"));
new (_("Settings"), _("Edit mpv.conf"), "script-message-to mpvnet edit-conf-file mpv.conf", "c"), Add(b, new (_("Tools"), _("Toggle Hardware Decoding"), "cycle-values hwdec auto no", "Ctrl+h"));
new (_("Settings"), _("Edit input.conf"), "script-message-to mpvnet edit-conf-file input.conf", "k"), Add(b, new (_("Tools"), _("Exit Watch Later"), "quit-watch-later", "Q"));
new (_("Settings"), "-"),
new (_("Settings"), _("Open Config Folder"), "script-message-to mpvnet open-conf-folder", "Ctrl+f"),
new (_("Settings") + " > " + _("Setup"), _("Register video file associations"), "script-message-to mpvnet reg-file-assoc video"),
new (_("Settings") + " > " + _("Setup"), _("Register audio file associations"), "script-message-to mpvnet reg-file-assoc audio"),
new (_("Settings") + " > " + _("Setup"), _("Register image file associations"), "script-message-to mpvnet reg-file-assoc image"),
new (_("Settings") + " > " + _("Setup"), _("Unregister file associations"), "script-message-to mpvnet reg-file-assoc unreg"),
new (_("Settings") + " > " + _("Setup"), "-"),
new (_("Settings") + " > " + _("Setup"), _("Add mpv.net to Path environment variable"), "script-message-to mpvnet add-to-path"),
new (_("Settings") + " > " + _("Setup"), _("Remove mpv.net from Path environment variable"), "script-message-to mpvnet remove-from-path"),
new (_("Tools"), _("Set/clear A-B loop points"), "ab-loop", "l"), Add(b, new ("", _("Custom")));
new (_("Tools"), _("Toggle infinite file looping"), "cycle-values loop-file inf no", "L"),
new (_("Tools"), _("Shuffle Playlist"), "playlist-shuffle"),
new (_("Tools"), _("Toggle Hardware Decoding"), "cycle-values hwdec auto no", "Ctrl+h"),
new (_("Tools"), _("Exit Watch Later"), "quit-watch-later", "Q"),
new ("", _("Custom")), Add(b, new (_("Help"), _("Website mpv"), "script-message-to mpvnet shell-execute https://mpv.io", "Ctrl+Home"));
Add(b, new (_("Help"), _("Website mpv.net"), "script-message-to mpvnet shell-execute https://github.com/mpvnet-player/mpv.net"));
Add(b, new (_("Help"), "-"));
Add(b, new (_("Help"), _("Manual mpv"), "script-message-to mpvnet shell-execute https://mpv.io/manual/stable", "Ctrl+F1"));
Add(b, new (_("Help"), _("Manual mpv.net"), "script-message-to mpvnet shell-execute https://github.com/mpvnet-player/mpv.net/blob/main/docs/manual.md", "Ctrl+F2"));
Add(b, new (_("Help"), "-"));
Add(b, new (_("Help"), _("awesome-mpv"), "script-message-to mpvnet shell-execute https://github.com/stax76/awesome-mpv", "Ctrl+a"));
Add(b, new (_("Help"), _("About mpv.net"), "script-message-to mpvnet show-about"));
new (_("Help"), _("Website mpv"), "script-message-to mpvnet shell-execute https://mpv.io", "Ctrl+Home"), Add(b, new ("", "", "quit", "q", _("Exit")));
new (_("Help"), _("Website mpv.net"), "script-message-to mpvnet shell-execute https://github.com/mpvnet-player/mpv.net"), Add(b, new ("", "", "script-message-to mpvnet show-menu", "MBTN_Right", _("Show Menu")));
new (_("Help"), "-"), Add(b, new("", "", "script-message-to mpvnet play-pause", "Play", _("Play/Pause")));
new (_("Help"), _("Manual mpv"), "script-message-to mpvnet shell-execute https://mpv.io/manual/stable", "Ctrl+F1"), Add(b, new("", "", "script-message-to mpvnet play-pause", "Pause", _("Play/Pause")));
new (_("Help"), _("Manual mpv.net"), "script-message-to mpvnet shell-execute https://github.com/mpvnet-player/mpv.net/blob/main/docs/manual.md", "Ctrl+F2"), Add(b, new("", "", "script-message-to mpvnet play-pause", "PlayPause", _("Play/Pause")));
new (_("Help"), "-"), Add(b, new("", "", "script-message-to mpvnet play-pause", "MBTN_Mid", _("Play/Pause")));
new (_("Help"), _("awesome-mpv"), "script-message-to mpvnet shell-execute https://github.com/stax76/awesome-mpv", "Ctrl+a"), Add(b, new ("", "", "stop", "Stop", _("Stop")));
new (_("Help"), _("About mpv.net"), "script-message-to mpvnet show-about"), Add(b, new ("", "", "seek 60", "Forward", _("Forward")));
Add(b, new ("", "", "seek -60", "Rewind", _("Backward")));
Add(b, new ("", "", "add volume 2", "Wheel_Up", _("Volume Up")));
Add(b, new ("", "", "add volume -2", "Wheel_Down", _("Volume Down")));
Add(b, new ("", "", "add volume 2", "Wheel_Right", _("Volume Up")));
Add(b, new ("", "", "add volume -2", "Wheel_Left", _("Volume Down")));
Add(b, new ("", "", "playlist-prev", "Prev", _("Previous File")));
Add(b, new ("", "", "playlist-next", "Next", _("Next File")));
Add(b, new ("", "", "playlist-prev", "MBTN_Back", _("Previous File")));
Add(b, new ("", "", "playlist-next", "MBTN_Forward", _("Next File")));
Add(b, new ("", "", "playlist-prev", "<", _("Previous File")));
Add(b, new ("", "", "playlist-next", ">", _("Next File")));
Add(b, new ("", "", "ignore", "MBTN_Left", _("Ignore left mouse button")));
Add(b, new ("", "", "cycle fullscreen", "f", _("Fullscreen")));
Add(b, new ("", "", "cycle fullscreen", "MBTN_Left_DBL", _("Fullscreen")));
Add(b, new ("", "", "no-osd seek 1 exact", "Shift+Right", _("Seek Forward")));
Add(b, new ("", "", "no-osd seek -1 exact", "Shift+Left", _("Seek Backward")));
Add(b, new ("", "", "no-osd seek 5 exact", "Shift+Up", _("Seek Forward")));
Add(b, new ("", "", "no-osd seek -5 exact", "Shift+Down", _("Seek Backward")));
Add(b, new ("", "", "revert-seek", "Shift+BS", _("Undo previous (or marked) seek")));
Add(b, new ("", "", "revert-seek mark", "Shift+Ctrl+BS", _("Mark position for revert-seek")));
Add(b, new ("", "", "no-osd sub-seek -1", "Ctrl+Shift+Left", _("Seek to previous subtitle")));
Add(b, new ("", "", "no-osd sub-seek 1", "Ctrl+Shift+Right", _("Seek to next subtitle")));
Add(b, new ("", "", "no-osd seek 5", "Ctrl+Wheel_Up", _("Seek Forward")));
Add(b, new ("", "", "no-osd seek -5", "Ctrl+Wheel_Down", _("Seek Backward")));
Add(b, new ("", "", "quit", "Power", _("Exit")));
Add(b, new ("", "", "script-binding select/select-playlist", "g-p", _("Playlist")));
Add(b, new ("", "", "script-binding select/select-sid", "g-s", _("Subtitles")));
Add(b, new ("", "", "script-binding select/select-secondary-sid", "g-S", _("Secondary Subtitles")));
Add(b, new ("", "", "script-binding select/select-aid", "g-a", _("Audio Tracks")));
Add(b, new ("", "", "script-binding select/select-vid", "g-v", _("Video Tracks")));
Add(b, new ("", "", "script-binding select/select-track", "g-t", _("Tracks")));
Add(b, new ("", "", "script-binding select/select-chapter", "g-c", _("Chapters")));
Add(b, new ("", "", "script-binding select/select-edition", "g-e", _("Editions")));
Add(b, new ("", "", "script-binding select/select-subtitle-line", "g-l", _("Subtitle Lines")));
Add(b, new ("", "", "script-binding select/select-audio-device", "g-d", _("Audio Devices")));
Add(b, new ("", "", "script-binding select/select-watch-history", "g-h", _("Watch History")));
Add(b, new ("", "", "script-binding select/select-watch-later", "g-w", _("Watch Later")));
Add(b, new ("", "", "script-binding select/select-binding", "g-b", _("Bindings")));
Add(b, new ("", "", "script-binding select/show-properties", "g-r", _("Properties")));
Add(b, new ("", "", "script-binding select/menu", "g-m", _("On-Screen Menu")));
Add(b, new ("", "", "script-binding select/menu", "MENU", _("On-Screen Menu")));
Add(b, new ("", "", "script-binding select/menu", "Ctrl+p", _("On-Screen Menu")));
new ("", "", "quit", "q", _("Exit")), return b;
new ("", "", "script-message-to mpvnet show-menu", "MBTN_Right", _("Show Menu")),
new ("", "", "script-message-to mpvnet play-pause", "Play", _("Play/Pause")),
new ("", "", "script-message-to mpvnet play-pause", "Pause", _("Play/Pause")),
new ("", "", "script-message-to mpvnet play-pause", "PlayPause", _("Play/Pause")),
new ("", "", "script-message-to mpvnet play-pause", "MBTN_Mid", _("Play/Pause")),
new ("", "", "stop", "Stop", _("Stop")),
new ("", "", "seek 60", "Forward", _("Forward")),
new ("", "", "seek -60", "Rewind", _("Backward")),
new ("", "", "add volume 2", "Wheel_Up", _("Volume Up")),
new ("", "", "add volume -2", "Wheel_Down", _("Volume Down")),
new ("", "", "add volume 2", "Wheel_Right", _("Volume Up")),
new ("", "", "add volume -2", "Wheel_Left", _("Volume Down")),
new ("", "", "playlist-prev", "Prev", _("Previous File")),
new ("", "", "playlist-next", "Next", _("Next File")),
new ("", "", "playlist-prev", "MBTN_Back", _("Previous File")),
new ("", "", "playlist-next", "MBTN_Forward", _("Next File")),
new ("", "", "playlist-prev", "<", _("Previous File")),
new ("", "", "playlist-next", ">", _("Next File")),
new ("", "", "ignore", "MBTN_Left", _("Ignore left mouse butten")),
new ("", "", "cycle fullscreen", "f", _("Fullscreen")),
new ("", "", "cycle fullscreen", "MBTN_Left_DBL", _("Fullscreen")),
new ("", "", "no-osd seek 1 exact", "Shift+Right", _("Seek Forward")),
new ("", "", "no-osd seek -1 exact", "Shift+Left", _("Seek Backward")),
new ("", "", "no-osd seek 5 exact", "Shift+Up", _("Seek Forward")),
new ("", "", "no-osd seek -5 exact", "Shift+Down", _("Seek Backward")),
new ("", "", "revert-seek", "Shift+BS", _("Undo previous (or marked) seek")),
new ("", "", "revert-seek mark", "Shift+Ctrl+BS", _("Mark position for revert-seek")),
new ("", "", "no-osd sub-seek -1", "Ctrl+Shift+Left", _("Seek to previous subtitle")),
new ("", "", "no-osd sub-seek 1", "Ctrl+Shift+Right", _("Seek to next subtitle")),
new ("", "", "no-osd seek 5", "Ctrl+Wheel_Up", _("Seek Forward")),
new ("", "", "no-osd seek -5", "Ctrl+Wheel_Down", _("Seek Backward")),
new ("", "", "quit", "Power", _("Exit")),
};
return bindings; static void Add(List<Binding> bindings, Binding b) => bindings.Add(b);
} }
public static string ConvertToString(List<Binding> bindings) public static string ConvertToString(List<Binding> bindings)
@@ -340,7 +363,7 @@ public static class InputHelp
if (binding.Input.Contains("alt+")) if (binding.Input.Contains("alt+"))
binding.Input = binding.Input.Replace("alt+", "Alt+"); binding.Input = binding.Input.Replace("alt+", "Alt+");
line = line[(line.IndexOf(" ") + 1)..]; line = line[(line.IndexOf(' ') + 1)..];
if (line.Contains(App.MenuSyntax)) if (line.Contains(App.MenuSyntax))
{ {
@@ -356,8 +379,8 @@ public static class InputHelp
} }
else if (line.Contains('#')) else if (line.Contains('#'))
{ {
binding.Comment = line[(line.IndexOf("#") + 1)..].Trim(); binding.Comment = line[(line.IndexOf('#') + 1)..].Trim();
line = line[..line.IndexOf("#")]; line = line[..line.IndexOf('#')];
} }
binding.Command = line.Trim(); binding.Command = line.Trim();
@@ -423,7 +446,7 @@ public static class InputHelp
public static Dictionary<string, Binding> GetActiveBindings(List<Binding> bindings) public static Dictionary<string, Binding> GetActiveBindings(List<Binding> bindings)
{ {
Dictionary<string, Binding> ret = new(); Dictionary<string, Binding> ret = [];
foreach (Binding binding in bindings) foreach (Binding binding in bindings)
{ {
@@ -448,7 +471,7 @@ public static class InputHelp
Binding binding = it.Value; Binding binding = it.Value;
if (!keys.Contains(binding.Input) && (charCount + binding.Input.Length) < 15) if (!keys.Contains(binding.Input) && (charCount + binding.Input.Length) < 30)
{ {
keys.Add(binding.Input); keys.Add(binding.Input);
charCount += binding.Input.Length; charCount += binding.Input.Length;

View File

@@ -1,13 +1,4 @@
 
using CommunityToolkit.Mvvm.Messaging.Messages;
namespace MpvNet.MVVM; namespace MpvNet.MVVM;
public class MainWindowIsLoadedMessage { } public class MainWindowIsLoadedMessage { }
//public class ScaleWindowMessage : ValueChangedMessage<float>
//{
// public ScaleWindowMessage(float value) : base(value)
// {
// }
//}

View File

@@ -21,11 +21,11 @@ public class MpvClient
public event Action? Seek; // seek MPV_EVENT_SEEK public event Action? Seek; // seek MPV_EVENT_SEEK
public event Action? PlaybackRestart; // playback-restart MPV_EVENT_PLAYBACK_RESTART public event Action? PlaybackRestart; // playback-restart MPV_EVENT_PLAYBACK_RESTART
public Dictionary<string, List<Action>> PropChangeActions { get; set; } = new Dictionary<string, List<Action>>(); public Dictionary<string, List<Action>> PropChangeActions { get; set; } = [];
public Dictionary<string, List<Action<int>>> IntPropChangeActions { get; set; } = new Dictionary<string, List<Action<int>>>(); public Dictionary<string, List<Action<int>>> IntPropChangeActions { get; set; } = [];
public Dictionary<string, List<Action<bool>>> BoolPropChangeActions { get; set; } = new Dictionary<string, List<Action<bool>>>(); public Dictionary<string, List<Action<bool>>> BoolPropChangeActions { get; set; } = [];
public Dictionary<string, List<Action<double>>> DoublePropChangeActions { get; set; } = new Dictionary<string, List<Action<double>>>(); public Dictionary<string, List<Action<double>>> DoublePropChangeActions { get; set; } = [];
public Dictionary<string, List<Action<string>>> StringPropChangeActions { get; set; } = new Dictionary<string, List<Action<string>>>(); public Dictionary<string, List<Action<string>>> StringPropChangeActions { get; set; } = [];
public nint Handle { get; set; } public nint Handle { get; set; }
@@ -132,48 +132,74 @@ public class MpvClient
else if (data.format == mpv_format.MPV_FORMAT_STRING) else if (data.format == mpv_format.MPV_FORMAT_STRING)
{ {
lock (StringPropChangeActions) lock (StringPropChangeActions)
{
foreach (var pair in StringPropChangeActions) foreach (var pair in StringPropChangeActions)
{
if (pair.Key == data.name) if (pair.Key == data.name)
{ {
string value = ConvertFromUtf8(Marshal.PtrToStructure<IntPtr>(data.data)); string value = ConvertFromUtf8(Marshal.PtrToStructure<IntPtr>(data.data));
foreach (var action in pair.Value) foreach (var action in pair.Value)
{
action.Invoke(value); action.Invoke(value);
} }
} }
}
}
}
else if (data.format == mpv_format.MPV_FORMAT_INT64) else if (data.format == mpv_format.MPV_FORMAT_INT64)
{ {
lock (IntPropChangeActions) lock (IntPropChangeActions)
{
foreach (var pair in IntPropChangeActions) foreach (var pair in IntPropChangeActions)
{
if (pair.Key == data.name) if (pair.Key == data.name)
{ {
int value = Marshal.PtrToStructure<int>(data.data); int value = Marshal.PtrToStructure<int>(data.data);
foreach (var action in pair.Value) foreach (var action in pair.Value)
{
action.Invoke(value); action.Invoke(value);
} }
} }
}
}
}
else if (data.format == mpv_format.MPV_FORMAT_NONE) else if (data.format == mpv_format.MPV_FORMAT_NONE)
{ {
lock (PropChangeActions) lock (PropChangeActions)
{
foreach (var pair in PropChangeActions) foreach (var pair in PropChangeActions)
{
if (pair.Key == data.name) if (pair.Key == data.name)
{
foreach (var action in pair.Value) foreach (var action in pair.Value)
{
action.Invoke(); action.Invoke();
} }
}
}
}
}
else if (data.format == mpv_format.MPV_FORMAT_DOUBLE) else if (data.format == mpv_format.MPV_FORMAT_DOUBLE)
{ {
lock (DoublePropChangeActions) lock (DoublePropChangeActions)
{
foreach (var pair in DoublePropChangeActions) foreach (var pair in DoublePropChangeActions)
{
if (pair.Key == data.name) if (pair.Key == data.name)
{ {
double value = Marshal.PtrToStructure<double>(data.data); double value = Marshal.PtrToStructure<double>(data.data);
foreach (var action in pair.Value) foreach (var action in pair.Value)
{
action.Invoke(value); action.Invoke(value);
} }
} }
} }
}
}
}
protected virtual void OnEndFile(mpv_event_end_file data) => EndFile?.Invoke((mpv_end_file_reason)data.reason); protected virtual void OnEndFile(mpv_event_end_file data) => EndFile?.Invoke((mpv_end_file_reason)data.reason);
protected virtual void OnFileLoaded() => FileLoaded?.Invoke(); protected virtual void OnFileLoaded() => FileLoaded?.Invoke();
@@ -247,7 +273,9 @@ public class MpvClient
mpv_error err = mpv_command_ret(Handle, rootPtr, resultNodePtr); mpv_error err = mpv_command_ret(Handle, rootPtr, resultNodePtr);
foreach (IntPtr ptr in pointers) foreach (IntPtr ptr in pointers)
{
Marshal.FreeHGlobal(ptr); Marshal.FreeHGlobal(ptr);
}
Marshal.FreeHGlobal(rootPtr); Marshal.FreeHGlobal(rootPtr);
@@ -346,6 +374,9 @@ public class MpvClient
public string GetPropertyString(string name) public string GetPropertyString(string name)
{ {
if (Handle == IntPtr.Zero)
return "";
mpv_error err = mpv_get_property(Handle, GetUtf8Bytes(name), mpv_error err = mpv_get_property(Handle, GetUtf8Bytes(name),
mpv_format.MPV_FORMAT_STRING, out IntPtr lpBuffer); mpv_format.MPV_FORMAT_STRING, out IntPtr lpBuffer);
@@ -364,6 +395,12 @@ public class MpvClient
public void SetPropertyString(string name, string value) public void SetPropertyString(string name, string value)
{ {
if (Handle == IntPtr.Zero)
{
Terminal.WriteError($"error setting property: {name} = {value}");
return;
}
byte[] bytes = GetUtf8Bytes(value); byte[] bytes = GetUtf8Bytes(value);
mpv_error err = mpv_set_property(Handle, GetUtf8Bytes(name), mpv_format.MPV_FORMAT_STRING, ref bytes); mpv_error err = mpv_set_property(Handle, GetUtf8Bytes(name), mpv_format.MPV_FORMAT_STRING, ref bytes);
@@ -400,7 +437,7 @@ public class MpvClient
if (err < 0) if (err < 0)
HandleError(err, "error observing property: " + name); HandleError(err, "error observing property: " + name);
else else
IntPropChangeActions[name] = new List<Action<int>>(); IntPropChangeActions[name] = [];
} }
if (IntPropChangeActions.ContainsKey(name)) if (IntPropChangeActions.ContainsKey(name))
@@ -419,7 +456,7 @@ public class MpvClient
if (err < 0) if (err < 0)
HandleError(err, "error observing property: " + name); HandleError(err, "error observing property: " + name);
else else
DoublePropChangeActions[name] = new List<Action<double>>(); DoublePropChangeActions[name] = [];
} }
if (DoublePropChangeActions.ContainsKey(name)) if (DoublePropChangeActions.ContainsKey(name))
@@ -438,7 +475,7 @@ public class MpvClient
if (err < 0) if (err < 0)
HandleError(err, "error observing property: " + name); HandleError(err, "error observing property: " + name);
else else
BoolPropChangeActions[name] = new List<Action<bool>>(); BoolPropChangeActions[name] = [];
} }
if (BoolPropChangeActions.ContainsKey(name)) if (BoolPropChangeActions.ContainsKey(name))
@@ -457,7 +494,7 @@ public class MpvClient
if (err < 0) if (err < 0)
HandleError(err, "error observing property: " + name); HandleError(err, "error observing property: " + name);
else else
StringPropChangeActions[name] = new List<Action<string>>(); StringPropChangeActions[name] = [];
} }
if (StringPropChangeActions.ContainsKey(name)) if (StringPropChangeActions.ContainsKey(name))
@@ -476,7 +513,7 @@ public class MpvClient
if (err < 0) if (err < 0)
HandleError(err, "error observing property: " + name); HandleError(err, "error observing property: " + name);
else else
PropChangeActions[name] = new List<Action>(); PropChangeActions[name] = [];
} }
if (PropChangeActions.ContainsKey(name)) if (PropChangeActions.ContainsKey(name))

View File

@@ -1,10 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<AssemblyName>libmpvnet</AssemblyName> <AssemblyName>libmpvnet</AssemblyName>
<Product>mpv.net</Product>
<Nullable>enable</Nullable>
<RootNamespace>MpvNet</RootNamespace> <RootNamespace>MpvNet</RootNamespace>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup> </PropertyGroup>
@@ -20,8 +18,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /> <PackageReference Include="CommunityToolkit.Mvvm" />
<PackageReference Include="NGettext" Version="0.6.7" /> <PackageReference Include="NGettext" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -73,10 +73,12 @@ public class MainPlayer : MpvClient
MainHandle = mpv_create(); MainHandle = mpv_create();
Handle = MainHandle; Handle = MainHandle;
var events = Enum.GetValues(typeof(mpv_event_id)).Cast<mpv_event_id>(); var events = Enum.GetValues<mpv_event_id>().Cast<mpv_event_id>();
foreach (mpv_event_id i in events) foreach (mpv_event_id i in events)
{
mpv_request_event(MainHandle, i, 0); mpv_request_event(MainHandle, i, 0);
}
mpv_request_log_messages(MainHandle, "no"); mpv_request_log_messages(MainHandle, "no");
@@ -102,7 +104,10 @@ public class MainPlayer : MpvClient
SetPropertyBool("input-default-bindings", true); SetPropertyBool("input-default-bindings", true);
SetPropertyBool("input-builtin-bindings", false); SetPropertyBool("input-builtin-bindings", false);
SetPropertyBool("input-media-keys", true);
SetPropertyString("autocreate-playlist", "filter");
SetPropertyString("media-controls", "yes");
SetPropertyString("idle", "yes"); SetPropertyString("idle", "yes");
SetPropertyString("screenshot-directory", "~~desktop/"); SetPropertyString("screenshot-directory", "~~desktop/");
SetPropertyString("osd-playing-msg", "${media-title}"); SetPropertyString("osd-playing-msg", "${media-title}");
@@ -191,8 +196,10 @@ public class MainPlayer : MpvClient
mpv_destroy(Handle); mpv_destroy(Handle);
foreach (var client in Clients) foreach (var client in Clients)
{
mpv_destroy(client.Handle); mpv_destroy(client.Handle);
} }
}
public void ProcessProperty(string? name, string? value) public void ProcessProperty(string? name, string? value)
{ {
@@ -250,21 +257,8 @@ public class MainPlayer : MpvClient
if (!Directory.Exists(_configFolder)) if (!Directory.Exists(_configFolder))
_configFolder = Folder.AppData + "mpv.net"; _configFolder = Folder.AppData + "mpv.net";
if (!Directory.Exists(_configFolder))
{
try {
using Process proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.FileName = "powershell.exe";
proc.StartInfo.Arguments = $@"-Command New-Item -Path '{_configFolder}' -ItemType Directory";
proc.Start();
proc.WaitForExit();
} catch (Exception) {}
if (!Directory.Exists(_configFolder)) if (!Directory.Exists(_configFolder))
Directory.CreateDirectory(_configFolder); Directory.CreateDirectory(_configFolder);
}
_configFolder = _configFolder.AddSep(); _configFolder = _configFolder.AddSep();
} }
@@ -273,6 +267,8 @@ public class MainPlayer : MpvClient
} }
} }
private readonly Regex ConfRegex = new Regex("^[\\w-]+$", RegexOptions.Compiled);
Dictionary<string, string>? _Conf; Dictionary<string, string>? _Conf;
public Dictionary<string, string> Conf { public Dictionary<string, string> Conf {
@@ -283,7 +279,7 @@ public class MainPlayer : MpvClient
App.ApplyInputDefaultBindingsFix(); App.ApplyInputDefaultBindingsFix();
_Conf = new Dictionary<string, string>(); _Conf = [];
if (File.Exists(ConfPath)) if (File.Exists(ConfPath))
{ {
@@ -291,12 +287,12 @@ public class MainPlayer : MpvClient
{ {
string line = it.TrimStart(' ', '-').TrimEnd(); string line = it.TrimStart(' ', '-').TrimEnd();
if (line.StartsWith("#")) if (line.StartsWith('#'))
continue; continue;
if (!line.Contains('=')) if (!line.Contains('='))
{ {
if (Regex.Match(line, "^[\\w-]+$").Success) if (ConfRegex.Match(line).Success)
line += "=yes"; line += "=yes";
else else
continue; continue;
@@ -315,7 +311,9 @@ public class MainPlayer : MpvClient
} }
foreach (var i in _Conf) foreach (var i in _Conf)
{
ProcessProperty(i.Key, i.Value); ProcessProperty(i.Key, i.Value);
}
return _Conf; return _Conf;
} }
@@ -341,8 +339,10 @@ public class MainPlayer : MpvClient
public void MainEventLoop() public void MainEventLoop()
{ {
while (true) while (true)
{
mpv_wait_event(MainHandle, -1); mpv_wait_event(MainHandle, -1);
} }
}
protected override void OnShutdown() protected override void OnShutdown()
{ {
@@ -456,14 +456,6 @@ public class MainPlayer : MpvClient
LoadISO(file); LoadISO(file);
else if(FileTypes.Subtitle.Contains(ext)) else if(FileTypes.Subtitle.Contains(ext))
CommandV("sub-add", file); CommandV("sub-add", file);
else if (!FileTypes.IsMedia(ext) && !file.Contains("://") && Directory.Exists(file) &&
File.Exists(System.IO.Path.Combine(file, "BDMV\\index.bdmv")))
{
Command("stop");
Thread.Sleep(500);
SetPropertyString("bluray-device", file);
CommandV("loadfile", @"bd://");
}
else else
{ {
if (i == 0 && !append) if (i == 0 && !append)
@@ -497,14 +489,14 @@ public class MainPlayer : MpvClient
Command("stop"); Command("stop");
Thread.Sleep(500); Thread.Sleep(500);
SetPropertyString("dvd-device", path); SetPropertyString("dvd-device", path);
LoadFiles(new[] { @"dvd://" }, false, false); LoadFiles([@"dvd://"], false, false);
} }
else else
{ {
Command("stop"); Command("stop");
Thread.Sleep(500); Thread.Sleep(500);
SetPropertyString("bluray-device", path); SetPropertyString("bluray-device", path);
LoadFiles(new[] { @"bd://" }, false, false); LoadFiles([@"bd://"], false, false);
} }
} }
@@ -516,12 +508,12 @@ public class MainPlayer : MpvClient
if (Directory.Exists(path + "\\BDMV")) if (Directory.Exists(path + "\\BDMV"))
{ {
SetPropertyString("bluray-device", path); SetPropertyString("bluray-device", path);
LoadFiles(new[] { @"bd://" }, false, false); LoadFiles([@"bd://"], false, false);
} }
else else
{ {
SetPropertyString("dvd-device", path); SetPropertyString("dvd-device", path);
LoadFiles(new[] { @"dvd://" }, false, false); LoadFiles([@"dvd://"], false, false);
} }
} }
@@ -619,8 +611,10 @@ public class MainPlayer : MpvClient
static string GetNativeLanguage(string name) static string GetNativeLanguage(string name)
{ {
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.NeutralCultures)) foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
{
if (ci.EnglishName == name) if (ci.EnglishName == name)
return ci.NativeName; return ci.NativeName;
}
return name; return name;
} }
@@ -647,7 +641,7 @@ public class MainPlayer : MpvClient
if (_audioDevices != null) if (_audioDevices != null)
return _audioDevices; return _audioDevices;
_audioDevices = new(); _audioDevices = [];
string json = GetPropertyString("audio-device-list"); string json = GetPropertyString("audio-device-list");
var enumerator = JsonDocument.Parse(json).RootElement.EnumerateArray(); var enumerator = JsonDocument.Parse(json).RootElement.EnumerateArray();
@@ -698,6 +692,8 @@ public class MainPlayer : MpvClient
} }
} }
private readonly Regex TitleRegex = new Regex(@"^[\._\-]", RegexOptions.Compiled);
public List<MediaTrack> GetTracks(bool includeInternal = true, bool includeExternal = true) public List<MediaTrack> GetTracks(bool includeInternal = true, bool includeExternal = true)
{ {
List<MediaTrack> tracks = new List<MediaTrack>(); List<MediaTrack> tracks = new List<MediaTrack>();
@@ -715,7 +711,7 @@ public class MainPlayer : MpvClient
string filename = GetPropertyString($"filename/no-ext"); string filename = GetPropertyString($"filename/no-ext");
string title = GetPropertyString($"track-list/{i}/title").Replace(filename, ""); string title = GetPropertyString($"track-list/{i}/title").Replace(filename, "");
title = Regex.Replace(title, @"^[\._\-]", ""); title = TitleRegex.Replace(title, "");
if (type == "video") if (type == "video")
{ {
@@ -1061,7 +1057,7 @@ public class MainPlayer : MpvClient
if (_profileNames != null) if (_profileNames != null)
return _profileNames; return _profileNames;
string[] ignore = { "builtin-pseudo-gui", "encoding", "libmpv", "pseudo-gui", "default" }; string[] ignore = ["builtin-pseudo-gui", "encoding", "libmpv", "pseudo-gui", "default"];
string json = GetPropertyString("profile-list"); string json = GetPropertyString("profile-list");
return _profileNames = JsonDocument.Parse(json).RootElement.EnumerateArray() return _profileNames = JsonDocument.Parse(json).RootElement.EnumerateArray()
.Select(it => it.GetProperty("name").GetString()) .Select(it => it.GetProperty("name").GetString())

View File

@@ -1,16 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0-windows</TargetFramework> <TargetFramework>net10.0-windows7.0</TargetFramework>
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.77" /> <PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" />
<PackageReference Include="NGettext" Version="0.6.7" /> <PackageReference Include="NGettext" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -1,17 +1,22 @@
<# <#
Script that releases mpv.net on GitHub. Script that builds mpv.net and releases it on GitHub.
Please note that debug builds are built and released,
for release builds, scripts need to be rewritten.
Needs 2 positional CLI arguments: Needs 2 positional CLI arguments:
1. Directory where the mpv.net source code is located. 1. Directory where the mpv.net source code is located (mpv.net\src)
2. Directory of the output files, for instance the desktop dir. 2. Directory of the output files, for instance the desktop dir.
Dependencies: Dependencies:
7zip installation found at: 'C:\Program Files\7-Zip\7z.exe'. 7zip installation found at: 'C:\Program Files\7-Zip\7z.exe'.
Inno Setup compiler installation found at: 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe'. Inno Setup compiler installation found at: 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe'.
GitHub CLI https://cli.github.com GitHub CLI https://cli.github.com, the env var GH_TOKEN must be defined.
Notes:
Before you run the script you need to update the versions found in the file:
\mpv.net\src\MpvNet.Windows\MpvNet.Windows.csproj
#> #>
# Stop when the first error occurs # Stop when the first error occurs
@@ -40,7 +45,7 @@ Test (Join-Path $SourceDir 'MpvNet.sln')
$7zFile = Test 'C:\Program Files\7-Zip\7z.exe' $7zFile = Test 'C:\Program Files\7-Zip\7z.exe'
$InnoSetupCompiler = Test 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe' $InnoSetupCompiler = Test 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe'
$ReleaseNotes = "- [.NET Desktop Runtime 6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)`n- [Changelog](https://github.com/mpvnet-player/mpv.net/blob/main/docs/changelog.md)" $ReleaseNotes = "- [.NET Desktop Runtime 10.0](https://dotnet.microsoft.com/en-us/download/dotnet/10.0)`n- [Changelog](https://github.com/mpvnet-player/mpv.net/blob/main/docs/changelog.md)"
$Repo = 'github.com/mpvnet-player/mpv.net' $Repo = 'github.com/mpvnet-player/mpv.net'
# Dotnet Publish # Dotnet Publish

View File

@@ -4,8 +4,7 @@
Updates mpv (x64) and libmpv (x64 , ARM64). Updates mpv (x64) and libmpv (x64 , ARM64).
Files are downloaded from: Files are downloaded from:
x64: github.com/zhongfly/mpv-winbuild https://github.com/shinchiro/mpv-winbuild-cmake/releases
ARM64: github.com/Andarwinux/mpv-winbuild
Requires 7zip being installed at 'C:\Program Files\7-Zip\7z.exe'. Requires 7zip being installed at 'C:\Program Files\7-Zip\7z.exe'.
@@ -54,8 +53,8 @@ function Unpack($archieveFile, $outputRootDir) {
# Update mpv x64 # Update mpv x64
if (Test-Path (Join-Path $MpvDirX64 'mpv.exe')) { if (Test-Path (Join-Path $MpvDirX64 'mpv.exe')) {
$apiURL = "https://api.github.com/repos/zhongfly/mpv-winbuild/releases/latest" $apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
$archiveFile = Get-Item (Download $apiURL "mpv-x86_64-[0-9]{8}") $archiveFile = Get-Item (Download $apiURL "mpv-x86_64-[0-9]{8}-git-[0-9a-z]+\.7z")
$archiveDir = Unpack $archiveFile $env:TEMP $archiveDir = Unpack $archiveFile $env:TEMP
Remove-Item "$MpvDirX64\*" -Force -Recurse Remove-Item "$MpvDirX64\*" -Force -Recurse
Copy-Item "$archiveDir\*" $MpvDirX64 -Force -Recurse Copy-Item "$archiveDir\*" $MpvDirX64 -Force -Recurse
@@ -68,8 +67,8 @@ if (Test-Path (Join-Path $MpvDirX64 'mpv.exe')) {
# Update libmpv x64 # Update libmpv x64
if (Test-Path (Join-Path $LibmpvDirX64 'libmpv-2.dll')) { if (Test-Path (Join-Path $LibmpvDirX64 'libmpv-2.dll')) {
$apiURL = "https://api.github.com/repos/zhongfly/mpv-winbuild/releases/latest" $apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
$archiveFile = Get-Item (Download $apiURL "mpv-dev-x86_64-[0-9]{8}") $archiveFile = Get-Item (Download $apiURL "mpv-dev-x86_64-[0-9]{8}-git-[0-9a-z]+\.7z")
$archiveDir = Unpack $archiveFile $env:TEMP $archiveDir = Unpack $archiveFile $env:TEMP
Copy-Item $archiveDir\libmpv-2.dll $LibmpvDirX64 -Force Copy-Item $archiveDir\libmpv-2.dll $LibmpvDirX64 -Force
Remove-Item $archiveFile.FullName Remove-Item $archiveFile.FullName
@@ -81,8 +80,8 @@ if (Test-Path (Join-Path $LibmpvDirX64 'libmpv-2.dll')) {
# Update libmpv ARM64 # Update libmpv ARM64
if (Test-Path (Join-Path $LibmpvDirARM64 'libmpv-2.dll')) { if (Test-Path (Join-Path $LibmpvDirARM64 'libmpv-2.dll')) {
$apiURL = "https://api.github.com/repos/Andarwinux/mpv-winbuild/releases/latest" $apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
$archiveFile = Get-Item (Download $apiURL "mpv-dev-aarch64-[0-9]{8}") $archiveFile = Get-Item (Download $apiURL "mpv-dev-aarch64-[0-9]{8}-git-[0-9a-z]+\.7z")
$archiveDir = Unpack $archiveFile $env:TEMP $archiveDir = Unpack $archiveFile $env:TEMP
Copy-Item $archiveDir\libmpv-2.dll $LibmpvDirARM64 -Force Copy-Item $archiveDir\libmpv-2.dll $LibmpvDirARM64 -Force
Remove-Item $archiveFile.FullName Remove-Item $archiveFile.FullName