Merge branch 'master' into ru-translation
This commit is contained in:
commit
e52bca2413
@ -22,9 +22,7 @@ init:
|
||||
- pip install twisted[tls] certifi
|
||||
- pip install zope.interface
|
||||
- type nul > %PYTHON%\lib\site-packages\zope\__init__.py
|
||||
- curl -L https://bintray.com/alby128/py2exe/download_file?file_path=py2exe-0.9.3.0-cp36-none-win32.whl -o py2exe-0.9.3.0-cp36-none-win32.whl
|
||||
- pip install py2exe-0.9.3.0-cp36-none-win32.whl
|
||||
- del py2exe-0.9.3.0-cp36-none-win32.whl
|
||||
- pip install py2exe
|
||||
- pip install shiboken2==5.12.3 PySide2==5.12.3
|
||||
- pip freeze
|
||||
|
||||
|
||||
@ -38,6 +38,7 @@ common:
|
||||
-mkdir -p $(LIB_PATH)/syncplay/syncplay/resources/lua/intf
|
||||
-mkdir -p $(APP_SHORTCUT_PATH)
|
||||
-mkdir -p $(SHARE_PATH)/pixmaps/
|
||||
-mkdir -p $(SHARE_PATH)/icons/
|
||||
cp -r syncplay $(LIB_PATH)/syncplay/
|
||||
chmod 755 $(LIB_PATH)/syncplay/
|
||||
cp -r syncplay/resources/hicolor $(SHARE_PATH)/icons/
|
||||
|
||||
@ -65,6 +65,7 @@ NSIS_SCRIPT_TEMPLATE = r"""
|
||||
LoadLanguageFile "$${NSISDIR}\Contrib\Language files\Spanish.nlf"
|
||||
LoadLanguageFile "$${NSISDIR}\Contrib\Language files\PortugueseBR.nlf"
|
||||
LoadLanguageFile "$${NSISDIR}\Contrib\Language files\Portuguese.nlf"
|
||||
LoadLanguageFile "$${NSISDIR}\Contrib\Language files\Turkish.nlf"
|
||||
|
||||
Unicode true
|
||||
|
||||
@ -112,6 +113,11 @@ NSIS_SCRIPT_TEMPLATE = r"""
|
||||
VIAddVersionKey /LANG=$${LANG_PORTUGUESE} "FileVersion" "$version.0"
|
||||
VIAddVersionKey /LANG=$${LANG_PORTUGUESE} "LegalCopyright" "Syncplay"
|
||||
VIAddVersionKey /LANG=$${LANG_PORTUGUESE} "FileDescription" "Syncplay"
|
||||
|
||||
VIAddVersionKey /LANG=$${LANG_TURKISH} "ProductName" "Syncplay"
|
||||
VIAddVersionKey /LANG=$${LANG_TURKISH} "FileVersion" "$version.0"
|
||||
VIAddVersionKey /LANG=$${LANG_TURKISH} "LegalCopyright" "Syncplay"
|
||||
VIAddVersionKey /LANG=$${LANG_TURKISH} "FileDescription" "Syncplay"
|
||||
|
||||
LangString ^SyncplayLanguage $${LANG_ENGLISH} "en"
|
||||
LangString ^Associate $${LANG_ENGLISH} "Associate Syncplay with multimedia files."
|
||||
@ -184,6 +190,15 @@ NSIS_SCRIPT_TEMPLATE = r"""
|
||||
LangString ^AutomaticUpdates $${LANG_PORTUGUESE} "Verificar atualizações automaticamente"
|
||||
LangString ^UninstConfig $${LANG_PORTUGUESE} "Apagar ficheiro de configuração."
|
||||
|
||||
LangString ^SyncplayLanguage $${LANG_TURKISH} "tr"
|
||||
LangString ^Associate $${LANG_TURKISH} "Syncplay'i ortam dosyalarıyla ilişkilendirin."
|
||||
LangString ^Shortcut $${LANG_TURKISH} "Aşağıdaki konumlarda kısayollar oluşturun:"
|
||||
LangString ^StartMenu $${LANG_TURKISH} "Başlangıç menüsü"
|
||||
LangString ^Desktop $${LANG_TURKISH} "Masaüstü"
|
||||
LangString ^QuickLaunchBar $${LANG_TURKISH} "Hızlı Başlatma Çubuğu"
|
||||
LangString ^AutomaticUpdates $${LANG_TURKISH} "Güncellemeleri otomatik denetle"
|
||||
LangString ^UninstConfig $${LANG_TURKISH} "Yapılandırma dosyasını silin."
|
||||
|
||||
; Remove text to save space
|
||||
LangString ^ClickInstall $${LANG_GERMAN} " "
|
||||
|
||||
@ -293,6 +308,8 @@ NSIS_SCRIPT_TEMPLATE = r"""
|
||||
Push 'Português do Brasil'
|
||||
Push $${LANG_PORTUGUESE}
|
||||
Push 'Português de Portugal'
|
||||
Push $${LANG_TURKISH}
|
||||
Push 'Türkçe'
|
||||
Push A ; A means auto count languages
|
||||
LangDLL::LangDialog "Language Selection" "Please select the language of Syncplay and the installer"
|
||||
Pop $$LANGUAGE
|
||||
@ -342,7 +359,7 @@ NSIS_SCRIPT_TEMPLATE = r"""
|
||||
$${NSD_CreateLabel} 8u 95u 187u 10u "$$(^Shortcut)"
|
||||
Pop $$Label_Shortcut
|
||||
|
||||
$${NSD_CreateCheckbox} 8u 105u 60u 10u "$$(^StartMenu)"
|
||||
$${NSD_CreateCheckbox} 8u 105u 70u 10u "$$(^StartMenu)"
|
||||
Pop $$CheckBox_StartMenuShortcut
|
||||
|
||||
$${NSD_CreateCheckbox} 78u 105u 70u 10u "$$(^Desktop)"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
version = '1.6.7'
|
||||
revision = ' development'
|
||||
milestone = 'Yoitsu'
|
||||
release_number = '91'
|
||||
release_number = '92'
|
||||
projectURL = 'https://syncplay.pl/'
|
||||
|
||||
@ -139,6 +139,8 @@ USER_READY_MIN_VERSION = "1.3.0"
|
||||
SHARED_PLAYLIST_MIN_VERSION = "1.4.0"
|
||||
CHAT_MIN_VERSION = "1.5.0"
|
||||
FEATURE_LIST_MIN_VERSION = "1.5.0"
|
||||
|
||||
IINA_PATHS = ['/Applications/IINA.app/Contents/MacOS/IINA']
|
||||
MPC_PATHS = [
|
||||
r"c:\program files (x86)\mpc-hc\mpc-hc.exe",
|
||||
r"c:\program files\mpc-hc\mpc-hc.exe",
|
||||
@ -176,6 +178,7 @@ VLC_PATHS = [
|
||||
]
|
||||
|
||||
VLC_ICONPATH = "vlc.png"
|
||||
IINA_ICONPATH = "iina.png"
|
||||
MPLAYER_ICONPATH = "mplayer.png"
|
||||
MPV_ICONPATH = "mpv.png"
|
||||
MPVNET_ICONPATH = "mpvnet.png"
|
||||
@ -250,6 +253,13 @@ MPV_ARGS = {'force-window': 'yes',
|
||||
'keep-open-pause': 'yes'
|
||||
}
|
||||
|
||||
IINA_PROPERTIES = {'geometry': '25%+100+100',
|
||||
'idle': 'yes',
|
||||
'hr-seek': 'always',
|
||||
'input-terminal': 'no',
|
||||
'term-playing-msg': '<SyncplayUpdateFile>\nANS_filename=${filename}\nANS_length=${=duration:${=length:0}}\nANS_path=${path}\n</SyncplayUpdateFile>',
|
||||
'keep-open-pause': 'yes',
|
||||
}
|
||||
|
||||
MPV_NEW_VERSION = False
|
||||
MPV_OSC_VISIBILITY_CHANGE_VERSION = False
|
||||
|
||||
@ -8,15 +8,17 @@ from . import messages_it
|
||||
from . import messages_es
|
||||
from . import messages_pt_BR
|
||||
from . import messages_pt_PT
|
||||
from . import messages_tr
|
||||
|
||||
messages = {
|
||||
"en": messages_en.en,
|
||||
"ru": messages_ru.ru,
|
||||
"de": messages_de.de,
|
||||
"it": messages_it.it,
|
||||
"en": messages_en.en,
|
||||
"es": messages_es.es,
|
||||
"pt_BR": messages_pt_BR.pt_BR,
|
||||
"it": messages_it.it,
|
||||
"pt_PT": messages_pt_PT.pt_PT,
|
||||
"pt_BR": messages_pt_BR.pt_BR,
|
||||
"tr": messages_tr.tr,
|
||||
"ru": messages_ru.ru,
|
||||
"CURRENT": None
|
||||
}
|
||||
|
||||
|
||||
@ -113,7 +113,7 @@ de = {
|
||||
"mpv-version-error": "Syncplay ist nicht kompatibel mit dieser Version von mpv. Bitte benutze eine andere Version (z.B. Git HEAD).",
|
||||
"mpv-failed-advice": "The reason mpv cannot start may be due to the use of unsupported command line arguments or an unsupported version of mpv.", # TODO: Translate
|
||||
"player-file-open-error": "Fehler beim Öffnen der Datei durch den Player",
|
||||
"player-path-error": "Ungültiger Player-Pfad. Unterstützte Player sind: mpv, mpv.net, VLC, MPC-HC, MPC-BE und mplayer2",
|
||||
"player-path-error": "Ungültiger Player-Pfad. Unterstützte Player sind: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 und IINA",
|
||||
"hostname-empty-error": "Hostname darf nicht leer sein",
|
||||
"empty-error": "{} darf nicht leer sein", # Configuration
|
||||
"media-player-error": "Player-Fehler: \"{}\"", # Error line
|
||||
@ -124,7 +124,7 @@ de = {
|
||||
|
||||
"unable-to-start-client-error": "Client kann nicht gestartet werden",
|
||||
|
||||
"player-path-config-error": "Player-Pfad ist nicht ordnungsgemäß gesetzt. Unterstützte Player sind: mpv, mpv.net, VLC, MPC-HC, MPC-BE und mplayer2",
|
||||
"player-path-config-error": "Player-Pfad ist nicht ordnungsgemäß gesetzt. Unterstützte Player sind: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 und IINA",
|
||||
"no-file-path-config-error": "Es muss eine Datei ausgewählt werden, bevor der Player gestartet wird.",
|
||||
"no-hostname-config-error": "Hostname darf nicht leer sein",
|
||||
"invalid-port-config-error": "Port muss gültig sein",
|
||||
@ -174,7 +174,7 @@ de = {
|
||||
"file-argument": 'Abzuspielende Datei',
|
||||
"args-argument": 'Player-Einstellungen; Wenn du Einstellungen, die mit - beginnen, nutzen willst, stelle ein einzelnes \'--\'-Argument davor',
|
||||
"clear-gui-data-argument": 'Setzt die Pfad- und GUI-Fenster-Daten die in den QSettings gespeichert sind zurück',
|
||||
"language-argument": 'Sprache für Syncplay-Nachrichten (de/en/ru/it/es/pt_BR/pt_PT)',
|
||||
"language-argument": 'Sprache für Syncplay-Nachrichten (de/en/ru/it/es/pt_BR/pt_PT/tr)',
|
||||
|
||||
"version-argument": 'gibt die aktuelle Version aus',
|
||||
"version-message": "Du verwendest Syncplay v. {} ({})",
|
||||
@ -381,7 +381,7 @@ de = {
|
||||
|
||||
"edit-rooms-tooltip": "Edit room list.", # TO DO: Translate
|
||||
|
||||
"executable-path-tooltip": "Pfad zum ausgewählten, unterstützten Mediaplayer (mpv, mpv.net, VLC, MPC-HC/BE or mplayer2).",
|
||||
"executable-path-tooltip": "Pfad zum ausgewählten, unterstützten Mediaplayer (mpv, mpv.net, VLC, MPC-HC/BE, mplayer2, oder IINA).",
|
||||
"media-path-tooltip": "Pfad zum wiederzugebenden Video oder Stream. Notwendig für mplayer2.",
|
||||
"player-arguments-tooltip": "Zusätzliche Kommandozeilenparameter/-schalter für diesen Mediaplayer.",
|
||||
"mediasearcdirectories-arguments-tooltip": "Verzeichnisse, in denen Syncplay nach Mediendateien suchen soll, z.B. wenn du die Click-to-switch-Funktion verwendest. Syncplay wird Unterverzeichnisse rekursiv durchsuchen.", # TODO: Translate Click-to-switch? (or use as name for feature)
|
||||
|
||||
@ -113,7 +113,7 @@ en = {
|
||||
"mpv-version-error": "Syncplay is not compatible with this version of mpv. Please use a different version of mpv (e.g. Git HEAD).",
|
||||
"mpv-failed-advice": "The reason mpv cannot start may be due to the use of unsupported command line arguments or an unsupported version of mpv.",
|
||||
"player-file-open-error": "Player failed opening file",
|
||||
"player-path-error": "Player path is not set properly. Supported players are: mpv, mpv.net, VLC, MPC-HC, MPC-BE and mplayer2",
|
||||
"player-path-error": "Player path is not set properly. Supported players are: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2, and IINA",
|
||||
"hostname-empty-error": "Hostname can't be empty",
|
||||
"empty-error": "{} can't be empty", # Configuration
|
||||
"media-player-error": "Media player error: \"{}\"", # Error line
|
||||
@ -124,7 +124,7 @@ en = {
|
||||
|
||||
"unable-to-start-client-error": "Unable to start client",
|
||||
|
||||
"player-path-config-error": "Player path is not set properly. Supported players are: mpv, mpv.net, VLC, MPC-HC, MPC-BE and mplayer2.",
|
||||
"player-path-config-error": "Player path is not set properly. Supported players are: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2, and IINA.",
|
||||
"no-file-path-config-error": "File must be selected before starting your player",
|
||||
"no-hostname-config-error": "Hostname can't be empty",
|
||||
"invalid-port-config-error": "Port must be valid",
|
||||
@ -174,7 +174,7 @@ en = {
|
||||
"file-argument": 'file to play',
|
||||
"args-argument": 'player options, if you need to pass options starting with - prepend them with single \'--\' argument',
|
||||
"clear-gui-data-argument": 'resets path and window state GUI data stored as QSettings',
|
||||
"language-argument": 'language for Syncplay messages (de/en/ru/it/es/pt_BR/pt_PT)',
|
||||
"language-argument": 'language for Syncplay messages (de/en/ru/it/es/pt_BR/pt_PT/tr)',
|
||||
|
||||
"version-argument": 'prints your version',
|
||||
"version-message": "You're using Syncplay version {} ({})",
|
||||
@ -384,7 +384,7 @@ en = {
|
||||
|
||||
"edit-rooms-tooltip": "Edit room list.",
|
||||
|
||||
"executable-path-tooltip": "Location of your chosen supported media player (mpv, mpv.net, VLC, MPC-HC/BE or mplayer2).",
|
||||
"executable-path-tooltip": "Location of your chosen supported media player (mpv, mpv.net, VLC, MPC-HC/BE, mplayer2 or IINA).",
|
||||
"media-path-tooltip": "Location of video or stream to be opened. Necessary for mplayer2.",
|
||||
"player-arguments-tooltip": "Additional command line arguments / switches to pass on to this media player.",
|
||||
"mediasearcdirectories-arguments-tooltip": "Directories where Syncplay will search for media files, e.g. when you are using the click to switch feature. Syncplay will look recursively through sub-folders.",
|
||||
|
||||
@ -113,7 +113,7 @@ es = {
|
||||
"mpv-version-error": "Syncplay no es compatible con esta versión de mpv. Por favor utiliza una versión diferente de mpv (p.ej. Git HEAD).",
|
||||
"mpv-failed-advice": "The reason mpv cannot start may be due to the use of unsupported command line arguments or an unsupported version of mpv.", # TODO: Translate
|
||||
"player-file-open-error": "El reproductor falló al abrir el archivo",
|
||||
"player-path-error": "La ruta del reproductor no está definida correctamente. Los reproductores soportados son: mpv, mpv.net, VLC, MPC-HC, MPC-BE y mplayer2",
|
||||
"player-path-error": "La ruta del reproductor no está definida correctamente. Los reproductores soportados son: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2, y IINA",
|
||||
"hostname-empty-error": "El nombre del host no puede ser vacío",
|
||||
"empty-error": "{} no puede ser vacío", # Configuration
|
||||
"media-player-error": "Error del reproductor multimedia: \"{}\"", # Error line
|
||||
@ -124,7 +124,7 @@ es = {
|
||||
|
||||
"unable-to-start-client-error": "No se logró iniciar el cliente",
|
||||
|
||||
"player-path-config-error": "La ruta del reproductor no está definida correctamente. Los reproductores soportados son: mpv, mpv.net, VLC, MPC-HC, MPC-BE y mplayer2.",
|
||||
"player-path-config-error": "La ruta del reproductor no está definida correctamente. Los reproductores soportados son: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 y IINA.",
|
||||
"no-file-path-config-error": "El archivo debe ser seleccionado antes de iniciar el reproductor",
|
||||
"no-hostname-config-error": "El nombre del host no puede ser vacío",
|
||||
"invalid-port-config-error": "El puerto debe ser válido",
|
||||
@ -174,7 +174,7 @@ es = {
|
||||
"file-argument": 'archivo a reproducir',
|
||||
"args-argument": 'opciones del reproductor, si necesitas pasar opciones que empiezan con -, pásalas utilizando \'--\'',
|
||||
"clear-gui-data-argument": 'restablece ruta y los datos del estado de la ventana GUI almacenados como QSettings',
|
||||
"language-argument": 'lenguaje para los mensajes de Syncplay (de/en/ru/it/es/pt_BR/pt_PT)',
|
||||
"language-argument": 'lenguaje para los mensajes de Syncplay (de/en/ru/it/es/pt_BR/pt_PT/tr)',
|
||||
|
||||
"version-argument": 'imprime tu versión',
|
||||
"version-message": "Estás usando la versión de Syncplay {} ({})",
|
||||
@ -383,7 +383,7 @@ es = {
|
||||
|
||||
"edit-rooms-tooltip": "Edit room list.", # TO DO: Translate
|
||||
|
||||
"executable-path-tooltip": "Ubicación de tu reproductor multimedia compatible elegido (mpv, mpv.net, VLC, MPC-HC/BE o mplayer2).",
|
||||
"executable-path-tooltip": "Ubicación de tu reproductor multimedia compatible elegido (mpv, mpv.net, VLC, MPC-HC/BE, mplayer2 o IINA).",
|
||||
"media-path-tooltip": "Ubicación del video o flujo que se abrirá. Necesario para mplayer2.",
|
||||
"player-arguments-tooltip": "Arguementos de línea de comandos adicionales / parámetros para pasar a este reproductor multimedia.",
|
||||
"mediasearcdirectories-arguments-tooltip": "Directorios donde Syncplay buscará archivos de medios, p.ej. cuando estás usando la función \"clic para cambiar\". Syncplay buscará recursivamente a través de las subcarpetas.",
|
||||
|
||||
@ -113,7 +113,7 @@ it = {
|
||||
"mpv-version-error": "Syncplay non è compatibile con questa versione di mpv. Per favore usa un'altra versione di mpv (es. Git HEAD).",
|
||||
"mpv-failed-advice": "The reason mpv cannot start may be due to the use of unsupported command line arguments or an unsupported version of mpv.", # TODO: Translate
|
||||
"player-file-open-error": "Il player non è riuscito ad aprire il file",
|
||||
"player-path-error": "Il path del player non è configurato correttamente. I player supportati sono: mpv, mpv.net, VLC, MPC-HC, MPC-BE e mplayer2",
|
||||
"player-path-error": "Il path del player non è configurato correttamente. I player supportati sono: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 e IINA",
|
||||
"hostname-empty-error": "Il campo hostname non può essere vuoto",
|
||||
"empty-error": "Il campo {} non può esssere vuoto", # Configuration
|
||||
"media-player-error": "Errore media player: \"{}\"", # Error line
|
||||
@ -124,7 +124,7 @@ it = {
|
||||
|
||||
"unable-to-start-client-error": "Impossibile avviare il client",
|
||||
|
||||
"player-path-config-error": "Il percorso del player non è configurato correttamente. I player supportati sono: mpv, mpv.net, VLC, MPC-HC, MPC-BE e mplayer2.",
|
||||
"player-path-config-error": "Il percorso del player non è configurato correttamente. I player supportati sono: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 e IINA.",
|
||||
"no-file-path-config-error": "Deve essere selezionato un file prima di avviare il player",
|
||||
"no-hostname-config-error": "Il campo hostname non può essere vuoto",
|
||||
"invalid-port-config-error": "La porta deve essere valida",
|
||||
@ -174,7 +174,7 @@ it = {
|
||||
"file-argument": 'file da riprodurre',
|
||||
"args-argument": 'opzioni del player, se hai bisogno di utilizzare opzioni che iniziano con - anteponi un singolo \'--\'',
|
||||
"clear-gui-data-argument": 'ripristina il percorso e i dati impostati tramite interfaccia grafica e salvati come QSettings',
|
||||
"language-argument": 'lingua per i messaggi di Syncplay (de/en/ru/it/es/pt_BR/pt_PT)',
|
||||
"language-argument": 'lingua per i messaggi di Syncplay (de/en/ru/it/es/pt_BR/pt_PT/tr)',
|
||||
|
||||
"version-argument": 'mostra la tua versione',
|
||||
"version-message": "Stai usando la versione di Syncplay {} ({})",
|
||||
@ -383,7 +383,7 @@ it = {
|
||||
|
||||
"edit-rooms-tooltip": "Edit room list.", # TO DO: Translate
|
||||
|
||||
"executable-path-tooltip": "Percorso del media player desiderato (scegliere tra mpv, mpv.net, VLC, MPC-HC/BE or mplayer2).",
|
||||
"executable-path-tooltip": "Percorso del media player desiderato (scegliere tra mpv, mpv.net, VLC, MPC-HC/BE, mplayer2 o IINA).",
|
||||
"media-path-tooltip": "Percorso del video o stream da aprire. Necessario per mplayer2.",
|
||||
"player-arguments-tooltip": "Argomenti da linea di comando aggiuntivi da passare al media player scelto.",
|
||||
"mediasearcdirectories-arguments-tooltip": "Cartelle dove Syncplay cercherà i file multimediali, es. quando usi la funzione click to switch. Syncplay cercherà anche nelle sottocartelle.",
|
||||
|
||||
@ -113,7 +113,7 @@ pt_BR = {
|
||||
"mpv-version-error": "O motivo pelo qual o mpv não pode ser iniciado pode ser devido ao uso de argumentos da linha de comando não suportados ou a uma versão não suportada do mpv.",
|
||||
"mpv-failed-advice": "The reason mpv cannot start may be due to the use of unsupported command line arguments or an unsupported version of mpv.", # TODO: Translate
|
||||
"player-file-open-error": "O reprodutor falhou ao abrir o arquivo",
|
||||
"player-path-error": "O caminho até o arquivo executável do reprodutor não está configurado corretamente. Os reprodutores suportados são: mpv, mpv.net, VLC, MPC-HC, MPC-BE e mplayer2",
|
||||
"player-path-error": "O caminho até o arquivo executável do reprodutor não está configurado corretamente. Os reprodutores suportados são: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 e IINA",
|
||||
"hostname-empty-error": "O endereço do servidor não pode ser vazio",
|
||||
"empty-error": "{} não pode ser vazio", # Configuration
|
||||
"media-player-error": "Erro do reprodutor de mídia: \"{}\"", # Error line
|
||||
@ -124,7 +124,7 @@ pt_BR = {
|
||||
|
||||
"unable-to-start-client-error": "Não foi possível iniciar o client",
|
||||
|
||||
"player-path-config-error": "O caminho até o arquivo executável do reprodutor não está configurado corretamente. Os reprodutores suportados são: mpv, mpv.net, VLC, MPC-HC, MPC-BE e mplayer2.",
|
||||
"player-path-config-error": "O caminho até o arquivo executável do reprodutor não está configurado corretamente. Os reprodutores suportados são: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 e IINA.",
|
||||
"no-file-path-config-error": "O arquivo deve ser selecionado antes de iniciar seu reprodutor",
|
||||
"no-hostname-config-error": "O endereço do servidor não pode ser vazio",
|
||||
"invalid-port-config-error": "A porta deve ser válida",
|
||||
@ -174,7 +174,7 @@ pt_BR = {
|
||||
"file-argument": 'arquivo a ser tocado',
|
||||
"args-argument": 'opções do reprodutor; se você precisar passar opções começando com -, as preceda com um único argumento \'--\'',
|
||||
"clear-gui-data-argument": 'redefine o caminho e o estado de dados da janela da GUI para as de QSettings',
|
||||
"language-argument": 'idioma para mensagens do Syncplay (de/en/ru/it/es/pt_BR/pt_PT)',
|
||||
"language-argument": 'idioma para mensagens do Syncplay (de/en/ru/it/es/pt_BR/pt_PT/tr)',
|
||||
|
||||
"version-argument": 'exibe sua versão',
|
||||
"version-message": "Você está usando o Syncplay versão {} ({})",
|
||||
@ -383,7 +383,7 @@ pt_BR = {
|
||||
|
||||
"edit-rooms-tooltip": "Edit room list.", # TO DO: Translate
|
||||
|
||||
"executable-path-tooltip": "Localização do seu reprodutor de mídia preferido (mpv, mpv.net, VLC, MPC-HC/BE ou mplayer2).",
|
||||
"executable-path-tooltip": "Localização do seu reprodutor de mídia preferido (mpv, mpv.net, VLC, MPC-HC/BE, mplayer2 ou IINA).",
|
||||
"media-path-tooltip": "Localização do vídeo ou transmissão a ser aberto. Necessário com o mplayer2.",
|
||||
"player-arguments-tooltip": "Argumentos de comando de linha adicionais para serem repassados ao reprodutor de mídia.",
|
||||
"mediasearcdirectories-arguments-tooltip": "Diretório onde o Syncplay vai procurar por arquivos de mídia, por exemplo quando você estiver usando o recurso de clicar para mudar. O Syncplay irá procurar recursivamente pelas subpastas.",
|
||||
|
||||
@ -113,7 +113,7 @@ pt_PT = {
|
||||
"mpv-version-error": "O Syncplay não é compatível com esta versão do mpv. Por favor, use uma versão diferente do mpv (por exemplo, Git HEAD).",
|
||||
"mpv-failed-advice": "O motivo pelo qual o mpv não pode ser iniciado pode ser devido ao uso de argumentos da linha de comando não suportados ou a uma versão não suportada do mpv.", # TODO: Translate
|
||||
"player-file-open-error": "O reprodutor falhou ao abrir o ficheiro",
|
||||
"player-path-error": "O caminho até o ficheiro executável do reprodutor não está configurado corretamente. Os reprodutores suportados são: mpv, mpv.net, VLC, MPC-HC, MPC-BE e mplayer2",
|
||||
"player-path-error": "O caminho até o ficheiro executável do reprodutor não está configurado corretamente. Os reprodutores suportados são: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 e IINA",
|
||||
"hostname-empty-error": "O endereço do servidor não pode ser vazio",
|
||||
"empty-error": "{} não pode ser vazio", # Configuration
|
||||
"media-player-error": "Erro do reprodutor de mídia: \"{}\"", # Error line
|
||||
@ -124,7 +124,7 @@ pt_PT = {
|
||||
|
||||
"unable-to-start-client-error": "Não foi possível iniciar o client",
|
||||
|
||||
"player-path-config-error": "O caminho até o ficheiro executável do reprodutor não está configurado corretamente. Os reprodutores suportados são: mpv, mpv.net, VLC, MPC-HC, MPC-BE e mplayer2.",
|
||||
"player-path-config-error": "O caminho até o ficheiro executável do reprodutor não está configurado corretamente. Os reprodutores suportados são: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 e IINA.",
|
||||
"no-file-path-config-error": "O ficheiro deve ser selecionado antes de iniciar seu reprodutor",
|
||||
"no-hostname-config-error": "O endereço do servidor não pode ser vazio",
|
||||
"invalid-port-config-error": "A porta deve ser válida",
|
||||
@ -174,7 +174,7 @@ pt_PT = {
|
||||
"file-argument": 'ficheiro a ser tocado',
|
||||
"args-argument": 'opções do reprodutor; se você precisar passar opções começando com -, as preceda com um único argumento \'--\'',
|
||||
"clear-gui-data-argument": 'redefine o caminho e o estado de dados da janela da GUI para as de QSettings',
|
||||
"language-argument": 'idioma para mensagens do Syncplay (de/en/ru/it/es/pt_BR/pt_PT)',
|
||||
"language-argument": 'idioma para mensagens do Syncplay (de/en/ru/it/es/pt_BR/pt_PT/tr)',
|
||||
|
||||
"version-argument": 'exibe sua versão',
|
||||
"version-message": "Você está usando o Syncplay versão {} ({})",
|
||||
@ -382,7 +382,7 @@ pt_PT = {
|
||||
|
||||
"edit-rooms-tooltip": "Edit room list.", # TO DO: Translate
|
||||
|
||||
"executable-path-tooltip": "Localização do seu reprodutor de mídia preferido (mpv, mpv.net, VLC, MPC-HC/BE ou mplayer2).",
|
||||
"executable-path-tooltip": "Localização do seu reprodutor de mídia preferido (mpv, mpv.net, VLC, MPC-HC/BE, mplayer2 ou IINA).",
|
||||
"media-path-tooltip": "Localização do vídeo ou transmissão a ser aberto. Necessário com o mplayer2.",
|
||||
"player-arguments-tooltip": "Argumentos de comando de linha adicionais para serem repassados ao reprodutor de mídia.",
|
||||
"mediasearcdirectories-arguments-tooltip": "Pasta onde o Syncplay vai procurar por ficheiros de mídia, por exemplo quando você estiver usando o recurso de clicar para mudar. O Syncplay irá procurar recursivamente pelas subpastas.",
|
||||
|
||||
@ -112,7 +112,7 @@ ru = {
|
||||
"mpv-version-error": "Syncplay не совместим с данной версией mpv. Пожалуйста, используйте другую версию mpv (лучше свежайшую).",
|
||||
"mpv-failed-advice": "Возможно, mpv не может запуститься из-за неподдерживаемых параметров командной строки или неподдерживаемой версии mpv.",
|
||||
"player-file-open-error": "Проигрыватель не может открыть файл.",
|
||||
"player-path-error": "Путь к проигрывателю задан неверно. Поддерживаемые проигрыватели: mpv, mpv.net, VLC, MPC-HC, MPC-BE and mplayer2.",
|
||||
"player-path-error": "Путь к проигрывателю задан неверно. Поддерживаемые проигрыватели: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 and IINA.",
|
||||
"hostname-empty-error": "Имя пользователя не может быть пустым.",
|
||||
"empty-error": "{} не может быть пустым.", # Configuration
|
||||
"media-player-error": "Ошибка проигрывателя: \"{}\"", # Error line
|
||||
@ -123,7 +123,7 @@ ru = {
|
||||
|
||||
"unable-to-start-client-error": "Невозможно запустить клиент",
|
||||
|
||||
"player-path-config-error": "Путь к проигрывателю установлен неверно. Supported players are: mpv, mpv.net, VLC, MPC-HC, MPC-BE and mplayer2", # To do: Translate end
|
||||
"player-path-config-error": "Путь к проигрывателю установлен неверно. Supported players are: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 and IINA", # To do: Translate end
|
||||
"no-file-path-config-error": "Файл должен быть указан до включения проигрывателя",
|
||||
"no-hostname-config-error": "Имя сервера не может быть пустым",
|
||||
"invalid-port-config-error": "Неверный номер порта",
|
||||
@ -173,7 +173,7 @@ ru = {
|
||||
"file-argument": 'воспроизводимый файл',
|
||||
"args-argument": 'параметры проигрывателя; если нужно передать параметры, начинающиеся с - , то сначала пишите \'--\'',
|
||||
"clear-gui-data-argument": 'сбрасывает путь и данные о состоянии окна GUI, хранимые как QSettings',
|
||||
"language-argument": 'язык сообщений Syncplay (de/en/ru/it/es/pt_BR/pt_PT)',
|
||||
"language-argument": 'язык сообщений Syncplay (de/en/ru/it/es/pt_BR/pt_PT/tr)',
|
||||
|
||||
"version-argument": 'выводит номер версии',
|
||||
"version-message": "Вы используете Syncplay версии {} ({})",
|
||||
@ -384,7 +384,7 @@ ru = {
|
||||
|
||||
"edit-rooms-tooltip": "Edit room list.", # TO DO: Translate
|
||||
|
||||
"executable-path-tooltip": "Расположение Вашего видеопроигрывателя (mpv, mpv.net, VLC, MPC-HC/BE или mplayer2).",
|
||||
"executable-path-tooltip": "Расположение Вашего видеопроигрывателя (mpv, mpv.net, VLC, MPC-HC/BE, mplayer2, или IINA).",
|
||||
"media-path-tooltip": "Расположение видеофайла или потока для просмотра. Обязательно для mplayer2.", # TODO: Confirm translation
|
||||
"player-arguments-tooltip": "Передавать дополнительные аргументы командной строки этому проигрывателю.",
|
||||
"mediasearcdirectories-arguments-tooltip": "Папки, где Syncplay будет искать медиа файлы, включая подпапки.",
|
||||
|
||||
522
syncplay/messages_tr.py
Normal file
522
syncplay/messages_tr.py
Normal file
@ -0,0 +1,522 @@
|
||||
# coding:utf8
|
||||
|
||||
"""Turkish dictionary"""
|
||||
|
||||
tr = {
|
||||
"LANGUAGE": "Türkçe", # Turkish
|
||||
|
||||
# Client notifications
|
||||
"config-cleared-notification": "Ayarlar temizlendi. Geçerli bir konfigürasyon kaydettiğinizde değişiklikler kaydedilecektir.",
|
||||
|
||||
"relative-config-notification": "Göreli yapılandırma dosya(ları) yüklendi: {}",
|
||||
|
||||
"connection-attempt-notification": "{} İle bağlantı kurulmaya çalışılıyor: {}", # Port, IP
|
||||
"reconnection-attempt-notification": "Sunucuyla bağlantı kesildi, yeniden bağlanılmaya çalışılıyor",
|
||||
"disconnection-notification": "Sunucuyla bağlantısı kesildi",
|
||||
"connection-failed-notification": "Sunucuyla bağlantı başarısız oldu",
|
||||
"connected-successful-notification": "Sunucuya başarıyla bağlandı",
|
||||
"retrying-notification": "% s,% d saniye içinde yeniden deneniyor ...", # Seconds
|
||||
"reachout-successful-notification": "Başarıyla ulaşıldı {} ({})",
|
||||
|
||||
"rewind-notification": "{} ile zaman farkı nedeniyle geri alındı", # User
|
||||
"fastforward-notification": "{} ile zaman farkı nedeniyle ileri sarıldı", # User
|
||||
"slowdown-notification": "{} ile zaman farkı nedeniyele nedeniyle yavaşlıyor", # User
|
||||
"revert-notification": "Hızı normale döndürülüyor",
|
||||
|
||||
"pause-notification": "{} duraklattı", # User
|
||||
"unpause-notification": "{} devam ettirdi", # User
|
||||
"seek-notification": "{}, {} konumundan {} konumuna atladı", # User, from time, to time
|
||||
|
||||
"current-offset-notification": "Mevcut fark: {} saniye", # Offset
|
||||
|
||||
"media-directory-list-updated-notification": "Syncplay ortam dizinleri güncellendi.",
|
||||
|
||||
"room-join-notification": "{} odaya katıldı: '{}'", # User
|
||||
"left-notification": "{} ayrıldı", # User
|
||||
"left-paused-notification": "{} ayrıldı, {} duraklattı", # User who left, User who paused
|
||||
"playing-notification": "{} oynatıyor '{}' ({})", # User, file, duration
|
||||
"playing-notification/room-addendum": " odada: '{}'", # Room
|
||||
|
||||
"not-all-ready": "Hazır değil: {}", # Usernames
|
||||
"all-users-ready": "Herkes hazır ({} kullanıcı)", # Number of ready users
|
||||
"ready-to-unpause-notification": "Artık hazır olarak ayarlandınız - devam ettirmek için yeniden duraklatmayı kaldırın",
|
||||
"set-as-ready-notification": "Artık hazırsınız",
|
||||
"set-as-not-ready-notification": "Artık hazır değilsiniz",
|
||||
"autoplaying-notification": "{} içinde otomatik oynatılıyor ...", # Number of seconds until playback will start
|
||||
|
||||
"identifying-as-controller-notification": "Oda operatörü '{}' parolası ile tanımlanıyor ...",
|
||||
"failed-to-identify-as-controller-notification": "{}, operatörü olarak tanımlanamadı.",
|
||||
"authenticated-as-controller-notification": "{}, oda operatörü olarak doğrulandı",
|
||||
"created-controlled-room-notification": "Yönetilen oda '{}' '{}' şifresiyle oluşturuldu. Lütfen bu bilgileri ileride başvurmak üzere kaydedin!\n\nYönetilen odalarda, oynatma listesini duraklatabilen, devam ettirebilen, arayabilen ve değiştirebilen tek kişi olan oda operatörleri ile herkes senkronize edilir.\n\nNormal izleyicilerden '{}' odasına katılmalarını istemelisiniz, ancak oda operatörleri kendilerini otomatik olarak doğrulamak için '{}' odasına katılabilir.", # RoomName, operatorPassword, roomName, roomName:operatorPassword
|
||||
|
||||
"file-different-notification": "Oynadığınız dosya, {} dosyasından farklı görünüyor", # User
|
||||
"file-differences-notification": "Dosyanız aşağıdaki şekil(ler)de farklılık gösterir: {}", # Differences
|
||||
"room-file-differences": "Dosya farklılıkları: {}", # File differences (filename, size, and/or duration)
|
||||
"file-difference-filename": "adı",
|
||||
"file-difference-filesize": "boyutu",
|
||||
"file-difference-duration": "süresi",
|
||||
"alone-in-the-room": "Odada yalnızsın",
|
||||
|
||||
"different-filesize-notification": " (dosya boyutları sizinkinden farklı!)",
|
||||
"userlist-playing-notification": "{} oynuyor:", # Username
|
||||
"file-played-by-notification": "Dosya: {} şu kullanıcı tarafından oynatılıyor:", # File
|
||||
"no-file-played-notification": "{} dosya oynatmıyor", # Username
|
||||
"notplaying-notification": "Herhangi bir dosya oynatmayan kişiler:",
|
||||
"userlist-room-notification": "Odada '{}':", # Room
|
||||
"userlist-file-notification": "Dosya",
|
||||
"controller-userlist-userflag": "Operatör",
|
||||
"ready-userlist-userflag": "Hazır",
|
||||
|
||||
"update-check-failed-notification": "Syncplay {} 'in güncel olup olmadığı otomatik olarak kontrol edilemedi. Güncellemeleri manuel olarak kontrol etmek için https://syncplay.pl/ adresini ziyaret etmek ister misiniz?", # Syncplay version
|
||||
"syncplay-uptodate-notification": "Syncplay güncel",
|
||||
"syncplay-updateavailable-notification": "Syncplay'in yeni bir sürümü mevcut. Sürüm sayfasını ziyaret etmek istiyor musunuz?",
|
||||
|
||||
"mplayer-file-required-notification": "MPlayer kullanarak Syncplay, başlatırken dosya sağlamanızı gerektirir",
|
||||
"mplayer-file-required-notification/example": "Kullanım örneği: syncplay [options] [url|path/]filename",
|
||||
"mplayer2-required": "Syncplay, MPlayer 1.x ile uyumlu değil, lütfen mplayer2 veya mpv kullanın",
|
||||
|
||||
"unrecognized-command-notification": "Tanımsız komut",
|
||||
"commandlist-notification": "Kullanılabilir komutlar:",
|
||||
"commandlist-notification/room": "\tr [name] - odayı değiştirir",
|
||||
"commandlist-notification/list": "\tl - kullanıcı listesini gösterir",
|
||||
"commandlist-notification/undo": "\tu - son isteği geri alır",
|
||||
"commandlist-notification/pause": "\tp - duraklatmayı değiştirir",
|
||||
"commandlist-notification/seek": "\t[s][+-]time - verilen zaman değerine atlar, eğer + veya - belirtilmezse, saniye:dakika cinsinden mutlak zamandır.",
|
||||
"commandlist-notification/help": "\th - yardım",
|
||||
"commandlist-notification/toggle": "\tt - izlemeye hazır olup olmadığınızı değiştirir",
|
||||
"commandlist-notification/create": "\tc [name] - mevcut odanın adını kullanarak yönetilen oda oluştur",
|
||||
"commandlist-notification/auth": "\ta [password] - operatör şifresi ile oda operatörü olarak kimlik doğrular",
|
||||
"commandlist-notification/chat": "\tch [message] - bir odaya sohbet mesajı gönderir",
|
||||
"commandList-notification/queue": "\tqa [file/url] - oynatma listesinin altına dosya veya bağlantı ekler",
|
||||
"commandList-notification/playlist": "\tql - mevcut oynatma listesini gösterir",
|
||||
"commandList-notification/select": "\tqs [index] - oynatma listesinde verilen girişi seçer",
|
||||
"commandList-notification/delete": "\tqd [index] - verilen girişi oynatma listesinden siler",
|
||||
"syncplay-version-notification": "Syncplay sürümü: {}", # syncplay.version
|
||||
"more-info-notification": "Daha fazla bilgiye şu adresten ulaşabilirsiniz: {}", # projectURL
|
||||
|
||||
"gui-data-cleared-notification": "Syncplay, GUI tarafından kullanılan yolu ve pencere durumu verilerini temizledi.",
|
||||
"language-changed-msgbox-label": "Syncplay'i çalıştırdığınızda dil değiştirilecek.",
|
||||
"promptforupdate-label": "Syncplay'in zaman zaman güncellemeleri otomatik olarak kontrol etmesi uygun mudur?",
|
||||
|
||||
"media-player-latency-warning": "Uyarı: Medya yürütücünün yanıt vermesi {} saniye sürdü. Senkronizasyon sorunları yaşıyorsanız, sistem kaynaklarını boşaltmak için uygulamaları kapatın ve bu işe yaramazsa, farklı bir medya oynatıcı deneyin.", # Seconds to respond
|
||||
"mpv-unresponsive-error": "mpv {} saniye boyunca yanıt vermedi, bu nedenle arızalı görünüyor. Lütfen Syncplay'i yeniden başlatın.", # Seconds to respond
|
||||
|
||||
# Client prompts
|
||||
"enter-to-exit-prompt": "Çıkmak için enter tuşuna basın\n",
|
||||
|
||||
# Client errors
|
||||
"missing-arguments-error": "Bazı gerekli argümanlar eksik, bakınız --help",
|
||||
"server-timeout-error": "Sunucuyla bağlantı zaman aşımına uğradı",
|
||||
"mpc-slave-error": "Bağımlı modda MPC başlatılamıyor!",
|
||||
"mpc-version-insufficient-error": "MPC sürümü yeterli değil, lütfen `mpc-hc`> =` {} `kullanın",
|
||||
"mpc-be-version-insufficient-error": "MPC sürümü yeterli değil, lütfen `mpc-hc`> =` {} `kullanın",
|
||||
"mpv-version-error": "Syncplay, mpv'nin bu sürümüyle uyumlu değil. Lütfen farklı bir mpv sürümü kullanın (ör. Git HEAD).",
|
||||
"mpv-failed-advice": "Mpv'nin başlatılamamasının nedeni, desteklenmeyen komut satırı bağımsız değişkenlerinin veya mpv'nin desteklenmeyen bir sürümünün kullanılması olabilir.",
|
||||
"player-file-open-error": "Oynatıcı dosyayı açamadı",
|
||||
"player-path-error": "Oynatıcı yolu doğru ayarlanmadı. Desteklenen oynatıcılar şunlardır: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 ve IINA",
|
||||
"hostname-empty-error": "Ana bilgisayar adı boş olamaz",
|
||||
"empty-error": "{} boş olamaz", # Configuration
|
||||
"media-player-error": "Medaya oynatıcısı hatası: \"{}\"", # Error line
|
||||
"unable-import-gui-error": "GUI kitaplıkları içe aktarılamadı. PySide kurulu değilse, GUI'nin çalışması için kurmanız gerekecektir.",
|
||||
"unable-import-twisted-error": "Twisted içe aktarılamadı. Lütfen Twisted v16.4.0 veya sonraki sürümünü yükleyin.",
|
||||
|
||||
"arguments-missing-error": "Bazı gerekli argümanlar eksik, bakınız --help",
|
||||
|
||||
"unable-to-start-client-error": "İstemci başlatılamıyor",
|
||||
|
||||
"player-path-config-error": "Oynatıcı yolu doğru ayarlanmadı. Desteklenen oyuncular şunlardır: mpv, mpv.net, VLC, MPC-HC, MPC-BE, mplayer2 ve IINA.",
|
||||
"no-file-path-config-error": "Oynatıcınız başlatılmadan önce dosya seçilmelidir",
|
||||
"no-hostname-config-error": "Ana bilgisayar adı boş olamaz",
|
||||
"invalid-port-config-error": "Bağlantı noktası geçerli olmalıdır",
|
||||
"empty-value-config-error": "{} boş olamaz", # Config option
|
||||
|
||||
"not-json-error": "JSON ile kodlanmış bir dize değil\n",
|
||||
"hello-arguments-error": "Not enough Hello arguments\n", # DO NOT TRANSLATE
|
||||
"version-mismatch-error": "İstemci ve sunucu sürümleri arasında uyumsuzluk\n",
|
||||
"vlc-failed-connection": "VLC'ye bağlanılamadı. Syncplay.lua'yı yüklemediyseniz ve VLC'nin en son sürümünü kullanıyorsanız talimatlar için lütfen https://syncplay.pl/LUA/ adresine bakın. Syncplay ve VLC 4 şu anda uyumlu değildir, bu nedenle VLC 3'ü veya mpv gibi bir alternatifi kullanın.",
|
||||
"vlc-failed-noscript": "VLC, syncplay.lua arabirim komut dosyasının yüklenmediğini bildirdi. Talimatlar için lütfen https://syncplay.pl/LUA/ adresine bakın.",
|
||||
"vlc-failed-versioncheck": "VLC'nin bu sürümü Syncplay tarafından desteklenmemektedir.",
|
||||
"vlc-initial-warning": 'VLC, özellikle .mp4 ve .avi dosyaları için Syncplay\'e her zaman doğru konum bilgisi sağlamaz. Hatalı arama ile ilgili sorunlar yaşarsanız, lütfen <a href="https://mpv.io/"> mpv</a> gibi alternatif bir medya oynatıcı deneyin. (veya Windows kullanıcıları için <a href="https://github.com/stax76/mpv.net/">mpv.net</a>).',
|
||||
|
||||
"feature-sharedPlaylists": "paylaşılan oynatma listeleri", # used for not-supported-by-server-error
|
||||
"feature-chat": "sohbet", # used for not-supported-by-server-error
|
||||
"feature-readiness": "hazırlık", # used for not-supported-by-server-error
|
||||
"feature-managedRooms": "yönetilen odalar", # used for not-supported-by-server-error
|
||||
|
||||
"not-supported-by-server-error": "{} özelliği bu sunucu tarafından desteklenmiyor ..", # feature
|
||||
"shared-playlists-not-supported-by-server-error": "Paylaşılan çalma listeleri özelliği sunucu tarafından desteklenmeyebilir. Doğru çalıştığından emin olmak için Syncplay {}+ çalıştıran bir sunucu gerektirir, ancak sunucu Syncplay {} çalıştırmaktadır.", # minVersion, serverVersion
|
||||
"shared-playlists-disabled-by-server-error": "Paylaşılan çalma listesi özelliği, sunucu yapılandırmasında devre dışı bırakıldı. Bu özelliği kullanmak için farklı bir sunucuya bağlanmanız gerekecektir.",
|
||||
|
||||
"invalid-seek-value": "Geçersiz atlama değerie",
|
||||
"invalid-offset-value": "Geçersiz zaman konumu değeri",
|
||||
|
||||
"switch-file-not-found-error": "'{0}' dosyasına geçilemedi. Syncplay, belirtilen medya dizinlerine bakar.", # File not found
|
||||
"folder-search-timeout-error": "'{}' üzerinden arama yapmak çok uzun sürdüğü için medya dizinlerinde medya araması durduruldu. Ortam klasörleri listenizde arama yapmak için çok fazla alt klasörün bulunduğu bir klasör seçerseniz bu meydana gelir. Otomatik dosya değiştirmenin tekrar çalışması için lütfen menü çubuğunda Dosya-> Medya Dizinlerini Ayarla'yı seçin ve bu dizini kaldırın veya uygun bir alt klasörle değiştirin. Klasör gerçekten iyi durumdaysa, Dosya-> Medya Dizinlerini Ayarla'yı seçip 'Tamam'a basarak yeniden etkinleştirebilirsiniz.", # Folder
|
||||
"folder-search-first-file-timeout-error": "Dizine erişim çok uzun sürdüğü için '{}' içindeki medya araması durduruldu. Bu, bir ağ sürücüsü ise veya sürücünüzü bir süre kullanılmadığında dönecek şekilde yapılandırırsanız olabilir. Otomatik dosya değiştirmenin tekrar çalışması için lütfen Dosya-> Medya Dizinlerini Ayarla'ya gidin ve dizini kaldırın veya sorunu çözün (örn. Güç tasarrufu ayarlarını değiştirerek).", # Folder
|
||||
"added-file-not-in-media-directory-error": "Bilinen bir medya dizini olmayan '{}' içine bir dosya yüklediniz. Menü çubuğunda Dosya-> Medya Dizinlerini Ayarla'yı seçerek bunu bir medya dizini olarak ekleyebilirsiniz.", # Folder
|
||||
"no-media-directories-error": "Hiçbir medya dizini ayarlanmadı. Paylaşılan çalma listesi ve dosya değiştirme özelliklerinin düzgün çalışması için lütfen Dosya-> Ortam Dizinlerini Ayarla'yı seçin ve Syncplay'in medya dosyalarını bulmak için nereye bakması gerektiğini belirtin.",
|
||||
"cannot-find-directory-error": "'{}' medya dizini bulunamadı. Medya dizinleri listenizi güncellemek için lütfen menü çubuğundan Dosya-> Medya Dizinlerini Ayarla'yı seçin ve Syncplay'in medya dosyalarını bulmak için nereye bakması gerektiğini belirtin.",
|
||||
|
||||
"failed-to-load-server-list-error": "Genel sunucu listesi yüklenemedi. Lütfen tarayıcınızda https://www.syncplay.pl/ adresini ziyaret edin.",
|
||||
|
||||
# Client arguments
|
||||
"argument-description": 'Ağ üzerinden birden çok medya oynatıcı örneğinin oynatılmasını senkronize etme çözümü.',
|
||||
"argument-epilog": 'Sağlanan seçenek yoksa _config değerleri kullanılacaktır',
|
||||
"nogui-argument": 'GUI olmadan göster',
|
||||
"host-argument": 'sunucunun adresi',
|
||||
"name-argument": 'istenilen kullanıcı adı',
|
||||
"debug-argument": 'debug modu',
|
||||
"force-gui-prompt-argument": 'yapılandırma isteminin görünmesini sağlayın',
|
||||
"no-store-argument": 'değerleri .syncplay içinde saklamayın',
|
||||
"room-argument": 'varsayılan oda',
|
||||
"password-argument": 'sunucu parolası',
|
||||
"player-path-argument": 'oynatıcınızın çalıştırılabilir yolu',
|
||||
"file-argument": 'oynatmak için dosya',
|
||||
"args-argument": 'oynatıcı seçenekleri, ile başlayan seçenekleri iletmeniz gerekiyorsa - bunların başına tek \'--\' argümanı ekleyin',
|
||||
"clear-gui-data-argument": 'QSettings olarak depolanan yol ve pencere durumu GUI verilerini sıfırlar',
|
||||
"language-argument": 'Syncplay mesajları için dil (de/en/ru/it/es/pt_BR/pt_PT/tr)',
|
||||
|
||||
"version-argument": 'versiyonunuzu yazdırır',
|
||||
"version-message": "Syncplay sürümünü kullanıyorsunuz {} ({})",
|
||||
|
||||
"load-playlist-from-file-argument": "metin dosyasından oynatma listesi yükler (her satıra bir giriş)",
|
||||
|
||||
|
||||
# Client labels
|
||||
"config-window-title": "Syncplay yapılandırması",
|
||||
|
||||
"connection-group-title": "Bağlantı ayarları",
|
||||
"host-label": "Sunucu adresi: ",
|
||||
"name-label": "Kullanıcı adı (isteğe bağlı):",
|
||||
"password-label": "Sunucu şifresi (varsa):",
|
||||
"room-label": "Varsayılan oda: ",
|
||||
"roomlist-msgbox-label": "Oda listesini düzenleyin (her satıra bir tane)",
|
||||
|
||||
"media-setting-title": "Medya oynatıcı ayarları",
|
||||
"executable-path-label": "Medya oynatıcı dosya yolu:",
|
||||
"media-path-label": "Video dosya yolu (isteğe bağlı):",
|
||||
"player-arguments-label": "Oynatıcı argümanları (varsa):",
|
||||
"browse-label": "Araştır",
|
||||
"update-server-list-label": "Listeyi güncelle",
|
||||
|
||||
"more-title": "Daha fazla ayar göster",
|
||||
"never-rewind-value": "Asla",
|
||||
"seconds-suffix": " secs",
|
||||
"privacy-sendraw-option": "raw gönder",
|
||||
"privacy-sendhashed-option": "hashed gönder",
|
||||
"privacy-dontsend-option": "Gönderme",
|
||||
"filename-privacy-label": "Dosya yolu bilgisi:",
|
||||
"filesize-privacy-label": "Dosya boyutu bilgisi:",
|
||||
"checkforupdatesautomatically-label": "Syncplay güncellemelerini otomatik olarak kontrol edin",
|
||||
"autosavejoinstolist-label": "Katıldığınız odaları oda listesine ekleyin",
|
||||
"slowondesync-label": "Küçük desenkronizasyonda yavaşlama (MPC-HC / BE'de desteklenmez)",
|
||||
"rewindondesync-label": "Ana desenkronizasyonda geri sar (önerilir)",
|
||||
"fastforwardondesync-label": "Geride kalırsa hızlı ileri sar (önerilir)",
|
||||
"dontslowdownwithme-label": "Başkalarını asla yavaşlatma veya geri sarma (deneysel)",
|
||||
"pausing-title": "Duraklatılıyor",
|
||||
"pauseonleave-label": "Kullanıcı ayrıldığında duraklayın (ör. Bağlantısı kesilirse)",
|
||||
"readiness-title": "İlk hazırlık durumu",
|
||||
"readyatstart-label": "Beni varsayılan olarak 'izlemeye hazır' olarak ayarla",
|
||||
"forceguiprompt-label": "Syncplay yapılandırma penceresini her zaman gösterme", # (Inverted)
|
||||
"showosd-label": "OSD Mesajlarını Etkinleştir",
|
||||
|
||||
"showosdwarnings-label": "Uyarıları dahil edin (ör. Dosyalar farklı olduğunda, kullanıcılar hazır olmadığında)",
|
||||
"showsameroomosd-label": "Odanızdaki etkinlikleri dahil edin",
|
||||
"shownoncontrollerosd-label": "Operatör olmayanlardan gelen olayları yönetilen odalara dahil et",
|
||||
"showdifferentroomosd-label": "Diğer odalardaki etkinlikleri dahil et",
|
||||
"showslowdownosd-label": "Yavaşlatma / geri alma bildirimlerini dahil et",
|
||||
"language-label": "Dil:",
|
||||
"automatic-language": "Varsayılan ({})", # Default language
|
||||
"showdurationnotification-label": "Medya süresi uyuşmazlıkları konusunda uyarın",
|
||||
"basics-label": "Temeller",
|
||||
"readiness-label": "Oynat/Duraklat",
|
||||
"misc-label": "Misc",
|
||||
"core-behaviour-title": "Çekirdek oda davranışı",
|
||||
"syncplay-internals-title": "Syncplay dahili bileşenleri",
|
||||
"syncplay-mediasearchdirectories-title": "Medya aramak için dizinler",
|
||||
"syncplay-mediasearchdirectories-label": "Medya aramak için dizinler (satır başına bir yol)",
|
||||
"sync-label": "Sync",
|
||||
"sync-otherslagging-title": "Başkaları geride kalıyorsa ...",
|
||||
"sync-youlaggging-title": "Geride kalıyorsan ...",
|
||||
"messages-label": "mesajlar",
|
||||
"messages-osd-title": "Ekran üstü görüntü ayarları",
|
||||
"messages-other-title": "Diğer ekran ayarları",
|
||||
"chat-label": "Sohbet",
|
||||
"privacy-label": "Gizlilik", # Currently unused, but will be brought back if more space is needed in Misc tab
|
||||
"privacy-title": "Gizlilik ayarları",
|
||||
"unpause-title": "Oynat'a basarsanız, hazır olarak ayarlayın ve:",
|
||||
"unpause-ifalreadyready-option": "Zaten hazır olarak ayarlanmışsa duraklatmayı bırakın",
|
||||
"unpause-ifothersready-option": "Zaten hazırsa veya odadaki diğerleri hazırsa duraklatmayı bırakın (varsayılan)",
|
||||
"unpause-ifminusersready-option": "Zaten hazırsa veya diğerleri hazırsa ve min kullanıcılar hazırsa duraklatmayı kaldırın",
|
||||
"unpause-always": "Her zaman devam ettir",
|
||||
"syncplay-trusteddomains-title": "Güvenilir alanlar (akış hizmetleri ve barındırılan içerik için)",
|
||||
|
||||
"chat-title": "Sohbet mesajı girişi",
|
||||
"chatinputenabled-label": "Mpv aracılığıyla sohbet girişini etkinleştir",
|
||||
"chatdirectinput-label": "Anında sohbet girişine izin ver (sohbet etmek için enter tuşuna basma zorunluluğunu atlayın)",
|
||||
"chatinputfont-label": "Sohbet yazı tipi",
|
||||
"chatfont-label": "Yazı tipini ayarla",
|
||||
"chatcolour-label": "Rengi ayarla",
|
||||
"chatinputposition-label": "Mesaj giriş alanının mpv'deki konumu",
|
||||
"chat-top-option": "Üst",
|
||||
"chat-middle-option": "Orta",
|
||||
"chat-bottom-option": "Alt",
|
||||
"chatoutputheader-label": "Sohbet mesajı çıkışı",
|
||||
"chatoutputfont-label": "Sohbet çıktı yazı tipi",
|
||||
"chatoutputenabled-label": "Medya oynatıcıda sohbet çıkışını etkinleştirin (şimdilik yalnızca mpv)",
|
||||
"chatoutputposition-label": "Çıkış modu",
|
||||
"chat-chatroom-option": "Sohbet odası stili",
|
||||
"chat-scrolling-option": "Kaydırma stili",
|
||||
|
||||
"mpv-key-tab-hint": "Alfabe satırı tuşu kısayollarına erişimi değiştirmek için [TAB].",
|
||||
"mpv-key-hint": "Mesaj göndermek için [ENTER]. Sohbet modundan çıkmak için [ESC].",
|
||||
"alphakey-mode-warning-first-line": "Geçici olarak eski mpv bağlamalarını a-z tuşlarıyla kullanabilirsiniz.",
|
||||
"alphakey-mode-warning-second-line": "Syncplay sohbet moduna dönmek için [TAB] tuşuna basın.",
|
||||
|
||||
"help-label": "Yardım",
|
||||
"reset-label": "Varsayılanları geri yükle",
|
||||
"run-label": "Syncplay'i çalıştırın",
|
||||
"storeandrun-label": "Yapılandırmayı depolayın ve Syncplay'i çalıştırın",
|
||||
|
||||
"contact-label": "E-posta <a href=\"mailto:dev@syncplay.pl\"><nobr>dev@syncplay.pl</nobr></a> göndermekten çekinmeyin. irc.freenode.net'te <a href=\"https://webchat.freenode.net/?channels=#syncplay\"><nobr>#Syncplay IRC channel</nobr></a> kanalı üzerinden yazabilir, GitHub üzerinden <a href=\"https://github.com/Uriziel/syncplay/issues\"><nobr>sorun bildirebilir</nobr></a>, Facebook üzerinden <a href=\"https://www.facebook.com/SyncplaySoftware\"><nobr>bizi beğenebilir</nobr></a>, Twitter üzerinden <a href=\"https://twitter.com/Syncplay/\"><nobr>bizi takip edebilir</nobr></a>, veya <a href=\"https://syncplay.pl/\"><nobr>https://syncplay.pl/</nobr></a> adresinden sayfamızı ziyaret edebilirsiniz. Hassas bilgileri göndermek için Syncplay kullanmayın.",
|
||||
|
||||
"joinroom-label": "Odaya katıl",
|
||||
"joinroom-menu-label": "{} odasına katıl",
|
||||
"seektime-menu-label": "Zamana atla",
|
||||
"undoseek-menu-label": "Atlamayı geri al",
|
||||
"play-menu-label": "Oynat",
|
||||
"pause-menu-label": "Duraklat",
|
||||
"playbackbuttons-menu-label": "Oynatma düğmelerini göster",
|
||||
"autoplay-menu-label": "Otomatik oynat düğmesini göster",
|
||||
"autoplay-guipushbuttonlabel": "Her şey hazır olduğunda oynat",
|
||||
"autoplay-minimum-label": "Asgari kullanıcı:",
|
||||
|
||||
"sendmessage-label": "Gönder",
|
||||
|
||||
"ready-guipushbuttonlabel": "İzlemeye hazırım!",
|
||||
|
||||
"roomuser-heading-label": "Oda / Kullanıcı",
|
||||
"size-heading-label": "Boyut",
|
||||
"duration-heading-label": "Uzunluk",
|
||||
"filename-heading-label": "Dosya Adı",
|
||||
"notifications-heading-label": "Bildirimler",
|
||||
"userlist-heading-label": "Kimin ne oynadığını listesi",
|
||||
|
||||
"browseformedia-label": "Medya dosyalarına göz atın",
|
||||
|
||||
"file-menu-label": "&Dosya", # & precedes shortcut key
|
||||
"openmedia-menu-label": "Medya d&osyasını aç",
|
||||
"openstreamurl-menu-label": "Medya akışı &URL'sini aç",
|
||||
"setmediadirectories-menu-label": "Medya di&zinlerini ayarlayın",
|
||||
"loadplaylistfromfile-menu-label": "Dosyadan oynatma &listesi yükle",
|
||||
"saveplaylisttofile-menu-label": "Oynatma listesini dosyaya kay&dedin",
|
||||
"exit-menu-label": "Çı&kış",
|
||||
"advanced-menu-label": "&Gelişmiş",
|
||||
"window-menu-label": "&Pencere",
|
||||
"setoffset-menu-label": "Zaman &konumunu ayarla",
|
||||
"createcontrolledroom-menu-label": "&Yönetilen oda oluştur",
|
||||
"identifyascontroller-menu-label": "&Oda operatörü olarak tanımlayın",
|
||||
"settrusteddomains-menu-label": "Güvenilir &domain ayarlayın",
|
||||
"addtrusteddomain-menu-label": "{} Alanını güvenilen alan olarak ekleyin", # Domain
|
||||
|
||||
"edit-menu-label": "Düzenl&e",
|
||||
"cut-menu-label": "Ke&s",
|
||||
"copy-menu-label": "&Kopyala",
|
||||
"paste-menu-label": "&Yapıştır",
|
||||
"selectall-menu-label": "&Tümünü Seç",
|
||||
|
||||
"playback-menu-label": "&Oynatma",
|
||||
|
||||
"help-menu-label": "&Yardım",
|
||||
"userguide-menu-label": "&Kullanım kılavuzunu aç",
|
||||
"update-menu-label": "&Güncellemeleri kontrol ediniz",
|
||||
|
||||
"startTLS-initiated": "Güvenli bağlantı kurulmaya çalışılıyor",
|
||||
"startTLS-secure-connection-ok": "Güvenli bağlantı kuruldu ({})",
|
||||
"startTLS-server-certificate-invalid": 'Güvenli bağlantı kurulamadı. Sunucu geçersiz bir güvenlik sertifikası kullanıyor. Bu iletişim üçüncü bir şahıs tarafından engellenebilir. Daha fazla ayrıntı ve sorun giderme için <a href="https://syncplay.pl/trouble"> buraya </a> bakın.',
|
||||
"startTLS-server-certificate-invalid-DNS-ID": "Syncplay, ana bilgisayar adı için geçerli olmayan bir sertifika kullandığından bu sunucuya güvenmiyor.",
|
||||
"startTLS-not-supported-client": "Bu istemci TLS'yi desteklemiyor",
|
||||
"startTLS-not-supported-server": "Bu sunucu TLS'yi desteklemiyor",
|
||||
|
||||
# TLS certificate dialog
|
||||
"tls-information-title": "Sertifika Ayrıntıları",
|
||||
"tls-dialog-status-label": "<strong> Syncplay, {} ile şifrelenmiş bir bağlantı kullanıyor. </strong>",
|
||||
"tls-dialog-desc-label": "Dijital sertifika yapılam şifreleme, <br>bu sunucuya {} veri gönderirken ve alırken bilgileri gizli tutar.",
|
||||
"tls-dialog-connection-label": "Transport Layer Security (TLS), sürüm {} ile şifrelenen şifre<br/>paketi: {}.",
|
||||
"tls-dialog-certificate-label": "{} Tarafından verilen sertifika {} tarihine kadar geçerlidir.",
|
||||
|
||||
# About dialog
|
||||
"about-menu-label": "&Syncplay hakkında",
|
||||
"about-dialog-title": "Syncplay hakkında",
|
||||
"about-dialog-release": "Sürüm {} yayın {}",
|
||||
"about-dialog-license-text": "Apache Lisansı altında Lisanslanmıştır, Sürüm 2.0",
|
||||
"about-dialog-license-button": "Lisans",
|
||||
"about-dialog-dependencies": "Bağımlılıklar",
|
||||
|
||||
"setoffset-msgbox-label": "Zaman konumunu ayarla",
|
||||
"offsetinfo-msgbox-label": "Zaman Konumu (Kullanım talimatları için https://syncplay.pl/guide/ adresine bakın):",
|
||||
|
||||
"promptforstreamurl-msgbox-label": "Medya akışı URL'sini aç",
|
||||
"promptforstreamurlinfo-msgbox-label": "Akış URL'si",
|
||||
|
||||
"addfolder-label": "Klasör ekle",
|
||||
|
||||
"adduris-msgbox-label": "Oynatma listesine URL ekleyin (her satıra bir tane)",
|
||||
"editplaylist-msgbox-label": "Oynatma listesi ayarlayın (satır başına bir)",
|
||||
"trusteddomains-msgbox-label": "Etki alanları otomatik olarak geçiş yapmakta sorun yoktur (her satırda bir)",
|
||||
|
||||
"createcontrolledroom-msgbox-label": "Yönetilen oda oluştur",
|
||||
"controlledroominfo-msgbox-label": "Yönetilen odanın adını girin\r\n(kullanım talimatları için https://syncplay.pl/guide/ adresine bakın):",
|
||||
|
||||
"identifyascontroller-msgbox-label": "Oda operatörü olarak tanımlayın",
|
||||
"identifyinfo-msgbox-label": "Bu oda için operatör şifresini girin\r\n(kullanım talimatları için https://syncplay.pl/guide/ adresine bakın):",
|
||||
|
||||
"public-server-msgbox-label": "Bu görüntüleme oturumu için genel sunucuyu seçin",
|
||||
|
||||
"megabyte-suffix": " MB",
|
||||
|
||||
# Tooltips
|
||||
|
||||
"host-tooltip": "Bağlanılacak ana bilgisayar adı veya IP, isteğe bağlı olarak bağlantı noktası dahil (ör. Syncplay.pl:8999). Yalnızca aynı sunucu/bağlantı noktasındaki kişilerle senkronize edilir.",
|
||||
"name-tooltip": "Takma adınız tarafından tanınacaksınız. Kayıt yok, bu nedenle daha sonra kolayca değiştirebilirsiniz. Hiçbiri belirtilmediyse rastgele ad oluşturuldu.",
|
||||
"password-tooltip": "Parolalar yalnızca özel sunuculara bağlanmak için gereklidir.",
|
||||
"room-tooltip": "Bağlantı kurulduğunda katılabileceğiniz oda neredeyse her şey olabilir, ancak yalnızca aynı odadaki kişilerle senkronize olacaksınız.",
|
||||
|
||||
"edit-rooms-tooltip": "Oda listesini düzenleyin.",
|
||||
|
||||
"executable-path-tooltip": "Seçtiğiniz desteklenen medya oynatıcının konumu (mpv, mpv.net, VLC, MPC-HC / BE, mplayer2 veya IINA).",
|
||||
"media-path-tooltip": "Açılacak videonun veya akışın konumu. Mplayer2 için gerekli.",
|
||||
"player-arguments-tooltip": "Bu medya oynatıcıya iletilecek ek komut satırı argümanları / anahtarları.",
|
||||
"mediasearcdirectories-arguments-tooltip": "Syncplay'in medya dosyalarını arayacağı dizinler, ör. geçmek için tıklama özelliğini kullandığınızda. Syncplay, alt klasörler arasında yinelemeli olarak bakacaktır.",
|
||||
|
||||
"more-tooltip": "Daha az kullanılan ayarları görüntüleyin.",
|
||||
"filename-privacy-tooltip": "Oynatılmakta olan dosya adını sunucuya göndermek için gizlilik modu.",
|
||||
"filesize-privacy-tooltip": "Oynatılmakta olan dosyanın boyutunu sunucuya göndermek için gizlilik modu.",
|
||||
"privacy-sendraw-tooltip": "Bu bilgileri şaşırtmadan gönderin. Bu, çoğu işlevselliğe sahip varsayılan seçenektir.",
|
||||
"privacy-sendhashed-tooltip": "Bilginin karma bir versiyonunu göndererek diğer istemciler tarafından daha az görünür hale getirin.",
|
||||
"privacy-dontsend-tooltip": "Bu bilgiyi sunucuya göndermeyin. Bu, maksimum gizlilik sağlar.",
|
||||
"checkforupdatesautomatically-tooltip": "Syncplay'in yeni bir sürümünün mevcut olup olmadığını görmek için Syncplay web sitesine düzenli olarak danışın.",
|
||||
"autosavejoinstolist-tooltip": "Sunucudaki bir odaya katıldığınızda, katılacağınız odalar listesindeki oda adını otomatik olarak hatırlayın.",
|
||||
"slowondesync-tooltip": "Sizi diğer izleyicilerle senkronize hale getirmek için gerektiğinde oynatma oranını geçici olarak azaltın. MPC-HC/BE'de desteklenmez.",
|
||||
"dontslowdownwithme-tooltip": "Oynatma işleminiz geciktiğinde başkalarının yavaşlamaması veya geri sarılmaması anlamına gelir. Oda operatörleri için kullanışlıdır.",
|
||||
"pauseonleave-tooltip": "Bağlantınız kesilirse veya biri odanızdan ayrılırsa oynatmayı duraklatın.",
|
||||
"readyatstart-tooltip": "Başlangıçta kendinizi 'hazır' olarak ayarlayın (aksi takdirde hazır olma durumunuzu değiştirene kadar 'hazır değil' olarak ayarlanırsınız)",
|
||||
"forceguiprompt-tooltip": "Syncplay ile bir dosya açarken yapılandırma diyaloğu gösterilmiyor.", # (Inverted)
|
||||
"nostore-tooltip": "Syncplay'i verilen yapılandırmayla çalıştırın, ancak değişiklikleri kalıcı olarak saklamayın.", # (Inverted)
|
||||
"rewindondesync-tooltip": "Tekrar senkronize olmak için gerektiğinde geri gidin. Bu seçeneğin devre dışı bırakılması büyük desenkronizasyonlara neden olabilir!",
|
||||
"fastforwardondesync-tooltip": "Oda operatörüyle senkronizasyon dışındayken ileri atlayın (veya 'Başkalarını asla yavaşlatma veya geri sarma' etkinse taklit konumunuz).",
|
||||
"showosd-tooltip": "Syncplay mesajlarını medya oynatıcı OSD'sine gönderir.",
|
||||
"showosdwarnings-tooltip": "Farklı bir dosya oynatılıyorsa, odada tek başına, kullanıcılar hazır değilse vb. Uyarıları gösterin.",
|
||||
"showsameroomosd-tooltip": "Oda kullanıcısının bulunduğu yerle ilgili olaylar için OSD bildirimlerini göster.",
|
||||
"shownoncontrollerosd-tooltip": "Yönetilen odalarda bulunan operatör olmayanlarla ilgili olaylar için OSD bildirimlerini gösterin.",
|
||||
"showdifferentroomosd-tooltip": "Oda kullanıcısının içinde olmadığı ile ilgili olaylar için OSD bildirimlerini göster.",
|
||||
"showslowdownosd-tooltip": "Zaman farkında yavaşlama / geri dönme bildirimlerini gösterin.",
|
||||
"showdurationnotification-tooltip": "Çok parçalı bir dosyadaki bir segment eksik olduğunda kullanışlıdır, ancak yanlış pozitiflere neden olabilir.",
|
||||
"language-tooltip": "Syncplay tarafından kullanılacak dil.",
|
||||
"unpause-always-tooltip": "Yeniden duraklatmaya basarsanız, yalnızca sizi hazır olarak ayarlamak yerine, her zaman hazır ve duraklatmaya devam etmenizi sağlar.",
|
||||
"unpause-ifalreadyready-tooltip": "Hazır olmadığınızda yeniden duraklatmaya basarsanız, sizi hazır olarak ayarlar - devam ettirmek için yeniden duraklatmaya basın.",
|
||||
"unpause-ifothersready-tooltip": "Hazır olmadığınızda duraklatmayı kaldır'a basarsanız, yalnızca başkaları hazırsa duraklatmaya devam eder.",
|
||||
"unpause-ifminusersready-tooltip": "Hazır değilken duraklatmayı kaldır'a basarsanız, yalnızca başkaları hazırsa ve minimum kullanıcı eşiğine ulaşılırsa duraklatmaya devam edilir.",
|
||||
"trusteddomains-arguments-tooltip": "Syncplay'in, paylaşılan oynatma listeleri etkinleştirildiğinde otomatik olarak geçiş yapmasının uygun olduğu alanlar.",
|
||||
|
||||
"chatinputenabled-tooltip": "MPv'de sohbet girişini etkinleştirin (sohbet için enter'a basın, göndermek için enter'a basın, iptal etmek için çıkış yapın)",
|
||||
"chatdirectinput-tooltip": "Mpv'de sohbet giriş moduna geçmek için 'enter' tuşuna basma zorunluluğunu atlayın. Bu özelliği geçici olarak devre dışı bırakmak için mpv'de TAB tuşuna basın.",
|
||||
"font-label-tooltip": "Mpv'de sohbet mesajlarını girerken kullanılan yazı tipi. Yalnızca istemci tarafındadır, bu nedenle diğerlerinin gördüklerini etkilemez.",
|
||||
"set-input-font-tooltip": "Mpv'de sohbet mesajlarını girerken kullanılan yazı tipi ailesi. Yalnızca istemci tarafındadır, bu nedenle diğerlerinin gördüklerini etkilemez.",
|
||||
"set-input-colour-tooltip": "Mpv'de sohbet mesajlarını girerken kullanılan yazı tipi rengi. Yalnızca istemci tarafındadır, bu nedenle diğerlerinin gördüklerini etkilemez.",
|
||||
"chatinputposition-tooltip": "Enter tuşuna basıp yazdığınızda sohbet giriş metninin görüneceği mpv'deki konum.",
|
||||
"chatinputposition-top-tooltip": "Sohbet girişini mpv penceresinin üstüne yerleştirin.",
|
||||
"chatinputposition-middle-tooltip": "Sohbet girişini mpv penceresinin tam ortasına yerleştirin.",
|
||||
"chatinputposition-bottom-tooltip": "Sohbet girişini mpv penceresinin altına yerleştirin.",
|
||||
"chatoutputenabled-tooltip": "OSD'de sohbet mesajlarını gösterin (medya oynatıcı tarafından destekleniyorsa).",
|
||||
"font-output-label-tooltip": "Sohbet yazı tipi.",
|
||||
"set-output-font-tooltip": "Sohbet mesajlarını görüntülerken kullanılan yazı tipi.",
|
||||
"chatoutputmode-tooltip": "Sohbet mesajları nasıl görüntülenir.",
|
||||
"chatoutputmode-chatroom-tooltip": "Yeni sohbet satırlarını doğrudan önceki satırın altında görüntüleyin.",
|
||||
"chatoutputmode-scrolling-tooltip": "Sohbet metnini sağdan sola kaydırın.",
|
||||
|
||||
"help-tooltip": "Syncplay.pl kullanım kılavuzunu açar.",
|
||||
"reset-tooltip": "Tüm ayarları varsayılan yapılandırmaya sıfırlayın.",
|
||||
"update-server-list-tooltip": "Genel sunucuların listesini güncellemek için syncplay.pl'ye bağlanın.",
|
||||
|
||||
"sslconnection-tooltip": "Sunucuya güvenli bir şekilde bağlı. Sertifika detayları için tıklayınız.",
|
||||
|
||||
"joinroom-tooltip": "Mevcut odadan çıkın ve belirtilen odaya katılır.",
|
||||
"seektime-msgbox-label": "Belirtilen zamana atlayın (saniye / dakika:saniye). Göreceli atlama için +/- kullanın.",
|
||||
"ready-tooltip": "İzlemeye hazır olup olmadığınızı gösterir.",
|
||||
"autoplay-tooltip": "Hazır olma göstergesine sahip tüm kullanıcılar hazır olduğunda ve minimum kullanıcı eşiğine ulaşıldığında otomatik oynatın.",
|
||||
"switch-to-file-tooltip": "Çift tıklama ile şuna geç {}", # Filename
|
||||
"sendmessage-tooltip": "Odaya mesaj gönder",
|
||||
|
||||
# In-userlist notes (GUI)
|
||||
"differentsize-note": "Farklı boyut!",
|
||||
"differentsizeandduration-note": "Farklı boyut ve süre!",
|
||||
"differentduration-note": "Farklı süre!",
|
||||
"nofile-note": "(Oynatılan dosya yok)",
|
||||
|
||||
# Server messages to client
|
||||
"new-syncplay-available-motd-message": "Syncplay {} kullanıyorsunuz ancak daha yeni bir sürüm https://syncplay.pl adresinde mevcut", # ClientVersion
|
||||
|
||||
# Server notifications
|
||||
"welcome-server-notification": "Syncplay sunucusuna hoş geldiniz, ver. {0}", # version
|
||||
"client-connected-room-server-notification": "{0}({2}) odaya bağlandı '{1}'", # username, host, room
|
||||
"client-left-server-notification": "{0} sunucudan ayrıldı", # name
|
||||
"no-salt-notification": "LÜTFEN DİKKAT: Bu sunucu örneği tarafından oluşturulan oda operatörü şifrelerinin sunucu yeniden başlatıldığında da çalışmasına izin vermek için, lütfen gelecekte Syncplay sunucusunu çalıştırırken aşağıdaki komut satırı bağımsız değişkenini ekleyin: --salt {}", # Salt
|
||||
|
||||
|
||||
# Server arguments
|
||||
"server-argument-description": 'Ağ üzerinden birden çok medya oynatıcı örneğinin oynatılmasını senkronize etme çözümü. Sunucu örneği',
|
||||
"server-argument-epilog": 'Sağlanan seçenek yoksa _config değerleri kullanılacaktır',
|
||||
"server-port-argument": 'sunucu TCP bağlantı noktası',
|
||||
"server-password-argument": 'sunucu parolası',
|
||||
"server-isolate-room-argument": 'odalar izole edilmeli mi?',
|
||||
"server-salt-argument": "yönetilen oda şifreleri oluşturmak için kullanılan rastgele dize",
|
||||
"server-disable-ready-argument": "hazır olma özelliğini devre dışı bırak",
|
||||
"server-motd-argument": "motd alınacak dosyanın yolu",
|
||||
"server-chat-argument": "Sohbet devre dışı bırakılmalı mı?",
|
||||
"server-chat-maxchars-argument": "Bir sohbet mesajındaki maksimum karakter sayısı (varsayılan: {})", # Default number of characters
|
||||
"server-maxusernamelength-argument": "Bir kullanıcı adındaki maksimum karakter sayısı (varsayılan {})",
|
||||
"server-stats-db-file-argument": "SQLite db dosyasını kullanarak sunucu istatistiklerini etkinleştirin",
|
||||
"server-startTLS-argument": "Dosya yolundaki sertifika dosyalarını kullanarak TLS bağlantılarını etkinleştirin",
|
||||
"server-messed-up-motd-unescaped-placeholders": "Günün Mesajında çıkış karaktersiz yer tutucular var. Tüm $ işaretleri iki katına çıkarılmalıdır ($$).",
|
||||
"server-messed-up-motd-too-long": "Günün Mesajı çok uzun - maksimum {} karakter olmalı, {} verildi.",
|
||||
|
||||
# Server errors
|
||||
"unknown-command-server-error": "Bilinmeyen komut {}", # message
|
||||
"not-json-server-error": "JSON ile kodlanmış bir dize değil {}", # message
|
||||
"line-decode-server-error": "Utf-8 dizesi değil",
|
||||
"not-known-server-error": "Bu komutu göndermeden önce sunucu tarafından bilinmelisiniz",
|
||||
"client-drop-server-error": "İstemci bırakma: {} -- {}", # host, error
|
||||
"password-required-server-error": "Parola gerekli",
|
||||
"wrong-password-server-error": "Yanlış parola sağlandı",
|
||||
"hello-server-error": "Not enough Hello arguments", # DO NOT TRANSLATE
|
||||
|
||||
# Playlists
|
||||
"playlist-selection-changed-notification": "{} oynatma listesi seçimini değiştirdi", # Username
|
||||
"playlist-contents-changed-notification": "{} oynatma listesini güncelledi", # Username
|
||||
"cannot-find-file-for-playlist-switch-error": "Çalma listesi anahtarı için medya dizinlerinde {} dosyası bulunamadı!", # Filename
|
||||
"cannot-add-duplicate-error": "Yinelemelere izin verilmediğinden oynatma listesine '{}' için ikinci giriş eklenemedi.", # Filename
|
||||
"cannot-add-unsafe-path-error": "Güvenilir bir alanda olmadığı için {} otomatik olarak yüklenemedi. Oynatma listesinde çift tıklayarak URL'ye manuel olarak geçebilir ve Dosya-> Gelişmiş-> Güvenilir Etki Alanlarını Ayarla aracılığıyla güvenilir etki alanları ekleyebilirsiniz. Bir URL'yi sağ tıklarsanız, o URL'nin etki alanını bağlam menüsü aracılığıyla güvenilen etki alanı olarak ekleyebilirsiniz.", # Filename
|
||||
"sharedplaylistenabled-label": "Oynatma listesi paylaşımını etkinleştir",
|
||||
"removefromplaylist-menu-label": "Oynatma listesinden kaldır",
|
||||
"shuffleremainingplaylist-menu-label": "Kalan oynatma listesini karıştır",
|
||||
"shuffleentireplaylist-menu-label": "Tüm oynatma listesini karıştır",
|
||||
"undoplaylist-menu-label": "Oynatma listesindeki son değişikliği geri al",
|
||||
"addfilestoplaylist-menu-label": "Oynatma listesinin altına dosya(lar) ekle",
|
||||
"addurlstoplaylist-menu-label": "Oynatma listesinin altına URL('ler) ekle",
|
||||
"editplaylist-menu-label": "Oynatma listesini düzenle",
|
||||
|
||||
"open-containing-folder": "Bu dosyayı içeren klasörü aç",
|
||||
"addyourfiletoplaylist-menu-label": "Dosyanızı oynatma listesine ekleyin",
|
||||
"addotherusersfiletoplaylist-menu-label": "{} kişisinin dosyasını oynatma listesine ekle", # [Username]
|
||||
"addyourstreamstoplaylist-menu-label": "Akışınızı oynatma listesine ekleyin",
|
||||
"addotherusersstreamstoplaylist-menu-label": "Oynatma listesine {} kişisinin akışını ekleyin", # [Username]
|
||||
"openusersstream-menu-label": "{} kişisinin akışını açın", # [username]'s
|
||||
"openusersfile-menu-label": "{} kişisinin dosyasını açın", # [username]'s
|
||||
|
||||
"playlist-instruction-item-message": "Dosyayı paylaşılan çalma listesine eklemek için buraya sürükleyin.",
|
||||
"sharedplaylistenabled-tooltip": "Oda operatörleri, herkesin aynı şeyi izlemesini kolaylaştırmak için senkronize edilmiş bir çalma listesine dosya ekleyebilir. 'Misc' altında ortam dizinlerini yapılandırın.",
|
||||
|
||||
"playlist-empty-error": "Oynatma listesi şu anda boş.",
|
||||
"playlist-invalid-index-error": "Geçersiz oynatma listesi dizini",
|
||||
}
|
||||
@ -12,7 +12,12 @@ try:
|
||||
except ImportError:
|
||||
from syncplay.players.basePlayer import DummyPlayer
|
||||
MpcBePlayer = DummyPlayer
|
||||
try:
|
||||
from syncplay.players.iina import IinaPlayer
|
||||
except ImportError:
|
||||
from syncplay.players.basePlayer import DummyPlayer
|
||||
IinaPlayer = DummyPlayer
|
||||
|
||||
|
||||
def getAvailablePlayers():
|
||||
return [MPCHCAPIPlayer, MpvPlayer, MpvnetPlayer, VlcPlayer, MpcBePlayer, MplayerPlayer]
|
||||
return [MPCHCAPIPlayer, MpvPlayer, MpvnetPlayer, VlcPlayer, MpcBePlayer, MplayerPlayer, IinaPlayer]
|
||||
|
||||
88
syncplay/players/iina.py
Normal file
88
syncplay/players/iina.py
Normal file
@ -0,0 +1,88 @@
|
||||
import os
|
||||
from syncplay import constants
|
||||
from syncplay.utils import findResourcePath
|
||||
from syncplay.players.mpv import MpvPlayer
|
||||
from syncplay.players.ipc_iina import IINA
|
||||
|
||||
class IinaPlayer(MpvPlayer):
|
||||
|
||||
@staticmethod
|
||||
def run(client, playerPath, filePath, args):
|
||||
constants.MPV_NEW_VERSION = True
|
||||
constants.MPV_OSC_VISIBILITY_CHANGE_VERSION = True
|
||||
return IinaPlayer(client, IinaPlayer.getExpandedPath(playerPath), filePath, args)
|
||||
|
||||
@staticmethod
|
||||
def getStartupArgs(userArgs):
|
||||
args = {}
|
||||
if userArgs:
|
||||
for argToAdd in userArgs:
|
||||
if argToAdd.startswith('--'):
|
||||
argToAdd = argToAdd[2:]
|
||||
elif argToAdd.startswith('-'):
|
||||
argToAdd = argToAdd[1:]
|
||||
if argToAdd.strip() == "":
|
||||
continue
|
||||
if "=" in argToAdd:
|
||||
(argName, argValue) = argToAdd.split("=", 1)
|
||||
else:
|
||||
argName = argToAdd
|
||||
argValue = "yes"
|
||||
args[argName] = argValue
|
||||
return args
|
||||
|
||||
@staticmethod
|
||||
def getDefaultPlayerPathsList():
|
||||
l = []
|
||||
for path in constants.IINA_PATHS:
|
||||
p = IinaPlayer.getExpandedPath(path)
|
||||
if p:
|
||||
l.append(p)
|
||||
return l
|
||||
|
||||
@staticmethod
|
||||
def isValidPlayerPath(path):
|
||||
if "iina-cli" in path or "iina-cli" in IinaPlayer.getExpandedPath(path):
|
||||
return True
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
def getExpandedPath(playerPath):
|
||||
if "iina-cli" in playerPath:
|
||||
pass
|
||||
elif "IINA.app/Contents/MacOS/IINA" in playerPath:
|
||||
playerPath = os.path.join(os.path.dirname(playerPath), "iina-cli")
|
||||
|
||||
if os.access(playerPath, os.X_OK):
|
||||
return playerPath
|
||||
for path in os.environ['PATH'].split(':'):
|
||||
path = os.path.join(os.path.realpath(path), playerPath)
|
||||
if os.access(path, os.X_OK):
|
||||
return path
|
||||
return playerPath
|
||||
|
||||
@staticmethod
|
||||
def getIconPath(path):
|
||||
return constants.IINA_ICONPATH
|
||||
|
||||
def __init__(self, client, playerPath, filePath, args):
|
||||
from twisted.internet import reactor
|
||||
self.reactor = reactor
|
||||
self._client = client
|
||||
self._set_defaults()
|
||||
|
||||
self._playerIPCHandler = IINA
|
||||
self._create_listener(playerPath, filePath, args)
|
||||
|
||||
def _preparePlayer(self):
|
||||
for key, value in constants.IINA_PROPERTIES.items():
|
||||
self._setProperty(key, value)
|
||||
self._listener.sendLine(["load-script", findResourcePath("syncplayintf.lua")])
|
||||
super()._preparePlayer()
|
||||
|
||||
def _onFileUpdate(self):
|
||||
# do not show file info for our placeholder image in Syncplay UI
|
||||
if self._filename == "iina-bkg.png":
|
||||
return
|
||||
else:
|
||||
super()._onFileUpdate()
|
||||
56
syncplay/players/ipc_iina.py
Executable file
56
syncplay/players/ipc_iina.py
Executable file
@ -0,0 +1,56 @@
|
||||
import os.path
|
||||
import subprocess
|
||||
import time
|
||||
|
||||
from syncplay.players.python_mpv_jsonipc.python_mpv_jsonipc import log, MPV, MPVError, MPVProcess
|
||||
from syncplay.utils import resourcespath
|
||||
|
||||
class IINA(MPV):
|
||||
"""The main IINA interface class. Use this to control the MPV player instantiated by IINA."""
|
||||
|
||||
def _start_mpv(self, ipc_socket, mpv_location, **kwargs):
|
||||
# Attempt to start IINA 3 times.
|
||||
for i in range(3):
|
||||
try:
|
||||
self.mpv_process = IINAProcess(ipc_socket, mpv_location, **kwargs)
|
||||
break
|
||||
except MPVError:
|
||||
log.warning("IINA start failed.", exc_info=1)
|
||||
continue
|
||||
else:
|
||||
raise MPVError("IINA process retry limit reached.")
|
||||
|
||||
class IINAProcess(MPVProcess):
|
||||
"""
|
||||
Manages an IINA process, ensuring the socket or pipe is available. (Internal)
|
||||
"""
|
||||
|
||||
def _start_process(self, ipc_socket, args, env):
|
||||
self.process = subprocess.Popen(args, env=env)
|
||||
ipc_exists = False
|
||||
for _ in range(100): # Give IINA 10 seconds to start.
|
||||
time.sleep(0.1)
|
||||
self.process.poll()
|
||||
if os.path.exists(ipc_socket):
|
||||
ipc_exists = True
|
||||
log.debug("Found IINA socket.")
|
||||
break
|
||||
if self.process.returncode != 0: # iina-cli returns immediately after its start
|
||||
log.error("IINA failed with returncode {0}.".format(self.process.returncode))
|
||||
break
|
||||
else:
|
||||
self.process.terminate()
|
||||
raise MPVError("IINA start timed out.")
|
||||
|
||||
if not ipc_exists or self.process.returncode != 0:
|
||||
self.process.terminate()
|
||||
raise MPVError("IINA not started.")
|
||||
|
||||
def _get_arglist(self, exec_location, **kwargs):
|
||||
args = [exec_location]
|
||||
args.append('--no-stdin')
|
||||
args.append(resourcespath + 'iina-bkg.png')
|
||||
self._set_default(kwargs, "mpv-input-ipc-server", self.ipc_socket)
|
||||
args.extend("--{0}={1}".format(v[0].replace("_", "-"), self._mpv_fmt(v[1]))
|
||||
for v in kwargs.items())
|
||||
return args
|
||||
@ -504,6 +504,12 @@ class MpvPlayer(BasePlayer):
|
||||
from twisted.internet import reactor
|
||||
self.reactor = reactor
|
||||
self._client = client
|
||||
self._set_defaults()
|
||||
|
||||
self._playerIPCHandler = MPV
|
||||
self._create_listener(playerPath, filePath, args)
|
||||
|
||||
def _set_defaults(self):
|
||||
self._paused = None
|
||||
self._position = 0.0
|
||||
self._duration = None
|
||||
@ -513,8 +519,10 @@ class MpvPlayer(BasePlayer):
|
||||
self.lastLoadedTime = None
|
||||
self.fileLoaded = False
|
||||
self.delayedFilePath = None
|
||||
|
||||
def _create_listener(self, playerPath, filePath, args):
|
||||
try:
|
||||
self._listener = self.__Listener(self, playerPath, filePath, args)
|
||||
self._listener = self.__Listener(self, self._playerIPCHandler, playerPath, filePath, args)
|
||||
except ValueError:
|
||||
self._client.ui.showMessage(getMessage("mplayer-file-required-notification"))
|
||||
self._client.ui.showMessage(getMessage("mplayer-file-required-notification/example"))
|
||||
@ -549,7 +557,8 @@ class MpvPlayer(BasePlayer):
|
||||
self.lineReceived(text)
|
||||
|
||||
class __Listener(threading.Thread):
|
||||
def __init__(self, playerController, playerPath, filePath, args):
|
||||
def __init__(self, playerController, playerIPCHandler, playerPath, filePath, args):
|
||||
self.playerIPCHandler = playerIPCHandler
|
||||
self.playerPath = playerPath
|
||||
self.mpv_arguments = playerController.getStartupArgs(args)
|
||||
self.mpv_running = True
|
||||
@ -594,7 +603,7 @@ class MpvPlayer(BasePlayer):
|
||||
env['PYTHONPATH'] = pythonPath
|
||||
try:
|
||||
socket = self.mpv_arguments.get('input-ipc-server')
|
||||
self.mpvpipe = MPV(mpv_location=self.playerPath, ipc_socket=socket, loglevel="info", log_handler=self.__playerController.mpv_log_handler, quit_callback=self.stop_client, **self.mpv_arguments)
|
||||
self.mpvpipe = self.playerIPCHandler(mpv_location=self.playerPath, ipc_socket=socket, loglevel="info", log_handler=self.__playerController.mpv_log_handler, quit_callback=self.stop_client, env=env, **self.mpv_arguments)
|
||||
except Exception as e:
|
||||
self.quitReason = getMessage("media-player-error").format(str(e)) + " " + getMessage("mpv-failed-advice")
|
||||
self.__playerController.reactor.callFromThread(self.__playerController._client.ui.showErrorMessage, self.quitReason, True)
|
||||
|
||||
@ -182,7 +182,7 @@ class MPVProcess:
|
||||
"""
|
||||
Manages an MPV process, ensuring the socket or pipe is available. (Internal)
|
||||
"""
|
||||
def __init__(self, ipc_socket, mpv_location=None, **kwargs):
|
||||
def __init__(self, ipc_socket, mpv_location=None, env=None, **kwargs):
|
||||
"""
|
||||
Create and start the MPV process. Will block until socket/pipe is available.
|
||||
|
||||
@ -198,7 +198,6 @@ class MPVProcess:
|
||||
mpv_location = "mpv"
|
||||
|
||||
log.debug("Staring MPV from {0}.".format(mpv_location))
|
||||
ipc_socket_name = ipc_socket
|
||||
if os.name == 'nt':
|
||||
ipc_socket = "\\\\.\\pipe\\" + ipc_socket
|
||||
|
||||
@ -207,13 +206,11 @@ class MPVProcess:
|
||||
|
||||
log.debug("Using IPC socket {0} for MPV.".format(ipc_socket))
|
||||
self.ipc_socket = ipc_socket
|
||||
args = [mpv_location]
|
||||
self._set_default(kwargs, "idle", True)
|
||||
self._set_default(kwargs, "input_ipc_server", ipc_socket_name)
|
||||
self._set_default(kwargs, "input_terminal", False)
|
||||
self._set_default(kwargs, "terminal", False)
|
||||
args.extend("--{0}={1}".format(v[0].replace("_", "-"), self._mpv_fmt(v[1]))
|
||||
for v in kwargs.items())
|
||||
args = self._get_arglist(mpv_location, **kwargs)
|
||||
|
||||
self._start_process(ipc_socket, args, env=env)
|
||||
|
||||
def _start_process(self, ipc_socket, args, env):
|
||||
self.process = subprocess.Popen(args)
|
||||
ipc_exists = False
|
||||
for _ in range(100): # Give MPV 10 seconds to start.
|
||||
@ -238,6 +235,16 @@ class MPVProcess:
|
||||
if key not in prop_dict:
|
||||
prop_dict[key] = value
|
||||
|
||||
def _get_arglist(self, exec_location, **kwargs):
|
||||
args = [exec_location]
|
||||
self._set_default(kwargs, "idle", True)
|
||||
self._set_default(kwargs, "input_ipc_server", self.ipc_socket)
|
||||
self._set_default(kwargs, "input_terminal", False)
|
||||
self._set_default(kwargs, "terminal", False)
|
||||
args.extend("--{0}={1}".format(v[0].replace("_", "-"), self._mpv_fmt(v[1]))
|
||||
for v in kwargs.items())
|
||||
return args
|
||||
|
||||
def _mpv_fmt(self, data):
|
||||
if data == True:
|
||||
return "yes"
|
||||
@ -405,16 +412,7 @@ class MPV:
|
||||
ipc_socket = "/tmp/{0}".format(rand_file)
|
||||
|
||||
if start_mpv:
|
||||
# Attempt to start MPV 3 times.
|
||||
for i in range(3):
|
||||
try:
|
||||
self.mpv_process = MPVProcess(ipc_socket, mpv_location, **kwargs)
|
||||
break
|
||||
except MPVError:
|
||||
log.warning("MPV start failed.", exc_info=1)
|
||||
continue
|
||||
else:
|
||||
raise MPVError("MPV process retry limit reached.")
|
||||
self._start_mpv(ipc_socket, mpv_location, **kwargs)
|
||||
|
||||
self.mpv_inter = MPVInter(ipc_socket, self._callback, self._quit_callback)
|
||||
self.properties = set(x.replace("-", "_") for x in self.command("get_property", "property-list"))
|
||||
@ -451,6 +449,18 @@ class MPV:
|
||||
if len(args) == 2 and args[0] == "custom-bind":
|
||||
self.event_handler.put_task(self.key_bindings[args[1]])
|
||||
|
||||
def _start_mpv(self, ipc_socket, mpv_location, **kwargs):
|
||||
# Attempt to start MPV 3 times.
|
||||
for i in range(3):
|
||||
try:
|
||||
self.mpv_process = MPVProcess(ipc_socket, mpv_location, **kwargs)
|
||||
break
|
||||
except MPVError:
|
||||
log.warning("MPV start failed.", exc_info=1)
|
||||
continue
|
||||
else:
|
||||
raise MPVError("MPV process retry limit reached.")
|
||||
|
||||
def _quit_callback(self):
|
||||
"""
|
||||
Internal handler for quit events.
|
||||
|
||||
@ -11,7 +11,7 @@ import urllib.error
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
|
||||
from twisted.internet.protocol import ClientFactory
|
||||
from twisted.internet.protocol import ReconnectingClientFactory
|
||||
from twisted.protocols.basic import LineReceiver
|
||||
|
||||
from syncplay import constants, utils
|
||||
@ -49,8 +49,7 @@ class VLCProtocol(LineReceiver):
|
||||
def connectionLost(self, reason):
|
||||
self.factory.connected = False
|
||||
|
||||
|
||||
class VLCClientFactory(ClientFactory):
|
||||
class VLCClientFactory(ReconnectingClientFactory):
|
||||
def __init__(self, playerController, vlcHasResponded, vlcLaunchedTime, vlcProcess):
|
||||
self._playerController = playerController
|
||||
self._process = vlcProcess
|
||||
|
||||
BIN
syncplay/resources/IINA.png
Normal file
BIN
syncplay/resources/IINA.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
syncplay/resources/iina-bkg.png
Executable file
BIN
syncplay/resources/iina-bkg.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
@ -196,6 +196,7 @@ class ConfigurationGetter(object):
|
||||
"autoplayInitialState", "mediaSearchDirectories",
|
||||
"sharedPlaylistEnabled", "loopAtEndOfPlaylist",
|
||||
"loopSingleFiles",
|
||||
"autoplayRequireSameFilenames",
|
||||
"onlySwitchToTrustedDomains", "trustedDomains", "publicServers"],
|
||||
"gui": [
|
||||
"autosaveJoinsToList",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user