diff --git a/includes/class-cache-manager.php b/includes/class-cache-manager.php index 6f63320..3882884 100644 --- a/includes/class-cache-manager.php +++ b/includes/class-cache-manager.php @@ -436,24 +436,15 @@ class Cache_Manager { $custom = $settings['piper_ffmpeg_binary'] ?? ''; if ( '' !== $custom ) { - // Support both full binary path AND directory-only path. - // `@is_dir` can return false under open_basedir, so we also - // try appending /ffmpeg if the raw path is not executable. - if ( ! @is_executable( $custom ) ) { - $candidate = rtrim( $custom, '/' ) . '/ffmpeg'; - if ( @is_executable( $candidate ) ) { - $custom = $candidate; - $this->logger->info( 'FFmpeg path is a directory, resolved to: {path}', [ 'path' => $custom ] ); - } - } - if ( @is_executable( $custom ) ) { + if ( @file_exists( $custom ) && @is_executable( $custom ) ) { $cached = true; $resolved_path = $custom; - $this->logger->info( 'Found ffmpeg at configured path: {path}', [ 'path' => $custom ] ); return $resolved_path; } - $this->logger->warning( 'ffmpeg not found or not executable at configured path: {path}', [ 'path' => $original ] ); - $this->logger->warning( 'Trying auto-detection.' ); + $this->logger->warning( + 'Configured ffmpeg binary not found or not executable: {path}. Trying auto-detection.', + [ 'path' => $custom ] + ); } $candidates = apply_filters( diff --git a/includes/class-settings.php b/includes/class-settings.php index ab29de7..abbd629 100644 --- a/includes/class-settings.php +++ b/includes/class-settings.php @@ -184,8 +184,12 @@ class Settings { ], ], $this->page_slug_piper ); - $this->add_field( 'piper_ffmpeg_binary', __( 'FFmpeg Binaries Path', 'piperless' ), 'text', 'piperless_piper_section', [ - 'description' => __( 'Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.', 'piperless' ), + $this->add_field( 'piper_ffmpeg_binary', __( 'FFmpeg Binary Path', 'piperless' ), 'text', 'piperless_piper_section', [ + 'description' => __( 'Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.', 'piperless' ), + ], $this->page_slug_piper ); + + $this->add_field( 'piper_ffprobe_binary', __( 'FFprobe Binary Path', 'piperless' ), 'text', 'piperless_piper_section', [ + 'description' => __( 'Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.', 'piperless' ), ], $this->page_slug_piper ); $this->add_field( 'piper_mp3_bitrate', __( 'MP3 Bitrate', 'piperless' ), 'select', 'piperless_piper_section', [ @@ -469,6 +473,7 @@ class Settings { $clean['default_language'] = sanitize_text_field( $input['default_language'] ?? 'en_US' ); $clean['default_quality'] = sanitize_text_field( $input['default_quality'] ?? 'medium' ); $clean['piper_ffmpeg_binary'] = sanitize_text_field( $input['piper_ffmpeg_binary'] ?? '' ); + $clean['piper_ffprobe_binary'] = sanitize_text_field( $input['piper_ffprobe_binary'] ?? '' ); $clean['piper_mp3_bitrate'] = sanitize_text_field( $input['piper_mp3_bitrate'] ?? '32k' ); $clean['piper_audio_format'] = in_array( $input['piper_audio_format'] ?? 'mp3', [ 'mp3', 'opus' ], true ) ? $input['piper_audio_format'] : 'mp3'; diff --git a/includes/class-transcriber.php b/includes/class-transcriber.php index d3c8563..aef3c1d 100644 --- a/includes/class-transcriber.php +++ b/includes/class-transcriber.php @@ -529,10 +529,19 @@ class Transcriber { return $resolved; } - $cached = true; + $cached = true; + $settings = get_option( 'piperless_settings', [] ); + $custom = $settings['piper_ffprobe_binary'] ?? ''; - // Use the same directory as ffmpeg — wherever it was resolved, - // ffprobe is likely right next to it. + // 1. Try the configured ffprobe path. + if ( '' !== $custom ) { + if ( @file_exists( $custom ) && @is_executable( $custom ) ) { + $resolved = $custom; + return $resolved; + } + } + + // 2. Try the same directory as resolved ffmpeg. $ffmpeg_path = $this->cache->find_ffmpeg(); if ( null !== $ffmpeg_path ) { $candidate = dirname( $ffmpeg_path ) . '/ffprobe'; @@ -542,7 +551,7 @@ class Transcriber { } } - // Fallback: common paths extended via filter. + // 3. Fallback: common paths extended via filter. $candidates = apply_filters( 'piperless_ffprobe_paths', [ '/usr/bin/ffprobe', '/usr/local/bin/ffprobe', '/opt/bin/ffprobe' ] diff --git a/languages/piperless-de_DE.json b/languages/piperless-de_DE.json index e3c81a5..e5a5514 100644 --- a/languages/piperless-de_DE.json +++ b/languages/piperless-de_DE.json @@ -3,8 +3,8 @@ "locale": "de_DE", "source": "translations.json", "generated": "2026-05-10", - "total_strings": 117, - "translated": 117, + "total_strings": 118, + "translated": 118, "locked": false }, "strings": { @@ -123,7 +123,8 @@ "24 kbps (standard)": "24 kbps (Standard)", "16 kbps (compact)": "16 kbps (Kompakt)", "12 kbps (minimal)": "12 kbps (Minimal)", - "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Absoluter Pfad zu den ffmpeg-Tools für MP3/Opus-Konvertierung. Automatische Erkennung aus üblichen Pfaden, wenn leer.", - "FFmpeg Binaries Path": "FFmpeg-Binärpfad" + "FFprobe Binary Path": "FFprobe-Binärpfad", + "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.": "Absoluter Pfad zur ffprobe-Binärdatei für die Erkennung der Audiodauer. Automatische Erkennung aus dem ffmpeg-Verzeichnis, wenn leer.", + "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Absoluter Pfad zur ffmpeg-Binärdatei für MP3/Opus-Konvertierung. Automatische Erkennung aus üblichen Pfaden, wenn leer." } } \ No newline at end of file diff --git a/languages/piperless-de_DE.mo b/languages/piperless-de_DE.mo index 85216c8..ade6b45 100644 Binary files a/languages/piperless-de_DE.mo and b/languages/piperless-de_DE.mo differ diff --git a/languages/piperless-de_DE.po b/languages/piperless-de_DE.po index da35937..465d0ec 100644 --- a/languages/piperless-de_DE.po +++ b/languages/piperless-de_DE.po @@ -469,9 +469,12 @@ msgstr "16 kbps (Kompakt)" msgid "12 kbps (minimal)" msgstr "12 kbps (Minimal)" -msgid "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty." -msgstr "Absoluter Pfad zu den ffmpeg-Tools für MP3/Opus-Konvertierung. Automatische Erkennung aus üblichen Pfaden, wenn leer." +msgid "FFprobe Binary Path" +msgstr "FFprobe-Binärpfad" -msgid "FFmpeg Binaries Path" -msgstr "FFmpeg-Binärpfad" +msgid "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty." +msgstr "Absoluter Pfad zur ffprobe-Binärdatei für die Erkennung der Audiodauer. Automatische Erkennung aus dem ffmpeg-Verzeichnis, wenn leer." + +msgid "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty." +msgstr "Absoluter Pfad zur ffmpeg-Binärdatei für MP3/Opus-Konvertierung. Automatische Erkennung aus üblichen Pfaden, wenn leer." diff --git a/languages/piperless-es_ES.json b/languages/piperless-es_ES.json index b719dbd..5ece540 100644 --- a/languages/piperless-es_ES.json +++ b/languages/piperless-es_ES.json @@ -3,8 +3,8 @@ "locale": "es_ES", "source": "translations.json", "generated": "2026-05-10", - "total_strings": 117, - "translated": 117, + "total_strings": 118, + "translated": 118, "locked": false }, "strings": { @@ -123,7 +123,8 @@ "24 kbps (standard)": "24 kbps (estándar)", "16 kbps (compact)": "16 kbps (compacto)", "12 kbps (minimal)": "12 kbps (mínimo)", - "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Ruta absoluta a las herramientas ffmpeg para conversión MP3/Opus. Se detecta automáticamente si se deja vacío.", - "FFmpeg Binaries Path": "Ruta de binarios FFmpeg" + "FFprobe Binary Path": "Ruta del binario FFprobe", + "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.": "Ruta absoluta al binario ffprobe para la detección de la duración del audio. Se detecta automáticamente desde el directorio ffmpeg si se deja vacío.", + "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Ruta absoluta al binario ffmpeg para la conversión MP3/Opus. Se detecta automáticamente si se deja vacío." } } \ No newline at end of file diff --git a/languages/piperless-es_ES.mo b/languages/piperless-es_ES.mo index 0d2c782..608898d 100644 Binary files a/languages/piperless-es_ES.mo and b/languages/piperless-es_ES.mo differ diff --git a/languages/piperless-es_ES.po b/languages/piperless-es_ES.po index b8a9c0a..3b9c220 100644 --- a/languages/piperless-es_ES.po +++ b/languages/piperless-es_ES.po @@ -469,9 +469,12 @@ msgstr "16 kbps (compacto)" msgid "12 kbps (minimal)" msgstr "12 kbps (mínimo)" -msgid "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty." -msgstr "Ruta absoluta a las herramientas ffmpeg para conversión MP3/Opus. Se detecta automáticamente si se deja vacío." +msgid "FFprobe Binary Path" +msgstr "Ruta del binario FFprobe" -msgid "FFmpeg Binaries Path" -msgstr "Ruta de binarios FFmpeg" +msgid "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty." +msgstr "Ruta absoluta al binario ffprobe para la detección de la duración del audio. Se detecta automáticamente desde el directorio ffmpeg si se deja vacío." + +msgid "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty." +msgstr "Ruta absoluta al binario ffmpeg para la conversión MP3/Opus. Se detecta automáticamente si se deja vacío." diff --git a/languages/piperless-fr_FR.json b/languages/piperless-fr_FR.json index e2168b7..a30e61c 100644 --- a/languages/piperless-fr_FR.json +++ b/languages/piperless-fr_FR.json @@ -3,8 +3,8 @@ "locale": "fr_FR", "source": "translations.json", "generated": "2026-05-10", - "total_strings": 117, - "translated": 117, + "total_strings": 118, + "translated": 118, "locked": false }, "strings": { @@ -123,7 +123,8 @@ "24 kbps (standard)": "24 kbps (standard)", "16 kbps (compact)": "16 kbps (compact)", "12 kbps (minimal)": "12 kbps (minimal)", - "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Chemin absolu vers les outils ffmpeg pour la conversion MP3/Opus. Auto-détecté depuis les chemins courants si laissé vide.", - "FFmpeg Binaries Path": "Chemin des binaires FFmpeg" + "FFprobe Binary Path": "Chemin du binaire FFprobe", + "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.": "Chemin absolu vers le binaire ffprobe pour la détection de la durée audio. Auto-détecté depuis le répertoire ffmpeg si laissé vide.", + "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Chemin absolu vers le binaire ffmpeg pour la conversion MP3/Opus. Auto-détecté depuis les chemins courants si laissé vide." } } \ No newline at end of file diff --git a/languages/piperless-fr_FR.mo b/languages/piperless-fr_FR.mo index ca913fc..b15ca80 100644 Binary files a/languages/piperless-fr_FR.mo and b/languages/piperless-fr_FR.mo differ diff --git a/languages/piperless-fr_FR.po b/languages/piperless-fr_FR.po index 348f46a..a458e25 100644 --- a/languages/piperless-fr_FR.po +++ b/languages/piperless-fr_FR.po @@ -469,9 +469,12 @@ msgstr "16 kbps (compact)" msgid "12 kbps (minimal)" msgstr "12 kbps (minimal)" -msgid "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty." -msgstr "Chemin absolu vers les outils ffmpeg pour la conversion MP3/Opus. Auto-détecté depuis les chemins courants si laissé vide." +msgid "FFprobe Binary Path" +msgstr "Chemin du binaire FFprobe" -msgid "FFmpeg Binaries Path" -msgstr "Chemin des binaires FFmpeg" +msgid "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty." +msgstr "Chemin absolu vers le binaire ffprobe pour la détection de la durée audio. Auto-détecté depuis le répertoire ffmpeg si laissé vide." + +msgid "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty." +msgstr "Chemin absolu vers le binaire ffmpeg pour la conversion MP3/Opus. Auto-détecté depuis les chemins courants si laissé vide." diff --git a/languages/piperless-it_IT.json b/languages/piperless-it_IT.json index 07731b9..81916ad 100644 --- a/languages/piperless-it_IT.json +++ b/languages/piperless-it_IT.json @@ -3,8 +3,8 @@ "locale": "it_IT", "source": "translations.json", "generated": "2026-05-10", - "total_strings": 117, - "translated": 117, + "total_strings": 118, + "translated": 118, "locked": false }, "strings": { @@ -123,7 +123,8 @@ "24 kbps (standard)": "24 kbps (standard)", "16 kbps (compact)": "16 kbps (compatto)", "12 kbps (minimal)": "12 kbps (minimo)", - "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Percorso assoluto agli strumenti ffmpeg per la conversione MP3/Opus. Rilevato automaticamente se lasciato vuoto.", - "FFmpeg Binaries Path": "Percorso binari FFmpeg" + "FFprobe Binary Path": "Percorso binario FFprobe", + "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.": "Percorso assoluto al binario ffprobe per il rilevamento della durata audio. Rilevato automaticamente dalla directory ffmpeg se lasciato vuoto.", + "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Percorso assoluto al binario ffmpeg per la conversione MP3/Opus. Rilevato automaticamente se lasciato vuoto." } } \ No newline at end of file diff --git a/languages/piperless-it_IT.mo b/languages/piperless-it_IT.mo index fc84a15..c0b8618 100644 Binary files a/languages/piperless-it_IT.mo and b/languages/piperless-it_IT.mo differ diff --git a/languages/piperless-it_IT.po b/languages/piperless-it_IT.po index 8d20f58..cd222ab 100644 --- a/languages/piperless-it_IT.po +++ b/languages/piperless-it_IT.po @@ -469,9 +469,12 @@ msgstr "16 kbps (compatto)" msgid "12 kbps (minimal)" msgstr "12 kbps (minimo)" -msgid "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty." -msgstr "Percorso assoluto agli strumenti ffmpeg per la conversione MP3/Opus. Rilevato automaticamente se lasciato vuoto." +msgid "FFprobe Binary Path" +msgstr "Percorso binario FFprobe" -msgid "FFmpeg Binaries Path" -msgstr "Percorso binari FFmpeg" +msgid "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty." +msgstr "Percorso assoluto al binario ffprobe per il rilevamento della durata audio. Rilevato automaticamente dalla directory ffmpeg se lasciato vuoto." + +msgid "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty." +msgstr "Percorso assoluto al binario ffmpeg per la conversione MP3/Opus. Rilevato automaticamente se lasciato vuoto." diff --git a/languages/piperless-ja.json b/languages/piperless-ja.json index 4204a93..f115334 100644 --- a/languages/piperless-ja.json +++ b/languages/piperless-ja.json @@ -3,8 +3,8 @@ "locale": "ja", "source": "translations.json", "generated": "2026-05-10", - "total_strings": 117, - "translated": 117, + "total_strings": 118, + "translated": 118, "locked": false }, "strings": { @@ -123,7 +123,8 @@ "24 kbps (standard)": "24 kbps(標準)", "16 kbps (compact)": "16 kbps(コンパクト)", "12 kbps (minimal)": "12 kbps(最小)", - "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.": "MP3/Opus変換用のffmpegツールへの絶対パス。空の場合は自動検出されます。", - "FFmpeg Binaries Path": "FFmpegバイナリパス" + "FFprobe Binary Path": "FFprobeバイナリパス", + "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.": "音声の長さ検出用ffprobeバイナリへの絶対パス。空の場合はffmpegディレクトリから自動検出されます。", + "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.": "MP3/Opus変換用ffmpegバイナリへの絶対パス。空の場合は自動検出されます。" } } \ No newline at end of file diff --git a/languages/piperless-ja.mo b/languages/piperless-ja.mo index 7e3de45..e33cba0 100644 Binary files a/languages/piperless-ja.mo and b/languages/piperless-ja.mo differ diff --git a/languages/piperless-ja.po b/languages/piperless-ja.po index 5d79b6d..f3e7f83 100644 --- a/languages/piperless-ja.po +++ b/languages/piperless-ja.po @@ -469,9 +469,12 @@ msgstr "16 kbps(コンパクト)" msgid "12 kbps (minimal)" msgstr "12 kbps(最小)" -msgid "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty." -msgstr "MP3/Opus変換用のffmpegツールへの絶対パス。空の場合は自動検出されます。" +msgid "FFprobe Binary Path" +msgstr "FFprobeバイナリパス" -msgid "FFmpeg Binaries Path" -msgstr "FFmpegバイナリパス" +msgid "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty." +msgstr "音声の長さ検出用ffprobeバイナリへの絶対パス。空の場合はffmpegディレクトリから自動検出されます。" + +msgid "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty." +msgstr "MP3/Opus変換用ffmpegバイナリへの絶対パス。空の場合は自動検出されます。" diff --git a/languages/piperless-nl_NL.json b/languages/piperless-nl_NL.json index f69c21c..7952b75 100644 --- a/languages/piperless-nl_NL.json +++ b/languages/piperless-nl_NL.json @@ -3,8 +3,8 @@ "locale": "nl_NL", "source": "translations.json", "generated": "2026-05-10", - "total_strings": 117, - "translated": 117, + "total_strings": 118, + "translated": 118, "locked": false }, "strings": { @@ -123,7 +123,8 @@ "24 kbps (standard)": "24 kbps (standaard)", "16 kbps (compact)": "16 kbps (compact)", "12 kbps (minimal)": "12 kbps (minimaal)", - "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Absoluut pad naar ffmpeg-tools voor MP3/Opus-conversie. Automatisch gedetecteerd als leeg gelaten.", - "FFmpeg Binaries Path": "FFmpeg-binaries-pad" + "FFprobe Binary Path": "FFprobe-binair pad", + "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.": "Absoluut pad naar de ffprobe binary voor audioduurdetectie. Automatisch gedetecteerd vanuit de ffmpeg-directory, indien leeg gelaten.", + "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Absoluut pad naar de ffmpeg binary voor MP3/Opus-conversie. Automatisch gedetecteerd als leeg gelaten." } } \ No newline at end of file diff --git a/languages/piperless-nl_NL.mo b/languages/piperless-nl_NL.mo index 66196ba..eb1de16 100644 Binary files a/languages/piperless-nl_NL.mo and b/languages/piperless-nl_NL.mo differ diff --git a/languages/piperless-nl_NL.po b/languages/piperless-nl_NL.po index 62d2fe5..8496b1c 100644 --- a/languages/piperless-nl_NL.po +++ b/languages/piperless-nl_NL.po @@ -469,9 +469,12 @@ msgstr "16 kbps (compact)" msgid "12 kbps (minimal)" msgstr "12 kbps (minimaal)" -msgid "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty." -msgstr "Absoluut pad naar ffmpeg-tools voor MP3/Opus-conversie. Automatisch gedetecteerd als leeg gelaten." +msgid "FFprobe Binary Path" +msgstr "FFprobe-binair pad" -msgid "FFmpeg Binaries Path" -msgstr "FFmpeg-binaries-pad" +msgid "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty." +msgstr "Absoluut pad naar de ffprobe binary voor audioduurdetectie. Automatisch gedetecteerd vanuit de ffmpeg-directory, indien leeg gelaten." + +msgid "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty." +msgstr "Absoluut pad naar de ffmpeg binary voor MP3/Opus-conversie. Automatisch gedetecteerd als leeg gelaten." diff --git a/languages/piperless-pt_BR.json b/languages/piperless-pt_BR.json index 8e7a18e..f4d605e 100644 --- a/languages/piperless-pt_BR.json +++ b/languages/piperless-pt_BR.json @@ -3,8 +3,8 @@ "locale": "pt_BR", "source": "translations.json", "generated": "2026-05-10", - "total_strings": 117, - "translated": 117, + "total_strings": 118, + "translated": 118, "locked": false }, "strings": { @@ -123,7 +123,8 @@ "24 kbps (standard)": "24 kbps (padrão)", "16 kbps (compact)": "16 kbps (compacto)", "12 kbps (minimal)": "12 kbps (mínimo)", - "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Caminho absoluto para as ferramentas ffmpeg para conversão MP3/Opus. Detectado automaticamente se deixado vazio.", - "FFmpeg Binaries Path": "Caminho dos binários FFmpeg" + "FFprobe Binary Path": "Caminho do binário FFprobe", + "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.": "Caminho absoluto para o binário ffprobe para detecção de duração do áudio. Detectado automaticamente do diretório ffmpeg se deixado vazio.", + "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.": "Caminho absoluto para o binário ffmpeg para conversão MP3/Opus. Detectado automaticamente se deixado vazio." } } \ No newline at end of file diff --git a/languages/piperless-pt_BR.mo b/languages/piperless-pt_BR.mo index a070bb8..7792da4 100644 Binary files a/languages/piperless-pt_BR.mo and b/languages/piperless-pt_BR.mo differ diff --git a/languages/piperless-pt_BR.po b/languages/piperless-pt_BR.po index 8391cc5..bc8d16e 100644 --- a/languages/piperless-pt_BR.po +++ b/languages/piperless-pt_BR.po @@ -469,9 +469,12 @@ msgstr "16 kbps (compacto)" msgid "12 kbps (minimal)" msgstr "12 kbps (mínimo)" -msgid "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty." -msgstr "Caminho absoluto para as ferramentas ffmpeg para conversão MP3/Opus. Detectado automaticamente se deixado vazio." +msgid "FFprobe Binary Path" +msgstr "Caminho do binário FFprobe" -msgid "FFmpeg Binaries Path" -msgstr "Caminho dos binários FFmpeg" +msgid "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty." +msgstr "Caminho absoluto para o binário ffprobe para detecção de duração do áudio. Detectado automaticamente do diretório ffmpeg se deixado vazio." + +msgid "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty." +msgstr "Caminho absoluto para o binário ffmpeg para conversão MP3/Opus. Detectado automaticamente se deixado vazio." diff --git a/languages/piperless-zh_CN.json b/languages/piperless-zh_CN.json index 0db13f5..5579bb4 100644 --- a/languages/piperless-zh_CN.json +++ b/languages/piperless-zh_CN.json @@ -3,8 +3,8 @@ "locale": "zh_CN", "source": "translations.json", "generated": "2026-05-10", - "total_strings": 117, - "translated": 117, + "total_strings": 118, + "translated": 118, "locked": false }, "strings": { @@ -123,7 +123,8 @@ "24 kbps (standard)": "24 kbps(标准)", "16 kbps (compact)": "16 kbps(紧凑)", "12 kbps (minimal)": "12 kbps(最小)", - "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty.": "ffmpeg 工具的绝对路径,用于 MP3/Opus 转换。留空则自动检测。", - "FFmpeg Binaries Path": "FFmpeg 二进制文件路径" + "FFprobe Binary Path": "FFprobe 二进制文件路径", + "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty.": "ffprobe 二进制文件的绝对路径,用于音频时长检测。留空则从 ffmpeg 目录自动检测。", + "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty.": "ffmpeg 二进制文件的绝对路径,用于 MP3/Opus 转换。留空则自动检测。" } } \ No newline at end of file diff --git a/languages/piperless-zh_CN.mo b/languages/piperless-zh_CN.mo index 042abbf..ba3ed9e 100644 Binary files a/languages/piperless-zh_CN.mo and b/languages/piperless-zh_CN.mo differ diff --git a/languages/piperless-zh_CN.po b/languages/piperless-zh_CN.po index aa31dc2..0ea6989 100644 --- a/languages/piperless-zh_CN.po +++ b/languages/piperless-zh_CN.po @@ -469,9 +469,12 @@ msgstr "16 kbps(紧凑)" msgid "12 kbps (minimal)" msgstr "12 kbps(最小)" -msgid "Absolute path to ffmpeg tools for MP3/Opus conversion. Auto-detected from common paths if left empty." -msgstr "ffmpeg 工具的绝对路径,用于 MP3/Opus 转换。留空则自动检测。" +msgid "FFprobe Binary Path" +msgstr "FFprobe 二进制文件路径" -msgid "FFmpeg Binaries Path" -msgstr "FFmpeg 二进制文件路径" +msgid "Absolute path to the ffprobe binary for audio duration detection. Auto-detected from the ffmpeg directory if left empty." +msgstr "ffprobe 二进制文件的绝对路径,用于音频时长检测。留空则从 ffmpeg 目录自动检测。" + +msgid "Absolute path to the ffmpeg binary for MP3/Opus conversion. Auto-detected from common paths if left empty." +msgstr "ffmpeg 二进制文件的绝对路径,用于 MP3/Opus 转换。留空则自动检测。"