From 0b81c3720ce0778ab3dee6a5785c3d976af3ce56 Mon Sep 17 00:00:00 2001 From: John Andrews Date: Mon, 30 Sep 2024 11:23:17 +1300 Subject: [PATCH] translations --- Apprise/i18n/de.json | 34 ++ Apprise/i18n/es.json | 34 ++ Apprise/i18n/fr.json | 34 ++ Apprise/i18n/pt.json | 34 ++ AudioNodes/AudioNodes.csproj | 3 + AudioNodes/i18n/de.json | 143 +++++ AudioNodes/i18n/es.json | 143 +++++ AudioNodes/i18n/fr.json | 143 +++++ AudioNodes/i18n/pt.json | 229 ++++++++ BasicNodes/i18n/es.json | 719 +++++++++++++++++++++++ BasicNodes/i18n/fr.json | 719 +++++++++++++++++++++++ BasicNodes/i18n/pt.json | 719 +++++++++++++++++++++++ ChecksumNodes/i18n/de.json | 30 + ChecksumNodes/i18n/es.json | 30 + ChecksumNodes/i18n/fr.json | 30 + ChecksumNodes/i18n/pt.json | 30 + ComicNodes/i18n/de.json | 45 +- ComicNodes/i18n/es.json | 54 ++ ComicNodes/i18n/fr.json | 54 ++ ComicNodes/i18n/pt.json | 54 ++ DiscordNodes/i18n/es.json | 30 + DiscordNodes/i18n/fr.json | 30 + DiscordNodes/i18n/pt.json | 30 + EmailNodes/i18n/de.json | 37 ++ EmailNodes/i18n/es.json | 37 ++ EmailNodes/i18n/fr.json | 37 ++ EmailNodes/i18n/pt.json | 37 ++ Emby/i18n/de.json | 40 ++ Emby/i18n/es.json | 40 ++ Emby/i18n/fr.json | 40 ++ Emby/i18n/pt.json | 40 ++ Gotify/i18n/de.json | 33 ++ Gotify/i18n/es.json | 33 ++ Gotify/i18n/fr.json | 33 ++ Gotify/i18n/pt.json | 33 ++ ImageNodes/i18n/de.json | 111 ++++ ImageNodes/i18n/es.json | 111 ++++ ImageNodes/i18n/fr.json | 111 ++++ ImageNodes/i18n/pt.json | 111 ++++ MetaNodes/i18n/de.json | 78 +++ MetaNodes/i18n/es.json | 78 +++ MetaNodes/i18n/fr.json | 78 +++ MetaNodes/i18n/pt.json | 78 +++ Nextcloud/i18n/de.json | 32 ++ Nextcloud/i18n/es.json | 32 ++ Nextcloud/i18n/fr.json | 32 ++ Nextcloud/i18n/pt.json | 32 ++ Plex/i18n/de.json | 58 ++ Plex/i18n/es.json | 58 ++ Plex/i18n/fr.json | 58 ++ Plex/i18n/pt.json | 58 ++ Pushbullet/i18n/de.json | 31 + Pushbullet/i18n/es.json | 31 + Pushbullet/i18n/fr.json | 31 + Pushbullet/i18n/pt.json | 31 + Pushover/i18n/de.json | 36 ++ Pushover/i18n/es.json | 36 ++ Pushover/i18n/fr.json | 36 ++ Pushover/i18n/pt.json | 36 ++ Telegram/i18n/de.json | 28 + Telegram/i18n/es.json | 28 + Telegram/i18n/fr.json | 28 + Telegram/i18n/pt.json | 28 + VideoNodes/i18n/es.json | 1031 +++++++++++++++++++++++++++++++++ VideoNodes/i18n/fr.json | 1035 ++++++++++++++++++++++++++++++++++ VideoNodes/i18n/pt.json | 1035 ++++++++++++++++++++++++++++++++++ Web/i18n/de.json | 69 +++ Web/i18n/es.json | 69 +++ Web/i18n/fr.json | 69 +++ Web/i18n/pt.json | 69 +++ 70 files changed, 8675 insertions(+), 9 deletions(-) create mode 100644 Apprise/i18n/de.json create mode 100644 Apprise/i18n/es.json create mode 100644 Apprise/i18n/fr.json create mode 100644 Apprise/i18n/pt.json create mode 100644 AudioNodes/i18n/de.json create mode 100644 AudioNodes/i18n/es.json create mode 100644 AudioNodes/i18n/fr.json create mode 100644 AudioNodes/i18n/pt.json create mode 100644 BasicNodes/i18n/es.json create mode 100644 BasicNodes/i18n/fr.json create mode 100644 BasicNodes/i18n/pt.json create mode 100644 ChecksumNodes/i18n/de.json create mode 100644 ChecksumNodes/i18n/es.json create mode 100644 ChecksumNodes/i18n/fr.json create mode 100644 ChecksumNodes/i18n/pt.json create mode 100644 ComicNodes/i18n/es.json create mode 100644 ComicNodes/i18n/fr.json create mode 100644 ComicNodes/i18n/pt.json create mode 100644 DiscordNodes/i18n/es.json create mode 100644 DiscordNodes/i18n/fr.json create mode 100644 DiscordNodes/i18n/pt.json create mode 100644 EmailNodes/i18n/de.json create mode 100644 EmailNodes/i18n/es.json create mode 100644 EmailNodes/i18n/fr.json create mode 100644 EmailNodes/i18n/pt.json create mode 100644 Emby/i18n/de.json create mode 100644 Emby/i18n/es.json create mode 100644 Emby/i18n/fr.json create mode 100644 Emby/i18n/pt.json create mode 100644 Gotify/i18n/de.json create mode 100644 Gotify/i18n/es.json create mode 100644 Gotify/i18n/fr.json create mode 100644 Gotify/i18n/pt.json create mode 100644 ImageNodes/i18n/de.json create mode 100644 ImageNodes/i18n/es.json create mode 100644 ImageNodes/i18n/fr.json create mode 100644 ImageNodes/i18n/pt.json create mode 100644 MetaNodes/i18n/de.json create mode 100644 MetaNodes/i18n/es.json create mode 100644 MetaNodes/i18n/fr.json create mode 100644 MetaNodes/i18n/pt.json create mode 100644 Nextcloud/i18n/de.json create mode 100644 Nextcloud/i18n/es.json create mode 100644 Nextcloud/i18n/fr.json create mode 100644 Nextcloud/i18n/pt.json create mode 100644 Plex/i18n/de.json create mode 100644 Plex/i18n/es.json create mode 100644 Plex/i18n/fr.json create mode 100644 Plex/i18n/pt.json create mode 100644 Pushbullet/i18n/de.json create mode 100644 Pushbullet/i18n/es.json create mode 100644 Pushbullet/i18n/fr.json create mode 100644 Pushbullet/i18n/pt.json create mode 100644 Pushover/i18n/de.json create mode 100644 Pushover/i18n/es.json create mode 100644 Pushover/i18n/fr.json create mode 100644 Pushover/i18n/pt.json create mode 100644 Telegram/i18n/de.json create mode 100644 Telegram/i18n/es.json create mode 100644 Telegram/i18n/fr.json create mode 100644 Telegram/i18n/pt.json create mode 100644 VideoNodes/i18n/es.json create mode 100644 VideoNodes/i18n/fr.json create mode 100644 VideoNodes/i18n/pt.json create mode 100644 Web/i18n/de.json create mode 100644 Web/i18n/es.json create mode 100644 Web/i18n/fr.json create mode 100644 Web/i18n/pt.json diff --git a/Apprise/i18n/de.json b/Apprise/i18n/de.json new file mode 100644 index 00000000..494cd0dc --- /dev/null +++ b/Apprise/i18n/de.json @@ -0,0 +1,34 @@ +{ + "Plugins": { + "Apprise": { + "Description": "Ein Plugin, das es Ihnen ermöglicht, Nachrichten an einen Apprise-Server zu senden.", + "Fields": { + "ServerUrl": "Server", + "ServerUrl-Placeholder": "http://apprise.lan", + "ServerUrl-Help": "Die URL des Apprise-Servers", + "Endpoint": "Endpunkt", + "Endpoint-Placeholder": "notify/apprise", + "Endpoint-Help": "Der Endpunkt auf dem Apprise-Server, zum Beispiel notify/apprise" + } + } + }, + "Flow": { + "Parts": { + "Apprise": { + "Outputs": { + "1": "Apprise-Nachricht gesendet", + "2": "Apprise-Nachricht konnte nicht gesendet werden" + }, + "Description": "Sendet eine Nachricht an einen Apprise-Server.", + "Fields": { + "Message": "Nachricht", + "Message-Help": "Die Nachricht, die an den Apprise-Server gesendet werden soll", + "Tag": "Tag", + "Tag-Help": "Eine Liste von Tags, mit denen diese Nachricht gesendet wird. Wenn leer, wird sie mit ''alle'' getaggt.", + "MessageType": "Typ", + "MessageType-Help": "Der Nachrichtentyp, der gesendet werden soll" + } + } + } + } +} diff --git a/Apprise/i18n/es.json b/Apprise/i18n/es.json new file mode 100644 index 00000000..5f2bd1d7 --- /dev/null +++ b/Apprise/i18n/es.json @@ -0,0 +1,34 @@ +{ + "Plugins": { + "Apprise": { + "Description": "Un plugin que te permite enviar mensajes a un servidor Apprise.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://apprise.lan", + "ServerUrl-Help": "La URL del servidor Apprise", + "Endpoint": "Punto de acceso", + "Endpoint-Placeholder": "notify/apprise", + "Endpoint-Help": "El punto de acceso en el servidor Apprise, por ejemplo notify/apprise" + } + } + }, + "Flow": { + "Parts": { + "Apprise": { + "Outputs": { + "1": "Mensaje Apprise enviado", + "2": "Fallo al enviar el mensaje Apprise" + }, + "Description": "Envía un mensaje a un servidor Apprise.", + "Fields": { + "Message": "Mensaje", + "Message-Help": "El mensaje que se enviará al servidor Apprise", + "Tag": "Etiqueta", + "Tag-Help": "Una lista de etiquetas para enviar este mensaje. Si está vacío, se etiquetará con ''todos''.", + "MessageType": "Tipo", + "MessageType-Help": "El tipo de mensaje que se enviará" + } + } + } + } +} diff --git a/Apprise/i18n/fr.json b/Apprise/i18n/fr.json new file mode 100644 index 00000000..4f34d3d4 --- /dev/null +++ b/Apprise/i18n/fr.json @@ -0,0 +1,34 @@ +{ + "Plugins": { + "Apprise": { + "Description": "Un plugin qui vous permet d'envoyer des messages à un serveur Apprise.", + "Fields": { + "ServerUrl": "Serveur", + "ServerUrl-Placeholder": "http://apprise.lan", + "ServerUrl-Help": "L'URL du serveur Apprise", + "Endpoint": "Point de terminaison", + "Endpoint-Placeholder": "notify/apprise", + "Endpoint-Help": "Le point de terminaison sur le serveur Apprise, par exemple notify/apprise" + } + } + }, + "Flow": { + "Parts": { + "Apprise": { + "Outputs": { + "1": "Message Apprise envoyé", + "2": "Échec de l'envoi du message Apprise" + }, + "Description": "Envoie un message à un serveur Apprise.", + "Fields": { + "Message": "Message", + "Message-Help": "Le message à envoyer au serveur Apprise", + "Tag": "Étiquette", + "Tag-Help": "Une liste d'étiquettes pour envoyer ce message, si vide, il sera étiqueté avec ''tout''.", + "MessageType": "Type", + "MessageType-Help": "Le type de message à envoyer" + } + } + } + } +} diff --git a/Apprise/i18n/pt.json b/Apprise/i18n/pt.json new file mode 100644 index 00000000..a6e32a58 --- /dev/null +++ b/Apprise/i18n/pt.json @@ -0,0 +1,34 @@ +{ + "Plugins": { + "Apprise": { + "Description": "Um plugin que permite enviar mensagens para um servidor Apprise.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://apprise.lan", + "ServerUrl-Help": "A URL do servidor Apprise", + "Endpoint": "Endpoint", + "Endpoint-Placeholder": "notify/apprise", + "Endpoint-Help": "O endpoint no servidor Apprise, por exemplo notify/apprise" + } + } + }, + "Flow": { + "Parts": { + "Apprise": { + "Outputs": { + "1": "Mensagem Apprise enviada", + "2": "Falha ao enviar a mensagem Apprise" + }, + "Description": "Envia uma mensagem para um servidor Apprise.", + "Fields": { + "Message": "Mensagem", + "Message-Help": "A mensagem a ser enviada para o servidor Apprise", + "Tag": "Tag", + "Tag-Help": "Uma lista de tags para enviar esta mensagem, se estiver vazio, será marcado com ''todos''.", + "MessageType": "Tipo", + "MessageType-Help": "O tipo de mensagem a ser enviada" + } + } + } + } +} diff --git a/AudioNodes/AudioNodes.csproj b/AudioNodes/AudioNodes.csproj index faf8cc15..a1102dde 100644 --- a/AudioNodes/AudioNodes.csproj +++ b/AudioNodes/AudioNodes.csproj @@ -47,5 +47,8 @@ Always + + Always + \ No newline at end of file diff --git a/AudioNodes/i18n/de.json b/AudioNodes/i18n/de.json new file mode 100644 index 00000000..75c63ec4 --- /dev/null +++ b/AudioNodes/i18n/de.json @@ -0,0 +1,143 @@ +{ + "Flow": { + "Parts": { + "AudioFile": { + "Description": "Eine Eingabedatei für Audio, deren Audoinformationen gelesen wurden und die verarbeitet werden kann", + "Outputs": { + "1": "Audio-Datei aus der Bibliothek" + } + }, + "AudioBitrateMatches": { + "Label": "Audio-Bitrate-Match", + "Description": "Überprüft, ob eine Audio-Bitrate mit den Einschränkungen übereinstimmt.", + "Fields": { + "Match": "Übereinstimmung", + "BitrateKilobytes": "Bitrate", + "BitrateKilobytes-Suffix": "Kilobytes", + "BitrateKilobytes-Help": "Die Bitrate in Kilobytes, um die Übereinstimmung zu überprüfen." + }, + "Outputs": { + "1": "Stimmt überein", + "2": "Stimmt nicht überein" + } + }, + "AudioFileNormalization": { + "Description": "Normalisiert eine Audiodatei mit zwei Durchläufen des loudnorm-Filters von FFMPEG", + "Outputs": { + "1": "Normalisierte Audio-Datei, gespeichert in einer temporären Datei" + } + }, + "ConvertAudio": { + "Description": "Konvertiert eine Audiodatei in das angegebene Audioformat", + "Outputs": { + "1": "Konvertiertes Audio, gespeichert in einer temporären Datei", + "2": "Audio ist bereits im Codec, keine Konvertierung durchgeführt" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "Die Bitrate für die neue Datei, je höher die Bitrate, desto besser die Qualität, aber desto größer die Datei.", + "Codec": "Codec", + "Codec-Help": "Der Audio-Codec, in den die Datei konvertiert werden soll.", + "SampleRate": "Abtastrate", + "SampleRate-Help": "Die zu verwendende Abtastrate", + "Channels": "Kanäle", + "Channels-Help": "Die Anzahl der Kanäle, die die konvertierte Datei haben wird.\nWenn Sie mehr Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Hochmix erstellen.\nWenn Sie weniger Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Herabmix erstellen.", + "CustomExtension": "Erweiterung", + "CustomExtension-Help": "Erlaubt es, eine benutzerdefinierte Dateierweiterung anstelle der automatisch vom Codec bestimmten festzulegen.", + "Normalize": "Normalisieren", + "Normalize-Help": "Ob das Audio mit einer Normalisierung von zwei Durchläufen normalisiert werden soll", + "SkipIfCodecMatches": "Überspringen, wenn der Codec übereinstimmt", + "SkipIfCodecMatches-Help": "Wenn der vorhandene Audio-Codec übereinstimmt, wird diese Datei unabhängig von der Bitrate nicht verarbeitet. Wenn deaktiviert, muss die Bitrate gleich oder geringer sein, um übersprungen zu werden.", + "HighEfficiency": "Hohe Effizienz", + "HighEfficiency-Help": "Verwendet den Modus hoher Effizienz, dies ändert die Erweiterung in m4a und reduziert die unterstützten Abspielgeräte, kann jedoch die Dateigröße reduzieren." + } + }, + "ConvertToAAC": { + "Description": "Konvertiert eine Audiodatei in AAC", + "Outputs": { + "1": "Konvertiertes Audio, gespeichert in einer temporären Datei", + "2": "Audio ist bereits im Codec, keine Konvertierung durchgeführt" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "Die Bitrate für die neue AAC-Datei, je höher die Bitrate, desto besser die Qualität, aber desto größer die Datei. 192 Kbps wird empfohlen.", + "Normalize": "Normalisieren", + "Normalize-Help": "Ob das Audio mit einer Normalisierung von zwei Durchläufen normalisiert werden soll", + "SampleRate": "Abtastrate", + "SampleRate-Help": "Die zu verwendende Abtastrate", + "Channels": "Kanäle", + "Channels-Help": "Die Anzahl der Kanäle, die die konvertierte Datei haben wird.\nWenn Sie mehr Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Hochmix erstellen.\nWenn Sie weniger Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Herabmix erstellen.", + "CustomExtension": "Erweiterung", + "CustomExtension-Help": "Erlaubt es, eine benutzerdefinierte Dateierweiterung anstelle der automatisch vom Codec bestimmten festzulegen.", + "SkipIfCodecMatches": "Überspringen, wenn der Codec übereinstimmt", + "SkipIfCodecMatches-Help": "Wenn der vorhandene Audio-Codec übereinstimmt, wird diese Datei unabhängig von der Bitrate nicht verarbeitet. Wenn deaktiviert, muss die Bitrate gleich oder geringer sein, um übersprungen zu werden.", + "HighEfficiency": "Hohe Effizienz", + "HighEfficiency-Help": "Verwendet den Modus hoher Effizienz, dies ändert die Erweiterung in m4a und reduziert die unterstützten Abspielgeräte, kann jedoch die Dateigröße reduzieren." + } + }, + "ConvertToFLAC": { + "Description": "Konvertiert eine Audiodatei in FLAC", + "Outputs": { + "1": "Konvertiertes Audio, gespeichert in einer temporären Datei", + "2": "Audio ist bereits im Codec, keine Konvertierung durchgeführt" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "Die Bitrate für die neue FLAC-Datei, je höher die Bitrate, desto besser die Qualität, aber desto größer die Datei. 128 Kbps wird empfohlen.", + "SampleRate": "Abtastrate", + "SampleRate-Help": "Die zu verwendende Abtastrate", + "Channels": "Kanäle", + "Channels-Help": "Die Anzahl der Kanäle, die die konvertierte Datei haben wird.\nWenn Sie mehr Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Hochmix erstellen.\nWenn Sie weniger Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Herabmix erstellen.", + "CustomExtension": "Erweiterung", + "CustomExtension-Help": "Erlaubt es, eine benutzerdefinierte Dateierweiterung anstelle der automatisch vom Codec bestimmten festzulegen.", + "Normalize": "Normalisieren", + "Normalize-Help": "Ob das Audio mit einer Normalisierung von zwei Durchläufen normalisiert werden soll", + "SkipIfCodecMatches": "Überspringen, wenn der Codec übereinstimmt", + "SkipIfCodecMatches-Help": "Wenn der vorhandene Audio-Codec übereinstimmt, wird diese Datei unabhängig von der Bitrate nicht verarbeitet. Wenn deaktiviert, muss die Bitrate gleich oder geringer sein, um übersprungen zu werden." + } + }, + "ConvertToMP3": { + "Description": "Konvertiert eine Audiodatei in MP3", + "Outputs": { + "1": "Konvertiertes Audio, gespeichert in einer temporären Datei", + "2": "Audio ist bereits im Codec, keine Konvertierung durchgeführt" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "Die Bitrate für die neue MP3-Datei, je höher die Bitrate, desto besser die Qualität, aber desto größer die Datei. 192 Kbps wird empfohlen.", + "SampleRate": "Abtastrate", + "SampleRate-Help": "Die zu verwendende Abtastrate", + "Channels": "Kanäle", + "Channels-Help": "Die Anzahl der Kanäle, die die konvertierte Datei haben wird.\nWenn Sie mehr Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Hochmix erstellen.\nWenn Sie weniger Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Herabmix erstellen.", + "CustomExtension": "Erweiterung", + "CustomExtension-Help": "Erlaubt es, eine benutzerdefinierte Dateierweiterung anstelle der automatisch vom Codec bestimmten festzulegen.", + "Normalize": "Normalisieren", + "Normalize-Help": "Ob das Audio mit einer Normalisierung von zwei Durchläufen normalisiert werden soll", + "SkipIfCodecMatches": "Überspringen, wenn der Codec übereinstimmt", + "SkipIfCodecMatches-Help": "Wenn der vorhandene Audio-Codec übereinstimmt, wird diese Datei unabhängig von der Bitrate nicht verarbeitet. Wenn deaktiviert, muss die Bitrate gleich oder geringer sein, um übersprungen zu werden." + } + }, + "ConvertToOGG": { + "Description": "Konvertiert eine Audiodatei in OGG", + "Outputs": { + "1": "Konvertiertes Audio, gespeichert in einer temporären Datei", + "2": "Audio ist bereits im Codec, keine Konvertierung durchgeführt" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "Die Bitrate für die neue OGG-Datei, je höher die Bitrate, desto besser die Qualität, aber desto größer die Datei. 192 Kbps wird empfohlen.", + "SampleRate": "Abtastrate", + "SampleRate-Help": "Die zu verwendende Abtastrate", + "Channels": "Kanäle", + "Channels-Help": "Die Anzahl der Kanäle, die die konvertierte Datei haben wird.\nWenn Sie mehr Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Hochmix erstellen.\nWenn Sie weniger Kanäle als die Quelle angeben, wird FFmpeg automatisch einen Herabmix erstellen.", + "CustomExtension": "Erweiterung", + "CustomExtension-Help": "Erlaubt es, eine benutzerdefinierte Dateierweiterung anstelle der automatisch vom Codec bestimmten festzulegen.", + "Normalize": "Normalisieren", + "Normalize-Help": "Ob das Audio mit einer Normalisierung von zwei Durchläufen normalisiert werden soll", + "SkipIfCodecMatches": "Überspringen, wenn der Codec übereinstimmt", + "SkipIfCodecMatches-Help": "Wenn der vorhandene Audio-Codec übereinstimmt, wird diese Datei unabhängig von der Bitrate nicht verarbeitet. Wenn deaktiviert, muss die Bitrate gleich oder geringer sein, um übersprungen zu werden." + } + } + } + } +} diff --git a/AudioNodes/i18n/es.json b/AudioNodes/i18n/es.json new file mode 100644 index 00000000..54ecff9f --- /dev/null +++ b/AudioNodes/i18n/es.json @@ -0,0 +1,143 @@ +{ + "Flow": { + "Parts": { + "AudioFile": { + "Description": "Un archivo de audio de entrada que ha tenido su información de audio leída y puede ser procesado", + "Outputs": { + "1": "Archivo de audio de la biblioteca" + } + }, + "AudioBitrateMatches": { + "Label": "Coincidencia de Bitrate de Audio", + "Description": "Verifica si un bitrate de audio coincide con las restricciones.", + "Fields": { + "Match": "Coincidencia", + "BitrateKilobytes": "Bitrate", + "BitrateKilobytes-Suffix": "Kilobytes", + "BitrateKilobytes-Help": "El bitrate en kilobytes para verificar la coincidencia." + }, + "Outputs": { + "1": "Coincide", + "2": "No coincide" + } + }, + "AudioFileNormalization": { + "Description": "Normaliza un archivo de audio usando dos pasadas del filtro loudnorm de FFMPEG", + "Outputs": { + "1": "Archivo de audio normalizado y guardado en un archivo temporal" + } + }, + "ConvertAudio": { + "Description": "Convierte un archivo de audio al códec de audio especificado", + "Outputs": { + "1": "Audio convertido y guardado en un archivo temporal", + "2": "Audio ya en el códec, no se realizó conversión" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "El bitrate para el nuevo archivo, cuanto mayor sea el bitrate, mejor será la calidad, pero más grande será el archivo.", + "Codec": "Códec", + "Codec-Help": "El códec de audio al que se convertirá el archivo.", + "SampleRate": "Frecuencia de Muestreo", + "SampleRate-Help": "La frecuencia de muestreo a usar", + "Channels": "Canales", + "Channels-Help": "El número de canales que tendrá el archivo convertido.\nSi especificas más canales que la fuente, FFmpeg hará una mezcla ascendente automáticamente.\nSi especificas menos canales que la fuente, FFmpeg hará una mezcla descendente automáticamente.", + "CustomExtension": "Extensión", + "CustomExtension-Help": "Permite establecer una extensión de archivo personalizada en lugar de la automática determinada por el códec.", + "Normalize": "Normalizar", + "Normalize-Help": "Si el audio debe ser normalizado con una normalización de dos pasadas", + "SkipIfCodecMatches": "Omitir si el códec coincide", + "SkipIfCodecMatches-Help": "Si el códec de audio existente coincide, este archivo no será procesado, independientemente del bitrate. Si está desactivado, el bitrate debe ser igual o menor para que se omita.", + "HighEfficiency": "Alta Eficiencia", + "HighEfficiency-Help": "Usará el modo de alta eficiencia, esto cambiará la extensión a m4a y reducirá los dispositivos de reproducción compatibles, pero puede reducir el tamaño del archivo." + } + }, + "ConvertToAAC": { + "Description": "Convierte un archivo de audio a AAC", + "Outputs": { + "1": "Audio convertido y guardado en un archivo temporal", + "2": "Audio ya en el códec, no se realizó conversión" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "El bitrate para el nuevo archivo AAC, cuanto mayor sea el bitrate, mejor será la calidad, pero más grande será el archivo. 192 Kbps es la tasa recomendada.", + "Normalize": "Normalizar", + "Normalize-Help": "Si el audio debe ser normalizado con una normalización de dos pasadas", + "SampleRate": "Frecuencia de Muestreo", + "SampleRate-Help": "La frecuencia de muestreo a usar", + "Channels": "Canales", + "Channels-Help": "El número de canales que tendrá el archivo convertido.\nSi especificas más canales que la fuente, FFmpeg hará una mezcla ascendente automáticamente.\nSi especificas menos canales que la fuente, FFmpeg hará una mezcla descendente automáticamente.", + "CustomExtension": "Extensión", + "CustomExtension-Help": "Permite establecer una extensión de archivo personalizada en lugar de la automática determinada por el códec.", + "SkipIfCodecMatches": "Omitir si el códec coincide", + "SkipIfCodecMatches-Help": "Si el códec de audio existente coincide, este archivo no será procesado, independientemente del bitrate. Si está desactivado, el bitrate debe ser igual o menor para que se omita.", + "HighEfficiency": "Alta Eficiencia", + "HighEfficiency-Help": "Usará el modo de alta eficiencia, esto cambiará la extensión a m4a y reducirá los dispositivos de reproducción compatibles, pero puede reducir el tamaño del archivo." + } + }, + "ConvertToFLAC": { + "Description": "Convierte un archivo de audio a FLAC", + "Outputs": { + "1": "Audio convertido y guardado en un archivo temporal", + "2": "Audio ya en el códec, no se realizó conversión" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "El bitrate para el nuevo archivo FLAC, cuanto mayor sea el bitrate, mejor será la calidad, pero más grande será el archivo. Se recomienda 128 Kbps.", + "SampleRate": "Frecuencia de Muestreo", + "SampleRate-Help": "La frecuencia de muestreo a usar", + "Channels": "Canales", + "Channels-Help": "El número de canales que tendrá el archivo convertido.\nSi especificas más canales que la fuente, FFmpeg hará una mezcla ascendente automáticamente.\nSi especificas menos canales que la fuente, FFmpeg hará una mezcla descendente automáticamente.", + "CustomExtension": "Extensión", + "CustomExtension-Help": "Permite establecer una extensión de archivo personalizada en lugar de la automática determinada por el códec.", + "Normalize": "Normalizar", + "Normalize-Help": "Si el audio debe ser normalizado con una normalización de dos pasadas", + "SkipIfCodecMatches": "Omitir si el códec coincide", + "SkipIfCodecMatches-Help": "Si el códec de audio existente coincide, este archivo no será procesado, independientemente del bitrate. Si está desactivado, el bitrate debe ser igual o menor para que se omita." + } + }, + "ConvertToMP3": { + "Description": "Convierte un archivo de audio a MP3", + "Outputs": { + "1": "Audio convertido y guardado en un archivo temporal", + "2": "Audio ya en el códec, no se realizó conversión" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "El bitrate para el nuevo archivo MP3, cuanto mayor sea el bitrate, mejor será la calidad, pero más grande será el archivo. 192 Kbps es la tasa recomendada.", + "SampleRate": "Frecuencia de Muestreo", + "SampleRate-Help": "La frecuencia de muestreo a usar", + "Channels": "Canales", + "Channels-Help": "El número de canales que tendrá el archivo convertido.\nSi especificas más canales que la fuente, FFmpeg hará una mezcla ascendente automáticamente.\nSi especificas menos canales que la fuente, FFmpeg hará una mezcla descendente automáticamente.", + "CustomExtension": "Extensión", + "CustomExtension-Help": "Permite establecer una extensión de archivo personalizada en lugar de la automática determinada por el códec.", + "Normalize": "Normalizar", + "Normalize-Help": "Si el audio debe ser normalizado con una normalización de dos pasadas", + "SkipIfCodecMatches": "Omitir si el códec coincide", + "SkipIfCodecMatches-Help": "Si el códec de audio existente coincide, este archivo no será procesado, independientemente del bitrate. Si está desactivado, el bitrate debe ser igual o menor para que se omita." + } + }, + "ConvertToOGG": { + "Description": "Convierte un archivo de audio a OGG", + "Outputs": { + "1": "Audio convertido y guardado en un archivo temporal", + "2": "Audio ya en el códec, no se realizó conversión" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "El bitrate para el nuevo archivo OGG, cuanto mayor sea el bitrate, mejor será la calidad, pero más grande será el archivo. Se recomienda 128 Kbps.", + "SampleRate": "Frecuencia de Muestreo", + "SampleRate-Help": "La frecuencia de muestreo a usar", + "Channels": "Canales", + "Channels-Help": "El número de canales que tendrá el archivo convertido.\nSi especificas más canales que la fuente, FFmpeg hará una mezcla ascendente automáticamente.\nSi especificas menos canales que la fuente, FFmpeg hará una mezcla descendente automáticamente.", + "CustomExtension": "Extensión", + "CustomExtension-Help": "Permite establecer una extensión de archivo personalizada en lugar de la automática determinada por el códec.", + "Normalize": "Normalizar", + "Normalize-Help": "Si el audio debe ser normalizado con una normalización de dos pasadas", + "SkipIfCodecMatches": "Omitir si el códec coincide", + "SkipIfCodecMatches-Help": "Si el códec de audio existente coincide, este archivo no será procesado, independientemente del bitrate. Si está desactivado, el bitrate debe ser igual o menor para que se omita." + } + } + } + } +} diff --git a/AudioNodes/i18n/fr.json b/AudioNodes/i18n/fr.json new file mode 100644 index 00000000..873614cf --- /dev/null +++ b/AudioNodes/i18n/fr.json @@ -0,0 +1,143 @@ +{ + "Flow": { + "Parts": { + "AudioFile": { + "Description": "Un fichier d'entrée pour l'audio dont les informations audio ont été lues et qui peut être traité", + "Outputs": { + "1": "Fichier audio de la bibliothèque" + } + }, + "AudioBitrateMatches": { + "Label": "Correspondance de la bitrate audio", + "Description": "Vérifie si une bitrate audio correspond aux contraintes.", + "Fields": { + "Match": "Correspondre", + "BitrateKilobytes": "Bitrate", + "BitrateKilobytes-Suffix": "Kilobytes", + "BitrateKilobytes-Help": "La bitrate en kilobytes pour vérifier la correspondance." + }, + "Outputs": { + "1": "Correspond", + "2": "Ne correspond pas" + } + }, + "AudioFileNormalization": { + "Description": "Normalise un fichier audio avec deux passes du filtre loudnorm de FFMPEG", + "Outputs": { + "1": "Fichier audio normalisé, enregistré dans un fichier temporaire" + } + }, + "ConvertAudio": { + "Description": "Convertit un fichier audio au format audio spécifié", + "Outputs": { + "1": "Audio converti, enregistré dans un fichier temporaire", + "2": "L'audio est déjà dans le codec, aucune conversion effectuée" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "La bitrate pour le nouveau fichier, plus la bitrate est élevée, meilleure est la qualité, mais plus le fichier est gros.", + "Codec": "Codec", + "Codec-Help": "Le codec audio dans lequel le fichier doit être converti.", + "SampleRate": "Fréquence d'échantillonnage", + "SampleRate-Help": "La fréquence d'échantillonnage à utiliser", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que le fichier converti aura.\nSi vous spécifiez plus de canaux que la source, FFmpeg créera automatiquement un mixage montant.\nSi vous spécifiez moins de canaux que la source, FFmpeg créera automatiquement un mixage descendant.", + "CustomExtension": "Extension", + "CustomExtension-Help": "Permet de spécifier une extension de fichier personnalisée au lieu de celle déterminée automatiquement par le codec.", + "Normalize": "Normaliser", + "Normalize-Help": "Si l'audio doit être normalisé avec une normalisation à deux passes", + "SkipIfCodecMatches": "Ignorer si le codec correspond", + "SkipIfCodecMatches-Help": "Si le codec audio existant correspond, ce fichier ne sera pas traité, quelle que soit la bitrate. Si désactivé, la bitrate doit être égale ou inférieure pour être ignorée.", + "HighEfficiency": "Haute efficacité", + "HighEfficiency-Help": "Utilise le mode haute efficacité, cela change l'extension en m4a et réduit les appareils de lecture pris en charge, mais peut réduire la taille du fichier." + } + }, + "ConvertToAAC": { + "Description": "Convertit un fichier audio en AAC", + "Outputs": { + "1": "Audio converti, enregistré dans un fichier temporaire", + "2": "L'audio est déjà dans le codec, aucune conversion effectuée" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "La bitrate pour le nouveau fichier AAC, plus la bitrate est élevée, meilleure est la qualité, mais plus le fichier est gros. 192 Kbps est recommandé.", + "Normalize": "Normaliser", + "Normalize-Help": "Si l'audio doit être normalisé avec une normalisation à deux passes", + "SampleRate": "Fréquence d'échantillonnage", + "SampleRate-Help": "La fréquence d'échantillonnage à utiliser", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que le fichier converti aura.\nSi vous spécifiez plus de canaux que la source, FFmpeg créera automatiquement un mixage montant.\nSi vous spécifiez moins de canaux que la source, FFmpeg créera automatiquement un mixage descendant.", + "CustomExtension": "Extension", + "CustomExtension-Help": "Permet de spécifier une extension de fichier personnalisée au lieu de celle déterminée automatiquement par le codec.", + "SkipIfCodecMatches": "Ignorer si le codec correspond", + "SkipIfCodecMatches-Help": "Si le codec audio existant correspond, ce fichier ne sera pas traité, quelle que soit la bitrate. Si désactivé, la bitrate doit être égale ou inférieure pour être ignorée.", + "HighEfficiency": "Haute efficacité", + "HighEfficiency-Help": "Utilise le mode haute efficacité, cela change l'extension en m4a et réduit les appareils de lecture pris en charge, mais peut réduire la taille du fichier." + } + }, + "ConvertToFLAC": { + "Description": "Convertit un fichier audio en FLAC", + "Outputs": { + "1": "Audio converti, enregistré dans un fichier temporaire", + "2": "L'audio est déjà dans le codec, aucune conversion effectuée" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "La bitrate pour le nouveau fichier FLAC, plus la bitrate est élevée, meilleure est la qualité, mais plus le fichier est gros. 128 Kbps est recommandé.", + "SampleRate": "Fréquence d'échantillonnage", + "SampleRate-Help": "La fréquence d'échantillonnage à utiliser", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que le fichier converti aura.\nSi vous spécifiez plus de canaux que la source, FFmpeg créera automatiquement un mixage montant.\nSi vous spécifiez moins de canaux que la source, FFmpeg créera automatiquement un mixage descendant.", + "CustomExtension": "Extension", + "CustomExtension-Help": "Permet de spécifier une extension de fichier personnalisée au lieu de celle déterminée automatiquement par le codec.", + "Normalize": "Normaliser", + "Normalize-Help": "Si l'audio doit être normalisé avec une normalisation à deux passes", + "SkipIfCodecMatches": "Ignorer si le codec correspond", + "SkipIfCodecMatches-Help": "Si le codec audio existant correspond, ce fichier ne sera pas traité, quelle que soit la bitrate. Si désactivé, la bitrate doit être égale ou inférieure pour être ignorée." + } + }, + "ConvertToMP3": { + "Description": "Convertit un fichier audio en MP3", + "Outputs": { + "1": "Audio converti, enregistré dans un fichier temporaire", + "2": "L'audio est déjà dans le codec, aucune conversion effectuée" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "La bitrate pour le nouveau fichier MP3, plus la bitrate est élevée, meilleure est la qualité, mais plus le fichier est gros. 192 Kbps est recommandé.", + "SampleRate": "Fréquence d'échantillonnage", + "SampleRate-Help": "La fréquence d'échantillonnage à utiliser", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que le fichier converti aura.\nSi vous spécifiez plus de canaux que la source, FFmpeg créera automatiquement un mixage montant.\nSi vous spécifiez moins de canaux que la source, FFmpeg créera automatiquement un mixage descendant.", + "CustomExtension": "Extension", + "CustomExtension-Help": "Permet de spécifier une extension de fichier personnalisée au lieu de celle déterminée automatiquement par le codec.", + "Normalize": "Normaliser", + "Normalize-Help": "Si l'audio doit être normalisé avec une normalisation à deux passes", + "SkipIfCodecMatches": "Ignorer si le codec correspond", + "SkipIfCodecMatches-Help": "Si le codec audio existant correspond, ce fichier ne sera pas traité, quelle que soit la bitrate. Si désactivé, la bitrate doit être égale ou inférieure pour être ignorée." + } + }, + "ConvertToOGG": { + "Description": "Convertit un fichier audio en OGG", + "Outputs": { + "1": "Audio converti, enregistré dans un fichier temporaire", + "2": "L'audio est déjà dans le codec, aucune conversion effectuée" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "La bitrate pour le nouveau fichier OGG, plus la bitrate est élevée, meilleure est la qualité, mais plus le fichier est gros. 192 Kbps est recommandé.", + "SampleRate": "Fréquence d'échantillonnage", + "SampleRate-Help": "La fréquence d'échantillonnage à utiliser", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que le fichier converti aura.\nSi vous spécifiez plus de canaux que la source, FFmpeg créera automatiquement un mixage montant.\nSi vous spécifiez moins de canaux que la source, FFmpeg créera automatiquement un mixage descendant.", + "CustomExtension": "Extension", + "CustomExtension-Help": "Permet de spécifier une extension de fichier personnalisée au lieu de celle déterminée automatiquement par le codec.", + "Normalize": "Normaliser", + "Normalize-Help": "Si l'audio doit être normalisé avec une normalisation à deux passes", + "SkipIfCodecMatches": "Ignorer si le codec correspond", + "SkipIfCodecMatches-Help": "Si le codec audio existant correspond, ce fichier ne sera pas traité, quelle que soit la bitrate. Si désactivé, la bitrate doit être égale ou inférieure pour être ignorée." + } + } + } + } +} diff --git a/AudioNodes/i18n/pt.json b/AudioNodes/i18n/pt.json new file mode 100644 index 00000000..9c3f09a1 --- /dev/null +++ b/AudioNodes/i18n/pt.json @@ -0,0 +1,229 @@ +{ + "Flow": { + "Parts": { + "AudioFile": { + "Description": "Um arquivo de entrada para o áudio cujas informações de áudio foram lidas e podem ser processadas.", + "Outputs": { + "1": "Arquivo de áudio da biblioteca" + } + }, + "AudioBitrateMatches": { + "Label": "Correspondência de bitrate de áudio", + "Description": "Verifica se um bitrate de áudio corresponde às restrições.", + "Fields": { + "Match": "Corresponder", + "BitrateKilobytes": "Bitrate", + "BitrateKilobytes-Suffix": "Kilobytes", + "BitrateKilobytes-Help": "O bitrate em kilobytes para verificar a correspondência." + }, + "Outputs": { + "1": "Corresponde", + "2": "Não corresponde" + } + }, + "AudioFileNormalization": { + "Description": "Normaliza um arquivo de áudio com duas passagens do filtro loudnorm do FFMPEG.", + "Outputs": { + "1": "Arquivo de áudio normalizado, salvo em um arquivo temporário" + } + }, + "ConvertAudio": { + "Description": "Converte um arquivo de áudio para o formato de áudio especificado.", + "Outputs": { + "1": "Áudio convertido, salvo em um arquivo temporário", + "2": "O áudio já está no codec, nenhuma conversão realizada" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "O bitrate para o novo arquivo, quanto maior o bitrate, melhor a qualidade, mas maior o arquivo.", + "Codec": "Codec", + "Codec-Help": "O codec de áudio para o qual o arquivo deve ser convertido.", + "SampleRate": "Taxa de amostragem", + "SampleRate-Help": "A taxa de amostragem a ser usada.", + "Channels": "Canais", + "Channels-Help": "O número de canais que o arquivo convertido terá.\nSe você especificar mais canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para cima.\nSe você especificar menos canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para baixo.", + "CustomExtension": "Extensão", + "CustomExtension-Help": "Permite especificar uma extensão de arquivo personalizada em vez daquela determinada automaticamente pelo codec.", + "Normalize": "Normalizar", + "Normalize-Help": "Se o áudio deve ser normalizado com uma normalização de duas passagens.", + "SkipIfCodecMatches": "Ignorar se o codec corresponder", + "SkipIfCodecMatches-Help": "Se o codec de áudio existente corresponder, este arquivo não será processado, independentemente do bitrate. Se desativado, o bitrate deve ser igual ou menor para ser ignorado.", + "HighEfficiency": "Alta eficiência", + "HighEfficiency-Help": "Usa o modo de alta eficiência, isso muda a extensão para m4a e reduz os dispositivos de reprodução suportados, mas pode reduzir o tamanho do arquivo." + } + }, + "ConvertToAAC": { + "Description": "Converte um arquivo de áudio para AAC.", + "Outputs": { + "1": "Áudio convertido, salvo em um arquivo temporário", + "2": "O áudio já está no codec, nenhuma conversão realizada" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "O bitrate para o novo arquivo AAC, quanto maior o bitrate, melhor a qualidade, mas maior o arquivo. 192 Kbps é recomendado.", + "Normalize": "Normalizar", + "Normalize-Help": "Se o áudio deve ser normalizado com uma normalização de duas passagens.", + "SampleRate": "Taxa de amostragem", + "SampleRate-Help": "A taxa de amostragem a ser usada.", + "Channels": "Canais", + "Channels-Help": "O número de canais que o arquivo convertido terá.\nSe você especificar mais canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para cima.\nSe você especificar menos canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para baixo.", + "CustomExtension": "Extensão", + "CustomExtension-Help": "Permite especificar uma extensão de arquivo personalizada em vez daquela determinada automaticamente pelo codec.", + "SkipIfCodecMatches": "Ignorar se o codec corresponder", + "SkipIfCodecMatches-Help": "Se o codec de áudio existente corresponder, este arquivo não será processado, independentemente do bitrate. Se desativado, o bitrate deve ser igual ou menor para ser ignorado.", + "HighEfficiency": "Alta eficiência", + "HighEfficiency-Help": "Usa o modo de alta eficiência, isso muda a extensão para m4a e reduz os dispositivos de reprodução suportados, mas pode reduzir o tamanho do arquivo." + } + }, + "ConvertToFLAC": { + "Description": "Converte um arquivo de áudio para FLAC.", + "Outputs": { + "1": "Áudio convertido, salvo em um arquivo temporário", + "2": "O áudio já está no codec, nenhuma conversão realizada" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "O bitrate para o novo arquivo FLAC, quanto maior o bitrate, melhor a qualidade, mas maior o arquivo. 128 Kbps é recomendado.", + "SampleRate": "Taxa de amostragem", + "SampleRate-Help": "A taxa de amostragem a ser usada.", + "Channels": "Canais", + "Channels-Help": "O número de canais que o arquivo convertido terá.\nSe você especificar mais canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para cima.\nSe você especificar menos canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para baixo.", + "CustomExtension": "Extensão", + "CustomExtension-Help": "Permite especificar uma extensão de arquivo personalizada em vez daquela determinada automaticamente pelo codec.", + "Normalize": "Normalizar", + "Normalize-Help": "Se o áudio deve ser normalizado com uma normalização de duas passagens.", + "SkipIfCodecMatches": "Ignorar se o codec corresponder", + "SkipIfCodecMatches-Help": "Se o codec de áudio existente corresponder, este arquivo não será processado, independentemente do bitrate. Se desativado, o bitrate deve ser igual ou menor para ser ignorado." + } + }, + "ConvertToMP3": { + "Description": "Converte um arquivo de áudio para MP3.", + "Outputs": { + "1": "Áudio convertido, salvo em um arquivo temporário", + "2": "O áudio já está no codec, nenhuma conversão realizada" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "O bitrate para o novo arquivo MP3, quanto maior o bitrate, melhor a qualidade, mas maior o arquivo. 192 Kbps é recomendado.", + "SampleRate": "Taxa de amostragem", + "SampleRate-Help": "A taxa de amostragem a ser usada.", + "Channels": "Canais", + "Channels-Help": "O número de canais que o arquivo convertido terá.\nSe você especificar mais canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para cima.\nSe você especificar menos canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para baixo.", + "CustomExtension": "Extensão", + "CustomExtension-Help": "Permite especificar uma extensão de arquivo personalizada em vez daquela determinada automaticamente pelo codec.", + "Normalize": "Normalizar", + "Normalize-Help": "Se o áudio deve ser normalizado com uma normalização de duas passagens.", + "SkipIfCodecMatches": "Ignorar se o codec corresponder", + "SkipIfCodecMatches-Help": "Se o codec de áudio existente corresponder, este arquivo não será processado, independentemente do bitrate. Se desativado, o bitrate deve ser igual ou menor para ser ignorado." + } + }, + "ConvertToOGG": { + "Description": "Converte um arquivo de áudio para OGG.", + "Outputs": { + "1": "Áudio convertido, salvo em um arquivo temporário", + "2": "O áudio já está no codec, nenhuma conversão realizada" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "O bitrate para o novo arquivo OGG, quanto maior o bitrate, melhor a qualidade, mas maior o arquivo. 192 Kbps é recomendado.", + "SampleRate": "Taxa de amostragem", + "SampleRate-Help": "A taxa de amostragem a ser usada.", + "Channels": "Canais", + "Channels-Help": "O número de canais que o arquivo convertido terá.\nSe você especificar mais canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para cima.\nSe você especificar menos canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para baixo.", + "CustomExtension": "Extensão", + "CustomExtension-Help": "Permite especificar uma extensão de arquivo personalizada em vez daquela determinada automaticamente pelo codec.", + "Normalize": "Normalizar", + "Normalize-Help": "Se o áudio deve ser normalizado com uma normalização de duas passagens.", + "SkipIfCodecMatches": "Ignorar se o codec corresponder", + "SkipIfCodecMatches-Help": "Se o codec de áudio existente corresponder, este arquivo não será processado, independentemente do bitrate. Se desativado, o bitrate deve ser igual ou menor para ser ignorado." + } + }, + "ConvertToWAV": { + "Description": "Converte um arquivo de áudio para WAV.", + "Outputs": { + "1": "Áudio convertido, salvo em um arquivo temporário", + "2": "O áudio já está no codec, nenhuma conversão realizada" + }, + "Fields": { + "Bitrate": "Bitrate", + "Bitrate-Help": "O bitrate para o novo arquivo WAV, quanto maior o bitrate, melhor a qualidade, mas maior o arquivo. 128 Kbps é recomendado.", + "SampleRate": "Taxa de amostragem", + "SampleRate-Help": "A taxa de amostragem a ser usada.", + "Channels": "Canais", + "Channels-Help": "O número de canais que o arquivo convertido terá.\nSe você especificar mais canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para cima.\nSe você especificar menos canais do que a fonte, o FFmpeg criará automaticamente uma mixagem para baixo.", + "CustomExtension": "Extensão", + "CustomExtension-Help": "Permite especificar uma extensão de arquivo personalizada em vez daquela determinada automaticamente pelo codec.", + "Normalize": "Normalizar", + "Normalize-Help": "Se o áudio deve ser normalizado com uma normalização de duas passagens.", + "SkipIfCodecMatches": "Ignorar se o codec corresponder", + "SkipIfCodecMatches-Help": "Se o codec de áudio existente corresponder, este arquivo não será processado, independentemente do bitrate. Se desativado, o bitrate deve ser igual ou menor para ser ignorado." + } + }, + "Output": { + "FileName": "Nome do arquivo", + "FileName-Help": "O nome do arquivo de saída a ser gerado. O caminho do arquivo será definido automaticamente.", + "Format": "Formato", + "Format-Help": "O formato do arquivo de saída. Se não especificado, o formato será determinado automaticamente com base na extensão do arquivo de saída." + }, + "PrependText": { + "Label": "Texto a ser acrescentado", + "Help": "Texto que deve ser acrescentado ao início do arquivo de áudio.", + "Field": { + "Text": "Texto" + } + }, + "Trim": { + "Label": "Recortar", + "Help": "Recorta o arquivo de áudio de acordo com os pontos de início e fim especificados.", + "Fields": { + "Start": "Início", + "Start-Help": "O ponto de início em segundos.", + "End": "Fim", + "End-Help": "O ponto de fim em segundos." + } + }, + "Fade": { + "Label": "Desvanecer", + "Help": "Adiciona um efeito de desvanecimento ao início e ao fim do arquivo de áudio.", + "Fields": { + "InDuration": "Duração do desvanecimento de entrada", + "InDuration-Help": "A duração do desvanecimento de entrada em segundos.", + "OutDuration": "Duração do desvanecimento de saída", + "OutDuration-Help": "A duração do desvanecimento de saída em segundos." + } + }, + "Gain": { + "Label": "Ganho", + "Help": "Ajusta o ganho do arquivo de áudio.", + "Fields": { + "GainDB": "Ganho (dB)", + "GainDB-Help": "O valor de ganho em decibéis. Valores positivos aumentam o volume, enquanto valores negativos diminuem." + } + }, + "AddSilence": { + "Label": "Adicionar silêncio", + "Help": "Adiciona um período de silêncio ao arquivo de áudio.", + "Fields": { + "Duration": "Duração do silêncio", + "Duration-Help": "A duração do silêncio a ser adicionada em segundos." + } + }, + "ReplaceAudio": { + "Label": "Substituir áudio", + "Help": "Substitui a faixa de áudio de um arquivo com outra faixa de áudio.", + "Fields": { + "AudioFile": "Arquivo de áudio", + "AudioFile-Help": "O arquivo de áudio que deve ser usado para substituir a faixa existente." + } + }, + "SampleRateConversion": { + "Label": "Conversão de taxa de amostragem", + "Help": "Converte a taxa de amostragem do arquivo de áudio.", + "Fields": { + "NewSampleRate": "Nova taxa de amostragem", + "NewSampleRate-Help": "A nova taxa de amostragem a ser aplicada ao arquivo de áudio." + } + } + } + } +} diff --git a/BasicNodes/i18n/es.json b/BasicNodes/i18n/es.json new file mode 100644 index 00000000..ec5ff348 --- /dev/null +++ b/BasicNodes/i18n/es.json @@ -0,0 +1,719 @@ +{ + "Enums": { + "LogType": { + "Info": "Información", + "Debug": "Depuración", + "Warning": "Advertencia", + "Error": "Error" + } + }, + "Flow": { + "Parts": { + "InputFile": { + "Description": "Un elemento de flujo de entrada para un archivo. Esto es obligatorio y es el punto de partida de un flujo. Se puede utilizar cualquier elemento de flujo de entrada, solo se requiere uno.", + "Outputs": { + "1": "Archivo de la biblioteca" + } + }, + "InputFolder": { + "Description": "Un elemento de flujo de entrada para una carpeta. Esto solo funcionará si la biblioteca que utiliza este flujo está configurada para carpetas.", + "Outputs": { + "1": "Carpeta de la biblioteca" + } + }, + "BatchScript": { + "Label": "Script por lotes (.bat)", + "Description": "Te permite ejecutar un script por lotes (.bat) en un entorno de Windows.", + "Outputs": { + "1": "devuelto 1", + "2": "devuelto 2", + "3": "devuelto 3", + "4": "devuelto 4", + "5": "devuelto 5", + "6": "devuelto 6", + "7": "devuelto 7", + "8": "devuelto 8", + "9": "devuelto 9", + "10": "devuelto 10" + }, + "Fields": { + "Code": "Código" + } + }, + "CSharpScript": { + "Label": "Función C#", + "Description": "Te permite ejecutar un código C# dentro del flujo.", + "Outputs": { + "1": "devuelto 1", + "2": "devuelto 2", + "3": "devuelto 3", + "4": "devuelto 4", + "5": "devuelto 5", + "6": "devuelto 6", + "7": "devuelto 7", + "8": "devuelto 8", + "9": "devuelto 9", + "10": "devuelto 10" + }, + "Fields": { + "Code": "Código" + } + }, + "ShellScript": { + "Label": "Script de shell (.sh)", + "Description": "Te permite ejecutar un script de shell (.sh) en un entorno similar a Unix.", + "Outputs": { + "1": "devuelto 1", + "2": "devuelto 2", + "3": "devuelto 3", + "4": "devuelto 4", + "5": "devuelto 5", + "6": "devuelto 6", + "7": "devuelto 7", + "8": "devuelto 8", + "9": "devuelto 9", + "10": "devuelto 10" + }, + "Fields": { + "Code": "Código" + } + }, + "PowerShellScript": { + "Label": "Script de PowerShell (.ps1)", + "Description": "Te permite ejecutar un script de PowerShell (.ps1) en un entorno de Windows.", + "Outputs": { + "1": "devuelto 1", + "2": "devuelto 2", + "3": "devuelto 3", + "4": "devuelto 4", + "5": "devuelto 5", + "6": "devuelto 6", + "7": "devuelto 7", + "8": "devuelto 8", + "9": "devuelto 9", + "10": "devuelto 10" + }, + "Fields": { + "Code": "Código" + } + }, + "CompleteFlow": { + "Description": "Completa/termina el flujo como exitoso" + }, + "CopyFile": { + "Description": "Copia un archivo en la carpeta de destino", + "Outputs": { + "1": "Archivo copiado" + }, + "Fields": { + "InputFile": "Archivo a copiar", + "InputFile-Help": "El archivo a copiar. Si se deja vacío, se copiará el archivo de trabajo.", + "InputFile-Placeholder": "Archivo de trabajo", + "DestinationPath": "Carpeta de destino", + "DestinationPath-Help": "La carpeta donde se copiará el archivo.", + "DestinationFile": "Archivo de destino", + "DestinationFile-Help": "El nombre del archivo al que se copiará. Si está vacío, se usará el nombre original del archivo.", + "CopyFolder": "Copiar carpeta", + "CopyFolder-Help": "Si también se debe copiar la estructura de carpetas relativa de la biblioteca.", + "AdditionalFiles": "Archivos adicionales", + "AdditionalFiles-Help": "Archivos adicionales para copiar del directorio al nuevo directorio.\nCada valor puede contener una combinación de rutas literales válidas y caracteres comodín (* y ?), pero no admite expresiones regulares.", + "AdditionalFilesFromOriginal": "Directorio original", + "AdditionalFilesFromOriginal-Help": "Si los archivos adicionales deben copiarse del directorio de trabajo o del directorio original. Actívelo para el directorio original.", + "PreserverOriginalDates": "Preservar fechas", + "PreserverOriginalDates-Help": "Si se debe preservar la hora de creación y la hora de última escritura del archivo de entrada original." + } + }, + "DeleteSourceDirectory": { + "Label": "Eliminar carpeta fuente", + "Outputs": { + "1": "Carpeta fuente eliminada", + "2": "La carpeta NO fue eliminada" + }, + "Description": "Elimina la carpeta fuente del archivo de biblioteca original", + "Fields": { + "IfEmpty": "Si está vacía", + "IfEmpty-Help": "Eliminar la carpeta fuente solo si está vacía", + "IncludePatterns": "Incluir patrones", + "IncludePatterns-Help": "Opcional, si se establece, solo se contarán los archivos que coincidan con estos patrones para ver si la carpeta está vacía. Cualquiera de estos patrones puede coincidir.", + "TopMostOnly": "Solo el más alto", + "TopMostOnly-Help": "Cuando está habilitado, solo se eliminará la carpeta que contiene directamente el archivo, dejando intactas las carpetas de nivel superior." + } + }, + "Executor": { + "Description": "Ejecuta el siguiente proceso contra el archivo.\nSalida 1: El proceso devolvió el código de salida de éxito\nSalida 2: El proceso devolvió un código de salida no exitoso.", + "Outputs": { + "1": "El proceso devolvió éxito", + "2": "El proceso devolvió un fallo" + }, + "Fields": { + "FileName": "Nombre de archivo", + "FileName-Help": "El nombre del archivo a ejecutar", + "Arguments": "Argumentos", + "Arguments-Help": "Los argumentos que se pasarán al proceso a ejecutar", + "WorkingDirectory": "Carpeta de trabajo", + "WorkingDirectory-Help": "La carpeta desde la que se ejecutará el proceso", + "SuccessCode": "Código de éxito", + "SuccessCode-Help": "El código de salida del proceso que indica que el proceso fue exitoso. Normalmente esto debería ser 0.", + "Timeout": "Tiempo de espera", + "Timeout-Help": "Cuánto tiempo puede ejecutarse el proceso antes de ser terminado. Use 0 para no tener tiempo de espera.", + "Timeout-Suffix": "segundos", + "OutputVariable": "Variable de salida", + "OutputVariable-Help": "Un nombre de variable opcional para almacenar la salida del proceso", + "OutputErrorVariable": "Variable de salida de error", + "OutputErrorVariable-Help": "Un nombre de variable opcional para almacenar la salida de error del proceso" + } + }, + "FolderDateCompare": { + "Label": "Comparación de fecha de carpeta", + "Description": "Verifica si la creación o la hora de última escritura de la carpeta coincide con la restricción de fecha especificada.", + "Outputs": { + "1": "Coincide con la restricción de fecha.", + "2": "No coincide con la restricción de fecha." + }, + "Fields": { + "Path": "Ruta", + "Path-Help": "La ruta a la carpeta a verificar. Deje vacío para verificar el archivo de trabajo actual.\nSi se especifica un archivo, se verificará la carpeta que contiene el archivo.", + "Date": "Fecha", + "DateComparision": "Comparación" + } + }, + "FileDateCompare": { + "Description": "Verifica si la creación o la hora de última escritura del archivo coincide con la restricción de fecha especificada.", + "Outputs": { + "1": "Coincide con la restricción de fecha.", + "2": "No coincide con la restricción de fecha." + }, + "Fields": { + "FileName": "Nombre de archivo", + "FileName-Help": "El archivo a verificar. Deje vacío para verificar el archivo de trabajo actual.", + "Date": "Fecha", + "DateComparision": "Comparación" + } + }, + "FileExtension": { + "Description": "Verifica si el archivo tiene una de las extensiones configuradas.\n\nSalida 1: Coincide\nSalida 2: No coincide", + "Outputs": { + "1": "Coincidencia de extensión", + "2": "La extensión no coincide" + }, + "Fields": { + "Extensions": "Extensiones", + "Extensions-Help": "Una lista de extensiones de archivo insensibles a mayúsculas y minúsculas que se compararán.\nSalida 1: Coincide\nSalida 2: No coincide" + } + }, + "FileExists": { + "Description": "Verifica si un archivo existe\n\nSalida 1: El archivo existe\nSalida 2: El archivo no existe", + "Outputs": { + "1": "El archivo existe", + "2": "El archivo no existe" + }, + "Fields": { + "FileName": "Nombre de archivo", + "FileName-Help": "El archivo a verificar. Deje vacío para verificar el archivo de trabajo actual." + } + }, + "HasHardLinks": { + "Description": "Verifica si un archivo tiene enlaces duros o no", + "Outputs": { + "1": "Enlaces duros detectados", + "2": "No se detectaron enlaces duros" + }, + "Fields": { + "FileName": "Nombre del archivo", + "FileName-Help": "El archivo a verificar. Dejar en blanco para verificar el archivo de trabajo actual.", + "Count": "Contar", + "Count-Help": "El número de enlaces duros necesarios para llamar a la salida 1." + } + }, + "Delete": { + "Description": "Elimina un archivo o carpeta", + "Outputs": { + "1": "Archivo eliminado" + }, + "Fields": { + "FileName": "Ruta", + "FileName-Help": "Una ruta a un archivo o carpeta a eliminar.\n\nSi se deja en blanco, se eliminará el archivo de trabajo actual." + } + }, + "FolderIterator": { + "Description": "Itera todos los archivos en una carpeta dada y ejecuta esos archivos contra un subflujo.", + "Outputs": { + "1": "Archivos de la carpeta iterados" + }, + "Fields": { + "Flow": "Flujo", + "Flow-Help": "El subflujo para ejecutar los archivos.", + "Folder": "Carpeta", + "Folder-Help": "La carpeta cuyos archivos serán iterados.", + "Pattern": "Patrón", + "Pattern-Help": "Cualquier patrón opcional para limitar los archivos a iterar, puede ser un patrón comodín que comience con un `*` o una expresión regular.", + "Recursive": "Recursivo", + "Recursive-Help": "Si se deben iterar los archivos en todas las subcarpetas o si solo se deben iterar los archivos de nivel superior." + } + }, + "ListIterator": { + "Description": "Itera todas las cadenas en una lista dada y ejecuta esas cadenas contra un subflujo.", + "Outputs": { + "1": "Lista iterada" + }, + "Fields": { + "Flow": "Flujo", + "Flow-Help": "El subflujo para ejecutar las cadenas.", + "List": "Lista", + "List-Help": "Un nombre de variable que contiene la lista a iterar." + } + }, + "FailFlow": { + "Description": "Falla un flujo de inmediato, útil si quieres que un cierto camino simplemente falle.", + "Fields": { + "Reason": "Razón", + "Reason-Help": "Una razón opcional para registrar por qué falló el flujo." + } + }, + "FileSize": { + "Description": "Verifica si el tamaño del archivo coincide con los parámetros configurados. Los valores están en megabytes.\n\nSalida 1: Coincide\nSalida 2: No coincide", + "Outputs": { + "1": "Tamaño de archivo dentro del rango", + "2": "Tamaño de archivo fuera del rango" + }, + "Fields": { + "Comparison": "Comparación", + "Lower": "Mayor que", + "Lower-Suffix": "MB", + "Lower-Help": "El valor debe ser mayor que este número de megabytes", + "Upper": "Menor que", + "Upper-Suffix": "MB", + "Upper-Help": "El valor debe ser menor que este número de megabytes. Deja como 0 para no probar el límite superior." + } + }, + "FileSizeCompare": { + "Description": "Verifica si el tamaño del archivo ha cambiado desde el archivo original.", + "Outputs": { + "1": "Más pequeño que el original", + "2": "Mismo tamaño que el original", + "3": "Más grande que el original" + } + }, + "FileSizeWithin": { + "Description": "Verifica si el nuevo tamaño del archivo está dentro del rango permitido del tamaño del archivo original.", + "Value": "Valor", + "Value-Help": "La diferencia permitida para el tamaño del archivo, este valor puede ser tanto positivo como negativo respecto a esta diferencia.", + "Outputs": { + "1": "El tamaño del archivo está dentro del rango permitido", + "2": "El tamaño del archivo no está dentro del rango permitido" + } + }, + "Function": { + "Label": "Función", + "Outputs": { + "1": "devuelto 1", + "2": "devuelto 2", + "3": "devuelto 3", + "4": "devuelto 4", + "5": "devuelto 5", + "6": "devuelto 6", + "7": "devuelto 7", + "8": "devuelto 8", + "9": "devuelto 9", + "10": "devuelto 10" + }, + "Fields": { + "Outputs": "Salidas", + "Template": "Plantilla", + "Template-Help": "ADVERTENCIA: Esto reemplazará cualquier cosa en el bloque de código con la plantilla que selecciones.", + "Code": "Código", + "Code-Help": "devuelve -1 para error y detener el flujo. devuelve 0 para completar el flujo. devuelve 1 o más para que se llame a la salida deseada." + } + }, + "GotoFlow": { + "Description": "Esto te permite cambiar a un flujo diferente para procesar. Este flujo saldrá y los parámetros y el archivo de trabajo se pasarán al nuevo flujo.", + "Fields": { + "Flow": "Flujo", + "UpdateFlowUsed": "Actualizar Flujo", + "UpdateFlowUsed-Help": "Si el `Flujo` de los archivos debe actualizarse para hacer referencia a este nuevo flujo o dejarlo como el flujo original." + } + }, + "Reprocess": { + "Description": "El elemento de flujo te permite reprocesar el archivo original de la biblioteca con un nodo de procesamiento diferente.\n\n Si se selecciona el mismo nodo de procesamiento que el que actualmente procesa el archivo, el flujo fallará.", + "Fields": { + "Node": "Nodo", + "Node-Help": "El nodo de procesamiento para procesar este archivo." + } + }, + "IsFromLibrary": { + "Description": "Verifica si el archivo que se está procesando proviene de la biblioteca especificada.", + "Fields": { + "Library": "Biblioteca", + "Library-Help": "La biblioteca a verificar." + }, + "Outputs": { + "1": "El archivo es de la biblioteca especificada.", + "2": "El archivo no es de la biblioteca especificada." + } + }, + "IsProcessingOnNode": { + "Description": "Verifica si el flujo se está procesando actualmente en un nodo de procesamiento específico.", + "Fields": { + "Node": "Nodo", + "Node-Help": "El nodo de procesamiento a verificar." + }, + "Outputs": { + "1": "Se está procesando en el nodo", + "2": "No se está procesando en el nodo" + } + }, + "IsDocker": { + "Description": "Determina si este flujo se está ejecutando en Docker", + "Outputs": { + "1": "Se está ejecutando en Docker", + "2": "No se está ejecutando en Docker" + } + }, + "IsLinux": { + "Description": "Determina si este flujo se está ejecutando en Linux", + "Outputs": { + "1": "Se está ejecutando en Linux", + "2": "No se está ejecutando en Linux" + } + }, + "IsMacOS": { + "Label": "Es MacOS", + "Description": "Determina si este flujo se está ejecutando en MacOS", + "Outputs": { + "1": "Se está ejecutando en MacOS", + "2": "No se está ejecutando en MacOS" + } + }, + "IsWindows": { + "Description": "Determina si este flujo se está ejecutando en Windows", + "Outputs": { + "1": "Se está ejecutando en Windows", + "2": "No se está ejecutando en Windows" + } + }, + "Log": { + "Description": "Registra un mensaje en el registro del flujo", + "Outputs": { + "1": "Mensaje registrado" + }, + "Fields": { + "LogType": "Tipo", + "Message": "Mensaje" + } + }, + "Matches": { + "Description": "Compara un conjunto de valores y condiciones de coincidencia para ver qué salida debe ser llamada", + "Fields": { + "MatchConditions": "", + "MatchConditionsKey": "Valor", + "MatchConditionsValue": "Expresión", + "MatchConditions-Help": "Las coincidencias para probar qué salida debe ser llamada." + } + }, + "MatchesAll": { + "Description": "Compara un conjunto de valores y verifica si todas las condiciones coinciden.", + "Fields": { + "MatchConditions": "", + "MatchConditionsKey": "Valor", + "MatchConditionsValue": "Expresión", + "MatchConditionsHelp": "Las condiciones a probar, determinando qué salida debe ser llamada." + }, + "Outputs": { + "1": "Todas las condiciones coinciden", + "2": "No todas las condiciones coinciden" + } + }, + "MoveFolder": { + "Description": "Mueve una carpeta", + "Outputs": { + "1": "Carpeta movida" + }, + "Fields": { + "SourcePath": "Origen", + "SourcePath-Help": "La carpeta a mover; si se deja en blanco, se usará el Archivo de Trabajo. Si no es una carpeta, el elemento de flujo fallará.", + "DestinationPath": "Destino", + "DestinationPath-Help": "La carpeta de destino a la que se moverá la carpeta de origen.", + "CreateSubfolder": "Crear Subcarpeta", + "CreateSubfolder-Help": "Si se debe crear una subcarpeta con el nombre de la carpeta de origen en la carpeta de destino." + } + }, + "MoveFile": { + "Description": "Mueve un archivo a la carpeta de destino", + "Outputs": { + "1": "Archivo movido", + "2": "Archivo movido, sin embargo, el archivo original no pudo ser eliminado" + }, + "Fields": { + "InputFile": "Archivo a Mover", + "InputFile-Help": "El archivo a mover; si se deja vacío, se moverá el archivo de trabajo.", + "InputFile-Placeholder": "Archivo de Trabajo", + "DestinationPath": "Carpeta de Destino", + "DestinationPath-Help": "La carpeta a la que se moverá el archivo", + "DestinationFile": "Archivo de Destino", + "DestinationFile-Help": "El nombre del archivo al que se moverá. Si está vacío, se usará el nombre del archivo original.", + "MoveFolder": "Copiar Carpeta", + "MoveFolder-Help": "Si también se debe copiar la estructura de carpeta relativa de la biblioteca.", + "DeleteOriginal": "Eliminar Original", + "DeleteOriginal-Help": "Si el archivo original debe ser eliminado; esto solo ocurrirá si el archivo de trabajo es diferente del archivo original.", + "AdditionalFiles": "Archivos Adicionales", + "AdditionalFiles-Help": "Archivos adicionales a mover del directorio al nuevo directorio.\nCada valor puede contener una combinación de ruta literal válida y caracteres comodín (* y ?) pero no admite expresiones regulares.", + "AdditionalFilesFromOriginal": "Directorio Original", + "AdditionalFilesFromOriginal-Help": "Si los archivos adicionales deben moverse desde el directorio de trabajo o desde el directorio original. Activar para el directorio original.", + "PreserverOriginalDates": "Preservar Fechas", + "PreserverOriginalDates-Help": "Si se deben preservar la hora de creación original y la última hora de modificación del archivo de entrada original." + } + }, + "OlderThan": { + "Description": "Verifica si una carpeta es más antigua que el rango especificado", + "Outputs": { + "1": "El archivo es más antiguo", + "2": "El archivo no es más antiguo" + }, + "Fields": { + "Number": "Número", + "Unit": "Unidad", + "Date": "Fecha" + } + }, + "OriginalFile": { + "Description": "Establece el archivo de trabajo actual en el flujo al archivo original que inició el flujo", + "Outputs": { + "1": "Archivo de trabajo establecido como archivo original" + } + }, + "PatternMatch": { + "Description": "Prueba el archivo de trabajo y el archivo original contra una expresión regular.\n\nSalida 1: Coincide con la expresión\nSalida 2: No coincide", + "Outputs": { + "1": "Coincide con la expresión", + "2": "NO coincide" + }, + "Fields": { + "Pattern": "Patrón", + "Pattern-Help": "Una expresión regular, utilizando la especificación de C# para expresiones regulares." + } + }, + "PatternReplacer": { + "Label": "Reemplazador de Patrón de Nombre de Archivo", + "Description": "Te permite hacer reemplazos en el nombre del archivo. Puede usar expresiones regulares para reemplazos o reemplazos de cadenas simples.\n\nSalida 1: Reemplazo realizado\nSalida 2: No se realizó ningún reemplazo", + "Outputs": { + "1": "Reemplazo realizado", + "2": "No se realizó ningún reemplazo" + }, + "Fields": { + "Replacements": "Reemplazos", + "ReplacementsKey": "Patrón", + "ReplacementsValue": "Valor", + "UseWorkingFileName": "Usar Nombre de Archivo de Trabajo", + "UseWorkingFileName-Help": "Si se debe usar el nombre de archivo de trabajo actual, o si es falso, se usará el nombre original del archivo entrante." + } + }, + "Random": { + "Label": "Aleatorio", + "Description": "Elige una salida aleatoria", + "Fields": { + "Outputs": "Salidas", + "Outputs-Help": "El número de salidas que podrían ser llamadas." + } + }, + "ReplaceOriginal": { + "Description": "Reemplaza el archivo original con el archivo de trabajo.\n\nSi la extensión es diferente en el archivo de trabajo, el archivo original será eliminado y el archivo de trabajo será movido al original con la nueva extensión.\nEj. de File.avi a File.mkv", + "Outputs": { + "1": "Archivo original reemplazado" + }, + "Fields": { + "PreserverOriginalDates": "Preservar Fechas", + "PreserverOriginalDates-Help": "Si se deben preservar el tiempo de creación original y el tiempo de última escritura del archivo de entrada original." + } + }, + "Renamer": { + "Description": "Renombra el archivo de trabajo.\nSe pueden usar variables ingresando la clave '{' dentro del campo Patrón.", + "Outputs": { + "1": "Archivo renombrado" + }, + "Fields": { + "Pattern": "Nuevo Nombre", + "Pattern-Help": "El nuevo nombre del archivo. Puede usar variables. Cualquier vacío () y '{}' será eliminado.", + "DestinationPath": "Carpeta de Destino", + "DestinationPath-Help": "Si el archivo debe ser movido a una carpeta diferente.", + "LogOnly": "Solo Registrar", + "LogOnly-Help": "Activa si solo deseas probar este elemento de flujo sin que realmente renombre el archivo.", + "CsvFile": "Archivo CSV", + "CsvFile-Help": "Se agregará a este archivo el nombre original y el archivo renombrado. Útil al usar 'Solo Registrar' para probar el renombrador antes de cambiar archivos." + } + }, + "SetVariable": { + "Label": "Establecer Variable", + "Description": "Establece una variable en el flujo.", + "Outputs": { + "1": "Variable establecida" + }, + "Fields": { + "Variable": "Variable", + "Variable-Help": "El nombre de la variable a establecer", + "Value": "Valor", + "Value-Help": "El valor de la variable a establecer." + } + }, + "SetWorkingFile": { + "Label": "Establecer Archivo de Trabajo", + "Description": "Actualiza el archivo de trabajo actual al especificado.", + "Outputs": { + "1": "Archivo de Trabajo Establecido" + }, + "Fields": { + "File": "Archivo", + "File-Description": "La ruta al nuevo archivo o carpeta de trabajo.", + "DontDeletePrevious": "No Eliminar Anterior", + "DontDeletePrevious-Help": "Si el archivo de trabajo anterior *temporal* no debe *ser eliminado*.\nSolo se eliminarán archivos temporales, archivos que han sido creados por FileFlows en el directorio temporal de los ejecutores." + } + }, + "Sleep": { + "Description": "Pausa el flujo", + "Outputs": { + "1": "Flujo reanudado" + }, + "Fields": { + "Milliseconds": "Milisegundos", + "Milliseconds-Help": "Cuánto tiempo pausar el flujo. Debe estar entre 1 milisegundo y 1 hora." + } + }, + "Touch": { + "Description": "Toca un archivo o directorio y establece la última hora de escritura a ahora.", + "Outputs": { + "1": "Elemento tocado con éxito" + }, + "Fields": { + "FileName": "Nombre de Archivo", + "FileName-Help": "Nombre completo del archivo o carpeta a tocar.\nSi se deja en blanco, se usará el archivo de trabajo." + } + }, + "VariableMatch": { + "Description": "Prueba si una entrada coincide con una Variable almacenada", + "Fields": { + "Variable": "Variable", + "Variable-Help": "La variable con la que comparar", + "VariableName": "Variable", + "VariableName-Help": "La variable con la que comparar", + "Input": "Valor", + "Input-Help": "El valor para comparar con la variable." + }, + "Outputs": { + "1": "Entrada coincide con variable", + "2": "Entrada no coincide con variable" + } + }, + "WebRequest": { + "Description": "Te permite enviar una solicitud web", + "Outputs": { + "1": "Enviado con éxito", + "2": "La solicitud devolvió un código de estado no exitoso" + }, + "Fields": { + "Url": "URL", + "Url-Help": "La URL de la solicitud", + "Method": "Método", + "Method-Help": "El método web a usar al enviar esta solicitud", + "ContentType": "Tipo de Contenido", + "ContentType-Help": "El Content-Type del mensaje a enviar", + "Headers": "Encabezados", + "Headers-Help": "Encabezados opcionales a enviar con la solicitud", + "HeadersKey": "Clave", + "HeadersValue": "Valor", + "Body": "Cuerpo", + "Body-Help": "El cuerpo de la solicitud que se envía. Se pueden usar variables en este campo." + } + }, + "Unpack": { + "Description": "Permite descomprimir un archivo (zip, rar, tar, etc.)", + "Outputs": { + "1": "Archivo descomprimido" + }, + "Fields": { + "DestinationPath": "Carpeta de Destino", + "DestinationPath-Help": "La carpeta de destino donde descomprimir el archivo.", + "File": "Archivo", + "File-Help": "El nombre del archivo a descomprimir. Se puede dejar en blanco y, si es así, se usará el archivo de trabajo actual." + } + }, + "Zip": { + "Description": "Permite comprimir la entrada", + "Outputs": { + "1": "Zip creado" + }, + "Fields": { + "DestinationPath": "Carpeta de Destino", + "DestinationPath-Help": "La carpeta de destino donde colocar el archivo zip. Si se deja en blanco, el zip se colocará en la raíz de la biblioteca.", + "DestinationFile": "Archivo de Destino", + "DestinationFile-Help": "El nombre del archivo del nuevo zip creado. Si se deja en blanco, se usará el nombre del elemento como archivo zip.", + "Path": "Ruta", + "Path-Help": "La ruta al archivo o carpeta a comprimir. Si se deja en blanco, se comprimirá el archivo de trabajo.", + "SetWorkingFile": "Establecer Archivo de Trabajo", + "SetWorkingFile-Help": "Si el nuevo zip creado debe convertirse en el nuevo archivo de trabajo." + } + }, + "SevenZip": { + "Label": "7-Zip", + "Description": "Permite comprimir la entrada en 7zip", + "Outputs": { + "1": "7zip creado" + }, + "Fields": { + "DestinationPath": "Carpeta de Destino", + "DestinationPath-Help": "La carpeta de destino donde colocar el archivo 7zip. Si se deja en blanco, el 7zip se colocará en la raíz de la biblioteca.", + "DestinationFile": "Archivo de Destino", + "DestinationFile-Help": "El nombre del archivo del nuevo 7zip creado. Si se deja en blanco, se usará el nombre del elemento como archivo 7zip.", + "CompressionLevel": "Nivel de Compresión", + "CompressionLevel-Help": "El nivel de compresión a utilizar al comprimir.", + "CompressionMethod": "Método de Compresión", + "CompressionMethod-Help": "El método de compresión utilizado para la compresión, se recomienda LZMA2." + } + }, + "IfBoolean": { + "Description": "Prueba si una variable es verdadera o falsa", + "Outputs": { + "1": "Verdadero", + "2": "Falso" + }, + "Fields": { + "Variable": "Variable", + "Variable-Help": "El nombre de la variable a comprobar" + } + }, + "IfString": { + "Description": "Prueba si una variable coincide con una cadena", + "Outputs": { + "1": "Cadena coincidente 1", + "2": "Cadena coincidente 2", + "3": "Cadena coincidente 3", + "4": "Cadena coincidente 4", + "5": "Cadena coincidente 5", + "6": "Cadena coincidente 6", + "7": "Cadena coincidente 7", + "8": "Cadena coincidente 8", + "9": "Cadena coincidente 9", + "10": "Cadena coincidente 10" + }, + "Fields": { + "Variable": "Variable", + "Variable-Help": "El nombre de la variable a comprobar", + "Outputs": "Salidas", + "Outputs-Help": "Esto debe coincidir con el número de opciones disponibles", + "Options": "Opciones", + "Options-Help": "La cadena contra la que coincidir." + } + }, + "WriteText": { + "Description": "Escribe texto en un archivo", + "Outputs": { + "1": "Texto escrito en el archivo" + }, + "Fields": { + "File": "Archivo", + "File-Help": "El archivo donde se escribirá el texto.", + "Text": "Texto", + "Text-Help": "El texto a escribir en el archivo. Si se deja en blanco, se escribirá la ruta completa del archivo de trabajo actual." + } + } + } + } +} \ No newline at end of file diff --git a/BasicNodes/i18n/fr.json b/BasicNodes/i18n/fr.json new file mode 100644 index 00000000..2c17fb50 --- /dev/null +++ b/BasicNodes/i18n/fr.json @@ -0,0 +1,719 @@ +{ + "Enums": { + "LogType": { + "Info": "Information", + "Debug": "Débogage", + "Warning": "Avertissement", + "Error": "Erreur" + } + }, + "Flow": { + "Parts": { + "InputFile": { + "Description": "Un élément de flux d'entrée pour un fichier. Cela est requis et constitue le point de départ d'un flux. Tout élément de flux d'entrée peut être utilisé, un seul est requis.", + "Outputs": { + "1": "Fichier de bibliothèque" + } + }, + "InputFolder": { + "Description": "Un élément de flux d'entrée pour un dossier. Cela ne fonctionnera que si la bibliothèque utilisant ce flux est configurée pour les dossiers.", + "Outputs": { + "1": "Dossier de bibliothèque" + } + }, + "BatchScript": { + "Label": "Script par lots (.bat)", + "Description": "Vous permet d'exécuter un script par lots (.bat) dans un environnement Windows.", + "Outputs": { + "1": "retourne 1", + "2": "retourne 2", + "3": "retourne 3", + "4": "retourne 4", + "5": "retourne 5", + "6": "retourne 6", + "7": "retourne 7", + "8": "retourne 8", + "9": "retourne 9", + "10": "retourne 10" + }, + "Fields": { + "Code": "Code" + } + }, + "CSharpScript": { + "Label": "Fonction C#", + "Description": "Vous permet d'exécuter un code C# à l'intérieur du flux.", + "Outputs": { + "1": "retourne 1", + "2": "retourne 2", + "3": "retourne 3", + "4": "retourne 4", + "5": "retourne 5", + "6": "retourne 6", + "7": "retourne 7", + "8": "retourne 8", + "9": "retourne 9", + "10": "retourne 10" + }, + "Fields": { + "Code": "Code" + } + }, + "ShellScript": { + "Label": "Script Shell (.sh)", + "Description": "Vous permet d'exécuter un script shell (.sh) dans un environnement de type Unix.", + "Outputs": { + "1": "retourne 1", + "2": "retourne 2", + "3": "retourne 3", + "4": "retourne 4", + "5": "retourne 5", + "6": "retourne 6", + "7": "retourne 7", + "8": "retourne 8", + "9": "retourne 9", + "10": "retourne 10" + }, + "Fields": { + "Code": "Code" + } + }, + "PowerShellScript": { + "Label": "Script PowerShell (.ps1)", + "Description": "Vous permet d'exécuter un script PowerShell (.ps1) dans un environnement Windows.", + "Outputs": { + "1": "retourne 1", + "2": "retourne 2", + "3": "retourne 3", + "4": "retourne 4", + "5": "retourne 5", + "6": "retourne 6", + "7": "retourne 7", + "8": "retourne 8", + "9": "retourne 9", + "10": "retourne 10" + }, + "Fields": { + "Code": "Code" + } + }, + "CompleteFlow": { + "Description": "Complète/termine le flux comme réussi" + }, + "CopyFile": { + "Description": "Copie un fichier dans le dossier de destination", + "Outputs": { + "1": "Fichier copié" + }, + "Fields": { + "InputFile": "Fichier à copier", + "InputFile-Help": "Le fichier à copier. S'il est laissé vide, le fichier de travail sera copié.", + "InputFile-Placeholder": "Fichier de travail", + "DestinationPath": "Dossier de destination", + "DestinationPath-Help": "Le dossier où le fichier sera copié.", + "DestinationFile": "Fichier de destination", + "DestinationFile-Help": "Le nom du fichier vers lequel le fichier sera copié. S'il est vide, le nom de fichier original sera utilisé.", + "CopyFolder": "Copier le dossier", + "CopyFolder-Help": "Si la structure de dossier relative de la bibliothèque doit également être copiée.", + "AdditionalFiles": "Fichiers supplémentaires", + "AdditionalFiles-Help": "Fichiers supplémentaires à copier du répertoire vers le nouveau répertoire.\nChaque valeur peut contenir une combinaison de chemins littéraux valides et de caractères génériques (* et ?) mais ne prend pas en charge les expressions régulières.", + "AdditionalFilesFromOriginal": "Répertoire original", + "AdditionalFilesFromOriginal-Help": "Si les fichiers supplémentaires doivent être copiés depuis le répertoire de travail ou depuis le répertoire original. Activez pour le répertoire original.", + "PreserverOriginalDates": "Préserver les dates", + "PreserverOriginalDates-Help": "Si l'heure de création originale et l'heure de dernière écriture du fichier d'entrée original doivent être préservées." + } + }, + "DeleteSourceDirectory": { + "Label": "Supprimer le dossier source", + "Outputs": { + "1": "Dossier source supprimé", + "2": "Le dossier n'a PAS été supprimé" + }, + "Description": "Supprime le dossier source du fichier de bibliothèque original", + "Fields": { + "IfEmpty": "Si vide", + "IfEmpty-Help": "Supprimer le dossier source uniquement s'il est vide", + "IncludePatterns": "Inclure des motifs", + "IncludePatterns-Help": "Facultatif, si défini, seuls les fichiers correspondant à ces motifs seront comptés pour voir si le dossier est vide. Tous ces motifs peuvent correspondre.", + "TopMostOnly": "Uniquement le plus élevé", + "TopMostOnly-Help": "Lorsqu'il est activé, seul le dossier contenant directement le fichier sera supprimé, laissant les dossiers de niveau supérieur intacts." + } + }, + "Executor": { + "Description": "Exécute le processus suivant sur le fichier.\nSortie 1 : Le processus a renvoyé le code de sortie de succès\nSortie 2 : Le processus a renvoyé un code de sortie non réussi.", + "Outputs": { + "1": "Le processus a renvoyé le succès", + "2": "Le processus a renvoyé un échec" + }, + "Fields": { + "FileName": "Nom de fichier", + "FileName-Help": "Le nom du fichier à exécuter", + "Arguments": "Arguments", + "Arguments-Help": "Les arguments à passer au processus à exécuter", + "WorkingDirectory": "Dossier de travail", + "WorkingDirectory-Help": "Le dossier depuis lequel le processus sera exécuté", + "SuccessCode": "Code de succès", + "SuccessCode-Help": "Le code de sortie du processus indiquant que le processus a été réussi. Cela devrait généralement être 0.", + "Timeout": "Délai d'attente", + "Timeout-Help": "Combien de temps le processus peut s'exécuter avant d'être arrêté. Utilisez 0 pour aucun délai.", + "Timeout-Suffix": "secondes", + "OutputVariable": "Variable de sortie", + "OutputVariable-Help": "Un nom de variable facultatif pour stocker la sortie du processus", + "OutputErrorVariable": "Variable de sortie d'erreur", + "OutputErrorVariable-Help": "Un nom de variable facultatif pour stocker la sortie d'erreur du processus" + } + }, + "FolderDateCompare": { + "Label": "Comparaison de date de dossier", + "Description": "Vérifie si la création ou l'heure de dernière écriture du dossier correspond à la contrainte de date spécifiée.", + "Outputs": { + "1": "Correspond à la contrainte de date.", + "2": "Ne correspond pas à la contrainte de date." + }, + "Fields": { + "Path": "Chemin", + "Path-Help": "Le chemin vers le dossier à vérifier. Laissez vide pour vérifier le fichier de travail actuel.\nSi un fichier est spécifié, le dossier contenant le fichier sera vérifié.", + "Date": "Date", + "DateComparision": "Comparaison" + } + }, + "FileDateCompare": { + "Description": "Vérifie si la création ou l'heure de dernière écriture du fichier correspond à la contrainte de date spécifiée.", + "Outputs": { + "1": "Correspond à la contrainte de date.", + "2": "Ne correspond pas à la contrainte de date." + }, + "Fields": { + "FileName": "Nom de fichier", + "FileName-Help": "Le fichier à vérifier. Laissez vide pour vérifier le fichier de travail actuel.", + "Date": "Date", + "DateComparision": "Comparaison" + } + }, + "FileExtension": { + "Description": "Vérifie si le fichier a l'une des extensions configurées.\n\nSortie 1 : Correspond\nSortie 2 : Ne correspond pas", + "Outputs": { + "1": "Correspondance d'extension", + "2": "L'extension ne correspond pas" + }, + "Fields": { + "Extensions": "Extensions", + "Extensions-Help": "Une liste d'extensions de fichiers insensibles à la casse qui seront comparées.\nSortie 1 : Correspond\nSortie 2 : Ne correspond pas" + } + }, + "FileExists": { + "Description": "Vérifie si un fichier existe\n\nSortie 1 : Le fichier existe\nSortie 2 : Le fichier n'existe pas", + "Outputs": { + "1": "Le fichier existe", + "2": "Le fichier n'existe pas" + }, + "Fields": { + "FileName": "Nom de fichier", + "FileName-Help": "Le fichier à vérifier. Laissez vide pour vérifier le fichier de travail actuel." + } + }, + "HasHardLinks": { + "Description": "Vérifie si un fichier a des liens durs ou non", + "Outputs": { + "1": "Liens durs détectés", + "2": "Aucun lien dur détecté" + }, + "Fields": { + "FileName": "Nom du fichier", + "FileName-Help": "Le fichier à vérifier. Laissez vide pour vérifier le fichier de travail actuel.", + "Count": "Compter", + "Count-Help": "Le nombre de liens durs requis pour appeler la sortie 1." + } + }, + "Delete": { + "Description": "Supprime un fichier ou un dossier", + "Outputs": { + "1": "Fichier supprimé" + }, + "Fields": { + "FileName": "Chemin", + "FileName-Help": "Un chemin vers un fichier ou un dossier à supprimer.\n\nS'il est laissé vide, le fichier de travail actuel sera supprimé." + } + }, + "FolderIterator": { + "Description": "Itère tous les fichiers dans un dossier donné et exécute ces fichiers contre un sous-flux.", + "Outputs": { + "1": "Fichiers du dossier itérés" + }, + "Fields": { + "Flow": "Flux", + "Flow-Help": "Le sous-flux pour exécuter les fichiers.", + "Folder": "Dossier", + "Folder-Help": "Le dossier dont les fichiers seront itérés.", + "Pattern": "Motif", + "Pattern-Help": "Tout motif optionnel pour limiter les fichiers à itérer, cela peut être un motif générique commençant par un `*` ou une expression régulière.", + "Recursive": "Récursif", + "Recursive-Help": "Si les fichiers dans tous les sous-dossiers doivent également être itérés, ou si seuls les fichiers de niveau supérieur doivent être itérés." + } + }, + "ListIterator": { + "Description": "Itère toutes les chaînes dans une liste donnée et exécute ces chaînes contre un sous-flux.", + "Outputs": { + "1": "Liste itérée" + }, + "Fields": { + "Flow": "Flux", + "Flow-Help": "Le sous-flux pour exécuter les chaînes.", + "List": "Liste", + "List-Help": "Un nom de variable contenant la liste à itérer." + } + }, + "FailFlow": { + "Description": "Échoue un flux immédiatement, utile si vous voulez qu'un certain chemin échoue simplement.", + "Fields": { + "Reason": "Raison", + "Reason-Help": "Une raison optionnelle pour enregistrer pourquoi le flux a échoué." + } + }, + "FileSize": { + "Description": "Vérifie si la taille du fichier correspond aux paramètres configurés. Les valeurs sont en mégaoctets.\n\nSortie 1: Correspond\nSortie 2: Ne correspond pas", + "Outputs": { + "1": "Taille de fichier dans la plage", + "2": "Taille de fichier hors de la plage" + }, + "Fields": { + "Comparison": "Comparaison", + "Lower": "Plus grand que", + "Lower-Suffix": "Mo", + "Lower-Help": "La valeur doit être supérieure à ce nombre de mégaoctets", + "Upper": "Moins que", + "Upper-Suffix": "Mo", + "Upper-Help": "La valeur doit être inférieure à ce nombre de mégaoctets. Laissez à 0 pour ne pas tester la limite supérieure." + } + }, + "FileSizeCompare": { + "Description": "Vérifie si la taille du fichier a changé par rapport au fichier original.", + "Outputs": { + "1": "Plus petit que l'original", + "2": "Même taille que l'original", + "3": "Plus grand que l'original" + } + }, + "FileSizeWithin": { + "Description": "Vérifie si la nouvelle taille du fichier est dans la plage autorisée de la taille du fichier original.", + "Value": "Valeur", + "Value-Help": "La différence autorisée pour la taille du fichier, cette valeur peut être soit positive soit négative par rapport à cette différence.", + "Outputs": { + "1": "La taille du fichier est dans la plage autorisée", + "2": "La taille du fichier n'est pas dans la plage autorisée" + } + }, + "Function": { + "Label": "Fonction", + "Outputs": { + "1": "retourné 1", + "2": "retourné 2", + "3": "retourné 3", + "4": "retourné 4", + "5": "retourné 5", + "6": "retourné 6", + "7": "retourné 7", + "8": "retourné 8", + "9": "retourné 9", + "10": "retourné 10" + }, + "Fields": { + "Outputs": "Sorties", + "Template": "Modèle", + "Template-Help": "AVERTISSEMENT: Cela remplacera tout ce qui se trouve dans le bloc de code par le modèle que vous sélectionnez.", + "Code": "Code", + "Code-Help": "retourner -1 pour erreur et arrêter le flux. retourner 0 pour compléter le flux. retourner 1 ou plus pour que la sortie désirée soit appelée." + } + }, + "GotoFlow": { + "Description": "Cela vous permet de passer à un flux différent à traiter. Ce flux sortira et les paramètres et le fichier de travail seront passés dans le nouveau flux.", + "Fields": { + "Flow": "Flux", + "UpdateFlowUsed": "Mettre à jour le flux", + "UpdateFlowUsed-Help": "Si le `flux` des fichiers doit être mis à jour pour faire référence à ce nouveau flux ou le laisser comme le flux d'origine." + } + }, + "Reprocess": { + "Description": "L'élément de flux vous permet de reproceser le fichier de bibliothèque original avec un nœud de traitement différent.\n\n Si le même nœud de traitement est sélectionné que celui qui traite actuellement le fichier, le flux échouera.", + "Fields": { + "Node": "Nœud", + "Node-Help": "Le nœud de traitement pour traiter ce fichier." + } + }, + "IsFromLibrary": { + "Description": "Vérifie si le fichier en cours de traitement provient de la bibliothèque spécifiée.", + "Fields": { + "Library": "Bibliothèque", + "Library-Help": "La bibliothèque à vérifier." + }, + "Outputs": { + "1": "Le fichier provient de la bibliothèque spécifiée.", + "2": "Le fichier ne provient pas de la bibliothèque spécifiée." + } + }, + "IsProcessingOnNode": { + "Description": "Vérifie si le flux est actuellement en cours de traitement sur un nœud de traitement spécifié.", + "Fields": { + "Node": "Nœud", + "Node-Help": "Le nœud de traitement à vérifier." + }, + "Outputs": { + "1": "Est en cours de traitement sur le nœud", + "2": "N'est pas en cours de traitement sur le nœud" + } + }, + "IsDocker": { + "Description": "Détermine si ce flux s'exécute sur Docker", + "Outputs": { + "1": "S'exécute sur Docker", + "2": "Ne s'exécute pas sur Docker" + } + }, + "IsLinux": { + "Description": "Détermine si ce flux s'exécute sur Linux", + "Outputs": { + "1": "S'exécute sur Linux", + "2": "Ne s'exécute pas sur Linux" + } + }, + "IsMacOS": { + "Label": "Est MacOS", + "Description": "Détermine si ce flux s'exécute sur MacOS", + "Outputs": { + "1": "S'exécute sur MacOS", + "2": "Ne s'exécute pas sur MacOS" + } + }, + "IsWindows": { + "Description": "Détermine si ce flux s'exécute sur Windows", + "Outputs": { + "1": "S'exécute sur Windows", + "2": "Ne s'exécute pas sur Windows" + } + }, + "Log": { + "Description": "Enregistre un message dans le journal du flux", + "Outputs": { + "1": "Message enregistré" + }, + "Fields": { + "LogType": "Type", + "Message": "Message" + } + }, + "Matches": { + "Description": "Compare un ensemble de valeurs et des conditions de correspondance pour voir quelle sortie doit être appelée", + "Fields": { + "MatchConditions": "", + "MatchConditionsKey": "Valeur", + "MatchConditionsValue": "Expression", + "MatchConditions-Help": "Les correspondances à tester pour déterminer quelle sortie doit être appelée." + } + }, + "MatchesAll": { + "Description": "Compare un ensemble de valeurs et vérifie si toutes les conditions correspondent.", + "Fields": { + "MatchConditions": "", + "MatchConditionsKey": "Valeur", + "MatchConditionsValue": "Expression", + "MatchConditionsHelp": "Les conditions à tester, déterminant quelle sortie doit être appelée." + }, + "Outputs": { + "1": "Toutes les conditions correspondent", + "2": "Toutes les conditions ne correspondent pas" + } + }, + "MoveFolder": { + "Description": "Déplace un dossier", + "Outputs": { + "1": "Dossier déplacé" + }, + "Fields": { + "SourcePath": "Source", + "SourcePath-Help": "Le dossier à déplacer ; s'il est laissé vide, le Fichier de Travail sera utilisé. Si ce n'est pas un dossier, l'élément de flux échouera.", + "DestinationPath": "Destination", + "DestinationPath-Help": "Le dossier de destination vers lequel le dossier source sera déplacé.", + "CreateSubfolder": "Créer un Sous-dossier", + "CreateSubfolder-Help": "Si un sous-dossier avec le nom du dossier source doit être créé dans le dossier de destination." + } + }, + "MoveFile": { + "Description": "Déplace un fichier vers le dossier de destination", + "Outputs": { + "1": "Fichier déplacé", + "2": "Fichier déplacé, mais le fichier original n'a pas pu être supprimé" + }, + "Fields": { + "InputFile": "Fichier à Déplacer", + "InputFile-Help": "Le fichier à déplacer ; s'il est laissé vide, le fichier de travail sera déplacé.", + "InputFile-Placeholder": "Fichier de Travail", + "DestinationPath": "Dossier de Destination", + "DestinationPath-Help": "Le dossier vers lequel le fichier sera déplacé", + "DestinationFile": "Fichier de Destination", + "DestinationFile-Help": "Le nom du fichier vers lequel le fichier sera déplacé. S'il est vide, le nom du fichier original sera utilisé.", + "MoveFolder": "Copier le Dossier", + "MoveFolder-Help": "Si la structure de dossier relative de la bibliothèque doit également être copiée.", + "DeleteOriginal": "Supprimer l'Original", + "DeleteOriginal-Help": "Si le fichier original doit être supprimé ; cela ne se produira que si le fichier de travail est différent du fichier original.", + "AdditionalFiles": "Fichiers Supplémentaires", + "AdditionalFiles-Help": "Fichiers supplémentaires à déplacer du répertoire vers le nouveau répertoire.\nChaque valeur peut contenir une combinaison de chemin littéral valide et de caractères génériques (* et ?) mais ne prend pas en charge les expressions régulières.", + "AdditionalFilesFromOriginal": "Répertoire Original", + "AdditionalFilesFromOriginal-Help": "Si les fichiers supplémentaires doivent être déplacés depuis le répertoire de travail ou depuis le répertoire original. Activer pour le répertoire original.", + "PreserverOriginalDates": "Préserver les Dates", + "PreserverOriginalDates-Help": "Si l'heure de création originale et l'heure de dernière modification du fichier d'entrée original doivent être préservées." + } + }, + "OlderThan": { + "Description": "Vérifie si un dossier est plus ancien que la plage spécifiée", + "Outputs": { + "1": "Le fichier est plus ancien", + "2": "Le fichier n'est pas plus ancien" + }, + "Fields": { + "Number": "Nombre", + "Unit": "Unité", + "Date": "Date" + } + }, + "OriginalFile": { + "Description": "Définit le fichier en cours dans le flux sur le fichier original qui a démarré le flux", + "Outputs": { + "1": "Fichier en cours défini sur le fichier original" + } + }, + "PatternMatch": { + "Description": "Teste le fichier en cours et le fichier original avec une expression régulière.\n\nSortie 1 : Correspond à l'expression\nSortie 2 : Ne correspond pas", + "Outputs": { + "1": "Correspond à l'expression", + "2": "Ne correspond PAS" + }, + "Fields": { + "Pattern": "Motif", + "Pattern-Help": "Une expression régulière, utilisant la spécification C# pour les expressions régulières." + } + }, + "PatternReplacer": { + "Label": "Remplacement de Motif de Nom de Fichier", + "Description": "Vous permet de faire des remplacements dans le nom du fichier. Peut utiliser des expressions régulières pour les remplacements, ou des remplacements simples de chaînes.\n\nSortie 1 : Remplacement effectué\nSortie 2 : Aucun remplacement effectué", + "Outputs": { + "1": "Remplacement effectué", + "2": "Aucun remplacement effectué" + }, + "Fields": { + "Replacements": "Remplacements", + "ReplacementsKey": "Motif", + "ReplacementsValue": "Valeur", + "UseWorkingFileName": "Utiliser le Nom du Fichier en Cours", + "UseWorkingFileName-Help": "Si le nom du fichier en cours doit être utilisé, ou si faux, le nom de fichier original du fichier entrant sera utilisé." + } + }, + "Random": { + "Label": "Aléatoire", + "Description": "Choisit une sortie aléatoire", + "Fields": { + "Outputs": "Sorties", + "Outputs-Help": "Le nombre de sorties qui pourraient être appelées." + } + }, + "ReplaceOriginal": { + "Description": "Remplace le fichier original par le fichier en cours.\n\nSi l'extension est différente sur le fichier en cours, le fichier original sera supprimé et le fichier en cours sera déplacé vers l'original avec la nouvelle extension.\nPar exemple de Fichier.avi à Fichier.mkv", + "Outputs": { + "1": "Fichier original remplacé" + }, + "Fields": { + "PreserverOriginalDates": "Préserver les Dates", + "PreserverOriginalDates-Help": "Si la date de création et la dernière date de modification du fichier original doivent être préservées." + } + }, + "Renamer": { + "Description": "Renomme le fichier en cours.\nDes variables peuvent être utilisées en entrant la clé '{' dans le champ Motif.", + "Outputs": { + "1": "Fichier renommé" + }, + "Fields": { + "Pattern": "Nouveau Nom", + "Pattern-Help": "Le nouveau nom du fichier. Peut utiliser des variables. Tout () et '{}' vide sera supprimé.", + "DestinationPath": "Dossier de Destination", + "DestinationPath-Help": "Si le fichier doit être déplacé vers un autre dossier.", + "LogOnly": "Journaliser Seulement", + "LogOnly-Help": "Activer si vous voulez juste tester cet élément de flux sans réellement renommer le fichier", + "CsvFile": "Fichier CSV", + "CsvFile-Help": "Ajoute à ce fichier le nom original et le fichier renommé. Utile lors de l'utilisation de ''Journaliser Seulement'' pour tester le renommage avant de modifier les fichiers." + } + }, + "SetVariable": { + "Label": "Définir une Variable", + "Description": "Définit une variable dans le flux.", + "Outputs": { + "1": "Variable définie" + }, + "Fields": { + "Variable": "Variable", + "Variable-Help": "Le nom de la variable à définir", + "Value": "Valeur", + "Value-Help": "La valeur de la variable à définir." + } + }, + "SetWorkingFile": { + "Label": "Définir le Fichier en Cours", + "Description": "Met à jour le fichier en cours avec celui spécifié.", + "Outputs": { + "1": "Fichier en Cours Défini" + }, + "Fields": { + "File": "Fichier", + "File-Description": "Le chemin vers le nouveau fichier ou dossier en cours.", + "DontDeletePrevious": "Ne Pas Supprimer le Précédent", + "DontDeletePrevious-Help": "Si le précédent fichier *temporaire* en cours ne doit *pas* être supprimé.\nSeuls les fichiers temporaires seront supprimés, les fichiers créés par FileFlows dans le répertoire temporaire du coureur." + } + }, + "Sleep": { + "Description": "Met en pause le flux", + "Outputs": { + "1": "Flux repris" + }, + "Fields": { + "Milliseconds": "Millisecondes", + "Milliseconds-Help": "Durée pendant laquelle le flux doit être mis en veille. Doit être comprise entre 1 milliseconde et 1 heure" + } + }, + "Touch": { + "Description": "Modifie un fichier ou un dossier et met à jour la date de dernière modification à maintenant.", + "Outputs": { + "1": "Élément modifié avec succès" + }, + "Fields": { + "FileName": "Nom du Fichier", + "FileName-Help": "Nom complet du fichier ou du dossier à modifier.\nSi laissé vide, le fichier en cours sera utilisé." + } + }, + "VariableMatch": { + "Description": "Teste si une entrée correspond à une Variable stockée", + "Fields": { + "Variable": "Variable", + "Variable-Help": "La variable à vérifier", + "VariableName": "Variable", + "VariableName-Help": "La variable à vérifier", + "Input": "Valeur", + "Input-Help": "La valeur à comparer avec la variable." + }, + "Outputs": { + "1": "Entrée correspondant à la variable", + "2": "Entrée ne correspondant pas à la variable" + } + }, + "WebRequest": { + "Description": "Vous permet d'envoyer une requête web", + "Outputs": { + "1": "Envoyée avec succès", + "2": "La requête a renvoyé un code de statut non réussi" + }, + "Fields": { + "Url": "URL", + "Url-Help": "L'URL de la requête", + "Method": "Méthode", + "Method-Help": "La méthode web à utiliser lors de l'envoi de cette requête", + "ContentType": "Type de Contenu", + "ContentType-Help": "Le type de contenu du message à envoyer", + "Headers": "En-têtes", + "Headers-Help": "En-têtes optionnels à envoyer avec la requête", + "HeadersKey": "Clé", + "HeadersValue": "Valeur", + "Body": "Corps", + "Body-Help": "Le corps de la requête à envoyer. Des variables peuvent être utilisées dans ce champ." + } + }, + "Unpack": { + "Description": "Permet de décompresser une archive (zip, rar, tar, etc.)", + "Outputs": { + "1": "Fichier décompressé" + }, + "Fields": { + "DestinationPath": "Dossier de Destination", + "DestinationPath-Help": "Le dossier de destination où décompresser le fichier.", + "File": "Fichier", + "File-Help": "Le nom du fichier à décompresser. Peut être laissé vide, auquel cas le fichier de travail actuel sera utilisé." + } + }, + "Zip": { + "Description": "Permet de compresser l'entrée", + "Outputs": { + "1": "Zip créé" + }, + "Fields": { + "DestinationPath": "Dossier de Destination", + "DestinationPath-Help": "Le dossier de destination où mettre le fichier zip. Si vide, le zip sera placé à la racine de la bibliothèque.", + "DestinationFile": "Fichier de Destination", + "DestinationFile-Help": "Le nom du fichier du zip nouvellement créé. Si vide, le nom de l'élément sera utilisé comme fichier zip.", + "Path": "Chemin", + "Path-Help": "Le chemin vers le fichier ou le dossier à compresser. Si vide, le fichier de travail sera compressé.", + "SetWorkingFile": "Définir Fichier de Travail", + "SetWorkingFile-Help": "Si le zip nouvellement créé doit devenir le nouveau fichier de travail." + } + }, + "SevenZip": { + "Label": "7-Zip", + "Description": "Permet de compresser l'entrée en 7zip", + "Outputs": { + "1": "7zip créé" + }, + "Fields": { + "DestinationPath": "Dossier de Destination", + "DestinationPath-Help": "Le dossier de destination où mettre le fichier 7zip. Si vide, le 7zip sera placé à la racine de la bibliothèque.", + "DestinationFile": "Fichier de Destination", + "DestinationFile-Help": "Le nom du fichier du 7zip nouvellement créé. Si vide, le nom de l'élément sera utilisé comme fichier 7zip.", + "CompressionLevel": "Niveau de Compression", + "CompressionLevel-Help": "Le niveau de compression à utiliser lors de la compression.", + "CompressionMethod": "Méthode de Compression", + "CompressionMethod-Help": "La méthode de compression utilisée pour la compression, LZMA2 est recommandée." + } + }, + "IfBoolean": { + "Description": "Teste si une variable est vraie ou fausse", + "Outputs": { + "1": "Vrai", + "2": "Faux" + }, + "Fields": { + "Variable": "Variable", + "Variable-Help": "Le nom de la variable à vérifier" + } + }, + "IfString": { + "Description": "Teste si une variable correspond à une chaîne", + "Outputs": { + "1": "Chaîne correspondante 1", + "2": "Chaîne correspondante 2", + "3": "Chaîne correspondante 3", + "4": "Chaîne correspondante 4", + "5": "Chaîne correspondante 5", + "6": "Chaîne correspondante 6", + "7": "Chaîne correspondante 7", + "8": "Chaîne correspondante 8", + "9": "Chaîne correspondante 9", + "10": "Chaîne correspondante 10" + }, + "Fields": { + "Variable": "Variable", + "Variable-Help": "Le nom de la variable à vérifier", + "Outputs": "Sorties", + "Outputs-Help": "Cela doit correspondre au nombre d'options disponibles", + "Options": "Options", + "Options-Help": "La chaîne à laquelle correspondre." + } + }, + "WriteText": { + "Description": "Écrit du texte dans un fichier", + "Outputs": { + "1": "Texte écrit dans le fichier" + }, + "Fields": { + "File": "Fichier", + "File-Help": "Le fichier dans lequel écrire le texte.", + "Text": "Texte", + "Text-Help": "Le texte à écrire dans le fichier. S'il est laissé vide, le chemin complet du fichier de travail actuel sera écrit." + } + } + } + } +} \ No newline at end of file diff --git a/BasicNodes/i18n/pt.json b/BasicNodes/i18n/pt.json new file mode 100644 index 00000000..a68f6a3a --- /dev/null +++ b/BasicNodes/i18n/pt.json @@ -0,0 +1,719 @@ +{ + "Enums": { + "LogType": { + "Info": "Informação", + "Debug": "Depuração", + "Warning": "Aviso", + "Error": "Erro" + } + }, + "Flow": { + "Parts": { + "InputFile": { + "Description": "Um elemento de fluxo de entrada para um arquivo. Isso é obrigatório e é o ponto de partida de um fluxo. Qualquer elemento de fluxo de entrada pode ser usado, apenas um é necessário.", + "Outputs": { + "1": "Arquivo da biblioteca" + } + }, + "InputFolder": { + "Description": "Um elemento de fluxo de entrada para uma pasta. Isso só funcionará se a biblioteca que utiliza este fluxo estiver configurada para pastas.", + "Outputs": { + "1": "Pasta da biblioteca" + } + }, + "BatchScript": { + "Label": "Script em lote (.bat)", + "Description": "Permite que você execute um script em lote (.bat) em um ambiente Windows.", + "Outputs": { + "1": "retornou 1", + "2": "retornou 2", + "3": "retornou 3", + "4": "retornou 4", + "5": "retornou 5", + "6": "retornou 6", + "7": "retornou 7", + "8": "retornou 8", + "9": "retornou 9", + "10": "retornou 10" + }, + "Fields": { + "Code": "Código" + } + }, + "CSharpScript": { + "Label": "Função C#", + "Description": "Permite que você execute um código C# dentro do fluxo.", + "Outputs": { + "1": "retornou 1", + "2": "retornou 2", + "3": "retornou 3", + "4": "retornou 4", + "5": "retornou 5", + "6": "retornou 6", + "7": "retornou 7", + "8": "retornou 8", + "9": "retornou 9", + "10": "retornou 10" + }, + "Fields": { + "Code": "Código" + } + }, + "ShellScript": { + "Label": "Script Shell (.sh)", + "Description": "Permite que você execute um script shell (.sh) em um ambiente semelhante ao Unix.", + "Outputs": { + "1": "retornou 1", + "2": "retornou 2", + "3": "retornou 3", + "4": "retornou 4", + "5": "retornou 5", + "6": "retornou 6", + "7": "retornou 7", + "8": "retornou 8", + "9": "retornou 9", + "10": "retornou 10" + }, + "Fields": { + "Code": "Código" + } + }, + "PowerShellScript": { + "Label": "Script PowerShell (.ps1)", + "Description": "Permite que você execute um script PowerShell (.ps1) em um ambiente Windows.", + "Outputs": { + "1": "retornou 1", + "2": "retornou 2", + "3": "retornou 3", + "4": "retornou 4", + "5": "retornou 5", + "6": "retornou 6", + "7": "retornou 7", + "8": "retornou 8", + "9": "retornou 9", + "10": "retornou 10" + }, + "Fields": { + "Code": "Código" + } + }, + "CompleteFlow": { + "Description": "Completa/termina o fluxo como bem-sucedido" + }, + "CopyFile": { + "Description": "Copia um arquivo para a pasta de destino", + "Outputs": { + "1": "Arquivo copiado" + }, + "Fields": { + "InputFile": "Arquivo para copiar", + "InputFile-Help": "O arquivo a ser copiado. Se deixado em branco, o arquivo de trabalho será copiado.", + "InputFile-Placeholder": "Arquivo de trabalho", + "DestinationPath": "Pasta de destino", + "DestinationPath-Help": "A pasta para onde o arquivo será copiado.", + "DestinationFile": "Arquivo de destino", + "DestinationFile-Help": "O nome do arquivo para o qual o arquivo será copiado. Se vazio, o nome original do arquivo será utilizado.", + "CopyFolder": "Copiar pasta", + "CopyFolder-Help": "Se a estrutura de pastas relativa da biblioteca também deve ser copiada.", + "AdditionalFiles": "Arquivos adicionais", + "AdditionalFiles-Help": "Arquivos adicionais para copiar do diretório para o novo diretório.\nCada valor pode conter uma combinação de caminho literal válido e caracteres curinga (* e ?), mas não suporta expressões regulares.", + "AdditionalFilesFromOriginal": "Diretório original", + "AdditionalFilesFromOriginal-Help": "Se os arquivos adicionais devem ser copiados do diretório de trabalho ou do diretório original. Ative para o diretório original.", + "PreserverOriginalDates": "Preservar datas", + "PreserverOriginalDates-Help": "Se o horário de criação original e o horário da última gravação do arquivo de entrada original devem ser preservados." + } + }, + "DeleteSourceDirectory": { + "Label": "Excluir pasta de origem", + "Outputs": { + "1": "Pasta de origem excluída", + "2": "A pasta NÃO foi excluída" + }, + "Description": "Exclui a pasta de origem do arquivo da biblioteca original", + "Fields": { + "IfEmpty": "Se estiver vazia", + "IfEmpty-Help": "Excluir a pasta de origem somente se estiver vazia", + "IncludePatterns": "Incluir padrões", + "IncludePatterns-Help": "Opcional, se definido, somente arquivos correspondentes a esses padrões serão contados para ver se a pasta está vazia. Qualquer um desses padrões pode corresponder.", + "TopMostOnly": "Somente o mais alto", + "TopMostOnly-Help": "Quando ativado, somente a pasta que contém diretamente o arquivo será excluída, mantendo as pastas de nível superior intactas." + } + }, + "Executor": { + "Description": "Executa o seguinte processo no arquivo.\nSaída 1: O processo retornou o código de saída de sucesso\nSaída 2: O processo retornou um código de saída não bem-sucedido.", + "Outputs": { + "1": "O processo retornou sucesso", + "2": "O processo retornou falha" + }, + "Fields": { + "FileName": "Nome do arquivo", + "FileName-Help": "O nome do arquivo a ser executado", + "Arguments": "Argumentos", + "Arguments-Help": "Os argumentos a serem passados para o processo a ser executado", + "WorkingDirectory": "Pasta de trabalho", + "WorkingDirectory-Help": "A pasta de onde o processo será executado", + "SuccessCode": "Código de sucesso", + "SuccessCode-Help": "O código de saída do processo que indica que o processo foi bem-sucedido. Normalmente, isso deve ser 0.", + "Timeout": "Tempo limite", + "Timeout-Help": "Quanto tempo o processo pode ser executado antes de ser encerrado. Use 0 para não ter tempo limite.", + "Timeout-Suffix": "segundos", + "OutputVariable": "Variável de saída", + "OutputVariable-Help": "Um nome de variável opcional para armazenar a saída do processo", + "OutputErrorVariable": "Variável de saída de erro", + "OutputErrorVariable-Help": "Um nome de variável opcional para armazenar a saída de erro do processo" + } + }, + "FolderDateCompare": { + "Label": "Comparação de data de pasta", + "Description": "Verifica se a criação ou a hora da última gravação da pasta corresponde à restrição de data especificada.", + "Outputs": { + "1": "Corresponde à restrição de data.", + "2": "Não corresponde à restrição de data." + }, + "Fields": { + "Path": "Caminho", + "Path-Help": "O caminho para a pasta a ser verificada. Deixe em branco para verificar o arquivo de trabalho atual.\nSe um arquivo for especificado, a pasta que contém o arquivo será verificada.", + "Date": "Data", + "DateComparision": "Comparação" + } + }, + "FileDateCompare": { + "Description": "Verifica se a criação ou a hora da última gravação do arquivo corresponde à restrição de data especificada.", + "Outputs": { + "1": "Corresponde à restrição de data.", + "2": "Não corresponde à restrição de data." + }, + "Fields": { + "FileName": "Nome do arquivo", + "FileName-Help": "O arquivo a ser verificado. Deixe em branco para verificar o arquivo de trabalho atual.", + "Date": "Data", + "DateComparision": "Comparação" + } + }, + "FileExtension": { + "Description": "Verifica se o arquivo possui uma das extensões configuradas.\n\nSaída 1: Corresponde\nSaída 2: Não corresponde", + "Outputs": { + "1": "Correspondência de extensão", + "2": "A extensão não corresponde" + }, + "Fields": { + "Extensions": "Extensões", + "Extensions-Help": "Uma lista de extensões de arquivo sem diferenciação entre maiúsculas e minúsculas que serão correspondidas.\nSaída 1: Corresponde\nSaída 2: Não corresponde" + } + }, + "FileExists": { + "Description": "Verifica se um arquivo existe\n\nSaída 1: O arquivo existe\nSaída 2: O arquivo não existe", + "Outputs": { + "1": "O arquivo existe", + "2": "O arquivo não existe" + }, + "Fields": { + "FileName": "Nome do arquivo", + "FileName-Help": "O arquivo a ser verificado. Deixe em branco para verificar o arquivo de trabalho atual." + } + }, + "HasHardLinks": { + "Description": "Verifica se um arquivo possui links físicos ou não", + "Outputs": { + "1": "Links físicos detectados", + "2": "Nenhum link físico detectado" + }, + "Fields": { + "FileName": "Nome do arquivo", + "FileName-Help": "O arquivo a ser verificado. Deixe vazio para verificar o arquivo de trabalho atual.", + "Count": "Contar", + "Count-Help": "O número de links físicos necessários para chamar a saída 1." + } + }, + "Delete": { + "Description": "Exclui um arquivo ou pasta", + "Outputs": { + "1": "Arquivo excluído" + }, + "Fields": { + "FileName": "Caminho", + "FileName-Help": "Um caminho para um arquivo ou pasta a ser excluído.\n\nSe deixado em branco, o arquivo de trabalho atual será excluído." + } + }, + "FolderIterator": { + "Description": "Itera todos os arquivos em uma pasta específica e executa esses arquivos contra um subfluxo.", + "Outputs": { + "1": "Arquivos da pasta iterados" + }, + "Fields": { + "Flow": "Fluxo", + "Flow-Help": "O subfluxo para executar os arquivos.", + "Folder": "Pasta", + "Folder-Help": "A pasta cujos arquivos serão iterados.", + "Pattern": "Padrão", + "Pattern-Help": "Qualquer padrão opcional para limitar os arquivos para iteração, isso pode ser um padrão curinga começando com um `*` ou uma expressão regular.", + "Recursive": "Recursivo", + "Recursive-Help": "Se os arquivos em todas as subpastas também devem ser iterados ou se apenas os arquivos de nível superior devem ser iterados." + } + }, + "ListIterator": { + "Description": "Itera todas as strings em uma lista específica e executa essas strings contra um subfluxo.", + "Outputs": { + "1": "Lista iterada" + }, + "Fields": { + "Flow": "Fluxo", + "Flow-Help": "O subfluxo para executar as strings.", + "List": "Lista", + "List-Help": "Um nome de variável contendo a lista a ser iterada." + } + }, + "FailFlow": { + "Description": "Falha um fluxo imediatamente, útil se você quiser que um determinado caminho simplesmente falhe.", + "Fields": { + "Reason": "Razão", + "Reason-Help": "Uma razão opcional para registrar por que o fluxo falhou." + } + }, + "FileSize": { + "Description": "Verifica se o tamanho do arquivo corresponde aos parâmetros configurados. Os valores estão em megabytes.\n\nSaída 1: Corresponde\nSaída 2: Não corresponde", + "Outputs": { + "1": "Tamanho do arquivo dentro da faixa", + "2": "Tamanho do arquivo fora da faixa" + }, + "Fields": { + "Comparison": "Comparação", + "Lower": "Maior que", + "Lower-Suffix": "MB", + "Lower-Help": "O valor deve ser maior que este número de megabytes", + "Upper": "Menor que", + "Upper-Suffix": "MB", + "Upper-Help": "O valor deve ser menor que este número de megabytes. Deixe como 0 para não testar o limite superior." + } + }, + "FileSizeCompare": { + "Description": "Verifica se o tamanho do arquivo mudou em relação ao arquivo original.", + "Outputs": { + "1": "Menor que o original", + "2": "Mesma tamanho que o original", + "3": "Maior que o original" + } + }, + "FileSizeWithin": { + "Description": "Verifica se o novo tamanho do arquivo está dentro da faixa permitida do tamanho original do arquivo.", + "Value": "Valor", + "Value-Help": "A diferença permitida para o tamanho do arquivo, este valor pode ser tanto mais quanto menos essa diferença.", + "Outputs": { + "1": "O tamanho do arquivo está dentro da faixa permitida", + "2": "O tamanho do arquivo não está dentro da faixa permitida" + } + }, + "Function": { + "Label": "Função", + "Outputs": { + "1": "retornou 1", + "2": "retornou 2", + "3": "retornou 3", + "4": "retornou 4", + "5": "retornou 5", + "6": "retornou 6", + "7": "retornou 7", + "8": "retornou 8", + "9": "retornou 9", + "10": "retornou 10" + }, + "Fields": { + "Outputs": "Saídas", + "Template": "Modelo", + "Template-Help": "AVISO: Isso substituirá o que está no bloco de código pelo modelo que você selecionar.", + "Code": "Código", + "Code-Help": "retorne -1 para erro e parar o fluxo. retorne 0 para completar o fluxo. retorne 1 ou mais para que a saída desejada seja chamada." + } + }, + "GotoFlow": { + "Description": "Isso permite que você mude para um fluxo diferente para processamento. Este fluxo será encerrado e os parâmetros e o arquivo de trabalho serão passados para o novo fluxo.", + "Fields": { + "Flow": "Fluxo", + "UpdateFlowUsed": "Atualizar Fluxo", + "UpdateFlowUsed-Help": "Se o `fluxo` dos arquivos deve ser atualizado para referenciar este novo fluxo ou deixá-lo como o fluxo original." + } + }, + "Reprocess": { + "Description": "O elemento de fluxo permite que você reprocesse o arquivo de biblioteca original com um nó de processamento diferente.\n\n Se o mesmo nó de processamento for selecionado como o que está processando o arquivo atualmente, o fluxo falhará.", + "Fields": { + "Node": "Nó", + "Node-Help": "O nó de processamento para processar este arquivo." + } + }, + "IsFromLibrary": { + "Description": "Verifica se o arquivo que está sendo processado é da biblioteca especificada.", + "Fields": { + "Library": "Biblioteca", + "Library-Help": "A biblioteca a ser verificada." + }, + "Outputs": { + "1": "O arquivo é da biblioteca especificada.", + "2": "O arquivo não é da biblioteca especificada." + } + }, + "IsProcessingOnNode": { + "Description": "Verifica se o fluxo está atualmente processando em um nó de processamento especificado.", + "Fields": { + "Node": "Nó", + "Node-Help": "O nó de processamento a ser verificado." + }, + "Outputs": { + "1": "Está processando no nó", + "2": "Não está processando no nó" + } + }, + "IsDocker": { + "Description": "Determina se este fluxo está sendo executado no Docker", + "Outputs": { + "1": "Está executando no Docker", + "2": "Não está executando no Docker" + } + }, + "IsLinux": { + "Description": "Determina se este fluxo está sendo executado no Linux", + "Outputs": { + "1": "Está executando no Linux", + "2": "Não está executando no Linux" + } + }, + "IsMacOS": { + "Label": "É MacOS", + "Description": "Determina se este fluxo está sendo executado no MacOS", + "Outputs": { + "1": "Está executando no MacOS", + "2": "Não está executando no MacOS" + } + }, + "IsWindows": { + "Description": "Determina se este fluxo está sendo executado no Windows", + "Outputs": { + "1": "Está executando no Windows", + "2": "Não está executando no Windows" + } + }, + "Log": { + "Description": "Registra uma mensagem no log do fluxo", + "Outputs": { + "1": "Mensagem registrada" + }, + "Fields": { + "LogType": "Tipo", + "Message": "Mensagem" + } + }, + "Matches": { + "Description": "Compara um conjunto de valores e condições de correspondência para ver qual saída deve ser chamada", + "Fields": { + "MatchConditions": "", + "MatchConditionsKey": "Valor", + "MatchConditionsValue": "Expressão", + "MatchConditions-Help": "As correspondências a serem testadas para determinar qual saída deve ser chamada." + } + }, + "MatchesAll": { + "Description": "Compara um conjunto de valores e verifica se todas as condições correspondem.", + "Fields": { + "MatchConditions": "", + "MatchConditionsKey": "Valor", + "MatchConditionsValue": "Expressão", + "MatchConditionsHelp": "As condições a serem testadas, determinando qual saída deve ser chamada." + }, + "Outputs": { + "1": "Todas as condições correspondem", + "2": "Nem todas as condições correspondem" + } + }, + "MoveFolder": { + "Description": "Move uma pasta", + "Outputs": { + "1": "Pasta movida" + }, + "Fields": { + "SourcePath": "Fonte", + "SourcePath-Help": "A pasta a ser movida; se deixada em branco, o Arquivo de Trabalho será usado. Se não for uma pasta, o elemento de fluxo falhará.", + "DestinationPath": "Destino", + "DestinationPath-Help": "A pasta de destino para a qual a pasta de origem será movida.", + "CreateSubfolder": "Criar Subpasta", + "CreateSubfolder-Help": "Se uma subpasta com o nome da pasta de origem deve ser criada na pasta de destino." + } + }, + "MoveFile": { + "Description": "Move um arquivo para a pasta de destino", + "Outputs": { + "1": "Arquivo movido", + "2": "Arquivo movido, mas o arquivo original não pôde ser excluído" + }, + "Fields": { + "InputFile": "Arquivo para Mover", + "InputFile-Help": "O arquivo a ser movido; se deixado vazio, o arquivo de trabalho será movido.", + "InputFile-Placeholder": "Arquivo de Trabalho", + "DestinationPath": "Pasta de Destino", + "DestinationPath-Help": "A pasta para onde o arquivo será movido", + "DestinationFile": "Arquivo de Destino", + "DestinationFile-Help": "O nome do arquivo para o qual o arquivo será movido. Se vazio, o nome do arquivo original será usado.", + "MoveFolder": "Copiar Pasta", + "MoveFolder-Help": "Se a estrutura de pasta relativa da biblioteca também deve ser copiada", + "DeleteOriginal": "Excluir Original", + "DeleteOriginal-Help": "Se o arquivo original deve ser excluído; isso só acontecerá se o arquivo de trabalho for diferente do arquivo original.", + "AdditionalFiles": "Arquivos Adicionais", + "AdditionalFiles-Help": "Arquivos adicionais a serem movidos do diretório para o novo diretório.\nCada valor pode conter uma combinação de caminho literal válido e caracteres curinga (* e ?), mas não suporta expressões regulares.", + "AdditionalFilesFromOriginal": "Diretório Original", + "AdditionalFilesFromOriginal-Help": "Se os arquivos adicionais devem ser movidos do diretório de trabalho ou do diretório original. Ativar para diretório original.", + "PreserverOriginalDates": "Preservar Datas", + "PreserverOriginalDates-Help": "Se a hora de criação original e a hora da última modificação do arquivo de entrada original devem ser preservadas." + } + }, + "OlderThan": { + "Description": "Verifica se uma pasta é mais antiga do que o intervalo especificado", + "Outputs": { + "1": "O arquivo é mais antigo", + "2": "O arquivo não é mais antigo" + }, + "Fields": { + "Number": "Número", + "Unit": "Unidade", + "Date": "Data" + } + }, + "OriginalFile": { + "Description": "Define o arquivo atual no fluxo como o arquivo original que iniciou o fluxo", + "Outputs": { + "1": "Arquivo atual definido como arquivo original" + } + }, + "PatternMatch": { + "Description": "Testa o arquivo atual e o arquivo original com uma expressão regular.\n\nSaída 1: Corresponde à expressão\nSaída 2: Não corresponde", + "Outputs": { + "1": "Corresponde à expressão", + "2": "Não corresponde" + }, + "Fields": { + "Pattern": "Padrão", + "Pattern-Help": "Uma expressão regular, usando a especificação C# para expressões regulares." + } + }, + "PatternReplacer": { + "Label": "Substituição de Padrão de Nome de Arquivo", + "Description": "Permite fazer substituições no nome do arquivo. Pode usar expressões regulares para as substituições, ou substituições simples de strings.\n\nSaída 1: Substituição realizada\nSaída 2: Nenhuma substituição realizada", + "Outputs": { + "1": "Substituição realizada", + "2": "Nenhuma substituição realizada" + }, + "Fields": { + "Replacements": "Substituições", + "ReplacementsKey": "Padrão", + "ReplacementsValue": "Valor", + "UseWorkingFileName": "Usar Nome de Arquivo Atual", + "UseWorkingFileName-Help": "Se o nome do arquivo atual deve ser usado, ou se falso, o nome do arquivo original do arquivo de entrada será usado." + } + }, + "Random": { + "Label": "Aleatório", + "Description": "Escolhe uma saída aleatória", + "Fields": { + "Outputs": "Saídas", + "Outputs-Help": "O número de saídas que podem ser chamadas." + } + }, + "ReplaceOriginal": { + "Description": "Substitui o arquivo original pelo arquivo atual.\n\nSe a extensão for diferente no arquivo atual, o arquivo original será excluído e o arquivo atual será movido para o original com a nova extensão.\nPor exemplo, de Arquivo.avi para Arquivo.mkv", + "Outputs": { + "1": "Arquivo original substituído" + }, + "Fields": { + "PreserverOriginalDates": "Preservar Datas", + "PreserverOriginalDates-Help": "Se a data de criação e a última data de modificação do arquivo original devem ser preservadas." + } + }, + "Renamer": { + "Description": "Renomeia o arquivo atual.\nVariáveis podem ser usadas ao inserir a chave '{' no campo Padrão.", + "Outputs": { + "1": "Arquivo renomeado" + }, + "Fields": { + "Pattern": "Novo Nome", + "Pattern-Help": "O novo nome do arquivo. Pode usar variáveis. Qualquer () e '{}' vazio será removido.", + "DestinationPath": "Pasta de Destino", + "DestinationPath-Help": "Se o arquivo deve ser movido para outra pasta.", + "LogOnly": "Apenas Log", + "LogOnly-Help": "Ative se quiser apenas testar este elemento do fluxo sem realmente renomear o arquivo", + "CsvFile": "Arquivo CSV", + "CsvFile-Help": "Adiciona ao arquivo o nome original e o arquivo renomeado. Útil ao usar ''Apenas Log'' para testar a renomeação antes de modificar os arquivos." + } + }, + "SetVariable": { + "Label": "Definir uma Variável", + "Description": "Define uma variável no fluxo.", + "Outputs": { + "1": "Variável definida" + }, + "Fields": { + "Variable": "Variável", + "Variable-Help": "O nome da variável a ser definida", + "Value": "Valor", + "Value-Help": "O valor da variável a ser definida." + } + }, + "SetWorkingFile": { + "Label": "Definir o Arquivo Atual", + "Description": "Atualiza o arquivo atual com o especificado.", + "Outputs": { + "1": "Arquivo Atual Definido" + }, + "Fields": { + "File": "Arquivo", + "File-Description": "O caminho para o novo arquivo ou pasta atual.", + "DontDeletePrevious": "Não Excluir Anterior", + "DontDeletePrevious-Help": "Se o arquivo *temporário* anterior em curso não deve *ser* excluído.\nApenas arquivos temporários serão excluídos, arquivos criados por FileFlows no diretório temporário do executor." + } + }, + "Sleep": { + "Description": "Pausa o fluxo", + "Outputs": { + "1": "Fluxo retomado" + }, + "Fields": { + "Milliseconds": "Milissegundos", + "Milliseconds-Help": "Duração durante a qual o fluxo deve ser colocado em espera. Deve estar entre 1 milissegundo e 1 hora" + } + }, + "Touch": { + "Description": "Modifica um arquivo ou pasta e atualiza a data da última modificação para agora.", + "Outputs": { + "1": "Elemento modificado com sucesso" + }, + "Fields": { + "FileName": "Nome do Arquivo", + "FileName-Help": "Nome completo do arquivo ou pasta a ser modificado.\nSe deixado em branco, o arquivo atual será usado." + } + }, + "VariableMatch": { + "Description": "Teste se uma entrada corresponde a uma Variável armazenada", + "Fields": { + "Variable": "Variável", + "Variable-Help": "A variável a ser verificada", + "VariableName": "Variável", + "VariableName-Help": "A variável a ser verificada", + "Input": "Valor", + "Input-Help": "O valor a ser comparado com a variável." + }, + "Outputs": { + "1": "Entrada corresponde à variável", + "2": "Entrada não corresponde à variável" + } + }, + "WebRequest": { + "Description": "Permite enviar uma solicitação web", + "Outputs": { + "1": "Enviada com sucesso", + "2": "A solicitação retornou um código de status não bem-sucedido" + }, + "Fields": { + "Url": "URL", + "Url-Help": "A URL da solicitação", + "Method": "Método", + "Method-Help": "O método web a ser usado ao enviar esta solicitação", + "ContentType": "Tipo de Conteúdo", + "ContentType-Help": "O tipo de conteúdo da mensagem a ser enviada", + "Headers": "Cabeçalhos", + "Headers-Help": "Cabeçalhos opcionais a serem enviados com a solicitação", + "HeadersKey": "Chave", + "HeadersValue": "Valor", + "Body": "Corpo", + "Body-Help": "O corpo da solicitação a ser enviada. Variáveis podem ser usadas neste campo." + } + }, + "Unpack": { + "Description": "Permite descompactar um arquivo (zip, rar, tar, etc.)", + "Outputs": { + "1": "Arquivo descompactado" + }, + "Fields": { + "DestinationPath": "Pasta de Destino", + "DestinationPath-Help": "A pasta de destino onde descompactar o arquivo.", + "File": "Arquivo", + "File-Help": "O nome do arquivo a ser descompactado. Pode ser deixado em branco e, se assim for, o arquivo de trabalho atual será usado." + } + }, + "Zip": { + "Description": "Permite compactar a entrada", + "Outputs": { + "1": "Zip criado" + }, + "Fields": { + "DestinationPath": "Pasta de Destino", + "DestinationPath-Help": "A pasta de destino onde colocar o arquivo zip. Se em branco, o zip será colocado na raiz da biblioteca.", + "DestinationFile": "Arquivo de Destino", + "DestinationFile-Help": "O nome do arquivo do zip recém-criado. Se em branco, o nome do item será usado como o arquivo zip.", + "Path": "Caminho", + "Path-Help": "O caminho para o arquivo ou pasta a ser compactado. Se em branco, o arquivo de trabalho será compactado.", + "SetWorkingFile": "Definir Arquivo de Trabalho", + "SetWorkingFile-Help": "Se o zip recém-criado deve se tornar o novo arquivo de trabalho." + } + }, + "SevenZip": { + "Label": "7-Zip", + "Description": "Permite compactar a entrada em 7zip", + "Outputs": { + "1": "7zip criado" + }, + "Fields": { + "DestinationPath": "Pasta de Destino", + "DestinationPath-Help": "A pasta de destino onde colocar o arquivo 7zip. Se em branco, o 7zip será colocado na raiz da biblioteca.", + "DestinationFile": "Arquivo de Destino", + "DestinationFile-Help": "O nome do arquivo do 7zip recém-criado. Se em branco, o nome do item será usado como arquivo 7zip.", + "CompressionLevel": "Nível de Compressão", + "CompressionLevel-Help": "O nível de compressão a ser utilizado ao compactar.", + "CompressionMethod": "Método de Compressão", + "CompressionMethod-Help": "O método de compressão usado, LZMA2 é recomendado." + } + }, + "IfBoolean": { + "Description": "Testa se uma variável é verdadeira ou falsa", + "Outputs": { + "1": "Verdadeiro", + "2": "Falso" + }, + "Fields": { + "Variable": "Variável", + "Variable-Help": "O nome da variável a ser verificada" + } + }, + "IfString": { + "Description": "Testa se uma variável corresponde a uma string", + "Outputs": { + "1": "String correspondente 1", + "2": "String correspondente 2", + "3": "String correspondente 3", + "4": "String correspondente 4", + "5": "String correspondente 5", + "6": "String correspondente 6", + "7": "String correspondente 7", + "8": "String correspondente 8", + "9": "String correspondente 9", + "10": "String correspondente 10" + }, + "Fields": { + "Variable": "Variável", + "Variable-Help": "O nome da variável a ser verificada", + "Outputs": "Saídas", + "Outputs-Help": "Isso deve corresponder ao número de opções disponíveis", + "Options": "Opções", + "Options-Help": "A string a ser correspondida." + } + }, + "WriteText": { + "Description": "Escreve texto em um arquivo", + "Outputs": { + "1": "Texto escrito no arquivo" + }, + "Fields": { + "File": "Arquivo", + "File-Help": "O arquivo onde escrever o texto.", + "Text": "Texto", + "Text-Help": "O texto a ser escrito no arquivo. Se deixado em branco, o caminho completo do arquivo de trabalho atual será escrito." + } + } + } + } +} \ No newline at end of file diff --git a/ChecksumNodes/i18n/de.json b/ChecksumNodes/i18n/de.json new file mode 100644 index 00000000..22023289 --- /dev/null +++ b/ChecksumNodes/i18n/de.json @@ -0,0 +1,30 @@ +{ + "Flow": { + "Parts": { + "MD5Checksum": { + "Description": "Berechnet eine MD5-Prüfziffer der Arbeitsdatei und speichert sie in der Variablen \"MD5\" und in \"Checksum\".", + "Outputs": { + "1": "Prüfziffer in den Variablen \"MD5\" und \"Checksum\" gespeichert" + } + }, + "SHA1Checksum": { + "Description": "Berechnet eine SHA1-Prüfziffer der Arbeitsdatei und speichert sie in der Variablen \"SHA1\" und in \"Checksum\".", + "Outputs": { + "1": "Prüfziffer in den Variablen \"SHA1\" und \"Checksum\" gespeichert" + } + }, + "SHA256Checksum": { + "Description": "Berechnet eine SHA256-Prüfziffer der Arbeitsdatei und speichert sie in der Variablen \"SHA256\" und in \"Checksum\".", + "Outputs": { + "1": "Prüfziffer in den Variablen \"SHA256\" und \"Checksum\" gespeichert" + } + }, + "SHA512Checksum": { + "Description": "Berechnet eine SHA512-Prüfziffer der Arbeitsdatei und speichert sie in der Variablen \"SHA512\" und in \"Checksum\".", + "Outputs": { + "1": "Prüfziffer in den Variablen \"SHA512\" und \"Checksum\" gespeichert" + } + } + } + } +} diff --git a/ChecksumNodes/i18n/es.json b/ChecksumNodes/i18n/es.json new file mode 100644 index 00000000..817f4c29 --- /dev/null +++ b/ChecksumNodes/i18n/es.json @@ -0,0 +1,30 @@ +{ + "Flow": { + "Parts": { + "MD5Checksum": { + "Description": "Calcula una suma de verificación MD5 del archivo de trabajo y la almacena en la variable \"MD5\" y en \"Checksum\".", + "Outputs": { + "1": "Suma de verificación almacenada en las variables \"MD5\" y \"Checksum\"" + } + }, + "SHA1Checksum": { + "Description": "Calcula una suma de verificación SHA1 del archivo de trabajo y la almacena en la variable \"SHA1\" y en \"Checksum\".", + "Outputs": { + "1": "Suma de verificación almacenada en las variables \"SHA1\" y \"Checksum\"" + } + }, + "SHA256Checksum": { + "Description": "Calcula una suma de verificación SHA256 del archivo de trabajo y la almacena en la variable \"SHA256\" y en \"Checksum\".", + "Outputs": { + "1": "Suma de verificación almacenada en las variables \"SHA256\" y \"Checksum\"" + } + }, + "SHA512Checksum": { + "Description": "Calcula una suma de verificación SHA512 del archivo de trabajo y la almacena en la variable \"SHA512\" y en \"Checksum\".", + "Outputs": { + "1": "Suma de verificación almacenada en las variables \"SHA512\" y \"Checksum\"" + } + } + } + } +} diff --git a/ChecksumNodes/i18n/fr.json b/ChecksumNodes/i18n/fr.json new file mode 100644 index 00000000..b7038e42 --- /dev/null +++ b/ChecksumNodes/i18n/fr.json @@ -0,0 +1,30 @@ +{ + "Flow": { + "Parts": { + "MD5Checksum": { + "Description": "Calcule une somme de contrôle MD5 du fichier de travail et la stocke dans la variable \"MD5\" et dans \"Checksum\".", + "Outputs": { + "1": "Somme de contrôle stockée dans les variables \"MD5\" et \"Checksum\"" + } + }, + "SHA1Checksum": { + "Description": "Calcule une somme de contrôle SHA1 du fichier de travail et la stocke dans la variable \"SHA1\" et dans \"Checksum\".", + "Outputs": { + "1": "Somme de contrôle stockée dans les variables \"SHA1\" et \"Checksum\"" + } + }, + "SHA256Checksum": { + "Description": "Calcule une somme de contrôle SHA256 du fichier de travail et la stocke dans la variable \"SHA256\" et dans \"Checksum\".", + "Outputs": { + "1": "Somme de contrôle stockée dans les variables \"SHA256\" et \"Checksum\"" + } + }, + "SHA512Checksum": { + "Description": "Calcule une somme de contrôle SHA512 du fichier de travail et la stocke dans la variable \"SHA512\" et dans \"Checksum\".", + "Outputs": { + "1": "Somme de contrôle stockée dans les variables \"SHA512\" et \"Checksum\"" + } + } + } + } +} diff --git a/ChecksumNodes/i18n/pt.json b/ChecksumNodes/i18n/pt.json new file mode 100644 index 00000000..18a8caff --- /dev/null +++ b/ChecksumNodes/i18n/pt.json @@ -0,0 +1,30 @@ +{ + "Flow": { + "Parts": { + "MD5Checksum": { + "Description": "Calcula uma soma de verificação MD5 do arquivo de trabalho e a armazena na variável \"MD5\" e em \"Checksum\".", + "Outputs": { + "1": "Soma de verificação armazenada nas variáveis \"MD5\" e \"Checksum\"" + } + }, + "SHA1Checksum": { + "Description": "Calcula uma soma de verificação SHA1 do arquivo de trabalho e a armazena na variável \"SHA1\" e em \"Checksum\".", + "Outputs": { + "1": "Soma de verificação armazenada nas variáveis \"SHA1\" e \"Checksum\"" + } + }, + "SHA256Checksum": { + "Description": "Calcula uma soma de verificação SHA256 do arquivo de trabalho e a armazena na variável \"SHA256\" e em \"Checksum\".", + "Outputs": { + "1": "Soma de verificação armazenada nas variáveis \"SHA256\" e \"Checksum\"" + } + }, + "SHA512Checksum": { + "Description": "Calcula uma soma de verificação SHA512 do arquivo de trabalho e a armazena na variável \"SHA512\" e em \"Checksum\".", + "Outputs": { + "1": "Soma de verificação armazenada nas variáveis \"SHA512\" e \"Checksum\"" + } + } + } + } +} diff --git a/ComicNodes/i18n/de.json b/ComicNodes/i18n/de.json index f96599ec..2e991460 100644 --- a/ComicNodes/i18n/de.json +++ b/ComicNodes/i18n/de.json @@ -3,25 +3,52 @@ "Parts": { "ComicConverter": { "Outputs": { - "1": "Comic wurde konvertiert und als temporäre Datei gespeichert.", - "2": "Comic ist bereits im gewünschten Format" + "1": "Comic wurde konvertiert und als temporäre Datei gespeichert", + "2": "Comic war bereits im gewünschten Format" }, - "Description": "Konvertiert einen Comic in ein anderes Format.\n\nUnterstützt die Konvertierung von CBZ, CBR, CB7, PDF, GZ und BZ2", + "Description": "Konvertiert ein Comic in ein anderes Comicbuchformat.\n\nUnterstützt die Konvertierung von CBZ, CBR, CB7, PDF, GZ, BZ2", "Fields": { "Format": "Format", - "Format-Help": "Das Format, in das der Comic konvertiert werden soll." + "Format-Help": "Das Format, in das das Comic konvertiert werden soll", + "EnsureTopDirectory": "Oberstes Verzeichnis sicherstellen", + "EnsureTopDirectory-Help": "Stellt sicher, dass alle Dateien direkt im obersten Verzeichnis der Comicbuchdatei liegen, ohne Unterverzeichnisse.", + "DeleteNonPageImages": "Nicht-Seitenbilder löschen", + "DeleteNonPageImages-Help": "Löscht Bilder, die nicht einer Namensstruktur für Seiten folgen. D.h. sie enden nicht mit einer Zahl.", + "Codec": "Codec", + "Codec-Help": "Der Codec, um die Bilder zu speichern", + "Quality": "Qualität", + "Quality-Help": "Qualität der Comicbuchseiten, 0 für die meiste Kompression/schlechteste Qualität, 100 für beste Qualität", + "MaxWidth": "Maximale Breite", + "MaxWidth-Help": "Die maximale Breite für die Seiten, verwenden Sie 0 für keine Anpassungen oder um die Qualität mit der Höhe beizubehalten", + "MaxHeight": "Maximale Höhe", + "MaxHeight-Help": "Die maximale Höhe für die Seiten, verwenden Sie 0 für keine Anpassungen oder um die Qualität mit der Breite beizubehalten" } }, "ComicExtractor": { "Outputs": { - "1": "Comic wurde extrahiert." + "1": "Comic wurde extrahiert" }, - "Description": "Extrahiert alle Dateien aus einem Format und speichert sie in einem bestimmten Ordner.\n\nUnterstützt das Entpacken von CBZ, CBR, CB7, PDF, GZ und BZ2", + "Description": "Extrahiert alle Dateien aus einem Comicbuchformat und speichert sie in einen bestimmten Ordner.\n\nUnterstützt das Extrahieren von CBZ, CBR, CB7, PDF, GZ, BZ2", "Fields": { - "DestinationPath": "Zielverzeichnis", - "DestinationPath-Help": "Der Ordner in dem die extrahierten Dateien gespeichert werden sollen." + "DestinationPath": "Zielpfad", + "DestinationPath-Help": "Der Ordner, in dem die extrahierten Comicbuchdateien gespeichert werden sollen" + } + }, + "CreateComicInfo": { + "Description": "Analysiert den Pfad eines Comics und erstellt eine comicinfo.xml-Datei im Comicbucharchiv.", + "Fields": { + "Publisher": "Verlag", + "Publisher-Help": "Wenn das Comic in einem Verlagsverzeichnis ist, siehe Hilfe für weitere Informationen.", + "RenameFile": "Datei umbenennen", + "RenameFile-Help": "Ob die Datei in `Serie - Ausgabe - Titel.erweiterung` umbenannt werden soll", + "IssueDigits": "Ausgabenziffern", + "IssueDigits-Help": "Die Ausgabennummer wird mit führenden Nullen bis zu dieser Anzahl gepolstert.\nBeispiel: Für Ausgabe 1, wenn die Polsterung 3 ist, erscheint die Ausgabe als #001" + }, + "Outputs": { + "1": "ComicInfo zum Comicarchiv hinzugefügt", + "2": "ComicInfo bereits im Archiv" } } } } -} \ No newline at end of file +} diff --git a/ComicNodes/i18n/es.json b/ComicNodes/i18n/es.json new file mode 100644 index 00000000..df8cd224 --- /dev/null +++ b/ComicNodes/i18n/es.json @@ -0,0 +1,54 @@ +{ + "Flow": { + "Parts": { + "ComicConverter": { + "Outputs": { + "1": "El cómic fue convertido y guardado como archivo temporal", + "2": "El cómic ya estaba en el formato deseado" + }, + "Description": "Convierte un cómic a un formato diferente de cómic.\n\nSoporta la conversión de CBZ, CBR, CB7, PDF, GZ, BZ2", + "Fields": { + "Format": "Formato", + "Format-Help": "El formato al que convertir el cómic", + "EnsureTopDirectory": "Asegurar directorio superior", + "EnsureTopDirectory-Help": "Asegura que todos los archivos estén ubicados directamente dentro del directorio superior del archivo del cómic, sin subdirectorios presentes.", + "DeleteNonPageImages": "Eliminar imágenes no de página", + "DeleteNonPageImages-Help": "Elimina imágenes que no siguen una estructura de nombrado para las páginas. Es decir, no terminan con un número.", + "Codec": "Códec", + "Codec-Help": "El códec para guardar las imágenes como", + "Quality": "Calidad", + "Quality-Help": "Calidad de las páginas del cómic, 0 para la mayor compresión / peor calidad, 100 para la mejor calidad", + "MaxWidth": "Ancho máximo", + "MaxWidth-Help": "El ancho máximo para las páginas, usar 0 para no hacer ajustes o para mantener la calidad con la altura", + "MaxHeight": "Altura máxima", + "MaxHeight-Help": "La altura máxima para las páginas, usar 0 para no hacer ajustes o para mantener la calidad con el ancho" + } + }, + "ComicExtractor": { + "Outputs": { + "1": "El cómic fue extraído" + }, + "Description": "Extrae todos los archivos de un formato de cómic y los guarda en una carpeta específica.\n\nSoporta la extracción de CBZ, CBR, CB7, PDF, GZ, BZ2", + "Fields": { + "DestinationPath": "Ruta de destino", + "DestinationPath-Help": "La carpeta donde se guardarán los archivos extraídos del cómic" + } + }, + "CreateComicInfo": { + "Description": "Analiza la ruta de un cómic y crea un archivo comicinfo.xml dentro del archivo del cómic.", + "Fields": { + "Publisher": "Editor", + "Publisher-Help": "Si el cómic está en un directorio de editor, consulte la ayuda para obtener más información.", + "RenameFile": "Renombrar archivo", + "RenameFile-Help": "Si el archivo debe ser renombrado a `Serie - Número - Título.extensión`", + "IssueDigits": "Dígitos de la edición", + "IssueDigits-Help": "Se rellenará el número de la edición con ceros a la izquierda hasta esta cantidad.\nPor ejemplo, para la edición 1 si el relleno es 3, entonces la edición aparecerá como #001" + }, + "Outputs": { + "1": "ComicInfo agregado al archivo del cómic", + "2": "ComicInfo ya está en el archivo" + } + } + } + } +} diff --git a/ComicNodes/i18n/fr.json b/ComicNodes/i18n/fr.json new file mode 100644 index 00000000..65149ab6 --- /dev/null +++ b/ComicNodes/i18n/fr.json @@ -0,0 +1,54 @@ +{ + "Flow": { + "Parts": { + "ComicConverter": { + "Outputs": { + "1": "Le comic a été converti et enregistré en tant que fichier temporaire", + "2": "Le comic était déjà dans le format souhaité" + }, + "Description": "Convertit un comic dans un format différent de bande dessinée.\n\nPrend en charge la conversion depuis CBZ, CBR, CB7, PDF, GZ, BZ2", + "Fields": { + "Format": "Format", + "Format-Help": "Le format dans lequel convertir le comic", + "EnsureTopDirectory": "Assurer le répertoire principal", + "EnsureTopDirectory-Help": "S'assure que tous les fichiers se trouvent directement dans le répertoire principal du fichier comic, sans sous-répertoires présents.", + "DeleteNonPageImages": "Supprimer les images non de page", + "DeleteNonPageImages-Help": "Supprime les images qui ne suivent pas une structure de nommage pour les pages. C'est-à-dire, elles ne se terminent pas par un nombre.", + "Codec": "Codec", + "Codec-Help": "Le codec pour enregistrer les images sous", + "Quality": "Qualité", + "Quality-Help": "Qualité des pages du comic, 0 pour la compression maximale / la pire qualité, 100 pour la meilleure qualité", + "MaxWidth": "Largeur maximale", + "MaxWidth-Help": "La largeur maximale pour les pages, utiliser 0 pour ne pas faire d'ajustements ou pour maintenir la qualité avec la hauteur", + "MaxHeight": "Hauteur maximale", + "MaxHeight-Help": "La hauteur maximale pour les pages, utiliser 0 pour ne pas faire d'ajustements ou pour maintenir la qualité avec la largeur" + } + }, + "ComicExtractor": { + "Outputs": { + "1": "Le comic a été extrait" + }, + "Description": "Extrait tous les fichiers d'un format de bande dessinée et les enregistre dans un dossier spécifique.\n\nPrend en charge l'extraction de CBZ, CBR, CB7, PDF, GZ, BZ2", + "Fields": { + "DestinationPath": "Chemin de destination", + "DestinationPath-Help": "Le dossier où les fichiers du comic extrait seront enregistrés" + } + }, + "CreateComicInfo": { + "Description": "Analyse le chemin d'un comic et crée un fichier comicinfo.xml à l'intérieur de l'archive de bande dessinée.", + "Fields": { + "Publisher": "Éditeur", + "Publisher-Help": "Si le comic est dans un répertoire d'éditeur, consultez l'aide pour plus d'informations.", + "RenameFile": "Renommer le fichier", + "RenameFile-Help": "Si le fichier doit être renommé en `Série - Numéro - Titre.extension`", + "IssueDigits": "Chiffres de l'édition", + "IssueDigits-Help": "Remplira le numéro de l'édition avec des zéros devant jusqu'à ce montant.\nPar exemple, pour l'édition 1 si le remplissage est 3, alors l'édition apparaîtra comme #001" + }, + "Outputs": { + "1": "ComicInfo ajouté à l'archive de comic", + "2": "ComicInfo déjà dans l'archive" + } + } + } + } +} diff --git a/ComicNodes/i18n/pt.json b/ComicNodes/i18n/pt.json new file mode 100644 index 00000000..0f2fc0a0 --- /dev/null +++ b/ComicNodes/i18n/pt.json @@ -0,0 +1,54 @@ +{ + "Flow": { + "Parts": { + "ComicConverter": { + "Outputs": { + "1": "O comic foi convertido e salvo como um arquivo temporário", + "2": "O comic já estava no formato desejado" + }, + "Description": "Converte um comic para um formato diferente de quadrinhos.\n\nSuporta conversão de CBZ, CBR, CB7, PDF, GZ, BZ2", + "Fields": { + "Format": "Formato", + "Format-Help": "O formato para o qual converter o comic", + "EnsureTopDirectory": "Garantir Diretório Principal", + "EnsureTopDirectory-Help": "Garante que todos os arquivos estejam localizados diretamente dentro do diretório principal do arquivo de quadrinhos, sem subdiretórios presentes.", + "DeleteNonPageImages": "Excluir Imagens Não de Página", + "DeleteNonPageImages-Help": "Excluir imagens que não seguem uma estrutura de nomeação para páginas. Ou seja, não terminam com um número.", + "Codec": "Codec", + "Codec-Help": "O codec para salvar as imagens como", + "Quality": "Qualidade", + "Quality-Help": "Qualidade das páginas do quadrinho, 0 para a maior compressão/pior qualidade, 100 para a melhor qualidade", + "MaxWidth": "Largura Máxima", + "MaxWidth-Help": "A largura máxima para as páginas, use 0 para nenhuma alteração ou para manter a qualidade com a altura", + "MaxHeight": "Altura Máxima", + "MaxHeight-Help": "A altura máxima para as páginas, use 0 para nenhuma alteração ou para manter a qualidade com a largura" + } + }, + "ComicExtractor": { + "Outputs": { + "1": "O comic foi extraído" + }, + "Description": "Extrai todos os arquivos de um formato de quadrinhos e os salva em uma pasta específica.\n\nSuporta extração de CBZ, CBR, CB7, PDF, GZ, BZ2", + "Fields": { + "DestinationPath": "Caminho de Destino", + "DestinationPath-Help": "A pasta onde os arquivos de comic extraídos serão salvos" + } + }, + "CreateComicInfo": { + "Description": "Analisa o caminho de um comic e cria um arquivo comicinfo.xml dentro do arquivo de quadrinhos.", + "Fields": { + "Publisher": "Editor", + "Publisher-Help": "Se o comic estiver em um diretório de editor, consulte a ajuda para mais informações.", + "RenameFile": "Renomear Arquivo", + "RenameFile-Help": "Se o arquivo deve ser renomeado para `Série - Edição - Título.extensão`", + "IssueDigits": "Dígitos da Edição", + "IssueDigits-Help": "Preencherá o número da edição com zeros à frente até esse valor.\nPor exemplo, para a edição 1, se o preenchimento for 3, então a edição aparecerá como #001" + }, + "Outputs": { + "1": "ComicInfo adicionado ao arquivo de quadrinhos", + "2": "ComicInfo já está no arquivo" + } + } + } + } +} diff --git a/DiscordNodes/i18n/es.json b/DiscordNodes/i18n/es.json new file mode 100644 index 00000000..b1e8d125 --- /dev/null +++ b/DiscordNodes/i18n/es.json @@ -0,0 +1,30 @@ +{ + "Plugins": { + "DiscordNodes": { + "Description": "Un plugin que te permite enviar mensajes a un servidor de Discord.\n\nEl ID del Webhook y el token se pueden obtener de la URL del webhook\n https://discord.com/api/webhooks/[webhookid]/[webhooktoken]", + "Fields": { + "WebhookId": "ID del Webhook", + "WebhookToken": "Token del Webhook" + } + } + }, + "Flow": { + "Parts": { + "Discord": { + "Outputs": { + "1": "Mensaje de Discord enviado", + "2": "Error al enviar el mensaje de Discord" + }, + "Description": "Envía un mensaje a un servidor de Discord.", + "Fields": { + "Message": "Mensaje", + "Message-Help": "El mensaje a enviar al servidor de Discord", + "Title": "Título", + "Title-Help": "Un título opcional para enviar; si no se establece, el tipo de mensaje será el título.", + "MessageType": "Tipo", + "MessageType-Help": "El tipo de mensaje a enviar. El tipo básico será solo el mensaje sin título y sin color." + } + } + } + } +} diff --git a/DiscordNodes/i18n/fr.json b/DiscordNodes/i18n/fr.json new file mode 100644 index 00000000..a491b83e --- /dev/null +++ b/DiscordNodes/i18n/fr.json @@ -0,0 +1,30 @@ +{ + "Plugins": { + "DiscordNodes": { + "Description": "Un plugin qui vous permet d'envoyer des messages à un serveur Discord.\n\nL'ID du Webhook et le token peuvent être obtenus à partir de l'URL du webhook\n https://discord.com/api/webhooks/[webhookid]/[webhooktoken]", + "Fields": { + "WebhookId": "ID du Webhook", + "WebhookToken": "Token du Webhook" + } + } + }, + "Flow": { + "Parts": { + "Discord": { + "Outputs": { + "1": "Message Discord envoyé", + "2": "Échec de l'envoi du message Discord" + }, + "Description": "Envoie un message à un serveur Discord.", + "Fields": { + "Message": "Message", + "Message-Help": "Le message à envoyer au serveur Discord", + "Title": "Titre", + "Title-Help": "Un titre optionnel à envoyer; s'il n'est pas défini, le type de message sera le titre.", + "MessageType": "Type", + "MessageType-Help": "Le type de message à envoyer. Le type de base sera juste le message sans titre et sans couleur." + } + } + } + } +} diff --git a/DiscordNodes/i18n/pt.json b/DiscordNodes/i18n/pt.json new file mode 100644 index 00000000..cb9fcef3 --- /dev/null +++ b/DiscordNodes/i18n/pt.json @@ -0,0 +1,30 @@ +{ + "Plugins": { + "DiscordNodes": { + "Description": "Um plugin que permite enviar mensagens para um servidor Discord.\n\nO ID do Webhook e o token podem ser obtidos a partir da URL do webhook\n https://discord.com/api/webhooks/[webhookid]/[webhooktoken]", + "Fields": { + "WebhookId": "ID do Webhook", + "WebhookToken": "Token do Webhook" + } + } + }, + "Flow": { + "Parts": { + "Discord": { + "Outputs": { + "1": "Mensagem do Discord enviada", + "2": "Falha ao enviar a mensagem do Discord" + }, + "Description": "Envia uma mensagem para um servidor Discord.", + "Fields": { + "Message": "Mensagem", + "Message-Help": "A mensagem a ser enviada para o servidor Discord", + "Title": "Título", + "Title-Help": "Um título opcional a ser enviado; se não definido, o tipo de mensagem será o título.", + "MessageType": "Tipo", + "MessageType-Help": "O tipo de mensagem a ser enviada. O tipo básico será apenas a mensagem sem um título e sem coloração." + } + } + } + } +} diff --git a/EmailNodes/i18n/de.json b/EmailNodes/i18n/de.json new file mode 100644 index 00000000..2ab4042c --- /dev/null +++ b/EmailNodes/i18n/de.json @@ -0,0 +1,37 @@ +{ + "Plugins": { + "EmailNodes": { + "Fields": { + "SmtpServer": "SMTP-Server", + "SmtpServer-Help": "Die Adresse des SMTP-Servers, der zum Senden von E-Mails verwendet wird", + "SmtpPort": "SMTP-Port", + "SmtpPort-Help": "Der Port des SMTP-Servers, der zum Senden von E-Mails verwendet wird, Standard 25", + "SmtpUsername": "SMTP-Benutzername", + "SmtpUsername-Help": "Der Benutzername, der zur Authentifizierung am SMTP-Server verwendet wird", + "SmtpPassword": "SMTP-Passwort", + "SmtpPassword-Help": "Das Passwort, das zur Authentifizierung am SMTP-Server verwendet wird", + "Sender": "Absender", + "Sender-Help": "Die E-Mail-Adresse, von der E-Mails gesendet werden" + } + } + }, + "Flow": { + "Parts": { + "SendEmail": { + "Outputs": { + "1": "E-Mail ''{Subject}'' wurde gesendet", + "2": "E-Mail konnte nicht gesendet werden" + }, + "Description": "Sendet eine E-Mail über den konfigurierten SMTP-Server", + "Fields": { + "Recipients": "Empfänger", + "Recipients-Help": "Eine Liste von E-Mail-Adressen, an die die Nachricht gesendet werden soll", + "Subject": "Betreff", + "Subject-Help": "Der Betreff der zu sendenden E-Mail", + "Body": "Inhalt", + "Body-Help": "Der Inhalt der gesendeten E-Mail-Nachricht. Verwendet die [scriban](https://github.com/scriban/scriban) Template-Sprache" + } + } + } + } +} diff --git a/EmailNodes/i18n/es.json b/EmailNodes/i18n/es.json new file mode 100644 index 00000000..6c5fbfc5 --- /dev/null +++ b/EmailNodes/i18n/es.json @@ -0,0 +1,37 @@ +{ + "Plugins": { + "EmailNodes": { + "Fields": { + "SmtpServer": "Servidor SMTP", + "SmtpServer-Help": "La dirección del servidor SMTP utilizado para enviar correos electrónicos", + "SmtpPort": "Puerto SMTP", + "SmtpPort-Help": "El puerto del servidor SMTP utilizado para enviar correos electrónicos, por defecto 25", + "SmtpUsername": "Nombre de usuario SMTP", + "SmtpUsername-Help": "El nombre de usuario utilizado para autenticar contra el servidor SMTP", + "SmtpPassword": "Contraseña SMTP", + "SmtpPassword-Help": "La contraseña utilizada para autenticar contra el servidor SMTP", + "Sender": "Remitente", + "Sender-Help": "La dirección de correo electrónico desde la cual se enviarán los correos" + } + } + }, + "Flow": { + "Parts": { + "SendEmail": { + "Outputs": { + "1": "El correo electrónico ''{Subject}'' fue enviado", + "2": "Error al enviar el correo electrónico" + }, + "Description": "Envía un correo electrónico utilizando el servidor SMTP configurado", + "Fields": { + "Recipients": "Destinatarios", + "Recipients-Help": "Una lista de direcciones de correo electrónico a las que enviar el mensaje", + "Subject": "Asunto", + "Subject-Help": "El asunto del correo electrónico que se está configurando", + "Body": "Cuerpo", + "Body-Help": "El contenido del mensaje de correo electrónico que se está enviando. Utiliza el lenguaje de plantillas [scriban](https://github.com/scriban/scriban)" + } + } + } + } +} diff --git a/EmailNodes/i18n/fr.json b/EmailNodes/i18n/fr.json new file mode 100644 index 00000000..3e25b164 --- /dev/null +++ b/EmailNodes/i18n/fr.json @@ -0,0 +1,37 @@ +{ + "Plugins": { + "EmailNodes": { + "Fields": { + "SmtpServer": "Serveur SMTP", + "SmtpServer-Help": "L'adresse du serveur SMTP utilisé pour envoyer des e-mails", + "SmtpPort": "Port SMTP", + "SmtpPort-Help": "Le port du serveur SMTP utilisé pour envoyer des e-mails, par défaut 25", + "SmtpUsername": "Nom d'utilisateur SMTP", + "SmtpUsername-Help": "Le nom d'utilisateur utilisé pour s'authentifier auprès du serveur SMTP", + "SmtpPassword": "Mot de passe SMTP", + "SmtpPassword-Help": "Le mot de passe utilisé pour s'authentifier auprès du serveur SMTP", + "Sender": "Expéditeur", + "Sender-Help": "L'adresse e-mail à partir de laquelle les e-mails seront envoyés" + } + } + }, + "Flow": { + "Parts": { + "SendEmail": { + "Outputs": { + "1": "E-mail ''{Subject}'' envoyé", + "2": "Échec de l'envoi de l'e-mail" + }, + "Description": "Envoie un e-mail en utilisant le serveur SMTP configuré", + "Fields": { + "Recipients": "Destinataires", + "Recipients-Help": "Une liste d'adresses e-mail à qui envoyer le message", + "Subject": "Sujet", + "Subject-Help": "Le sujet de l'e-mail à envoyer", + "Body": "Corps", + "Body-Help": "Le contenu du message e-mail envoyé. Utilise le langage de templating [scriban](https://github.com/scriban/scriban)" + } + } + } + } +} diff --git a/EmailNodes/i18n/pt.json b/EmailNodes/i18n/pt.json new file mode 100644 index 00000000..95d3af0d --- /dev/null +++ b/EmailNodes/i18n/pt.json @@ -0,0 +1,37 @@ +{ + "Plugins": { + "EmailNodes": { + "Fields": { + "SmtpServer": "Servidor SMTP", + "SmtpServer-Help": "O endereço do servidor SMTP usado para enviar e-mails", + "SmtpPort": "Porta SMTP", + "SmtpPort-Help": "A porta do servidor SMTP usada para enviar e-mails, padrão 25", + "SmtpUsername": "Nome de usuário SMTP", + "SmtpUsername-Help": "O nome de usuário usado para autenticar no servidor SMTP", + "SmtpPassword": "Senha SMTP", + "SmtpPassword-Help": "A senha usada para autenticar no servidor SMTP", + "Sender": "Remetente", + "Sender-Help": "O endereço de e-mail de onde os e-mails serão enviados" + } + } + }, + "Flow": { + "Parts": { + "SendEmail": { + "Outputs": { + "1": "E-mail ''{Subject}'' foi enviado", + "2": "Falha ao enviar o e-mail" + }, + "Description": "Envia um e-mail usando o servidor SMTP configurado", + "Fields": { + "Recipients": "Destinatários", + "Recipients-Help": "Uma lista de endereços de e-mail para enviar a mensagem", + "Subject": "Assunto", + "Subject-Help": "O assunto do e-mail que está sendo definido", + "Body": "Corpo", + "Body-Help": "O conteúdo da mensagem de e-mail que está sendo enviada. Usa a linguagem de template [scriban](https://github.com/scriban/scriban)" + } + } + } + } +} diff --git a/Emby/i18n/de.json b/Emby/i18n/de.json new file mode 100644 index 00000000..7759a2df --- /dev/null +++ b/Emby/i18n/de.json @@ -0,0 +1,40 @@ +{ + "Plugins": { + "Emby": { + "Description": "Ein Plugin, das es Ihnen ermöglicht, mit Emby zu kommunizieren.", + "Fields": { + "ServerUrl": "Server", + "ServerUrl-Placeholder": "http://localhost:8096/", + "ServerUrl-Help": "Die URL des Emby-Servers", + "AccessToken": "Zugriffstoken", + "AccessToken-Help": "Ein Emby API-Zugriffstoken", + "Mapping": "Mapping", + "Mapping-Help": "Eine Liste von Mapping-Ersatz, die zu Pfaden in FileFlows mit den Pfaden verwendet wird, die in Emby verwendet werden.", + "MappingKey": "FileFlows", + "MappingValue": "Emby" + } + } + }, + "Flow": { + "Parts": { + "EmbyUpdater": { + "Outputs": { + "1": "Emby-Update-Anfrage gesendet", + "2": "Emby-Update-Anfrage konnte nicht gesendet werden" + }, + "Description": "Sendet eine Nachricht an einen Emby-Server, um die Bibliothek zu aktualisieren.", + "Fields": { + "ServerUrl": "Server", + "ServerUrl-Placeholder": "http://localhost:8096/", + "ServerUrl-Help": "Die URL des Emby-Servers.\nHinweis: Setzen Sie dies nur, wenn Sie die Server-URL der Plugin-Einstellungen überschreiben möchten.", + "AccessToken": "Zugriffstoken", + "AccessToken-Help": "Ein Emby API-Zugriffstoken.\nHinweis: Setzen Sie dies nur, wenn Sie das Zugriffstoken der Plugin-Einstellungen überschreiben möchten.", + "Mapping": "Mapping", + "Mapping-Help": "Eine Liste von Mapping-Ersatz, die zu Pfaden in FileFlows mit den Pfaden verwendet wird, die in Emby verwendet werden.\nHinweis: Dies wird nicht verwendet, es sei denn, die Server-URL wird hier ebenfalls gesetzt, andernfalls werden die Mappings der Plugin-Einstellungen verwendet.", + "MappingKey": "FileFlows", + "MappingValue": "Emby" + } + } + } + } +} diff --git a/Emby/i18n/es.json b/Emby/i18n/es.json new file mode 100644 index 00000000..23dc78ce --- /dev/null +++ b/Emby/i18n/es.json @@ -0,0 +1,40 @@ +{ + "Plugins": { + "Emby": { + "Description": "Un plugin que permite comunicarse con Emby.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:8096/", + "ServerUrl-Help": "La URL del servidor Emby", + "AccessToken": "Token de acceso", + "AccessToken-Help": "Un token de acceso de la API de Emby", + "Mapping": "Mapeo", + "Mapping-Help": "Una lista de reemplazos de mapeo utilizados para las rutas en FileFlows con las rutas que se utilizan en Emby.", + "MappingKey": "FileFlows", + "MappingValue": "Emby" + } + } + }, + "Flow": { + "Parts": { + "EmbyUpdater": { + "Outputs": { + "1": "Solicitud de actualización de Emby enviada", + "2": "Error al enviar la solicitud de actualización de Emby" + }, + "Description": "Envía un mensaje a un servidor Emby para actualizar la biblioteca.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:8096/", + "ServerUrl-Help": "La URL del servidor Emby.\nNota: Establezca esto solo si desea sobrescribir la URL del servidor en la configuración del plugin.", + "AccessToken": "Token de acceso", + "AccessToken-Help": "Un token de acceso de la API de Emby.\nNota: Establezca esto solo si desea sobrescribir el token de acceso en la configuración del plugin.", + "Mapping": "Mapeo", + "Mapping-Help": "Una lista de reemplazos de mapeo utilizados para las rutas en FileFlows con las rutas que se utilizan en Emby.\nNota: Esto no se utilizará a menos que la URL del servidor también se establezca aquí; de lo contrario, se utilizarán los mapeos de configuración del plugin.", + "MappingKey": "FileFlows", + "MappingValue": "Emby" + } + } + } + } +} diff --git a/Emby/i18n/fr.json b/Emby/i18n/fr.json new file mode 100644 index 00000000..24179ad9 --- /dev/null +++ b/Emby/i18n/fr.json @@ -0,0 +1,40 @@ +{ + "Plugins": { + "Emby": { + "Description": "Un plugin qui vous permet de communiquer avec Emby.", + "Fields": { + "ServerUrl": "Serveur", + "ServerUrl-Placeholder": "http://localhost:8096/", + "ServerUrl-Help": "L'URL du serveur Emby", + "AccessToken": "Token d'accès", + "AccessToken-Help": "Un token d'accès API Emby", + "Mapping": "Mapping", + "Mapping-Help": "Une liste de remplacements de mappage utilisés pour les chemins dans FileFlows avec les chemins utilisés dans Emby.", + "MappingKey": "FileFlows", + "MappingValue": "Emby" + } + } + }, + "Flow": { + "Parts": { + "EmbyUpdater": { + "Outputs": { + "1": "Demande de mise à jour Emby envoyée", + "2": "Échec de l'envoi de la demande de mise à jour Emby" + }, + "Description": "Envoie un message à un serveur Emby pour mettre à jour la bibliothèque.", + "Fields": { + "ServerUrl": "Serveur", + "ServerUrl-Placeholder": "http://localhost:8096/", + "ServerUrl-Help": "L'URL du serveur Emby.\nRemarque : Ne définissez cela que si vous souhaitez remplacer l'URL du serveur dans les paramètres du plugin.", + "AccessToken": "Token d'accès", + "AccessToken-Help": "Un token d'accès API Emby.\nRemarque : Ne définissez cela que si vous souhaitez remplacer le token d'accès dans les paramètres du plugin.", + "Mapping": "Mapping", + "Mapping-Help": "Une liste de remplacements de mappage utilisés pour les chemins dans FileFlows avec les chemins utilisés dans Emby.\nRemarque : Cela ne sera pas utilisé à moins que l'URL du serveur ne soit également définie ici ; sinon, les mappings des paramètres du plugin seront utilisés.", + "MappingKey": "FileFlows", + "MappingValue": "Emby" + } + } + } + } +} diff --git a/Emby/i18n/pt.json b/Emby/i18n/pt.json new file mode 100644 index 00000000..dcdec4f9 --- /dev/null +++ b/Emby/i18n/pt.json @@ -0,0 +1,40 @@ +{ + "Plugins": { + "Emby": { + "Description": "Um plugin que permite comunicar-se com Emby.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:8096/", + "ServerUrl-Help": "A URL do servidor Emby", + "AccessToken": "Token de Acesso", + "AccessToken-Help": "Um token de acesso da API Emby", + "Mapping": "Mapeamento", + "Mapping-Help": "Uma lista de substituições de mapeamento usadas para caminhos em FileFlows com os caminhos que são usados no Emby.", + "MappingKey": "FileFlows", + "MappingValue": "Emby" + } + } + }, + "Flow": { + "Parts": { + "EmbyUpdater": { + "Outputs": { + "1": "Solicitação de atualização do Emby enviada", + "2": "Falha ao enviar a solicitação de atualização do Emby" + }, + "Description": "Envia uma mensagem para um servidor Emby para atualizar a biblioteca.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:8096/", + "ServerUrl-Help": "A URL do servidor Emby.\nNota: Defina isso apenas se desejar sobrescrever a URL do servidor nas configurações do plugin.", + "AccessToken": "Token de Acesso", + "AccessToken-Help": "Um token de acesso da API Emby.\nNota: Defina isso apenas se desejar sobrescrever o token de acesso nas configurações do plugin.", + "Mapping": "Mapeamento", + "Mapping-Help": "Uma lista de substituições de mapeamento usadas para caminhos em FileFlows com os caminhos que são usados no Emby.\nNota: Isso não será usado a menos que a URL do servidor também seja definida aqui; caso contrário, os mapeamentos das configurações do plugin serão usados.", + "MappingKey": "FileFlows", + "MappingValue": "Emby" + } + } + } + } +} diff --git a/Gotify/i18n/de.json b/Gotify/i18n/de.json new file mode 100644 index 00000000..0784bb4f --- /dev/null +++ b/Gotify/i18n/de.json @@ -0,0 +1,33 @@ +{ + "Plugins": { + "Gotify": { + "Description": "Ein Plugin, das es Ihnen ermöglicht, Nachrichten an einen Gotify-Server zu senden.", + "Fields": { + "ServerUrl": "Server", + "ServerUrl-Placeholder": "http://gotify.lan", + "ServerUrl-Help": "Die URL des Gotify-Servers", + "AccessToken": "Zugriffstoken", + "AccessToken-Help": "Das Zugriffstoken, das verwendet wird, um mit dem Gotify-Server zu kommunizieren." + } + } + }, + "Flow": { + "Parts": { + "Gotify": { + "Outputs": { + "1": "Gotify-Nachricht gesendet", + "2": "Gotify-Nachricht konnte nicht gesendet werden" + }, + "Description": "Sendet eine Nachricht an einen Gotify-Server.", + "Fields": { + "Message": "Nachricht", + "Message-Help": "Die Nachricht, die an den Gotify-Server gesendet werden soll", + "Title": "Titel", + "Title-Help": "Ein optionaler Titel zum Senden.", + "Priority": "Priorität", + "Priority-Help": "Die Priorität der gesendeten Nachricht" + } + } + } + } +} diff --git a/Gotify/i18n/es.json b/Gotify/i18n/es.json new file mode 100644 index 00000000..9fb9fe2d --- /dev/null +++ b/Gotify/i18n/es.json @@ -0,0 +1,33 @@ +{ + "Plugins": { + "Gotify": { + "Description": "Un plugin que permite enviar mensajes a un servidor Gotify.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://gotify.lan", + "ServerUrl-Help": "La URL del servidor Gotify", + "AccessToken": "Token de acceso", + "AccessToken-Help": "El token de acceso utilizado para comunicarse con el servidor Gotify." + } + } + }, + "Flow": { + "Parts": { + "Gotify": { + "Outputs": { + "1": "Mensaje de Gotify enviado", + "2": "Error al enviar el mensaje de Gotify" + }, + "Description": "Envía un mensaje a un servidor Gotify.", + "Fields": { + "Message": "Mensaje", + "Message-Help": "El mensaje a enviar al servidor Gotify", + "Title": "Título", + "Title-Help": "Un título opcional para enviar.", + "Priority": "Prioridad", + "Priority-Help": "La prioridad del mensaje que se envía" + } + } + } + } +} diff --git a/Gotify/i18n/fr.json b/Gotify/i18n/fr.json new file mode 100644 index 00000000..c380edbe --- /dev/null +++ b/Gotify/i18n/fr.json @@ -0,0 +1,33 @@ +{ + "Plugins": { + "Gotify": { + "Description": "Un plugin qui vous permet d'envoyer des messages à un serveur Gotify.", + "Fields": { + "ServerUrl": "Serveur", + "ServerUrl-Placeholder": "http://gotify.lan", + "ServerUrl-Help": "L'URL du serveur Gotify", + "AccessToken": "Token d'accès", + "AccessToken-Help": "Le token d'accès utilisé pour communiquer avec le serveur Gotify." + } + } + }, + "Flow": { + "Parts": { + "Gotify": { + "Outputs": { + "1": "Message Gotify envoyé", + "2": "Échec de l'envoi du message Gotify" + }, + "Description": "Envoie un message à un serveur Gotify.", + "Fields": { + "Message": "Message", + "Message-Help": "Le message à envoyer au serveur Gotify", + "Title": "Titre", + "Title-Help": "Un titre optionnel à envoyer.", + "Priority": "Priorité", + "Priority-Help": "La priorité du message envoyé" + } + } + } + } +} diff --git a/Gotify/i18n/pt.json b/Gotify/i18n/pt.json new file mode 100644 index 00000000..65698781 --- /dev/null +++ b/Gotify/i18n/pt.json @@ -0,0 +1,33 @@ +{ + "Plugins": { + "Gotify": { + "Description": "Um plugin que permite enviar mensagens para um servidor Gotify.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://gotify.lan", + "ServerUrl-Help": "A URL do servidor Gotify", + "AccessToken": "Token de Acesso", + "AccessToken-Help": "O token de acesso usado para se comunicar com o servidor Gotify." + } + } + }, + "Flow": { + "Parts": { + "Gotify": { + "Outputs": { + "1": "Mensagem Gotify enviada", + "2": "Falha ao enviar a mensagem Gotify" + }, + "Description": "Envia uma mensagem para um servidor Gotify.", + "Fields": { + "Message": "Mensagem", + "Message-Help": "A mensagem a ser enviada para o servidor Gotify", + "Title": "Título", + "Title-Help": "Um título opcional a ser enviado.", + "Priority": "Prioridade", + "Priority-Help": "A prioridade da mensagem sendo enviada" + } + } + } + } +} diff --git a/ImageNodes/i18n/de.json b/ImageNodes/i18n/de.json new file mode 100644 index 00000000..2e829cf0 --- /dev/null +++ b/ImageNodes/i18n/de.json @@ -0,0 +1,111 @@ +{ + "Flow": { + "Parts": { + "AutoCropImage": { + "Outputs": { + "1": "Bild zugeschnitten, in neue temporäre Datei gespeichert", + "2": "Bild wurde nicht zugeschnitten" + }, + "Description": "Schneidet ein Bild automatisch zu", + "Fields": { + "Format": "Format", + "Format-Help": "Das Bildformat, in das konvertiert werden soll", + "Threshold": "Schwelle", + "Threshold-Help": "Schwelle für die entropische Dichte, Standardwert ist 50. Muss zwischen 0 und 100 liegen." + } + }, + "ImageFlip": { + "Outputs": { + "1": "Bild umgedreht, in neue temporäre Datei gespeichert" + }, + "Description": "Dreht ein Bild", + "Fields": { + "Format": "Format", + "Format-Help": "Das Bildformat, in das konvertiert werden soll", + "Vertical": "Vertikal", + "Vertical-Help": "Wenn aktiviert, wird das Bild vertikal gedreht, andernfalls horizontal" + } + }, + "ImageFile": { + "Outputs": { + "1": "Bilddatei" + }, + "Description": "Eine Bilddatei" + }, + "ImageFormat": { + "Outputs": { + "1": "Bild konvertiert, in neue temporäre Datei gespeichert", + "2": "Bild bereits im Zielformat" + }, + "Description": "Konvertiert ein Bild in das angegebene Format", + "Fields": { + "Format": "Format", + "Format-Help": "Das Bildformat, in das konvertiert werden soll" + } + }, + "ImageIsLandscape": { + "Outputs": { + "1": "Bild ist im Querformat", + "2": "Bild ist nicht im Querformat" + }, + "Description": "Testet, ob ein Bild im Querformat ist" + }, + "ImageIsPortrait": { + "Outputs": { + "1": "Bild ist im Hochformat", + "2": "Bild ist nicht im Hochformat" + }, + "Description": "Testet, ob ein Bild im Hochformat ist" + }, + "ImageResizer": { + "Outputs": { + "1": "Bild skaliert, in neue temporäre Datei gespeichert" + }, + "Description": "Ändert die Größe eines Bildes", + "Fields": { + "Format": "Format", + "Format-Help": "Das Bildformat, in das konvertiert werden soll", + "Width": "Breite", + "Height": "Höhe", + "Mode": "Modus", + "Mode-Help": "Der Modus, der beim Ändern der Größe des Bildes verwendet wird" + } + }, + "ImageRotate": { + "Outputs": { + "1": "Bild rotiert, in neue temporäre Datei gespeichert" + }, + "Description": "Rotiert ein Bild", + "Fields": { + "Format": "Format", + "Format-Help": "Das Bildformat, in das konvertiert werden soll", + "Angle": "Winkel", + "Angle-Help": "Der Rotationswinkel" + } + }, + "IsImage": { + "Description": "Überprüft, ob eine Datei eine Bilddatei ist.", + "Outputs": { + "1": "Datei ist eine erkannte Bilddatei", + "2": "Datei ist keine erkannte Bilddatei" + }, + "Fields": { + "File": "Datei", + "File-Placeholder": "Wenn leer, aktuelle Arbeitsdatei", + "File-Help": "Optionaler Pfad zur zu überprüfenden Datei; wenn leer gelassen, wird die aktuelle Arbeitsdatei überprüft." + } + }, + "PixelCheck": { + "Description": "Dieses Flusselement überprüft, ob die Gesamtpixelanzahl eines Bildes die angegebene Schwelle überschreitet.", + "Outputs": { + "1": "Bild hat gleich oder mehr Pixel als angegeben", + "2": "Bild hat weniger Pixel als die erforderliche Anzahl" + }, + "Fields": { + "Pixels": "Pixel", + "Pixels-Help": "Die Anzahl der Pixel, die ein Bild enthalten sollte. Dies wird berechnet, indem die Breite des Bildes mit seiner Höhe multipliziert wird." + } + } + } + } +} diff --git a/ImageNodes/i18n/es.json b/ImageNodes/i18n/es.json new file mode 100644 index 00000000..58e526ba --- /dev/null +++ b/ImageNodes/i18n/es.json @@ -0,0 +1,111 @@ +{ + "Flow": { + "Parts": { + "AutoCropImage": { + "Outputs": { + "1": "Imagen recortada, guardada en un nuevo archivo temporal", + "2": "La imagen no fue recortada" + }, + "Description": "Recorta una imagen automáticamente", + "Fields": { + "Format": "Formato", + "Format-Help": "El formato de imagen al que convertir", + "Threshold": "Umbral", + "Threshold-Help": "Umbral para la densidad entrópica, el valor predeterminado es 50. Debe estar entre 0 y 100." + } + }, + "ImageFlip": { + "Outputs": { + "1": "Imagen volteada, guardada en un nuevo archivo temporal" + }, + "Description": "Voltea una imagen", + "Fields": { + "Format": "Formato", + "Format-Help": "El formato de imagen al que convertir", + "Vertical": "Vertical", + "Vertical-Help": "Si se establece, la imagen se volteará verticalmente, de lo contrario horizontalmente" + } + }, + "ImageFile": { + "Outputs": { + "1": "Archivo de imagen" + }, + "Description": "Un archivo de imagen" + }, + "ImageFormat": { + "Outputs": { + "1": "Imagen convertida, guardada en un nuevo archivo temporal", + "2": "La imagen ya está en el formato de destino" + }, + "Description": "Convierte una imagen al formato especificado", + "Fields": { + "Format": "Formato", + "Format-Help": "El formato de imagen al que convertir" + } + }, + "ImageIsLandscape": { + "Outputs": { + "1": "La imagen está en paisaje", + "2": "La imagen no está en paisaje" + }, + "Description": "Prueba si una imagen está en paisaje" + }, + "ImageIsPortrait": { + "Outputs": { + "1": "La imagen está en retrato", + "2": "La imagen no está en retrato" + }, + "Description": "Prueba si una imagen está en retrato" + }, + "ImageResizer": { + "Outputs": { + "1": "Imagen redimensionada, guardada en un nuevo archivo temporal" + }, + "Description": "Redimensiona una imagen", + "Fields": { + "Format": "Formato", + "Format-Help": "El formato de imagen al que convertir", + "Width": "Ancho", + "Height": "Altura", + "Mode": "Modo", + "Mode-Help": "El modo a utilizar al redimensionar la imagen" + } + }, + "ImageRotate": { + "Outputs": { + "1": "Imagen rotada, guardada en un nuevo archivo temporal" + }, + "Description": "Rota una imagen", + "Fields": { + "Format": "Formato", + "Format-Help": "El formato de imagen al que convertir", + "Angle": "Ángulo", + "Angle-Help": "El ángulo de rotación" + } + }, + "IsImage": { + "Description": "Prueba si un archivo es un archivo de imagen.", + "Outputs": { + "1": "El archivo es un archivo de imagen reconocido", + "2": "El archivo no es un archivo de imagen reconocido" + }, + "Fields": { + "File": "Archivo", + "File-Placeholder": "Si está en blanco, archivo de trabajo actual", + "File-Help": "Ruta opcional al archivo a verificar; si se deja en blanco, se verificará el archivo de trabajo actual." + } + }, + "PixelCheck": { + "Description": "Este elemento de flujo verifica si el recuento total de píxeles de una imagen excede el umbral especificado.", + "Outputs": { + "1": "La imagen tiene igual o más píxeles que el especificado", + "2": "La imagen tiene menos píxeles que los requeridos" + }, + "Fields": { + "Pixels": "Píxeles", + "Pixels-Help": "El número de píxeles que debe contener una imagen. Esto se calcula multiplicando el ancho de la imagen por su altura." + } + } + } + } +} diff --git a/ImageNodes/i18n/fr.json b/ImageNodes/i18n/fr.json new file mode 100644 index 00000000..81226117 --- /dev/null +++ b/ImageNodes/i18n/fr.json @@ -0,0 +1,111 @@ +{ + "Flow": { + "Parts": { + "AutoCropImage": { + "Outputs": { + "1": "Image recadrée, enregistrée dans un nouveau fichier temporaire", + "2": "L'image n'a pas été recadrée" + }, + "Description": "Recadre automatiquement une image", + "Fields": { + "Format": "Format", + "Format-Help": "Le format d'image dans lequel convertir", + "Threshold": "Seuil", + "Threshold-Help": "Seuil pour la densité d'entropie, la valeur par défaut est 50. Doit être entre 0 et 100." + } + }, + "ImageFlip": { + "Outputs": { + "1": "Image retournée, enregistrée dans un nouveau fichier temporaire" + }, + "Description": "Retourne une image", + "Fields": { + "Format": "Format", + "Format-Help": "Le format d'image dans lequel convertir", + "Vertical": "Vertical", + "Vertical-Help": "Si activé, l'image sera retournée verticalement, sinon horizontalement" + } + }, + "ImageFile": { + "Outputs": { + "1": "Fichier image" + }, + "Description": "Un fichier image" + }, + "ImageFormat": { + "Outputs": { + "1": "Image convertie, enregistrée dans un nouveau fichier temporaire", + "2": "L'image est déjà au format cible" + }, + "Description": "Convertit une image au format spécifié", + "Fields": { + "Format": "Format", + "Format-Help": "Le format d'image dans lequel convertir" + } + }, + "ImageIsLandscape": { + "Outputs": { + "1": "L'image est en paysage", + "2": "L'image n'est pas en paysage" + }, + "Description": "Teste si une image est en paysage" + }, + "ImageIsPortrait": { + "Outputs": { + "1": "L'image est en portrait", + "2": "L'image n'est pas en portrait" + }, + "Description": "Teste si une image est en portrait" + }, + "ImageResizer": { + "Outputs": { + "1": "Image redimensionnée, enregistrée dans un nouveau fichier temporaire" + }, + "Description": "Redimensionne une image", + "Fields": { + "Format": "Format", + "Format-Help": "Le format d'image dans lequel convertir", + "Width": "Largeur", + "Height": "Hauteur", + "Mode": "Mode", + "Mode-Help": "Le mode à utiliser lors du redimensionnement de l'image" + } + }, + "ImageRotate": { + "Outputs": { + "1": "Image tournée, enregistrée dans un nouveau fichier temporaire" + }, + "Description": "Tourne une image", + "Fields": { + "Format": "Format", + "Format-Help": "Le format d'image dans lequel convertir", + "Angle": "Angle", + "Angle-Help": "L'angle de rotation" + } + }, + "IsImage": { + "Description": "Teste si un fichier est un fichier image.", + "Outputs": { + "1": "Le fichier est un fichier image reconnu", + "2": "Le fichier n'est pas un fichier image reconnu" + }, + "Fields": { + "File": "Fichier", + "File-Placeholder": "Si vide, fichier de travail actuel", + "File-Help": "Chemin optionnel vers le fichier à vérifier ; s'il est laissé vide, le fichier de travail actuel sera vérifié." + } + }, + "PixelCheck": { + "Description": "Cet élément de flux vérifie si le nombre total de pixels d'une image dépasse le seuil spécifié.", + "Outputs": { + "1": "L'image a autant ou plus de pixels que spécifié", + "2": "L'image a moins de pixels que requis" + }, + "Fields": { + "Pixels": "Pixels", + "Pixels-Help": "Le nombre de pixels qu'une image doit contenir. Cela est calculé en multipliant la largeur de l'image par sa hauteur." + } + } + } + } +} diff --git a/ImageNodes/i18n/pt.json b/ImageNodes/i18n/pt.json new file mode 100644 index 00000000..d6d61013 --- /dev/null +++ b/ImageNodes/i18n/pt.json @@ -0,0 +1,111 @@ +{ + "Flow": { + "Parts": { + "AutoCropImage": { + "Outputs": { + "1": "Imagem recortada, salva em um novo arquivo temporário", + "2": "A imagem não foi recortada" + }, + "Description": "Recorta uma imagem automaticamente", + "Fields": { + "Format": "Formato", + "Format-Help": "O formato da imagem para o qual converter", + "Threshold": "Limite", + "Threshold-Help": "Limite para a densidade entrópica, o valor padrão é 50. Deve estar entre 0 e 100." + } + }, + "ImageFlip": { + "Outputs": { + "1": "Imagem virada, salva em um novo arquivo temporário" + }, + "Description": "Vira uma imagem", + "Fields": { + "Format": "Formato", + "Format-Help": "O formato da imagem para o qual converter", + "Vertical": "Vertical", + "Vertical-Help": "Se ativado, a imagem será virada verticalmente, caso contrário horizontalmente" + } + }, + "ImageFile": { + "Outputs": { + "1": "Arquivo de imagem" + }, + "Description": "Um arquivo de imagem" + }, + "ImageFormat": { + "Outputs": { + "1": "Imagem convertida, salva em um novo arquivo temporário", + "2": "A imagem já está no formato de destino" + }, + "Description": "Converte uma imagem para o formato especificado", + "Fields": { + "Format": "Formato", + "Format-Help": "O formato da imagem para o qual converter" + } + }, + "ImageIsLandscape": { + "Outputs": { + "1": "A imagem está em paisagem", + "2": "A imagem não está em paisagem" + }, + "Description": "Verifica se uma imagem está em paisagem" + }, + "ImageIsPortrait": { + "Outputs": { + "1": "A imagem está em retrato", + "2": "A imagem não está em retrato" + }, + "Description": "Verifica se uma imagem está em retrato" + }, + "ImageResizer": { + "Outputs": { + "1": "Imagem redimensionada, salva em um novo arquivo temporário" + }, + "Description": "Redimensiona uma imagem", + "Fields": { + "Format": "Formato", + "Format-Help": "O formato da imagem para o qual converter", + "Width": "Largura", + "Height": "Altura", + "Mode": "Modo", + "Mode-Help": "O modo a ser usado ao redimensionar a imagem" + } + }, + "ImageRotate": { + "Outputs": { + "1": "Imagem rotacionada, salva em um novo arquivo temporário" + }, + "Description": "Rotaciona uma imagem", + "Fields": { + "Format": "Formato", + "Format-Help": "O formato da imagem para o qual converter", + "Angle": "Ângulo", + "Angle-Help": "O ângulo de rotação" + } + }, + "IsImage": { + "Description": "Verifica se um arquivo é um arquivo de imagem.", + "Outputs": { + "1": "O arquivo é um arquivo de imagem reconhecido", + "2": "O arquivo não é um arquivo de imagem reconhecido" + }, + "Fields": { + "File": "Arquivo", + "File-Placeholder": "Se em branco, arquivo de trabalho atual", + "File-Help": "Caminho opcional para o arquivo a ser verificado; se deixado em branco, o arquivo de trabalho atual será verificado." + } + }, + "PixelCheck": { + "Description": "Este elemento de fluxo verifica se a contagem total de pixels de uma imagem excede o limite especificado.", + "Outputs": { + "1": "A imagem tem igual ou mais pixels do que o especificado", + "2": "A imagem tem menos pixels do que o necessário" + }, + "Fields": { + "Pixels": "Pixels", + "Pixels-Help": "O número de pixels que uma imagem deve conter. Isso é calculado multiplicando a largura da imagem pela altura." + } + } + } + } +} diff --git a/MetaNodes/i18n/de.json b/MetaNodes/i18n/de.json new file mode 100644 index 00000000..97ec7a4a --- /dev/null +++ b/MetaNodes/i18n/de.json @@ -0,0 +1,78 @@ +{ + "Flow": { + "Parts": { + "GenreMatches": { + "Description": "Vergleicht die Genre-Metadaten mit dem angegebenen Genre(s).", + "Outputs": { + "1": "Genre stimmt überein", + "2": "Genre stimmt nicht überein" + }, + "Fields": { + "Genres": "Genres", + "MatchAll": "Alle übereinstimmen", + "MatchAll-Help": "Wenn alle ausgewählten Genres in den Metadaten erscheinen müssen, andernfalls muss mindestens eines erscheinen" + } + }, + "MovieLookup": { + "Description": "Durchführt eine Suche auf TheMovieDB.org nach einem Film.\nSpeichert die Metadaten in der Variablen 'MovieInfo'.", + "Outputs": { + "1": "Film gefunden", + "2": "Film NICHT gefunden" + }, + "Fields": { + "UseFolderName": "Ordnernamen verwenden", + "UseFolderName-Help": "Ob der Ordnername anstelle des Dateinamens verwendet werden soll." + } + }, + "MovieRenamer": { + "Description": "Bennant die Arbeitsdatei mithilfe der in 'MovieInfo' gespeicherten Metadaten um.\nHinweis: MovieLookup sollte vor diesem Flusselement im Fluss ausgeführt werden, damit es funktioniert.\n\nAusgabe 1: Datei wurde umbenannt\nAusgabe 2: Datei konnte nicht umbenannt werden", + "Fields": { + "Pattern": "Muster", + "Pattern-Help": "Das Muster, das zum Umbenennen des Ordners verwendet werden soll. '{Title}', '{Year}', '{Extension}'.", + "DestinationPath": "Zielpfad", + "DestinationPath-Help": "Ob die Datei in ein anderes Verzeichnis verschoben werden soll.", + "LogOnly": "Nur protokollieren", + "LogOnly-Help": "Aktivieren, wenn Sie dieses Flusselement nur testen möchten, ohne dass die Datei tatsächlich umbenannt wird" + } + }, + "MusicMeta": { + "Description": "Lädt die Metadaten einer Musikdatei in die Flussvariablen." + }, + "NfoFileCreator": { + "Description": "Erstellt eine Kodi NFO-Datei aus zuvor geladenen Metadaten.", + "Fields": { + "DestinationPath": "Zielordner", + "DestinationPath-Help": "Der Ordner, in dem die NFO-Datei erstellt wird.\nWenn leer, wird sie im gleichen Verzeichnis wie die Originaldatei erstellt.", + "DestinationFile": "Ziel-Datei", + "DestinationFile-Help": "Der Dateiname der neuen NFO-Datei. Wenn leer, wird der ursprüngliche Dateiname mit der Erweiterung auf `.nfo` geändert" + }, + "Outputs": { + "1": "NFO-Datei erstellt", + "2": "NFO konnte nicht erstellt werden" + } + }, + "TVShowLookup": { + "Description": "Durchführt eine Suche auf TheMovieDB.org nach einer TV-Show.\nSpeichert die Metadaten in der Variablen 'TVShowInfo'.", + "Outputs": { + "1": "TV-Show gefunden", + "2": "TV-Show NICHT gefunden" + }, + "Fields": { + "UseFolderName": "Ordnernamen verwenden", + "UseFolderName-Help": "Ob der Ordnername anstelle des Dateinamens verwendet werden soll.\n\nHinweis: Wenn der Ordner mit Staffel oder Specials beginnt, wird der übergeordnete Ordner verwendet." + } + }, + "TVEpisodeLookup": { + "Description": "Durchführt eine Suche auf TheMovieDB.org nach einer TV-Episode.", + "Outputs": { + "1": "TV-Episode gefunden", + "2": "TV-Episode NICHT gefunden" + }, + "Fields": { + "UseFolderName": "Ordnernamen verwenden", + "UseFolderName-Help": "Ob der Ordnername anstelle des Dateinamens verwendet werden soll.\n\nHinweis: Wenn der Ordner mit Staffel oder Specials beginnt, wird der übergeordnete Ordner verwendet." + } + } + } + } +} diff --git a/MetaNodes/i18n/es.json b/MetaNodes/i18n/es.json new file mode 100644 index 00000000..25bb27fe --- /dev/null +++ b/MetaNodes/i18n/es.json @@ -0,0 +1,78 @@ +{ + "Flow": { + "Parts": { + "GenreMatches": { + "Description": "Coincide con los metadatos de género contra el o los géneros especificados.", + "Outputs": { + "1": "Coincidencia de género", + "2": "El género no coincide" + }, + "Fields": { + "Genres": "Géneros", + "MatchAll": "Coincidir Todos", + "MatchAll-Help": "Si todos los géneros seleccionados deben aparecer en los metadatos, de lo contrario, cualquiera debe aparecer" + } + }, + "MovieLookup": { + "Description": "Realiza una búsqueda en TheMovieDB.org para una película.\nAlmacena los metadatos en la variable 'MovieInfo'.", + "Outputs": { + "1": "Película encontrada", + "2": "Película NO encontrada" + }, + "Fields": { + "UseFolderName": "Usar Nombre de Carpeta", + "UseFolderName-Help": "Si se debe usar el nombre de la carpeta en lugar del nombre del archivo." + } + }, + "MovieRenamer": { + "Description": "Renombra el archivo de trabajo usando los metadatos almacenados en 'MovieInfo'.\nNota: MovieLookup debe ejecutarse en el flujo antes de este elemento de flujo para que funcione.\n\nSalida 1: Archivo fue renombrado\nSalida 2: No se pudo renombrar el archivo", + "Fields": { + "Pattern": "Patrón", + "Pattern-Help": "El patrón a usar para renombrar la carpeta. '{Title}', '{Year}', '{Extension}'.", + "DestinationPath": "Ruta de Destino", + "DestinationPath-Help": "Si el archivo debe moverse a un directorio diferente.", + "LogOnly": "Solo Registrar", + "LogOnly-Help": "Actívelo si solo desea probar este elemento de flujo sin que realmente renombre el archivo" + } + }, + "MusicMeta": { + "Description": "Carga los metadatos de un archivo de música en las variables del flujo." + }, + "NfoFileCreator": { + "Description": "Crea un archivo NFO de Kodi a partir de metadatos previamente cargados.", + "Fields": { + "DestinationPath": "Carpeta de Destino", + "DestinationPath-Help": "La carpeta donde se creará el archivo NFO.\nSi está vacío, se creará en el mismo directorio que el archivo original.", + "DestinationFile": "Archivo de Destino", + "DestinationFile-Help": "El nombre del nuevo archivo NFO. Si está vacío, se usará el nombre del archivo original con la extensión cambiada a `.nfo`" + }, + "Outputs": { + "1": "Archivo NFO creado", + "2": "No se pudo crear el NFO" + } + }, + "TVShowLookup": { + "Description": "Realiza una búsqueda en TheMovieDB.org para un programa de TV.\nAlmacena los metadatos en la variable 'TVShowInfo'.", + "Outputs": { + "1": "Programa de TV encontrado", + "2": "Programa de TV NO encontrado" + }, + "Fields": { + "UseFolderName": "Usar Nombre de Carpeta", + "UseFolderName-Help": "Si se debe usar el nombre de la carpeta en lugar del nombre del archivo.\n\nNota: si la carpeta comienza con Temporada o Especiales, se utilizará la carpeta principal." + } + }, + "TVEpisodeLookup": { + "Description": "Realiza una búsqueda en TheMovieDB.org para un episodio de TV.", + "Outputs": { + "1": "Episodio de TV encontrado", + "2": "Episodio de TV NO encontrado" + }, + "Fields": { + "UseFolderName": "Usar Nombre de Carpeta", + "UseFolderName-Help": "Si se debe usar el nombre de la carpeta en lugar del nombre del archivo.\n\nNota: si la carpeta comienza con Temporada o Especiales, se utilizará la carpeta principal." + } + } + } + } +} diff --git a/MetaNodes/i18n/fr.json b/MetaNodes/i18n/fr.json new file mode 100644 index 00000000..64df46c2 --- /dev/null +++ b/MetaNodes/i18n/fr.json @@ -0,0 +1,78 @@ +{ + "Flow": { + "Parts": { + "GenreMatches": { + "Description": "Compare les métadonnées de genre avec le(s) genre(s) spécifié(s).", + "Outputs": { + "1": "Correspondance de genre", + "2": "Le genre ne correspond pas" + }, + "Fields": { + "Genres": "Genres", + "MatchAll": "Correspondre à tous", + "MatchAll-Help": "Si tous les genres sélectionnés doivent apparaître dans les métadonnées, sinon, n'importe quel genre doit apparaître" + } + }, + "MovieLookup": { + "Description": "Effectue une recherche sur TheMovieDB.org pour un film.\nStocke les métadonnées dans la variable 'MovieInfo'.", + "Outputs": { + "1": "Film trouvé", + "2": "Film NON trouvé" + }, + "Fields": { + "UseFolderName": "Utiliser le nom du dossier", + "UseFolderName-Help": "Si le nom du dossier doit être utilisé au lieu du nom de fichier." + } + }, + "MovieRenamer": { + "Description": "Renomme le fichier de travail en utilisant les métadonnées stockées dans 'MovieInfo'.\nRemarque : MovieLookup doit être exécuté avant cet élément de flux pour que cela fonctionne.\n\nSortie 1 : Fichier renommé\nSortie 2 : Impossible de renommer le fichier", + "Fields": { + "Pattern": "Modèle", + "Pattern-Help": "Le modèle à utiliser pour renommer le dossier. '{Title}', '{Year}', '{Extension}'.", + "DestinationPath": "Chemin de destination", + "DestinationPath-Help": "Si le fichier doit être déplacé vers un autre répertoire.", + "LogOnly": "Seulement enregistrer", + "LogOnly-Help": "Activez-le si vous souhaitez simplement tester cet élément de flux sans que le fichier soit réellement renommé" + } + }, + "MusicMeta": { + "Description": "Charge les métadonnées d'un fichier musical dans les variables de flux." + }, + "NfoFileCreator": { + "Description": "Crée un fichier NFO Kodi à partir des métadonnées précédemment chargées.", + "Fields": { + "DestinationPath": "Dossier de destination", + "DestinationPath-Help": "Le dossier où le fichier NFO sera créé.\nS'il est vide, il sera créé dans le même répertoire que le fichier d'origine.", + "DestinationFile": "Fichier de destination", + "DestinationFile-Help": "Le nom du nouveau fichier NFO. S'il est vide, le nom du fichier d'origine sera utilisé avec l'extension changée en `.nfo`" + }, + "Outputs": { + "1": "Fichier NFO créé", + "2": "Impossible de créer le NFO" + } + }, + "TVShowLookup": { + "Description": "Effectue une recherche sur TheMovieDB.org pour une émission de télévision.\nStocke les métadonnées dans la variable 'TVShowInfo'.", + "Outputs": { + "1": "Émission de télévision trouvée", + "2": "Émission de télévision NON trouvée" + }, + "Fields": { + "UseFolderName": "Utiliser le nom du dossier", + "UseFolderName-Help": "Si le nom du dossier doit être utilisé au lieu du nom de fichier.\n\nRemarque : si le dossier commence par Saison ou Spéciaux, le dossier parent sera utilisé." + } + }, + "TVEpisodeLookup": { + "Description": "Effectue une recherche sur TheMovieDB.org pour un épisode de télévision.", + "Outputs": { + "1": "Épisode de télévision trouvé", + "2": "Épisode de télévision NON trouvé" + }, + "Fields": { + "UseFolderName": "Utiliser le nom du dossier", + "UseFolderName-Help": "Si le nom du dossier doit être utilisé au lieu du nom de fichier.\n\nRemarque : si le dossier commence par Saison ou Spéciaux, le dossier parent sera utilisé." + } + } + } + } +} diff --git a/MetaNodes/i18n/pt.json b/MetaNodes/i18n/pt.json new file mode 100644 index 00000000..a6cb4a84 --- /dev/null +++ b/MetaNodes/i18n/pt.json @@ -0,0 +1,78 @@ +{ + "Flow": { + "Parts": { + "GenreMatches": { + "Description": "Compara os metadados de gênero com o(s) gênero(s) especificado(s).", + "Outputs": { + "1": "Correspondência de gênero", + "2": "O gênero não corresponde" + }, + "Fields": { + "Genres": "Gêneros", + "MatchAll": "Corresponder Todos", + "MatchAll-Help": "Se todos os gêneros selecionados devem aparecer nos metadados, caso contrário, qualquer um deve aparecer" + } + }, + "MovieLookup": { + "Description": "Realiza uma busca no TheMovieDB.org por um filme.\nArmazena os metadados na variável 'MovieInfo'.", + "Outputs": { + "1": "Filme encontrado", + "2": "Filme NÃO encontrado" + }, + "Fields": { + "UseFolderName": "Usar Nome da Pasta", + "UseFolderName-Help": "Se o nome da pasta deve ser usado em vez do nome do arquivo." + } + }, + "MovieRenamer": { + "Description": "Renomeia o arquivo de trabalho usando os metadados armazenados em 'MovieInfo'.\nNota: MovieLookup deve ser executado neste fluxo antes deste elemento de fluxo para funcionar.\n\nSaída 1: Arquivo foi renomeado\nSaída 2: Não foi possível renomear o arquivo", + "Fields": { + "Pattern": "Padrão", + "Pattern-Help": "O padrão a ser usado para renomear a pasta. '{Title}', '{Year}', '{Extension}'.", + "DestinationPath": "Caminho de Destino", + "DestinationPath-Help": "Se o arquivo deve ser movido para um diretório diferente.", + "LogOnly": "Apenas Registrar", + "LogOnly-Help": "Ative se você apenas quiser testar este elemento de fluxo sem que o arquivo seja realmente renomeado" + } + }, + "MusicMeta": { + "Description": "Carrega os metadados de um arquivo de música nas variáveis de fluxo." + }, + "NfoFileCreator": { + "Description": "Cria um arquivo NFO do Kodi a partir de metadados previamente carregados.", + "Fields": { + "DestinationPath": "Pasta de Destino", + "DestinationPath-Help": "A pasta onde o arquivo NFO será criado.\nSe estiver vazio, será criado no mesmo diretório que o arquivo original.", + "DestinationFile": "Arquivo de Destino", + "DestinationFile-Help": "O nome do novo arquivo NFO. Se estiver vazio, o nome do arquivo original será usado com a extensão alterada para `.nfo`" + }, + "Outputs": { + "1": "Arquivo NFO criado", + "2": "Não foi possível criar o NFO" + } + }, + "TVShowLookup": { + "Description": "Realiza uma busca no TheMovieDB.org por um programa de TV.\nArmazena os metadados na variável 'TVShowInfo'.", + "Outputs": { + "1": "Programa de TV encontrado", + "2": "Programa de TV NÃO encontrado" + }, + "Fields": { + "UseFolderName": "Usar Nome da Pasta", + "UseFolderName-Help": "Se o nome da pasta deve ser usado em vez do nome do arquivo.\n\nNota: se a pasta começar com Temporada ou Especiais, a pasta principal será usada." + } + }, + "TVEpisodeLookup": { + "Description": "Realiza uma busca no TheMovieDB.org por um episódio de TV.", + "Outputs": { + "1": "Episódio de TV encontrado", + "2": "Episódio de TV NÃO encontrado" + }, + "Fields": { + "UseFolderName": "Usar Nome da Pasta", + "UseFolderName-Help": "Se o nome da pasta deve ser usado em vez do nome do arquivo.\n\nNota: se a pasta começar com Temporada ou Especiais, a pasta principal será usada." + } + } + } + } +} diff --git a/Nextcloud/i18n/de.json b/Nextcloud/i18n/de.json new file mode 100644 index 00000000..e8f999fe --- /dev/null +++ b/Nextcloud/i18n/de.json @@ -0,0 +1,32 @@ +{ + "Plugins": { + "Nextcloud": { + "Description": "Ein Plugin, das es Ihnen ermöglicht, Dateien zu Nextcloud hochzuladen.", + "Fields": { + "Url": "URL", + "Url-Help": "Die URL des Nextcloud-Servers", + "Username": "Benutzername", + "Username-Help": "Der Benutzername des Benutzers, zu dem hochgeladen werden soll.", + "Password": "Passwort", + "Password-Help": "Das anwendungsspezifische Passwort, das Sie für FileFlows für diesen Nextcloud-Benutzer erstellt haben." + } + } + }, + "Flow": { + "Parts": { + "UploadToNextcloud": { + "Outputs": { + "1": "Wurde erfolgreich nach Nextcloud hochgeladen", + "2": "Fehler beim Hochladen zu Nextcloud" + }, + "Description": "Lädt eine Datei nach Nextcloud hoch", + "Fields": { + "File": "Datei", + "File-Help": "Die Datei, die hochgeladen werden soll. Leer lassen, um die aktuelle Arbeitsdatei zu verwenden.", + "DestinationPath": "Ziel", + "DestinationPath-Help": "Der Speicherort und der Dateiname, d.h. der vollständige Pfad, der Datei in Nextcloud." + } + } + } + } +} diff --git a/Nextcloud/i18n/es.json b/Nextcloud/i18n/es.json new file mode 100644 index 00000000..8daebc76 --- /dev/null +++ b/Nextcloud/i18n/es.json @@ -0,0 +1,32 @@ +{ + "Plugins": { + "Nextcloud": { + "Description": "Un complemento que te permite subir archivos a Nextcloud.", + "Fields": { + "Url": "URL", + "Url-Help": "La URL del servidor Nextcloud", + "Username": "Nombre de usuario", + "Username-Help": "El nombre de usuario del usuario al que se va a subir.", + "Password": "Contraseña", + "Password-Help": "La contraseña específica de la aplicación que creaste para FileFlows para este usuario de Nextcloud." + } + } + }, + "Flow": { + "Parts": { + "UploadToNextcloud": { + "Outputs": { + "1": "Se subió correctamente a Nextcloud", + "2": "Error al subir a Nextcloud" + }, + "Description": "Sube un archivo a Nextcloud", + "Fields": { + "File": "Archivo", + "File-Help": "El archivo a subir, deja vacío para usar el archivo de trabajo actual.", + "DestinationPath": "Destino", + "DestinationPath-Help": "La ubicación y el nombre del archivo, es decir, la ruta completa, del archivo en Nextcloud." + } + } + } + } +} diff --git a/Nextcloud/i18n/fr.json b/Nextcloud/i18n/fr.json new file mode 100644 index 00000000..658c7830 --- /dev/null +++ b/Nextcloud/i18n/fr.json @@ -0,0 +1,32 @@ +{ + "Plugins": { + "Nextcloud": { + "Description": "Un plugin qui vous permet de télécharger des fichiers vers Nextcloud.", + "Fields": { + "Url": "URL", + "Url-Help": "L'URL du serveur Nextcloud", + "Username": "Nom d'utilisateur", + "Username-Help": "Le nom d'utilisateur de l'utilisateur vers lequel télécharger.", + "Password": "Mot de passe", + "Password-Help": "Le mot de passe spécifique à l'application que vous avez créé pour FileFlows pour cet utilisateur Nextcloud." + } + } + }, + "Flow": { + "Parts": { + "UploadToNextcloud": { + "Outputs": { + "1": "A été téléchargé avec succès sur Nextcloud", + "2": "Échec du téléchargement sur Nextcloud" + }, + "Description": "Télécharge un fichier sur Nextcloud", + "Fields": { + "File": "Fichier", + "File-Help": "Le fichier à télécharger, laissez vide pour utiliser le fichier de travail actuel.", + "DestinationPath": "Destination", + "DestinationPath-Help": "L'emplacement et le nom de fichier, c'est-à-dire le chemin complet, du fichier dans Nextcloud." + } + } + } + } +} diff --git a/Nextcloud/i18n/pt.json b/Nextcloud/i18n/pt.json new file mode 100644 index 00000000..64ed5486 --- /dev/null +++ b/Nextcloud/i18n/pt.json @@ -0,0 +1,32 @@ +{ + "Plugins": { + "Nextcloud": { + "Description": "Um plugin que permite enviar arquivos para o Nextcloud.", + "Fields": { + "Url": "URL", + "Url-Help": "A URL do servidor Nextcloud", + "Username": "Nome de usuário", + "Username-Help": "O nome de usuário do usuário para o qual será feito o upload.", + "Password": "Senha", + "Password-Help": "A senha específica do aplicativo que você criou para o FileFlows para este usuário do Nextcloud." + } + } + }, + "Flow": { + "Parts": { + "UploadToNextcloud": { + "Outputs": { + "1": "Foi enviado com sucesso para o Nextcloud", + "2": "Falha ao enviar para o Nextcloud" + }, + "Description": "Envia um arquivo para o Nextcloud", + "Fields": { + "File": "Arquivo", + "File-Help": "O arquivo a ser enviado, deixe em branco para usar o arquivo de trabalho atual.", + "DestinationPath": "Destino", + "DestinationPath-Help": "A localização e o nome do arquivo, ou seja, o caminho completo do arquivo no Nextcloud." + } + } + } + } +} diff --git a/Plex/i18n/de.json b/Plex/i18n/de.json new file mode 100644 index 00000000..f5e64580 --- /dev/null +++ b/Plex/i18n/de.json @@ -0,0 +1,58 @@ +{ + "Plugins": { + "Plex": { + "Description": "Ein Plugin, das es Ihnen ermöglicht, mit Plex zu kommunizieren.", + "Fields": { + "ServerUrl": "Server", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "Die URL des Plex-Servers", + "AccessToken": "Zugriffstoken", + "AccessToken-Help": "Das [Zugriffstoken](https://github.com/revenz/Fenrus/wiki/Plex-Token), das zur Kommunikation mit dem Plex-Server verwendet wird.", + "Mapping": "Mapping", + "Mapping-Help": "Eine Liste von Ersetzungen, die verwendet werden, um Pfade in FileFlows mit den in Plex verwendeten Pfaden zuzuordnen.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + } + }, + "Flow": { + "Parts": { + "PlexAnalyze": { + "Outputs": { + "1": "Plex-Analyseanfrage gesendet", + "2": "Fehler beim Senden der Plex-Analyseanfrage" + }, + "Description": "Sendet eine Nachricht an einen Plex-Server, um die Arbeitsdatei zu analysieren. \nDie Arbeitsdatei muss Plex bereits bekannt sein, damit dies funktioniert.", + "Fields": { + "ServerUrl": "Server", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "Die URL des Plex-Servers. Wenn leer, wird der im Plugin-Einstellungen definierte Server verwendet.\nHinweis: Setzen Sie dies nur, wenn Sie die URL des Plugin-Einstellungen-Servers überschreiben möchten.", + "AccessToken": "Zugriffstoken", + "AccessToken-Help": "Das [Zugriffstoken](https://github.com/revenz/Fenrus/wiki/Plex-Token), das zur Kommunikation mit dem Plex-Server verwendet wird.\nHinweis: Setzen Sie dies nur, wenn Sie das Zugriffstoken der Plugin-Einstellungen überschreiben möchten.", + "Mapping": "Mapping", + "Mapping-Help": "Eine Liste von Ersetzungen, die verwendet werden, um Pfade in FileFlows mit den in Plex verwendeten Pfaden zuzuordnen.\nHinweis: Dies wird nicht verwendet, es sei denn, die Server-URL wird hier ebenfalls festgelegt, andernfalls werden die Mappings der Plugin-Einstellungen verwendet.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + }, + "PlexUpdater": { + "Outputs": { + "1": "Plex-Updateanfrage gesendet", + "2": "Fehler beim Senden der Plex-Updateanfrage" + }, + "Description": "Sendet eine Nachricht an einen Plex-Server, um die Bibliothek zu aktualisieren.", + "Fields": { + "ServerUrl": "Server", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "Die URL des Plex-Servers. Wenn leer, wird der im Plugin-Einstellungen definierte Server verwendet.\nHinweis: Setzen Sie dies nur, wenn Sie die URL des Plugin-Einstellungen-Servers überschreiben möchten.", + "AccessToken": "Zugriffstoken", + "AccessToken-Help": "Das [Zugriffstoken](https://github.com/revenz/Fenrus/wiki/Plex-Token), das zur Kommunikation mit dem Plex-Server verwendet wird.\nHinweis: Setzen Sie dies nur, wenn Sie das Zugriffstoken der Plugin-Einstellungen überschreiben möchten.", + "Mapping": "Mapping", + "Mapping-Help": "Eine Liste von Ersetzungen, die verwendet werden, um Pfade in FileFlows mit den in Plex verwendeten Pfaden zuzuordnen.\nHinweis: Dies wird nicht verwendet, es sei denn, die Server-URL wird hier ebenfalls festgelegt, andernfalls werden die Mappings der Plugin-Einstellungen verwendet.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + } + } + } +} diff --git a/Plex/i18n/es.json b/Plex/i18n/es.json new file mode 100644 index 00000000..93d29e65 --- /dev/null +++ b/Plex/i18n/es.json @@ -0,0 +1,58 @@ +{ + "Plugins": { + "Plex": { + "Description": "Un complemento que te permite comunicarte con Plex.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "La URL del servidor Plex", + "AccessToken": "Token de acceso", + "AccessToken-Help": "El [token de acceso](https://github.com/revenz/Fenrus/wiki/Plex-Token) utilizado para comunicarse con el servidor Plex.", + "Mapping": "Mapeo", + "Mapping-Help": "Una lista de reemplazos de mapeo utilizados para rutas en FileFlows con las rutas que se utilizan en Plex.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + } + }, + "Flow": { + "Parts": { + "PlexAnalyze": { + "Outputs": { + "1": "Solicitud de análisis de Plex enviada", + "2": "Error al enviar la solicitud de análisis de Plex" + }, + "Description": "Envía un mensaje a un servidor Plex para analizar el archivo de trabajo. \nEl archivo de trabajo debe ser conocido por Plex para que esto funcione.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "La URL del servidor Plex. Si está vacío, utilizará el servidor definido en la configuración del complemento.\nNota: Solo establece esto si deseas sobrescribir la URL del servidor de la configuración del complemento.", + "AccessToken": "Token de acceso", + "AccessToken-Help": "El [token de acceso](https://github.com/revenz/Fenrus/wiki/Plex-Token) utilizado para comunicarse con el servidor Plex.\nNota: Solo establece esto si deseas sobrescribir el token de acceso de la configuración del complemento.", + "Mapping": "Mapeo", + "Mapping-Help": "Una lista de reemplazos de mapeo utilizados para rutas en FileFlows con las rutas que se utilizan en Plex.\nNota: Esto no se usará a menos que la URL del servidor también se establezca aquí; de lo contrario, se utilizarán los mapeos de la configuración del complemento.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + }, + "PlexUpdater": { + "Outputs": { + "1": "Solicitud de actualización de Plex enviada", + "2": "Error al enviar la solicitud de actualización de Plex" + }, + "Description": "Envía un mensaje a un servidor Plex para actualizar la biblioteca.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "La URL del servidor Plex. Si está vacío, utilizará el servidor definido en la configuración del complemento.\nNota: Solo establece esto si deseas sobrescribir la URL del servidor de la configuración del complemento.", + "AccessToken": "Token de acceso", + "AccessToken-Help": "El [token de acceso](https://github.com/revenz/Fenrus/wiki/Plex-Token) utilizado para comunicarse con el servidor Plex.\nNota: Solo establece esto si deseas sobrescribir el token de acceso de la configuración del complemento.", + "Mapping": "Mapeo", + "Mapping-Help": "Una lista de reemplazos de mapeo utilizados para rutas en FileFlows con las rutas que se utilizan en Plex.\nNota: Esto no se usará a menos que la URL del servidor también se establezca aquí; de lo contrario, se utilizarán los mapeos de la configuración del complemento.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + } + } + } +} diff --git a/Plex/i18n/fr.json b/Plex/i18n/fr.json new file mode 100644 index 00000000..307807d2 --- /dev/null +++ b/Plex/i18n/fr.json @@ -0,0 +1,58 @@ +{ + "Plugins": { + "Plex": { + "Description": "Un plugin qui vous permet de communiquer avec Plex.", + "Fields": { + "ServerUrl": "Serveur", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "L'URL du serveur Plex", + "AccessToken": "Token d'accès", + "AccessToken-Help": "Le [token d'accès](https://github.com/revenz/Fenrus/wiki/Plex-Token) utilisé pour communiquer avec le serveur Plex.", + "Mapping": "Mapping", + "Mapping-Help": "Une liste de remplacements de mapping utilisés pour les chemins dans FileFlows avec les chemins utilisés dans Plex.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + } + }, + "Flow": { + "Parts": { + "PlexAnalyze": { + "Outputs": { + "1": "Demande d'analyse Plex envoyée", + "2": "Échec de l'envoi de la demande d'analyse Plex" + }, + "Description": "Envoie un message à un serveur Plex pour analyser le fichier de travail. \nLe fichier de travail doit déjà être connu de Plex pour que cela fonctionne.", + "Fields": { + "ServerUrl": "Serveur", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "L'URL du serveur Plex. Si vide, utilisera le serveur défini dans les paramètres du plugin.\nRemarque : Ne définissez cela que si vous souhaitez remplacer l'URL du serveur des paramètres du plugin.", + "AccessToken": "Token d'accès", + "AccessToken-Help": "Le [token d'accès](https://github.com/revenz/Fenrus/wiki/Plex-Token) utilisé pour communiquer avec le serveur Plex.\nRemarque : Ne définissez cela que si vous souhaitez remplacer le token d'accès des paramètres du plugin.", + "Mapping": "Mapping", + "Mapping-Help": "Une liste de remplacements de mapping utilisés pour les chemins dans FileFlows avec les chemins utilisés dans Plex.\nRemarque : Cela ne sera pas utilisé à moins que l'URL du serveur ne soit également définie ici, sinon les mappings des paramètres du plugin seront utilisés.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + }, + "PlexUpdater": { + "Outputs": { + "1": "Demande de mise à jour Plex envoyée", + "2": "Échec de l'envoi de la demande de mise à jour Plex" + }, + "Description": "Envoie un message à un serveur Plex pour mettre à jour la bibliothèque.", + "Fields": { + "ServerUrl": "Serveur", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "L'URL du serveur Plex. Si vide, utilisera le serveur défini dans les paramètres du plugin.\nRemarque : Ne définissez cela que si vous souhaitez remplacer l'URL du serveur des paramètres du plugin.", + "AccessToken": "Token d'accès", + "AccessToken-Help": "Le [token d'accès](https://github.com/revenz/Fenrus/wiki/Plex-Token) utilisé pour communiquer avec le serveur Plex.\nRemarque : Ne définissez cela que si vous souhaitez remplacer le token d'accès des paramètres du plugin.", + "Mapping": "Mapping", + "Mapping-Help": "Une liste de remplacements de mapping utilisés pour les chemins dans FileFlows avec les chemins utilisés dans Plex.\nRemarque : Cela ne sera pas utilisé à moins que l'URL du serveur ne soit également définie ici, sinon les mappings des paramètres du plugin seront utilisés.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + } + } + } +} diff --git a/Plex/i18n/pt.json b/Plex/i18n/pt.json new file mode 100644 index 00000000..a0deacae --- /dev/null +++ b/Plex/i18n/pt.json @@ -0,0 +1,58 @@ +{ + "Plugins": { + "Plex": { + "Description": "Um plugin que permite comunicar-se com o Plex.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "A URL do servidor Plex", + "AccessToken": "Token de acesso", + "AccessToken-Help": "O [token de acesso](https://github.com/revenz/Fenrus/wiki/Plex-Token) usado para se comunicar com o servidor Plex.", + "Mapping": "Mapeamento", + "Mapping-Help": "Uma lista de substituições de mapeamento usadas para caminhos em FileFlows com os caminhos usados no Plex.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + } + }, + "Flow": { + "Parts": { + "PlexAnalyze": { + "Outputs": { + "1": "Solicitação de análise do Plex enviada", + "2": "Falha ao enviar a solicitação de análise do Plex" + }, + "Description": "Envia uma mensagem para um servidor Plex para analisar o arquivo de trabalho. \nO arquivo de trabalho deve ser conhecido pelo Plex para que isso funcione.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "A URL do servidor Plex. Se em branco, usará o servidor definido nas configurações do plugin.\nNota: Defina isso apenas se você deseja substituir a URL do servidor nas configurações do plugin.", + "AccessToken": "Token de acesso", + "AccessToken-Help": "O [token de acesso](https://github.com/revenz/Fenrus/wiki/Plex-Token) usado para se comunicar com o servidor Plex.\nNota: Defina isso apenas se você deseja substituir o token de acesso nas configurações do plugin.", + "Mapping": "Mapeamento", + "Mapping-Help": "Uma lista de substituições de mapeamento usadas para caminhos em FileFlows com os caminhos usados no Plex.\nNota: Isso não será usado, a menos que a URL do servidor também seja definida aqui; caso contrário, serão usados os mapeamentos das configurações do plugin.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + }, + "PlexUpdater": { + "Outputs": { + "1": "Solicitação de atualização do Plex enviada", + "2": "Falha ao enviar a solicitação de atualização do Plex" + }, + "Description": "Envia uma mensagem para um servidor Plex para atualizar a biblioteca.", + "Fields": { + "ServerUrl": "Servidor", + "ServerUrl-Placeholder": "http://localhost:32400/", + "ServerUrl-Help": "A URL do servidor Plex. Se em branco, usará o servidor definido nas configurações do plugin.\nNota: Defina isso apenas se você deseja substituir a URL do servidor nas configurações do plugin.", + "AccessToken": "Token de acesso", + "AccessToken-Help": "O [token de acesso](https://github.com/revenz/Fenrus/wiki/Plex-Token) usado para se comunicar com o servidor Plex.\nNota: Defina isso apenas se você deseja substituir o token de acesso nas configurações do plugin.", + "Mapping": "Mapeamento", + "Mapping-Help": "Uma lista de substituições de mapeamento usadas para caminhos em FileFlows com os caminhos usados no Plex.\nNota: Isso não será usado, a menos que a URL do servidor também seja definida aqui; caso contrário, serão usados os mapeamentos das configurações do plugin.", + "MappingKey": "FileFlows", + "MappingValue": "Plex" + } + } + } + } +} diff --git a/Pushbullet/i18n/de.json b/Pushbullet/i18n/de.json new file mode 100644 index 00000000..d39c70ad --- /dev/null +++ b/Pushbullet/i18n/de.json @@ -0,0 +1,31 @@ +{ + "Plugins": { + "Pushbullet": { + "Description": "Ein Plugin, das es Ihnen ermöglicht, Nachrichten an einen Pushbullet-Server zu senden.", + "Fields": { + "UserKey": "Benutzer Schlüssel", + "UserKey-Help": "Ihr persönlicher Benutzerschlüssel zum Empfangen von Benachrichtigungen.", + "ApiToken": "API-Token", + "ApiToken-Help": "Das Anwendungs-API-Token, das zum Senden von Benachrichtigungen verwendet wird." + } + } + }, + "Flow": { + "Parts": { + "Pushbullet": { + "Outputs": { + "1": "Pushbullet-Nachricht gesendet", + "2": "Pushbullet-Nachricht konnte nicht gesendet werden" + }, + "Description": "Sendet eine Nachricht über Pushbullet.", + "Fields": { + "Title": "Titel", + "Message": "Nachricht", + "Message-Help": "Die Nachricht, die an den Pushbullet-Server gesendet werden soll", + "Priority": "Priorität", + "Priority-Help": "Die Priorität der gesendeten Nachricht" + } + } + } + } +} diff --git a/Pushbullet/i18n/es.json b/Pushbullet/i18n/es.json new file mode 100644 index 00000000..c248d39b --- /dev/null +++ b/Pushbullet/i18n/es.json @@ -0,0 +1,31 @@ +{ + "Plugins": { + "Pushbullet": { + "Description": "Un plugin que te permite enviar mensajes a un servidor Pushbullet.", + "Fields": { + "UserKey": "Clave de usuario", + "UserKey-Help": "Tu clave de usuario personal para recibir notificaciones.", + "ApiToken": "Token de API", + "ApiToken-Help": "El token de API de la aplicación utilizado para enviar notificaciones." + } + } + }, + "Flow": { + "Parts": { + "Pushbullet": { + "Outputs": { + "1": "Mensaje de Pushbullet enviado", + "2": "Error al enviar el mensaje de Pushbullet" + }, + "Description": "Envía un mensaje a través de Pushbullet.", + "Fields": { + "Title": "Título", + "Message": "Mensaje", + "Message-Help": "El mensaje a enviar al servidor Pushbullet", + "Priority": "Prioridad", + "Priority-Help": "La prioridad del mensaje que se está enviando" + } + } + } + } +} diff --git a/Pushbullet/i18n/fr.json b/Pushbullet/i18n/fr.json new file mode 100644 index 00000000..91d52804 --- /dev/null +++ b/Pushbullet/i18n/fr.json @@ -0,0 +1,31 @@ +{ + "Plugins": { + "Pushbullet": { + "Description": "Un plugin qui vous permet d'envoyer des messages à un serveur Pushbullet.", + "Fields": { + "UserKey": "Clé utilisateur", + "UserKey-Help": "Votre clé utilisateur personnelle pour recevoir des notifications.", + "ApiToken": "Token API", + "ApiToken-Help": "Le token API de l'application utilisé pour envoyer des notifications." + } + } + }, + "Flow": { + "Parts": { + "Pushbullet": { + "Outputs": { + "1": "Message Pushbullet envoyé", + "2": "Échec de l'envoi du message Pushbullet" + }, + "Description": "Envoie un message via Pushbullet.", + "Fields": { + "Title": "Titre", + "Message": "Message", + "Message-Help": "Le message à envoyer au serveur Pushbullet", + "Priority": "Priorité", + "Priority-Help": "La priorité du message envoyé" + } + } + } + } +} diff --git a/Pushbullet/i18n/pt.json b/Pushbullet/i18n/pt.json new file mode 100644 index 00000000..60855598 --- /dev/null +++ b/Pushbullet/i18n/pt.json @@ -0,0 +1,31 @@ +{ + "Plugins": { + "Pushbullet": { + "Description": "Um plugin que permite enviar mensagens para um servidor Pushbullet.", + "Fields": { + "UserKey": "Chave do usuário", + "UserKey-Help": "Sua chave de usuário pessoal para receber notificações.", + "ApiToken": "Token da API", + "ApiToken-Help": "O token da API da aplicação usado para enviar notificações." + } + } + }, + "Flow": { + "Parts": { + "Pushbullet": { + "Outputs": { + "1": "Mensagem Pushbullet enviada", + "2": "Falha ao enviar a mensagem Pushbullet" + }, + "Description": "Envia uma mensagem via Pushbullet.", + "Fields": { + "Title": "Título", + "Message": "Mensagem", + "Message-Help": "A mensagem a ser enviada ao servidor Pushbullet", + "Priority": "Prioridade", + "Priority-Help": "A prioridade da mensagem sendo enviada" + } + } + } + } +} diff --git a/Pushover/i18n/de.json b/Pushover/i18n/de.json new file mode 100644 index 00000000..c0864c88 --- /dev/null +++ b/Pushover/i18n/de.json @@ -0,0 +1,36 @@ +{ + "Plugins": { + "Pushover": { + "Description": "Ein Plugin, das es Ihnen ermöglicht, Nachrichten an einen Pushover-Server zu senden.", + "Fields": { + "UserKey": "Benutzer Schlüssel", + "UserKey-Help": "Ihr persönlicher Benutzerschlüssel zum Empfangen von Benachrichtigungen.", + "ApiToken": "API-Token", + "ApiToken-Help": "Das Anwendungs-API-Token, das zum Senden von Benachrichtigungen verwendet wird." + } + } + }, + "Flow": { + "Parts": { + "Pushover": { + "Outputs": { + "1": "Pushover-Nachricht gesendet", + "2": "Pushover-Nachricht konnte nicht gesendet werden" + }, + "Description": "Sendet eine Nachricht über Pushover.", + "Fields": { + "Message": "Nachricht", + "Message-Help": "Die Nachricht, die an den Pushover-Server gesendet werden soll", + "Expire": "Ablauf", + "Expire-Suffix": "Sekunden", + "Expire-Help": "Legen Sie die Dauer in Sekunden fest, bevor diese Notfallnachricht abläuft und die Zustellung eingestellt wird.", + "Retry": "Wiederholen", + "Retry-Suffix": "Sekunden", + "Retry-Help": "Geben Sie das Intervall in Sekunden zwischen den Wiederholungsversuchen für diese Notfallnachricht im Falle eines Zustellfehlers an.", + "Priority": "Priorität", + "Priority-Help": "Die Priorität der gesendeten Nachricht" + } + } + } + } +} diff --git a/Pushover/i18n/es.json b/Pushover/i18n/es.json new file mode 100644 index 00000000..4a3c499e --- /dev/null +++ b/Pushover/i18n/es.json @@ -0,0 +1,36 @@ +{ + "Plugins": { + "Pushover": { + "Description": "Un plugin que te permite enviar mensajes a un servidor Pushover.", + "Fields": { + "UserKey": "Clave de usuario", + "UserKey-Help": "Tu clave de usuario personal para recibir notificaciones.", + "ApiToken": "Token de API", + "ApiToken-Help": "El token de API de la aplicación utilizado para enviar notificaciones." + } + } + }, + "Flow": { + "Parts": { + "Pushover": { + "Outputs": { + "1": "Mensaje de Pushover enviado", + "2": "Error al enviar el mensaje de Pushover" + }, + "Description": "Envía un mensaje a través de Pushover.", + "Fields": { + "Message": "Mensaje", + "Message-Help": "El mensaje a enviar al servidor Pushover", + "Expire": "Expirar", + "Expire-Suffix": "segundos", + "Expire-Help": "Establezca la duración, en segundos, antes de que este mensaje de emergencia expire y deje de intentar la entrega.", + "Retry": "Reintentar", + "Retry-Suffix": "segundos", + "Retry-Help": "Especifique el intervalo, en segundos, entre los intentos de reenvío de este mensaje de emergencia en caso de fallo de entrega.", + "Priority": "Prioridad", + "Priority-Help": "La prioridad del mensaje que se está enviando" + } + } + } + } +} diff --git a/Pushover/i18n/fr.json b/Pushover/i18n/fr.json new file mode 100644 index 00000000..00cde3bf --- /dev/null +++ b/Pushover/i18n/fr.json @@ -0,0 +1,36 @@ +{ + "Plugins": { + "Pushover": { + "Description": "Un plugin qui vous permet d'envoyer des messages à un serveur Pushover.", + "Fields": { + "UserKey": "Clé utilisateur", + "UserKey-Help": "Votre clé utilisateur personnelle pour recevoir des notifications.", + "ApiToken": "Token API", + "ApiToken-Help": "Le token API de l'application utilisé pour envoyer des notifications." + } + } + }, + "Flow": { + "Parts": { + "Pushover": { + "Outputs": { + "1": "Message Pushover envoyé", + "2": "Échec de l'envoi du message Pushover" + }, + "Description": "Envoie un message via Pushover.", + "Fields": { + "Message": "Message", + "Message-Help": "Le message à envoyer au serveur Pushover", + "Expire": "Expiration", + "Expire-Suffix": "secondes", + "Expire-Help": "Définissez la durée, en secondes, avant que ce message d'urgence expire et cesse d'essayer d'être livré.", + "Retry": "Réessayer", + "Retry-Suffix": "secondes", + "Retry-Help": "Spécifiez l'intervalle, en secondes, entre les tentatives de réessai pour ce message d'urgence en cas d'échec de livraison.", + "Priority": "Priorité", + "Priority-Help": "La priorité du message envoyé" + } + } + } + } +} diff --git a/Pushover/i18n/pt.json b/Pushover/i18n/pt.json new file mode 100644 index 00000000..d22892bb --- /dev/null +++ b/Pushover/i18n/pt.json @@ -0,0 +1,36 @@ +{ + "Plugins": { + "Pushover": { + "Description": "Um plugin que permite enviar mensagens para um servidor Pushover.", + "Fields": { + "UserKey": "Chave do usuário", + "UserKey-Help": "Sua chave de usuário pessoal para receber notificações.", + "ApiToken": "Token da API", + "ApiToken-Help": "O token da API da aplicação usado para enviar notificações." + } + } + }, + "Flow": { + "Parts": { + "Pushover": { + "Outputs": { + "1": "Mensagem Pushover enviada", + "2": "Falha ao enviar a mensagem Pushover" + }, + "Description": "Envia uma mensagem via Pushover.", + "Fields": { + "Message": "Mensagem", + "Message-Help": "A mensagem a ser enviada ao servidor Pushover", + "Expire": "Expirar", + "Expire-Suffix": "segundos", + "Expire-Help": "Defina a duração, em segundos, antes que esta mensagem de emergência expire e pare de tentar a entrega.", + "Retry": "Repetir", + "Retry-Suffix": "segundos", + "Retry-Help": "Especifique o intervalo, em segundos, entre as tentativas de reenvio desta mensagem de emergência em caso de falha na entrega.", + "Priority": "Prioridade", + "Priority-Help": "A prioridade da mensagem sendo enviada" + } + } + } + } +} diff --git a/Telegram/i18n/de.json b/Telegram/i18n/de.json new file mode 100644 index 00000000..0749825d --- /dev/null +++ b/Telegram/i18n/de.json @@ -0,0 +1,28 @@ +{ + "Plugins": { + "Telegram": { + "Description": "Ein Plugin, das es Ihnen ermöglicht, Telegram-Nachrichten zu senden.", + "Fields": { + "BotToken": "Bot-Token", + "BotToken-Help": "Ihr Telegram-Bot-Token.", + "ChatId": "Chat-ID", + "ChatId-Help": "Die ID des Chats, an den Nachrichten gesendet werden sollen." + } + } + }, + "Flow": { + "Parts": { + "Telegram": { + "Outputs": { + "1": "Telegram-Nachricht gesendet", + "2": "Telegram-Nachricht konnte nicht gesendet werden" + }, + "Description": "Sendet eine Telegram-Nachricht.", + "Fields": { + "Message": "Nachricht", + "Message-Help": "Die zu sendende Nachricht." + } + } + } + } +} diff --git a/Telegram/i18n/es.json b/Telegram/i18n/es.json new file mode 100644 index 00000000..83acdcdf --- /dev/null +++ b/Telegram/i18n/es.json @@ -0,0 +1,28 @@ +{ + "Plugins": { + "Telegram": { + "Description": "Un plugin que te permite enviar mensajes de Telegram.", + "Fields": { + "BotToken": "Token del bot", + "BotToken-Help": "Tu token de bot de Telegram.", + "ChatId": "ID del chat", + "ChatId-Help": "La ID del chat al que enviar mensajes." + } + } + }, + "Flow": { + "Parts": { + "Telegram": { + "Outputs": { + "1": "Mensaje de Telegram enviado", + "2": "Error al enviar el mensaje de Telegram" + }, + "Description": "Envía un mensaje de Telegram.", + "Fields": { + "Message": "Mensaje", + "Message-Help": "El mensaje a enviar." + } + } + } + } +} diff --git a/Telegram/i18n/fr.json b/Telegram/i18n/fr.json new file mode 100644 index 00000000..60c89e26 --- /dev/null +++ b/Telegram/i18n/fr.json @@ -0,0 +1,28 @@ +{ + "Plugins": { + "Telegram": { + "Description": "Un plugin qui vous permet d'envoyer des messages Telegram.", + "Fields": { + "BotToken": "Token du bot", + "BotToken-Help": "Votre token de bot Telegram.", + "ChatId": "ID de chat", + "ChatId-Help": "L'ID du chat auquel envoyer des messages." + } + } + }, + "Flow": { + "Parts": { + "Telegram": { + "Outputs": { + "1": "Message Telegram envoyé", + "2": "Échec de l'envoi du message Telegram" + }, + "Description": "Envoie un message Telegram.", + "Fields": { + "Message": "Message", + "Message-Help": "Le message à envoyer." + } + } + } + } +} diff --git a/Telegram/i18n/pt.json b/Telegram/i18n/pt.json new file mode 100644 index 00000000..3342b5a1 --- /dev/null +++ b/Telegram/i18n/pt.json @@ -0,0 +1,28 @@ +{ + "Plugins": { + "Telegram": { + "Description": "Um plugin que permite enviar mensagens do Telegram.", + "Fields": { + "BotToken": "Token do bot", + "BotToken-Help": "Seu token de bot do Telegram.", + "ChatId": "ID do chat", + "ChatId-Help": "A ID do chat para enviar mensagens." + } + } + }, + "Flow": { + "Parts": { + "Telegram": { + "Outputs": { + "1": "Mensagem do Telegram enviada", + "2": "Falha ao enviar a mensagem do Telegram" + }, + "Description": "Envia uma mensagem do Telegram.", + "Fields": { + "Message": "Mensagem", + "Message-Help": "A mensagem a ser enviada." + } + } + } + } +} diff --git a/VideoNodes/i18n/es.json b/VideoNodes/i18n/es.json new file mode 100644 index 00000000..91469161 --- /dev/null +++ b/VideoNodes/i18n/es.json @@ -0,0 +1,1031 @@ +{ + "H": { + "264": "H.264", + "265": "H.265" + }, + "5": { "1": "5.1" }, + "7": { "1": "7.1" }, + "Enums": { + "WatermarkPosition": { + "Center": "Centro", + "TopLeft": "Arriba Izquierda", + "TopRight": "Arriba Derecha", + "BottomRight": "Abajo Derecha", + "BottomLeft": "Abajo Izquierda" + } + }, + "Flow": { + "Parts": { + "DisableAmd": { + "Label": "Desactivar AMD", + "Description": "Desactiva el codificador de hardware AMD AMF", + "Outputs": { + "1": "Desactivado" + } + }, + "DisableIntelQsv": { + "Label": "Desactivar Intel QSV", + "Description": "Desactiva el codificador de hardware Intel QSV", + "Outputs": { + "1": "Desactivado" + } + }, + "DisableNvidia": { + "Label": "Desactivar NVIDIA", + "Description": "Desactiva el codificador de hardware NVIDIA", + "Outputs": { + "1": "Desactivado" + } + }, + "DisableVaapi": { + "Label": "Desactivar VAAPI", + "Description": "Desactiva el codificador de hardware VAAPI", + "Outputs": { + "1": "Desactivado" + } + }, + "AudioToVideo": { + "Description": "Convierte un archivo de audio en un archivo de video y genera un video basado en el audio", + "Fields": { + "Visualization": "Visualización", + "Visualization-Help": "La visualización a utilizar en el video generado. Ver Ayuda para ejemplos", + "Container": "Contenedor", + "Resolution": "Resolución", + "Codec": "Codec", + "HardwareEncoding": "Codificación de hardware", + "HardwareEncoding-Help": "Cuando se selecciona, comprobará si se encuentran codificadores de hardware en el nodo de procesamiento, y si se encuentran, utilizará la codificación de hardware; de lo contrario, volverá a la codificación de CPU.", + "Color": "Color", + "Color-Help": "Código de color opcional #RRGGBB para usar en las ondas sonoras, debe estar en el formato #RRGGBB, por ejemplo #FF0090" + } + }, + "CanUseHardwareEncoding": { + "Description": "Verifica si el codificador de hardware especificado está actualmente disponible para el flujo.", + "Fields": { + "Encoder": "Codificador", + "Encoder-Help": "El decodificador de hardware a verificar" + } + }, + "ComskipRemoveAds": { + "Description": "Utiliza un archivo EDL de comskip y eliminará los comerciales utilizando ese archivo.", + "Outputs": { + "1": "Comerciales eliminados, guardados en un archivo temporal", + "2": "No se detectaron comerciales" + }, + "Fields": { + "RunComskipIfNoEdl": "Ejecutar Comskip", + "RunComskipIfNoEdl-Help": "Ejecutar comskip contra el archivo si no se encuentra ningún archivo comskip (EDL)." + } + }, + "VideoFile": { + "Description": "Un archivo de video de entrada que ha tenido su información de video leída y que puede ser procesado", + "Outputs": { + "1": "Archivo de video de la biblioteca" + }, + "Fields": { + "ProbeSize": "Tamaño de sondeo", + "ProbeSize-Suffix": "MB", + "ProbeSize-Help": "El tamaño de sondeo a utilizar en FFMPEG al ejecutar.", + "AnalyzeDuration": "Duración de análisis", + "AnalyzeDuration-Help": "Especifique cuántos segundos se analizan para sondear la entrada", + "AnalyzeDuration-Suffix": "segundos" + } + }, + "VideoDuration": { + "Description": "Prueba si la duración del video coincide con los parámetros dados.", + "Outputs": { + "1": "La duración del video coincide", + "2": "La duración del video no coincide" + }, + "Fields": { + "Match": "Coincidencia", + "ValueLow": "Duración", + "ValueHigh": " " + } + }, + "VideoDurationCompare": { + "Description": "Compara la duración original de un video con su duración final.", + "Outputs": { + "1": "El video está dentro de la diferencia de duración permitida", + "2": "El video no está dentro de la diferencia de duración permitida" + }, + "Fields": { + "AllowedDifference": "Diferencia Permitida", + "AllowedDifference-Help": "La diferencia de tiempo permitida entre la duración original del video y la duración final." + } + }, + "FfmpegBuilderStart": { + "Label": "Constructor FFMPEG: Iniciar", + "Outputs": { + "1": "Constructor FFMPEG creado y listo para agregar elementos de flujo de Constructor FFMPEG" + }, + "Description": "Crea una instancia del Constructor FFMPEG que puede construir un argumento de FFMPEG para luego ejecutarse con el Ejecutador FFMPEG." + }, + "FfmpegBuilderDeinterlace": { + "Label": "Constructor FFMPEG: Desentrelazar", + "Outputs": { + "1": "Filtro de desentrelazado agregado al flujo de video" + }, + "Fields": { + "Mode": "Modo", + "Mode-Help": "El método de desentrelazado a utilizar. Consulte la ayuda para más información." + } + }, + "FfmpegBuilderExecutor": { + "Label": "Constructor FFMPEG: Ejecutar", + "Outputs": { + "1": "Constructor FFMPEG se ejecutó con éxito y creó un nuevo archivo temporal", + "2": "No se detectaron cambios en el Constructor FFMPEG, archivo no creado" + }, + "Description": "Ejecuta un comando de Constructor FFMPEG creado por otros elementos de flujo de Constructor FFMPEG.", + "Fields": { + "HardwareDecoding": "Decodificación por Hardware", + "HardwareDecoding-Help": "Si el ejecutor debe intentar usar la decodificación por hardware. Si no está disponible, la ejecución procederá sin la decodificación por hardware habilitada.", + "Strictness": "Estrictidad", + "Strictness-Help": "Le permite personalizar la estrictidad de FFmpeg. Esto debe dejarse en 'Experimental' para la mayoría de los usuarios." + } + }, + "FfmpegBuilderAddInputFile": { + "Label": "Constructor FFMPEG: Agregar Archivo de Entrada", + "Outputs": { + "1": "Archivo encontrado y agregado", + "2": "No se encontró archivo" + }, + "Fields": { + "Pattern": "Patrón", + "Pattern-Help": "Una expresión regular utilizada para buscar archivos de entrada", + "UseSourceDirectory": "Usar Directorio de Origen", + "UseSourceDirectory-Help": "Si está marcado, se buscará en el directorio de origen original; de lo contrario, se usará el directorio de trabajo." + } + }, + "FfmpegBuilderAspectRatio": { + "Label": "Constructor FFMPEG: Relación de Aspecto", + "Outputs": { + "1": "La relación de aspecto se cambió con éxito", + "2": "El video ya estaba en la relación de aspecto deseada" + }, + "Fields": { + "AspectRatio": "Relación de Aspecto", + "AspectRatio-Help": "Seleccione la relación de aspecto deseada para el video. Las opciones disponibles incluyen relaciones de aspecto estándar (16:9, 4:3, 21:9) o una relación personalizada.", + "CustomWidth": "Ancho Personalizado", + "CustomWidth-Help": "Especifique el ancho a utilizar al seleccionar la opción de relación de aspecto personalizada.", + "CustomHeight": "Altura Personalizada", + "CustomHeight-Help": "Especifique la altura a utilizar al seleccionar la opción de relación de aspecto personalizada.", + "AdjustmentMode": "Modo de Ajuste", + "AdjustmentMode-Help": "Elija cómo se debe hacer cumplir la relación de aspecto. Las opciones incluyen estirar el video, agregar barras negras (letterbox) o recortar el video para que se ajuste a la relación de aspecto." + } + }, + "FfmpegBuilderAudioAddTrack": { + "Label": "Constructor FFMPEG: Agregar Pista de Audio", + "Outputs": { + "1": "Pista de audio agregada al Constructor FFMPEG", + "2": "No se encontró una pista de audio de origen adecuada para crear una nueva pista de audio" + }, + "Description": "Agrega una nueva pista de audio al Constructor FFMPEG que se agregará una vez que se ejecute el constructor.", + "Fields": { + "CustomTrackSelection": "Selección de Pista de Origen", + "TrackSelectionOptions": "Selección de Pista", + "TrackSelectionOptionsKey": "Propiedad", + "TrackSelectionOptionsValue": "Valor", + "Index": "Índice", + "Index-Help": "El índice donde insertar la nueva pista de audio. Basado en 0, así que para insertar la nueva pista de audio como la primera pista, establezca esto en 0.", + "Channels": "Canales", + "Channels-Help": "El número de canales que tendrá esta nueva pista de audio.\nSi especifica más canales que el origen, FFMPEG lo mezclará automáticamente hacia arriba.\nSi especifica menos canales que el origen, FFMPEG lo mezclará automáticamente hacia abajo.", + "Bitrate": "Tasa de Bits", + "Bitrate-Help": "Tasa de bits de la nueva pista de audio", + "Codec": "Códec", + "Codec-Help": "El códec a utilizar para codificar el audio", + "SampleRate": "Frecuencia de Muestreo", + "SampleRate-Help": "La frecuencia de muestreo a utilizar para la nueva pista de audio", + "Language": "Idioma", + "Language-Help": "Código de idioma opcional [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) a utilizar. Intentará encontrar una pista de audio con este código de idioma; de lo contrario, se utilizará la mejor pista de audio.", + "NewTitle": "Nuevo Título", + "NewTitle-Help": "Título opcional para la pista de audio recién creada. Si se deja en blanco, se utilizará el título de origen", + "RemoveTitle": "Eliminar Título", + "RemoveTitle-Help": "Si el título de origen debe eliminarse y la pista no debe tener título", + "BitratePerChannel": "Tasa de Bits Por Canal", + "BitratePerChannel-Help": "Si la tasa de bits especificada debe ser por canal" + } + }, + "FfmpegBuilderAudioAdjustVolume": { + "Label": "FFMPEG Builder: Ajustar Volumen de Audio", + "Outputs": { + "1": "Filtro de volumen de pistas de audio agregado al FFMPEG Builder", + "2": "Las pistas de audio no fueron ajustadas" + }, + "Description": "Ajusta el volumen de las pistas de audio en un archivo de video usando FFMPEG", + "Fields": { + "AllAudio": "Todas las Pistas de Audio", + "AllAudio-Help": "Si todas las pistas de audio deben ser normalizadas o solo la primera pista", + "VolumePercent": "Porcentaje de Volumen", + "VolumePercent-Help": "El porcentaje del volumen ajustado.\n100 significa sin ajuste\n50 significa medio volumen\n0 significa silenciado", + "Pattern": "Patrón", + "Pattern-Help": "Una expresión regular para hacer coincidir, por ejemplo \"comentarios\" para eliminar pistas de comentarios", + "NotMatching": "No Coincidente", + "NotMatching-Help": "Si las pistas de audio que NO coinciden con el patrón deben ser eliminadas", + "UseLanguageCode": "Usar Código de Idioma", + "UseLanguageCode-Help": "Si se debe usar el código de idioma de la pista de audio en lugar del título" + } + }, + "FfmpegBuilderAudioConvert": { + "Label": "FFMPEG Builder: Convertir Audio", + "Outputs": { + "1": "Pistas a ser convertidas", + "2": "No hay pistas para ser convertidas" + }, + "Description": "Te permite convertir todas las pistas que coincidan con los parámetros a ser convertidas.", + "Fields": { + "CustomTrackSelection": "Convertir", + "TrackSelectionOptions": "Coincidencia", + "TrackSelectionOptionsKey": "Propiedad", + "TrackSelectionOptionsValue": "Valor", + "Channels": "Canales", + "Channels-Help": "El número de canales que tendrá esta nueva pista de audio.\nSi especificas más canales que la fuente, FFMPEG lo mezclará automáticamente.\nSi especificas menos canales que la fuente, FFMPEG lo mezclará automáticamente hacia abajo.", + "PcmFormat": "Formato", + "PcmFormat-Help": "El formato PCM a utilizar para codificar audio PCM.", + "Bitrate": "Tasa de Bits", + "Bitrate-Help": "Tasa de bits de la pista de audio", + "Codec": "Codec", + "Codec-Help": "El codec a utilizar para codificar el audio", + "BitratePerChannel": "Tasa de Bits Por Canal", + "BitratePerChannel-Help": "Si la tasa de bits especificada debe ser por canal" + } + }, + "FfmpegBuilderAudioConverter": { + "Label": "FFMPEG Builder: Convertidor de Audio", + "Outputs": { + "1": "Pistas a ser convertidas", + "2": "No hay pistas para ser convertidas" + }, + "Description": "Te permite convertir todas las pistas que coincidan con los parámetros a ser convertidas.", + "Fields": { + "Channels": "Canales", + "Channels-Help": "El número de canales que tendrá esta nueva pista de audio.\nSi especificas más canales que la fuente, FFMPEG lo mezclará automáticamente.\nSi especificas menos canales que la fuente, FFMPEG lo mezclará automáticamente hacia abajo.", + "PcmFormat": "Formato", + "PcmFormat-Help": "El formato PCM a utilizar para codificar audio PCM.", + "Bitrate": "Tasa de Bits", + "Bitrate-Help": "Tasa de bits de la pista de audio", + "Codec": "Codec", + "Codec-Help": "El codec a utilizar para codificar el audio", + "Field": "Campo", + "Field-Help": "El campo para hacer coincidir con el patrón. Deja el patrón vacío para coincidir con cualquier cosa sin valor establecido.", + "Pattern": "Patrón", + "Pattern-Help": "Una cadena o expresión regular para hacer coincidir, por ejemplo \"comentarios\" para coincidir exactamente con comentarios o \".*comentarios.*\" para coincidir con comentarios en cualquier parte de la cadena", + "NotMatching": "No Coincidente", + "NotMatching-Help": "Si las pistas de audio que NO coinciden con el patrón deben ser convertidas", + "BitratePerChannel": "Tasa de Bits Por Canal", + "BitratePerChannel-Help": "Si la tasa de bits especificada debe ser por canal" + } + }, + "FfmpegBuilderAudioNormalization": { + "Label": "FFMPEG Builder: Normalización de Audio", + "Outputs": { + "1": "Las pistas de audio fueron normalizadas y agregadas al FFMPEG Builder", + "2": "No se encontraron pistas de audio para ser normalizadas" + }, + "Description": "Normaliza todas las pistas de audio en un archivo de video usando el filtro loudnorm de FFMPEG", + "Fields": { + "TwoPass": "Dos Pasos", + "TwoPass-Help": "Si las pistas de audio deben usar normalización de dos pasos. Esto mejora la normalización pero aumenta el tiempo de procesamiento.", + "AllAudio": "Todas las Pistas de Audio", + "AllAudio-Help": "Si todas las pistas de audio deben ser normalizadas o si solo la primera pista debe ser", + "Pattern": "Patrón", + "Pattern-Help": "Una expresión regular para hacer coincidir, por ejemplo \"comentarios\" para eliminar pistas de comentarios", + "NotMatching": "No Coincidente", + "NotMatching-Help": "Si las pistas de audio que NO coinciden con el patrón deben ser eliminadas", + "UseLanguageCode": "Usar Código de Idioma", + "UseLanguageCode-Help": "Si se debe usar el código de idioma de la pista de audio en lugar del título" + } + }, + "FfmpegBuilderAudioTrackRemover": { + "Label": "FFMPEG Builder: Eliminador de Pistas (Obsoleto)", + "Outputs": { + "1": "Pistas establecidas para eliminar", + "2": "Pistas NO establecidas para eliminar" + }, + "Description": "Te permite eliminar pistas basadas en su título o sus códigos de idioma.\n\nCualquier título (o código de idioma si se establece en \"Usar Código de Idioma\") que esté en blanco NO será eliminado independientemente del patrón.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pistas para reordenar en el FFMPEG Builder", + "RemoveAll": "Eliminar Todo", + "RemoveAll-Help": "Eliminar todas las pistas actuales del archivo de salida. Puedes usar Agregar Pista después para agregar pistas de codecs específicos", + "Pattern": "Patrón", + "Pattern-Help": "Una expresión regular para hacer coincidir, por ejemplo \"comentarios\" para eliminar pistas de comentarios", + "NotMatching": "No Coincidente", + "NotMatching-Help": "Si las pistas de audio que NO coinciden con el patrón deben ser eliminadas", + "UseLanguageCode": "Usar Código de Idioma", + "UseLanguageCode-Help": "Si se debe usar el código de idioma de la pista en lugar del título", + "RemoveIndex": "Eliminar Índice", + "RemoveIndex-Help": "El índice de inicio desde donde eliminar las pistas. Esto te permite eliminar todas las pistas que coincidan después del índice inicial.\nEstablecer en cero para eliminar todas las que coincidan con los parámetros.\nEstablecer en 1 para mantener la primera pista y eliminar cualquier otra después de la primera que coincida con los parámetros", + "MatchType": "Coincidencias", + "MatchType-Help": "El valor para hacer coincidir." + } + }, + "FfmpegBuilderTrackRemover": { + "Label": "FFMPEG Builder: Eliminador de Pistas", + "Outputs": { + "1": "Pistas establecidas para eliminar", + "2": "Pistas NO establecidas para eliminar" + }, + "Description": "Te permite eliminar pistas basadas en condiciones especificadas.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pistas para reordenar en el FFMPEG Builder", + "CustomTrackSelection": "Eliminar", + "TrackSelectionOptions": "", + "TrackSelectionOptionsKey": "Propiedad", + "TrackSelectionOptionsValue": "Valor" + } + }, + "FfmpegBuilderAudioTrackReorder": { + "Label": "Constructor FFMPEG: Reordenar Pistas", + "Outputs": { + "1": "Pistas reordenadas en el Constructor FFMPEG", + "2": "Pistas NO reordenadas" + }, + "Description": "Permite reordenar las pistas en el orden preferido.\n\nIntroduce los idiomas/códecs de audio/canales en el orden que desees. Cualquier pista no listada se ordenará después de las ingresadas en su orden original.\nSi hay múltiples pistas con el mismo idioma/códec/canales, se ordenarán primero por el orden en que ingresaste, luego en su orden original.\n\nNota: la primera pista después de reordenar se establecerá como la pista predeterminada..\n\nSalida 1: Las pistas fueron reordenadas\nSalida 2: Las pistas no necesitaban ser reordenadas", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pistas a reordenar en el Constructor FFMPEG", + "OrderedTracks": "Códecs Ordenados", + "OrderedTracks-Help": "El orden de los códecs para las pistas. Esto se hace después de los idiomas (si los hay)", + "Languages": "Idiomas", + "Languages-Help": "El orden de idiomas por el que ordenar las pistas. Este ordenamiento se realiza antes del códec.", + "Channels": "Canales", + "Channels-Help": "El orden de los canales de audio por el que ordenar las pistas de audio. Este ordenamiento se realiza antes de los idiomas.\nPor ejemplo \"5.1\",\"7.1\",\"6.2\",\"2\"" + } + }, + "FfmpegBuilderAudioSetLanguage": { + "Label": "Constructor FFMPEG: Establecer Idioma", + "Outputs": { + "1": "Pistas actualizadas en el Constructor FFMPEG", + "2": "Pistas NO actualizadas" + }, + "Description": "Permite establecer el idioma para cualquier pista que no tenga idioma establecido. Si la pista ya tiene un idioma establecido, se omitirá.\n\nSalida 1: Las pistas fueron actualizadas\nSalida 2: No hubo pistas que necesitaran ser actualizadas", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pista para establecer el idioma", + "Language": "Idioma", + "Language-Help": "El código de idioma [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) a utilizar." + } + }, + "FfmpegBuilderAutoChapters": { + "Label": "Constructor FFMPEG: Capítulos Automáticos", + "Description": "Detecta automáticamente cambios de escena en el video para generar capítulos.", + "Outputs": { + "1": "Capítulos generados y añadidos al Constructor FFMPEG", + "2": "No se detectaron capítulos o el video ya tenía capítulos" + }, + "Fields": { + "MinimumLength": "Longitud Mínima", + "MinimumLength-Suffix": "segundos", + "MinimumLength-Help": "La longitud mínima de un capítulo en segundos", + "Percent": "Porcentaje", + "Percent-Suffix": "%", + "Percent-Help": "El valor porcentual de umbral a utilizar para la detección de cambios de escena. Un buen valor es 45%" + } + }, + "FfmpegBuilderComskipChapters": { + "Label": "Constructor FFMPEG: Capítulos Comskip", + "Description": "Utiliza un archivo EDL de comskip y creará capítulos dados ese archivo EDL de comskip.", + "Outputs": { + "1": "Capítulos comerciales creados, añadidos al Constructor FFMPEG", + "2": "No se detectaron comerciales" + }, + "Fields": { + "RunComskipIfNoEdl": "Ejecutar Comskip", + "RunComskipIfNoEdl-Help": "Ejecutar comskip contra el archivo si no se encuentra un archivo comskip (EDL)." + } + }, + "FfmpegBuilderCustomParameters": { + "Label": "Constructor FFMPEG: Parámetros Personalizados", + "Description": "Te permite agregar parámetros personalizados al Constructor FFMPEG para su ejecución", + "Outputs": { + "1": "Parámetros añadidos" + }, + "Fields": { + "Parameters": "Parámetros", + "Parameters-Help": "Los parámetros a agregar al Constructor FFMPEG para su ejecución", + "ForceEncode": "Forzar Codificación", + "ForceEncode-Help": "Si esto debería forzar al Ejecutador del Constructor FFMPEG a ejecutar siempre, incluso si no se detectan cambios que normalmente requerirían que el ejecutor se ejecute." + } + }, + "FFmpegBuilderDurationStart": { + "Label": "Constructor FFMPEG: Duración/Inicio", + "Descriptions": "Este elemento de flujo permite a los usuarios definir el punto de inicio y la duración para extraer un segmento de un video.", + "Outputs": { + "1": "Duración/Inicio configurados", + "2": "Fallo al establecer duración/inicio" + }, + "Fields": { + "Duration": "Duración", + "Duration-Help": "La duración del archivo de video, si es 0, no ajustará la duración.", + "Start": "Inicio", + "Start-Help": "El inicio del archivo de video, si es 0, no ajustará el inicio." + } + }, + "FfmpegBuilderHdrToSdr": { + "Label": "Constructor FFMPEG: HDR a SDR", + "Description": "Verifica si un flujo de video es HDR y si lo es, actualiza el Constructor FFMPEG para convertirlo a SDR.", + "Outputs": { + "1": "Flujo HDR detectado y actualizado el Constructor FFMPEG para convertir", + "2": "No se encontró flujo HDR" + } + }, + "FfmpegBuilderKeepOriginalLanguage": { + "Label": "Constructor FFMPEG: Mantener Idioma Original", + "Outputs": { + "1": "Las pistas han sido modificadas", + "2": "No se han cambiado pistas" + }, + "Description": "Este elemento de flujo mantendrá solo el idioma original y cualquier idioma adicional que el usuario defina.\n\nTodas las demás pistas de idioma se eliminarán/marcarán para eliminación.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pistas que deben ser actualizadas", + "AdditionalLanguages": "Idiomas Adicionales", + "AdditionalLanguages-Help": "Una lista opcional de códigos de idioma adicionales para mantener.\n\nSe recomienda utilizar un [código de idioma ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes).", + "KeepOnlyFirst": "Mantener Solo Primero", + "KeepOnlyFirst-Help": "Cuando está habilitado, solo se mantendrá la primera pista de cada idioma.\n\nPor ejemplo, si hay 2 pistas en inglés, 3 pistas en español y 1 pista en alemán. El idioma original era español, los idiomas adicionales se establecieron en `eng`, entonces el resultado sería 1 pista en inglés y 1 pista en español, el resto se eliminaría.", + "FirstIfNone": "Primero Si Ninguno", + "FirstIfNone-Help": "Cuando está habilitado, esto asegura que al menos se mantenga una pista. Si no se encuentran pistas que coincidan con el idioma original y no se encuentran pistas que coincidan con los idiomas adicionales, se mantendrá la primera pista sin importar.\n\nEsto evita problemas de que no quede audio en el video.", + "TreatEmptyAsOriginal": "Tratar Vacío Como Original", + "TreatEmptyAsOriginal-Help": "Cuando está habilitado, cualquier pista que no tenga idioma establecido se tratará como si fuera el idioma original.\n\nPor ejemplo, si el idioma original es maorí y una pista no tiene idioma establecido, se tratará como maorí." + } + }, + "FfmpegBuilderMetadataRemover": { + "Label": "Constructor FFMPEG: Eliminador de Metadatos", + "Description": "Elimina metadatos del Constructor FFMPEG para que, cuando se procese el archivo, se eliminen los metadatos seleccionados.\n\nNota: Solo los metadatos cuando este elemento del flujo se vea afectado; si se añaden metadatos después de que se ejecute este nodo, eso no se verá afectado.", + "Outputs": { + "1": "Metadatos eliminados del Constructor FFMPEG" + }, + "Fields": { + "Video": "Vídeo", + "Video-Help": "Si las pistas de vídeo deben tener estos metadatos eliminados", + "Audio": "Audio", + "Audio-Help": "Si las pistas de audio deben tener estos metadatos eliminados", + "Subtitle": "Subtítulo", + "Subtitle-Help": "Si las pistas de subtítulos deben tener estos metadatos eliminados", + "RemoveImages": "Eliminar Imágenes", + "RemoveImages-Help": "Si se deben eliminar todas las imágenes encontradas en los metadatos", + "RemoveTitle": "Eliminar Título", + "RemoveTitle-Help": "Si el título debe ser eliminado de las pistas", + "RemoveLanguage": "Eliminar Idioma", + "RemoveLanguage-Help": "Si el idioma debe ser eliminado de las pistas", + "RemoveAdditionalMetadata": "Eliminar Metadatos Adicionales", + "RemoveAdditionalMetadata-Help": "Si se deben eliminar metadatos adicionales. Los metadatos adicionales son metadatos no estándar que pueden haber sido añadidos a un archivo de vídeo, por ejemplo, por iTunes." + } + }, + "FfmpegBuilderDefaultOriginalLanguage": { + "Label": "Constructor FFMPEG: Idioma Original Predeterminado", + "Outputs": { + "1": "Las pistas han sido modificadas", + "2": "No se han cambiado pistas" + }, + "Description": "Este elemento de flujo intentará establecer las pistas de idioma original como predeterminadas. Intentará encontrar la primera pista que coincida con el idioma original y luego establecerla como predeterminada.\n\nSi no se encuentran pistas con el idioma original, no se realizan cambios.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pistas que deben ser actualizadas", + "MakeFirst": "Hacer Primero", + "MakeFirst-Help": "Si la pista de idioma original también debería convertirse en la primera pista." + } + }, + "FfmpegBuilderTrackSorter": { + "Label": "Constructor FFMPEG: Ordenador de Pistas", + "Outputs": { + "1": "Las pistas han sido modificadas", + "2": "No se han cambiado pistas" + }, + "Description": "Este elemento de flujo ordena las pistas según las opciones de ordenamiento establecidas por el usuario.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pistas que deben ser actualizadas", + "Sorters": "Ordenadores", + "Sorters-Help": "Añade una o más opciones de ordenamiento para ordenar las pistas.", + "SortersKey": "Campo", + "SortersValue": "Valor", + "SetFirstDefault": "Establecer Predeterminado", + "SetFirstDefault-Help": "Si la primera pista debe establecerse como predeterminada después de la ordenación." + } + }, + "FfmpegBuilderSubtitleClearDefault": { + "Label": "Constructor FFMPEG: Limpiar Predeterminado de Subtítulos", + "Description": "Este elemento de flujo eliminará la bandera predeterminada de los subtítulos.", + "Fields": { + "LeaveForced": "Dejar Forzado", + "LeaveForced-Help": "Cuando está marcado, todos los subtítulos forzados no se tocarán, mantendrán su configuración original. Esto se ejecuta antes de 'Establecer Predeterminado Forzado', por lo que tiene prioridad.", + "SetForcedDefault": "Establecer Predeterminado Forzado", + "SetForcedDefault-Help": "Cuando está marcado, el primer subtítulo encontrado con el campo Forzado establecido, será establecido como predeterminado, todos los demás tendrán su bandera predeterminada eliminada." + }, + "Outputs": { + "1": "Las banderas predeterminadas de los subtítulos han sido cambiadas", + "2": "No se realizaron cambios en los subtítulos" + } + }, + "FfmpegBuilderSubtitleFormatRemover": { + "Label": "FFMPEG Builder: Removedor de Formato de Subtítulos", + "Description": "Elimina los subtítulos de un archivo de video si se encuentran.", + "Outputs": { + "1": "Subtítulos marcados para eliminación en FFMPEG Builder", + "2": "No hay subtítulos para eliminar" + }, + "Fields": { + "SubtitlesToRemove": "Subtítulos a Eliminar", + "RemoveAll": "Eliminar Todos", + "RemoveAll-Help": "Cuando está marcado, se eliminarán todos los subtítulos del archivo, de lo contrario, solo se eliminarán los seleccionados a continuación." + } + }, + "FfmpegBuilderSubtitleTrackRemover": { + "Label": "FFMPEG Builder: Removedor de Pista de Subtítulos", + "Outputs": { + "1": "Subtítulos marcados para eliminación en FFMPEG Builder", + "2": "No hay subtítulos para eliminar" + }, + "Description": "Permite eliminar subtítulos según su título o sus códigos de idioma.\n\nCualquier idioma (o título si se establece en 'Usar Título') que esté en blanco NO será eliminado, independientemente del patrón.", + "Fields": { + "Pattern": "Patrón", + "Pattern-Help": "Una expresión regular para coincidir, por ejemplo, \"eng\" para eliminar pistas en inglés", + "NotMatching": "No Coincidente", + "NotMatching-Help": "Si los subtítulos que NO coinciden con el patrón deben ser eliminados", + "UseLanguageCode": "Usar Código de Idioma", + "UseLanguageCode-Help": "Si se debe usar el código de idioma de la pista de audio en lugar del título" + } + }, + "FfmpegBuilderSubtitleTrackMerge": { + "Label": "FFMPEG Builder: Fusión de Pista de Subtítulos", + "Outputs": { + "1": "Subtítulos encontrados y añadidos", + "2": "No se encontraron subtítulos" + }, + "Fields": { + "Subtitles": "Subtítulos", + "Subtitles-Help": "Selecciona qué subtítulos buscar para añadir", + "UseSourceDirectory": "Usar Directorio de Origen", + "UseSourceDirectory-Help": "Si está marcado, se buscará en el directorio original de origen, de lo contrario, se utilizará el directorio de trabajo.", + "MatchFilename": "Coincidir Nombre de Archivo", + "MatchFilename-Help": "Cuando está marcado, solo se fusionarán los subtítulos con el mismo nombre de archivo que el archivo de entrada o el archivo de trabajo.", + "Pattern": "Patrón", + "Pattern-Help": "Expresión regular opcional para coincidir con los archivos.", + "Title": "Título", + "Title-Help": "El título del subtítulo, si no se establece, se usará el idioma como título si se encuentra.", + "Language": "Idioma", + "Language-Help": "Código de idioma opcional [ISO 639-2](https://es.wikipedia.org/wiki/Anexo:C%C3%B3digos_ISO_639-2) para el subtítulo añadido.", + "Forced": "Forzado", + "Forced-Help": "Si el subtítulo debe ser forzado", + "Default": "Predeterminado", + "Default-Help": "Si el subtítulo debe ser el subtítulo predeterminado", + "DeleteAfterwards": "Eliminar Después de Fusionar", + "DeleteAfterwards-Help": "Si el archivo de subtítulos debe ser eliminado después de ser fusionado" + } + }, + "FfmpegBuilderCropBlackBars": { + "Label": "FFMPEG Builder: Recortar Barras Negras", + "Description": "FFMPEG Builder actualizado para recortar barras negras si se detectan.", + "Outputs": { + "1": "FFMPEG Builder actualizado para recortar barras negras", + "2": "No se detectaron barras negras, no se recorta" + }, + "Fields": { + "CroppingThreshold": "Umbral", + "CroppingThreshold-Help": "La cantidad de píxeles que deben ser mayores para recortar. Por ejemplo, si solo hay 5 píxeles detectados como espacio negro, puedes considerar que esto es demasiado pequeño para recortar." + } + }, + "FfmpegBuilderPreExecute": { + "Label": "FFMPEG Builder: Pre-Ejecutar", + "Description": "Este elemento te permite ejecutar código personalizado justo antes de que el [FFmpeg Builder: Executor](https://fileflows.com/docs/plugins/video-nodes/ffmpeg-builder) ejecute FFmpeg.\n\nEsto te permite modificar los argumentos pasados a FFmpeg.", + "Outputs": { + "1": "Pre-Ejecutar configurado" + }, + "Fields": { + "Code": "Código" + } + }, + "FfmpegBuilderProres": { + "Label": "FFMPEG Builder: Prores", + "Description": "Codifica el video al formato prores.", + "Outputs": { + "1": "Video configurado para usar prores" + }, + "Fields": { + "Encoder": "Codificador", + "Encoder-Help": "Qué codificador prores de FFmpeg usar.", + "Quality": "Calidad", + "Quality-Help": "0 para calidad máxima, 32 para calidad mínima. 9 a 13 son buenos valores a usar.", + "Profile": "Perfil", + "PixelFormat": "Formato de Pixel" + } + }, + "FfmpegBuilderRemoveAttachments": { + "Label": "FFMPEG Builder: Eliminar Adjuntos", + "Description": "Elimina cualquier adjunto del video, si los hay.", + "Outputs": { + "1": "FFMPEG Builder configurado para eliminar adjuntos." + } + }, + "FfmpegBuilderRemuxToMkv": { + "Label": "FFMPEG Builder: Remux a MKV", + "Description": "Remuxea un archivo de video a un contenedor MKV.", + "Outputs": { + "1": "FFMPEG Builder configurado para remux a MKV" + } + }, + "FfmpegBuilderRemuxToMxf": { + "Label": "FFMPEG Builder: Remux a MXF", + "Description": "Remuxea un archivo de video a un contenedor MXF.", + "Outputs": { + "1": "FFMPEG Builder configurado para remux a MXF" + } + }, + "FfmpegBuilderRemuxToMP4": { + "Label": "FFMPEG Builder: Remux a MP4", + "Description": "Remuxea un archivo de video a un contenedor MP4.", + "Outputs": { + "1": "FFMPEG Builder configurado para remux a MP4" + }, + "Fields": { + "UseHvc1": "Usar HVC1", + "UseHvc1-Help": "Si HVC1 debe ser utilizado en lugar del HEV1 predeterminado" + } + }, + "FfmpegBuilderRemuxToMov": { + "Label": "FFMPEG Builder: Remux a MOV", + "Description": "Remuxea un archivo de video a un contenedor MOV.", + "Outputs": { + "1": "FFMPEG Builder configurado para remux a MOV" + } + }, + "FfmpegBuilderRemuxToWebm": { + "Label": "FFMPEG Builder: Remux a WEBM", + "Description": "Remuxea un archivo de video a un contenedor WEBM.", + "Outputs": { + "1": "FFMPEG Builder configurado para remux a WEBM" + } + }, + "FfmpegBuilderScaler": { + "Label": "FFMPEG Builder: Escalador de Video", + "Description": "Esto te permite escalar un video a las dimensiones especificadas. Mantendrá la relación de aspecto del video, por lo que si el video era 1920x1000, se escalará a 1280x668 si seleccionas 720P.", + "Outputs": { + "1": "Filtro de escala de FFMPEG Builder agregado", + "2": "El video ya estaba en/cercano a la resolución escalada" + }, + "Fields": { + "Force": "Forzar", + "Force-Help": "Cuando está marcado, el video será escalado forzosamente incluso si el archivo de trabajo ya está en esta resolución (o cerca de esta resolución).", + "OnlyIfLarger": "Solo Si Es Más Grande", + "OnlyIfLarger-Help": "El video solo se escalará a esta resolución si el video es actualmente más grande que esta resolución", + "Resolution": "Resolución" + } + }, + "FfmpegBuilderSetDefaultTrack": { + "Label": "Constructor FFMPEG: Establecer Pista Predeterminada", + "Description": "Establecer una pista como predeterminada en el constructor de FFMPEG.", + "Outputs": { + "1": "Pista establecida como predeterminada", + "2": "Error al establecer la pista como predeterminada" + }, + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pista para establecer como predeterminada en el Constructor FFMPEG", + "Language": "Idioma", + "Language-Help": "Código de idioma [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) opcional a utilizar.", + "Index": "Índice", + "Index-Help": "El índice de la pista a establecer como predeterminada, solo se usa si no se especifica el idioma." + } + }, + "FfmpegBuilderSetDevice": { + "Label": "Constructor FFMPEG: Establecer Dispositivo", + "Description": "Establece el dispositivo a utilizar para la codificación/decodificación por hardware si el codificador/decodificador lo admite.", + "Outputs": { + "1": "Dispositivo establecido" + }, + "Fields": { + "Device": "Dispositivo", + "Device-Help": "La ruta al dispositivo, o dejar en blanco si no se debe especificar ningún dispositivo." + } + }, + "FfmpegBuilderSetFps": { + "Label": "Constructor FFMPEG: Establecer FPS", + "Description": "Establecer los fotogramas por segundo (FPS) en el Constructor FFMPEG", + "Outputs": { + "1": "FPS actualizado", + "2": "No se realizaron cambios necesarios" + }, + "Fields": { + "Fps": "FPS", + "Fps-Help": "El FPS deseado; si el FPS de entrada y el FPS deseado no coinciden, FFMPEG lo convertirá, por ejemplo (23.976, 24, 30, 60).", + "OnlyIfHigher": "Solo Si Es Mayor", + "OnlyIfHigher-Help": "Si el FPS debe ajustarse solo si el FPS actual es mayor que el actual." + } + }, + "FfmpegBuilderSetTrackTitles": { + "Label": "Constructor FFMPEG: Establecer Títulos de Pista", + "Description": "Establecer títulos de pista basados en un formateador en el constructor de FFMPEG.", + "Outputs": { + "1": "Títulos de pista actualizados", + "2": "No se vieron afectados títulos de pista" + }, + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "El tipo de pista para establecer como predeterminada en el Constructor FFMPEG", + "Format": "Formato", + "Format-Help": "El formateador a utilizar, consulte _Ayuda_ para más información.", + "Separator": "Separador", + "Separator-Help": "El separador de cadena utilizado entre los valores de formato, esto es necesario para asegurar que no se mantengan valores vacíos.", + "CommentaryFormat": "Comentario", + "CommentaryFormat-Help": "Cómo deben tratarse las pistas de comentario; puede usar el mismo formateador que otras pistas o utilizar un método diferente." + } + }, + "FfmpegBuilderVideo10Bit": { + "Label": "Constructor FFMPEG: Video 10 Bit", + "Description": "Establece el Constructor FFMPEG para codificar los flujos de video en 10 Bit", + "Outputs": { + "1": "Flujos de video del Constructor FFMPEG establecidos para codificar en 10 Bit" + } + }, + "FfmpegBuilderVideoBitrate": { + "Label": "FFMPEG Builder: Tasa de Bits de Video", + "Description": "Configura el FFMPEG Builder para codificar el video dada la tasa de bits", + "Outputs": { + "1": "Flujos de video del FFMPEG Builder actualizados" + }, + "Fields": { + "Bitrate": "Tasa de Bits", + "Bitrate-Suffix": "KB / %", + "Bitrate-Help": "La tasa de bits objetivo del video en kilobytes", + "Percent": "Porcentaje", + "Percent-Help": "Cuando se selecciona, la tasa de bits se calculará como un porcentaje de la tasa de bits actual." + } + }, + "FfmpegBuilderVideoMaxBitrate": { + "Label": "FFMPEG Builder: Tasa de Bits Máxima de Video", + "Description": "Configura el FFMPEG Builder para limitar la tasa de bits del video", + "Outputs": { + "1": "Flujos de video del FFMPEG Builder actualizados" + }, + "Fields": { + "Bitrate": "Tasa de Bits Máxima", + "Bitrate-Suffix": "KB", + "Bitrate-Help": "La tasa de bits máxima del video en kilobytes" + } + }, + "FfmpegBuilderVideoCodec": { + "Label": "FFMPEG Builder: Códec de Video", + "Description": "Configura el FFMPEG Builder para codificar los flujos de video en el códec especificado", + "Outputs": { + "1": "Flujos de video del FFMPEG Builder configurados para codificar", + "2": "Video ya en el códec objetivo, no se volverá a codificar" + }, + "Fields": { + "VideoCodec": "Códec de Video", + "VideoCodec-Help": "El códec de video en el que debe estar el video, por ejemplo hevc, h264.\nSi se deja vacío, se copiarán todas las pistas de video originales.", + "VideoCodecParameters": "Parámetros del Códec de Video", + "VideoCodecParameters-Help": "Los parámetros a usar para codificar el video, por ejemplo, \"hevc_nvenc -preset hq -crf 23\" para codificar en hevc utilizando el preset HQ con un factor de tasa constante de 23 y utilizando la aceleración de hardware NVIDIA.", + "Force": "Forzar Codificación", + "Force-Help": "Forzará la codificación del video incluso si ya está en el códec de video objetivo", + "DisableOtherVideoStreams": "Solo Primero", + "DisableOtherVideoStreams-Help": "Cuando se marca, si hay múltiples flujos de video en el archivo, esto eliminará todos menos el primer flujo de video del archivo una vez ejecutado." + } + }, + "FfmpegBuilderVideoEncode": { + "Label": "FFMPEG Builder: Codificación de Video", + "Description": "Configura el FFMPEG Builder para codificar el video con presets fáciles de usar", + "Outputs": { + "1": "Flujos de video del FFMPEG Builder configurados para codificar" + }, + "Fields": { + "Codec": "Códec", + "Speed": "Velocidad", + "Encoder": "Codificador", + "Encoder-Help": "El codificador que se forzará a usar. Si especifica un codificador de hardware que no está disponible, la codificación fallará.", + "HardwareEncoding": "Codificación por Hardware", + "HardwareEncoding-Help": "Cuando se marca, probará si se encuentran codificadores de hardware en el Nodo de Procesamiento, y si se encuentran, usará la codificación por hardware, de lo contrario, volverá a la codificación por CPU.", + "Quality": "Calidad", + "Quality-Help": "Una escala de calidad logarítmica, por lo que pequeños cambios en este control deslizante causan grandes cambios en el tamaño/ calidad del archivo.\nCuanto menor sea el número, mayor será la calidad.\nConsulta la Ayuda para más información", + "Quality-Suffix": "(Mayor Calidad, archivo más grande)" + } + }, + "FfmpegBuilderVideoBitrateEncode": { + "Label": "FFMPEG Builder: Codificación de Tasa de Bits", + "Description": "Configura el FFMPEG Builder para codificar el video con presets fáciles de usar basados en la Tasa de Bits", + "Outputs": { + "1": "Flujos de video del FFMPEG Builder configurados para codificar" + }, + "Fields": { + "Codec": "Códec", + "Bitrate": "Tasa de Bits", + "Bitrate-Suffix": "Kbps", + "Encoder": "Codificador", + "Encoder-Help": "El codificador que se forzará a usar. Si especifica un codificador de hardware que no está disponible, la codificación fallará.", + "HardwareEncoding": "Codificación por Hardware", + "HardwareEncoding-Help": "Cuando se marca, probará si se encuentran codificadores de hardware en el Nodo de Procesamiento, y si se encuentran, usará la codificación por hardware, de lo contrario, volverá a la codificación por CPU." + } + }, + "FfmpegBuilderVideoTag": { + "Label": "FFMPEG Builder: Etiqueta de Video", + "Description": "Establece una etiqueta de video en el archivo", + "Outputs": { + "1": "Etiqueta FFMPEG Builder añadida" + }, + "Fields": { + "Tag": "Etiqueta", + "Tag-Help": "La etiqueta para añadir al archivo de video" + } + }, + "FFmpegBuilderWatermark": { + "Label": "FFMPEG Builder: Marca de Agua", + "Description": "Añade una marca de agua a un archivo de video.", + "Outputs": { + "1": "Marca de agua añadida" + }, + "Fields": { + "Image": "Imagen", + "Image-Help": "El archivo de imagen para la marca de agua, para mejores resultados usa un archivo PNG.", + "Position": "Posición", + "Position-Help": "Dónde colocar la marca de agua", + "Opacity": "Opacidad", + "Opacity-Help": "Ajusta el nivel de transparencia de la imagen superpuesta, que va de 0 (totalmente transparente) a 100 (totalmente opaco).", + "XPos": "Posición X", + "XPos-Help": "La posición de la marca de agua en el eje x", + "YPos": "Posición Y", + "YPos-Help": "La posición de la marca de agua en el eje y", + "Width": "Ancho", + "Width-Help": "Establece un ancho personalizado de la imagen, o establece en 0 para el ancho original o escalado si se establece la altura.", + "Height": "Altura", + "Height-Help": "Establece una altura personalizada de la imagen, o establece en 0 para la altura original o escalada si se establece el ancho." + } + }, + "ReadVideoInfo": { + "Description": "Lee la información del video del archivo de trabajo actual y actualiza las variables vi.", + "Outputs": { + "1": "El archivo era un archivo de video y la información se leyó en el flujo", + "2": "El archivo no era un archivo de video o no se pudo leer" + } + }, + "SubtitleExtractor": { + "Description": "Extrae una única pista de subtítulos y la guarda en la ubicación de destino. Puede extraer formatos srt, ass y ssa.\nEsto NO actualizará el archivo de trabajo y mantendrá el archivo de trabajo igual que el archivo de entrada.\n\nSalida 1: Se extrajeron subtítulos\nSalida 2: No se encontraron subtítulos para extraer", + "Outputs": { + "1": "Subtítulos extraídos", + "2": "No se extrajeron subtítulos" + }, + "Fields": { + "Language": "Idioma", + "Language-Help": "El código de idioma [ISO 639-2](https://es.wikipedia.org/wiki/ISO_639-2) a utilizar.", + "Title": "Título", + "Title-Help": "Opcionalmente, introduce un título. Esto puede ser una expresión regular o una cadena que debe aparecer en el título para ser coincidente.", + "OutputFile": "Archivo de Salida", + "OutputFile-Help": "Dónde guardar el archivo de salida, por ejemplo, \"'{folder.Orig.FullName}\\{file.Orig.FileName}.srt'\" para guardarlo con el archivo original como salida srt.\nSi se deja en blanco, se creará un subtítulo srt en la misma carpeta que el archivo de entrada original.", + "SetWorkingFile": "Establecer como Archivo de Trabajo", + "SetWorkingFile-Help": "Cuando esto está marcado, si se extrae un subtítulo, el archivo de trabajo se cambiará a este subtítulo extraído. El archivo de trabajo original NO será eliminado.", + "ForcedOnly": "Solo Forzados", + "ForcedOnly-Help": "Si solo se deben extraer subtítulos forzados.", + "OnlyTextSubtitles": "Solo Subtítulos de Texto", + "OnlyTextSubtitles-Help": "Si solo se deben extraer subtítulos de texto, se omitirán todos los subtítulos basados en imágenes.", + "ExtractAll": "Extraer Todos", + "ExtractAll-Help": "Si se deben extraer todos los subtítulos coincidentes." + } + }, + "VideoBitCheck": { + "Label": "Verificación de Bits de Video", + "Description": "Verifica si un video es de 8-Bit, 10-Bit, 12-Bit o desconocido.", + "Outputs": { + "1": "El video es de 8-Bit", + "2": "El video es de 10-Bit", + "3": "El video es de 12-Bit", + "4": "Desconocido" + } + }, + "VideoIs8Bit": { + "Label": "El Video Es de 8-Bit", + "Description": "Prueba si un archivo de video es de 8-Bit", + "Outputs": { + "1": "El video es de 8-Bit", + "2": "El video no es de 8-Bit" + } + }, + "VideoIs10Bit": { + "Label": "El Video Es de 10-Bit", + "Description": "Prueba si un archivo de video es de 10-Bit", + "Outputs": { + "1": "El video es de 10-Bit", + "2": "El video no es de 10-Bit" + } + }, + "VideoIs12Bit": { + "Label": "El Video Es de 12-Bit", + "Description": "Prueba si un archivo de video es de 12-Bit", + "Outputs": { + "1": "El video es de 12-Bit", + "2": "El video no es de 12-Bit" + } + }, + "VideoAlreadyProcessed": { + "Label": "Video Ya Procesado", + "Description": "Prueba si un archivo de video ya ha sido procesado por FileFlows", + "Outputs": { + "1": "El video ya ha sido procesado", + "2": "El video no ha sido procesado" + } + }, + "VideoIsInterlaced": { + "Label": "El video está entrelazado", + "Description": "Prueba si un archivo de video está entrelazado", + "Outputs": { + "1": "El video está entrelazado", + "2": "El video no está entrelazado" + }, + "Fields": { + "Threshold": "Umbral", + "Threshold-Help": "El porcentaje de fotogramas detectados como entrelazados que el video debe tener para ser considerado entrelazado" + } + }, + "VideoHasErrors": { + "Label": "El video tiene errores", + "Description": "Prueba si un archivo de video contiene errores", + "Outputs": { + "1": "Contiene un error", + "2": "No se detectaron errores" + }, + "Fields": { + "HardwareDecoding": "Decodificación por Hardware", + "HardwareDecoding-Help": "Si se debe intentar usar la decodificación por hardware. Si no está disponible, la ejecución continuará simplemente sin la decodificación por hardware habilitada." + } + }, + "VideoHasStream": { + "Label": "El video tiene pista", + "Description": "Prueba si un archivo de video contiene una pista", + "Outputs": { + "1": "Contiene la pista correspondiente", + "2": "No contiene la pista correspondiente" + }, + "Fields": { + "Stream": "Tipo", + "Stream-Help": "El tipo de pista a buscar", + "Title": "Título", + "Title-Help": "Una expresión regular utilizada para probar el título de la pista", + "Codec": "Códec", + "Codec-Help": "Una expresión regular utilizada para probar el códec de la pista", + "Language": "Idioma", + "Language-Help": "Una expresión regular utilizada para probar el idioma de la pista", + "Channels": "Canales", + "Channels-Help": "El número de canales a probar. Déjelo en blanco para ignorar esta verificación", + "CheckDeleted": "Verificar eliminados", + "CheckDeleted-Help": "Si las pistas eliminadas también deben ser verificadas", + "Invert": "Invertir", + "Invert-Help": "Invierte el resultado, por lo que efectivamente se convierte en `El video no tiene pista`", + "Forced": "Forzado", + "Forced-Help": "Si esta pista debe ser una pista forzada o no.", + "Default": "Predeterminado", + "Default-Help": "Si esta pista debe ser una pista predeterminada o no." + } + }, + "VideoBitrateGreaterThan": { + "Label": "Tasa de Bits de Video Mayor Que", + "Description": "Prueba si la tasa de bits de un video es mayor que una tasa de bits dada.", + "Outputs": { + "1": "La tasa de bits es mayor que", + "2": "La tasa de bits no es mayor que" + }, + "Fields": { + "Bitrate": "Tasa de Bits", + "Bitrate-Suffix": "KBps" + } + }, + "VideoExtractAudio": { + "Label": "Extraer Audio de Video", + "Description": "Extrae audio de un archivo de video y lo guarda en un archivo", + "Outputs": { + "1": "Audio extraído y guardado en un archivo", + "2": "No se pudo encontrar una pista para extraer" + }, + "Fields": { + "Title": "Título", + "Title-Help": "Una expresión regular utilizada para probar el título de la pista", + "Codec": "Códec", + "Codec-Help": "Una expresión regular utilizada para probar el códec de la pista", + "Language": "Idioma", + "Language-Help": "Una expresión regular utilizada para probar el idioma de la pista", + "Channels": "Canales", + "Channels-Help": "El número de canales que la pista de origen debe tener para coincidir. Establecer en 0 para omitir la coincidencia de canales.", + "OutputFile": "Archivo de Salida", + "OutputFile-Help": "Dónde guardar el archivo de salida, por ejemplo, \"'{folder.Orig.FullName}\\{file.Orig.FileName}.mp3'\" para guardarlo con el archivo original como salida mp3.\nSi no se establece ninguna extensión, se usará el códec de salida para determinar la extensión.", + "SetWorkingFile": "Establecer como Archivo de Trabajo", + "SetWorkingFile-Help": "Cuando esto está marcado, si se extrae un subtítulo, el archivo de trabajo se cambiará a este subtítulo extraído. El archivo de trabajo original NO será eliminado.", + "OutputCodec": "Códec de Salida", + "OutputCodec-Help": "El códec para guardar el audio extraído", + "OutputBitrate": "Tasa de Bits de Salida", + "OutputBitrate-Help": "La tasa de bits de la pista de audio extraída", + "NotMatching": "No Coincidente", + "NotMatching-Help": "Si se debe extraer una pista de audio que NO coincida con el patrón" + } + }, + "VideoResolution": { + "Label": "Resolución de Video", + "Description": "Determina la resolución de un video y devuelve la salida correspondiente.", + "Outputs": { + "1": "El video es 4K", + "2": "El video es 1080p", + "3": "El video es 720p", + "4": "El video es SD" + } + } + } + } +} \ No newline at end of file diff --git a/VideoNodes/i18n/fr.json b/VideoNodes/i18n/fr.json new file mode 100644 index 00000000..22df1a3d --- /dev/null +++ b/VideoNodes/i18n/fr.json @@ -0,0 +1,1035 @@ +{ + "H": { + "264": "H.264", + "265": "H.265" + }, + "5": { + "1": "5.1" + }, + "7": { + "1": "7.1" + }, + "Enums": { + "WatermarkPosition": { + "Center": "Centre", + "TopLeft": "Haut Gauche", + "TopRight": "Haut Droit", + "BottomRight": "Bas Droit", + "BottomLeft": "Bas Gauche" + } + }, + "Flow": { + "Parts": { + "DisableAmd": { + "Label": "Désactiver AMD", + "Description": "Désactive l'encodeur matériel AMD AMF", + "Outputs": { + "1": "Désactivé" + } + }, + "DisableIntelQsv": { + "Label": "Désactiver Intel QSV", + "Description": "Désactive l'encodeur matériel Intel QSV", + "Outputs": { + "1": "Désactivé" + } + }, + "DisableNvidia": { + "Label": "Désactiver NVIDIA", + "Description": "Désactive l'encodeur matériel NVIDIA", + "Outputs": { + "1": "Désactivé" + } + }, + "DisableVaapi": { + "Label": "Désactiver VAAPI", + "Description": "Désactive l'encodeur matériel VAAPI", + "Outputs": { + "1": "Désactivé" + } + }, + "AudioToVideo": { + "Description": "Convertit un fichier audio en un fichier vidéo et génère une vidéo basée sur l'audio", + "Fields": { + "Visualization": "Visualisation", + "Visualization-Help": "La visualisation à utiliser dans la vidéo générée. Voir l'aide pour des exemples", + "Container": "Conteneur", + "Resolution": "Résolution", + "Codec": "Codec", + "HardwareEncoding": "Encodage matériel", + "HardwareEncoding-Help": "Lorsque cette case est cochée, elle testera si des encodeurs matériels sont trouvés sur le nœud de traitement, et si c'est le cas, elle utilisera l'encodage matériel, sinon elle retombera sur l'encodage CPU.", + "Color": "Couleur", + "Color-Help": "Code couleur #RRGGBB optionnel à utiliser pour les ondes sonores, doit être au format #RRGGBB, par exemple #FF0090" + } + }, + "CanUseHardwareEncoding": { + "Description": "Vérifie si l'encodeur matériel spécifié est actuellement disponible pour le flux.", + "Fields": { + "Encoder": "Encodeur", + "Encoder-Help": "L'encodeur matériel à vérifier" + } + }, + "ComskipRemoveAds": { + "Description": "Utilise un fichier EDL comskip et supprimera les publicités en utilisant ce fichier.", + "Outputs": { + "1": "Publicités supprimées, enregistrées dans un fichier temporaire", + "2": "Aucune publicité détectée" + }, + "Fields": { + "RunComskipIfNoEdl": "Exécuter Comskip", + "RunComskipIfNoEdl-Help": "Exécuter comskip contre le fichier si aucun fichier comskip (EDL) n'est trouvé." + } + }, + "VideoFile": { + "Description": "Un fichier vidéo d'entrée dont les informations vidéo ont été lues et qui peut être traité", + "Outputs": { + "1": "Fichier vidéo de la bibliothèque" + }, + "Fields": { + "ProbeSize": "Taille de l'échantillon", + "ProbeSize-Suffix": "Mo", + "ProbeSize-Help": "La taille de l'échantillon à utiliser dans FFMPEG lors de l'exécution.", + "AnalyzeDuration": "Durée d'analyse", + "AnalyzeDuration-Help": "Spécifiez combien de secondes sont analysées pour sonder l'entrée", + "AnalyzeDuration-Suffix": "secondes" + } + }, + "VideoDuration": { + "Description": "Vérifie si la durée de la vidéo correspond aux paramètres donnés.", + "Outputs": { + "1": "La durée de la vidéo correspond", + "2": "La durée de la vidéo ne correspond pas" + }, + "Fields": { + "Match": "Correspondance", + "ValueLow": "Durée", + "ValueHigh": " " + } + }, + "VideoDurationCompare": { + "Description": "Compare la durée originale d'une vidéo avec sa durée finale.", + "Outputs": { + "1": "La vidéo est dans la différence de durée autorisée", + "2": "La vidéo n'est pas dans la différence de durée autorisée" + }, + "Fields": { + "AllowedDifference": "Différence Autorisée", + "AllowedDifference-Help": "La différence de temps autorisée entre la durée originale de la vidéo et la durée finale." + } + }, + "FfmpegBuilderStart": { + "Label": "Constructeur FFMPEG: Démarrer", + "Outputs": { + "1": "Constructeur FFMPEG créé et prêt à ajouter des éléments de flux de constructeur FFMPEG" + }, + "Description": "Crée une instance du constructeur FFMPEG qui peut construire un argument FFMPEG pour ensuite s'exécuter avec l'exécuteur FFMPEG." + }, + "FfmpegBuilderDeinterlace": { + "Label": "Constructeur FFMPEG: Désentrelacer", + "Outputs": { + "1": "Filtre de désentrelacement ajouté au flux vidéo" + }, + "Fields": { + "Mode": "Mode", + "Mode-Help": "La méthode de désentrelacement à utiliser. Voir l'aide pour plus d'informations." + } + }, + "FfmpegBuilderExecutor": { + "Label": "Constructeur FFMPEG: Exécuteur", + "Outputs": { + "1": "Le constructeur FFMPEG a été exécuté avec succès et a créé un nouveau fichier temporaire", + "2": "Aucun changement détecté dans le constructeur FFMPEG, fichier non créé" + }, + "Description": "Exécute une commande du constructeur FFMPEG créée par d'autres éléments de flux de constructeur FFMPEG.", + "Fields": { + "HardwareDecoding": "Décodage Matériel", + "HardwareDecoding-Help": "Si l'exécuteur doit essayer d'utiliser le décodage matériel. Si non disponible, l'exécution se poursuivra sans le décodage matériel activé.", + "Strictness": "Rigueur", + "Strictness-Help": "Vous permet de personnaliser la rigueur de FFmpeg. Cela doit être laissé sur 'Expérimental' pour la plupart des utilisateurs." + } + }, + "FfmpegBuilderAddInputFile": { + "Label": "Constructeur FFMPEG: Ajouter Fichier d'Entrée", + "Outputs": { + "1": "Fichier trouvé et ajouté", + "2": "Fichier non trouvé" + }, + "Fields": { + "Pattern": "Modèle", + "Pattern-Help": "Une expression régulière utilisée pour rechercher des fichiers d'entrée", + "UseSourceDirectory": "Utiliser le Répertoire Source", + "UseSourceDirectory-Help": "S'il est coché, il recherchera dans le répertoire source original; sinon, il utilisera le répertoire de travail." + } + }, + "FfmpegBuilderAspectRatio": { + "Label": "Constructeur FFMPEG: Rapport d'Aspect", + "Outputs": { + "1": "Le rapport d'aspect a été changé avec succès", + "2": "La vidéo était déjà au rapport d'aspect souhaité" + }, + "Fields": { + "AspectRatio": "Rapport d'Aspect", + "AspectRatio-Help": "Sélectionnez le rapport d'aspect souhaité pour la vidéo. Les options disponibles incluent des rapports d'aspect standard (16:9, 4:3, 21:9) ou un rapport personnalisé.", + "CustomWidth": "Largeur Personnalisée", + "CustomWidth-Help": "Spécifiez la largeur à utiliser lors de la sélection de l'option de rapport d'aspect personnalisé.", + "CustomHeight": "Hauteur Personnalisée", + "CustomHeight-Help": "Spécifiez la hauteur à utiliser lors de la sélection de l'option de rapport d'aspect personnalisé.", + "AdjustmentMode": "Mode d'Ajustement", + "AdjustmentMode-Help": "Choisissez comment le rapport d'aspect doit être respecté. Les options incluent l'étirement de la vidéo, l'ajout de barres noires (letterbox) ou le rognage de la vidéo pour s'adapter au rapport d'aspect." + } + }, + "FfmpegBuilderAudioAddTrack": { + "Label": "Constructeur FFMPEG: Ajouter Piste Audio", + "Outputs": { + "1": "Piste audio ajoutée au constructeur FFMPEG", + "2": "Aucune piste audio source appropriée trouvée pour créer une nouvelle piste audio" + }, + "Description": "Ajoute une nouvelle piste audio au constructeur FFMPEG qui sera ajoutée une fois que le constructeur sera exécuté.", + "Fields": { + "CustomTrackSelection": "Sélection de Piste Source", + "TrackSelectionOptions": "Sélection de Piste", + "TrackSelectionOptionsKey": "Propriété", + "TrackSelectionOptionsValue": "Valeur", + "Index": "Index", + "Index-Help": "L'index où insérer la nouvelle piste audio. Basé sur 0, donc pour insérer la nouvelle piste audio comme la première piste, réglez ceci sur 0.", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que cette nouvelle piste audio aura.\nSi vous spécifiez plus de canaux que l'original, FFmpeg les mélangera automatiquement vers le haut.\nSi vous spécifiez moins de canaux que l'original, FFmpeg les mélangera automatiquement vers le bas.", + "Bitrate": "Débit", + "Bitrate-Help": "Débit de la nouvelle piste audio", + "Codec": "Codec", + "Codec-Help": "Le codec à utiliser pour encoder l'audio", + "SampleRate": "Taux d'Échantillonnage", + "SampleRate-Help": "Le taux d'échantillonnage à utiliser pour la nouvelle piste audio", + "Language": "Langue", + "Language-Help": "Code de langue optionnel [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) à utiliser. Tentera de trouver une piste audio avec ce code de langue; sinon, la meilleure piste audio sera utilisée.", + "NewTitle": "Nouveau Titre", + "NewTitle-Help": "Titre optionnel pour la piste audio nouvellement créée. S'il est laissé vide, le titre d'origine sera utilisé", + "RemoveTitle": "Supprimer le Titre", + "RemoveTitle-Help": "Si le titre d'origine doit être supprimé et que la piste ne doit pas avoir de titre", + "BitratePerChannel": "Débit Par Canal", + "BitratePerChannel-Help": "Si le débit spécifié doit être par canal" + } + }, + "FfmpegBuilderAudioAdjustVolume": { + "Label": "FFMPEG Builder: Ajuster le Volume Audio", + "Outputs": { + "1": "Filtre de volume de pistes audio ajouté au FFMPEG Builder", + "2": "Les pistes audio n'ont pas été ajustées" + }, + "Description": "Ajuste le volume des pistes audio dans un fichier vidéo à l'aide de FFMPEG", + "Fields": { + "AllAudio": "Toutes les Pistes Audio", + "AllAudio-Help": "Si toutes les pistes audio doivent être normalisées ou si seule la première piste doit l'être", + "VolumePercent": "Pourcentage de Volume", + "VolumePercent-Help": "Le pourcentage du volume ajusté.\n100 signifie sans ajustement\n50 signifie volume réduit\n0 signifie coupé", + "Pattern": "Patron", + "Pattern-Help": "Une expression régulière pour faire correspondre, par exemple \"commentaires\" pour supprimer les pistes de commentaires", + "NotMatching": "Pas Correspondant", + "NotMatching-Help": "Si les pistes audio qui NE correspondent pas au patron doivent être supprimées", + "UseLanguageCode": "Utiliser le Code de Langue", + "UseLanguageCode-Help": "Si le code de langue de la piste audio doit être utilisé à la place du titre" + } + }, + "FfmpegBuilderAudioConvert": { + "Label": "FFMPEG Builder: Convertir l'Audio", + "Outputs": { + "1": "Pistes à convertir", + "2": "Aucune piste à convertir" + }, + "Description": "Vous permet de convertir toutes les pistes correspondant aux paramètres à convertir.", + "Fields": { + "CustomTrackSelection": "Convertir", + "TrackSelectionOptions": "Correspondance", + "TrackSelectionOptionsKey": "Propriété", + "TrackSelectionOptionsValue": "Valeur", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que cette nouvelle piste audio aura.\nSi vous spécifiez plus de canaux que la source, FFMPEG le mélangera automatiquement.\nSi vous spécifiez moins de canaux que la source, FFMPEG le mélangera automatiquement.", + "PcmFormat": "Format", + "PcmFormat-Help": "Le format PCM à utiliser pour encoder l'audio PCM.", + "Bitrate": "Débit Binaire", + "Bitrate-Help": "Débit binaire de la piste audio", + "Codec": "Codec", + "Codec-Help": "Le codec à utiliser pour encoder l'audio", + "BitratePerChannel": "Débit Binaire Par Canal", + "BitratePerChannel-Help": "Si le débit binaire spécifié doit être par canal" + } + }, + "FfmpegBuilderAudioConverter": { + "Label": "FFMPEG Builder: Convertisseur Audio", + "Outputs": { + "1": "Pistes à convertir", + "2": "Aucune piste à convertir" + }, + "Description": "Vous permet de convertir toutes les pistes correspondant aux paramètres à convertir.", + "Fields": { + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que cette nouvelle piste audio aura.\nSi vous spécifiez plus de canaux que la source, FFMPEG le mélangera automatiquement.\nSi vous spécifiez moins de canaux que la source, FFMPEG le mélangera automatiquement.", + "PcmFormat": "Format", + "PcmFormat-Help": "Le format PCM à utiliser pour encoder l'audio PCM.", + "Bitrate": "Débit Binaire", + "Bitrate-Help": "Débit binaire de la piste audio", + "Codec": "Codec", + "Codec-Help": "Le codec à utiliser pour encoder l'audio", + "Field": "Champ", + "Field-Help": "Le champ à faire correspondre avec le patron. Laissez le patron vide pour faire correspondre n'importe quoi sans valeur établie.", + "Pattern": "Patron", + "Pattern-Help": "Une chaîne ou une expression régulière pour faire correspondre, par exemple \"commentaires\" pour faire correspondre exactement des commentaires ou \".*commentaires.*\" pour faire correspondre des commentaires n'importe où dans la chaîne", + "NotMatching": "Pas Correspondant", + "NotMatching-Help": "Si les pistes audio qui NE correspondent pas au patron doivent être converties", + "BitratePerChannel": "Débit Binaire Par Canal", + "BitratePerChannel-Help": "Si le débit binaire spécifié doit être par canal" + } + }, + "FfmpegBuilderAudioNormalization": { + "Label": "FFMPEG Builder: Normalisation Audio", + "Outputs": { + "1": "Les pistes audio ont été normalisées et ajoutées au FFMPEG Builder", + "2": "Aucune piste audio trouvée à normaliser" + }, + "Description": "Normalise toutes les pistes audio d'un fichier vidéo à l'aide du filtre loudnorm de FFMPEG", + "Fields": { + "TwoPass": "Deux Passes", + "TwoPass-Help": "Si les pistes audio doivent utiliser la normalisation en deux passes. Cela améliore la normalisation mais augmente le temps de traitement.", + "AllAudio": "Toutes les Pistes Audio", + "AllAudio-Help": "Si toutes les pistes audio doivent être normalisées ou si seule la première piste doit l'être", + "Pattern": "Patron", + "Pattern-Help": "Une expression régulière pour faire correspondre, par exemple \"commentaires\" pour supprimer les pistes de commentaires", + "NotMatching": "Pas Correspondant", + "NotMatching-Help": "Si les pistes audio qui NE correspondent pas au patron doivent être supprimées", + "UseLanguageCode": "Utiliser le Code de Langue", + "UseLanguageCode-Help": "Si le code de langue de la piste audio doit être utilisé à la place du titre" + } + }, + "FfmpegBuilderAudioTrackRemover": { + "Label": "FFMPEG Builder: Supprimer les Pistes (Obsolète)", + "Outputs": { + "1": "Pistes établies pour être supprimées", + "2": "Pistes NON établies pour être supprimées" + }, + "Description": "Vous permet de supprimer des pistes basées sur leur titre ou leurs codes de langue.\n\nTout titre (ou code de langue si défini sur \"Utiliser le Code de Langue\") qui est vide ne sera PAS supprimé indépendamment du patron.", + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de pistes à réorganiser dans le FFMPEG Builder", + "RemoveAll": "Tout Supprimer", + "RemoveAll-Help": "Supprime toutes les pistes actuelles du fichier de sortie. Vous pouvez utiliser Ajouter Piste après pour ajouter des pistes de codecs spécifiques", + "Pattern": "Patron", + "Pattern-Help": "Une expression régulière pour faire correspondre, par exemple \"commentaires\" pour supprimer les pistes de commentaires", + "NotMatching": "Pas Correspondant", + "NotMatching-Help": "Si les pistes audio qui NE correspondent pas au patron doivent être supprimées", + "UseLanguageCode": "Utiliser le Code de Langue", + "UseLanguageCode-Help": "Si le code de langue de la piste doit être utilisé à la place du titre", + "RemoveIndex": "Supprimer l'Index", + "RemoveIndex-Help": "L'index de départ à partir duquel supprimer les pistes. Cela vous permet de supprimer toutes les pistes qui correspondent après l'index de départ.\nDéfinir à zéro pour supprimer toutes celles qui correspondent aux paramètres.\nDéfinir à 1 pour conserver la première piste et supprimer toute autre après la première qui correspond aux paramètres", + "MatchType": "Correspondances", + "MatchType-Help": "La valeur à faire correspondre." + } + }, + "FfmpegBuilderTrackRemover": { + "Label": "FFMPEG Builder: Supprimer les Pistes", + "Outputs": { + "1": "Pistes établies pour être supprimées", + "2": "Pistes NON établies pour être supprimées" + }, + "Description": "Vous permet de supprimer des pistes basées sur des conditions spécifiées.", + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de pistes à réorganiser dans le FFMPEG Builder", + "CustomTrackSelection": "Supprimer", + "TrackSelectionOptions": "", + "TrackSelectionOptionsKey": "Propriété", + "TrackSelectionOptionsValue": "Valeur" + } + }, + "FfmpegBuilderAudioTrackReorder": { + "Label": "Constructeur FFMPEG : Réordonner les Pistes", + "Outputs": { + "1": "Pistes réordonnées dans le Constructeur FFMPEG", + "2": "Pistes NON réordonnées" + }, + "Description": "Permet de réordonner les pistes dans l'ordre souhaité.\n\nEntrez les langues / codecs audio / canaux dans l'ordre souhaité. Toute piste non répertoriée sera placée après celles qui ont été entrées dans leur ordre d'origine.\nS'il y a plusieurs pistes avec la même langue / codec / canaux, elles seront d'abord triées par l'ordre dans lequel vous les avez saisies, puis selon leur ordre d'origine.\n\nRemarque : la première piste après réordonnement sera définie comme la piste par défaut..\n\nSortie 1 : Les pistes ont été réordonnées\nSortie 2 : Les pistes n'avaient pas besoin d'être réordonnées", + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de pistes à réordonner dans le Constructeur FFMPEG", + "OrderedTracks": "Pistes Ordonnées", + "OrderedTracks-Help": "L'ordre des codecs pour les pistes. Cela se fait après les langues (s'il y en a)", + "Languages": "Langues", + "Languages-Help": "L'ordre des langues par lequel trier les pistes. Ce tri se fait avant le codec.", + "Channels": "Canaux", + "Channels-Help": "L'ordre des canaux audio par lequel trier les pistes audio. Ce tri se fait avant les langues.\nPar exemple \"5.1\",\"7.1\",\"6.2\",\"2\"" + } + }, + "FfmpegBuilderAudioSetLanguage": { + "Label": "Constructeur FFMPEG : Définir la Langue", + "Outputs": { + "1": "Pistes mises à jour dans le Constructeur FFMPEG", + "2": "Pistes NON mises à jour" + }, + "Description": "Permet de définir la langue pour toute piste qui n'a pas de langue définie. Si la piste a déjà une langue définie, elle sera ignorée.\n\nSortie 1 : Les pistes ont été mises à jour\nSortie 2 : Il n'y avait pas de pistes nécessitant une mise à jour", + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de piste pour définir la langue", + "Language": "Langue", + "Language-Help": "Le code de langue [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) à utiliser." + } + }, + "FfmpegBuilderAutoChapters": { + "Label": "Constructeur FFMPEG : Chapitres Automatiques", + "Description": "Détecte automatiquement les changements de scène dans la vidéo pour générer des chapitres.", + "Outputs": { + "1": "Chapitres générés et ajoutés au Constructeur FFMPEG", + "2": "Aucun chapitre détecté ou la vidéo avait déjà des chapitres" + }, + "Fields": { + "MinimumLength": "Longueur Minimale", + "MinimumLength-Suffix": "secondes", + "MinimumLength-Help": "La longueur minimale d'un chapitre en secondes", + "Percent": "Pourcentage", + "Percent-Suffix": "%", + "Percent-Help": "La valeur de seuil en pourcentage à utiliser pour la détection des changements de scène. Une bonne valeur est 45%" + } + }, + "FfmpegBuilderComskipChapters": { + "Label": "Constructeur FFMPEG : Chapitres Comskip", + "Description": "Utilise un fichier EDL de comskip et créera des chapitres à partir de ce fichier EDL de comskip.", + "Outputs": { + "1": "Chapitres commerciaux créés, ajoutés au Constructeur FFMPEG", + "2": "Aucun commercial détecté" + }, + "Fields": { + "RunComskipIfNoEdl": "Exécuter Comskip", + "RunComskipIfNoEdl-Help": "Exécuter comskip sur le fichier si aucun fichier comskip (EDL) n'est trouvé." + } + }, + "FfmpegBuilderCustomParameters": { + "Label": "Constructeur FFMPEG : Paramètres Personnalisés", + "Description": "Vous permet d'ajouter des paramètres personnalisés au Constructeur FFMPEG pour son exécution", + "Outputs": { + "1": "Paramètres ajoutés" + }, + "Fields": { + "Parameters": "Paramètres", + "Parameters-Help": "Les paramètres à ajouter au Constructeur FFMPEG pour son exécution", + "ForceEncode": "Forcer l'Encodage", + "ForceEncode-Help": "Si cela devrait forcer l'Exécuteur du Constructeur FFMPEG à s'exécuter toujours, même s'il n'y a pas de changements détectés qui nécessiteraient normalement l'exécution de l'exécuteur." + } + }, + "FFmpegBuilderDurationStart": { + "Label": "Constructeur FFMPEG : Durée/Début", + "Descriptions": "Cet élément de flux permet aux utilisateurs de définir le point de départ et la durée pour extraire un segment d'une vidéo.", + "Outputs": { + "1": "Durée/Début configurés", + "2": "Échec de l'établissement de la durée/début" + }, + "Fields": { + "Duration": "Durée", + "Duration-Help": "La durée du fichier vidéo, si c'est 0, elle ne modifiera pas la durée.", + "Start": "Début", + "Start-Help": "Le début du fichier vidéo, si c'est 0, il ne modifiera pas le début." + } + }, + "FfmpegBuilderHdrToSdr": { + "Label": "Constructeur FFMPEG : HDR vers SDR", + "Description": "Vérifie si un flux vidéo est HDR et si c'est le cas, met à jour le Constructeur FFMPEG pour le convertir en SDR.", + "Outputs": { + "1": "Flux HDR détecté et Constructeur FFMPEG mis à jour pour conversion", + "2": "Aucun flux HDR trouvé" + } + }, + "FfmpegBuilderKeepOriginalLanguage": { + "Label": "Constructeur FFMPEG : Garder la Langue Originale", + "Outputs": { + "1": "Les pistes ont été modifiées", + "2": "Aucune piste n'a été changée" + }, + "Description": "Cet élément de flux gardera uniquement la langue d'origine et toute langue supplémentaire que l'utilisateur définit.\n\nToutes les autres pistes linguistiques seront supprimées/marcées pour suppression.", + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de pistes qui doivent être mises à jour", + "AdditionalLanguages": "Langues Supplémentaires", + "AdditionalLanguages-Help": "Une liste facultative de codes de langues supplémentaires à garder.\n\nIl est recommandé d'utiliser un [code de langue ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes).", + "KeepOnlyFirst": "Garder Seulement le Premier", + "KeepOnlyFirst-Help": "Lorsque cela est activé, seule la première piste de chaque langue sera conservée.\n\nPar exemple, s'il y a 2 pistes en anglais, 3 pistes en espagnol et 1 piste en allemand. La langue originale était l'espagnol, les langues supplémentaires sont définies sur `eng`, alors le résultat serait 1 piste en anglais et 1 piste en espagnol, le reste serait supprimé.", + "FirstIfNone": "Premier Si Aucun", + "FirstIfNone-Help": "Lorsque cela est activé, cela garantit qu'au moins une piste est conservée. Si aucune piste ne correspond à la langue d'origine et qu'aucune piste ne correspond aux langues supplémentaires, la première piste sera conservée, peu importe.\n\nCela évite les problèmes de manque de son dans la vidéo.", + "TreatEmptyAsOriginal": "Traiter Vide Comme Original", + "TreatEmptyAsOriginal-Help": "Lorsque cela est activé, toute piste sans langue définie sera traitée comme si c'était la langue originale.\n\nPar exemple, si la langue originale est le maori et qu'une piste n'a pas de langue définie, elle sera traitée comme maori." + } + }, + "FfmpegBuilderMetadataRemover": { + "Label": "Constructeur FFMPEG : Supprimeur de Métadonnées", + "Description": "Supprime les métadonnées du Constructeur FFMPEG afin que, lorsque le fichier est traité, les métadonnées sélectionnées soient supprimées.\n\nRemarque : Seules les métadonnées lorsque cet élément de flux est affecté ; si des métadonnées sont ajoutées après l'exécution de ce nœud, cela ne sera pas affecté.", + "Outputs": { + "1": "Métadonnées supprimées du Constructeur FFMPEG" + }, + "Fields": { + "Video": "Vidéo", + "Video-Help": "Si les pistes vidéo doivent avoir ces métadonnées supprimées", + "Audio": "Audio", + "Audio-Help": "Si les pistes audio doivent avoir ces métadonnées supprimées", + "Subtitle": "Sous-titre", + "Subtitle-Help": "Si les pistes de sous-titres doivent avoir ces métadonnées supprimées", + "RemoveImages": "Supprimer les Images", + "RemoveImages-Help": "Si toutes les images trouvées dans les métadonnées doivent être supprimées", + "RemoveTitle": "Supprimer le Titre", + "RemoveTitle-Help": "Si le titre doit être supprimé des pistes", + "RemoveLanguage": "Supprimer la Langue", + "RemoveLanguage-Help": "Si la langue doit être supprimée des pistes", + "RemoveAdditionalMetadata": "Supprimer les Métadonnées Supplémentaires", + "RemoveAdditionalMetadata-Help": "Si des métadonnées supplémentaires doivent être supprimées. Les métadonnées supplémentaires sont des métadonnées non standard qui peuvent avoir été ajoutées à un fichier vidéo, par exemple par iTunes." + } + }, + "FfmpegBuilderDefaultOriginalLanguage": { + "Label": "Constructeur FFMPEG : Langue Originale par Défaut", + "Outputs": { + "1": "Les pistes ont été modifiées", + "2": "Aucune piste n'a été changée" + }, + "Description": "Cet élément de flux tentera de définir les pistes de langue originale comme défaut. Il essaiera de trouver la première piste correspondant à la langue originale, puis de la définir comme défaut.\n\nSi aucune piste n'est trouvée avec la langue originale, aucun changement n'est effectué.", + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de pistes qui doivent être mises à jour", + "MakeFirst": "Faire Premier", + "MakeFirst-Help": "Si la piste de langue originale doit également devenir la première piste." + } + }, + "FfmpegBuilderTrackSorter": { + "Label": "Constructeur FFMPEG : Trieur de Pistes", + "Outputs": { + "1": "Les pistes ont été modifiées", + "2": "Aucune piste n'a été changée" + }, + "Description": "Cet élément de flux trie les pistes en fonction des options de tri définies par l'utilisateur.", + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de pistes qui doivent être mises à jour", + "Sorters": "Trier", + "Sorters-Help": "Ajouter une ou plusieurs options de tri pour trier les pistes.", + "SortersKey": "Champ", + "SortersValue": "Valeur", + "SetFirstDefault": "Définir par Défaut", + "SetFirstDefault-Help": "Si la première piste doit être définie comme défaut après le tri." + } + }, + "FfmpegBuilderSubtitleClearDefault": { + "Label": "Constructeur FFMPEG : Effacer le Défaut des Sous-titres", + "Description": "Cet élément de flux effacera le drapeau par défaut des sous-titres.", + "Fields": { + "LeaveForced": "Laisser Forcé", + "LeaveForced-Help": "Lorsqu'il est coché, tous les sous-titres forcés ne seront pas touchés, ils conserveront leur réglage d'origine. Cela s'exécute avant 'Définir par Défaut Forcé', donc cela prend la priorité.", + "SetForcedDefault": "Définir par Défaut Forcé", + "SetForcedDefault-Help": "Lorsqu'il est coché, le premier sous-titre trouvé avec le champ Forcé défini sera défini comme défaut, tous les autres auront leur drapeau par défaut effacé." + }, + "Outputs": { + "1": "Les drapeaux par défaut des sous-titres ont été modifiés", + "2": "Aucun changement n'a été effectué sur les sous-titres" + } + }, + "FfmpegBuilderSubtitleFormatRemover": { + "Label": "FFMPEG Builder : Supprimeur de Format de Sous-titres", + "Description": "Supprime les sous-titres d'un fichier vidéo s'ils sont trouvés.", + "Outputs": { + "1": "Sous-titres marqués pour suppression dans FFMPEG Builder", + "2": "Aucun sous-titre à supprimer" + }, + "Fields": { + "SubtitlesToRemove": "Sous-titres à Supprimer", + "RemoveAll": "Tout Supprimer", + "RemoveAll-Help": "Lorsque coché, tous les sous-titres seront supprimés du fichier, sinon seuls ceux sélectionnés ci-dessous seront." + } + }, + "FfmpegBuilderSubtitleTrackRemover": { + "Label": "FFMPEG Builder : Supprimeur de Piste de Sous-titres", + "Outputs": { + "1": "Sous-titres marqués pour suppression dans FFMPEG Builder", + "2": "Aucun sous-titre à supprimer" + }, + "Description": "Vous permet de supprimer des sous-titres en fonction de leur titre ou de leurs codes de langue.\n\nToute langue (ou titre si défini sur \"Utiliser le Titre\") qui est vide NE sera PAS supprimée, quel que soit le modèle.", + "Fields": { + "Pattern": "Modèle", + "Pattern-Help": "Une expression régulière à faire correspondre, par exemple \"eng\" pour supprimer les pistes en anglais", + "NotMatching": "Pas Correspondant", + "NotMatching-Help": "Si les sous-titres NE correspondant PAS au modèle doivent être supprimés", + "UseLanguageCode": "Utiliser le Code de Langue", + "UseLanguageCode-Help": "Si le code de langue de la piste audio doit être utilisé au lieu du titre" + } + }, + "FfmpegBuilderSubtitleTrackMerge": { + "Label": "FFMPEG Builder : Fusion de Piste de Sous-titres", + "Outputs": { + "1": "Sous-titres trouvés et ajoutés", + "2": "Aucun sous-titre trouvé" + }, + "Fields": { + "Subtitles": "Sous-titres", + "Subtitles-Help": "Sélectionnez quels sous-titres rechercher pour ajouter", + "UseSourceDirectory": "Utiliser le Répertoire Source", + "UseSourceDirectory-Help": "Si coché, le répertoire source d'origine sera recherché, sinon le répertoire de travail sera utilisé.", + "MatchFilename": "Correspondre au Nom de Fichier", + "MatchFilename-Help": "Lorsque coché, seuls les sous-titres ayant le même nom de fichier que le fichier d'entrée ou le fichier de travail seront fusionnés.", + "Pattern": "Modèle", + "Pattern-Help": "Expression régulière facultative pour faire correspondre les fichiers.", + "Title": "Titre", + "Title-Help": "Le titre du sous-titre, s'il n'est pas défini, la langue sera utilisée comme titre si trouvée.", + "Language": "Langue", + "Language-Help": "Code de langue optionnel [ISO 639-2](https://fr.wikipedia.org/wiki/ISO_639-2) pour le sous-titre ajouté.", + "Forced": "Forcé", + "Forced-Help": "Si le sous-titre doit être forcé", + "Default": "Par Défaut", + "Default-Help": "Si le sous-titre doit être le sous-titre par défaut", + "DeleteAfterwards": "Supprimer Après Fusion", + "DeleteAfterwards-Help": "Si le fichier de sous-titres doit être supprimé après avoir été fusionné" + } + }, + "FfmpegBuilderCropBlackBars": { + "Label": "FFMPEG Builder : Rogner les Barres Noires", + "Description": "Mise à jour de FFMPEG Builder pour rogner les barres noires si détectées.", + "Outputs": { + "1": "FFMPEG Builder mis à jour pour rogner les barres noires", + "2": "Aucune barre noire détectée, pas de rognage" + }, + "Fields": { + "CroppingThreshold": "Seuil", + "CroppingThreshold-Help": "Le nombre de pixels qui doivent être supérieurs pour rogner. Par exemple, s'il n'y a que 5 pixels détectés comme espace noir, vous pouvez considérer cela comme trop petit pour rogner." + } + }, + "FfmpegBuilderPreExecute": { + "Label": "FFMPEG Builder: Pré-Exécuter", + "Description": "Cet élément vous permet d'exécuter du code personnalisé juste avant que le [FFmpeg Builder: Executor](https://fileflows.com/docs/plugins/video-nodes/ffmpeg-builder) exécute FFmpeg.\n\nCela vous permet de modifier les arguments passés à FFmpeg.", + "Outputs": { + "1": "Pré-Exécuter configuré" + }, + "Fields": { + "Code": "Code" + } + }, + "FfmpegBuilderProres": { + "Label": "FFMPEG Builder: Prores", + "Description": "Code le vidéo au format prores.", + "Outputs": { + "1": "Vidéo configurée pour utiliser prores" + }, + "Fields": { + "Encoder": "Encodeur", + "Encoder-Help": "Quel encodeur prores de FFmpeg utiliser.", + "Quality": "Qualité", + "Quality-Help": "0 pour une qualité maximale, 32 pour une qualité minimale. 9 à 13 sont de bonnes valeurs à utiliser.", + "Profile": "Profil", + "PixelFormat": "Format de Pixel" + } + }, + "FfmpegBuilderRemoveAttachments": { + "Label": "FFMPEG Builder: Supprimer les Pièces Jointes", + "Description": "Supprime toutes les pièces jointes de la vidéo, s'il y en a.", + "Outputs": { + "1": "FFMPEG Builder configuré pour supprimer les pièces jointes." + } + }, + "FfmpegBuilderRemuxToMkv": { + "Label": "FFMPEG Builder: Remuxer vers MKV", + "Description": "Remux une vidéo dans un conteneur MKV.", + "Outputs": { + "1": "FFMPEG Builder configuré pour remuxer vers MKV" + } + }, + "FfmpegBuilderRemuxToMxf": { + "Label": "FFMPEG Builder: Remuxer vers MXF", + "Description": "Remux une vidéo dans un conteneur MXF.", + "Outputs": { + "1": "FFMPEG Builder configuré pour remuxer vers MXF" + } + }, + "FfmpegBuilderRemuxToMP4": { + "Label": "FFMPEG Builder: Remuxer vers MP4", + "Description": "Remux une vidéo dans un conteneur MP4.", + "Outputs": { + "1": "FFMPEG Builder configuré pour remuxer vers MP4" + }, + "Fields": { + "UseHvc1": "Utiliser HVC1", + "UseHvc1-Help": "Si HVC1 doit être utilisé au lieu du HEV1 par défaut" + } + }, + "FfmpegBuilderRemuxToMov": { + "Label": "FFMPEG Builder: Remuxer vers MOV", + "Description": "Remux une vidéo dans un conteneur MOV.", + "Outputs": { + "1": "FFMPEG Builder configuré pour remuxer vers MOV" + } + }, + "FfmpegBuilderRemuxToWebm": { + "Label": "FFMPEG Builder: Remuxer vers WEBM", + "Description": "Remux une vidéo dans un conteneur WEBM.", + "Outputs": { + "1": "FFMPEG Builder configuré pour remuxer vers WEBM" + } + }, + "FfmpegBuilderScaler": { + "Label": "FFMPEG Builder: Échelle de Vidéo", + "Description": "Cela vous permet d'échelonner une vidéo aux dimensions spécifiées. Il conservera le rapport hauteur/largeur de la vidéo, donc si la vidéo était de 1920x1000, elle sera mise à l'échelle à 1280x668 si vous sélectionnez 720P.", + "Outputs": { + "1": "Filtre d'échelle de FFMPEG Builder ajouté", + "2": "La vidéo était déjà à/proche de la résolution mise à l'échelle" + }, + "Fields": { + "Force": "Forcer", + "Force-Help": "Lorsque coché, la vidéo sera forcée à l'échelle même si le fichier de travail est déjà à cette résolution (ou près de cette résolution).", + "OnlyIfLarger": "Seulement Si Plus Grand", + "OnlyIfLarger-Help": "La vidéo ne sera mise à l'échelle à cette résolution que si la vidéo est actuellement plus grande que cette résolution", + "Resolution": "Résolution" + } + }, + "FfmpegBuilderSetDefaultTrack": { + "Label": "Constructeur FFMPEG : Définir la Piste par Défaut", + "Description": "Définir une piste comme par défaut dans le constructeur FFMPEG.", + "Outputs": { + "1": "Piste définie comme par défaut", + "2": "Échec de la définition de la piste comme par défaut" + }, + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de piste à définir comme par défaut dans le Constructeur FFMPEG", + "Language": "Langue", + "Language-Help": "Code de langue optionnel [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) à utiliser.", + "Index": "Index", + "Index-Help": "L'index de la piste à définir comme par défaut, utilisé uniquement si la langue n'est pas spécifiée." + } + }, + "FfmpegBuilderSetDevice": { + "Label": "Constructeur FFMPEG : Définir l'Appareil", + "Description": "Définit l'appareil à utiliser pour l'encodage/décodage matériel si l'encodeur/décodeur le prend en charge.", + "Outputs": { + "1": "Appareil défini" + }, + "Fields": { + "Device": "Appareil", + "Device-Help": "Le chemin vers l'appareil, ou laisser vide si aucun appareil ne doit être spécifié." + } + }, + "FfmpegBuilderSetFps": { + "Label": "Constructeur FFMPEG : Définir le FPS", + "Description": "Définir les images par seconde (FPS) dans le Constructeur FFMPEG", + "Outputs": { + "1": "FPS mis à jour", + "2": "Aucun changement n'était nécessaire" + }, + "Fields": { + "Fps": "FPS", + "Fps-Help": "Le FPS désiré, si le FPS d'entrée et le FPS désiré ne correspondent pas, FFMPEG le convertira, par exemple (23.976, 24, 30, 60).", + "OnlyIfHigher": "Uniquement si Supérieur", + "OnlyIfHigher-Help": "Si le FPS doit être ajusté uniquement si le FPS actuel est supérieur à l'actuel." + } + }, + "FfmpegBuilderSetTrackTitles": { + "Label": "Constructeur FFMPEG : Définir les Titres de Piste", + "Description": "Définir les titres de piste basés sur un formateur dans le constructeur FFMPEG.", + "Outputs": { + "1": "Titres de piste mis à jour", + "2": "Aucun titre de piste n'a été affecté" + }, + "Fields": { + "StreamType": "Type", + "StreamType-Help": "Le type de piste à définir comme par défaut dans le Constructeur FFMPEG", + "Format": "Format", + "Format-Help": "Le formateur à utiliser, voir _Aide_ pour plus d'informations.", + "Separator": "Séparateur", + "Separator-Help": "Le séparateur de chaîne utilisé entre les valeurs de format, cela est nécessaire pour s'assurer qu'aucune valeur vide n'est conservée.", + "CommentaryFormat": "Commentaire", + "CommentaryFormat-Help": "Comment les pistes de commentaire doivent être traitées, vous pouvez utiliser le même formateur que d'autres pistes ou utiliser une méthode différente." + } + }, + "FfmpegBuilderVideo10Bit": { + "Label": "Constructeur FFMPEG : Vidéo 10 Bits", + "Description": "Définit le Constructeur FFMPEG pour encoder les flux vidéo en 10 Bits", + "Outputs": { + "1": "Flux vidéo du Constructeur FFMPEG définis pour encoder en 10 Bits" + } + }, + "FfmpegBuilderVideoBitrate": { + "Label": "FFMPEG Builder: Débit Vidéo", + "Description": "Configure le FFMPEG Builder pour encoder la vidéo en fonction du débit", + "Outputs": { + "1": "Flux vidéo du FFMPEG Builder mis à jour" + }, + "Fields": { + "Bitrate": "Débit", + "Bitrate-Suffix": "KO / %", + "Bitrate-Help": "Le débit cible de la vidéo en kilooctets", + "Percent": "Pourcentage", + "Percent-Help": "Lorsqu'il est sélectionné, le débit sera calculé en pourcentage du débit actuel." + } + }, + "FfmpegBuilderVideoMaxBitrate": { + "Label": "FFMPEG Builder: Débit Max Vidéo", + "Description": "Configure le FFMPEG Builder pour limiter le débit de la vidéo", + "Outputs": { + "1": "Flux vidéo du FFMPEG Builder mis à jour" + }, + "Fields": { + "Bitrate": "Débit Maximal", + "Bitrate-Suffix": "KO", + "Bitrate-Help": "Le débit maximal de la vidéo en kilooctets" + } + }, + "FfmpegBuilderVideoCodec": { + "Label": "FFMPEG Builder: Codec Vidéo", + "Description": "Configure le FFMPEG Builder pour encoder les flux vidéo dans le codec spécifié", + "Outputs": { + "1": "Flux vidéo du FFMPEG Builder configurés pour encoder", + "2": "Vidéo déjà dans le codec cible, ne sera pas réencodée" + }, + "Fields": { + "VideoCodec": "Codec Vidéo", + "VideoCodec-Help": "Le codec vidéo dans lequel la vidéo doit être, par exemple hevc, h264.\nSi laissé vide, toutes les pistes vidéo originales seront copiées.", + "VideoCodecParameters": "Paramètres du Codec Vidéo", + "VideoCodecParameters-Help": "Les paramètres à utiliser pour encoder la vidéo, par exemple, \"hevc_nvenc -preset hq -crf 23\" pour encoder en hevc en utilisant le preset HQ avec un facteur de taux constant de 23 et en utilisant l'accélération matérielle NVIDIA.", + "Force": "Forcer l'Encodage", + "Force-Help": "Forcera l'encodage de la vidéo même si elle est déjà dans le Codec Vidéo cible", + "DisableOtherVideoStreams": "Seulement le Premier", + "DisableOtherVideoStreams-Help": "Lorsqu'il est coché, s'il y a plusieurs flux vidéo dans le fichier, cela supprimera tous sauf le premier flux vidéo du fichier une fois exécuté." + } + }, + "FfmpegBuilderVideoEncode": { + "Label": "FFMPEG Builder: Encodage Vidéo", + "Description": "Configure le FFMPEG Builder pour encoder la vidéo avec des préréglages faciles à utiliser", + "Outputs": { + "1": "Flux vidéo du FFMPEG Builder configurés pour encoder" + }, + "Fields": { + "Codec": "Codec", + "Speed": "Vitesse", + "Encoder": "Encodeur", + "Encoder-Help": "L'encodeur à forcer à utiliser. Si vous spécifiez un encodeur matériel qui n'est pas disponible, l'encodage échouera.", + "HardwareEncoding": "Encodage Matériel", + "HardwareEncoding-Help": "Lorsqu'il est coché, testera si des encodeurs matériels sont trouvés sur le Nœud de Traitement, et s'ils sont trouvés, utilisera l'encodage matériel, sinon, reviendra à l'encodage par CPU.", + "Quality": "Qualité", + "Quality-Help": "Une échelle de qualité logarithmique, de sorte que de petits changements dans ce curseur provoquent de grands changements dans la taille/la qualité du fichier.\nPlus le nombre est bas, plus la qualité est élevée.\nVoir l'Aide pour plus d'informations", + "Quality-Suffix": "(Meilleure Qualité, fichier plus grand)" + } + }, + "FfmpegBuilderVideoBitrateEncode": { + "Label": "FFMPEG Builder: Encodage de Débit", + "Description": "Configure le FFMPEG Builder pour encoder la vidéo avec des préréglages faciles à utiliser basés sur le débit", + "Outputs": { + "1": "Flux vidéo du FFMPEG Builder configurés pour encoder" + }, + "Fields": { + "Codec": "Codec", + "Bitrate": "Débit", + "Bitrate-Suffix": "Kbps", + "Encoder": "Encodeur", + "Encoder-Help": "L'encodeur à forcer à utiliser. Si vous spécifiez un encodeur matériel qui n'est pas disponible, l'encodage échouera.", + "HardwareEncoding": "Encodage Matériel", + "HardwareEncoding-Help": "Lorsqu'il est coché, testera si des encodeurs matériels sont trouvés sur le Nœud de Traitement, et s'ils sont trouvés, utilisera l'encodage matériel, sinon, reviendra à l'encodage par CPU." + } + }, + "FfmpegBuilderVideoTag": { + "Label": "FFMPEG Builder: Étiquette Vidéo", + "Description": "Définit une étiquette vidéo sur le fichier", + "Outputs": { + "1": "Étiquette FFMPEG Builder ajoutée" + }, + "Fields": { + "Tag": "Étiquette", + "Tag-Help": "L'étiquette à ajouter au fichier vidéo" + } + }, + "FFmpegBuilderWatermark": { + "Label": "FFMPEG Builder: Filigrane", + "Description": "Ajoute un filigrane à un fichier vidéo.", + "Outputs": { + "1": "Filigrane ajouté" + }, + "Fields": { + "Image": "Image", + "Image-Help": "Le fichier image pour le filigrane, pour de meilleurs résultats, utilisez un fichier PNG.", + "Position": "Position", + "Position-Help": "Où placer le filigrane", + "Opacity": "Opacité", + "Opacity-Help": "Ajuste le niveau de transparence de l'image superposée, allant de 0 (totalement transparent) à 100 (totalement opaque).", + "XPos": "Position X", + "XPos-Help": "La position du filigrane sur l'axe x", + "YPos": "Position Y", + "YPos-Help": "La position du filigrane sur l'axe y", + "Width": "Largeur", + "Width-Help": "Définissez une largeur personnalisée de l'image, ou définissez sur 0 pour la largeur d'origine ou mise à l'échelle si la hauteur est définie.", + "Height": "Hauteur", + "Height-Help": "Définissez une hauteur personnalisée de l'image, ou définissez sur 0 pour la hauteur d'origine ou mise à l'échelle si la largeur est définie." + } + }, + "ReadVideoInfo": { + "Description": "Lit les informations vidéo du fichier de travail actuel et met à jour les variables vi.", + "Outputs": { + "1": "Le fichier était un fichier vidéo et les informations ont été lues dans le flux", + "2": "Le fichier n'était pas un fichier vidéo ou n'a pas pu être lu" + } + }, + "SubtitleExtractor": { + "Description": "Extrait une seule piste de sous-titres et la sauvegarde à la destination. Peut extraire les formats srt, ass et ssa.\nCela NE metTRA PAS à jour le fichier de travail et gardera le fichier de travail identique au fichier d'entrée.\n\nSortie 1: Sous-titres extraits\nSortie 2: Aucun sous-titre trouvé à extraire", + "Outputs": { + "1": "Sous-titres extraits", + "2": "Aucun sous-titre extrait" + }, + "Fields": { + "Language": "Langue", + "Language-Help": "Le code de langue [ISO 639-2](https://fr.wikipedia.org/wiki/ISO_639-2) à utiliser.", + "Title": "Titre", + "Title-Help": "Facultativement, entrez un titre. Cela peut être soit une expression régulière, soit une chaîne qui doit apparaître dans le titre pour être correspondante.", + "OutputFile": "Fichier de Sortie", + "OutputFile-Help": "Où sauvegarder le fichier de sortie, par exemple, \"'{folder.Orig.FullName}\\{file.Orig.FileName}.srt'\" pour le sauvegarder avec le fichier original en sortie srt.\nSi laissé vide, un sous-titre srt sera créé dans le même dossier que le fichier d'entrée original.", + "SetWorkingFile": "Définir comme Fichier de Travail", + "SetWorkingFile-Help": "Lorsque cela est coché, si un sous-titre est extrait, le fichier de travail sera changé pour ce sous-titre extrait. Le fichier de travail original NE sera PAS supprimé.", + "ForcedOnly": "Uniquement Forcés", + "ForcedOnly-Help": "Si seuls les sous-titres forcés doivent être extraits.", + "OnlyTextSubtitles": "Uniquement Sous-titres Textuels", + "OnlyTextSubtitles-Help": "Si seuls les sous-titres textuels doivent être extraits, tous les sous-titres basés sur des images seront ignorés.", + "ExtractAll": "Extraire Tout", + "ExtractAll-Help": "Si tous les sous-titres correspondants doivent être extraits." + } + }, + "VideoBitCheck": { + "Label": "Vérification des Bits Vidéo", + "Description": "Vérifie si une vidéo est de 8-Bit, 10-Bit, 12-Bit ou inconnue.", + "Outputs": { + "1": "La vidéo est de 8-Bit", + "2": "La vidéo est de 10-Bit", + "3": "La vidéo est de 12-Bit", + "4": "Inconnu" + } + }, + "VideoIs8Bit": { + "Label": "La Vidéo Est de 8-Bit", + "Description": "Teste si un fichier vidéo est de 8-Bit", + "Outputs": { + "1": "La vidéo est de 8-Bit", + "2": "La vidéo n'est pas de 8-Bit" + } + }, + "VideoIs10Bit": { + "Label": "La Vidéo Est de 10-Bit", + "Description": "Teste si un fichier vidéo est de 10-Bit", + "Outputs": { + "1": "La vidéo est de 10-Bit", + "2": "La vidéo n'est pas de 10-Bit" + } + }, + "VideoIs12Bit": { + "Label": "La Vidéo Est de 12-Bit", + "Description": "Teste si un fichier vidéo est de 12-Bit", + "Outputs": { + "1": "La vidéo est de 12-Bit", + "2": "La vidéo n'est pas de 12-Bit" + } + }, + "VideoAlreadyProcessed": { + "Label": "Vidéo Déjà Traité", + "Description": "Teste si un fichier vidéo a déjà été traité par FileFlows", + "Outputs": { + "1": "La vidéo a déjà été traitée", + "2": "La vidéo n'a pas été traitée" + } + }, + "VideoIsInterlaced": { + "Label": "La vidéo est entrelacée", + "Description": "Teste si un fichier vidéo est entrelacé", + "Outputs": { + "1": "La vidéo est entrelacée", + "2": "La vidéo n'est pas entrelacée" + }, + "Fields": { + "Threshold": "Seuil", + "Threshold-Help": "Le pourcentage de frames détectées comme entrelacées que la vidéo doit avoir pour être considérée comme entrelacée" + } + }, + "VideoHasErrors": { + "Label": "La vidéo a des erreurs", + "Description": "Teste si un fichier vidéo contient des erreurs", + "Outputs": { + "1": "Contient une erreur", + "2": "Aucune erreur détectée" + }, + "Fields": { + "HardwareDecoding": "Décodage matériel", + "HardwareDecoding-Help": "Si une tentative d'utilisation du décodage matériel doit être faite. S'il n'est pas disponible, l'exécution se poursuivra sans décodage matériel activé." + } + }, + "VideoHasStream": { + "Label": "La vidéo a un flux", + "Description": "Teste si un fichier vidéo contient une piste", + "Outputs": { + "1": "Contient la piste correspondante", + "2": "Ne contient pas la piste correspondante" + }, + "Fields": { + "Stream": "Type", + "Stream-Help": "Le type de flux à rechercher", + "Title": "Titre", + "Title-Help": "Une expression régulière utilisée pour tester le titre du flux", + "Codec": "Codec", + "Codec-Help": "Une expression régulière utilisée pour tester le codec du flux", + "Language": "Langue", + "Language-Help": "Une expression régulière utilisée pour tester la langue du flux", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux à tester. Laissez vide pour ignorer cette vérification", + "CheckDeleted": "Vérifier les supprimés", + "CheckDeleted-Help": "Si les pistes supprimées doivent également être vérifiées", + "Invert": "Inverser", + "Invert-Help": "Inverse le résultat, devenant ainsi `La vidéo n'a pas de flux`", + "Forced": "Forcé", + "Forced-Help": "Si ce flux doit être un flux forcé ou non.", + "Default": "Par défaut", + "Default-Help": "Si ce flux doit être un flux par défaut ou non." + } + }, + "VideoBitrateGreaterThan": { + "Label": "Débit Vidéo Supérieur À", + "Description": "Teste si le débit d'un vidéo est supérieur à un débit donné.", + "Outputs": { + "1": "Le débit est supérieur à", + "2": "Le débit n'est pas supérieur à" + }, + "Fields": { + "Bitrate": "Débit", + "Bitrate-Suffix": "KBps" + } + }, + "VideoExtractAudio": { + "Label": "Extraire l'Audio de la Vidéo", + "Description": "Extrait l'audio d'un fichier vidéo et l'enregistre dans un fichier", + "Outputs": { + "1": "Audio extrait et enregistré dans un fichier", + "2": "Impossible de trouver une piste à extraire" + }, + "Fields": { + "Title": "Titre", + "Title-Help": "Une expression régulière utilisée pour tester le titre de la piste", + "Codec": "Codec", + "Codec-Help": "Une expression régulière utilisée pour tester le codec de la piste", + "Language": "Langue", + "Language-Help": "Une expression régulière utilisée pour tester la langue de la piste", + "Channels": "Canaux", + "Channels-Help": "Le nombre de canaux que la piste source doit avoir pour correspondre. Mettre à 0 pour ignorer la correspondance des canaux.", + "OutputFile": "Fichier de Sortie", + "OutputFile-Help": "Où enregistrer le fichier de sortie, par exemple, \"'{folder.Orig.FullName}\\{file.Orig.FileName}.mp3'\" pour l'enregistrer avec le fichier original en sortie mp3.\nSi aucune extension n'est définie, le codec de sortie sera utilisé pour déterminer l'extension.", + "SetWorkingFile": "Définir comme Fichier de Travail", + "SetWorkingFile-Help": "Lorsque cela est coché, si un sous-titre est extrait, le fichier de travail sera changé pour ce sous-titre extrait. Le fichier de travail original ne sera PAS supprimé.", + "OutputCodec": "Codec de Sortie", + "OutputCodec-Help": "Le codec pour enregistrer l'audio extrait", + "OutputBitrate": "Débit de Sortie", + "OutputBitrate-Help": "Le débit de la piste audio extraite", + "NotMatching": "Non Correspondant", + "NotMatching-Help": "Si une piste audio NE correspondant PAS au motif doit être extraite" + } + }, + "VideoResolution": { + "Label": "Résolution Vidéo", + "Description": "Détermine la résolution d'une vidéo et produit la sortie en conséquence.", + "Outputs": { + "1": "La vidéo est 4K", + "2": "La vidéo est 1080p", + "3": "La vidéo est 720p", + "4": "La vidéo est SD" + } + } + } + } +} \ No newline at end of file diff --git a/VideoNodes/i18n/pt.json b/VideoNodes/i18n/pt.json new file mode 100644 index 00000000..4f6b868f --- /dev/null +++ b/VideoNodes/i18n/pt.json @@ -0,0 +1,1035 @@ +{ + "H": { + "264": "H.264", + "265": "H.265" + }, + "5": { + "1": "5.1" + }, + "7": { + "1": "7.1" + }, + "Enums": { + "WatermarkPosition": { + "Center": "Centro", + "TopLeft": "Canto Superior Esquerdo", + "TopRight": "Canto Superior Direito", + "BottomRight": "Canto Inferior Direito", + "BottomLeft": "Canto Inferior Esquerdo" + } + }, + "Flow": { + "Parts": { + "DisableAmd": { + "Label": "Desativar AMD", + "Description": "Desativa o codificador de hardware AMD AMF", + "Outputs": { + "1": "Desativado" + } + }, + "DisableIntelQsv": { + "Label": "Desativar Intel QSV", + "Description": "Desativa o codificador de hardware Intel QSV", + "Outputs": { + "1": "Desativado" + } + }, + "DisableNvidia": { + "Label": "Desativar NVIDIA", + "Description": "Desativa o codificador de hardware NVIDIA", + "Outputs": { + "1": "Desativado" + } + }, + "DisableVaapi": { + "Label": "Desativar VAAPI", + "Description": "Desativa o codificador de hardware VAAPI", + "Outputs": { + "1": "Desativado" + } + }, + "AudioToVideo": { + "Description": "Converte um arquivo de áudio em um arquivo de vídeo e gera um vídeo baseado no áudio", + "Fields": { + "Visualization": "Visualização", + "Visualization-Help": "A visualização a ser usada no vídeo gerado. Veja Ajuda para exemplos", + "Container": "Contêiner", + "Resolution": "Resolução", + "Codec": "Codec", + "HardwareEncoding": "Codificação de hardware", + "HardwareEncoding-Help": "Quando selecionado, testará se codificadores de hardware estão disponíveis no nó de processamento e, se encontrados, utilizará a codificação de hardware; caso contrário, reverterá para a codificação de CPU.", + "Color": "Cor", + "Color-Help": "Código de cor opcional #RRGGBB a ser usado para as ondas sonoras, deve estar no formato #RRGGBB, por exemplo #FF0090" + } + }, + "CanUseHardwareEncoding": { + "Description": "Verifica se o codificador de hardware especificado está atualmente disponível para o fluxo.", + "Fields": { + "Encoder": "Codificador", + "Encoder-Help": "O decodificador de hardware a ser verificado" + } + }, + "ComskipRemoveAds": { + "Description": "Usa um arquivo EDL comskip e removerá os comerciais usando esse arquivo.", + "Outputs": { + "1": "Comerciais removidos, salvos em um arquivo temporário", + "2": "Nenhum comercial detectado" + }, + "Fields": { + "RunComskipIfNoEdl": "Executar Comskip", + "RunComskipIfNoEdl-Help": "Executar comskip contra o arquivo se nenhum arquivo comskip (EDL) for encontrado." + } + }, + "VideoFile": { + "Description": "Um arquivo de vídeo de entrada que teve suas informações de vídeo lidas e pode ser processado", + "Outputs": { + "1": "Arquivo de vídeo da biblioteca" + }, + "Fields": { + "ProbeSize": "Tamanho da amostra", + "ProbeSize-Suffix": "MB", + "ProbeSize-Help": "O tamanho da amostra a ser utilizado no FFMPEG ao executar.", + "AnalyzeDuration": "Duração da análise", + "AnalyzeDuration-Help": "Especifique quantos segundos são analisados para sondar a entrada", + "AnalyzeDuration-Suffix": "segundos" + } + }, + "VideoDuration": { + "Description": "Verifica se a duração do vídeo corresponde aos parâmetros dados.", + "Outputs": { + "1": "A duração do vídeo corresponde", + "2": "A duração do vídeo não corresponde" + }, + "Fields": { + "Match": "Correspondência", + "ValueLow": "Duração", + "ValueHigh": " " + } + }, + "VideoDurationCompare": { + "Description": "Compara a duração original de um vídeo com sua duração final.", + "Outputs": { + "1": "O vídeo está dentro da diferença de duração permitida", + "2": "O vídeo não está dentro da diferença de duração permitida" + }, + "Fields": { + "AllowedDifference": "Diferença Permitida", + "AllowedDifference-Help": "A diferença de tempo permitida entre a duração original do vídeo e a duração final." + } + }, + "FfmpegBuilderStart": { + "Label": "Construtor FFMPEG: Iniciar", + "Outputs": { + "1": "Construtor FFMPEG criado e pronto para adicionar elementos de fluxo do construtor FFMPEG" + }, + "Description": "Cria uma instância do construtor FFMPEG que pode construir um argumento FFMPEG para depois ser executado com o executor FFMPEG." + }, + "FfmpegBuilderDeinterlace": { + "Label": "Construtor FFMPEG: Desentrelaçar", + "Outputs": { + "1": "Filtro de desentrelaçamento adicionado ao fluxo de vídeo" + }, + "Fields": { + "Mode": "Modo", + "Mode-Help": "O método de desentrelaçamento a ser utilizado. Consulte a ajuda para mais informações." + } + }, + "FfmpegBuilderExecutor": { + "Label": "Construtor FFMPEG: Executar", + "Outputs": { + "1": "Construtor FFMPEG executado com sucesso e criou um novo arquivo temporário", + "2": "Nenhuma alteração detectada no construtor FFMPEG, arquivo não criado" + }, + "Description": "Executa um comando do construtor FFMPEG criado por outros elementos de fluxo do construtor FFMPEG.", + "Fields": { + "HardwareDecoding": "Decodificação de Hardware", + "HardwareDecoding-Help": "Se o executor deve tentar usar a decodificação por hardware. Se não estiver disponível, a execução continuará sem a decodificação por hardware ativada.", + "Strictness": "Rigor", + "Strictness-Help": "Permite personalizar o rigor do FFmpeg. Isso deve ser deixado em 'Experimental' para a maioria dos usuários." + } + }, + "FfmpegBuilderAddInputFile": { + "Label": "Construtor FFMPEG: Adicionar Arquivo de Entrada", + "Outputs": { + "1": "Arquivo encontrado e adicionado", + "2": "Arquivo não encontrado" + }, + "Fields": { + "Pattern": "Padrão", + "Pattern-Help": "Uma expressão regular utilizada para procurar arquivos de entrada", + "UseSourceDirectory": "Usar Diretório de Origem", + "UseSourceDirectory-Help": "Se marcado, procurará no diretório de origem original; caso contrário, usará o diretório de trabalho." + } + }, + "FfmpegBuilderAspectRatio": { + "Label": "Construtor FFMPEG: Proporção", + "Outputs": { + "1": "A proporção foi alterada com sucesso", + "2": "O vídeo já estava na proporção desejada" + }, + "Fields": { + "AspectRatio": "Proporção", + "AspectRatio-Help": "Selecione a proporção desejada para o vídeo. As opções disponíveis incluem proporções padrão (16:9, 4:3, 21:9) ou uma proporção personalizada.", + "CustomWidth": "Largura Personalizada", + "CustomWidth-Help": "Especifique a largura a ser utilizada ao selecionar a opção de proporção personalizada.", + "CustomHeight": "Altura Personalizada", + "CustomHeight-Help": "Especifique a altura a ser utilizada ao selecionar a opção de proporção personalizada.", + "AdjustmentMode": "Modo de Ajuste", + "AdjustmentMode-Help": "Escolha como a proporção deve ser respeitada. As opções incluem esticar o vídeo, adicionar barras pretas (letterbox) ou recortar o vídeo para se ajustar à proporção." + } + }, + "FfmpegBuilderAudioAddTrack": { + "Label": "Construtor FFMPEG: Adicionar Faixa de Áudio", + "Outputs": { + "1": "Faixa de áudio adicionada ao construtor FFMPEG", + "2": "Nenhuma faixa de áudio de origem apropriada encontrada para criar uma nova faixa de áudio" + }, + "Description": "Adiciona uma nova faixa de áudio ao construtor FFMPEG que será adicionada uma vez que o construtor for executado.", + "Fields": { + "CustomTrackSelection": "Seleção de Faixa de Origem", + "TrackSelectionOptions": "Seleção de Faixa", + "TrackSelectionOptionsKey": "Propriedade", + "TrackSelectionOptionsValue": "Valor", + "Index": "Índice", + "Index-Help": "O índice onde inserir a nova faixa de áudio. Baseado em 0, portanto, para inserir a nova faixa de áudio como a primeira faixa, defina isso como 0.", + "Channels": "Canais", + "Channels-Help": "O número de canais que esta nova faixa de áudio terá.\nSe você especificar mais canais do que o original, o FFmpeg irá misturá-los automaticamente.\nSe você especificar menos canais do que o original, o FFmpeg irá misturá-los automaticamente.", + "Bitrate": "Taxa de Bits", + "Bitrate-Help": "Taxa de bits da nova faixa de áudio", + "Codec": "Codec", + "Codec-Help": "O codec a ser utilizado para codificar o áudio", + "SampleRate": "Taxa de Amostragem", + "SampleRate-Help": "A taxa de amostragem a ser utilizada para a nova faixa de áudio", + "Language": "Idioma", + "Language-Help": "Código de idioma opcional [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) a ser utilizado. Tentará encontrar uma faixa de áudio com esse código de idioma; caso contrário, a melhor faixa de áudio será utilizada.", + "NewTitle": "Novo Título", + "NewTitle-Help": "Título opcional para a nova faixa de áudio. Se deixado em branco, o título original será utilizado.", + "RemoveTitle": "Remover Título", + "RemoveTitle-Help": "Se o título original deve ser removido e a faixa não deve ter título", + "BitratePerChannel": "Taxa de Bits Por Canal", + "BitratePerChannel-Help": "Se a taxa de bits especificada deve ser por canal" + } + }, + "FfmpegBuilderAudioAdjustVolume": { + "Label": "FFMPEG Builder: Ajustar Volume de Áudio", + "Outputs": { + "1": "Filtro de volume das faixas de áudio adicionado ao FFMPEG Builder", + "2": "As faixas de áudio não foram ajustadas" + }, + "Description": "Ajusta o volume das faixas de áudio em um arquivo de vídeo usando FFMPEG", + "Fields": { + "AllAudio": "Todas as Faixas de Áudio", + "AllAudio-Help": "Se todas as faixas de áudio devem ser normalizadas ou se apenas a primeira faixa deve ser", + "VolumePercent": "Porcentagem de Volume", + "VolumePercent-Help": "A porcentagem do volume ajustado.\n100 significa sem ajuste\n50 significa volume médio\n0 significa mudo", + "Pattern": "Padrão", + "Pattern-Help": "Uma expressão regular para corresponder, por exemplo \"comentários\" para remover faixas de comentários", + "NotMatching": "Não Correspondente", + "NotMatching-Help": "Se as faixas de áudio que NÃO correspondem ao padrão devem ser removidas", + "UseLanguageCode": "Usar Código de Idioma", + "UseLanguageCode-Help": "Se o código de idioma da faixa de áudio deve ser usado em vez do título" + } + }, + "FfmpegBuilderAudioConvert": { + "Label": "FFMPEG Builder: Converter Áudio", + "Outputs": { + "1": "Faixas a serem convertidas", + "2": "Nenhuma faixa a ser convertida" + }, + "Description": "Permite converter todas as faixas que correspondem aos parâmetros para conversão.", + "Fields": { + "CustomTrackSelection": "Converter", + "TrackSelectionOptions": "Correspondência", + "TrackSelectionOptionsKey": "Propriedade", + "TrackSelectionOptionsValue": "Valor", + "Channels": "Canais", + "Channels-Help": "O número de canais que esta nova faixa de áudio terá.\nSe você especificar mais canais do que a fonte, o FFMPEG mixará automaticamente.\nSe você especificar menos canais do que a fonte, o FFMPEG mixará automaticamente.", + "PcmFormat": "Formato", + "PcmFormat-Help": "O formato PCM a ser usado para codificar o áudio PCM.", + "Bitrate": "Taxa de Bits", + "Bitrate-Help": "Taxa de bits da faixa de áudio", + "Codec": "Codec", + "Codec-Help": "O codec a ser usado para codificar o áudio", + "BitratePerChannel": "Taxa de Bits Por Canal", + "BitratePerChannel-Help": "Se a taxa de bits especificada deve ser por canal" + } + }, + "FfmpegBuilderAudioConverter": { + "Label": "FFMPEG Builder: Conversor de Áudio", + "Outputs": { + "1": "Faixas a serem convertidas", + "2": "Nenhuma faixa a ser convertida" + }, + "Description": "Permite converter todas as faixas que correspondem aos parâmetros para conversão.", + "Fields": { + "Channels": "Canais", + "Channels-Help": "O número de canais que esta nova faixa de áudio terá.\nSe você especificar mais canais do que a fonte, o FFMPEG mixará automaticamente.\nSe você especificar menos canais do que a fonte, o FFMPEG mixará automaticamente.", + "PcmFormat": "Formato", + "PcmFormat-Help": "O formato PCM a ser usado para codificar o áudio PCM.", + "Bitrate": "Taxa de Bits", + "Bitrate-Help": "Taxa de bits da faixa de áudio", + "Codec": "Codec", + "Codec-Help": "O codec a ser usado para codificar o áudio", + "Field": "Campo", + "Field-Help": "O campo a corresponder com o padrão. Deixe o padrão em branco para corresponder a qualquer coisa sem valor definido.", + "Pattern": "Padrão", + "Pattern-Help": "Uma string ou expressão regular para corresponder, por exemplo \"comentários\" para corresponder exatamente comentários ou \".*comentários.*\" para corresponder comentários em qualquer lugar na string", + "NotMatching": "Não Correspondente", + "NotMatching-Help": "Se as faixas de áudio que NÃO correspondem ao padrão devem ser convertidas", + "BitratePerChannel": "Taxa de Bits Por Canal", + "BitratePerChannel-Help": "Se a taxa de bits especificada deve ser por canal" + } + }, + "FfmpegBuilderAudioNormalization": { + "Label": "FFMPEG Builder: Normalização de Áudio", + "Outputs": { + "1": "As faixas de áudio foram normalizadas e adicionadas ao FFMPEG Builder", + "2": "Nenhuma faixa de áudio encontrada para normalizar" + }, + "Description": "Normaliza todas as faixas de áudio de um arquivo de vídeo usando o filtro loudnorm do FFMPEG", + "Fields": { + "TwoPass": "Dupla Passagem", + "TwoPass-Help": "Se as faixas de áudio devem usar a normalização de duas passagens. Isso melhora a normalização, mas aumenta o tempo de processamento.", + "AllAudio": "Todas as Faixas de Áudio", + "AllAudio-Help": "Se todas as faixas de áudio devem ser normalizadas ou se apenas a primeira faixa deve ser", + "Pattern": "Padrão", + "Pattern-Help": "Uma expressão regular para corresponder, por exemplo \"comentários\" para remover faixas de comentários", + "NotMatching": "Não Correspondente", + "NotMatching-Help": "Se as faixas de áudio que NÃO correspondem ao padrão devem ser removidas", + "UseLanguageCode": "Usar Código de Idioma", + "UseLanguageCode-Help": "Se o código de idioma da faixa de áudio deve ser usado em vez do título" + } + }, + "FfmpegBuilderAudioTrackRemover": { + "Label": "FFMPEG Builder: Remover Faixas (Obsoleto)", + "Outputs": { + "1": "Faixas estabelecidas para serem removidas", + "2": "Faixas NÃO estabelecidas para serem removidas" + }, + "Description": "Permite remover faixas baseadas em seu título ou código de idioma.\n\nQualquer título (ou código de idioma se definido como \"Usar Código de Idioma\") que estiver vazio NÃO será removido, independentemente do padrão.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de faixas a reorganizar no FFMPEG Builder", + "RemoveAll": "Remover Todos", + "RemoveAll-Help": "Remove todas as faixas atuais do arquivo de saída. Você pode usar Adicionar Faixa depois para adicionar faixas de codecs específicos", + "Pattern": "Padrão", + "Pattern-Help": "Uma expressão regular para corresponder, por exemplo \"comentários\" para remover faixas de comentários", + "NotMatching": "Não Correspondente", + "NotMatching-Help": "Se as faixas de áudio que NÃO correspondem ao padrão devem ser removidas", + "UseLanguageCode": "Usar Código de Idioma", + "UseLanguageCode-Help": "Se o código de idioma da faixa deve ser usado em vez do título", + "RemoveIndex": "Remover Índice", + "RemoveIndex-Help": "O índice inicial a partir do qual remover as faixas. Isso permite remover todas as faixas que correspondem após o índice inicial.\nDefina como zero para remover todas que correspondem aos parâmetros.\nDefina como 1 para manter a primeira faixa e remover qualquer outra após a primeira que corresponda aos parâmetros", + "MatchType": "Correspondências", + "MatchType-Help": "O valor a corresponder." + } + }, + "FfmpegBuilderTrackRemover": { + "Label": "FFMPEG Builder: Remover Faixas", + "Outputs": { + "1": "Faixas estabelecidas para serem removidas", + "2": "Faixas NÃO estabelecidas para serem removidas" + }, + "Description": "Permite remover faixas baseadas em condições especificadas.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de faixas a reorganizar no FFMPEG Builder", + "CustomTrackSelection": "Remover", + "TrackSelectionOptions": "", + "TrackSelectionOptionsKey": "Propriedade", + "TrackSelectionOptionsValue": "Valor" + } + }, + "FfmpegBuilderAudioTrackReorder": { + "Label": "Construtor FFMPEG: Reordenar Faixas", + "Outputs": { + "1": "Faixas reordenadas no Construtor FFMPEG", + "2": "Faixas NÃO reordenadas" + }, + "Description": "Permite que você reordene faixas na ordem preferida.\n\nDigite os idiomas/códigos de áudio/canais na ordem desejada. Qualquer um que não estiver listado será ordenado após os que foram inseridos em sua ordem original.\nSe houver várias faixas com o mesmo idioma/código/canais, elas serão ordenadas primeiro pela ordem em que foram inseridas, depois em sua ordem original.\n\nObserve que a primeira faixa após a reordenação será definida como a faixa padrão..\n\nSaída 1: As faixas foram reordenadas\nSaída 2: As faixas não precisaram ser reordenadas", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de faixas a serem reordenadas no Construtor FFMPEG", + "OrderedTracks": "Códigos Ordenados", + "OrderedTracks-Help": "A ordem dos códigos para as faixas. Isso é feito após os idiomas (se houver)", + "Languages": "Idiomas", + "Languages-Help": "A ordem dos idiomas para classificar as faixas. Essa ordenação é feita antes do código.", + "Channels": "Canais", + "Channels-Help": "A ordem dos canais de áudio para classificar as faixas de áudio. Essa ordenação é feita antes dos idiomas.\nPor exemplo, \"5.1\",\"7.1\",\"6.2\",\"2\"" + } + }, + "FfmpegBuilderAudioSetLanguage": { + "Label": "Construtor FFMPEG: Definir Idioma", + "Outputs": { + "1": "Faixas atualizadas no Construtor FFMPEG", + "2": "Faixas NÃO atualizadas" + }, + "Description": "Permite que você defina o idioma para quaisquer faixas que não tenham idioma definido. Se a faixa já tiver um idioma definido, será ignorada.\n\nSaída 1: As faixas foram atualizadas\nSaída 2: Nenhuma faixa precisou ser atualizada", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de faixa para definir o idioma", + "Language": "Idioma", + "Language-Help": "O código de idioma [ISO 639-2](https://pt.wikipedia.org/wiki/Lista_de_c%C3%B3digos_ISO_639-2) a ser usado." + } + }, + "FfmpegBuilderAutoChapters": { + "Label": "Construtor FFMPEG: Capítulos Automáticos", + "Description": "Detecta automaticamente mudanças de cena no vídeo para gerar capítulos.", + "Outputs": { + "1": "Capítulos gerados e adicionados ao Construtor FFMPEG", + "2": "Nenhum capítulo detectado ou o vídeo já tinha capítulos" + }, + "Fields": { + "MinimumLength": "Duração Mínima", + "MinimumLength-Suffix": "segundos", + "MinimumLength-Help": "A duração mínima de um capítulo em segundos", + "Percent": "Porcentagem", + "Percent-Suffix": "%", + "Percent-Help": "O valor percentual de limite a ser usado para a detecção de mudanças de cena. Um bom valor é 45%" + } + }, + "FfmpegBuilderComskipChapters": { + "Label": "Construtor FFMPEG: Capítulos Comskip", + "Description": "Usa um arquivo EDL do comskip e criará capítulos dados esse arquivo EDL do comskip.", + "Outputs": { + "1": "Capítulos comerciais criados, adicionados ao Construtor FFMPEG", + "2": "Nenhum comercial detectado" + }, + "Fields": { + "RunComskipIfNoEdl": "Executar Comskip", + "RunComskipIfNoEdl-Help": "Executar o comskip no arquivo se nenhum arquivo comskip (EDL) for encontrado." + } + }, + "FfmpegBuilderCustomParameters": { + "Label": "Construtor FFMPEG: Parâmetros Personalizados", + "Description": "Permite que você adicione parâmetros personalizados ao Construtor FFMPEG para execução", + "Outputs": { + "1": "Parâmetros adicionados" + }, + "Fields": { + "Parameters": "Parâmetros", + "Parameters-Help": "Os parâmetros a serem adicionados ao Construtor FFMPEG para execução", + "ForceEncode": "Forçar Codificação", + "ForceEncode-Help": "Se isso deve forçar o Executor do Construtor FFMPEG a sempre executar, mesmo que nenhuma alteração seja detectada que normalmente exigiria a execução do executor." + } + }, + "FFmpegBuilderDurationStart": { + "Label": "Construtor FFMPEG: Duração/Início", + "Descriptions": "Este elemento do fluxo permite que os usuários definam o ponto de partida e a duração para extrair um segmento de um vídeo.", + "Outputs": { + "1": "Duração/Início configurados", + "2": "Falha ao definir duração/início" + }, + "Fields": { + "Duration": "Duração", + "Duration-Help": "A duração do arquivo de vídeo, se 0, não ajustará a duração.", + "Start": "Início", + "Start-Help": "O início do arquivo de vídeo, se 0, não ajustará o início." + } + }, + "FfmpegBuilderHdrToSdr": { + "Label": "Construtor FFMPEG: HDR para SDR", + "Description": "Verifica se um fluxo de vídeo é HDR e, se for, atualiza o Construtor FFMPEG para convertê-lo para SDR", + "Outputs": { + "1": "Fluxo HDR detectado e Construtor FFMPEG atualizado para converter", + "2": "Nenhum fluxo HDR encontrado" + } + }, + "FfmpegBuilderKeepOriginalLanguage": { + "Label": "Construtor FFMPEG: Manter Idioma Original", + "Outputs": { + "1": "Faixas foram modificadas", + "2": "Nenhuma faixa foi alterada" + }, + "Description": "Este elemento do fluxo manterá apenas o idioma original e quaisquer idiomas adicionais definidos pelo usuário.\n\nTodos os outros fluxos de idioma serão removidos/marcados para exclusão.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de faixas que devem ser atualizadas", + "AdditionalLanguages": "Idiomas Adicionais", + "AdditionalLanguages-Help": "Uma lista opcional de códigos de idioma adicionais a serem mantidos.\n\nÉ recomendável que um [código de idioma ISO 639-2](https://pt.wikipedia.org/wiki/Lista_de_c%C3%B3digos_ISO_639-2) seja usado.", + "KeepOnlyFirst": "Manter Apenas o Primeiro", + "KeepOnlyFirst-Help": "Quando ativado, apenas a primeira faixa de cada idioma será mantida.\n\nPor exemplo, se houver 2 faixas em inglês, 3 em espanhol e 1 em alemão. O idioma original era espanhol, e os idiomas adicionais foram definidos como `eng`, então o resultado seria 1 faixa em inglês e 1 faixa em espanhol, o restante seria removido.", + "FirstIfNone": "Primeiro se Nenhum", + "FirstIfNone-Help": "Quando ativado, isso garante que pelo menos uma faixa seja mantida. Se nenhuma faixa correspondente ao idioma original e nenhuma faixa correspondente aos idiomas adicionais for encontrada, a primeira faixa será mantida independentemente.\n\nIsso evita problemas de falta de áudio no vídeo.", + "TreatEmptyAsOriginal": "Tratar Vazio como Original", + "TreatEmptyAsOriginal-Help": "Quando ativado, qualquer faixa que não tenha idioma definido será tratada como se fosse o idioma original.\n\nPor exemplo, se o idioma original for Maori e uma faixa não tiver idioma definido, será tratada como Maori." + } + }, + "FfmpegBuilderMetadataRemover": { + "Label": "Construtor FFMPEG: Removedor de Metadados", + "Description": "Remove metadados do Construtor FFMPEG para que, quando o arquivo for processado, os metadados selecionados sejam removidos.\n\nNota: Apenas os metadados quando este elemento do fluxo é afetado; se metadados forem adicionados após a execução deste nó, isso não será afetado.", + "Outputs": { + "1": "Metadados removidos do Construtor FFMPEG" + }, + "Fields": { + "Video": "Vídeo", + "Video-Help": "Se as faixas de vídeo devem ter esses metadados removidos", + "Audio": "Áudio", + "Audio-Help": "Se as faixas de áudio devem ter esses metadados removidos", + "Subtitle": "Legenda", + "Subtitle-Help": "Se as faixas de legendas devem ter esses metadados removidos", + "RemoveImages": "Remover Imagens", + "RemoveImages-Help": "Se todas as imagens encontradas nos metadados devem ser removidas", + "RemoveTitle": "Remover Título", + "RemoveTitle-Help": "Se o título deve ser removido das faixas", + "RemoveLanguage": "Remover Idioma", + "RemoveLanguage-Help": "Se o idioma deve ser removido das faixas", + "RemoveAdditionalMetadata": "Remover Metadados Adicionais", + "RemoveAdditionalMetadata-Help": "Se metadados adicionais devem ser removidos. Metadados adicionais são metadados não padronizados que podem ter sido adicionados a um arquivo de vídeo, por exemplo, pelo iTunes." + } + }, + "FfmpegBuilderDefaultOriginalLanguage": { + "Label": "Construtor FFMPEG: Idioma Original Padrão", + "Outputs": { + "1": "As faixas foram modificadas", + "2": "Nenhuma faixa foi alterada" + }, + "Description": "Este elemento de fluxo tentará definir as faixas de idioma original como padrão. Tentará encontrar a primeira faixa que corresponda ao idioma original e, em seguida, defini-la como padrão.\n\nSe nenhuma faixa for encontrada com o idioma original, nenhuma alteração será feita.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de faixas que devem ser atualizadas", + "MakeFirst": "Tornar Primeiro", + "MakeFirst-Help": "Se a faixa de idioma original também deve se tornar a primeira faixa." + } + }, + "FfmpegBuilderTrackSorter": { + "Label": "Construtor FFMPEG: Classificador de Faixas", + "Outputs": { + "1": "As faixas foram modificadas", + "2": "Nenhuma faixa foi alterada" + }, + "Description": "Este elemento de fluxo classifica as faixas com base nas opções de classificação definidas pelo usuário.", + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de faixas que devem ser atualizadas", + "Sorters": "Classificadores", + "Sorters-Help": "Adicione uma ou mais opções de classificação para ordenar as faixas.", + "SortersKey": "Campo", + "SortersValue": "Valor", + "SetFirstDefault": "Definir Padrão", + "SetFirstDefault-Help": "Se a primeira faixa deve ser definida como padrão após a classificação." + } + }, + "FfmpegBuilderSubtitleClearDefault": { + "Label": "Construtor FFMPEG: Limpar Padrão de Legendas", + "Description": "Este elemento de fluxo limpará a bandeira padrão das legendas.", + "Fields": { + "LeaveForced": "Deixar Forçado", + "LeaveForced-Help": "Quando marcado, todas as legendas forçadas não serão tocadas, mantendo sua configuração original. Isso é executado antes de 'Definir Padrão Forçado', portanto, tem precedência.", + "SetForcedDefault": "Definir Padrão Forçado", + "SetForcedDefault-Help": "Quando marcado, a primeira legenda encontrada com o campo Forçado definido será definida como padrão, todas as outras terão sua bandeira padrão limpa." + }, + "Outputs": { + "1": "As bandeiras padrão das legendas foram alteradas", + "2": "Nenhuma alteração foi feita nas legendas" + } + }, + "FfmpegBuilderSubtitleFormatRemover": { + "Label": "FFMPEG Builder: Remover Formato de Legendas", + "Description": "Remove legendas de um arquivo de vídeo se encontradas.", + "Outputs": { + "1": "Legendas marcadas para remoção no FFMPEG Builder", + "2": "Nenhuma legenda para remover" + }, + "Fields": { + "SubtitlesToRemove": "Legendas a Remover", + "RemoveAll": "Remover Todas", + "RemoveAll-Help": "Quando marcado, todas as legendas serão removidas do arquivo, caso contrário, apenas as selecionadas abaixo serão." + } + }, + "FfmpegBuilderSubtitleTrackRemover": { + "Label": "FFMPEG Builder: Remover Faixa de Legendas", + "Outputs": { + "1": "Legendas marcadas para remoção no FFMPEG Builder", + "2": "Nenhuma legenda para remover" + }, + "Description": "Permite remover legendas com base em seu título ou códigos de idioma.\n\nQualquer idioma (ou título se definido como 'Usar Título') que estiver em branco NÃO será removido, independentemente do padrão.", + "Fields": { + "Pattern": "Padrão", + "Pattern-Help": "Uma expressão regular para corresponder, por exemplo, \"eng\" para remover faixas em inglês", + "NotMatching": "Não Correspondente", + "NotMatching-Help": "Se as legendas que NÃO corresponderem ao padrão devem ser removidas", + "UseLanguageCode": "Usar Código de Idioma", + "UseLanguageCode-Help": "Se o código de idioma da faixa de áudio deve ser usado em vez do título" + } + }, + "FfmpegBuilderSubtitleTrackMerge": { + "Label": "FFMPEG Builder: Mesclar Faixa de Legendas", + "Outputs": { + "1": "Legendas encontradas e adicionadas", + "2": "Nenhuma legenda encontrada" + }, + "Fields": { + "Subtitles": "Legendas", + "Subtitles-Help": "Selecione quais legendas buscar para adicionar", + "UseSourceDirectory": "Usar Diretório de Origem", + "UseSourceDirectory-Help": "Se marcado, será feita uma busca no diretório original de origem, caso contrário, será utilizado o diretório de trabalho.", + "MatchFilename": "Correspondência de Nome de Arquivo", + "MatchFilename-Help": "Quando marcado, somente legendas com o mesmo nome de arquivo que o arquivo de entrada ou o arquivo de trabalho serão mescladas.", + "Pattern": "Padrão", + "Pattern-Help": "Expressão regular opcional para corresponder aos arquivos.", + "Title": "Título", + "Title-Help": "O título da legenda, se não definido, o idioma será usado como título se encontrado.", + "Language": "Idioma", + "Language-Help": "Código de idioma opcional [ISO 639-2](https://pt.wikipedia.org/wiki/ISO_639-2) para a legenda adicionada.", + "Forced": "Forçado", + "Forced-Help": "Se a legenda deve ser forçada", + "Default": "Padrão", + "Default-Help": "Se a legenda deve ser a legenda padrão", + "DeleteAfterwards": "Excluir Após Mesclagem", + "DeleteAfterwards-Help": "Se o arquivo de legenda deve ser excluído após ser mesclado" + } + }, + "FfmpegBuilderCropBlackBars": { + "Label": "FFMPEG Builder: Cortar Barras Pretas", + "Description": "FFMPEG Builder atualizado para cortar barras pretas se detectadas.", + "Outputs": { + "1": "FFMPEG Builder atualizado para cortar barras pretas", + "2": "Nenhuma barra preta detectada, não cortando" + }, + "Fields": { + "CroppingThreshold": "Limite", + "CroppingThreshold-Help": "A quantidade de pixels que deve ser maior para cortar. Por exemplo, se apenas 5 pixels forem detectados como espaço preto, você pode considerar isso pequeno demais para cortar." + } + }, + "FfmpegBuilderPreExecute": { + "Label": "Construtor FFMPEG: Pré-Executar", + "Description": "Este elemento permite que você execute código personalizado logo antes de o [Executor do Construtor FFMPEG](https://fileflows.com/docs/plugins/video-nodes/ffmpeg-builder) executar o FFmpeg.\n\nIsso permite que você altere os argumentos passados para o FFmpeg.", + "Outputs": { + "1": "Pré-Execução definida" + }, + "Fields": { + "Code": "Código" + } + }, + "FfmpegBuilderProres": { + "Label": "Construtor FFMPEG: Prores", + "Description": "Codifica o vídeo no formato prores.", + "Outputs": { + "1": "Vídeo configurado para usar prores" + }, + "Fields": { + "Encoder": "Codificador", + "Encoder-Help": "Qual codificador prores do FFmpeg usar.", + "Quality": "Qualidade", + "Quality-Help": "0 para qualidade máxima, 32 para qualidade mínima. 9 a 13 são bons valores a serem usados.", + "Profile": "Perfil", + "PixelFormat": "Formato de Pixel" + } + }, + "FfmpegBuilderRemoveAttachments": { + "Label": "Construtor FFMPEG: Remover Anexos", + "Description": "Remove quaisquer anexos do vídeo, se houver.", + "Outputs": { + "1": "Construtor FFMPEG configurado para remover anexos." + } + }, + "FfmpegBuilderRemuxToMkv": { + "Label": "Construtor FFMPEG: Remux para MKV", + "Description": "Remuxa um arquivo de vídeo para um contêiner MKV.", + "Outputs": { + "1": "Construtor FFMPEG configurado para remuxar para MKV" + } + }, + "FfmpegBuilderRemuxToMxf": { + "Label": "Construtor FFMPEG: Remux para MXF", + "Description": "Remuxa um arquivo de vídeo para um contêiner MXF.", + "Outputs": { + "1": "Construtor FFMPEG configurado para remuxar para MXF" + } + }, + "FfmpegBuilderRemuxToMP4": { + "Label": "Construtor FFMPEG: Remux para MP4", + "Description": "Remuxa um arquivo de vídeo para um contêiner MP4.", + "Outputs": { + "1": "Construtor FFMPEG configurado para remuxar para MP4" + }, + "Fields": { + "UseHvc1": "Usar HVC1", + "UseHvc1-Help": "Se HVC1 deve ser usado em vez do padrão HEV1" + } + }, + "FfmpegBuilderRemuxToMov": { + "Label": "Construtor FFMPEG: Remux para MOV", + "Description": "Remuxa um arquivo de vídeo para um contêiner MOV.", + "Outputs": { + "1": "Construtor FFMPEG configurado para remuxar para MOV" + } + }, + "FfmpegBuilderRemuxToWebm": { + "Label": "Construtor FFMPEG: Remux para WEBM", + "Description": "Remuxa um arquivo de vídeo para um contêiner WEBM.", + "Outputs": { + "1": "Construtor FFMPEG configurado para remuxar para WEBM" + } + }, + "FfmpegBuilderScaler": { + "Label": "Construtor FFMPEG: Escalador de Vídeo", + "Description": "Isso permite que você escale um vídeo para as dimensões especificadas. Ele manterá a proporção do vídeo, então, se o vídeo for 1920x1000, ele será escalado para 1280x668 se você selecionar 720P.", + "Outputs": { + "1": "Filtro de escala do Construtor FFMPEG adicionado", + "2": "Vídeo já estava na/nas proximidades da resolução escalada" + }, + "Fields": { + "Force": "Forçar", + "Force-Help": "Quando marcado, o vídeo será forçado a escalar mesmo se o arquivo de trabalho já estiver nesta resolução (ou perto desta resolução).", + "OnlyIfLarger": "Somente se Maior", + "OnlyIfLarger-Help": "O vídeo só será escalado para esta resolução se o vídeo for atualmente maior que esta resolução", + "Resolution": "Resolução" + } + }, + "FfmpegBuilderSetDefaultTrack": { + "Label": "Construtor FFMPEG: Definir Pista Padrão", + "Description": "Defina uma pista como padrão no construtor FFMPEG.", + "Outputs": { + "1": "Pista definida como padrão", + "2": "Falha ao definir a pista como padrão" + }, + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de pista a ser definido como padrão no Construtor FFMPEG", + "Language": "Idioma", + "Language-Help": "Código de idioma [ISO 639-2](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) opcional a ser utilizado.", + "Index": "Índice", + "Index-Help": "O índice da pista a ser definida como padrão, usado apenas se o idioma não for especificado." + } + }, + "FfmpegBuilderSetDevice": { + "Label": "FFMPEG Builder: Definir Dispositivo", + "Description": "Define o dispositivo a ser usado para codificação/decodificação de hardware, se o codificador/decodificador suportar.", + "Outputs": { + "1": "Dispositivo definido" + }, + "Fields": { + "Device": "Dispositivo", + "Device-Help": "O caminho para o dispositivo ou deixar em branco se nenhum dispositivo deve ser especificado." + } + }, + "FfmpegBuilderSetFps": { + "Label": "FFMPEG Builder: Definir FPS", + "Description": "Define os quadros por segundo (FPS) no FFmpeg Builder", + "Outputs": { + "1": "FPS atualizado", + "2": "Nenhuma alteração foi necessária" + }, + "Fields": { + "Fps": "FPS", + "Fps-Help": "O FPS desejado, se o FPS de entrada e o FPS desejado não coincidirem, o FFMPEG irá convertê-lo, por exemplo (23.976, 24, 30, 60).", + "OnlyIfHigher": "Somente se Maior", + "OnlyIfHigher-Help": "Se o FPS deve ser ajustado apenas se o FPS atual for maior que o atual." + } + }, + "FfmpegBuilderSetTrackTitles": { + "Label": "FFMPEG Builder: Definir Títulos das Faixas", + "Description": "Define os títulos das faixas com base em um formatador no FFmpeg Builder.", + "Outputs": { + "1": "Títulos das faixas atualizados", + "2": "Nenhum título de faixa foi afetado" + }, + "Fields": { + "StreamType": "Tipo", + "StreamType-Help": "O tipo de faixa a ser definida como padrão no FFMPEG Builder", + "Format": "Formato", + "Format-Help": "O formatador a ser usado, consulte _Ajuda_ para mais informações.", + "Separator": "Separador", + "Separator-Help": "O separador de string usado entre os valores do formato, isso é necessário para garantir que nenhum valor vazio seja mantido.", + "CommentaryFormat": "Comentário", + "CommentaryFormat-Help": "Como as faixas de comentários devem ser tratadas, você pode usar o mesmo formatador que outras faixas ou usar um método diferente." + } + }, + "FfmpegBuilderVideo10Bit": { + "Label": "FFMPEG Builder: Vídeo 10 Bits", + "Description": "Define o FFMPEG Builder para codificar os fluxos de vídeo em 10 Bits", + "Outputs": { + "1": "Fluxos de vídeo do FFMPEG Builder definidos para codificar em 10 Bits" + } + }, + "FfmpegBuilderVideoBitrate": { + "Label": "FFMPEG Builder: Taxa de Bits de Vídeo", + "Description": "Configura o FFMPEG Builder para codificar o vídeo dado a taxa de bits", + "Outputs": { + "1": "Fluxos de vídeo do FFMPEG Builder atualizados" + }, + "Fields": { + "Bitrate": "Taxa de Bits", + "Bitrate-Suffix": "KB / %", + "Bitrate-Help": "A taxa de bits alvo do vídeo em kilobytes", + "Percent": "Porcentagem", + "Percent-Help": "Quando selecionado, a taxa de bits será calculada como uma porcentagem da taxa de bits atual." + } + }, + "FfmpegBuilderVideoMaxBitrate": { + "Label": "FFMPEG Builder: Taxa de Bits Máxima de Vídeo", + "Description": "Configura o FFMPEG Builder para limitar a taxa de bits do vídeo", + "Outputs": { + "1": "Fluxos de vídeo do FFMPEG Builder atualizados" + }, + "Fields": { + "Bitrate": "Taxa de Bits Máxima", + "Bitrate-Suffix": "KB", + "Bitrate-Help": "A taxa de bits máxima do vídeo em kilobytes" + } + }, + "FfmpegBuilderVideoCodec": { + "Label": "FFMPEG Builder: Codec de Vídeo", + "Description": "Configura o FFMPEG Builder para codificar os fluxos de vídeo no codec especificado", + "Outputs": { + "1": "Fluxos de vídeo do FFMPEG Builder configurados para codificar", + "2": "Vídeo já no codec alvo, não será recodificado" + }, + "Fields": { + "VideoCodec": "Codec de Vídeo", + "VideoCodec-Help": "O codec de vídeo em que o vídeo deve estar, por exemplo hevc, h264.\nSe deixado em branco, todas as faixas de vídeo originais serão copiadas.", + "VideoCodecParameters": "Parâmetros do Codec de Vídeo", + "VideoCodecParameters-Help": "Os parâmetros a serem usados para codificar o vídeo, por exemplo, \"hevc_nvenc -preset hq -crf 23\" para codificar em hevc usando o preset HQ com um fator de taxa constante de 23 e usando a aceleração de hardware NVIDIA.", + "Force": "Forçar Codificação", + "Force-Help": "Forçará a codificação do vídeo mesmo que já esteja no codec de vídeo alvo", + "DisableOtherVideoStreams": "Somente o Primeiro", + "DisableOtherVideoStreams-Help": "Quando marcado, se houver múltiplos fluxos de vídeo no arquivo, isso removerá todos, exceto o primeiro fluxo de vídeo do arquivo uma vez executado." + } + }, + "FfmpegBuilderVideoEncode": { + "Label": "FFMPEG Builder: Codificação de Vídeo", + "Description": "Configura o FFMPEG Builder para codificar o vídeo com predefinições fáceis de usar", + "Outputs": { + "1": "Fluxos de vídeo do FFMPEG Builder configurados para codificar" + }, + "Fields": { + "Codec": "Codec", + "Speed": "Velocidade", + "Encoder": "Codificador", + "Encoder-Help": "O codificador que será forçado a usar. Se você especificar um codificador de hardware que não está disponível, a codificação falhará.", + "HardwareEncoding": "Codificação por Hardware", + "HardwareEncoding-Help": "Quando marcado, testará se codificadores de hardware são encontrados no Nó de Processamento, e se forem encontrados, usará a codificação por hardware, caso contrário, voltará para a codificação por CPU.", + "Quality": "Qualidade", + "Quality-Help": "Uma escala de qualidade logarítmica, de modo que pequenas mudanças neste controle deslizante causam grandes mudanças no tamanho/ qualidade do arquivo.\nQuanto menor o número, maior a qualidade.\nConsulte a Ajuda para mais informações", + "Quality-Suffix": "(Maior Qualidade, arquivo maior)" + } + }, + "FfmpegBuilderVideoBitrateEncode": { + "Label": "FFMPEG Builder: Codificação de Taxa de Bits", + "Description": "Configura o FFMPEG Builder para codificar o vídeo com predefinições fáceis de usar baseadas na Taxa de Bits", + "Outputs": { + "1": "Fluxos de vídeo do FFMPEG Builder configurados para codificar" + }, + "Fields": { + "Codec": "Codec", + "Bitrate": "Taxa de Bits", + "Bitrate-Suffix": "Kbps", + "Encoder": "Codificador", + "Encoder-Help": "O codificador que será forçado a usar. Se você especificar um codificador de hardware que não está disponível, a codificação falhará.", + "HardwareEncoding": "Codificação por Hardware", + "HardwareEncoding-Help": "Quando marcado, testará se codificadores de hardware são encontrados no Nó de Processamento, e se forem encontrados, usará a codificação por hardware, caso contrário, voltará para a codificação por CPU." + } + }, + "FfmpegBuilderVideoTag": { + "Label": "FFMPEG Builder: Tag de Vídeo", + "Description": "Define uma tag de vídeo no arquivo", + "Outputs": { + "1": "Tag FFMPEG Builder adicionada" + }, + "Fields": { + "Tag": "Tag", + "Tag-Help": "A tag a ser adicionada ao arquivo de vídeo" + } + }, + "FFmpegBuilderWatermark": { + "Label": "FFMPEG Builder: Marca d'Água", + "Description": "Adiciona uma marca d'água a um arquivo de vídeo.", + "Outputs": { + "1": "Marca d'água adicionada" + }, + "Fields": { + "Image": "Imagem", + "Image-Help": "O arquivo de imagem para a marca d'água, para melhores resultados use um arquivo PNG.", + "Position": "Posição", + "Position-Help": "Onde colocar a marca d'água", + "Opacity": "Opacidade", + "Opacity-Help": "Ajusta o nível de transparência da imagem sobreposta, variando de 0 (totalmente transparente) a 100 (totalmente opaco).", + "XPos": "Posição X", + "XPos-Help": "A posição da marca d'água no eixo x", + "YPos": "Posição Y", + "YPos-Help": "A posição da marca d'água no eixo y", + "Width": "Largura", + "Width-Help": "Defina uma largura personalizada da imagem, ou defina como 0 para a largura original ou escalada se a altura for definida.", + "Height": "Altura", + "Height-Help": "Defina uma altura personalizada da imagem, ou defina como 0 para a altura original ou escalada se a largura for definida." + } + }, + "ReadVideoInfo": { + "Description": "Lê as informações do vídeo do arquivo de trabalho atual e atualiza as variáveis vi.", + "Outputs": { + "1": "O arquivo era um arquivo de vídeo e as informações foram lidas no fluxo", + "2": "O arquivo não era um arquivo de vídeo ou não pôde ser lido" + } + }, + "SubtitleExtractor": { + "Description": "Extrai uma única faixa de legendas e a salva no destino. Pode extrair formatos srt, ass e ssa.\nIsto NÃO atualizará o arquivo de trabalho e manterá o arquivo de trabalho igual ao arquivo de entrada.\n\nSaída 1: Legendas foram extraídas\nSaída 2: Nenhuma legenda encontrada para extrair", + "Outputs": { + "1": "Legendas extraídas", + "2": "Nenhuma legenda extraída" + }, + "Fields": { + "Language": "Idioma", + "Language-Help": "O código de idioma [ISO 639-2](https://pt.wikipedia.org/wiki/ISO_639-2) a ser utilizado.", + "Title": "Título", + "Title-Help": "Opcionalmente, insira um título. Isso pode ser uma expressão regular ou uma string que deve aparecer no título para ser correspondente.", + "OutputFile": "Arquivo de Saída", + "OutputFile-Help": "Onde salvar o arquivo de saída, por exemplo, \"'{folder.Orig.FullName}\\{file.Orig.FileName}.srt'\" para salvá-lo com o arquivo original como saída srt.\nSe deixado em branco, será criado um subtítulo srt na mesma pasta que o arquivo de entrada original.", + "SetWorkingFile": "Definir como Arquivo de Trabalho", + "SetWorkingFile-Help": "Quando isso está marcado, se um subtítulo for extraído, o arquivo de trabalho será alterado para esse subtítulo extraído. O arquivo de trabalho original NÃO será excluído.", + "ForcedOnly": "Apenas Forçados", + "ForcedOnly-Help": "Se apenas os subtítulos forçados devem ser extraídos.", + "OnlyTextSubtitles": "Apenas Legendas de Texto", + "OnlyTextSubtitles-Help": "Se apenas legendas de texto devem ser extraídas, todas as legendas baseadas em imagem serão ignoradas.", + "ExtractAll": "Extrair Todos", + "ExtractAll-Help": "Se todos os subtítulos correspondentes devem ser extraídos." + } + }, + "VideoBitCheck": { + "Label": "Verificação de Bits de Vídeo", + "Description": "Verifica se um vídeo é de 8-Bit, 10-Bit, 12-Bit ou desconhecido.", + "Outputs": { + "1": "O vídeo é de 8-Bit", + "2": "O vídeo é de 10-Bit", + "3": "O vídeo é de 12-Bit", + "4": "Desconhecido" + } + }, + "VideoIs8Bit": { + "Label": "O Vídeo É de 8-Bit", + "Description": "Testa se um arquivo de vídeo é de 8-Bit", + "Outputs": { + "1": "O vídeo é de 8-Bit", + "2": "O vídeo não é de 8-Bit" + } + }, + "VideoIs10Bit": { + "Label": "O Vídeo É de 10-Bit", + "Description": "Testa se um arquivo de vídeo é de 10-Bit", + "Outputs": { + "1": "O vídeo é de 10-Bit", + "2": "O vídeo não é de 10-Bit" + } + }, + "VideoIs12Bit": { + "Label": "O Vídeo É de 12-Bit", + "Description": "Testa se um arquivo de vídeo é de 12-Bit", + "Outputs": { + "1": "O vídeo é de 12-Bit", + "2": "O vídeo não é de 12-Bit" + } + }, + "VideoAlreadyProcessed": { + "Label": "Vídeo Já Processado", + "Description": "Testa se um arquivo de vídeo já foi processado pelo FileFlows", + "Outputs": { + "1": "O vídeo já foi processado", + "2": "O vídeo não foi processado" + } + }, + "VideoIsInterlaced": { + "Label": "O vídeo é entrelaçado", + "Description": "Testa se um arquivo de vídeo é entrelaçado", + "Outputs": { + "1": "O vídeo é entrelaçado", + "2": "O vídeo não é entrelaçado" + }, + "Fields": { + "Threshold": "Limite", + "Threshold-Help": "A porcentagem de quadros detectados como entrelaçados que o vídeo deve ter para ser considerado entrelaçado" + } + }, + "VideoHasErrors": { + "Label": "O vídeo tem erros", + "Description": "Testa se um arquivo de vídeo contém erros", + "Outputs": { + "1": "Contém um erro", + "2": "Não foram detectados erros" + }, + "Fields": { + "HardwareDecoding": "Decodificação de Hardware", + "HardwareDecoding-Help": "Se uma tentativa de usar a decodificação de hardware deve ser feita. Se não estiver disponível, a execução continuará sem a decodificação de hardware habilitada." + } + }, + "VideoHasStream": { + "Label": "O vídeo tem fluxo", + "Description": "Testa se um arquivo de vídeo contém uma faixa", + "Outputs": { + "1": "Contém a faixa correspondente", + "2": "Não contém a faixa correspondente" + }, + "Fields": { + "Stream": "Tipo", + "Stream-Help": "O tipo de fluxo a ser procurado", + "Title": "Título", + "Title-Help": "Uma expressão regular usada para testar o título do fluxo", + "Codec": "Codec", + "Codec-Help": "Uma expressão regular usada para testar o codec do fluxo", + "Language": "Idioma", + "Language-Help": "Uma expressão regular usada para testar o idioma do fluxo", + "Channels": "Canais", + "Channels-Help": "O número de canais a serem testados. Deixe em branco para ignorar esta verificação", + "CheckDeleted": "Verificar excluídos", + "CheckDeleted-Help": "Se as faixas excluídas também devem ser verificadas", + "Invert": "Inverter", + "Invert-Help": "Inverte o resultado, tornando-se efetivamente `O vídeo não tem fluxo`", + "Forced": "Forçado", + "Forced-Help": "Se este fluxo deve ser um fluxo forçado ou não.", + "Default": "Padrão", + "Default-Help": "Se este fluxo deve ser um fluxo padrão ou não." + } + }, + "VideoBitrateGreaterThan": { + "Label": "Taxa de Bits de Vídeo Maior Que", + "Description": "Testa se a taxa de bits de um vídeo é maior que uma taxa de bits dada.", + "Outputs": { + "1": "A taxa de bits é maior que", + "2": "A taxa de bits não é maior que" + }, + "Fields": { + "Bitrate": "Taxa de Bits", + "Bitrate-Suffix": "KBps" + } + }, + "VideoExtractAudio": { + "Label": "Extrair Áudio do Vídeo", + "Description": "Extrai áudio de um arquivo de vídeo e o salva em um arquivo", + "Outputs": { + "1": "Áudio extraído e salvo em um arquivo", + "2": "Não foi possível encontrar uma faixa para extrair" + }, + "Fields": { + "Title": "Título", + "Title-Help": "Uma expressão regular usada para testar o título da faixa", + "Codec": "Codec", + "Codec-Help": "Uma expressão regular usada para testar o codec da faixa", + "Language": "Idioma", + "Language-Help": "Uma expressão regular usada para testar o idioma da faixa", + "Channels": "Canais", + "Channels-Help": "O número de canais que a faixa de origem deve ter para coincidir. Defina como 0 para ignorar a correspondência de canais.", + "OutputFile": "Arquivo de Saída", + "OutputFile-Help": "Onde salvar o arquivo de saída, por exemplo, \"'{folder.Orig.FullName}\\{file.Orig.FileName}.mp3'\" para salvá-lo com o arquivo original como saída mp3.\nSe nenhuma extensão for definida, o codec de saída será usado para determinar a extensão.", + "SetWorkingFile": "Definir como Arquivo de Trabalho", + "SetWorkingFile-Help": "Quando isso está marcado, se um subtítulo for extraído, o arquivo de trabalho será alterado para este subtítulo extraído. O arquivo de trabalho original NÃO será excluído.", + "OutputCodec": "Codec de Saída", + "OutputCodec-Help": "O codec para salvar o áudio extraído", + "OutputBitrate": "Taxa de Bits de Saída", + "OutputBitrate-Help": "A taxa de bits da faixa de áudio extraída", + "NotMatching": "Não Correspondente", + "NotMatching-Help": "Se uma faixa de áudio que NÃO corresponda ao padrão deve ser extraída" + } + }, + "VideoResolution": { + "Label": "Resolução de Vídeo", + "Description": "Determina a resolução de um vídeo e produz a saída de acordo.", + "Outputs": { + "1": "O vídeo é 4K", + "2": "O vídeo é 1080p", + "3": "O vídeo é 720p", + "4": "O vídeo é SD" + } + } + } + } +} \ No newline at end of file diff --git a/Web/i18n/de.json b/Web/i18n/de.json new file mode 100644 index 00000000..2f326312 --- /dev/null +++ b/Web/i18n/de.json @@ -0,0 +1,69 @@ +{ + "Flow": { + "Parts": { + "Downloader": { + "Outputs": { + "1": "URL wurde erfolgreich heruntergeladen", + "2": "URL konnte nicht heruntergeladen werden" + }, + "Description": "Lädt die angegebene URL herunter", + "Fields": { + "Url": "URL", + "Url-Help": "Die herunterzuladende URL, leer lassen, um die aktuelle Arbeitsdatei zu verwenden. Wenn die aktuelle Arbeitsdatei keine URL ist, schlägt dies fehl." + } + }, + "HtmlImageParser": { + "Label": "HTML-Bildparser", + "Outputs": { + "1": "Bilder gefunden und in der Variable ImageUrls gespeichert", + "2": "Keine Bilder gefunden" + }, + "Fields": { + "Path": "Datei", + "Path-Description": "Eine optionale Datei oder Variable, die nach Bildern durchsucht werden soll. Wenn nicht angegeben, wird die Arbeitsdatei durchsucht.", + "Pattern": "Muster", + "Pattern-Placeholder": "Optional", + "Pattern-Help": "Ein optionaler, fallunempfindlicher regulärer Ausdruck, mit dem die Ergebnisse abgeglichen werden. Nur Ergebnisse, die diesem Muster entsprechen, werden akzeptiert." + } + }, + "HtmlLinkParser": { + "Label": "HTML-Linkparser", + "Outputs": { + "1": "Link gefunden und in der Variable Links gespeichert", + "2": "Keine Links gefunden" + }, + "Fields": { + "Path": "Datei", + "Path-Description": "Eine optionale Datei oder Variable, die nach Links durchsucht werden soll. Wenn nicht angegeben, wird die Arbeitsdatei durchsucht.", + "Pattern": "Muster", + "Pattern-Placeholder": "Optional", + "Pattern-Help": "Ein optionaler, fallunempfindlicher regulärer Ausdruck, mit dem die Ergebnisse abgeglichen werden. Nur Ergebnisse, die diesem Muster entsprechen, werden akzeptiert." + } + }, + "InputUrl": { + "Label": "Eingabe-URL" + }, + "WebRequest": { + "Description": "Ermöglicht das Senden einer Webanfrage", + "Outputs": { + "1": "Erfolgreich gesendet", + "2": "Anfrage gab einen nicht erfolgreichen Statuscode zurück" + }, + "Fields": { + "Url": "URL", + "Url-Help": "Die URL der Anfrage", + "Method": "Methode", + "Method-Help": "Die Webmethode, die beim Senden dieser Anfrage verwendet werden soll", + "ContentType": "Inhaltstyp", + "ContentType-Help": "Der Content-Type der zu sendenden Nachricht", + "Headers": "Header", + "Headers-Help": "Optionale Header, die mit der Anfrage gesendet werden", + "HeadersKey": "Schlüssel", + "HeadersValue": "Wert", + "Body": "Body", + "Body-Help": "Der Body der gesendeten Anfrage. Variablen können in diesem Feld verwendet werden." + } + } + } + } +} diff --git a/Web/i18n/es.json b/Web/i18n/es.json new file mode 100644 index 00000000..0e8a2599 --- /dev/null +++ b/Web/i18n/es.json @@ -0,0 +1,69 @@ +{ + "Flow": { + "Parts": { + "Downloader": { + "Outputs": { + "1": "URL descargada con éxito", + "2": "Error al descargar la URL" + }, + "Description": "Descarga la URL especificada", + "Fields": { + "Url": "URL", + "Url-Help": "La URL a descargar, dejar vacío para usar el archivo de trabajo actual. Si el archivo de trabajo actual no es una URL, esto fallará." + } + }, + "HtmlImageParser": { + "Label": "Analizador de imágenes HTML", + "Outputs": { + "1": "Imágenes encontradas y almacenadas en la variable ImageUrls", + "2": "No se encontraron imágenes" + }, + "Fields": { + "Path": "Archivo", + "Path-Description": "Un archivo o variable opcional para analizar en busca de imágenes. Si no se proporciona, se analizará el archivo de trabajo.", + "Pattern": "Patrón", + "Pattern-Placeholder": "Opcional", + "Pattern-Help": "Una expresión regular opcional, sin distinción entre mayúsculas y minúsculas, para comparar con los resultados. Solo se aceptarán los resultados que coincidan con esto." + } + }, + "HtmlLinkParser": { + "Label": "Analizador de enlaces HTML", + "Outputs": { + "1": "Enlace encontrado y almacenado en la variable Links", + "2": "No se encontraron enlaces" + }, + "Fields": { + "Path": "Archivo", + "Path-Description": "Un archivo o variable opcional para analizar en busca de enlaces. Si no se proporciona, se analizará el archivo de trabajo.", + "Pattern": "Patrón", + "Pattern-Placeholder": "Opcional", + "Pattern-Help": "Una expresión regular opcional, sin distinción entre mayúsculas y minúsculas, para comparar con los resultados. Solo se aceptarán los resultados que coincidan con esto." + } + }, + "InputUrl": { + "Label": "URL de entrada" + }, + "WebRequest": { + "Description": "Te permite enviar una solicitud web", + "Outputs": { + "1": "Enviado con éxito", + "2": "La solicitud devolvió un código de estado no exitoso" + }, + "Fields": { + "Url": "URL", + "Url-Help": "La URL de la solicitud", + "Method": "Método", + "Method-Help": "El método web a utilizar al enviar esta solicitud", + "ContentType": "Tipo de contenido", + "ContentType-Help": "El Content-Type del mensaje a enviar", + "Headers": "Encabezados", + "Headers-Help": "Encabezados opcionales para enviar con la solicitud", + "HeadersKey": "Clave", + "HeadersValue": "Valor", + "Body": "Cuerpo", + "Body-Help": "El cuerpo de la solicitud que se envía. Se pueden usar variables en este campo." + } + } + } + } +} diff --git a/Web/i18n/fr.json b/Web/i18n/fr.json new file mode 100644 index 00000000..efd3e4bc --- /dev/null +++ b/Web/i18n/fr.json @@ -0,0 +1,69 @@ +{ + "Flow": { + "Parts": { + "Downloader": { + "Outputs": { + "1": "URL téléchargée avec succès", + "2": "Échec du téléchargement de l'URL" + }, + "Description": "Télécharge l'URL spécifiée", + "Fields": { + "Url": "URL", + "Url-Help": "L'URL à télécharger, laisser vide pour utiliser le fichier de travail actuel. Si le fichier de travail actuel n'est pas une URL, cela échouera." + } + }, + "HtmlImageParser": { + "Label": "Analyseur d'images HTML", + "Outputs": { + "1": "Images trouvées et stockées dans la variable ImageUrls", + "2": "Aucune image trouvée" + }, + "Fields": { + "Path": "Fichier", + "Path-Description": "Un fichier ou une variable optionnelle à analyser pour les images. Si non donné, le fichier de travail sera analysé.", + "Pattern": "Modèle", + "Pattern-Placeholder": "Optionnel", + "Pattern-Help": "Une expression régulière optionnelle, sans distinction entre majuscules et minuscules, pour comparer avec les résultats. Seuls les résultats correspondant à cela seront acceptés." + } + }, + "HtmlLinkParser": { + "Label": "Analyseur de liens HTML", + "Outputs": { + "1": "Lien trouvé et stocké dans la variable Links", + "2": "Aucun lien trouvé" + }, + "Fields": { + "Path": "Fichier", + "Path-Description": "Un fichier ou une variable optionnelle à analyser pour les liens. Si non donné, le fichier de travail sera analysé.", + "Pattern": "Modèle", + "Pattern-Placeholder": "Optionnel", + "Pattern-Help": "Une expression régulière optionnelle, sans distinction entre majuscules et minuscules, pour comparer avec les résultats. Seuls les résultats correspondant à cela seront acceptés." + } + }, + "InputUrl": { + "Label": "URL d'entrée" + }, + "WebRequest": { + "Description": "Vous permet d'envoyer une requête web", + "Outputs": { + "1": "Envoyé avec succès", + "2": "La requête a renvoyé un code de statut non réussi" + }, + "Fields": { + "Url": "URL", + "Url-Help": "L'URL de la requête", + "Method": "Méthode", + "Method-Help": "La méthode web à utiliser lors de l'envoi de cette requête", + "ContentType": "Type de contenu", + "ContentType-Help": "Le Content-Type du message à envoyer", + "Headers": "En-têtes", + "Headers-Help": "En-têtes optionnels à envoyer avec la requête", + "HeadersKey": "Clé", + "HeadersValue": "Valeur", + "Body": "Corps", + "Body-Help": "Le corps de la requête envoyée. Des variables peuvent être utilisées dans ce champ." + } + } + } + } +} diff --git a/Web/i18n/pt.json b/Web/i18n/pt.json new file mode 100644 index 00000000..976a6ca0 --- /dev/null +++ b/Web/i18n/pt.json @@ -0,0 +1,69 @@ +{ + "Flow": { + "Parts": { + "Downloader": { + "Outputs": { + "1": "URL baixada com sucesso", + "2": "Falha ao baixar a URL" + }, + "Description": "Baixa a URL especificada", + "Fields": { + "Url": "URL", + "Url-Help": "A URL a ser baixada, deixe em branco para usar o arquivo de trabalho atual. Se o arquivo de trabalho atual não for uma URL, isso falhará." + } + }, + "HtmlImageParser": { + "Label": "Parser de Imagens HTML", + "Outputs": { + "1": "Imagens encontradas e armazenadas na variável ImageUrls", + "2": "Nenhuma imagem encontrada" + }, + "Fields": { + "Path": "Arquivo", + "Path-Description": "Um arquivo ou variável opcional a ser analisado para imagens. Se não fornecido, o arquivo de trabalho será analisado.", + "Pattern": "Padrão", + "Pattern-Placeholder": "Opcional", + "Pattern-Help": "Uma expressão regular opcional, sem diferenciação entre maiúsculas e minúsculas, para comparar os resultados. Apenas resultados que correspondam a isso serão aceitos." + } + }, + "HtmlLinkParser": { + "Label": "Parser de Links HTML", + "Outputs": { + "1": "Link encontrado e armazenado na variável Links", + "2": "Nenhum link encontrado" + }, + "Fields": { + "Path": "Arquivo", + "Path-Description": "Um arquivo ou variável opcional a ser analisado para links. Se não fornecido, o arquivo de trabalho será analisado.", + "Pattern": "Padrão", + "Pattern-Placeholder": "Opcional", + "Pattern-Help": "Uma expressão regular opcional, sem diferenciação entre maiúsculas e minúsculas, para comparar os resultados. Apenas resultados que correspondam a isso serão aceitos." + } + }, + "InputUrl": { + "Label": "URL de Entrada" + }, + "WebRequest": { + "Description": "Permite que você envie uma solicitação web", + "Outputs": { + "1": "Enviado com sucesso", + "2": "A solicitação retornou um código de status não bem-sucedido" + }, + "Fields": { + "Url": "URL", + "Url-Help": "A URL da solicitação", + "Method": "Método", + "Method-Help": "O método web a ser usado ao enviar esta solicitação", + "ContentType": "Tipo de Conteúdo", + "ContentType-Help": "O Content-Type da mensagem a ser enviada", + "Headers": "Cabeçalhos", + "Headers-Help": "Cabeçalhos opcionais para enviar com a solicitação", + "HeadersKey": "Chave", + "HeadersValue": "Valor", + "Body": "Corpo", + "Body-Help": "O corpo da solicitação sendo enviada. Variáveis podem ser usadas neste campo." + } + } + } + } +}