Compare commits
108 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef45baecbd | ||
|
|
30e75b2100 | ||
|
|
563472b489 | ||
|
|
724a9adab8 | ||
|
|
9686c28f6a | ||
|
|
03d0aeb879 | ||
|
|
96afc62165 | ||
|
|
fd3ea9afe9 | ||
|
|
853d38a427 | ||
|
|
76a2f64fa6 | ||
|
|
6c0e116918 | ||
|
|
c1abf90559 | ||
|
|
eb085a6534 | ||
|
|
78b85d59aa | ||
|
|
0f900e01fa | ||
|
|
f754d4d865 | ||
|
|
474c4e888d | ||
|
|
8f8ca453da | ||
|
|
8bd00fd2f1 | ||
|
|
61958aba2c | ||
|
|
3fa6f44828 | ||
|
|
31be72efb2 | ||
|
|
405c20f056 | ||
|
|
5f0fb4ebc3 | ||
|
|
c6a2b06fdf | ||
|
|
8f38eba23e | ||
|
|
79164aae72 | ||
|
|
e5d3ac0d92 | ||
|
|
f7c8c16344 | ||
|
|
b1fccbf175 | ||
|
|
cc1e4bc9f8 | ||
|
|
3812f3031c | ||
|
|
837f97d491 | ||
|
|
2dab825af4 | ||
|
|
a78c1ba50d | ||
|
|
50aea3b5ba | ||
|
|
6a971595f7 | ||
|
|
a1d944a9a0 | ||
|
|
8b49312bad | ||
|
|
95b279b0e9 | ||
|
|
01477d8b25 | ||
|
|
4e5182eb73 | ||
|
|
8d0b70a5dc | ||
|
|
37a241f136 | ||
|
|
ace7566c2a | ||
|
|
0b646cedb5 | ||
|
|
a0d2fb6a4e | ||
|
|
59a556794f | ||
|
|
cca474a5a5 | ||
|
|
ae05b997c7 | ||
|
|
88a6e18e78 | ||
|
|
3de72df806 | ||
|
|
da176085cd | ||
|
|
2b0ac7c087 | ||
|
|
94ecf4a069 | ||
|
|
9355e2f50c | ||
|
|
058ae3d185 | ||
|
|
3c1e6395a4 | ||
|
|
236d10c14a | ||
|
|
53f350da9a | ||
|
|
bb6819f240 | ||
|
|
8f53254dbc | ||
|
|
8ed73f6ae0 | ||
|
|
d59ccd7beb | ||
|
|
aeb11c9be1 | ||
|
|
a1c8e93034 | ||
|
|
00a11ea076 | ||
|
|
9115f707dc | ||
|
|
a2ec8de976 | ||
|
|
be7e5aa7d2 | ||
|
|
27124c9cdd | ||
|
|
44079ed69c | ||
|
|
07749cb2cc | ||
|
|
9d30acaba6 | ||
|
|
f3fdef780d | ||
|
|
1243d1381b | ||
|
|
3602f627e8 | ||
|
|
97fab64d32 | ||
|
|
e7b7f33b1b | ||
|
|
01c2171a62 | ||
|
|
321dc13531 | ||
|
|
4032e8be7b | ||
|
|
e52de1d1a7 | ||
|
|
7c38e823c1 | ||
|
|
e6defd3e55 | ||
|
|
3caf4f2cb3 | ||
|
|
3f897b12cf | ||
|
|
12d0126dd5 | ||
|
|
b218619b2b | ||
|
|
ae80076f36 | ||
|
|
ae9c69e469 | ||
|
|
cfd2919e88 | ||
|
|
985460d98e | ||
|
|
7596d988b9 | ||
|
|
50cad04b47 | ||
|
|
457d93b5c4 | ||
|
|
bb2af95344 | ||
|
|
34e76946f3 | ||
|
|
3f52c1255e | ||
|
|
924e32f027 | ||
|
|
2f735215e0 | ||
|
|
23ed1457d5 | ||
|
|
52214c1e15 | ||
|
|
09de4a5e05 | ||
|
|
69a6754483 | ||
|
|
078756600e | ||
|
|
5e2c7055d4 | ||
|
|
eb265be0a4 |
@@ -50,17 +50,17 @@ jobs:
|
|||||||
msbuild MpvNet.sln /m /p:Configuration=Debug
|
msbuild MpvNet.sln /m /p:Configuration=Debug
|
||||||
- name: Create .mo files for localization
|
- name: Create .mo files for localization
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: Install-Package Gettext.Tools -Force; .\lang\create-mo-files.ps1
|
run: Install-Package Gettext.Tools -Force; $env:Path = ((Get-Package Gettext.Tools).Source | Split-Path) + '\tools\bin;' + $env:Path; .\lang\create-mo-files.ps1
|
||||||
- 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-01-02-ab5b250/mpv-dev-x86_64-20240102-git-ab5b250.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
|
||||||
shell: msys2 {0}
|
shell: msys2 {0}
|
||||||
run: |
|
run: |
|
||||||
wget -nv -O MediaInfo.7z https://mediaarea.net/download/binary/libmediainfo0/23.11/MediaInfo_DLL_23.11_Windows_x64_WithoutInstaller.7z
|
wget -nv -O MediaInfo.7z https://mediaarea.net/download/binary/libmediainfo0/24.03/MediaInfo_DLL_24.03_Windows_x64_WithoutInstaller.7z
|
||||||
7z x -y MediaInfo.7z -oMediaInfo
|
7z x -y MediaInfo.7z -oMediaInfo
|
||||||
cp -f MediaInfo/MediaInfo.dll src/MpvNet.Windows/bin/Debug/ || true
|
cp -f MediaInfo/MediaInfo.dll src/MpvNet.Windows/bin/Debug/ || true
|
||||||
- name: Download mpvnet.com file
|
- name: Download mpvnet.com file
|
||||||
@@ -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/
|
||||||
32
README.md
@@ -6,7 +6,7 @@
|
|||||||
🎞 mpv.net
|
🎞 mpv.net
|
||||||
==========
|
==========
|
||||||
|
|
||||||
mpv.net is a media player for Windows that has a modern GUI.
|
mpv.net is a media player for Windows with a modern GUI.
|
||||||
|
|
||||||
The player is based on the popular [mpv](https://mpv.io) media player.
|
The player is based on the popular [mpv](https://mpv.io) media player.
|
||||||
mpv.net is designed to be mpv compatible, almost all mpv features are available,
|
mpv.net is designed to be mpv compatible, almost all mpv features are available,
|
||||||
@@ -56,6 +56,7 @@ Table of contents
|
|||||||
- [Download](#download)
|
- [Download](#download)
|
||||||
- [Manual](#manual)
|
- [Manual](#manual)
|
||||||
- [Screenshots](#screenshots)
|
- [Screenshots](#screenshots)
|
||||||
|
- [Contributing](#contributing)
|
||||||
|
|
||||||
|
|
||||||
Features that mpv and mpv.net have in common
|
Features that mpv and mpv.net have in common
|
||||||
@@ -66,7 +67,7 @@ Features that mpv and mpv.net have in common
|
|||||||
- JSON IPC to control the player with a external programs
|
- JSON IPC to control the player with a external programs
|
||||||
- On Screen Controller (OSC, play control buttons) with modern flat design
|
- On Screen Controller (OSC, play control buttons) with modern flat design
|
||||||
- Command Line Interface
|
- Command Line Interface
|
||||||
- Started from a terminal status, error and debug output is printed on the terminal
|
- Started from a terminal, status, error and debug output is printed on the terminal
|
||||||
- DXVA2 video decoding acceleration
|
- DXVA2 video decoding acceleration
|
||||||
- Video output capable of features loved by videophiles, such as video scaling with popular high quality algorithms, color management, frame timing, interpolation, HDR, and more
|
- Video output capable of features loved by videophiles, such as video scaling with popular high quality algorithms, color management, frame timing, interpolation, HDR, and more
|
||||||
- Browser extensions to start mpv.net from the browser
|
- Browser extensions to start mpv.net from the browser
|
||||||
@@ -85,14 +86,11 @@ Features exclusive to mpv.net
|
|||||||
|
|
||||||
- Very high degree of mpv compatibility, almost all mpv features are available
|
- Very high degree of mpv compatibility, almost all mpv features are available
|
||||||
- Modern graphical user interface with customizable color themes
|
- Modern graphical user interface with customizable color themes
|
||||||
- Customizable context menu defined in the same file as the key bindings
|
- Customizable context menu
|
||||||
- Searchable config editor
|
- Searchable config editor
|
||||||
- Searchable input (shorcut keys) editor
|
- Searchable input (shorcut keys) editor
|
||||||
- C# and PowerShell Scripting
|
|
||||||
- Global keyboard shortcuts
|
- Global keyboard shortcuts
|
||||||
- Extension API for .NET languages (C#, VB.NET and F#)
|
- Extension API for .NET languages (C#, VB.NET and F#)
|
||||||
- Portable, MS Store or WinGet download and installation
|
|
||||||
- File history feature to log time and filename
|
|
||||||
- Files can be enqueued from File Explorer
|
- Files can be enqueued from File Explorer
|
||||||
|
|
||||||
|
|
||||||
@@ -111,6 +109,11 @@ Features exclusive to mpv.net
|
|||||||
[The mpv.net documentation.](docs/manual.md)
|
[The mpv.net documentation.](docs/manual.md)
|
||||||
|
|
||||||
|
|
||||||
|
## [Contributing](docs/contributing.md)
|
||||||
|
|
||||||
|
[Contributing section of the manual.](docs/manual.md#contributing)
|
||||||
|
|
||||||
|
|
||||||
Screenshots
|
Screenshots
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
@@ -121,27 +124,24 @@ Screenshots
|
|||||||
|
|
||||||
#### Context Menu
|
#### Context Menu
|
||||||
|
|
||||||
Context menu using dark mode.
|

|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
#### Config Editor
|
#### Config Editor
|
||||||
|
|
||||||
Searchable config editor as alternative to edit the conf file manually.
|
Searchable config editor as alternative to edit the conf file manually.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
#### Terminal
|
#### Terminal
|
||||||
|
|
||||||
OSD console and status printed on the terminal.
|

|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
#### Input Editor
|
Other projects from me
|
||||||
|
----------------------
|
||||||
|
|
||||||
Searchable key and mouse binding editor.
|
A list of my other projects can be found here:
|
||||||
|
|
||||||

|
https://stax76.github.io/software-list
|
||||||
@@ -1,5 +1,103 @@
|
|||||||
|
|
||||||
# v7.1.0.0 Beta (2023-01-12)
|
- The Japanese translation was updated. Thanks to the translators!
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
|
||||||
|
- Korean, Russian and Turkish translation added, Japanese translation fixed. Thanks to the translation team!
|
||||||
|
- Action/Workflow/Auto build fix and update.
|
||||||
|
- New default bindings and menu items for select.lua which is a new simple mpv built-in command palette script.
|
||||||
|
In the context menu select.lua features can be found under `View > On Screen Menu`.
|
||||||
|
https://github.com/mpv-player/mpv/blob/master/player/lua/select.lua
|
||||||
|
- New PowerShell script 'Tools\release-mpv.net.ps1' used to releases mpv.net on GitHub.
|
||||||
|
- Fix DVD ISO file support.
|
||||||
|
- MediaInfo updated to version v24.6.
|
||||||
|
- New ARM64 support.
|
||||||
|
- New zhongfly libmpv x64 build.
|
||||||
|
- New Andarwinux libmpv ARM64 build.
|
||||||
|
|
||||||
|
|
||||||
|
# v7.1.1.0 (2024-02-03)
|
||||||
|
|
||||||
|
- Chinese and Japanese translation updated. Thanks to the translation team!
|
||||||
|
- Fix command line arguments being ignored in some situations.
|
||||||
|
|
||||||
|
|
||||||
|
# v7.1.0.0 (2024-01-12)
|
||||||
|
|
||||||
- The menu item that shows profiles was moved into the menu item that lists profiles.
|
- The menu item that shows profiles was moved into the menu item that lists profiles.
|
||||||
- Fix geometry not working when used from mpv.conf and the conf editor.
|
- Fix geometry not working when used from mpv.conf and the conf editor.
|
||||||
@@ -11,7 +109,7 @@
|
|||||||
- New zhongfly libmpv build.
|
- New zhongfly libmpv build.
|
||||||
|
|
||||||
|
|
||||||
# v7.0.0.6 Beta (2023-01-02)
|
# v7.0.0.6 Beta (2024-01-02)
|
||||||
|
|
||||||
- Improved backward compatibility with input.conf files created by old versions.
|
- Improved backward compatibility with input.conf files created by old versions.
|
||||||
|
|
||||||
@@ -1076,4 +1174,4 @@ stable release, no changes since the last beta
|
|||||||
|
|
||||||
- new feature added to manage file associations from within the app. It can be found in the menu at: Tools > Manage... [Default Binding](https://github.com/mpvnet-player/mpv.net/blob/main/mpv.net/Resources/input.conf.txt#L149)
|
- new feature added to manage file associations from within the app. It can be found in the menu at: Tools > Manage... [Default Binding](https://github.com/mpvnet-player/mpv.net/blob/main/mpv.net/Resources/input.conf.txt#L149)
|
||||||
- new zip download option added
|
- new zip download option added
|
||||||
- new x86 download option added
|
- new x86 download option added
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 272 KiB |
BIN
docs/img/ConfEditor.webp
Normal file
|
After Width: | Height: | Size: 243 KiB |
|
Before Width: | Height: | Size: 251 KiB |
|
Before Width: | Height: | Size: 442 KiB After Width: | Height: | Size: 429 KiB |
|
Before Width: | Height: | Size: 536 KiB |
BIN
docs/img/Menu.webp
Normal file
|
After Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 355 KiB |
BIN
docs/img/Terminal.webp
Normal file
|
After Width: | Height: | Size: 139 KiB |
833
docs/manual.md
@@ -4,28 +4,13 @@ $ErrorActionPreference = 'Stop'
|
|||||||
$PoFiles = Get-ChildItem $PSScriptRoot/po
|
$PoFiles = Get-ChildItem $PSScriptRoot/po
|
||||||
$ExeFolder = "$PSScriptRoot/../src/MpvNet.Windows/bin/Debug"
|
$ExeFolder = "$PSScriptRoot/../src/MpvNet.Windows/bin/Debug"
|
||||||
|
|
||||||
function CreateFolder
|
|
||||||
{
|
|
||||||
param($path)
|
|
||||||
|
|
||||||
if (-not (Test-Path $path))
|
|
||||||
{
|
|
||||||
mkdir $path
|
|
||||||
}
|
|
||||||
|
|
||||||
if (-not (Test-Path $path))
|
|
||||||
{
|
|
||||||
throw
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($it in $PoFiles)
|
foreach ($it in $PoFiles)
|
||||||
{
|
{
|
||||||
$folder = "$ExeFolder/Locale/$($it.BaseName)/LC_MESSAGES"
|
$folder = "$ExeFolder/Locale/$($it.BaseName)/LC_MESSAGES"
|
||||||
|
|
||||||
if (-not (Test-Path $folder))
|
if (-not (Test-Path $folder))
|
||||||
{
|
{
|
||||||
New-Item -ItemType Directory -Path $folder
|
New-Item -ItemType Directory -Path $folder | Out-Null
|
||||||
}
|
}
|
||||||
|
|
||||||
$moPath = "$folder/mpvnet.mo"
|
$moPath = "$folder/mpvnet.mo"
|
||||||
|
|||||||
@@ -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
613
lang/po/de.po
@@ -4,16 +4,16 @@
|
|||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# Frank Skare, 2024
|
# Frank Skare, 2025
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
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-01-04 02:51+0100\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: Frank Skare, 2024\n"
|
"Last-Translator: Frank Skare, 2025\n"
|
||||||
"Language-Team: German (https://app.transifex.com/stax76/teams/179964/de/)\n"
|
"Language-Team: German (https://app.transifex.com/stax76/teams/179964/de/)\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"
|
||||||
@@ -65,13 +65,13 @@ msgid "Add files/URLs to playlist from clipboard"
|
|||||||
msgstr "Dateien/URLs zur Wiedergabeliste aus der Zwischenablage hinzufügen"
|
msgstr "Dateien/URLs zur Wiedergabeliste aus der Zwischenablage hinzufügen"
|
||||||
|
|
||||||
#: 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:379
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:372
|
||||||
msgid "Recent Files"
|
msgid "Recent Files"
|
||||||
msgstr "Zuletzt geöffnete Dateien"
|
msgstr "Zuletzt geöffnete Dateien"
|
||||||
|
|
||||||
#: 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:187
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:233
|
||||||
msgid "Exit"
|
msgid "Exit"
|
||||||
msgstr "Beenden"
|
msgstr "Beenden"
|
||||||
|
|
||||||
@@ -81,15 +81,15 @@ msgid "Playback"
|
|||||||
msgstr "Wiedergabe"
|
msgstr "Wiedergabe"
|
||||||
|
|
||||||
#: 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:189
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
|
||||||
msgid "Play/Pause"
|
msgid "Play/Pause"
|
||||||
msgstr "Wiedergabe/Pause"
|
msgstr "Wiedergabe/Pause"
|
||||||
|
|
||||||
#: 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:193
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Stopp"
|
msgstr "Stopp"
|
||||||
|
|
||||||
@@ -120,16 +120,16 @@ msgid "Navigate"
|
|||||||
msgstr "Navigieren"
|
msgstr "Navigieren"
|
||||||
|
|
||||||
#: 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:200
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
|
||||||
msgid "Previous File"
|
msgid "Previous File"
|
||||||
msgstr "Vorherige Datei"
|
msgstr "Vorherige Datei"
|
||||||
|
|
||||||
#: 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:201
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
|
||||||
msgid "Next File"
|
msgid "Next File"
|
||||||
msgstr "Nächste Datei"
|
msgstr "Nächste Datei"
|
||||||
|
|
||||||
@@ -182,12 +182,12 @@ msgid "Jump 5 min backward"
|
|||||||
msgstr "5 Minuten rückwärts springen"
|
msgstr "5 Minuten rückwärts springen"
|
||||||
|
|
||||||
#: 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:398
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:393
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titel"
|
msgstr "Titel"
|
||||||
|
|
||||||
#: 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:358
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:351
|
||||||
msgid "Chapter"
|
msgid "Chapter"
|
||||||
msgstr "Kapitel"
|
msgstr "Kapitel"
|
||||||
|
|
||||||
@@ -327,7 +327,7 @@ msgid "Audio"
|
|||||||
msgstr "Audio"
|
msgstr "Audio"
|
||||||
|
|
||||||
#: 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:446
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:453
|
||||||
msgid "Audio Device"
|
msgid "Audio Device"
|
||||||
msgstr "Audiogerät"
|
msgstr "Audiogerät"
|
||||||
|
|
||||||
@@ -375,15 +375,14 @@ msgid "Increase Font Size"
|
|||||||
msgstr "Schriftgröße erhöhen"
|
msgstr "Schriftgröße erhöhen"
|
||||||
|
|
||||||
#: 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:127
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
|
||||||
msgid "More"
|
msgid "More"
|
||||||
msgstr "Mehr"
|
msgstr "Mehr"
|
||||||
|
|
||||||
@@ -392,7 +391,7 @@ msgid "Toggle overriding SSA/ASS styles with normal styles"
|
|||||||
msgstr "Überschreiben von SSA/ASS-Stilen mit normalen Stilen umschalten"
|
msgstr "Überschreiben von SSA/ASS-Stilen mit normalen Stilen umschalten"
|
||||||
|
|
||||||
#: 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:296
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:289
|
||||||
msgid "Track"
|
msgid "Track"
|
||||||
msgstr "Spur"
|
msgstr "Spur"
|
||||||
|
|
||||||
@@ -404,12 +403,12 @@ msgid "Volume"
|
|||||||
msgstr "Lautstärke"
|
msgstr "Lautstärke"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
msgctxt "Volume"
|
||||||
msgid "Up"
|
msgid "Up"
|
||||||
msgstr "Hoch"
|
msgstr "Hoch"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
msgctxt "Volume"
|
||||||
msgid "Down"
|
msgid "Down"
|
||||||
msgstr "Runter"
|
msgstr "Runter"
|
||||||
|
|
||||||
@@ -459,164 +458,169 @@ msgstr "Doppelt"
|
|||||||
#: 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: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 "Ansicht"
|
msgstr "Ansicht"
|
||||||
|
|
||||||
#: 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
|
||||||
msgstr "Wiedergabeliste anzeigen"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:234
|
||||||
|
msgid "Playlist"
|
||||||
|
msgstr "Wiedergabeliste"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
||||||
msgid "Show Profiles"
|
|
||||||
msgstr "Profile anzeigen"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
|
|
||||||
msgid "Toggle Statistics"
|
msgid "Toggle Statistics"
|
||||||
msgstr "Statistiken umschalten"
|
msgstr "Statistiken umschalten"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
|
||||||
msgid "Toggle OSC Visibility"
|
msgid "Toggle OSC Visibility"
|
||||||
msgstr "Bildschirmschaltflächen-Sichtbarkeit umschalten"
|
msgstr "Bildschirmschaltflächen-Sichtbarkeit umschalten"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
|
||||||
|
msgid "Media Info On-Screen"
|
||||||
|
msgstr "Media Info Bildschirm"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:124
|
||||||
msgid "Show Media Info On-Screen"
|
msgid "Media Info Message Box"
|
||||||
msgstr "Medieninformationen auf dem Bildschirm anzeigen"
|
msgstr "Media Info Message Box"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125
|
||||||
msgid "Show Media Info Message Box"
|
msgid "Progress"
|
||||||
msgstr "Medieninformation in Nachrichtenbox anzeigen"
|
msgstr "Fortschritt"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:126
|
||||||
msgid "Show Progress"
|
|
||||||
msgstr "Fortschritt anzeigen"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
||||||
msgid "Show Console"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
||||||
msgstr "Konsole anzeigen"
|
#: 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 "Bildschirmmenü"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
||||||
msgid "Show Audio Devices"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:246
|
||||||
msgstr "Audio-Geräte anzeigen"
|
msgid "Bindings"
|
||||||
|
msgstr "Tastaturkurzbefehle"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
||||||
msgid "Show Commands"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:247
|
||||||
msgstr "Befehle anzeigen"
|
msgid "Properties"
|
||||||
|
msgstr "Eigenschaften"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
||||||
msgid "Show Bindings"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:240
|
||||||
msgstr "Tastenkombinationen anzeigen"
|
msgid "Chapters"
|
||||||
|
msgstr "Kapitel"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
||||||
msgid "Show Properties"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:239
|
||||||
msgstr "Eigenschaften anzeigen"
|
msgid "Tracks"
|
||||||
|
msgstr "Spuren"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
||||||
msgid "Show Keys"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:237
|
||||||
msgstr "Tastenkombinationen anzeigen"
|
msgid "Audio Tracks"
|
||||||
|
msgstr "Audiospuren"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
||||||
msgid "Show Protocols"
|
msgid "Subtitle Tracks"
|
||||||
msgstr "Protokolle anzeigen"
|
msgstr "Untertitelspuren"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
||||||
msgid "Show Decoders"
|
msgid "Secondary Subtitle"
|
||||||
msgstr "Decoder anzeigen"
|
msgstr "Sekundärer Untertitel"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
||||||
msgid "Show Demuxers"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:238
|
||||||
msgstr "Demuxer anzeigen"
|
msgid "Video Tracks"
|
||||||
|
msgstr "Videospuren"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:241
|
||||||
|
msgid "Editions"
|
||||||
|
msgstr "Editionen"
|
||||||
|
|
||||||
#: 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 "Untertitellinien"
|
||||||
|
|
||||||
#: 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 "Audiogeräte"
|
||||||
|
|
||||||
#: 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:244
|
||||||
|
msgid "Watch History"
|
||||||
|
msgstr "Anschauverlauf"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
|
#: 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:245
|
||||||
|
msgid "Watch Later"
|
||||||
|
msgstr "Später Anschauen"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||||
|
msgid "Console"
|
||||||
|
msgstr "Konsole"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||||
|
msgid "Commands"
|
||||||
|
msgstr "Befehle"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||||
|
msgid "Active Bindings In Text Editor"
|
||||||
|
msgstr "Aktive Tastaturkombinationen Im Texteditor"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
||||||
|
msgid "Active Bindings On-Screen"
|
||||||
|
msgstr "Aktive Tastaturkombinationen Auf Bildschirm"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||||
|
msgid "Keys"
|
||||||
|
msgstr "Tastaturkombinationen"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||||
|
msgid "Protocols"
|
||||||
|
msgstr "Protokolle"
|
||||||
|
|
||||||
#: 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 "Decoders"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
msgstr "Dekoder"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
|
||||||
msgid "Window"
|
|
||||||
msgstr "Fenster"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
|
|
||||||
msgid "Fullscreen"
|
|
||||||
msgstr "Vollbild"
|
|
||||||
|
|
||||||
#: 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
|
|
||||||
msgid "Zoom"
|
|
||||||
msgstr "Zoom"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
|
|
||||||
msgid "Enlarge"
|
|
||||||
msgstr "Vergrößern"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
|
|
||||||
msgid "Shrink"
|
|
||||||
msgstr "Verkleinern"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
|
|
||||||
msgid "50 %"
|
|
||||||
msgstr "50 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
|
||||||
msgid "100 %"
|
|
||||||
msgstr "100 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
|
||||||
msgid "200 %"
|
|
||||||
msgstr "200 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
|
||||||
msgid "300 %"
|
|
||||||
msgstr "300 %"
|
|
||||||
|
|
||||||
#: 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 "Move"
|
|
||||||
msgstr "Verschieben"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
|
||||||
msgid "Left"
|
|
||||||
msgstr "Links"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
|
||||||
msgid "Right"
|
|
||||||
msgstr "Rechts"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||||
msgid "Center"
|
msgid "Demuxers"
|
||||||
msgstr "Mitte"
|
msgstr "Demuxer"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
|
||||||
msgid "Toggle Border"
|
|
||||||
msgstr "Rahmen umschalten"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||||
msgid "Toggle On Top"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
|
||||||
msgstr "Fenster im Vordergrund umschalten"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:427
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
|
||||||
msgid "Profile"
|
|
||||||
msgstr "Profil"
|
|
||||||
|
|
||||||
#: 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
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||||
@@ -628,239 +632,344 @@ msgstr "Profil"
|
|||||||
#: 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
|
msgstr "Fenster"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Settings"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||||
msgstr "Einstellungen"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:221
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:222
|
||||||
|
msgid "Fullscreen"
|
||||||
|
msgstr "Vollbild"
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
msgid "Zoom"
|
||||||
|
msgstr "Zoom"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
|
||||||
|
msgid "Enlarge"
|
||||||
|
msgstr "Vergrößern"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
||||||
|
msgid "Shrink"
|
||||||
|
msgstr "Verkleinern"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
||||||
msgid "Show Config Editor"
|
msgid "50 %"
|
||||||
msgstr "Konfigurationseditor anzeigen"
|
msgstr "50 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
||||||
msgid "Show Input Editor"
|
msgid "100 %"
|
||||||
msgstr "Tastenkombinationeneditor anzeigen"
|
msgstr "100 %"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||||
|
msgid "200 %"
|
||||||
|
msgstr "200 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
||||||
msgid "Edit mpv.conf"
|
msgid "300 %"
|
||||||
msgstr "mpv.conf bearbeiten"
|
msgstr "300 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
||||||
msgid "Edit input.conf"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||||
msgstr "input.conf bearbeiten"
|
#: 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 "Verschieben"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
||||||
|
msgctxt "Move"
|
||||||
|
msgid "Left"
|
||||||
|
msgstr "Links"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||||
|
msgctxt "Move"
|
||||||
|
msgid "Right"
|
||||||
|
msgstr "Rechts"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
|
||||||
msgid "Open Config Folder"
|
msgctxt "Move"
|
||||||
msgstr "Konfigurationsordner öffnen"
|
msgid "Up"
|
||||||
|
msgstr "Hoch"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
msgctxt "Move"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
msgid "Down"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
msgstr "Runter"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Setup"
|
|
||||||
msgstr "Einrichten"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
|
||||||
msgid "Register video file associations"
|
|
||||||
msgstr "Video-Dateizuordnungen registrieren"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
||||||
msgid "Register audio file associations"
|
msgctxt "Move"
|
||||||
msgstr "Audio-Dateizuordnungen registrieren"
|
msgid "Center"
|
||||||
|
msgstr "Mitte"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
||||||
msgid "Register image file associations"
|
msgid "Toggle Border"
|
||||||
msgstr "Bild-Dateizuordnungen registrieren"
|
msgstr "Rahmen umschalten"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
||||||
msgid "Unregister file associations"
|
msgid "Toggle On Top"
|
||||||
msgstr "Dateizuordnungen entfernen"
|
msgstr "Fenster im Vordergrund umschalten"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
||||||
msgid "Add mpv.net to Path environment variable"
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:426
|
||||||
msgstr "mpv.net zur Umgebungsvariable Path hinzufügen"
|
msgid "Profile"
|
||||||
|
msgstr "Profil"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Remove mpv.net from Path environment variable"
|
|
||||||
msgstr "mpv.net aus der Umgebungsvariablen 'Path' entfernen"
|
|
||||||
|
|
||||||
|
#: 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:170
|
||||||
#: 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
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
||||||
msgid "Tools"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
|
||||||
msgstr "Werkzeuge"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
|
|
||||||
msgid "Set/clear A-B loop points"
|
|
||||||
msgstr "Setzen/Löschen von A-B Schleifenpunkten"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
|
|
||||||
msgid "Toggle infinite file looping"
|
|
||||||
msgstr "Unendliche Dateischleife umschalten"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
|
|
||||||
msgid "Shuffle Playlist"
|
|
||||||
msgstr "Wiedergabeliste mischen"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
|
||||||
msgid "Toggle Hardware Decoding"
|
|
||||||
msgstr "Hardware-Decodierung umschalten"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
|
||||||
msgid "Exit Watch Later"
|
|
||||||
msgstr "Beenden und später anschauen"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:466
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||||
msgid "Custom"
|
|
||||||
msgstr "Benutzerdefiniert"
|
|
||||||
|
|
||||||
#: 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"
|
||||||
|
msgstr "Konfiguration"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:169
|
||||||
|
msgid "Show Config Editor"
|
||||||
|
msgstr "Konfigurationseditor anzeigen"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
|
||||||
|
msgid "Show Input Editor"
|
||||||
|
msgstr "Tastenkombinationeneditor anzeigen"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
|
||||||
|
msgid "Edit mpv.conf"
|
||||||
|
msgstr "mpv.conf bearbeiten"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
||||||
|
msgid "Edit input.conf"
|
||||||
|
msgstr "input.conf bearbeiten"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
|
||||||
|
msgid "Open Config Folder"
|
||||||
|
msgstr "Konfigurationsordner öffnen"
|
||||||
|
|
||||||
|
#: 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 "Einrichten"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
||||||
|
msgid "Register video file associations"
|
||||||
|
msgstr "Video-Dateizuordnungen registrieren"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||||
|
msgid "Register audio file associations"
|
||||||
|
msgstr "Audio-Dateizuordnungen registrieren"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
|
||||||
|
msgid "Register image file associations"
|
||||||
|
msgstr "Bild-Dateizuordnungen registrieren"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
||||||
|
msgid "Unregister file associations"
|
||||||
|
msgstr "Dateizuordnungen entfernen"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
|
||||||
|
msgid "Add mpv.net to Path environment variable"
|
||||||
|
msgstr "mpv.net zur Umgebungsvariable Path hinzufügen"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
|
||||||
|
msgid "Remove mpv.net from Path environment variable"
|
||||||
|
msgstr "mpv.net aus der Umgebungsvariablen 'Path' entfernen"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
#: 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 "Werkzeuge"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
|
||||||
|
msgid "Set/clear A-B loop points"
|
||||||
|
msgstr "Setzen/Löschen von A-B Schleifenpunkten"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
||||||
|
msgid "Toggle infinite file looping"
|
||||||
|
msgstr "Unendliche Dateischleife umschalten"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186
|
||||||
|
msgid "Shuffle Playlist"
|
||||||
|
msgstr "Wiedergabeliste mischen"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
|
||||||
|
msgid "Toggle Hardware Decoding"
|
||||||
|
msgstr "Hardware-Decodierung umschalten"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
|
||||||
|
msgid "Exit Watch Later"
|
||||||
|
msgstr "Beenden und später anschauen"
|
||||||
|
|
||||||
|
#: 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 "Benutzerdefiniert"
|
||||||
|
|
||||||
|
#: 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"
|
msgid "Help"
|
||||||
msgstr "Hilfe"
|
msgstr "Hilfe"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
|
||||||
msgid "Website mpv"
|
msgid "Website mpv"
|
||||||
msgstr "Webseite mpv"
|
msgstr "Webseite mpv"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
|
||||||
msgid "Website mpv.net"
|
msgid "Website mpv.net"
|
||||||
msgstr "Webseite mpv.net"
|
msgstr "Webseite mpv.net"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
|
||||||
msgid "Manual mpv"
|
msgid "Manual mpv"
|
||||||
msgstr "Handbuch mpv"
|
msgstr "Handbuch mpv"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
|
||||||
msgid "Manual mpv.net"
|
msgid "Manual mpv.net"
|
||||||
msgstr "Handbuch mpv.net"
|
msgstr "Handbuch mpv.net"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
||||||
msgid "awesome-mpv"
|
msgid "awesome-mpv"
|
||||||
msgstr "awesome-mpv"
|
msgstr "awesome-mpv"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
|
||||||
msgid "About mpv.net"
|
msgid "About mpv.net"
|
||||||
msgstr "Über mpv.net"
|
msgstr "Über mpv.net"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
||||||
msgid "Show Menu"
|
msgid "Show Menu"
|
||||||
msgstr "Menü anzeigen"
|
msgstr "Menü anzeigen"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
|
||||||
msgid "Forward"
|
msgid "Forward"
|
||||||
msgstr "Vorwärts"
|
msgstr "Vorwärts"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
|
||||||
msgid "Backward"
|
msgid "Backward"
|
||||||
msgstr "Rückwärts"
|
msgstr "Rückwärts"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
||||||
msgid "Volume Up"
|
msgid "Volume Up"
|
||||||
msgstr "Lautstärke erhöhen"
|
msgstr "Lautstärke erhöhen"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213
|
||||||
msgid "Volume Down"
|
msgid "Volume Down"
|
||||||
msgstr "Lautstärke verringern"
|
msgstr "Lautstärke verringern"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:220
|
||||||
msgid "Ignore left mouse butten"
|
msgid "Ignore left mouse butten"
|
||||||
msgstr "Ignoriere die linke Maustaste"
|
msgstr "Ignoriere die linke Maustaste"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:223
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:225
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:231
|
||||||
msgid "Seek Forward"
|
msgid "Seek Forward"
|
||||||
msgstr "Suchen vorwärts"
|
msgstr "Suchen vorwärts"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:224
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:226
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:232
|
||||||
msgid "Seek Backward"
|
msgid "Seek Backward"
|
||||||
msgstr "Suchen rückwärts"
|
msgstr "Suchen rückwärts"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:227
|
||||||
msgid "Undo previous (or marked) seek"
|
msgid "Undo previous (or marked) seek"
|
||||||
msgstr "Rückgängig machen vorherige (oder markierte) Suche"
|
msgstr "Rückgängig machen vorherige (oder markierte) Suche"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:228
|
||||||
msgid "Mark position for revert-seek"
|
msgid "Mark position for revert-seek"
|
||||||
msgstr "Markieren der Position für die Rückwärtssuche"
|
msgstr "Markieren der Position für die Rückwärtssuche"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:229
|
||||||
msgid "Seek to previous subtitle"
|
msgid "Seek to previous subtitle"
|
||||||
msgstr "Zum vorherigen Untertitel springen"
|
msgstr "Zum vorherigen Untertitel springen"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:230
|
||||||
msgid "Seek to next subtitle"
|
msgid "Seek to next subtitle"
|
||||||
msgstr "Zum nächsten Untertitel springen"
|
msgstr "Zum nächsten Untertitel springen"
|
||||||
|
|
||||||
#: 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 "Untertitel"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:236
|
||||||
|
msgid "Secondary Subtitles"
|
||||||
|
msgstr "Zweite Untertitel"
|
||||||
|
|
||||||
|
#: 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 "Dateien/URLs wurden zur Wiedergabeliste hinzugefügt"
|
msgstr "Dateien/URLs wurden zur Wiedergabeliste hinzugefügt"
|
||||||
|
|
||||||
#: 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 "Die Zwischenablage enthält keine gültige URL oder Datei."
|
msgstr "Die Zwischenablage enthält keine gültige URL oder Datei."
|
||||||
|
|
||||||
#: 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 ""
|
||||||
"Datei-Explorer-Symbole werden nach dem Neustart des Prozesses aktualisiert."
|
"Datei-Explorer-Symbole werden nach dem Neustart des Prozesses aktualisiert."
|
||||||
|
|
||||||
#: 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 "Dateizuordnungen wurden erfolgreich entfernt."
|
msgstr "Dateizuordnungen wurden erfolgreich entfernt."
|
||||||
|
|
||||||
#: 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 "Dateizuordnungen wurden erfolgreich erstellt."
|
msgstr "Dateizuordnungen wurden erfolgreich erstellt."
|
||||||
|
|
||||||
#: 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 "Fehler beim Erstellen von Dateizuordnungen."
|
msgstr "Fehler beim Erstellen von Dateizuordnungen."
|
||||||
|
|
||||||
#: 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 ist bereits in der 'Path' Umgebungsvariable enthalten."
|
msgstr "mpv.net ist bereits in der 'Path' Umgebungsvariable enthalten."
|
||||||
|
|
||||||
#: 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 wurde erfolgreich zur 'Path' Umgebungsvariable hinzugefügt."
|
msgstr "mpv.net wurde erfolgreich zur 'Path' Umgebungsvariable hinzugefügt."
|
||||||
|
|
||||||
#: 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 wurde nicht in der 'Path' Umgebungsvariable gefunden."
|
msgstr "mpv.net wurde nicht in der 'Path' Umgebungsvariable gefunden."
|
||||||
|
|
||||||
#: 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 wurde erfolgreich aus der 'Path' Umgebungsvariable entfernt."
|
msgstr "mpv.net wurde erfolgreich aus der 'Path' Umgebungsvariable entfernt."
|
||||||
|
|
||||||
#: 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 "Diese Funktion wurde entfernt, aber es gibt Benutzerskripte:"
|
msgstr "Diese Funktion wurde entfernt, aber es gibt Benutzerskripte:"
|
||||||
|
|
||||||
#: 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 "Diese Funktion wurde entfernt."
|
msgstr "Diese Funktion wurde entfernt."
|
||||||
|
|
||||||
@@ -872,7 +981,15 @@ msgstr "editor_conf"
|
|||||||
msgid "theme"
|
msgid "theme"
|
||||||
msgstr "theme"
|
msgstr "theme"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1398
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:388
|
||||||
|
msgid "Clear List"
|
||||||
|
msgstr "Liste löschen"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:448
|
||||||
|
msgid "Show Profiles"
|
||||||
|
msgstr "Profile anzeigen"
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
"Shutdown-Thread konnte nicht innerhalb von 10 Sekunden abgeschlossen werden."
|
"Shutdown-Thread konnte nicht innerhalb von 10 Sekunden abgeschlossen werden."
|
||||||
|
|||||||
1028
lang/po/fr.po
Normal file
687
lang/po/ja.po
@@ -4,16 +4,16 @@
|
|||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# ever_green, 2024
|
# ever_green, 2025
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
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-01-04 02:51+0100\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: ever_green, 2024\n"
|
"Last-Translator: ever_green, 2025\n"
|
||||||
"Language-Team: Japanese (https://app.transifex.com/stax76/teams/179964/ja/)\n"
|
"Language-Team: Japanese (https://app.transifex.com/stax76/teams/179964/ja/)\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"
|
||||||
@@ -58,20 +58,20 @@ msgstr "外部字幕ファイルを追加..."
|
|||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:19
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:19
|
||||||
msgid "Add files to playlist..."
|
msgid "Add files to playlist..."
|
||||||
msgstr "プレイリストにファイルを追加..."
|
msgstr "プレイリストへファイルを追加..."
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:20
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:20
|
||||||
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:22
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:22
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:379
|
#: 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:187
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:233
|
||||||
msgid "Exit"
|
msgid "Exit"
|
||||||
msgstr "終了"
|
msgstr "終了"
|
||||||
|
|
||||||
@@ -81,15 +81,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:189
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
|
#: 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:193
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "停止"
|
msgstr "停止"
|
||||||
|
|
||||||
@@ -120,16 +120,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:200
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
#: 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:201
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
|
||||||
msgid "Next File"
|
msgid "Next File"
|
||||||
msgstr "次のファイル"
|
msgstr "次のファイル"
|
||||||
|
|
||||||
@@ -151,43 +151,43 @@ msgstr "前のチャプター"
|
|||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:38
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:38
|
||||||
msgid "Jump To Next Frame"
|
msgid "Jump To Next Frame"
|
||||||
msgstr "次のフレームにジャンプ"
|
msgstr "次のフレームへ進む"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:39
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:39
|
||||||
msgid "Jump To Previous Frame"
|
msgid "Jump To Previous Frame"
|
||||||
msgstr "前のフレームにジャンプ"
|
msgstr "前のフレームへ戻る"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:41
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:41
|
||||||
msgid "Jump 5 sec forward"
|
msgid "Jump 5 sec forward"
|
||||||
msgstr "5 秒前方にジャンプ"
|
msgstr "5 秒進む"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:42
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:42
|
||||||
msgid "Jump 5 sec backward"
|
msgid "Jump 5 sec backward"
|
||||||
msgstr "5 秒後方にジャンプ"
|
msgstr "5 秒戻る"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:44
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:44
|
||||||
msgid "Jump 30 sec forward"
|
msgid "Jump 30 sec forward"
|
||||||
msgstr "30 秒前方にジャンプ"
|
msgstr "30 秒進む"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:45
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:45
|
||||||
msgid "Jump 30 sec backward"
|
msgid "Jump 30 sec backward"
|
||||||
msgstr "30 秒後方にジャンプ"
|
msgstr "30 秒戻る"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:47
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:47
|
||||||
msgid "Jump 5 min forward"
|
msgid "Jump 5 min forward"
|
||||||
msgstr "5 分前方にジャンプ"
|
msgstr "5 分進む"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:48
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:48
|
||||||
msgid "Jump 5 min backward"
|
msgid "Jump 5 min backward"
|
||||||
msgstr "5 分後方にジャンプ"
|
msgstr "5 分戻る"
|
||||||
|
|
||||||
#: 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:398
|
#: 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:358
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:351
|
||||||
msgid "Chapter"
|
msgid "Chapter"
|
||||||
msgstr "チャプター"
|
msgstr "チャプター"
|
||||||
|
|
||||||
@@ -217,21 +217,21 @@ msgstr "サイズを拡大"
|
|||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:56
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:56
|
||||||
msgid "Move Left"
|
msgid "Move Left"
|
||||||
msgstr "左に移動"
|
msgstr "左へ移動"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:57
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:57
|
||||||
msgid "Move Right"
|
msgid "Move Right"
|
||||||
msgstr "右に移動"
|
msgstr "右へ移動"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:59
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:59
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:97
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:97
|
||||||
msgid "Move Up"
|
msgid "Move Up"
|
||||||
msgstr "上に移動"
|
msgstr "上へ移動"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:60
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:60
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:98
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:98
|
||||||
msgid "Move Down"
|
msgid "Move Down"
|
||||||
msgstr "下に移動"
|
msgstr "下へ移動"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:62
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:62
|
||||||
msgid "Decrease Height"
|
msgid "Decrease Height"
|
||||||
@@ -327,7 +327,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:446
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:453
|
||||||
msgid "Audio Device"
|
msgid "Audio Device"
|
||||||
msgstr "オーディオデバイス"
|
msgstr "オーディオデバイス"
|
||||||
|
|
||||||
@@ -368,31 +368,30 @@ msgstr "表示の切り替え"
|
|||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:100
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:100
|
||||||
msgid "Decrease Font Size"
|
msgid "Decrease Font Size"
|
||||||
msgstr "フォントサイズを小さくする"
|
msgstr "フォントサイズを縮小"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:101
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:101
|
||||||
msgid "Increase Font Size"
|
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:127
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
|
||||||
msgid "More"
|
msgid "More"
|
||||||
msgstr "詳細"
|
msgstr "その他"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:103
|
||||||
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:105
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:105
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:296
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:289
|
||||||
msgid "Track"
|
msgid "Track"
|
||||||
msgstr "トラック"
|
msgstr "トラック"
|
||||||
|
|
||||||
@@ -404,12 +403,12 @@ msgid "Volume"
|
|||||||
msgstr "音量"
|
msgstr "音量"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
msgctxt "Volume"
|
||||||
msgid "Up"
|
msgid "Up"
|
||||||
msgstr "上げる"
|
msgstr "上げる"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
msgctxt "Volume"
|
||||||
msgid "Down"
|
msgid "Down"
|
||||||
msgstr "下げる"
|
msgstr "下げる"
|
||||||
|
|
||||||
@@ -459,164 +458,169 @@ msgstr "2 倍"
|
|||||||
#: 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: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
|
||||||
msgstr "プレイリストを表示"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:234
|
||||||
|
msgid "Playlist"
|
||||||
|
msgstr "プレイリスト"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
||||||
msgid "Show Profiles"
|
|
||||||
msgstr "プロファイルを表示"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
|
|
||||||
msgid "Toggle Statistics"
|
msgid "Toggle Statistics"
|
||||||
msgstr "統計情報の切り替え"
|
msgstr "統計情報の切り替え"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
|
#: 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:123
|
||||||
|
msgid "Media Info On-Screen"
|
||||||
|
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 On-Screen"
|
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 Media Info Message Box"
|
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 Progress"
|
|
||||||
msgstr "進行状況を表示"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
||||||
msgid "Show Console"
|
#: 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
|
||||||
|
#: 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:128
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
||||||
msgid "Show Audio Devices"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:246
|
||||||
msgstr "オーディオデバイスを表示"
|
msgid "Bindings"
|
||||||
|
msgstr "バインディング"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
||||||
msgid "Show Commands"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:247
|
||||||
msgstr "コマンドを表示"
|
msgid "Properties"
|
||||||
|
msgstr "プロパティ"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
||||||
msgid "Show Bindings"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:240
|
||||||
msgstr "バインディングを表示"
|
msgid "Chapters"
|
||||||
|
msgstr "チャプター"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
||||||
msgid "Show Properties"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:239
|
||||||
msgstr "プロパティを表示"
|
msgid "Tracks"
|
||||||
|
msgstr "トラック"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
||||||
msgid "Show Keys"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:237
|
||||||
msgstr "キーを表示"
|
msgid "Audio Tracks"
|
||||||
|
msgstr "オーディオトラック"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
||||||
msgid "Show Protocols"
|
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 Decoders"
|
msgid "Secondary Subtitle"
|
||||||
msgstr "デコーダを表示"
|
msgstr "セカンダリ字幕"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
||||||
msgid "Show Demuxers"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:238
|
||||||
msgstr "デマルチプレクサを表示"
|
msgid "Video Tracks"
|
||||||
|
msgstr "ビデオトラック"
|
||||||
|
|
||||||
|
#: 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:244
|
||||||
|
msgid "Watch History"
|
||||||
|
msgstr "再生履歴"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
|
#: 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:245
|
||||||
|
msgid "Watch Later"
|
||||||
|
msgstr "再生位置を保存"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||||
|
msgid "Console"
|
||||||
|
msgstr "コンソール"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||||
|
msgid "Commands"
|
||||||
|
msgstr "コマンド"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
#: 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
|
#: 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:146
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||||
|
msgid "Keys"
|
||||||
|
msgstr "キー"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||||
|
msgid "Protocols"
|
||||||
|
msgstr "プロトコル"
|
||||||
|
|
||||||
#: 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 "Decoders"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
msgstr "デコーダー"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
|
||||||
msgid "Window"
|
|
||||||
msgstr "ウィンドウ"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
|
|
||||||
msgid "Fullscreen"
|
|
||||||
msgstr "フルスクリーン"
|
|
||||||
|
|
||||||
#: 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
|
|
||||||
msgid "Zoom"
|
|
||||||
msgstr "ズーム"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
|
|
||||||
msgid "Enlarge"
|
|
||||||
msgstr "拡大"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
|
|
||||||
msgid "Shrink"
|
|
||||||
msgstr "縮小"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
|
|
||||||
msgid "50 %"
|
|
||||||
msgstr "50 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
|
||||||
msgid "100 %"
|
|
||||||
msgstr "100 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
|
||||||
msgid "200 %"
|
|
||||||
msgstr "200 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
|
||||||
msgid "300 %"
|
|
||||||
msgstr "300 %"
|
|
||||||
|
|
||||||
#: 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 "Move"
|
|
||||||
msgstr "移動"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
|
||||||
msgid "Left"
|
|
||||||
msgstr "左"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
|
||||||
msgid "Right"
|
|
||||||
msgstr "右"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||||
msgid "Center"
|
msgid "Demuxers"
|
||||||
msgstr "中央"
|
msgstr "デマルチプレクサ"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
|
||||||
msgid "Toggle Border"
|
|
||||||
msgstr "ボーダーの切り替え"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||||
msgid "Toggle On Top"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
|
||||||
msgstr "常に手前に表示"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:427
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
|
||||||
msgid "Profile"
|
|
||||||
msgstr "プロファイル"
|
|
||||||
|
|
||||||
#: 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
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||||
@@ -628,250 +632,363 @@ 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
|
msgstr "ウィンドウ"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Settings"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||||
msgstr "設定"
|
#: 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: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 "縮小"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
||||||
msgid "Show Config Editor"
|
msgid "50 %"
|
||||||
msgstr "構成エディターを表示"
|
msgstr "50 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
||||||
msgid "Show Input Editor"
|
msgid "100 %"
|
||||||
msgstr "入力エディターを表示"
|
msgstr "100 %"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||||
|
msgid "200 %"
|
||||||
|
msgstr "200 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
||||||
msgid "Edit mpv.conf"
|
msgid "300 %"
|
||||||
msgstr "mpv.conf の編集"
|
msgstr "300 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
||||||
msgid "Edit input.conf"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||||
msgstr "input.conf の編集"
|
#: 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 "左へ"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||||
|
msgctxt "Move"
|
||||||
|
msgid "Right"
|
||||||
|
msgstr "右へ"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
|
||||||
msgid "Open Config Folder"
|
msgctxt "Move"
|
||||||
msgstr "構成フォルダを開く"
|
msgid "Up"
|
||||||
|
msgstr "上へ"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
msgctxt "Move"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
msgid "Down"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
msgstr "下へ"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Setup"
|
|
||||||
msgstr "セットアップ"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
|
||||||
msgid "Register video file associations"
|
|
||||||
msgstr "ビデオファイルの関連付けを登録"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
||||||
msgid "Register audio file associations"
|
msgctxt "Move"
|
||||||
msgstr "オーディオファイルの関連付けを登録"
|
msgid "Center"
|
||||||
|
msgstr "中央"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
||||||
msgid "Register image file associations"
|
msgid "Toggle Border"
|
||||||
msgstr "画像ファイルの関連付けを登録"
|
msgstr "ボーダーの切り替え"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
||||||
msgid "Unregister file associations"
|
msgid "Toggle On Top"
|
||||||
msgstr "ファイルの関連付けの登録解除"
|
msgstr "常に手前に表示"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
||||||
msgid "Add mpv.net to Path environment variable"
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:426
|
||||||
msgstr "mpv.net を Path 環境変数に追加"
|
msgid "Profile"
|
||||||
|
msgstr "プロファイル"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Remove mpv.net from Path environment variable"
|
|
||||||
msgstr "mpv.net を Path 環境変数から削除"
|
|
||||||
|
|
||||||
|
#: 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:170
|
||||||
#: 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
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
||||||
msgid "Tools"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
|
||||||
msgstr "ツール"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
|
|
||||||
msgid "Set/clear A-B loop points"
|
|
||||||
msgstr "A-B 区間ループの設定/解除"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
|
|
||||||
msgid "Toggle infinite file looping"
|
|
||||||
msgstr "無限ファイルループの切り替え"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
|
|
||||||
msgid "Shuffle Playlist"
|
|
||||||
msgstr "プレイリストをシャッフル"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
|
||||||
msgid "Toggle Hardware Decoding"
|
|
||||||
msgstr "ハードウェアデコードの切り替え"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
|
||||||
msgid "Exit Watch Later"
|
|
||||||
msgstr "後で見るから終了"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:466
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||||
msgid "Custom"
|
|
||||||
msgstr "カスタム"
|
|
||||||
|
|
||||||
#: 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"
|
||||||
|
msgstr "設定"
|
||||||
|
|
||||||
|
#: 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 "mpv.conf の編集"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
||||||
|
msgid "Edit input.conf"
|
||||||
|
msgstr "input.conf の編集"
|
||||||
|
|
||||||
|
#: 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 "ビデオファイルの関連付けを登録"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||||
|
msgid "Register audio file associations"
|
||||||
|
msgstr "オーディオファイルの関連付けを登録"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
|
||||||
|
msgid "Register image file associations"
|
||||||
|
msgstr "画像ファイルの関連付けを登録"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
||||||
|
msgid "Unregister file associations"
|
||||||
|
msgstr "ファイルの関連付けの登録解除"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
|
||||||
|
msgid "Add mpv.net to Path environment variable"
|
||||||
|
msgstr "mpv.net を Path 環境変数へ追加"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
|
||||||
|
msgid "Remove mpv.net from Path environment variable"
|
||||||
|
msgstr "mpv.net を Path 環境変数から削除"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
#: 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 "A-B 区間ループの設定/解除"
|
||||||
|
|
||||||
|
#: 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 "プレイリストをシャッフル"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
|
||||||
|
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"
|
msgid "Help"
|
||||||
msgstr "ヘルプ"
|
msgstr "ヘルプ"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
|
||||||
msgid "Website mpv"
|
msgid "Website mpv"
|
||||||
msgstr "mpv ウェブサイト"
|
msgstr "mpv ウェブサイト"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
|
||||||
msgid "Website mpv.net"
|
msgid "Website mpv.net"
|
||||||
msgstr "mpv.net ウェブサイト"
|
msgstr "mpv.net ウェブサイト"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
|
#: 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:182
|
#: 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:184
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
||||||
msgid "awesome-mpv"
|
msgid "awesome-mpv"
|
||||||
msgstr "awesome-mpv"
|
msgstr "awesome-mpv"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
#: 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:188
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
||||||
msgid "Show Menu"
|
msgid "Show Menu"
|
||||||
msgstr "メニューを表示"
|
msgstr "メニューを表示"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
|
#: 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:195
|
|
||||||
msgid "Backward"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
|
||||||
msgid "Volume Up"
|
|
||||||
msgstr "音量を上げる"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
|
|
||||||
msgid "Volume Down"
|
|
||||||
msgstr "音量を下げる"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
|
|
||||||
msgid "Ignore left mouse butten"
|
|
||||||
msgstr "マウスの左ボタンを無視"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
|
msgid "Backward"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
msgstr "戻る"
|
||||||
msgid "Seek Forward"
|
|
||||||
msgstr "前方にシーク"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
|
msgid "Volume Up"
|
||||||
msgid "Seek Backward"
|
msgstr "音量を上げる"
|
||||||
msgstr "後方にシーク"
|
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213
|
#: 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"
|
||||||
|
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:214
|
#: 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:215
|
#: 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:216
|
#: 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 "ファイル/URL がプレイリストに追加されました"
|
msgstr "ファイル/URL がプレイリストへ追加されました"
|
||||||
|
|
||||||
#: 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: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 "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: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: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\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.Windows\Properties\Resources.Designer.cs:79
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\Properties\Resources.Designer.cs:79
|
||||||
msgid "editor_conf"
|
msgid "editor_conf"
|
||||||
msgstr ""
|
msgstr "editor_conf"
|
||||||
|
|
||||||
#: 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 "テーマ"
|
msgstr "テーマ"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1398
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:388
|
||||||
|
msgid "Clear List"
|
||||||
|
msgstr "リストをクリア"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:448
|
||||||
|
msgid "Show Profiles"
|
||||||
|
msgstr "プロファイルを表示"
|
||||||
|
|
||||||
|
#: 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 秒以内に完了しませんでした。"
|
||||||
|
|
||||||
|
|||||||
1020
lang/po/ko.po
Normal file
1022
lang/po/pl.po
Normal file
1022
lang/po/ru.po
Normal file
1009
lang/po/tr.po
Normal file
617
lang/po/zh_CN.po
@@ -5,16 +5,16 @@
|
|||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# dyphire, 2023
|
# dyphire, 2023
|
||||||
# nkh0472 <nkh0472@hotmail.com>, 2024
|
# nkh0472 <nkh0472@hotmail.com>, 2025
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
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-01-04 02:51+0100\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: nkh0472 <nkh0472@hotmail.com>, 2024\n"
|
"Last-Translator: nkh0472 <nkh0472@hotmail.com>, 2025\n"
|
||||||
"Language-Team: Chinese (China) (https://app.transifex.com/stax76/teams/179964/zh_CN/)\n"
|
"Language-Team: Chinese (China) (https://app.transifex.com/stax76/teams/179964/zh_CN/)\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"
|
||||||
@@ -66,13 +66,13 @@ msgid "Add files/URLs to playlist from clipboard"
|
|||||||
msgstr "将 文件/URL 从剪贴板添加到播放列表"
|
msgstr "将 文件/URL 从剪贴板添加到播放列表"
|
||||||
|
|
||||||
#: 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:379
|
#: 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:187
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:233
|
||||||
msgid "Exit"
|
msgid "Exit"
|
||||||
msgstr "退出"
|
msgstr "退出"
|
||||||
|
|
||||||
@@ -82,15 +82,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:189
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
|
#: 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:193
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "停止"
|
msgstr "停止"
|
||||||
|
|
||||||
@@ -121,16 +121,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:200
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
#: 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:201
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
|
||||||
msgid "Next File"
|
msgid "Next File"
|
||||||
msgstr "下一个文件"
|
msgstr "下一个文件"
|
||||||
|
|
||||||
@@ -183,12 +183,12 @@ msgid "Jump 5 min backward"
|
|||||||
msgstr "快退 5 分钟"
|
msgstr "快退 5 分钟"
|
||||||
|
|
||||||
#: 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:398
|
#: 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:358
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:351
|
||||||
msgid "Chapter"
|
msgid "Chapter"
|
||||||
msgstr "章节"
|
msgstr "章节"
|
||||||
|
|
||||||
@@ -328,7 +328,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:446
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:453
|
||||||
msgid "Audio Device"
|
msgid "Audio Device"
|
||||||
msgstr "音频设备"
|
msgstr "音频设备"
|
||||||
|
|
||||||
@@ -376,15 +376,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:127
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
|
||||||
msgid "More"
|
msgid "More"
|
||||||
msgstr "更多"
|
msgstr "更多"
|
||||||
|
|
||||||
@@ -393,7 +392,7 @@ msgid "Toggle overriding SSA/ASS styles with normal styles"
|
|||||||
msgstr "切换 使用常规样式覆盖 SSA/ASS 样式"
|
msgstr "切换 使用常规样式覆盖 SSA/ASS 样式"
|
||||||
|
|
||||||
#: 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:296
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:289
|
||||||
msgid "Track"
|
msgid "Track"
|
||||||
msgstr "轨道"
|
msgstr "轨道"
|
||||||
|
|
||||||
@@ -405,14 +404,14 @@ msgid "Volume"
|
|||||||
msgstr "音量"
|
msgstr "音量"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
msgctxt "Volume"
|
||||||
msgid "Up"
|
msgid "Up"
|
||||||
msgstr "上移"
|
msgstr "增大"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
msgctxt "Volume"
|
||||||
msgid "Down"
|
msgid "Down"
|
||||||
msgstr "下移"
|
msgstr "减小"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:110
|
||||||
msgid "Mute"
|
msgid "Mute"
|
||||||
@@ -460,164 +459,169 @@ msgstr "翻倍"
|
|||||||
#: 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: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
|
||||||
msgstr "显示播放列表"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:234
|
||||||
|
msgid "Playlist"
|
||||||
|
msgstr "播放列表"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:121
|
||||||
msgid "Show Profiles"
|
|
||||||
msgstr "显示配置文件"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
|
|
||||||
msgid "Toggle Statistics"
|
msgid "Toggle Statistics"
|
||||||
msgstr "切换 统计信息"
|
msgstr "切换 统计信息"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
|
#: 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:123
|
||||||
|
msgid "Media Info On-Screen"
|
||||||
|
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 On-Screen"
|
msgid "Media Info Message Box"
|
||||||
msgstr "在 OSD 上显示媒体信息"
|
msgstr "媒体信息消息框"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:125
|
||||||
msgid "Show Media Info Message Box"
|
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 Progress"
|
|
||||||
msgstr "显示进度"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
||||||
msgid "Show Console"
|
#: 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
|
||||||
|
#: 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:128
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
||||||
msgid "Show Audio Devices"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:246
|
||||||
msgstr "显示音频设备"
|
msgid "Bindings"
|
||||||
|
msgstr "键位绑定"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
||||||
msgid "Show Commands"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:247
|
||||||
msgstr "显示命令"
|
msgid "Properties"
|
||||||
|
msgstr "属性"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
||||||
msgid "Show Bindings"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:240
|
||||||
msgstr "显示键位绑定"
|
msgid "Chapters"
|
||||||
|
msgstr "章节"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
||||||
msgid "Show Properties"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:239
|
||||||
msgstr "显示属性"
|
msgid "Tracks"
|
||||||
|
msgstr "轨道"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
||||||
msgid "Show Keys"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:237
|
||||||
msgstr "显示按键"
|
msgid "Audio Tracks"
|
||||||
|
msgstr "音频轨道"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
||||||
msgid "Show Protocols"
|
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 Decoders"
|
msgid "Secondary Subtitle"
|
||||||
msgstr "显示解码器"
|
msgstr "第二字幕"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
||||||
msgid "Show Demuxers"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:238
|
||||||
msgstr "显示解复用器"
|
msgid "Video Tracks"
|
||||||
|
msgstr "视频轨道"
|
||||||
|
|
||||||
|
#: 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:244
|
||||||
|
msgid "Watch History"
|
||||||
|
msgstr "观看历史"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
|
#: 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:245
|
||||||
|
msgid "Watch Later"
|
||||||
|
msgstr "稍后观看"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||||
|
msgid "Console"
|
||||||
|
msgstr "控制台"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||||
|
msgid "Commands"
|
||||||
|
msgstr "命令"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
#: 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
|
#: 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:146
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||||
|
msgid "Keys"
|
||||||
|
msgstr "键"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||||
|
msgid "Protocols"
|
||||||
|
msgstr "协议"
|
||||||
|
|
||||||
#: 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 "Decoders"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
msgstr "解码器"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
|
||||||
msgid "Window"
|
|
||||||
msgstr "窗口"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
|
|
||||||
msgid "Fullscreen"
|
|
||||||
msgstr "全屏"
|
|
||||||
|
|
||||||
#: 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
|
|
||||||
msgid "Zoom"
|
|
||||||
msgstr "缩放"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
|
|
||||||
msgid "Enlarge"
|
|
||||||
msgstr "放大"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
|
|
||||||
msgid "Shrink"
|
|
||||||
msgstr "缩小"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
|
|
||||||
msgid "50 %"
|
|
||||||
msgstr "50 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
|
||||||
msgid "100 %"
|
|
||||||
msgstr "100 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
|
||||||
msgid "200 %"
|
|
||||||
msgstr "200 %"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
|
||||||
msgid "300 %"
|
|
||||||
msgstr "300 %"
|
|
||||||
|
|
||||||
#: 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 "Move"
|
|
||||||
msgstr "移动"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
|
||||||
msgid "Left"
|
|
||||||
msgstr "左移"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
|
||||||
msgid "Right"
|
|
||||||
msgstr "右移"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||||
msgid "Center"
|
msgid "Demuxers"
|
||||||
msgstr "居中"
|
msgstr "解复用器"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
|
||||||
msgid "Toggle Border"
|
|
||||||
msgstr "切换 边框"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||||
msgid "Toggle On Top"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
|
||||||
msgstr "切换 置顶"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:427
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
|
||||||
msgid "Profile"
|
|
||||||
msgstr "配置文件"
|
|
||||||
|
|
||||||
#: 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
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||||
@@ -629,238 +633,343 @@ 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
|
msgstr "窗口"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Settings"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||||
msgstr "设置"
|
#: 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: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 "缩小"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:155
|
||||||
msgid "Show Config Editor"
|
msgid "50 %"
|
||||||
msgstr "显示配置编辑器"
|
msgstr "50 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
||||||
msgid "Show Input Editor"
|
msgid "100 %"
|
||||||
msgstr "显示输入编辑器"
|
msgstr "100 %"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||||
|
msgid "200 %"
|
||||||
|
msgstr "200 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:158
|
||||||
msgid "Edit mpv.conf"
|
msgid "300 %"
|
||||||
msgstr "编辑 mpv.conf"
|
msgstr "300 %"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
||||||
msgid "Edit input.conf"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||||
msgstr "编辑 input.conf"
|
#: 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 "左移"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||||
|
msgctxt "Move"
|
||||||
|
msgid "Right"
|
||||||
|
msgstr "右移"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:161
|
||||||
msgid "Open Config Folder"
|
msgctxt "Move"
|
||||||
msgstr "打开配置文件夹"
|
msgid "Up"
|
||||||
|
msgstr "上移"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
msgctxt "Move"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
msgid "Down"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
msgstr "下移"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:166
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Setup"
|
|
||||||
msgstr "设置"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
|
||||||
msgid "Register video file associations"
|
|
||||||
msgstr "注册视频文件关联"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
||||||
msgid "Register audio file associations"
|
msgctxt "Move"
|
||||||
msgstr "注册音频文件关联"
|
msgid "Center"
|
||||||
|
msgstr "居中"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
||||||
msgid "Register image file associations"
|
msgid "Toggle Border"
|
||||||
msgstr "注册图像文件关联"
|
msgstr "切换 边框"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
||||||
msgid "Unregister file associations"
|
msgid "Toggle On Top"
|
||||||
msgstr "注销文件关联"
|
msgstr "切换 置顶"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
||||||
msgid "Add mpv.net to Path environment variable"
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:426
|
||||||
msgstr "将 mpv.net 添加到环境变量"
|
msgid "Profile"
|
||||||
|
msgstr "配置文件"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Remove mpv.net from Path environment variable"
|
|
||||||
msgstr "将 mpv.net 从环境变量中移除"
|
|
||||||
|
|
||||||
|
#: 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:170
|
||||||
#: 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
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
||||||
msgid "Tools"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
|
||||||
msgstr "工具"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
|
|
||||||
msgid "Set/clear A-B loop points"
|
|
||||||
msgstr "设置/清除 A-B 循环点"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
|
|
||||||
msgid "Toggle infinite file looping"
|
|
||||||
msgstr "切换 无限文件循环"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
|
|
||||||
msgid "Shuffle Playlist"
|
|
||||||
msgstr "随机播放列表"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
|
||||||
msgid "Toggle Hardware Decoding"
|
|
||||||
msgstr "切换 硬件解码"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
|
||||||
msgid "Exit Watch Later"
|
|
||||||
msgstr "退出(稍后观看)"
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:466
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||||
msgid "Custom"
|
|
||||||
msgstr "自定义"
|
|
||||||
|
|
||||||
#: 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"
|
||||||
|
msgstr "配置"
|
||||||
|
|
||||||
|
#: 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 "编辑 mpv.conf"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
||||||
|
msgid "Edit input.conf"
|
||||||
|
msgstr "编辑 input.conf"
|
||||||
|
|
||||||
|
#: 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 "注册视频文件关联"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||||
|
msgid "Register audio file associations"
|
||||||
|
msgstr "注册音频文件关联"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
|
||||||
|
msgid "Register image file associations"
|
||||||
|
msgstr "注册图像文件关联"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
||||||
|
msgid "Unregister file associations"
|
||||||
|
msgstr "注销文件关联"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
|
||||||
|
msgid "Add mpv.net to Path environment variable"
|
||||||
|
msgstr "将 mpv.net 添加到环境变量"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
|
||||||
|
msgid "Remove mpv.net from Path environment variable"
|
||||||
|
msgstr "将 mpv.net 从环境变量中移除"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:184
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
#: 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 "设置/清除 A-B 循环点"
|
||||||
|
|
||||||
|
#: 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 "随机播放列表"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
|
||||||
|
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"
|
msgid "Help"
|
||||||
msgstr "帮助"
|
msgstr "帮助"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:178
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
|
||||||
msgid "Website mpv"
|
msgid "Website mpv"
|
||||||
msgstr "mpv 网址"
|
msgstr "mpv 网址"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
|
||||||
msgid "Website mpv.net"
|
msgid "Website mpv.net"
|
||||||
msgstr "mpv.net 网址"
|
msgstr "mpv.net 网址"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:181
|
#: 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:182
|
#: 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:184
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
||||||
msgid "awesome-mpv"
|
msgid "awesome-mpv"
|
||||||
msgstr "awesome-mpv"
|
msgstr "awesome-mpv"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
#: 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:188
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
||||||
msgid "Show Menu"
|
msgid "Show Menu"
|
||||||
msgstr "显示菜单"
|
msgstr "显示菜单"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:194
|
#: 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:195
|
#: 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:196
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
||||||
msgid "Volume Up"
|
msgid "Volume Up"
|
||||||
msgstr "增加 音量"
|
msgstr "增加 音量"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:213
|
||||||
msgid "Volume Down"
|
msgid "Volume Down"
|
||||||
msgstr "降低 音量"
|
msgstr "降低 音量"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:220
|
||||||
msgid "Ignore left mouse butten"
|
msgid "Ignore left mouse butten"
|
||||||
msgstr "忽略左键"
|
msgstr "忽略左键"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:223
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:225
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
#: 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:210
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:224
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:226
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
|
#: 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:213
|
#: 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:214
|
#: 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:215
|
#: 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:216
|
#: 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 "已添加 文件/URL 到播放列表"
|
msgstr "已添加 文件/URL 到播放列表"
|
||||||
|
|
||||||
#: 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: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 "mpv.net 已存在于环境变量。"
|
msgstr "mpv.net 已存在于环境变量。"
|
||||||
|
|
||||||
#: 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 至环境变量。"
|
msgstr "成功添加 mpv.net 至环境变量。"
|
||||||
|
|
||||||
#: 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。"
|
msgstr "环境变量中不存在 mpv.net。"
|
||||||
|
|
||||||
#: 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 。"
|
msgstr "成功从环境变量中移除 mpv.net 。"
|
||||||
|
|
||||||
#: 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 "该功能已被移除。"
|
||||||
|
|
||||||
@@ -872,7 +981,15 @@ msgstr "editor_conf"
|
|||||||
msgid "theme"
|
msgid "theme"
|
||||||
msgstr "主题"
|
msgstr "主题"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1398
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:388
|
||||||
|
msgid "Clear List"
|
||||||
|
msgstr "清空列表"
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:448
|
||||||
|
msgid "Show Profiles"
|
||||||
|
msgstr "显示配置文件"
|
||||||
|
|
||||||
|
#: 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 秒内完成"
|
||||||
|
|
||||||
|
|||||||
561
lang/source.pot
@@ -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-01-04 02:51+0100\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:379
|
#: 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:187
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:201
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:219
|
#: 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:189
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:190
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:191
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:192
|
#: 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:193
|
#: 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:200
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:214
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:216
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:204
|
#: 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:201
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:215
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:203
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:205
|
#: 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:398
|
#: 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:358
|
#: 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:446
|
#: 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:127
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:128
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:129
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:130
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:131
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:132
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:133
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:134
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
|
||||||
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:296
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:289
|
||||||
msgid "Track"
|
msgid "Track"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -400,12 +399,12 @@ msgid "Volume"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:107
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
msgctxt "Volume"
|
||||||
msgid "Up"
|
msgid "Up"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:108
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:148
|
msgctxt "Volume"
|
||||||
msgid "Down"
|
msgid "Down"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -455,164 +454,169 @@ msgstr ""
|
|||||||
#: 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: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
|
||||||
msgid "Show Profiles"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
|
|
||||||
msgid "Toggle Statistics"
|
msgid "Toggle Statistics"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:122
|
||||||
msgid "Toggle OSC Visibility"
|
msgid "Toggle OSC Visibility"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:123
|
||||||
|
msgid "Media Info On-Screen"
|
||||||
|
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 On-Screen"
|
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 Media Info Message Box"
|
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 Progress"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:127
|
||||||
msgid "Show Console"
|
#: 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 Audio Devices"
|
#: 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 Commands"
|
#: 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 Bindings"
|
#: 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 Properties"
|
#: 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 Keys"
|
#: 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 Protocols"
|
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 Decoders"
|
msgid "Secondary Subtitle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:135
|
||||||
msgid "Show Demuxers"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:238
|
||||||
|
msgid "Video Tracks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:136
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:241
|
||||||
|
msgid "Editions"
|
||||||
msgstr ""
|
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:244
|
||||||
|
msgid "Watch History"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:140
|
#: 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:245
|
||||||
|
msgid "Watch Later"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
||||||
|
msgid "Console"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
||||||
|
msgid "Commands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
#: 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
|
#: 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:146
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
||||||
|
msgid "Keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:147
|
||||||
|
msgid "Protocols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: 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 "Decoders"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
|
||||||
msgid "Window"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:137
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:207
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
|
|
||||||
msgid "Fullscreen"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: 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
|
|
||||||
msgid "Zoom"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:138
|
|
||||||
msgid "Enlarge"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:139
|
|
||||||
msgid "Shrink"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:141
|
|
||||||
msgid "50 %"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:142
|
|
||||||
msgid "100 %"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:143
|
|
||||||
msgid "200 %"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:144
|
|
||||||
msgid "300 %"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: 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 "Move"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:145
|
|
||||||
msgid "Left"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:146
|
|
||||||
msgid "Right"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:149
|
||||||
msgid "Center"
|
msgid "Demuxers"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:150
|
|
||||||
msgid "Toggle Border"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:151
|
||||||
msgid "Toggle On Top"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:152
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:153
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:427
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:154
|
||||||
msgid "Profile"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: 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
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||||
@@ -624,238 +628,343 @@ 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
|
msgstr ""
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Settings"
|
#: 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: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 Config Editor"
|
msgid "50 %"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:156
|
||||||
msgid "Show Input Editor"
|
msgid "100 %"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:157
|
||||||
|
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 mpv.conf"
|
msgid "300 %"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:159
|
||||||
msgid "Edit input.conf"
|
#: 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 ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:160
|
||||||
|
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
|
||||||
msgid "Open Config Folder"
|
msgctxt "Move"
|
||||||
|
msgid "Up"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
msgctxt "Move"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
msgid "Down"
|
||||||
#: 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
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Setup"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:162
|
|
||||||
msgid "Register video file associations"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:163
|
||||||
msgid "Register audio file associations"
|
msgctxt "Move"
|
||||||
|
msgid "Center"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:164
|
||||||
msgid "Register image file associations"
|
msgid "Toggle Border"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:165
|
||||||
msgid "Unregister file associations"
|
msgid "Toggle On Top"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:167
|
||||||
msgid "Add mpv.net to Path environment variable"
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:426
|
||||||
msgstr ""
|
msgid "Profile"
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:168
|
|
||||||
msgid "Remove mpv.net from Path environment variable"
|
|
||||||
msgstr ""
|
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:170
|
||||||
#: 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
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
||||||
msgid "Tools"
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:175
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:170
|
|
||||||
msgid "Set/clear A-B loop points"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:171
|
|
||||||
msgid "Toggle infinite file looping"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:172
|
|
||||||
msgid "Shuffle Playlist"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:173
|
|
||||||
msgid "Toggle Hardware Decoding"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:174
|
|
||||||
msgid "Exit Watch Later"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:176
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:466
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||||
msgid "Custom"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: 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 ""
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
|
||||||
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 ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:177
|
||||||
|
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"
|
msgid "Register image file associations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:179
|
||||||
msgid "Website mpv.net"
|
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"
|
msgid "Add mpv.net to Path environment variable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:182
|
||||||
msgid "Manual mpv.net"
|
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 "awesome-mpv"
|
#: 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 ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:185
|
||||||
msgid "About mpv.net"
|
msgid "Toggle infinite file looping"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:186
|
||||||
|
msgid "Shuffle Playlist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:187
|
||||||
|
msgid "Toggle Hardware Decoding"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:188
|
||||||
msgid "Show Menu"
|
msgid "Exit Watch Later"
|
||||||
msgstr ""
|
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:194
|
||||||
msgid "Forward"
|
#: 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 ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:193
|
||||||
|
msgid "Website mpv.net"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:195
|
||||||
msgid "Backward"
|
msgid "Manual mpv"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:196
|
||||||
|
msgid "Manual mpv.net"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:198
|
||||||
msgid "Volume Up"
|
msgid "awesome-mpv"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:197
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:199
|
||||||
msgid "Volume Down"
|
msgid "About mpv.net"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:206
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:202
|
||||||
msgid "Ignore left mouse butten"
|
msgid "Show Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:208
|
||||||
|
msgid "Forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:209
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:211
|
msgid "Backward"
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:217
|
|
||||||
msgid "Seek Forward"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:210
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:212
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet\InputHelp.cs:218
|
msgid "Volume Up"
|
||||||
|
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: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:213
|
#: 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:214
|
#: 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:215
|
#: 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:216
|
#: 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 ""
|
||||||
|
|
||||||
@@ -867,7 +976,15 @@ msgstr ""
|
|||||||
msgid "theme"
|
msgid "theme"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:1398
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:388
|
||||||
|
msgid "Clear List"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: D:\Projects\CS\mpv.net\src\MpvNet.Windows\WinForms\MainForm.cs:448
|
||||||
|
msgid "Show Profiles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Get-ChildItem $PSScriptRoot/.. -Recurse -File -Filter '*.cs' |
|
|||||||
Out-File $PSScriptRoot/cs-files.txt
|
Out-File $PSScriptRoot/cs-files.txt
|
||||||
|
|
||||||
# Create .pot file
|
# Create .pot file
|
||||||
xgettext --force-po --from-code=UTF-8 '--language=c#' -o $PSScriptRoot/source.pot --files-from=$PSScriptRoot/cs-files.txt --keyword=_
|
xgettext -k_ -k_n:1,2 -k_p:1c,2 -k_pn:1c,2,3 --force-po --from-code=UTF-8 '--language=c#' -o $PSScriptRoot/source.pot --files-from=$PSScriptRoot/cs-files.txt --keyword=_
|
||||||
if ($LastExitCode) { throw $LastExitCode }
|
if ($LastExitCode) { throw $LastExitCode }
|
||||||
|
|
||||||
# Backup .po files
|
# Backup .po files
|
||||||
|
|||||||
@@ -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
|
||||||
6
src/Directory.Build.props
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<Product>mpv.net</Product>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
10
src/Directory.Packages.props
Normal 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>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
|
|
||||||
namespace MpvNet.Windows;
|
namespace MpvNet.Windows;
|
||||||
|
|
||||||
@@ -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));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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")
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,14 +7,13 @@ using System.Windows.Forms;
|
|||||||
using System.Windows.Interop;
|
using System.Windows.Interop;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
using MpvNet.Windows.WinForms;
|
using MpvNet.Windows.WinForms;
|
||||||
using MpvNet.Windows.WPF.Views;
|
using MpvNet.Windows.WPF.Views;
|
||||||
using MpvNet.Windows.WPF;
|
using MpvNet.Windows.WPF;
|
||||||
using MpvNet.Windows.WPF.MsgBox;
|
using MpvNet.Windows.WPF.MsgBox;
|
||||||
using MpvNet.Windows.Help;
|
using MpvNet.Windows.Help;
|
||||||
using MpvNet.Help;
|
using MpvNet.Help;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace MpvNet;
|
namespace MpvNet;
|
||||||
|
|
||||||
@@ -43,7 +42,6 @@ public class GuiCommand
|
|||||||
["remove-from-path"] = args => RemoveFromPath(),
|
["remove-from-path"] = args => RemoveFromPath(),
|
||||||
["scale-window"] = args => ScaleWindow?.Invoke(float.Parse(args[0], CultureInfo.InvariantCulture)),
|
["scale-window"] = args => ScaleWindow?.Invoke(float.Parse(args[0], CultureInfo.InvariantCulture)),
|
||||||
["show-about"] = args => ShowDialog(typeof(AboutWindow)),
|
["show-about"] = args => ShowDialog(typeof(AboutWindow)),
|
||||||
["show-audio-devices"] = args => Msg.ShowInfo(Player.GetPropertyOsdString("audio-device-list")),
|
|
||||||
["show-bindings"] = args => ShowBindings(),
|
["show-bindings"] = args => ShowBindings(),
|
||||||
["show-commands"] = args => ShowCommands(),
|
["show-commands"] = args => ShowCommands(),
|
||||||
["show-conf-editor"] = args => ShowDialog(typeof(ConfWindow)),
|
["show-conf-editor"] = args => ShowDialog(typeof(ConfWindow)),
|
||||||
@@ -55,19 +53,20 @@ public class GuiCommand
|
|||||||
["show-media-info"] = ShowMediaInfo,
|
["show-media-info"] = ShowMediaInfo,
|
||||||
["show-menu"] = args => ShowMenu?.Invoke(),
|
["show-menu"] = args => ShowMenu?.Invoke(),
|
||||||
["show-profiles"] = args => Msg.ShowInfo(Player.GetProfiles()),
|
["show-profiles"] = args => Msg.ShowInfo(Player.GetProfiles()),
|
||||||
["show-properties"] = args => ShowProperties(),
|
["show-properties"] = args => Player.Command("script-binding select/show-properties"),
|
||||||
["show-protocols"] = args => ShowProtocols(),
|
["show-protocols"] = args => ShowProtocols(),
|
||||||
["window-scale"] = args => WindowScaleNet?.Invoke(float.Parse(args[0], CultureInfo.InvariantCulture)),
|
["window-scale"] = args => WindowScaleNet?.Invoke(float.Parse(args[0], CultureInfo.InvariantCulture)),
|
||||||
|
|
||||||
|
|
||||||
// deprecated
|
// deprecated
|
||||||
["show-recent"] = args => ShowRemoved(), // deprecated
|
["show-recent"] = args => ShowRemoved(), // deprecated
|
||||||
["show-playlist"] = args => ShowPlaylist(), // deprecated
|
|
||||||
["quick-bookmark"] = args => QuickBookmark(), // deprecated
|
["quick-bookmark"] = args => QuickBookmark(), // deprecated
|
||||||
["show-history"] = args => ShowHistory(), // deprecated
|
["show-history"] = args => ShowHistory(), // deprecated
|
||||||
["show-command-palette"] = args => ShowCommandPalette(), // deprecated
|
["show-playlist"] = args => Player.Command("script-binding select/select-playlist"), // deprecated
|
||||||
["show-audio-tracks"] = args => ShowTracks(), // deprecated
|
["show-command-palette"] = args => Player.Command("script-binding select/select-binding"), // deprecated
|
||||||
["show-subtitle-tracks"] = args => ShowTracks(), // deprecated
|
["show-audio-tracks"] = args => Player.Command("script-binding select/select-aid"), // deprecated
|
||||||
|
["show-subtitle-tracks"] = args => Player.Command("script-binding select/select-sid"), // deprecated
|
||||||
|
["show-audio-devices"] = args => Player.Command("script-binding select/select-audio-device"), // deprecated
|
||||||
};
|
};
|
||||||
|
|
||||||
void ShowDialog(Type winType)
|
void ShowDialog(Type winType)
|
||||||
@@ -118,6 +117,14 @@ public class GuiCommand
|
|||||||
{
|
{
|
||||||
string file = Player.ConfigFolder + args[0];
|
string file = Player.ConfigFolder + args[0];
|
||||||
|
|
||||||
|
if (!File.Exists(file))
|
||||||
|
{
|
||||||
|
string msg = $"{args[0]} does not exist. Would you like to create it?";
|
||||||
|
|
||||||
|
if (Msg.ShowQuestion(msg) == MessageBoxResult.OK)
|
||||||
|
File.WriteAllText(file, "");
|
||||||
|
}
|
||||||
|
|
||||||
if (File.Exists(file))
|
if (File.Exists(file))
|
||||||
ProcessHelp.ShellExecute(WinApiHelp.GetAppPathForExtension("txt"), "\"" + file + "\"");
|
ProcessHelp.ShellExecute(WinApiHelp.GetAppPathForExtension("txt"), "\"" + file + "\"");
|
||||||
}
|
}
|
||||||
@@ -155,15 +162,11 @@ 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());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowProperties() =>
|
|
||||||
ShowTextWithEditor("Properties", Core.GetPropertyString("property-list").Replace(",", BR));
|
|
||||||
|
|
||||||
void ShowKeys() =>
|
void ShowKeys() =>
|
||||||
ShowTextWithEditor("Keys", Core.GetPropertyString("input-key-list").Replace(",", BR));
|
ShowTextWithEditor("Keys", Core.GetPropertyString("input-key-list").Replace(",", BR));
|
||||||
|
|
||||||
@@ -191,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)
|
||||||
{
|
{
|
||||||
@@ -220,9 +225,13 @@ public class GuiCommand
|
|||||||
|
|
||||||
dialog.Multiselect = true;
|
dialog.Multiselect = true;
|
||||||
|
|
||||||
if (dialog.ShowDialog() == DialogResult.OK)
|
if (dialog.ShowDialog() != DialogResult.OK)
|
||||||
foreach (string i in dialog.FileNames)
|
return;
|
||||||
Player.CommandV("audio-add", i);
|
|
||||||
|
foreach (string i in dialog.FileNames)
|
||||||
|
{
|
||||||
|
Player.CommandV("audio-add", i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegisterFileAssociations(IList<string> args)
|
void RegisterFileAssociations(IList<string> args)
|
||||||
@@ -232,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
|
||||||
@@ -263,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)
|
||||||
@@ -280,20 +303,20 @@ 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;
|
||||||
|
|
||||||
text = "Width: " + Player.GetPropertyInt("width") + "\n" +
|
text = "Width: " + Player.GetPropertyInt("width") + "\n" +
|
||||||
"Height: " + Player.GetPropertyInt("height") + "\n" +
|
"Height: " + Player.GetPropertyInt("height") + "\n" +
|
||||||
"Size: " + Convert.ToInt32(fileSize / 1024.0) + " KB\n" +
|
"Size: " + Convert.ToInt32(fileSize / 1024.0) + " KB\n" +
|
||||||
"Type: " + path.Ext().ToUpper();
|
"Type: " + path.Ext.ToUpper();
|
||||||
|
|
||||||
Player.CommandV("show-text", text, "5000");
|
Player.CommandV("show-text", text, "5000");
|
||||||
return;
|
return;
|
||||||
@@ -309,7 +332,7 @@ public class GuiCommand
|
|||||||
int width = Player.GetPropertyInt("video-params/w");
|
int width = Player.GetPropertyInt("video-params/w");
|
||||||
int height = Player.GetPropertyInt("video-params/h");
|
int height = Player.GetPropertyInt("video-params/h");
|
||||||
TimeSpan len = TimeSpan.FromSeconds(Player.GetPropertyDouble("duration"));
|
TimeSpan len = TimeSpan.FromSeconds(Player.GetPropertyDouble("duration"));
|
||||||
text = path.FileName() + "\n";
|
text = path.FileName + "\n";
|
||||||
text += FormatTime(len.TotalMinutes) + ":" + FormatTime(len.Seconds) + "\n";
|
text += FormatTime(len.TotalMinutes) + ":" + FormatTime(len.Seconds) + "\n";
|
||||||
if (fileSize > 0)
|
if (fileSize > 0)
|
||||||
text += Convert.ToInt32(fileSize / 1024.0 / 1024.0) + " MB\n";
|
text += Convert.ToInt32(fileSize / 1024.0 / 1024.0) + " MB\n";
|
||||||
@@ -320,15 +343,21 @@ 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))
|
{
|
||||||
text = Regex.Replace(mediaInfo.GetSummary(full, raw), "Unique ID.+", "");
|
using MediaInfo mediaInfo = new MediaInfo(path);
|
||||||
|
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();
|
||||||
@@ -353,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;
|
||||||
@@ -384,28 +413,6 @@ public class GuiCommand
|
|||||||
Msg.ShowInfo(_("mpv.net was successfully removed from the Path environment variable."));
|
Msg.ShowInfo(_("mpv.net was successfully removed from the Path environment variable."));
|
||||||
}
|
}
|
||||||
|
|
||||||
// deprecated
|
|
||||||
void ShowTracks() =>
|
|
||||||
Msg.ShowInfo(_("This feature was removed, but there are user scripts:") + BR2 +
|
|
||||||
"https://github.com/stax76/mpv-scripts#command_palette" + BR +
|
|
||||||
"https://github.com/stax76/mpv-scripts#search_menu" + BR +
|
|
||||||
"https://github.com/tomasklaen/uosc");
|
|
||||||
|
|
||||||
// deprecated
|
|
||||||
void ShowPlaylist() =>
|
|
||||||
Msg.ShowInfo(_("This feature was removed, but there are user scripts:") + BR2 +
|
|
||||||
"https://github.com/stax76/mpv-scripts#command_palette" + BR +
|
|
||||||
"https://github.com/stax76/mpv-scripts#search_menu" + BR +
|
|
||||||
"https://github.com/tomasklaen/uosc" + BR +
|
|
||||||
"https://github.com/jonniek/mpv-playlistmanager");
|
|
||||||
|
|
||||||
// deprecated
|
|
||||||
void ShowCommandPalette() =>
|
|
||||||
Msg.ShowInfo(_("This feature was removed, but there are user scripts:") + BR2 +
|
|
||||||
"https://github.com/stax76/mpv-scripts#command_palette" + BR +
|
|
||||||
"https://github.com/stax76/mpv-scripts#search_menu" + BR +
|
|
||||||
"https://github.com/tomasklaen/uosc");
|
|
||||||
|
|
||||||
// deprecated
|
// deprecated
|
||||||
void QuickBookmark() =>
|
void QuickBookmark() =>
|
||||||
Msg.ShowInfo(_("This feature was removed, but there are user scripts:") + BR2 +
|
Msg.ShowInfo(_("This feature was removed, but there are user scripts:") + BR2 +
|
||||||
@@ -419,13 +426,3 @@ public class GuiCommand
|
|||||||
// deprecated
|
// deprecated
|
||||||
void ShowRemoved() => Msg.ShowInfo(_("This feature was removed."));
|
void ShowRemoved() => Msg.ShowInfo(_("This feature was removed."));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//public void ShowCommandPalette()
|
|
||||||
//{
|
|
||||||
// MainForm.Instance?.BeginInvoke(() => {
|
|
||||||
// CommandPalette.Instance.SetItems(CommandPalette.GetItems());
|
|
||||||
// MainForm.Instance.ShowCommandPalette();
|
|
||||||
// CommandPalette.Instance.SelectFirst();
|
|
||||||
// });
|
|
||||||
//}
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,49 +1,47 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<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>
|
||||||
<AssemblyName>mpvnet</AssemblyName>
|
<AssemblyName>mpvnet</AssemblyName>
|
||||||
<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.0.0</FileVersion>
|
<AssemblyVersion>7.1.2.0</AssemblyVersion>
|
||||||
<AssemblyVersion>7.1.0.0</AssemblyVersion>
|
<InformationalVersion>7.1.2.0</InformationalVersion>
|
||||||
<InformationalVersion>7.1.0.0</InformationalVersion>
|
</PropertyGroup>
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Remove="Misc\**" />
|
<Compile Remove="Misc\**" />
|
||||||
<EmbeddedResource Remove="Misc\**" />
|
<EmbeddedResource Remove="Misc\**" />
|
||||||
<None Remove="Misc\**" />
|
<None Remove="Misc\**" />
|
||||||
<Page Remove="Misc\**" />
|
<Page Remove="Misc\**" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="mpv-icon.ico" />
|
<Content Include="mpv-icon.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\MpvNet\MpvNet.csproj" />
|
<ProjectReference Include="..\MpvNet\MpvNet.csproj" />
|
||||||
<ProjectReference Include="..\NGettext.Wpf\NGettext.Wpf.csproj" />
|
<ProjectReference Include="..\NGettext.Wpf\NGettext.Wpf.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Page Update="WPF\Views\AboutWindow.xaml">
|
<Page Update="WPF\Views\AboutWindow.xaml">
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<XamlRuntime>Wpf</XamlRuntime>
|
<XamlRuntime>Wpf</XamlRuntime>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
</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>
|
||||||
|
|||||||
@@ -101,9 +101,9 @@ static class Program
|
|||||||
else if (App.CommandLine.Contains("--o="))
|
else if (App.CommandLine.Contains("--o="))
|
||||||
{
|
{
|
||||||
App.AutoLoadFolder = false;
|
App.AutoLoadFolder = false;
|
||||||
Player.Init(IntPtr.Zero);
|
Player.Init(IntPtr.Zero, true);
|
||||||
Player.ProcessCommandLineArgsPost();
|
CommandLine.ProcessCommandLineArgsPostInit();
|
||||||
Player.ProcessCommandLineFiles();
|
CommandLine.ProcessCommandLineFiles();
|
||||||
Player.SetPropertyString("idle", "no");
|
Player.SetPropertyString("idle", "no");
|
||||||
Player.EventLoop();
|
Player.EventLoop();
|
||||||
Player.Destroy();
|
Player.Destroy();
|
||||||
|
|||||||
@@ -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,9 +1143,16 @@ 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 = korean
|
||||||
|
option = polish
|
||||||
|
option = russian
|
||||||
|
option = turkish
|
||||||
|
|
||||||
name = dark-mode
|
name = dark-mode
|
||||||
file = mpvnet
|
file = mpvnet
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
|
|
||||||
using MpvNet.Windows.WPF.Controls;
|
|
||||||
|
|
||||||
namespace MpvNet.Windows.UI;
|
|
||||||
|
|
||||||
public class CommandPalette
|
|
||||||
{
|
|
||||||
public static CommandPaletteControl Instance { get; } = new CommandPaletteControl();
|
|
||||||
|
|
||||||
public static IEnumerable<CommandPaletteItem> GetItems()
|
|
||||||
{
|
|
||||||
return InputHelp.GetBindingsFromContent(App.InputConf.GetContent())
|
|
||||||
.Where(i => i.Command != "")
|
|
||||||
.Select(i => new CommandPaletteItem()
|
|
||||||
{
|
|
||||||
Text = i.Comment,
|
|
||||||
SecondaryText = i.Input,
|
|
||||||
Action = () => Core.Command(i.Command),
|
|
||||||
Binding = i
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
|
|
||||||
namespace MpvNet.Windows.UI;
|
|
||||||
|
|
||||||
public class CommandPaletteItem
|
|
||||||
{
|
|
||||||
public CommandPaletteItem() { }
|
|
||||||
|
|
||||||
public CommandPaletteItem(string text, Action action)
|
|
||||||
{
|
|
||||||
Text = text;
|
|
||||||
Action = action;
|
|
||||||
}
|
|
||||||
|
|
||||||
public CommandPaletteItem(string text, string secondaryText, Action action)
|
|
||||||
{
|
|
||||||
Text = text;
|
|
||||||
Action = action;
|
|
||||||
SecondaryText = secondaryText;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Text { get; set; } = "";
|
|
||||||
public string SecondaryText { get; set; } = "";
|
|
||||||
public Action? Action { get; set; }
|
|
||||||
public Binding? Binding { get; set; }
|
|
||||||
}
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
|
|
||||||
namespace MpvNet.Windows.UI;
|
namespace MpvNet.Windows.UI;
|
||||||
|
|
||||||
|
|||||||
@@ -1,127 +0,0 @@
|
|||||||
<UserControl
|
|
||||||
x:Class="MpvNet.Windows.WPF.Controls.CommandPaletteControl"
|
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:controls="clr-namespace:MpvNet.Windows.WPF.Controls"
|
|
||||||
mc:Ignorable="d"
|
|
||||||
|
|
||||||
FontSize="13"
|
|
||||||
Loaded="OnLoaded"
|
|
||||||
Background="#111111"
|
|
||||||
>
|
|
||||||
|
|
||||||
<UserControl.InputBindings>
|
|
||||||
<KeyBinding Gesture="Esc" Command="{Binding EscapeCommand}"/>
|
|
||||||
<KeyBinding Gesture="Enter" Command="{Binding ExecuteCommand}"/>
|
|
||||||
</UserControl.InputBindings>
|
|
||||||
|
|
||||||
<Border Name="MainBorder"
|
|
||||||
BorderThickness="1,0,1,1"
|
|
||||||
CornerRadius="0,0,5,5"
|
|
||||||
Padding="0,0,0,5"
|
|
||||||
BorderBrush="{Binding Theme.MenuHighlight}"
|
|
||||||
Background="{Binding Theme.Background}"
|
|
||||||
SnapsToDevicePixels="True"
|
|
||||||
>
|
|
||||||
|
|
||||||
<Grid>
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition Height="Auto" />
|
|
||||||
<RowDefinition Height="Auto"/>
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<Border BorderBrush="{Binding Theme.Heading}"
|
|
||||||
BorderThickness="1"
|
|
||||||
CornerRadius="3"
|
|
||||||
Margin="7"
|
|
||||||
>
|
|
||||||
|
|
||||||
<controls:SearchControl
|
|
||||||
HintText="Search"
|
|
||||||
x:Name="SearchControl"
|
|
||||||
Grid.ColumnSpan="2"
|
|
||||||
Padding="1,1,1,0"
|
|
||||||
/>
|
|
||||||
</Border>
|
|
||||||
|
|
||||||
<ListView
|
|
||||||
Name="MainListView"
|
|
||||||
Grid.Row="1"
|
|
||||||
Foreground="{Binding Theme.Foreground}"
|
|
||||||
Background="{Binding Theme.Background}"
|
|
||||||
BorderThickness="0"
|
|
||||||
MaxHeight="202"
|
|
||||||
SizeChanged="MainListView_SizeChanged"
|
|
||||||
MouseUp="MainListView_MouseUp"
|
|
||||||
>
|
|
||||||
|
|
||||||
<ListView.ItemContainerStyle>
|
|
||||||
<Style TargetType="ListBoxItem">
|
|
||||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
|
|
||||||
<Setter Property="Height" Value="25"></Setter>
|
|
||||||
<Setter Property="BorderThickness" Value="0"></Setter>
|
|
||||||
<Setter Property="Template">
|
|
||||||
<Setter.Value>
|
|
||||||
<ControlTemplate TargetType="{x:Type ListBoxItem}">
|
|
||||||
<Border x:Name="BD"
|
|
||||||
BorderBrush="{TemplateBinding BorderBrush}"
|
|
||||||
BorderThickness="{TemplateBinding BorderThickness}"
|
|
||||||
Background="{TemplateBinding Background}"
|
|
||||||
Padding="{TemplateBinding Padding}"
|
|
||||||
SnapsToDevicePixels="true">
|
|
||||||
|
|
||||||
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
||||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
|
|
||||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
|
|
||||||
</Border>
|
|
||||||
<ControlTemplate.Triggers>
|
|
||||||
<MultiTrigger>
|
|
||||||
<MultiTrigger.Conditions>
|
|
||||||
<Condition Property="IsMouseOver" Value="True" />
|
|
||||||
</MultiTrigger.Conditions>
|
|
||||||
<Setter Property="Background" TargetName="BD" Value="{DynamicResource HighlightBrush}" />
|
|
||||||
</MultiTrigger>
|
|
||||||
<MultiTrigger>
|
|
||||||
<MultiTrigger.Conditions>
|
|
||||||
<Condition Property="Selector.IsSelectionActive" Value="False" />
|
|
||||||
<Condition Property="IsSelected" Value="True" />
|
|
||||||
</MultiTrigger.Conditions>
|
|
||||||
<Setter Property="Background" TargetName="BD" Value="{DynamicResource BorderBrush}" />
|
|
||||||
</MultiTrigger>
|
|
||||||
</ControlTemplate.Triggers>
|
|
||||||
</ControlTemplate>
|
|
||||||
</Setter.Value>
|
|
||||||
</Setter>
|
|
||||||
|
|
||||||
<Style.Resources>
|
|
||||||
<Style TargetType="Border">
|
|
||||||
<Setter Property="CornerRadius" Value="3"/>
|
|
||||||
</Style>
|
|
||||||
</Style.Resources>
|
|
||||||
</Style>
|
|
||||||
</ListView.ItemContainerStyle>
|
|
||||||
|
|
||||||
<ListView.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<Grid>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition />
|
|
||||||
<ColumnDefinition />
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
|
|
||||||
<TextBlock Text="{Binding Text}"></TextBlock>
|
|
||||||
|
|
||||||
<TextBlock
|
|
||||||
Grid.Column="1"
|
|
||||||
Text="{Binding SecondaryText}"
|
|
||||||
HorizontalAlignment="Right"
|
|
||||||
/>
|
|
||||||
</Grid>
|
|
||||||
</DataTemplate>
|
|
||||||
</ListView.ItemTemplate>
|
|
||||||
</ListView>
|
|
||||||
</Grid>
|
|
||||||
</Border>
|
|
||||||
</UserControl>
|
|
||||||
@@ -1,150 +0,0 @@
|
|||||||
|
|
||||||
using System.Collections.ObjectModel;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Windows;
|
|
||||||
using System.Windows.Controls;
|
|
||||||
using System.Windows.Data;
|
|
||||||
using System.Windows.Input;
|
|
||||||
|
|
||||||
using CommunityToolkit.Mvvm.Input;
|
|
||||||
|
|
||||||
using MpvNet.Windows.UI;
|
|
||||||
using MpvNet.Windows.WinForms;
|
|
||||||
|
|
||||||
namespace MpvNet.Windows.WPF.Controls;
|
|
||||||
|
|
||||||
public partial class CommandPaletteControl : UserControl
|
|
||||||
{
|
|
||||||
public ICollectionView CollectionView { get; set; }
|
|
||||||
public CollectionViewSource CollectionViewSource { get; }
|
|
||||||
public ObservableCollection<CommandPaletteItem> Items { get; } = new ObservableCollection<CommandPaletteItem>();
|
|
||||||
|
|
||||||
public CommandPaletteControl()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
DataContext = this;
|
|
||||||
CollectionViewSource = new CollectionViewSource() { Source = Items };
|
|
||||||
CollectionView = CollectionViewSource.View;
|
|
||||||
CollectionView.Filter = new Predicate<object>(item => Filter((CommandPaletteItem)item));
|
|
||||||
MainListView.ItemsSource = CollectionView;
|
|
||||||
|
|
||||||
SearchControl.SearchTextBox.PreviewKeyDown += SearchTextBox_PreviewKeyDown;
|
|
||||||
SearchControl.SearchTextBox.TextChanged += SearchTextBox_TextChanged;
|
|
||||||
SearchControl.HideClearButton = true;
|
|
||||||
|
|
||||||
if (Environment.OSVersion.Version < new Version(10, 0))
|
|
||||||
MainBorder.CornerRadius = new CornerRadius(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SearchTextBox_TextChanged(object sender, TextChangedEventArgs e)
|
|
||||||
{
|
|
||||||
CollectionView.Refresh();
|
|
||||||
SelectFirst();
|
|
||||||
}
|
|
||||||
|
|
||||||
void SearchTextBox_PreviewKeyDown(object sender, KeyEventArgs e)
|
|
||||||
{
|
|
||||||
switch (e.Key)
|
|
||||||
{
|
|
||||||
case Key.Up:
|
|
||||||
{
|
|
||||||
int index = MainListView.SelectedIndex;
|
|
||||||
index -= 1;
|
|
||||||
|
|
||||||
if (index < 0)
|
|
||||||
index = 0;
|
|
||||||
|
|
||||||
MainListView.SelectedIndex = index;
|
|
||||||
MainListView.ScrollIntoView(MainListView.SelectedItem);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case Key.Down:
|
|
||||||
{
|
|
||||||
int index = MainListView.SelectedIndex;
|
|
||||||
|
|
||||||
if (++index > MainListView.Items.Count - 1)
|
|
||||||
index = MainListView.Items.Count - 1;
|
|
||||||
|
|
||||||
MainListView.SelectedIndex = index;
|
|
||||||
MainListView.ScrollIntoView(MainListView.SelectedItem);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainListView_SizeChanged(object sender, SizeChangedEventArgs e) => AdjustHeight();
|
|
||||||
|
|
||||||
void MainListView_MouseUp(object sender, MouseButtonEventArgs e) => ExecuteInternal();
|
|
||||||
|
|
||||||
[RelayCommand]
|
|
||||||
void Escape(object param) => MainForm.Instance?.HideCommandPalette();
|
|
||||||
|
|
||||||
[RelayCommand]
|
|
||||||
void Execute() => ExecuteInternal();
|
|
||||||
|
|
||||||
void OnLoaded(object sender, RoutedEventArgs e) => Keyboard.Focus(SearchControl.SearchTextBox);
|
|
||||||
|
|
||||||
public Theme Theme => Theme.Current!;
|
|
||||||
|
|
||||||
bool Filter(CommandPaletteItem item)
|
|
||||||
{
|
|
||||||
string filter = SearchControl.SearchTextBox.Text.ToLower();
|
|
||||||
|
|
||||||
if (item.Binding != null)
|
|
||||||
{
|
|
||||||
//if (item.CommandItem.Alias.ContainsEx(filter))
|
|
||||||
// return true;
|
|
||||||
|
|
||||||
if (filter.Length == 1)
|
|
||||||
return item.Binding.Input.ToLower()
|
|
||||||
.Replace("ctrl+", "")
|
|
||||||
.Replace("shift+", "")
|
|
||||||
.Replace("alt+", "") == filter.ToLower();
|
|
||||||
|
|
||||||
if (item.Binding.Command.ToLower().Contains(filter))
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (filter == "" || item.Text.ToLower().Contains(filter) ||
|
|
||||||
item.SecondaryText.ToLower().Contains(filter))
|
|
||||||
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SelectFirst()
|
|
||||||
{
|
|
||||||
if (MainListView.Items.Count > 0)
|
|
||||||
{
|
|
||||||
MainListView.SelectedIndex = 0;
|
|
||||||
MainListView.ScrollIntoView(MainListView.SelectedItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExecuteInternal()
|
|
||||||
{
|
|
||||||
if (MainListView.SelectedItem != null)
|
|
||||||
{
|
|
||||||
CommandPaletteItem? item = MainListView.SelectedItem as CommandPaletteItem;
|
|
||||||
MainForm.Instance?.HideCommandPalette();
|
|
||||||
item?.Action?.Invoke();
|
|
||||||
//MainForm.Instance.Voodoo(); //TODO: Voodoo
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetItems(IEnumerable<CommandPaletteItem> items)
|
|
||||||
{
|
|
||||||
Items.Clear();
|
|
||||||
|
|
||||||
foreach (var i in items)
|
|
||||||
Items.Add(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AdjustHeight()
|
|
||||||
{
|
|
||||||
double actualHeight = SearchControl.ActualHeight + MainListView.ActualHeight + 5 + 16;
|
|
||||||
int dpi = MainForm.GetDpi(MainForm.Instance!.Handle);
|
|
||||||
MainForm.Instance.CommandPaletteHost.Height = (int)(actualHeight / 96.0 * dpi);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -10,10 +10,16 @@ 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("polish", "pl", "pl"),
|
||||||
|
new("russian", "ru", "ru"),
|
||||||
|
new("turkish", "tr", "tr"),
|
||||||
};
|
};
|
||||||
|
|
||||||
public string Gettext(string msgId)
|
public string Gettext(string msgId)
|
||||||
@@ -22,6 +28,12 @@ public class WpfTranslator : ITranslator
|
|||||||
return Translation._(msgId);
|
return Translation._(msgId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string GetParticularString(string context, string text)
|
||||||
|
{
|
||||||
|
InitNGettextWpf();
|
||||||
|
return Translation.GetParticularString(context, text);
|
||||||
|
}
|
||||||
|
|
||||||
void InitNGettextWpf()
|
void InitNGettextWpf()
|
||||||
{
|
{
|
||||||
if (Translation.Localizer == null || _localizerLangauge != App.Language)
|
if (Translation.Localizer == null || _localizerLangauge != App.Language)
|
||||||
|
|||||||
2
src/MpvNet.Windows/WinForms/MainForm.Designer.cs
generated
@@ -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
|
||||||
|
|||||||
@@ -5,13 +5,12 @@ 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;
|
||||||
using MpvNet.Windows.UI;
|
using MpvNet.Windows.UI;
|
||||||
using MpvNet.Help;
|
using MpvNet.Help;
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
using MpvNet.MVVM;
|
using MpvNet.MVVM;
|
||||||
using MpvNet.Windows.WPF.MsgBox;
|
using MpvNet.Windows.WPF.MsgBox;
|
||||||
|
|
||||||
@@ -27,7 +26,6 @@ public partial class MainForm : Form
|
|||||||
{
|
{
|
||||||
public SnapManager SnapManager = new SnapManager();
|
public SnapManager SnapManager = new SnapManager();
|
||||||
public IntPtr MpvWindowHandle { get; set; }
|
public IntPtr MpvWindowHandle { get; set; }
|
||||||
public ElementHost? CommandPaletteHost { get; set; }
|
|
||||||
public bool WasShown { get; set; }
|
public bool WasShown { get; set; }
|
||||||
public static MainForm? Instance { get; set; }
|
public static MainForm? Instance { get; set; }
|
||||||
WpfControls.ContextMenu ContextMenu { get; } = new WpfControls.ContextMenu();
|
WpfControls.ContextMenu ContextMenu { get; } = new WpfControls.ContextMenu();
|
||||||
@@ -40,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()
|
||||||
{
|
{
|
||||||
@@ -68,7 +68,30 @@ public partial class MainForm : Form
|
|||||||
GuiCommand.Current.WindowScaleNet += GuiCommand_WindowScaleNet;
|
GuiCommand.Current.WindowScaleNet += GuiCommand_WindowScaleNet;
|
||||||
GuiCommand.Current.ShowMenu += GuiCommand_ShowMenu;
|
GuiCommand.Current.ShowMenu += GuiCommand_ShowMenu;
|
||||||
|
|
||||||
Init();
|
Player.Init(Handle, true);
|
||||||
|
|
||||||
|
Player.ObserveProperty("window-maximized", PropChangeWindowMaximized); // bool methods not working correctly
|
||||||
|
Player.ObserveProperty("window-minimized", PropChangeWindowMinimized); // bool methods not working correctly
|
||||||
|
Player.ObserveProperty("cursor-autohide", PropChangeCursorAutohide);
|
||||||
|
|
||||||
|
Player.ObservePropertyBool("border", PropChangeBorder);
|
||||||
|
Player.ObservePropertyBool("fullscreen", PropChangeFullscreen);
|
||||||
|
Player.ObservePropertyBool("keepaspect-window", value => Player.KeepaspectWindow = value);
|
||||||
|
Player.ObservePropertyBool("ontop", PropChangeOnTop);
|
||||||
|
Player.ObservePropertyBool("title-bar", PropChangeTitleBar);
|
||||||
|
|
||||||
|
Player.ObservePropertyString("sid", PropChangeSid);
|
||||||
|
Player.ObservePropertyString("aid", PropChangeAid);
|
||||||
|
Player.ObservePropertyString("vid", PropChangeVid);
|
||||||
|
|
||||||
|
Player.ObservePropertyString("title", PropChangeTitle);
|
||||||
|
|
||||||
|
Player.ObservePropertyInt("edition", PropChangeEdition);
|
||||||
|
|
||||||
|
Player.ObservePropertyDouble("window-scale", PropChangeWindowScale);
|
||||||
|
|
||||||
|
CommandLine.ProcessCommandLineArgsPostInit();
|
||||||
|
CommandLine.ProcessCommandLineFiles();
|
||||||
|
|
||||||
_taskbarButtonCreatedMessage = RegisterWindowMessage("TaskbarButtonCreated");
|
_taskbarButtonCreatedMessage = RegisterWindowMessage("TaskbarButtonCreated");
|
||||||
|
|
||||||
@@ -145,34 +168,6 @@ public partial class MainForm : Form
|
|||||||
SetTitle();
|
SetTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Init()
|
|
||||||
{
|
|
||||||
Player.Init(Handle);
|
|
||||||
|
|
||||||
// bool methods not working correctly
|
|
||||||
Player.ObserveProperty("window-maximized", PropChangeWindowMaximized);
|
|
||||||
Player.ObserveProperty("window-minimized", PropChangeWindowMinimized);
|
|
||||||
|
|
||||||
Player.ObservePropertyBool("border", PropChangeBorder);
|
|
||||||
Player.ObservePropertyBool("fullscreen", PropChangeFullscreen);
|
|
||||||
Player.ObservePropertyBool("keepaspect-window", value => Player.KeepaspectWindow = value);
|
|
||||||
Player.ObservePropertyBool("ontop", PropChangeOnTop);
|
|
||||||
Player.ObservePropertyBool("title-bar", PropChangeTitleBar);
|
|
||||||
|
|
||||||
Player.ObservePropertyString("sid", PropChangeSid);
|
|
||||||
Player.ObservePropertyString("aid", PropChangeAid);
|
|
||||||
Player.ObservePropertyString("vid", PropChangeVid);
|
|
||||||
|
|
||||||
Player.ObservePropertyString("title", PropChangeTitle);
|
|
||||||
|
|
||||||
Player.ObservePropertyInt("edition", PropChangeEdition);
|
|
||||||
|
|
||||||
Player.ObservePropertyDouble("window-scale", PropChangeWindowScale);
|
|
||||||
|
|
||||||
Player.ProcessCommandLineArgsPost();
|
|
||||||
Player.ProcessCommandLineFiles();
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropChangeWindowScale(double scale)
|
void PropChangeWindowScale(double scale)
|
||||||
{
|
{
|
||||||
if (!WasShown)
|
if (!WasShown)
|
||||||
@@ -285,8 +280,6 @@ public partial class MainForm : Form
|
|||||||
pos.Y > ClientSize.Height * 0.78;
|
pos.Y > ClientSize.Height * 0.78;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsCommandPaletteVissible() => CommandPaletteHost != null && CommandPaletteHost.Visible;
|
|
||||||
|
|
||||||
void UpdateMenu()
|
void UpdateMenu()
|
||||||
{
|
{
|
||||||
Player.UpdateExternalTracks();
|
Player.UpdateExternalTracks();
|
||||||
@@ -563,12 +556,12 @@ public partial class MainForm : Form
|
|||||||
if (App.AutofitImage > 1)
|
if (App.AutofitImage > 1)
|
||||||
App.AutofitImage = 1;
|
App.AutofitImage = 1;
|
||||||
|
|
||||||
bool isAudio = FileTypes.IsAudio(Player.Path.Ext());
|
bool isAudio = FileTypes.IsAudio(Player.Path.Ext);
|
||||||
|
|
||||||
if (isAudio)
|
if (isAudio)
|
||||||
autoFitHeight = Convert.ToInt32(workingArea.Height * App.AutofitAudio);
|
autoFitHeight = Convert.ToInt32(workingArea.Height * App.AutofitAudio);
|
||||||
|
|
||||||
if (FileTypes.IsImage(Player.Path.Ext()))
|
if (FileTypes.IsImage(Player.Path.Ext))
|
||||||
autoFitHeight = Convert.ToInt32(workingArea.Height * App.AutofitImage);
|
autoFitHeight = Convert.ToInt32(workingArea.Height * App.AutofitImage);
|
||||||
|
|
||||||
if (Player.VideoSize.Height == 0 || Player.VideoSize.Width == 0)
|
if (Player.VideoSize.Height == 0 || Player.VideoSize.Width == 0)
|
||||||
@@ -686,14 +679,17 @@ public partial class MainForm : Form
|
|||||||
|
|
||||||
Point middlePos = new Point(Left + Width / 2, Top + Height / 2);
|
Point middlePos = new Point(Left + Width / 2, Top + Height / 2);
|
||||||
var rect = new RECT(new Rectangle(screen.Bounds.X, screen.Bounds.Y, width, height));
|
var rect = new RECT(new Rectangle(screen.Bounds.X, screen.Bounds.Y, width, height));
|
||||||
|
|
||||||
AddWindowBorders(Handle, ref rect, GetDpi(Handle), !Player.TitleBar);
|
AddWindowBorders(Handle, ref rect, GetDpi(Handle), !Player.TitleBar);
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
@@ -793,7 +789,7 @@ public partial class MainForm : Form
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
WindowState = FormWindowState.Normal;
|
WindowState = FormWindowState.Normal;
|
||||||
|
|
||||||
if (!Player.WasInitialSizeSet)
|
if (!Player.WasInitialSizeSet)
|
||||||
SetFormPosAndSize();
|
SetFormPosAndSize();
|
||||||
}
|
}
|
||||||
@@ -1052,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;
|
||||||
}
|
}
|
||||||
@@ -1110,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;
|
||||||
@@ -1256,11 +1254,9 @@ 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())
|
||||||
!IsCommandPaletteVissible())
|
|
||||||
|
|
||||||
HideCursor();
|
HideCursor();
|
||||||
}
|
}
|
||||||
@@ -1317,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;
|
||||||
|
|
||||||
@@ -1483,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;
|
||||||
@@ -1520,103 +1526,4 @@ public partial class MainForm : Form
|
|||||||
|
|
||||||
[DllImport("DwmApi")]
|
[DllImport("DwmApi")]
|
||||||
static extern int DwmSetWindowAttribute(IntPtr hwnd, int attr, int[] attrValue, int attrSize);
|
static extern int DwmSetWindowAttribute(IntPtr hwnd, int attr, int[] attrValue, int attrSize);
|
||||||
|
|
||||||
//protected override void OnLayout(LayoutEventArgs args)
|
|
||||||
//{
|
|
||||||
// base.OnLayout(args);
|
|
||||||
// AdjustCommandPaletteLeftAndWidth();
|
|
||||||
//}
|
|
||||||
|
|
||||||
//class ElementHostEx : ElementHost
|
|
||||||
//{
|
|
||||||
// protected override void OnHandleCreated(EventArgs e)
|
|
||||||
// {
|
|
||||||
// base.OnHandleCreated(e);
|
|
||||||
// const int LWA_ColorKey = 1;
|
|
||||||
|
|
||||||
// if (Environment.OSVersion.Version > new Version(10, 0))
|
|
||||||
// SetLayeredWindowAttributes(Handle, 0x111111, 255, LWA_ColorKey);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// protected override CreateParams CreateParams
|
|
||||||
// {
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// CreateParams cp = base.CreateParams;
|
|
||||||
|
|
||||||
// if (Environment.OSVersion.Version > new Version(10, 0))
|
|
||||||
// cp.ExStyle |= 0x00080000; // WS_EX_LAYERED
|
|
||||||
|
|
||||||
// cp.ExStyle |= 0x00000008; // WS_EX_TOPMOST
|
|
||||||
|
|
||||||
// cp.Style |= 0x04000000; //WS_CLIPSIBLINGS
|
|
||||||
// cp.Style |= 0x02000000; //WS_CLIPCHILDREN
|
|
||||||
|
|
||||||
// return cp;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
|
||||||
// {
|
|
||||||
// try
|
|
||||||
// {
|
|
||||||
// return base.ProcessCmdKey(ref msg, keyData);
|
|
||||||
// }
|
|
||||||
// catch (Exception)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// [DllImport("user32.dll")]
|
|
||||||
// public static extern bool SetLayeredWindowAttributes(IntPtr hWnd, int crKey, byte alpha, int dwFlags);
|
|
||||||
//}
|
|
||||||
|
|
||||||
//public void ShowCommandPalette()
|
|
||||||
//{
|
|
||||||
// if (CommandPaletteHost == null)
|
|
||||||
// {
|
|
||||||
// CommandPaletteHost = new ElementHostEx();
|
|
||||||
// CommandPaletteHost.Dock = DockStyle.Fill;
|
|
||||||
// CommandPaletteHost.BackColor = Color.FromArgb(0x111111);
|
|
||||||
|
|
||||||
// AdjustCommandPaletteLeftAndWidth();
|
|
||||||
// CommandPaletteHost.Child = CommandPalette.Instance;
|
|
||||||
// CommandPalette.Instance.AdjustHeight();
|
|
||||||
// Controls.Add(CommandPaletteHost);
|
|
||||||
// CommandPaletteHost.BringToFront();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
public void HideCommandPalette()
|
|
||||||
{
|
|
||||||
if (CommandPaletteHost != null)
|
|
||||||
{
|
|
||||||
CommandPaletteHost.Visible = false;
|
|
||||||
|
|
||||||
CommandPalette.Instance.Items.Clear();
|
|
||||||
CommandPalette.Instance.SearchControl.SearchTextBox.Text = "";
|
|
||||||
CommandPalette.Instance.UpdateLayout();
|
|
||||||
|
|
||||||
ActiveControl = null;
|
|
||||||
Controls.Remove(CommandPaletteHost);
|
|
||||||
|
|
||||||
CommandPaletteHost.Child = null;
|
|
||||||
CommandPaletteHost.Dispose();
|
|
||||||
CommandPaletteHost = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//void AdjustCommandPaletteLeftAndWidth()
|
|
||||||
//{
|
|
||||||
// if (CommandPaletteHost == null)
|
|
||||||
// return;
|
|
||||||
|
|
||||||
// CommandPaletteHost.Width = FontHeight * 26;
|
|
||||||
|
|
||||||
// if (CommandPaletteHost.Width > ClientSize.Width)
|
|
||||||
// CommandPaletteHost.Width = ClientSize.Width;
|
|
||||||
|
|
||||||
// CommandPaletteHost.Left = (ClientSize.Width - CommandPaletteHost.Size.Width) / 2;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
|
||||||
@@ -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}"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
using CommunityToolkit.Mvvm.Messaging;
|
using CommunityToolkit.Mvvm.Messaging;
|
||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
using MpvNet.Help;
|
using MpvNet.Help;
|
||||||
using MpvNet.MVVM;
|
using MpvNet.MVVM;
|
||||||
|
|
||||||
@@ -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";
|
||||||
@@ -77,20 +77,14 @@ public class AppClass
|
|||||||
Player.Initialized += Player_Initialized;
|
Player.Initialized += Player_Initialized;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string About => "Copyright (C) 2000-2023 mpv.net/mpv/mplayer\n" +
|
public static string About => "Copyright (C) 2000-2024 mpv.net/mpv/mplayer\n" +
|
||||||
$"{AppInfo.Product} {AppInfo.Version}" + GetLastWriteTime(Environment.ProcessPath!) + "\n" +
|
$"{AppInfo.Product} v{AppInfo.Version}" + GetLastWriteTime(Environment.ProcessPath!) + "\n" +
|
||||||
$"{Player.GetPropertyString("mpv-version")}" + GetLastWriteTime(Folder.Startup + "libmpv-2.dll") + "\n" +
|
$"{Player.GetPropertyString("mpv-version")}" + GetLastWriteTime(Folder.Startup + "libmpv-2.dll") + "\n" +
|
||||||
$"ffmpeg {Player.GetPropertyString("ffmpeg-version")}\n" + "GPL v2 License";
|
$"ffmpeg {Player.GetPropertyString("ffmpeg-version")}\n" +
|
||||||
|
$"MediaInfo v{FileVersionInfo.GetVersionInfo(Folder.Startup + "MediaInfo.dll").FileVersion}" +
|
||||||
|
$"{GetLastWriteTime(Folder.Startup + "MediaInfo.dll")}" + "\n" + "GPL v2 License";
|
||||||
|
|
||||||
static string GetLastWriteTime(string path)
|
static string GetLastWriteTime(string path) => $" ({File.GetLastWriteTime(path).ToShortDateString()})";
|
||||||
{
|
|
||||||
if (IsStoreVersion)
|
|
||||||
return "";
|
|
||||||
|
|
||||||
return $" ({File.GetLastWriteTime(path).ToShortDateString()})";
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool IsStoreVersion => Folder.Startup.Contains("FrankSkare.mpvnet");
|
|
||||||
|
|
||||||
void Player_Initialized()
|
void Player_Initialized()
|
||||||
{
|
{
|
||||||
@@ -137,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;
|
||||||
@@ -158,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)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
|
|
||||||
namespace MpvNet;
|
namespace MpvNet;
|
||||||
|
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ public class CommandLine
|
|||||||
{
|
{
|
||||||
static List<StringPair>? _arguments;
|
static List<StringPair>? _arguments;
|
||||||
|
|
||||||
|
static string[] _preInitProperties { get; } = {
|
||||||
|
"input-terminal", "terminal", "input-file", "config", "o", "config-dir", "input-conf",
|
||||||
|
"load-scripts", "scripts", "script-opts", "player-operation-mode", "idle", "log-file",
|
||||||
|
"msg-color", "dump-stats", "msg-level", "really-quiet" };
|
||||||
|
|
||||||
public static List<StringPair> Arguments
|
public static List<StringPair> Arguments
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -12,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))
|
||||||
{
|
{
|
||||||
@@ -32,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))
|
||||||
@@ -41,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;
|
||||||
@@ -53,11 +59,89 @@ public class CommandLine
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ProcessCommandLineArgsPreInit()
|
||||||
|
{
|
||||||
|
foreach (var pair in Arguments)
|
||||||
|
{
|
||||||
|
if (pair.Name.EndsWith("-add") ||
|
||||||
|
pair.Name.EndsWith("-set") ||
|
||||||
|
pair.Name.EndsWith("-pre") ||
|
||||||
|
pair.Name.EndsWith("-clr") ||
|
||||||
|
pair.Name.EndsWith("-append") ||
|
||||||
|
pair.Name.EndsWith("-remove") ||
|
||||||
|
pair.Name.EndsWith("-toggle"))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player.ProcessProperty(pair.Name, pair.Value);
|
||||||
|
|
||||||
|
if (!App.ProcessProperty(pair.Name, pair.Value))
|
||||||
|
Player.SetPropertyString(pair.Name, pair.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ProcessCommandLineArgsPostInit()
|
||||||
|
{
|
||||||
|
foreach (var pair in Arguments)
|
||||||
|
{
|
||||||
|
if (_preInitProperties.Contains(pair.Name))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (pair.Name.EndsWith("-add"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^4], "add", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-set"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^4], "set", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-append"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^7], "append", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-pre"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^4], "pre", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-clr"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^4], "clr", "");
|
||||||
|
else if (pair.Name.EndsWith("-remove"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^7], "remove", pair.Value);
|
||||||
|
else if (pair.Name.EndsWith("-toggle"))
|
||||||
|
Player.CommandV("change-list", pair.Name[..^7], "toggle", pair.Value);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Player.ProcessProperty(pair.Name, pair.Value);
|
||||||
|
|
||||||
|
if (!App.ProcessProperty(pair.Name, pair.Value))
|
||||||
|
Player.SetPropertyString(pair.Name, pair.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ProcessCommandLineFiles()
|
||||||
|
{
|
||||||
|
List<string> files = [];
|
||||||
|
|
||||||
|
foreach (string arg in Environment.GetCommandLineArgs().Skip(1))
|
||||||
|
{
|
||||||
|
if (!arg.StartsWith("--") && (arg == "-" || arg.Contains("://") ||
|
||||||
|
arg.Contains(":\\") || arg.StartsWith("\\\\") || arg.StartsWith('.') ||
|
||||||
|
File.Exists(arg)))
|
||||||
|
{
|
||||||
|
files.Add(arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Player.LoadFiles([.. files], !App.Queue, App.Queue);
|
||||||
|
|
||||||
|
if (App.CommandLine.Contains("--shuffle"))
|
||||||
|
{
|
||||||
|
Player.Command("playlist-shuffle");
|
||||||
|
Player.SetPropertyInt("playlist-pos", 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
@@ -65,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 "";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
|
|
||||||
namespace MpvNet;
|
namespace MpvNet;
|
||||||
|
|
||||||
@@ -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,8 +31,12 @@ 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.Separator + Path.GetFileName(dir) + ".dll");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
|
|
||||||
namespace MpvNet.ExtensionMethod;
|
|
||||||
|
|
||||||
public static class ObjectExtension
|
|
||||||
{
|
|
||||||
public static string ToStringEx(this object instance) => instance?.ToString() ?? "";
|
|
||||||
}
|
|
||||||
10
src/MpvNet/ExtensionMethod/ObjectExtensions.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
namespace MpvNet.Extensions;
|
||||||
|
|
||||||
|
public static class ObjectExtensions
|
||||||
|
{
|
||||||
|
extension(object instance)
|
||||||
|
{
|
||||||
|
public string ToStringEx() => instance?.ToString() ?? "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
|
|
||||||
namespace MpvNet.ExtensionMethod;
|
|
||||||
|
|
||||||
public static class PathStringExtension
|
|
||||||
{
|
|
||||||
public static string Ext(this string filepath) => filepath.Ext(false);
|
|
||||||
|
|
||||||
public static string Ext(this string filepath, bool includeDot)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(filepath))
|
|
||||||
return "";
|
|
||||||
|
|
||||||
char[] chars = filepath.ToCharArray();
|
|
||||||
|
|
||||||
for (int x = filepath.Length - 1; x >= 0; x--)
|
|
||||||
{
|
|
||||||
if (chars[x] == Path.DirectorySeparatorChar)
|
|
||||||
return "";
|
|
||||||
|
|
||||||
if (chars[x] == '.')
|
|
||||||
return filepath.Substring(x + (includeDot ? 0 : 1)).ToLowerInvariant();
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string FileName(this string instance)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(instance))
|
|
||||||
return "";
|
|
||||||
|
|
||||||
int index = instance.LastIndexOf('\\');
|
|
||||||
|
|
||||||
if (index > -1)
|
|
||||||
return instance.Substring(index + 1);
|
|
||||||
|
|
||||||
index = instance.LastIndexOf('/');
|
|
||||||
|
|
||||||
if (index > -1)
|
|
||||||
return instance.Substring(index + 1);
|
|
||||||
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string ShortPath(this string instance, int maxLength)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(instance))
|
|
||||||
return "";
|
|
||||||
|
|
||||||
if (instance.Length > maxLength && instance.Substring(1, 2) == ":\\")
|
|
||||||
instance = instance[..3] + "...\\" + instance.FileName();
|
|
||||||
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ensure trailing directory separator char
|
|
||||||
public static string AddSep(this string instance)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(instance))
|
|
||||||
return "";
|
|
||||||
|
|
||||||
if (!instance.EndsWith(Path.DirectorySeparatorChar.ToString()))
|
|
||||||
instance = instance + Path.DirectorySeparatorChar;
|
|
||||||
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
77
src/MpvNet/ExtensionMethod/PathStringExtensions.cs
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
|
||||||
|
namespace MpvNet.Extensions;
|
||||||
|
|
||||||
|
public static class PathStringExtensions
|
||||||
|
{
|
||||||
|
extension(string filepath)
|
||||||
|
{
|
||||||
|
public string Ext => GetExt(filepath, false);
|
||||||
|
|
||||||
|
static string GetExt(string path, bool includeDot)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(path))
|
||||||
|
return "";
|
||||||
|
|
||||||
|
char[] chars = path.ToCharArray();
|
||||||
|
|
||||||
|
for (int x = path.Length - 1; x >= 0; x--)
|
||||||
|
{
|
||||||
|
if (chars[x] == '/')
|
||||||
|
return "";
|
||||||
|
if (chars[x] == '\\')
|
||||||
|
return "";
|
||||||
|
if (chars[x] == '.')
|
||||||
|
return path[(x + (includeDot ? 0 : 1))..].ToLowerInvariant();
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string FileName
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(filepath))
|
||||||
|
return "";
|
||||||
|
|
||||||
|
int index = filepath.LastIndexOf('\\');
|
||||||
|
|
||||||
|
if (index > -1)
|
||||||
|
return filepath[(index + 1)..];
|
||||||
|
|
||||||
|
index = filepath.LastIndexOf('/');
|
||||||
|
|
||||||
|
if (index > -1)
|
||||||
|
return filepath[(index + 1)..];
|
||||||
|
|
||||||
|
return filepath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ShortPath(int maxLength)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(filepath))
|
||||||
|
return "";
|
||||||
|
|
||||||
|
if (filepath.Length > maxLength && filepath.Substring(1, 2) == ":\\")
|
||||||
|
filepath = $"{filepath[..3]}...\\{filepath.FileName}";
|
||||||
|
|
||||||
|
return filepath;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure trailing directory separator char
|
||||||
|
public string Separator
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(filepath))
|
||||||
|
return "";
|
||||||
|
|
||||||
|
if (!filepath.EndsWith(Path.DirectorySeparatorChar.ToString()))
|
||||||
|
filepath = filepath + Path.DirectorySeparatorChar;
|
||||||
|
|
||||||
|
return filepath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
|
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
|
||||||
namespace MpvNet.ExtensionMethod;
|
namespace MpvNet.Extensions;
|
||||||
|
|
||||||
public static class StringExtension
|
public static class StringExtensions
|
||||||
{
|
{
|
||||||
public static string ToUpperEx(this string instance) => (instance != null) ? instance.ToUpperInvariant() : "";
|
public static string ToUpperEx(this string instance) => instance?.ToUpperInvariant() ?? "";
|
||||||
|
|
||||||
public static string ToLowerEx(this string instance) => (instance != null) ? instance.ToLowerInvariant() : "";
|
public static string ToLowerEx(this string instance) => instance?.ToLowerInvariant() ?? "";
|
||||||
|
|
||||||
public static string TrimEx(this string? instance) => (instance == null) ? "" : instance.Trim();
|
public static string TrimEx(this string? instance) => instance?.Trim() ?? "";
|
||||||
|
|
||||||
public static int ToInt(this string instance, int defaultValue = 0)
|
public static int ToInt(this string instance, int defaultValue = 0)
|
||||||
{
|
{
|
||||||
@@ -1,20 +1,53 @@
|
|||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
|
|
||||||
namespace MpvNet;
|
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));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
|
|
||||||
namespace MpvNet;
|
namespace MpvNet;
|
||||||
|
|
||||||
public class Folder
|
public class Folder
|
||||||
{
|
{
|
||||||
public static string Startup { get; } = Path.GetDirectoryName(Environment.ProcessPath)!.AddSep();
|
public static string Startup { get; } = Path.GetDirectoryName(Environment.ProcessPath)!.Separator;
|
||||||
public static string AppData { get; } = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).AddSep();
|
public static string AppData { get; } = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).Separator;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,4 +10,5 @@ public static class Global
|
|||||||
public static readonly AppClass App = new AppClass();
|
public static readonly AppClass App = new AppClass();
|
||||||
|
|
||||||
public static string _(string value) => Translator.Current!.Gettext(value);
|
public static string _(string value) => Translator.Current!.Gettext(value);
|
||||||
|
public static string _p(string context, string value) => Translator.Current!.GetParticularString(context, value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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("-", "");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -7,220 +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"), _("Up"), "add volume 2", "+"),
|
Add(b, new ("", _("Track")));
|
||||||
new (_("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"), _("Show Playlist"), "script-message-to mpvnet show-playlist", "F8"),
|
Add(b, new (_("Speed"), _("-10%"), "multiply speed 1/1.1", "["));
|
||||||
new (_("View"), _("Toggle Statistics"), "script-binding stats/display-stats-toggle", "t"),
|
Add(b, new (_("Speed"), _("+10%"), "multiply speed 1.1", "]"));
|
||||||
new (_("View"), _("Toggle OSC Visibility"), "script-binding osc/visibility", "Del"),
|
Add(b, new (_("Speed"), "-"));
|
||||||
new (_("View"), _("Show Media Info On-Screen"), "script-message-to mpvnet show-media-info osd", "i"),
|
Add(b, new (_("Speed"), _("Half"), "multiply speed 0.5", "{"));
|
||||||
new (_("View"), _("Show Media Info Message Box"), "script-message-to mpvnet show-media-info msgbox", "Ctrl+m"),
|
Add(b, new (_("Speed"), _("Double"), "multiply speed 2.0", "}"));
|
||||||
new (_("View"), _("Show Progress"), "show-progress", "p"),
|
Add(b, new (_("Speed"), "-"));
|
||||||
new (_("View") + " > " + _("More"), _("Show Console"), "script-binding console/enable", "`"),
|
Add(b, new (_("Speed"), _("Reset"), "set speed 1", "BS"));
|
||||||
new (_("View") + " > " + _("More"), _("Show Audio Devices"), "script-message-to mpvnet show-audio-devices"),
|
|
||||||
new (_("View") + " > " + _("More"), _("Show Commands"), "script-message-to mpvnet show-commands", "F2"),
|
|
||||||
new (_("View") + " > " + _("More"), _("Show Bindings"), "script-message-to mpvnet show-bindings"),
|
|
||||||
new (_("View") + " > " + _("More"), _("Show Properties"), "script-message-to mpvnet show-properties", "F3"),
|
|
||||||
new (_("View") + " > " + _("More"), _("Show Keys"), "script-message-to mpvnet show-keys", "Alt+k"),
|
|
||||||
new (_("View") + " > " + _("More"), _("Show Protocols"), "script-message-to mpvnet show-protocols", "Alt+p"),
|
|
||||||
new (_("View") + " > " + _("More"), _("Show Decoders"), "script-message-to mpvnet show-decoders", "Alt+d"),
|
|
||||||
new (_("View") + " > " + _("More"), _("Show Demuxers"), "script-message-to mpvnet show-demuxers"),
|
|
||||||
|
|
||||||
new (_("Window"), _("Fullscreen"), "cycle fullscreen", "Enter"),
|
Add(b, new (_("View"), _("Playlist"), "script-binding select/select-playlist", "F8"));
|
||||||
new (_("Window") + " > " + _("Zoom"), _("Enlarge"), "script-message-to mpvnet scale-window 1.2", "Alt++"),
|
Add(b, new (_("View"), _("Toggle Statistics"), "script-binding stats/display-stats-toggle", "t"));
|
||||||
new (_("Window") + " > " + _("Zoom"), _("Shrink"), "script-message-to mpvnet scale-window 0.8", "Alt+-"),
|
Add(b, new (_("View"), _("Toggle OSC Visibility"), "script-binding osc/visibility", "Del"));
|
||||||
new (_("Window") + " > " + _("Zoom"), "-"),
|
Add(b, new (_("View"), _("Media Info On-Screen"), "script-message-to mpvnet show-media-info osd", "i"));
|
||||||
new (_("Window") + " > " + _("Zoom"), _("50 %"), "script-message-to mpvnet window-scale 0.5", "Alt+0"),
|
Add(b, new (_("View"), _("Media Info Message Box"), "script-message-to mpvnet show-media-info msgbox", "Ctrl+m"));
|
||||||
new (_("Window") + " > " + _("Zoom"), _("100 %"), "script-message-to mpvnet window-scale 1.0", "Alt+1"),
|
Add(b, new (_("View"), _("Progress"), "show-progress", "p"));
|
||||||
new (_("Window") + " > " + _("Zoom"), _("200 %"), "script-message-to mpvnet window-scale 2.0", "Alt+2"),
|
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("On-Screen Menu"), "script-binding select/menu", "F1"));
|
||||||
new (_("Window") + " > " + _("Zoom"), _("300 %"), "script-message-to mpvnet window-scale 3.0", "Alt+3"),
|
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Playlist"), "script-binding select/select-playlist", "F8"));
|
||||||
new (_("Window") + " > " + _("Move"), _("Left"), "script-message-to mpvnet move-window left", "Alt+Left"),
|
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Bindings"), "script-binding select/select-binding", "F2"));
|
||||||
new (_("Window") + " > " + _("Move"), _("Right"), "script-message-to mpvnet move-window right", "Alt+Right"),
|
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Properties"), "script-binding select/show-properties", "F3"));
|
||||||
new (_("Window") + " > " + _("Move"), _("Up"), "script-message-to mpvnet move-window top", "Alt+Up"),
|
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Chapters"), "script-binding select/select-chapter", "Alt+c"));
|
||||||
new (_("Window") + " > " + _("Move"), _("Down"), "script-message-to mpvnet move-window bottom", "Alt+Down"),
|
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Tracks"), "script-binding select/select-track", "F9"));
|
||||||
new (_("Window") + " > " + _("Move"), _("Center"), "script-message-to mpvnet move-window center", "Alt+BS"),
|
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Audio Tracks"), "script-binding select/select-aid", "Alt+a"));
|
||||||
new (_("Window"), _("Toggle Border"), "cycle border", "b"),
|
Add(b, new (_("View") + " > " + _("On-Screen Menu"), _("Subtitle Tracks"), "script-binding select/select-sid", "Alt+s"));
|
||||||
new (_("Window"), _("Toggle On Top"), "cycle ontop", "Ctrl+t"),
|
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 ("", _("Profile")),
|
Add(b, new (_("Window"), _("Fullscreen"), "cycle fullscreen", "Enter"));
|
||||||
|
Add(b, new (_("Window") + " > " + _("Zoom"), _("Enlarge"), "script-message-to mpvnet scale-window 1.2", "Alt++"));
|
||||||
new (_("Settings"), _("Show Config Editor"), "script-message-to mpvnet show-conf-editor", "Ctrl+,"),
|
Add(b, new (_("Window") + " > " + _("Zoom"), _("Shrink"), "script-message-to mpvnet scale-window 0.8", "Alt+-"));
|
||||||
new (_("Settings"), _("Show Input Editor"), "script-message-to mpvnet show-input-editor", "Ctrl+i"),
|
Add(b, new (_("Window") + " > " + _("Zoom"), "-"));
|
||||||
new (_("Settings"), "-"),
|
Add(b, new (_("Window") + " > " + _("Zoom"), _("50 %"), "script-message-to mpvnet window-scale 0.5", "Alt+0"));
|
||||||
new (_("Settings"), _("Edit mpv.conf"), "script-message-to mpvnet edit-conf-file mpv.conf", "c"),
|
Add(b, new (_("Window") + " > " + _("Zoom"), _("100 %"), "script-message-to mpvnet window-scale 1.0", "Alt+1"));
|
||||||
new (_("Settings"), _("Edit input.conf"), "script-message-to mpvnet edit-conf-file input.conf", "k"),
|
Add(b, new (_("Window") + " > " + _("Zoom"), _("200 %"), "script-message-to mpvnet window-scale 2.0", "Alt+2"));
|
||||||
new (_("Settings"), "-"),
|
Add(b, new (_("Window") + " > " + _("Zoom"), _("300 %"), "script-message-to mpvnet window-scale 3.0", "Alt+3"));
|
||||||
new (_("Settings"), _("Open Config Folder"), "script-message-to mpvnet open-conf-folder", "Ctrl+f"),
|
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Left"), "script-message-to mpvnet move-window left", "Alt+Left"));
|
||||||
new (_("Settings") + " > " + _("Setup"), _("Register video file associations"), "script-message-to mpvnet reg-file-assoc video"),
|
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Right"), "script-message-to mpvnet move-window right", "Alt+Right"));
|
||||||
new (_("Settings") + " > " + _("Setup"), _("Register audio file associations"), "script-message-to mpvnet reg-file-assoc audio"),
|
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Up"), "script-message-to mpvnet move-window top", "Alt+Up"));
|
||||||
new (_("Settings") + " > " + _("Setup"), _("Register image file associations"), "script-message-to mpvnet reg-file-assoc image"),
|
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Down"), "script-message-to mpvnet move-window bottom", "Alt+Down"));
|
||||||
new (_("Settings") + " > " + _("Setup"), _("Unregister file associations"), "script-message-to mpvnet reg-file-assoc unreg"),
|
Add(b, new (_("Window") + " > " + _("Move"), _p("Move", "Center"), "script-message-to mpvnet move-window center", "Alt+BS"));
|
||||||
new (_("Settings") + " > " + _("Setup"), "-"),
|
Add(b, new (_("Window"), _("Toggle Border"), "cycle border", "b"));
|
||||||
new (_("Settings") + " > " + _("Setup"), _("Add mpv.net to Path environment variable"), "script-message-to mpvnet add-to-path"),
|
Add(b, new (_("Window"), _("Toggle On Top"), "cycle ontop", "Ctrl+t"));
|
||||||
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"),
|
|
||||||
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")),
|
|
||||||
|
|
||||||
new (_("Help"), _("Website mpv"), "script-message-to mpvnet shell-execute https://mpv.io", "Ctrl+Home"),
|
Add(b, new ("", _("Profile")));
|
||||||
new (_("Help"), _("Website mpv.net"), "script-message-to mpvnet shell-execute https://github.com/mpvnet-player/mpv.net"),
|
|
||||||
new (_("Help"), "-"),
|
|
||||||
new (_("Help"), _("Manual mpv"), "script-message-to mpvnet shell-execute https://mpv.io/manual/stable", "Ctrl+F1"),
|
|
||||||
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"),
|
|
||||||
new (_("Help"), "-"),
|
|
||||||
new (_("Help"), _("awesome-mpv"), "script-message-to mpvnet shell-execute https://github.com/stax76/awesome-mpv", "Ctrl+a"),
|
|
||||||
new (_("Help"), _("About mpv.net"), "script-message-to mpvnet show-about"),
|
|
||||||
|
|
||||||
new ("", "", "quit", "q", _("Exit")),
|
Add(b, new (_("Config"), _("Show Config Editor"), "script-message-to mpvnet show-conf-editor", "Ctrl+,"));
|
||||||
new ("", "", "script-message-to mpvnet show-menu", "MBTN_Right", _("Show Menu")),
|
Add(b, new (_("Config"), _("Show Input Editor"), "script-message-to mpvnet show-input-editor", "Ctrl+i"));
|
||||||
new ("", "", "script-message-to mpvnet play-pause", "Play", _("Play/Pause")),
|
Add(b, new (_("Config"), "-"));
|
||||||
new ("", "", "script-message-to mpvnet play-pause", "Pause", _("Play/Pause")),
|
Add(b, new (_("Config"), _("Edit mpv.conf"), "script-message-to mpvnet edit-conf-file mpv.conf", "c"));
|
||||||
new ("", "", "script-message-to mpvnet play-pause", "PlayPause", _("Play/Pause")),
|
Add(b, new (_("Config"), _("Edit input.conf"), "script-message-to mpvnet edit-conf-file input.conf", "k"));
|
||||||
new ("", "", "script-message-to mpvnet play-pause", "MBTN_Mid", _("Play/Pause")),
|
Add(b, new (_("Config"), "-"));
|
||||||
new ("", "", "stop", "Stop", _("Stop")),
|
Add(b, new (_("Config"), _("Open Config Folder"), "script-message-to mpvnet open-conf-folder", "Ctrl+f"));
|
||||||
new ("", "", "seek 60", "Forward", _("Forward")),
|
Add(b, new (_("Config") + " > " + _("Setup"), _("Register video file associations"), "script-message-to mpvnet reg-file-assoc video"));
|
||||||
new ("", "", "seek -60", "Rewind", _("Backward")),
|
Add(b, new (_("Config") + " > " + _("Setup"), _("Register audio file associations"), "script-message-to mpvnet reg-file-assoc audio"));
|
||||||
new ("", "", "add volume 2", "Wheel_Up", _("Volume Up")),
|
Add(b, new (_("Config") + " > " + _("Setup"), _("Register image file associations"), "script-message-to mpvnet reg-file-assoc image"));
|
||||||
new ("", "", "add volume -2", "Wheel_Down", _("Volume Down")),
|
Add(b, new (_("Config") + " > " + _("Setup"), _("Unregister file associations"), "script-message-to mpvnet reg-file-assoc unreg"));
|
||||||
new ("", "", "add volume 2", "Wheel_Right", _("Volume Up")),
|
Add(b, new (_("Config") + " > " + _("Setup"), "-"));
|
||||||
new ("", "", "add volume -2", "Wheel_Left", _("Volume Down")),
|
Add(b, new (_("Config") + " > " + _("Setup"), _("Add mpv.net to Path environment variable"), "script-message-to mpvnet add-to-path"));
|
||||||
new ("", "", "playlist-prev", "Prev", _("Previous File")),
|
Add(b, new (_("Config") + " > " + _("Setup"), _("Remove mpv.net from Path environment variable"), "script-message-to mpvnet remove-from-path"));
|
||||||
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")),
|
|
||||||
|
|
||||||
//new (_("Command Palette"), _("Commands"), "script-message-to mpvnet show-command-palette", "F1"),
|
Add(b, new (_("Tools"), _("Set/clear A-B loop points"), "ab-loop", "l"));
|
||||||
};
|
Add(b, new (_("Tools"), _("Toggle infinite file looping"), "cycle-values loop-file inf no", "L"));
|
||||||
|
Add(b, new (_("Tools"), _("Shuffle Playlist"), "playlist-shuffle"));
|
||||||
|
Add(b, new (_("Tools"), _("Toggle Hardware Decoding"), "cycle-values hwdec auto no", "Ctrl+h"));
|
||||||
|
Add(b, new (_("Tools"), _("Exit Watch Later"), "quit-watch-later", "Q"));
|
||||||
|
|
||||||
return bindings;
|
Add(b, 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"));
|
||||||
|
|
||||||
|
Add(b, new ("", "", "quit", "q", _("Exit")));
|
||||||
|
Add(b, new ("", "", "script-message-to mpvnet show-menu", "MBTN_Right", _("Show Menu")));
|
||||||
|
Add(b, new("", "", "script-message-to mpvnet play-pause", "Play", _("Play/Pause")));
|
||||||
|
Add(b, new("", "", "script-message-to mpvnet play-pause", "Pause", _("Play/Pause")));
|
||||||
|
Add(b, new("", "", "script-message-to mpvnet play-pause", "PlayPause", _("Play/Pause")));
|
||||||
|
Add(b, new("", "", "script-message-to mpvnet play-pause", "MBTN_Mid", _("Play/Pause")));
|
||||||
|
Add(b, new ("", "", "stop", "Stop", _("Stop")));
|
||||||
|
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")));
|
||||||
|
|
||||||
|
return b;
|
||||||
|
|
||||||
|
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)
|
||||||
@@ -332,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))
|
||||||
{
|
{
|
||||||
@@ -348,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();
|
||||||
@@ -413,57 +444,9 @@ public static class InputHelp
|
|||||||
return defaults;
|
return defaults;
|
||||||
}
|
}
|
||||||
|
|
||||||
// only used by dead command palette
|
|
||||||
public static List<Binding> GetBindingsFromContent(string content)
|
|
||||||
{
|
|
||||||
var bindings = new List<Binding>();
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(content))
|
|
||||||
{
|
|
||||||
foreach (string line in content.Split('\r', '\n'))
|
|
||||||
{
|
|
||||||
string value = line.Trim();
|
|
||||||
|
|
||||||
if (value.StartsWith("#"))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (!value.Contains(' '))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
Binding binding = new Binding();
|
|
||||||
binding.Input = value[..value.IndexOf(" ")];
|
|
||||||
|
|
||||||
if (binding.Input == "_")
|
|
||||||
binding.Input = "";
|
|
||||||
|
|
||||||
value = value[(value.IndexOf(" ") + 1)..];
|
|
||||||
|
|
||||||
if (value.Contains(App.MenuSyntax))
|
|
||||||
{
|
|
||||||
binding.Comment = value[(value.IndexOf(App.MenuSyntax) + App.MenuSyntax.Length)..].Trim();
|
|
||||||
value = value[..value.IndexOf(App.MenuSyntax)];
|
|
||||||
|
|
||||||
if (binding.Comment.Contains(';'))
|
|
||||||
binding.Comment = binding.Comment[(binding.Comment.IndexOf(";") + 1)..].Trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.Command = value.Trim();
|
|
||||||
|
|
||||||
if (binding.Command == "")
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (binding.Command.ToLower() == "ignore")
|
|
||||||
binding.Command = "";
|
|
||||||
|
|
||||||
bindings.Add(binding);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return bindings;
|
|
||||||
}
|
|
||||||
|
|
||||||
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)
|
||||||
{
|
{
|
||||||
@@ -488,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;
|
||||||
|
|||||||
@@ -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)
|
|
||||||
// {
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|||||||
@@ -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,46 +132,72 @@ 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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))
|
||||||
|
|||||||
@@ -1,29 +1,25 @@
|
|||||||
<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>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\docs\changelog.md" Link="Docs\changelog.md" />
|
<None Include="..\..\docs\changelog.md" Link="Docs\changelog.md" />
|
||||||
<None Include="..\..\docs\manual.md" Link="Docs\manual.md" />
|
<None Include="..\..\docs\manual.md" Link="Docs\manual.md" />
|
||||||
<None Include="..\..\README.md" Link="Docs\README.md" />
|
<None Include="..\..\README.md" Link="Docs\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Extension\" />
|
<Folder Include="Docs\" />
|
||||||
<Folder Include="Input\" />
|
</ItemGroup>
|
||||||
<Folder Include="Docs\" />
|
|
||||||
</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>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ using System.Text.Json;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
using MpvNet.ExtensionMethod;
|
using MpvNet.Extensions;
|
||||||
using MpvNet.Help;
|
using MpvNet.Help;
|
||||||
using MpvNet.Native;
|
using MpvNet.Native;
|
||||||
|
|
||||||
@@ -66,17 +66,19 @@ public class MainPlayer : MpvClient
|
|||||||
public event Action<int>? PlaylistPosChanged;
|
public event Action<int>? PlaylistPosChanged;
|
||||||
public event Action<Size>? VideoSizeChanged;
|
public event Action<Size>? VideoSizeChanged;
|
||||||
|
|
||||||
public void Init(IntPtr formHandle, bool processCommandLineArguments = true)
|
public void Init(IntPtr formHandle, bool processCommandLine)
|
||||||
{
|
{
|
||||||
App.ApplyShowMenuFix();
|
App.ApplyShowMenuFix();
|
||||||
|
|
||||||
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");
|
||||||
|
|
||||||
@@ -93,18 +95,23 @@ public class MainPlayer : MpvClient
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (formHandle != IntPtr.Zero)
|
if (formHandle != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
SetPropertyString("force-window", "yes");
|
||||||
SetPropertyLong("wid", formHandle.ToInt64());
|
SetPropertyLong("wid", formHandle.ToInt64());
|
||||||
|
}
|
||||||
|
|
||||||
SetPropertyInt("osd-duration", 2000);
|
SetPropertyInt("osd-duration", 2000);
|
||||||
|
|
||||||
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}");
|
||||||
SetPropertyString("osc", "yes");
|
SetPropertyString("osc", "yes");
|
||||||
SetPropertyString("force-window", "yes");
|
|
||||||
SetPropertyString("config-dir", ConfigFolder);
|
SetPropertyString("config-dir", ConfigFolder);
|
||||||
SetPropertyString("config", "yes");
|
SetPropertyString("config", "yes");
|
||||||
|
|
||||||
@@ -113,14 +120,14 @@ public class MainPlayer : MpvClient
|
|||||||
if (!string.IsNullOrEmpty(UsedInputConfContent))
|
if (!string.IsNullOrEmpty(UsedInputConfContent))
|
||||||
SetPropertyString("input-conf", @"memory://" + UsedInputConfContent);
|
SetPropertyString("input-conf", @"memory://" + UsedInputConfContent);
|
||||||
|
|
||||||
if (processCommandLineArguments)
|
if (processCommandLine)
|
||||||
ProcessCommandLineArgs();
|
CommandLine.ProcessCommandLineArgsPreInit();
|
||||||
|
|
||||||
if (CommandLine.Contains("config-dir"))
|
if (CommandLine.Contains("config-dir"))
|
||||||
{
|
{
|
||||||
string configDir = CommandLine.GetValue("config-dir");
|
string configDir = CommandLine.GetValue("config-dir");
|
||||||
string fullPath = System.IO.Path.GetFullPath(configDir);
|
string fullPath = System.IO.Path.GetFullPath(configDir);
|
||||||
App.InputConf.Path = fullPath.AddSep() + "input.conf";
|
App.InputConf.Path = fullPath.Separator + "input.conf";
|
||||||
string content = App.InputConf.GetContent();
|
string content = App.InputConf.GetContent();
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(content))
|
if (!string.IsNullOrEmpty(content))
|
||||||
@@ -189,7 +196,9 @@ 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)
|
||||||
@@ -241,7 +250,7 @@ public class MainPlayer : MpvClient
|
|||||||
string? mpvnet_home = Environment.GetEnvironmentVariable("MPVNET_HOME");
|
string? mpvnet_home = Environment.GetEnvironmentVariable("MPVNET_HOME");
|
||||||
|
|
||||||
if (Directory.Exists(mpvnet_home))
|
if (Directory.Exists(mpvnet_home))
|
||||||
return _configFolder = mpvnet_home.AddSep();
|
return _configFolder = mpvnet_home.Separator;
|
||||||
|
|
||||||
_configFolder = Folder.Startup + "portable_config";
|
_configFolder = Folder.Startup + "portable_config";
|
||||||
|
|
||||||
@@ -249,28 +258,17 @@ public class MainPlayer : MpvClient
|
|||||||
_configFolder = Folder.AppData + "mpv.net";
|
_configFolder = Folder.AppData + "mpv.net";
|
||||||
|
|
||||||
if (!Directory.Exists(_configFolder))
|
if (!Directory.Exists(_configFolder))
|
||||||
{
|
Directory.CreateDirectory(_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))
|
_configFolder = _configFolder.Separator;
|
||||||
Directory.CreateDirectory(_configFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
_configFolder = _configFolder.AddSep();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return _configFolder;
|
return _configFolder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 {
|
||||||
@@ -281,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))
|
||||||
{
|
{
|
||||||
@@ -289,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;
|
||||||
@@ -313,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;
|
||||||
}
|
}
|
||||||
@@ -339,7 +339,9 @@ 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()
|
||||||
@@ -415,67 +417,6 @@ public class MainPlayer : MpvClient
|
|||||||
|
|
||||||
public void SetBluRayTitle(int id) => LoadFiles(new[] { @"bd://" + id }, false, false);
|
public void SetBluRayTitle(int id) => LoadFiles(new[] { @"bd://" + id }, false, false);
|
||||||
|
|
||||||
public void ProcessCommandLineArgs()
|
|
||||||
{
|
|
||||||
foreach (var pair in CommandLine.Arguments)
|
|
||||||
{
|
|
||||||
if (pair.Name.EndsWith("-add") ||
|
|
||||||
pair.Name.EndsWith("-set") ||
|
|
||||||
pair.Name.EndsWith("-pre") ||
|
|
||||||
pair.Name.EndsWith("-clr") ||
|
|
||||||
pair.Name.EndsWith("-append") ||
|
|
||||||
pair.Name.EndsWith("-remove") ||
|
|
||||||
pair.Name.EndsWith("-toggle"))
|
|
||||||
|
|
||||||
continue;
|
|
||||||
|
|
||||||
ProcessProperty(pair.Name, pair.Value);
|
|
||||||
|
|
||||||
if (!App.ProcessProperty(pair.Name, pair.Value))
|
|
||||||
SetPropertyString(pair.Name, pair.Value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ProcessCommandLineArgsPost()
|
|
||||||
{
|
|
||||||
foreach (var pair in CommandLine.Arguments)
|
|
||||||
{
|
|
||||||
if (pair.Name.EndsWith("-add"))
|
|
||||||
CommandV("change-list", pair.Name[..^4], "add", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-set"))
|
|
||||||
CommandV("change-list", pair.Name[..^4], "set", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-append"))
|
|
||||||
CommandV("change-list", pair.Name[..^7], "append", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-pre"))
|
|
||||||
CommandV("change-list", pair.Name[..^4], "pre", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-clr"))
|
|
||||||
CommandV("change-list", pair.Name[..^4], "clr", "");
|
|
||||||
else if (pair.Name.EndsWith("-remove"))
|
|
||||||
CommandV("change-list", pair.Name[..^7], "remove", pair.Value);
|
|
||||||
else if (pair.Name.EndsWith("-toggle"))
|
|
||||||
CommandV("change-list", pair.Name[..^7], "toggle", pair.Value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ProcessCommandLineFiles()
|
|
||||||
{
|
|
||||||
List<string> files = new List<string>();
|
|
||||||
|
|
||||||
foreach (string arg in Environment.GetCommandLineArgs().Skip(1))
|
|
||||||
if (!arg.StartsWith("--") && (arg == "-" || arg.Contains("://") ||
|
|
||||||
arg.Contains(":\\") || arg.StartsWith("\\\\") || File.Exists(arg)))
|
|
||||||
|
|
||||||
files.Add(arg);
|
|
||||||
|
|
||||||
LoadFiles(files.ToArray(), !App.Queue, App.Queue);
|
|
||||||
|
|
||||||
if (App.CommandLine.Contains("--shuffle"))
|
|
||||||
{
|
|
||||||
Command("playlist-shuffle");
|
|
||||||
SetPropertyInt("playlist-pos", 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public DateTime LastLoad;
|
public DateTime LastLoad;
|
||||||
|
|
||||||
public void LoadFiles(string[]? files, bool loadFolder, bool append)
|
public void LoadFiles(string[]? files, bool loadFolder, bool append)
|
||||||
@@ -500,7 +441,7 @@ public class MainPlayer : MpvClient
|
|||||||
|
|
||||||
file = ConvertFilePath(file);
|
file = ConvertFilePath(file);
|
||||||
|
|
||||||
string ext = file.Ext();
|
string ext = file.Ext;
|
||||||
|
|
||||||
if (OperatingSystem.IsWindows())
|
if (OperatingSystem.IsWindows())
|
||||||
{
|
{
|
||||||
@@ -512,17 +453,9 @@ public class MainPlayer : MpvClient
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ext == "iso")
|
if (ext == "iso")
|
||||||
LoadBluRayISO(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)
|
||||||
@@ -547,12 +480,24 @@ public class MainPlayer : MpvClient
|
|||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadBluRayISO(string path)
|
public void LoadISO(string path)
|
||||||
{
|
{
|
||||||
Command("stop");
|
using var mi = new MediaInfo(path);
|
||||||
Thread.Sleep(500);
|
|
||||||
SetPropertyString("bluray-device", path);
|
if (mi.GetGeneral("Format") == "ISO 9660 / DVD Video")
|
||||||
LoadFiles(new[] { @"bd://" }, false, false);
|
{
|
||||||
|
Command("stop");
|
||||||
|
Thread.Sleep(500);
|
||||||
|
SetPropertyString("dvd-device", path);
|
||||||
|
LoadFiles([@"dvd://"], false, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Command("stop");
|
||||||
|
Thread.Sleep(500);
|
||||||
|
SetPropertyString("bluray-device", path);
|
||||||
|
LoadFiles([@"bd://"], false, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadDiskFolder(string path)
|
public void LoadDiskFolder(string path)
|
||||||
@@ -563,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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -666,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;
|
||||||
}
|
}
|
||||||
@@ -694,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();
|
||||||
|
|
||||||
@@ -745,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>();
|
||||||
@@ -762,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")
|
||||||
{
|
{
|
||||||
@@ -1108,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())
|
||||||
|
|||||||
@@ -9,4 +9,5 @@ public class Translator
|
|||||||
public interface ITranslator
|
public interface ITranslator
|
||||||
{
|
{
|
||||||
public string Gettext(string msgId);
|
public string Gettext(string msgId);
|
||||||
|
public string GetParticularString(string context, string text);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ AppPublisher=Frank Skare (stax76)
|
|||||||
ArchitecturesInstallIn64BitMode=x64
|
ArchitecturesInstallIn64BitMode=x64
|
||||||
Compression=lzma2
|
Compression=lzma2
|
||||||
DefaultDirName={autopf}\{#MyAppName}
|
DefaultDirName={autopf}\{#MyAppName}
|
||||||
OutputBaseFilename=mpv.net-v{#MyAppVersion}-setup
|
OutputBaseFilename=mpv.net-v{#MyAppVersion}-setup-x64
|
||||||
OutputDir=E:\Desktop
|
OutputDir=E:\Desktop
|
||||||
DefaultGroupName={#MyAppName}
|
DefaultGroupName={#MyAppName}
|
||||||
SetupIconFile=..\..\MpvNet.Windows\mpv-icon.ico
|
SetupIconFile=..\..\MpvNet.Windows\mpv-icon.ico
|
||||||
@@ -25,4 +25,4 @@ Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
|||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
Source: "{#MyAppSourceDir}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "{#MyAppSourceDir}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "{#MyAppSourceDir}\*"; DestDir: "{app}"; Excludes: "win-x64"; Flags: ignoreversion recursesubdirs createallsubdirs;
|
Source: "{#MyAppSourceDir}\*"; DestDir: "{app}"; Excludes: "win-x64,win-arm64"; Flags: ignoreversion recursesubdirs createallsubdirs;
|
||||||
|
|||||||
119
src/Tools/release-mpv.net.ps1
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
|
||||||
|
<#
|
||||||
|
|
||||||
|
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:
|
||||||
|
1. Directory where the mpv.net source code is located (mpv.net\src)
|
||||||
|
2. Directory of the output files, for instance the desktop dir.
|
||||||
|
|
||||||
|
Dependencies:
|
||||||
|
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'.
|
||||||
|
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
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
|
||||||
|
function DeleteDir($path) {
|
||||||
|
if (Test-Path $path) {
|
||||||
|
Remove-Item $path -Recurse
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Throw error if the file/dir don't exist
|
||||||
|
function Test($path) {
|
||||||
|
if (-not (Test-Path $path)) {
|
||||||
|
throw $path
|
||||||
|
}
|
||||||
|
return $path
|
||||||
|
}
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
$SourceDir = Test $args[0]
|
||||||
|
$OutputRootDir = Test $args[1]
|
||||||
|
|
||||||
|
Test (Join-Path $SourceDir 'MpvNet.sln')
|
||||||
|
|
||||||
|
$7zFile = Test 'C:\Program Files\7-Zip\7z.exe'
|
||||||
|
$InnoSetupCompiler = Test 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe'
|
||||||
|
|
||||||
|
$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'
|
||||||
|
|
||||||
|
# Dotnet Publish
|
||||||
|
$PublishDir64 = Join-Path $SourceDir 'MpvNet.Windows\bin\Debug\win-x64\publish\'
|
||||||
|
$PublishDirARM64 = Join-Path $SourceDir 'MpvNet.Windows\bin\Debug\win-arm64\publish\'
|
||||||
|
$ProjectFile = Test (Join-Path $SourceDir 'MpvNet.Windows\MpvNet.Windows.csproj')
|
||||||
|
dotnet publish $ProjectFile --self-contained false --configuration Debug --runtime win-x64
|
||||||
|
dotnet publish $ProjectFile --self-contained false --configuration Debug --runtime win-arm64
|
||||||
|
$PublishedExeFile64 = Test ($PublishDir64 + 'mpvnet.exe')
|
||||||
|
|
||||||
|
# Create OutputName
|
||||||
|
$VersionInfo = [Diagnostics.FileVersionInfo]::GetVersionInfo($PublishedExeFile64)
|
||||||
|
$IsBeta = $VersionInfo.FilePrivatePart -ne 0
|
||||||
|
$BetaString = if ($IsBeta) { '-beta' } else { '' }
|
||||||
|
$VersionName = $VersionInfo.FileVersion
|
||||||
|
$OutputName64 = 'mpv.net-v' + $VersionName + $BetaString + '-portable-x64'
|
||||||
|
$OutputNameARM64 = 'mpv.net-v' + $VersionName + $BetaString + '-portable-ARM64'
|
||||||
|
|
||||||
|
# Create OutputFolder
|
||||||
|
$OutputDir64 = Join-Path $OutputRootDir ($OutputName64 + '\')
|
||||||
|
$OutputDirARM64 = Join-Path $OutputRootDir ($OutputNameARM64 + '\')
|
||||||
|
DeleteDir $OutputDir64
|
||||||
|
DeleteDir $OutputDirARM64
|
||||||
|
mkdir $OutputDir64
|
||||||
|
mkdir $OutputDirARM64
|
||||||
|
|
||||||
|
# Copy Files
|
||||||
|
Copy-Item ($PublishDir64 + '*') $OutputDir64
|
||||||
|
Copy-Item ($PublishDirARM64 + '*') $OutputDirARM64
|
||||||
|
$BinDirX64 = Test (Join-Path $SourceDir 'MpvNet.Windows\bin\Debug\')
|
||||||
|
$BinDirARM64 = Test (Join-Path $SourceDir 'MpvNet.Windows\bin\Debug\win-arm64\')
|
||||||
|
$ExtraFiles = 'mpvnet.com', 'libmpv-2.dll', 'MediaInfo.dll'
|
||||||
|
$ExtraFiles | ForEach-Object { Copy-Item ($BinDirX64 + $_) ($OutputDir64 + $_) }
|
||||||
|
$ExtraFiles | ForEach-Object { Copy-Item ($BinDirARM64 + $_) ($OutputDirARM64 + $_) }
|
||||||
|
$LocaleDir = Test (Join-Path $SourceDir 'MpvNet.Windows\bin\Debug\Locale\')
|
||||||
|
Copy-Item $LocaleDir ($OutputDir64 + 'Locale') -Recurse
|
||||||
|
Copy-Item $LocaleDir ($OutputDirARM64 + 'Locale') -Recurse
|
||||||
|
|
||||||
|
# Pack
|
||||||
|
$ZipOutputFile64 = Join-Path $OutputRootDir ($OutputName64 + '.zip')
|
||||||
|
$ZipOutputFileARM64 = Join-Path $OutputRootDir ($OutputNameARM64 + '.zip')
|
||||||
|
& $7zFile a -tzip -mx9 $ZipOutputFile64 -r ($OutputDir64 + '*')
|
||||||
|
if ($LastExitCode) { throw $LastExitCode }
|
||||||
|
& $7zFile a -tzip -mx9 $ZipOutputFileARM64 -r ($OutputDirARM64 + '*')
|
||||||
|
if ($LastExitCode) { throw $LastExitCode }
|
||||||
|
Test $ZipOutputFile64
|
||||||
|
Test $ZipOutputFileARM64
|
||||||
|
|
||||||
|
# Inno Setup
|
||||||
|
''; ''
|
||||||
|
$InnoSetupScript = Test (Join-Path $SourceDir 'Setup\Inno\inno-setup.iss')
|
||||||
|
& $InnoSetupCompiler $InnoSetupScript
|
||||||
|
if ($LastExitCode) { throw $LastExitCode }
|
||||||
|
$SetupFile = Test (Join-Path $OutputRootDir "mpv.net-v$VersionName-setup-x64.exe")
|
||||||
|
|
||||||
|
if ($IsBeta) {
|
||||||
|
$NewSetupFile = Join-Path $OutputRootDir "mpv.net-v$VersionName-beta-setup-x64.exe"
|
||||||
|
Move-Item $SetupFile $NewSetupFile
|
||||||
|
$SetupFile = $NewSetupFile
|
||||||
|
}
|
||||||
|
|
||||||
|
# Release
|
||||||
|
$Title = 'v' + $VersionName + $BetaString
|
||||||
|
|
||||||
|
if ($BetaString) {
|
||||||
|
gh release create $Title -t $Title -n $ReleaseNotes --repo $Repo --prerelease $ZipOutputFile64 $ZipOutputFileARM64 $SetupFile
|
||||||
|
} else {
|
||||||
|
gh release create $Title -t $Title -n $ReleaseNotes --repo $Repo $ZipOutputFile64 $ZipOutputFileARM64 $SetupFile
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($LastExitCode) { throw $LastExitCode }
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
|
|
||||||
<#
|
|
||||||
|
|
||||||
This script updates mpv and libmpv using github.com/zhongfly/mpv-winbuild
|
|
||||||
|
|
||||||
Two positional command line arguments need to be passed into the script:
|
|
||||||
|
|
||||||
1. The directory containing libmpv to be updated.
|
|
||||||
2. The directory containing mpv to be updated.
|
|
||||||
|
|
||||||
To skip one of both pass 'no' instead of the path.
|
|
||||||
|
|
||||||
Requires 7zip being installed at 'C:\Program Files\7-Zip\7z.exe'
|
|
||||||
|
|
||||||
#>
|
|
||||||
|
|
||||||
$zip7Path = 'C:\Program Files\7-Zip\7z.exe'
|
|
||||||
$ScriptArgs = $args
|
|
||||||
|
|
||||||
# Stop when the first error occurs
|
|
||||||
$ErrorActionPreference = 'Stop'
|
|
||||||
|
|
||||||
# Throw exception if file or folder does not exist
|
|
||||||
function Test($path) {
|
|
||||||
if (-not (Test-Path $path)) {
|
|
||||||
throw $path
|
|
||||||
}
|
|
||||||
return $path
|
|
||||||
}
|
|
||||||
|
|
||||||
# Download file to temp dir and return file path
|
|
||||||
function Download($pattern) {
|
|
||||||
$api = "https://api.github.com/repos/zhongfly/mpv-winbuild/releases/latest"
|
|
||||||
$json = Invoke-WebRequest $api -MaximumRedirection 0 -ErrorAction Ignore -UseBasicParsing | ConvertFrom-Json
|
|
||||||
$filename = ($json.assets | Where-Object { $_.name -Match $pattern }).name
|
|
||||||
$path = Join-Path $env:TEMP $filename
|
|
||||||
$link = ($json.assets | Where-Object { $_.name -Match $pattern }).browser_download_url
|
|
||||||
Invoke-WebRequest -Uri $link -UserAgent "mpv-win-updater" -OutFile $path
|
|
||||||
return Test $path
|
|
||||||
}
|
|
||||||
|
|
||||||
function Unpack($archieveFile, $outputRootDir) {
|
|
||||||
$outputDir = Join-Path $outputRootDir $archieveFile.BaseName
|
|
||||||
if (Test-Path $outputDir) { Remove-Item $outputDir -Recurse }
|
|
||||||
$process = Start-Process (Test $zip7Path) @('x', $archieveFile.FullName, "-o$outputDir") -NoNewWindow -Wait
|
|
||||||
if ($process.ExitCode) { throw $process.ExitCode }
|
|
||||||
return Test $outputDir
|
|
||||||
}
|
|
||||||
|
|
||||||
function UpdateLibmpv {
|
|
||||||
$targetFolder = $ScriptArgs[0]
|
|
||||||
if ($targetFolder -eq 'no') { return }
|
|
||||||
$archiveFile = Get-Item (Download "mpv-dev-x86_64-[0-9]{8}")
|
|
||||||
$archiveDir = Unpack $archiveFile $env:TEMP
|
|
||||||
Copy-Item $archiveDir\libmpv-2.dll (Test $targetFolder) -Force
|
|
||||||
Remove-Item $archiveFile.FullName
|
|
||||||
Remove-Item $archiveDir -Recurse
|
|
||||||
}
|
|
||||||
|
|
||||||
function UpdateMpv() {
|
|
||||||
$targetFolder = $ScriptArgs[1]
|
|
||||||
if ($targetFolder -eq 'no') { return }
|
|
||||||
$archiveFile = Get-Item (Download "mpv-x86_64-[0-9]{8}")
|
|
||||||
$archiveDir = Unpack $archiveFile $env:TEMP
|
|
||||||
Copy-Item "$archiveDir\mpv\*" $targetFolder -Force -Recurse
|
|
||||||
Remove-Item $archiveFile.FullName
|
|
||||||
Remove-Item $archiveDir -Recurse
|
|
||||||
}
|
|
||||||
|
|
||||||
UpdateLibmpv
|
|
||||||
UpdateMpv
|
|
||||||
|
|
||||||
Write-Host 'Script finished successfully' -ForegroundColor Green
|
|
||||||
103
src/Tools/update-mpv.ps1
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
|
||||||
|
<#
|
||||||
|
|
||||||
|
Updates mpv (x64) and libmpv (x64 , ARM64).
|
||||||
|
|
||||||
|
Files are downloaded from:
|
||||||
|
https://github.com/shinchiro/mpv-winbuild-cmake/releases
|
||||||
|
|
||||||
|
Requires 7zip being installed at 'C:\Program Files\7-Zip\7z.exe'.
|
||||||
|
|
||||||
|
Needs 3 positional CLI arguments:
|
||||||
|
1. Directory where mpv x64 is located. To skip pass '-'.
|
||||||
|
2. Directory where libmpv x64 is located. To skip pass '-'.
|
||||||
|
3. Directory where libmpv ARM64 is located. To skip pass '-'.
|
||||||
|
#>
|
||||||
|
|
||||||
|
$7ZipPath = 'C:\Program Files\7-Zip\7z.exe'
|
||||||
|
|
||||||
|
$MpvDirX64 = $args[0]
|
||||||
|
$LibmpvDirX64 = $args[1]
|
||||||
|
$LibmpvDirARM64 = $args[2]
|
||||||
|
|
||||||
|
# Stop when the first error occurs
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
|
||||||
|
# Throw exception if file or folder does not exist
|
||||||
|
function Test($path) {
|
||||||
|
if (-not (Test-Path $path)) {
|
||||||
|
throw $path
|
||||||
|
}
|
||||||
|
return $path
|
||||||
|
}
|
||||||
|
|
||||||
|
# Download file to temp dir and return file path
|
||||||
|
function Download($apiURL, $pattern) {
|
||||||
|
$json = Invoke-WebRequest $apiURL -MaximumRedirection 0 -ErrorAction Ignore -UseBasicParsing | ConvertFrom-Json
|
||||||
|
$filename = ($json.assets | Where-Object { $_.name -Match $pattern }).name
|
||||||
|
$path = Join-Path $env:TEMP $filename
|
||||||
|
$link = ($json.assets | Where-Object { $_.name -Match $pattern }).browser_download_url
|
||||||
|
Invoke-WebRequest -Uri $link -UserAgent "mpv-win-updater" -OutFile $path
|
||||||
|
return Test $path
|
||||||
|
}
|
||||||
|
|
||||||
|
# Unpack archive
|
||||||
|
function Unpack($archieveFile, $outputRootDir) {
|
||||||
|
$outputDir = Join-Path $outputRootDir $archieveFile.BaseName
|
||||||
|
if (Test-Path $outputDir) { Remove-Item $outputDir -Recurse }
|
||||||
|
$process = Start-Process (Test $7ZipPath) @('x', $archieveFile.FullName, "-o$outputDir") -NoNewWindow -Wait
|
||||||
|
if ($process.ExitCode) { throw $process.ExitCode }
|
||||||
|
return Test $outputDir
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update mpv x64
|
||||||
|
|
||||||
|
if (Test-Path (Join-Path $MpvDirX64 'mpv.exe')) {
|
||||||
|
$apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
|
||||||
|
$archiveFile = Get-Item (Download $apiURL "mpv-x86_64-[0-9]{8}-git-[0-9a-z]+\.7z")
|
||||||
|
$archiveDir = Unpack $archiveFile $env:TEMP
|
||||||
|
Remove-Item "$MpvDirX64\*" -Force -Recurse
|
||||||
|
Copy-Item "$archiveDir\*" $MpvDirX64 -Force -Recurse
|
||||||
|
Remove-Item $archiveFile.FullName
|
||||||
|
Remove-Item $archiveDir -Recurse
|
||||||
|
} else {
|
||||||
|
"mpv x64 location not found:`n$MpvDirX64"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update libmpv x64
|
||||||
|
|
||||||
|
if (Test-Path (Join-Path $LibmpvDirX64 'libmpv-2.dll')) {
|
||||||
|
$apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
|
||||||
|
$archiveFile = Get-Item (Download $apiURL "mpv-dev-x86_64-[0-9]{8}-git-[0-9a-z]+\.7z")
|
||||||
|
$archiveDir = Unpack $archiveFile $env:TEMP
|
||||||
|
Copy-Item $archiveDir\libmpv-2.dll $LibmpvDirX64 -Force
|
||||||
|
Remove-Item $archiveFile.FullName
|
||||||
|
Remove-Item $archiveDir -Recurse
|
||||||
|
} else {
|
||||||
|
"libmpv x64 location not found:`n$LibmpvDirX64"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update libmpv ARM64
|
||||||
|
|
||||||
|
if (Test-Path (Join-Path $LibmpvDirARM64 'libmpv-2.dll')) {
|
||||||
|
$apiURL = "https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/releases/latest"
|
||||||
|
$archiveFile = Get-Item (Download $apiURL "mpv-dev-aarch64-[0-9]{8}-git-[0-9a-z]+\.7z")
|
||||||
|
$archiveDir = Unpack $archiveFile $env:TEMP
|
||||||
|
Copy-Item $archiveDir\libmpv-2.dll $LibmpvDirARM64 -Force
|
||||||
|
Remove-Item $archiveFile.FullName
|
||||||
|
Remove-Item $archiveDir -Recurse
|
||||||
|
} else {
|
||||||
|
"libmpv ARM64 location not found:`n$LibmpvDirARM64"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Test-Path (Join-Path $MpvDirX64 'mpv.exe')) {
|
||||||
|
Get-Item (Join-Path $MpvDirX64 'mpv.exe')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Test-Path (Join-Path $LibmpvDirX64 'libmpv-2.dll')) {
|
||||||
|
Get-Item (Join-Path $LibmpvDirX64 'libmpv-2.dll')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Test-Path (Join-Path $LibmpvDirARM64 'libmpv-2.dll')) {
|
||||||
|
Get-Item (Join-Path $LibmpvDirARM64 'libmpv-2.dll')
|
||||||
|
}
|
||||||