refactor: replace numeric translation keys with named keys

- Extract shared i18n.sh library with tr() function (replaces 5 duplicated text_lang functions)
- Replace numeric IDs (001, 002, ...) with human-readable keys (already_started, delete, etc.)
- Update all language files (en_US, en_GB, de_DE) to use named key format
- Update all scripts (jdautoenc, rename, addrename, removerename, config) to use tr() from i18n.sh
This commit is contained in:
2026-08-12 05:57:20 +02:00
parent a862b7be7c
commit 4b2e40c59f
21 changed files with 1915 additions and 2193 deletions
+21 -37
View File
@@ -13,24 +13,8 @@ cyan='\033[0;36m' # ${cyan}
JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null) JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g') renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g')
language_Folder=$(grep "language_folder=" "$JDAutoConfig" | sed 's/.*=//g') # shellcheck disable=SC1091
if [[ -n $(grep "language=" "$JDAutoConfig" | sed 's/.*=//g') ]]; then source "$(dirname "$0")/i18n.sh"
language=$(grep "language=" "$JDAutoConfig" | sed 's/.*=//g')
else
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
fi
if [[ $language == "C" ]] || [[ ! -d $language_Folder/$language ]]; then
language=en_US
fi
text_lang() {
if [ -f "$language_Folder"/"$language"/addrename.lang ]; then
grep "$1" "$language_Folder"/"$language"/addrename.lang | sed 's/^....//'
else
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/addrename.lang | grep "$1" | sed 's/^....//'
fi
}
get_DB() { get_DB() {
grep "$1DB=" "$JDAutoConfig" | sed 's/.*=//g' grep "$1DB=" "$JDAutoConfig" | sed 's/.*=//g'
@@ -80,17 +64,17 @@ get_db_id() {
} }
while true; do while true; do
read -rp "$(echo -e "$(text_lang "001")" "${cyan}""$(text_lang "002")""${white}" "$(text_lang "003")" "${blue}""$(text_lang "004")""${white}"/"${lblue}""$(text_lang "005")""${white}" "$(text_lang "006")") ($(text_lang "007")): " adding read -rp "$(echo -e "$(tr "add_prompt")" "${cyan}""$(tr "film")""${white}" "$(tr "or_a")" "${blue}""$(tr "anime")""${white}"/"${lblue}""$(tr "series")""${white}" "$(tr "to_rename")") ($(tr "enter_type")): " adding
if [[ ${adding,,} == *"anime"* ]]; then if [[ ${adding,,} == *"anime"* ]]; then
read -rp "$(echo -e "$(text_lang "008")" "${purple}""$(text_lang "009")""${white}" "$(text_lang "010")" "$adding" "$(text_lang "011")") " key1 read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
read -rp "$(echo -e "${yellow}""$(text_lang "012")""${white}", "$(text_lang "013")") " key2 read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
dbid=$(get_DB "Anime") dbid=$(get_DB "Anime")
get_db_id get_db_id
read -rp "$(echo -e "$(text_lang "019")" "${purple}""$dbid""${white}" "$(text_lang "020")") " dbentry read -rp "$(echo -e "$(tr "enter_now")" "${purple}""$dbid""${white}" "$(tr "number")") " dbentry
echo "$(text_lang "014") $(curl_name)" echo "$(tr "this_is_anime") $(curl_name)"
read -rp "$(text_lang "015")" wrongformat read -rp "$(tr "is_correct")" wrongformat
if [ "${wrongformat,,}" == "n" ]; then if [ "${wrongformat,,}" == "n" ]; then
text_lang "016" tr "manual_add"
exit exit
else else
{ {
@@ -103,15 +87,15 @@ while true; do
} >>"$renamelist" } >>"$renamelist"
fi fi
elif [[ ${adding,,} == *"serie"* ]]; then elif [[ ${adding,,} == *"serie"* ]]; then
read -rp "$(echo -e "$(text_lang "008")" "${purple}""$(text_lang "009")""${white}" "$(text_lang "010")" "$adding" "$(text_lang "011")") " key1 read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
read -rp "$(echo -e "${yellow}""$(text_lang "012")""${white}", "$(text_lang "013")") " key2 read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
dbid=$(get_DB "Series") dbid=$(get_DB "Series")
get_db_id get_db_id
read -rp "$(echo -e "$(text_lang "019")" "${purple}""$dbid""${white}" "$(text_lang "020")") " dbentry read -rp "$(echo -e "$(tr "enter_now")" "${purple}""$dbid""${white}" "$(tr "number")") " dbentry
echo "$(text_lang "017") $(curl_name)" echo "$(tr "this_is_series") $(curl_name)"
read -rp "$(text_lang "015")" wrongformat read -rp "$(tr "is_correct")" wrongformat
if [ "${wrongformat,,}" == "n" ]; then if [ "${wrongformat,,}" == "n" ]; then
text_lang "016" tr "manual_add"
exit exit
else else
{ {
@@ -124,15 +108,15 @@ while true; do
} >>"$renamelist" } >>"$renamelist"
fi fi
elif [[ ${adding,,} == *"film"* ]]; then elif [[ ${adding,,} == *"film"* ]]; then
read -rp "$(echo -e "$(text_lang "008")" "${purple}""$(text_lang "009")""${white}" "$(text_lang "010")" "$adding" "$(text_lang "011")") " key1 read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
read -rp "$(echo -e "${yellow}""$(text_lang "012")""${white}", "$(text_lang "013")") " key2 read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
dbid=$(get_DB "Movie") dbid=$(get_DB "Movie")
get_db_id get_db_id
read -rp "$(echo -e "$(text_lang "019")" "${purple}"TheMovieDB ID"${white}" "$(text_lang "020")""\n($(text_lang "021"))") " dbentry read -rp "$(echo -e "$(tr "enter_now")" "${purple}"TheMovieDB ID"${white}" "$(tr "number")""\n($(tr "url_number"))") " dbentry
echo "$(text_lang "018") $(curl_movie_name)" echo "$(tr "this_is_movie") $(curl_movie_name)"
read -rp "$(text_lang "015")" wrongformat read -rp "$(tr "is_correct")" wrongformat
if [ "${wrongformat,,}" == "n" ]; then if [ "${wrongformat,,}" == "n" ]; then
text_lang "016" tr "manual_add"
exit exit
else else
{ {
+127 -143
View File
@@ -4,62 +4,46 @@
JDAutoConfig=$(find ~ -type f -iname "JDAutoConfig" 2>/dev/null) JDAutoConfig=$(find ~ -type f -iname "JDAutoConfig" 2>/dev/null)
# shellcheck disable=SC1091
source "$(dirname "$0")/i18n.sh"
# Funktion für später, um z.B. zenity statt whiptail zu nutzen. # Funktion für später, um z.B. zenity statt whiptail zu nutzen.
language_Folder=$(grep "language_folder=" "$JDAutoConfig" | sed 's/.*=//g')
if [[ -n $(grep "language=" "$JDAutoConfig" | sed 's/.*=//g') ]]; then
language=$(grep "language=" "$JDAutoConfig" | sed 's/.*=//g')
else
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
fi
if [[ $language == "C" ]] || [[ ! -d $language_Folder/$language ]]; then
language=en_US
fi
possiblelangfolder=$(find ~ -type f -wholename "*lang/$language/config.lang" 2>/dev/null | sed 's/en_US\/config.lang//g') possiblelangfolder=$(find ~ -type f -wholename "*lang/$language/config.lang" 2>/dev/null | sed 's/en_US\/config.lang//g')
if ! [ -f "$language_Folder"/"$language"/config.lang ]; then if ! [ -f "$language_folder"/"$language"/config.lang ]; then
real_language_Folder=$(whiptail --title "Could not find language folder" --inputbox "WARNING!! Language folder could not be found. Please type the Path to the language folder or else, the script will try to get the language from Github (could be buggy)\nPossible Path: $possiblelangfolder" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") real_language_Folder=$(whiptail --title "Could not find language folder" --inputbox "WARNING!! Language folder could not be found. Please type the Path to the language folder or else, the script will try to get the language from Github (could be buggy)\nPossible Path: $possiblelangfolder" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
sed -i "s/language_folder=.*/language_folder=$real_language_Folder/g" "$JDAutoConfig" sed -i "s/language_folder=.*/language_folder=$real_language_Folder/g" "$JDAutoConfig"
fi fi
text_lang() {
if [ -f "$language_Folder"/"$language"/config.lang ]; then
grep "$1" "$language_Folder"/"$language"/config.lang | sed 's/^....//'
else
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/config.lang | grep "$1" | sed 's/^....//'
fi
}
check_skript_location() { check_skript_location() {
if ! $1 --title "$(text_lang "001")" --"$2" "$JDAutoConfig" 16 100; then if ! $1 --title "$(tr "config_path_correct")" --"$2" "$JDAutoConfig" 16 100; then
unset JDAutoConfig unset JDAutoConfig
JDAutoConfig=$($1 --title "$(text_lang "002")" --"$3" "$(text_lang "003")" 16 100 "$4" 3>&2 2>&1 1>&3) JDAutoConfig=$($1 --title "$(tr "config_path_what")" --"$3" "$(tr "config_path_enter")" 16 100 "$4" 3>&2 2>&1 1>&3)
fi fi
} }
change_path() { change_path() {
if [[ -z $2 ]]; then if [[ -z $2 ]]; then
whiptail --title "$(text_lang "005")" --msgbox "$(text_lang "005")" 16 50 whiptail --title "$(tr "path_not_changed_title")" --msgbox "$(tr "path_not_changed")" 16 50
return return
else else
if sed -i "s/$1/$2/g" "$JDAutoConfig"; then if sed -i "s/$1/$2/g" "$JDAutoConfig"; then
whiptail --title "$(text_lang "006") $4 $(text_lang "007")" --msgbox "$(text_lang "008")\n$2" 16 100 whiptail --title "$(tr "path_from") $4 $(tr "path_changed")" --msgbox "$(tr "new_path")\n$2" 16 100
else else
whiptail --title "$(text_lang "009")" --msgbox "$(text_lang "010") $2\n$(text_lang "011")" 16 100 whiptail --title "$(tr "error_path")" --msgbox "$(tr "new_path_err") $2\n$(tr "could_not_change")" 16 100
fi fi
fi fi
} }
db_auswhal() { db_auswhal() {
choose_db=$( choose_db=$(
whiptail --title "$(text_lang "012")" --menu "" 20 100 12 \ whiptail --title "$(tr "select_db")" --menu "" 20 100 12 \
"1)" "TheMovieDB" \ "1)" "TheMovieDB" \
"2)" "TheMovieDB::TV" \ "2)" "TheMovieDB::TV" \
"3)" "TheTVDB" \ "3)" "TheTVDB" \
"4)" "AniDB" \ "4)" "AniDB" \
"5)" "$(text_lang "017")" 3>&2 2>&1 1>&3 "5)" "$(tr "exit")" 3>&2 2>&1 1>&3
) )
case $choose_db in case $choose_db in
"1)") "1)")
@@ -81,43 +65,43 @@ db_auswhal() {
} }
bitrate_auswahl() { bitrate_auswahl() {
whiptail --title "$1 $(text_lang "013")" --radiolist "$(text_lang "014") $1 an:\n$(text_lang "015")" 20 100 12 \ whiptail --title "$1 $(tr "bitrate_settings")" --radiolist "$(tr "enter_kbits") $1 an:\n$(tr "space_select")" 20 100 12 \
"1000" "$(text_lang "016") 1000K" OFF \ "1000" "$(tr "select") 1000K" OFF \
"1100" "$(text_lang "016") 1100K" OFF \ "1100" "$(tr "select") 1100K" OFF \
"1200" "$(text_lang "016") 1200K" OFF \ "1200" "$(tr "select") 1200K" OFF \
"1300" "$(text_lang "016") 1300K" OFF \ "1300" "$(tr "select") 1300K" OFF \
"1400" "$(text_lang "016") 1400K" $2 \ "1400" "$(tr "select") 1400K" $2 \
"1500" "$(text_lang "016") 1500K" OFF \ "1500" "$(tr "select") 1500K" OFF \
"1600" "$(text_lang "016") 1600K" OFF \ "1600" "$(tr "select") 1600K" OFF \
"1700" "$(text_lang "016") 1700K" $3 \ "1700" "$(tr "select") 1700K" $3 \
"1800" "$(text_lang "016") 1800K" OFF \ "1800" "$(tr "select") 1800K" OFF \
"1900" "$(text_lang "016") 1900K" OFF \ "1900" "$(tr "select") 1900K" OFF \
"2000" "$(text_lang "016") 2000K" $4 \ "2000" "$(tr "select") 2000K" $4 \
"2100" "$(text_lang "016") 2100K" OFF \ "2100" "$(tr "select") 2100K" OFF \
"2200" "$(text_lang "016") 2200K" OFF \ "2200" "$(tr "select") 2200K" OFF \
"2300" "$(text_lang "016") 2300K" OFF \ "2300" "$(tr "select") 2300K" OFF \
"2400" "$(text_lang "016") 2400K" OFF \ "2400" "$(tr "select") 2400K" OFF \
"2500" "$(text_lang "016") 2500K" OFF \ "2500" "$(tr "select") 2500K" OFF \
"2600" "$(text_lang "016") 2600K" OFF \ "2600" "$(tr "select") 2600K" OFF \
"2700" "$(text_lang "016") 2700K" OFF \ "2700" "$(tr "select") 2700K" OFF \
"2800" "$(text_lang "016") 2800K" OFF \ "2800" "$(tr "select") 2800K" OFF \
"2900" "$(text_lang "016") 2900K" OFF \ "2900" "$(tr "select") 2900K" OFF \
"3000" "$(text_lang "016") 3000K" OFF 3>&1 1>&2 2>&3 "3000" "$(tr "select") 3000K" OFF 3>&1 1>&2 2>&3
} }
preset_auswahl() { preset_auswahl() {
whiptail --title "$1 $(text_lang "018")" --radiolist "$(text_lang "019") $1 :\n$(text_lang "015")" 20 120 12 \ whiptail --title "$1 $(tr "preset_settings")" --radiolist "$(tr "enter_preset") $1 :\n$(tr "space_select")" 20 120 12 \
"Ultrafast" "$(text_lang "020")" OFF \ "Ultrafast" "$(tr "fastest")" OFF \
"superfast" "$(text_lang "021")" OFF \ "superfast" "$(tr "fast_low")" OFF \
"veryfast" "$(text_lang "021")" OFF \ "veryfast" "$(tr "fast_accept")" OFF \
"faster" "$(text_lang "022")" OFF \ "faster" "$(tr "fast_accept")" OFF \
"fast" "$(text_lang "023")" ON \ "fast" "$(tr "recommended")" ON \
"medium" "$(text_lang "024")$2" OFF \ "medium" "$(tr "balanced")$2" OFF \
"slow" "$(text_lang "025")" OFF \ "slow" "$(tr "somewhat_slow")" OFF \
"slower" "$(text_lang "026")" OFF \ "slower" "$(tr "even_slower")" OFF \
"veryslow" "$(text_lang "027")$3" OFF \ "veryslow" "$(tr "really_slow")$3" OFF \
"hq" "$(text_lang "028")" OFF \ "hq" "$(tr "wait_remux")" OFF \
"lossless" "$(text_lang "029")" OFF 3>&1 1>&2 2>&3 "lossless" "$(tr "switch_off")" OFF 3>&1 1>&2 2>&3
} }
@@ -127,20 +111,20 @@ check_skript_location whiptail yesno inputbox
while true; do while true; do
# Aufbau des Menüs # Aufbau des Menüs
Wahl=$( Wahl=$(
whiptail --title "$(text_lang "030")" --menu "$(text_lang "031")\n$(text_lang "032")" 20 100 9 \ whiptail --title "$(tr "what_configure")" --menu "$(tr "wip")\n$(tr "open_issue")" 20 100 9 \
"1)" "$(text_lang "033")" \ "1)" "$(tr "folder_paths")" \
"2)" "$(text_lang "034")" \ "2)" "$(tr "log_colors")" \
"3)" "$(text_lang "035")" \ "3)" "$(tr "notification_system")" \
"4)" "$(text_lang "036")" \ "4)" "$(tr "encoding_settings")" \
"5)" "$(text_lang "037")" \ "5)" "$(tr "encoding_hardware")" \
"6)" "$(text_lang "038")" \ "6)" "$(tr "filebot_settings")" \
"7)" "$(text_lang "017")" 3>&2 2>&1 1>&3 "7)" "$(tr "exit")" 3>&2 2>&1 1>&3
) )
# Zuordnung Funktionen zu Menüpunkten # Zuordnung Funktionen zu Menüpunkten
case $Wahl in case $Wahl in
"1)") "1)")
# Abfrage, ob alle Skripte (startencode.sh, jdautoenc.sh und rename.sh) am selben Ort sind, um den generellen Pfad auf diesen umzustellen # Abfrage, ob alle Skripte (startencode.sh, jdautoenc.sh und rename.sh) am selben Ort sind, um den generellen Pfad auf diesen umzustellen
if whiptail --title "$(text_lang "039")" --yesno "$(text_lang "040") ${JDAutoConfig//JDAutoConfig/} $(text_lang "041")\n\n$(text_lang "042")" 20 100; then if whiptail --title "$(tr "scripts_same_place")" --yesno "$(tr "jdautconfig_found") ${JDAutoConfig//JDAutoConfig/} $(tr "found_path")\n\n$(tr "attention_paths")" 20 100; then
newpath=$(echo "${JDAutoConfig//\/JDAutoConfig/}" | sed -e "s#/#\\\/#g") newpath=$(echo "${JDAutoConfig//\/JDAutoConfig/}" | sed -e "s#/#\\\/#g")
jdautoencpfad=$(grep "jdautoenc=" "$JDAutoConfig" | sed 's/jdautoenc=\|["]//g' | sed -e "s#/#\\\/#g") jdautoencpfad=$(grep "jdautoenc=" "$JDAutoConfig" | sed 's/jdautoenc=\|["]//g' | sed -e "s#/#\\\/#g")
renamepfad=$(grep "rename=" "$JDAutoConfig" | sed 's/rename=\|["]//g' | sed -e "s#/#\\\/#g") renamepfad=$(grep "rename=" "$JDAutoConfig" | sed 's/rename=\|["]//g' | sed -e "s#/#\\\/#g")
@@ -167,66 +151,66 @@ while true; do
# |_| \__,_|\__|_| |_| |____/ \___|\__|\__|_|_| |_|\__, |___/ # |_| \__,_|\__|_| |_| |____/ \___|\__|\__|_|_| |_|\__, |___/
# |___/ # |___/
Wahl=$( Wahl=$(
whiptail --title "$(text_lang "043")" --menu "$(text_lang "044")" 22 100 13 \ whiptail --title "$(tr "which_path")" --menu "$(tr "please_select")" 22 100 13 \
"1)" "jdautoenc.sh $jdautoencpfad" \ "1)" "jdautoenc.sh $jdautoencpfad" \
"2)" "rename.sh $renamepfad" \ "2)" "rename.sh $renamepfad" \
"3)" "renamelist $renamelist" \ "3)" "renamelist $renamelist" \
"" "" \ "" "" \
"4)" "$(text_lang "045") $entpacktpfad" \ "4)" "$(tr "unpacked_folder") $entpacktpfad" \
"5)" "$(text_lang "046") $encodespfad" \ "5)" "$(tr "encodes_folder") $encodespfad" \
"6)" "$(text_lang "047") $logpfad" \ "6)" "$(tr "log_path") $logpfad" \
"" "" \ "" "" \
"7)" "$(text_lang "048") $FilmPfad" \ "7)" "$(tr "movies_label") $FilmPfad" \
"8)" "$(text_lang "049") $SerienPfad" \ "8)" "$(tr "series_label") $SerienPfad" \
"9)" "$(text_lang "050") $AnimePfad" \ "9)" "$(tr "anime_label") $AnimePfad" \
"" "" \ "" "" \
"10)" "$(text_lang "017")" 3>&2 2>&1 1>&3 "10)" "$(tr "exit")" 3>&2 2>&1 1>&3
) )
case $Wahl in case $Wahl in
"1)") "1)")
# jdautoenc.sh Pfad # jdautoenc.sh Pfad
newjdautopfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") jdautoenc.sh:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newjdautopfad=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "new_path_for") jdautoenc.sh:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$jdautoencpfad" "$newjdautopfad" "$JDAutoConfig" "jdautoenc.sh" change_path "$jdautoencpfad" "$newjdautopfad" "$JDAutoConfig" "jdautoenc.sh"
;; ;;
"2)") "2)")
# rename.sh Pfad # rename.sh Pfad
newrenamepfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") rename.sh:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newrenamepfad=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "new_path_for") rename.sh:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$renamepfad" "$newrenamepfad" "$JDAutoConfig" "rename.sh" change_path "$renamepfad" "$newrenamepfad" "$JDAutoConfig" "rename.sh"
;; ;;
"3)") "3)")
# renamelist Pfad # renamelist Pfad
newrenamelist=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") die renamelist:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newrenamelist=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "new_path_for") die renamelist:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$renamelist" "$newrenamelist" "$JDAutoConfig" "renamelist" change_path "$renamelist" "$newrenamelist" "$JDAutoConfig" "renamelist"
;; ;;
"4)") "4)")
# Ordnerpfad für den Ordner in dem entpackte Videos liegen. # Ordnerpfad für den Ordner in dem entpackte Videos liegen.
newentpackpfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "053")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newentpackpfad=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "unpacked_path_desc")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$entpacktpfad" "$newentpackpfad" "$JDAutoConfig" "$(text_lang "045")" change_path "$entpacktpfad" "$newentpackpfad" "$JDAutoConfig" "$(tr "unpacked_folder")"
;; ;;
"5)") "5)")
# Orderpfad in dem die encodierten Videos hinterlegt werden. # Orderpfad in dem die encodierten Videos hinterlegt werden.
newencodesfolder=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "054")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newencodesfolder=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "encodes_path_desc")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$encodespfad" "$newencodesfolder" "$JDAutoConfig" "$(text_lang "046")" change_path "$encodespfad" "$newencodesfolder" "$JDAutoConfig" "$(tr "encodes_folder")"
;; ;;
"6)") "6)")
# Log Pfad. Hier wird das Log hingeschrieben # Log Pfad. Hier wird das Log hingeschrieben
newlogpfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") log." 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newlogpfad=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "new_path_for") log." 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$logpfad" "$newlogpfad" "$JDAutoConfig" "Log Pfad" change_path "$logpfad" "$newlogpfad" "$JDAutoConfig" "Log Pfad"
;; ;;
"7)") "7)")
# Log Pfad. Hier wird das Log hingeschrieben # Log Pfad. Hier wird das Log hingeschrieben
newFilmpfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") $(text_lang "048")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newFilmpfad=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "new_path_for") $(tr "movies_label")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$FilmPfad" "$newFilmpfad" "$JDAutoConfig" "$(text_lang "055")" change_path "$FilmPfad" "$newFilmpfad" "$JDAutoConfig" "$(tr "movies_folder")"
;; ;;
"8)") "8)")
# Log Pfad. Hier wird das Log hingeschrieben # Log Pfad. Hier wird das Log hingeschrieben
newSerienpfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") $(text_lang "049")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newSerienpfad=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "new_path_for") $(tr "series_label")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$SerienPfad" "$newSerienpfad" "$JDAutoConfig" "$(text_lang "056")" change_path "$SerienPfad" "$newSerienpfad" "$JDAutoConfig" "$(tr "series_folder")"
;; ;;
"9)") "9)")
# Log Pfad. Hier wird das Log hingeschrieben # Log Pfad. Hier wird das Log hingeschrieben
newAnimePfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") $(text_lang "050")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") newAnimePfad=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "new_path_for") $(tr "anime_label")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$AnimePfad" "$newAnimePfad" "$JDAutoConfig" "$(text_lang "057")" change_path "$AnimePfad" "$newAnimePfad" "$JDAutoConfig" "$(tr "anime_folder")"
;; ;;
"10)") "10)")
# break = Gehe zurück in das vorherige Menü # break = Gehe zurück in das vorherige Menü
@@ -242,12 +226,12 @@ while true; do
;; ;;
"3)") "3)")
messagesystem=$( messagesystem=$(
whiptail --title "$(text_lang "058")" --menu "$(text_lang "059")" 20 100 9 \ whiptail --title "$(tr "which_messaging")" --menu "$(tr "choose_messaging")" 20 100 9 \
"1)" "Discord" \ "1)" "Discord" \
"2)" "Nextcloud Talk" \ "2)" "Nextcloud Talk" \
"3)" "Apprise Settings" \ "3)" "Apprise Settings" \
"4)" "coming soon" \ "4)" "coming soon" \
"5)" "$(text_lang "017")" 3>&2 2>&1 1>&3 "5)" "$(tr "exit")" 3>&2 2>&1 1>&3
) )
case $messagesystem in case $messagesystem in
"1)") "1)")
@@ -259,7 +243,7 @@ while true; do
# |___/ # |___/
# Ändere Einstellung zu nVidia Encoding # Ändere Einstellung zu nVidia Encoding
curr_dishook=$(grep "discord=" "$JDAutoConfig" | sed 's/.*=//g') curr_dishook=$(grep "discord=" "$JDAutoConfig" | sed 's/.*=//g')
dishook=$(whiptail --title "$(text_lang "060")" --inputbox "$(text_lang "061") $curr_dishook" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g") dishook=$(whiptail --title "$(tr "discord_hook")" --inputbox "$(tr "discord_enter") $curr_dishook" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$dishook" ]; then if [ -z "$dishook" ]; then
echo "" echo ""
else else
@@ -279,16 +263,16 @@ while true; do
curr_NextcloudToken=$(grep "NextcloudTalkToken=" "$JDAutoConfig" | sed 's/.*=//g') curr_NextcloudToken=$(grep "NextcloudTalkToken=" "$JDAutoConfig" | sed 's/.*=//g')
while true; do while true; do
nextcloudmenu=$( nextcloudmenu=$(
whiptail --title "$(text_lang "062")" --menu "$(text_lang "063")" 20 100 13 \ whiptail --title "$(tr "nextcloud_set")" --menu "$(tr "nextcloud_choose")" 20 100 13 \
"1)" "Nextcloud Domain: $(text_lang "064") $curr_NextcloudDomain" \ "1)" "Nextcloud Domain: $(tr "currently") $curr_NextcloudDomain" \
"2)" "Nextcloud User: $(text_lang "064") $curr_NextcloudUser" \ "2)" "Nextcloud User: $(tr "currently") $curr_NextcloudUser" \
"3)" "Nextcloud Password: $(text_lang "064") $curr_NextcloudPassword" \ "3)" "Nextcloud Password: $(tr "currently") $curr_NextcloudPassword" \
"4)" "Nextcloud Token: $(text_lang "064") $curr_NextcloudToken" \ "4)" "Nextcloud Token: $(tr "currently") $curr_NextcloudToken" \
"5)" "Beenden" 3>&2 2>&1 1>&3 "5)" "Beenden" 3>&2 2>&1 1>&3
) )
case $nextcloudmenu in case $nextcloudmenu in
"1)") "1)")
NextcloudDomain=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "066")\n$(text_lang "067")\n$(text_lang "068")\n\n$(text_lang "064") $curr_NextcloudDomain" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g") NextcloudDomain=$(whiptail --title "$(tr "nextcloud_config")" --inputbox "$(tr "nextcloud_domain")\n$(tr "nextcloud_domain_desc")\n$(tr "nextcloud_ip")\n\n$(tr "currently") $curr_NextcloudDomain" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$NextcloudDomain" ]; then if [ -z "$NextcloudDomain" ]; then
echo "" echo ""
else else
@@ -296,7 +280,7 @@ while true; do
fi fi
;; ;;
"2)") "2)")
NextcloudUser=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "069") $(text_lang "064") $curr_NextcloudUser" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g") NextcloudUser=$(whiptail --title "$(tr "nextcloud_config")" --inputbox "$(tr "nextcloud_user") $(tr "currently") $curr_NextcloudUser" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$NextcloudUser" ]; then if [ -z "$NextcloudUser" ]; then
echo "" echo ""
else else
@@ -304,7 +288,7 @@ while true; do
fi fi
;; ;;
"3)") "3)")
NextcloudPassword=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "070") $(text_lang "064") $curr_NextcloudPassword" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g") NextcloudPassword=$(whiptail --title "$(tr "nextcloud_config")" --inputbox "$(tr "nextcloud_pass") $(tr "currently") $curr_NextcloudPassword" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$NextcloudPassword" ]; then if [ -z "$NextcloudPassword" ]; then
echo "" echo ""
else else
@@ -312,7 +296,7 @@ while true; do
fi fi
;; ;;
"4)") "4)")
NextcloudTalkToken=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "071")\n$(text_lang "072") $(text_lang "064") $curr_NextcloudToken" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g") NextcloudTalkToken=$(whiptail --title "$(tr "nextcloud_config")" --inputbox "$(tr "nextcloud_token")\n$(tr "nextcloud_example") $(tr "currently") $curr_NextcloudToken" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$NextcloudTalkToken" ]; then if [ -z "$NextcloudTalkToken" ]; then
echo "" echo ""
else else
@@ -337,14 +321,14 @@ while true; do
curr_apprisetag=$(grep "apprisetag=" "$JDAutoConfig" | sed 's/.*=//g') curr_apprisetag=$(grep "apprisetag=" "$JDAutoConfig" | sed 's/.*=//g')
while true; do while true; do
apprise_menu=$( apprise_menu=$(
whiptail --title "$(text_lang "062")" --menu "$(text_lang "063")" 20 100 13 \ whiptail --title "$(tr "nextcloud_set")" --menu "$(tr "nextcloud_choose")" 20 100 13 \
"1)" "Apprise URL+Port: $(text_lang "064") $curr_appriseurl" \ "1)" "Apprise URL+Port: $(tr "currently") $curr_appriseurl" \
"2)" "Apprise Tag: $(text_lang "064") $curr_apprisetag" \ "2)" "Apprise Tag: $(tr "currently") $curr_apprisetag" \
"3)" "Beenden" 3>&2 2>&1 1>&3 "3)" "Beenden" 3>&2 2>&1 1>&3
) )
case $apprise_menu in case $apprise_menu in
"1)") "1)")
appriseurl=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "066")\n$(text_lang "067")\n$(text_lang "068")\n\n$(text_lang "064") $curr_appriseurl" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g") appriseurl=$(whiptail --title "$(tr "nextcloud_config")" --inputbox "$(tr "nextcloud_domain")\n$(tr "nextcloud_domain_desc")\n$(tr "nextcloud_ip")\n\n$(tr "currently") $curr_appriseurl" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$curr_appriseurl" ]; then if [ -z "$curr_appriseurl" ]; then
echo "" echo ""
else else
@@ -352,7 +336,7 @@ while true; do
fi fi
;; ;;
"2)") "2)")
apprisetag=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "066")\n$(text_lang "067")\n$(text_lang "068")\n\n$(text_lang "064") $curr_apprisetag" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g") apprisetag=$(whiptail --title "$(tr "nextcloud_config")" --inputbox "$(tr "nextcloud_domain")\n$(tr "nextcloud_domain_desc")\n$(tr "nextcloud_ip")\n\n$(tr "currently") $curr_apprisetag" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$apprisetag" ]; then if [ -z "$apprisetag" ]; then
echo "" echo ""
else else
@@ -391,23 +375,23 @@ while true; do
curr_filme_bitrate=$(grep "bitrate_movie=" "$JDAutoConfig" | sed 's/.*bitrate_movie=//g') curr_filme_bitrate=$(grep "bitrate_movie=" "$JDAutoConfig" | sed 's/.*bitrate_movie=//g')
curr_filme_preset=$(grep "preset_movie=" "$JDAutoConfig" | sed 's/.*preset_movie=//g') curr_filme_preset=$(grep "preset_movie=" "$JDAutoConfig" | sed 's/.*preset_movie=//g')
bitratewahl=$( bitratewahl=$(
whiptail --title "$(text_lang "074")" --menu "$(text_lang "075")" 20 100 13 \ whiptail --title "$(tr "ffmpeg_settings")" --menu "$(tr "ffmpeg_choose")" 20 100 13 \
"1)" "$(text_lang "076") $curr_encode_allow" \ "1)" "$(tr "encoding_label") $curr_encode_allow" \
"2)" "$(text_lang "077") $curr_anime_bitrate K" \ "2)" "$(tr "bitrate_anime") $curr_anime_bitrate K" \
"3)" "$(text_lang "078") $curr_anime_preset" \ "3)" "$(tr "preset_anime") $curr_anime_preset" \
"" "" \ "" "" \
"4)" "$(text_lang "079") $curr_serien_bitrate K" \ "4)" "$(tr "bitrate_series") $curr_serien_bitrate K" \
"5)" "$(text_lang "080") $curr_serien_preset" \ "5)" "$(tr "preset_series") $curr_serien_preset" \
"" "" \ "" "" \
"6)" "$(text_lang "081") $curr_filme_bitrate K" \ "6)" "$(tr "bitrate_movies") $curr_filme_bitrate K" \
"7)" "$(text_lang "082") $curr_filme_preset" \ "7)" "$(tr "preset_movies") $curr_filme_preset" \
"" "" \ "" "" \
"8)" "$(text_lang "017")" 3>&2 2>&1 1>&3 "8)" "$(tr "exit")" 3>&2 2>&1 1>&3
) )
case $bitratewahl in case $bitratewahl in
"1)") "1)")
# Ändere die bitrate für Animes # Ändere die bitrate für Animes
if whiptail --title "$(text_lang "083")" --yesno "$(text_lang "084")" 20 100; then if whiptail --title "$(tr "encode_toggle")" --yesno "$(tr "encode_choose")" 20 100; then
sed -i "s/encode=.*/encode=yes/g" "$JDAutoConfig" sed -i "s/encode=.*/encode=yes/g" "$JDAutoConfig"
else else
sed -i "s/encode=.*/encode=no/g" "$JDAutoConfig" sed -i "s/encode=.*/encode=no/g" "$JDAutoConfig"
@@ -460,17 +444,17 @@ while true; do
gethw=$(lshw -class display 2>/dev/null | grep vendor) gethw=$(lshw -class display 2>/dev/null | grep vendor)
for hw in $gethw; do for hw in $gethw; do
if [[ ${hw,,} == *"nvidia"* ]]; then if [[ ${hw,,} == *"nvidia"* ]]; then
hw1="\nnVidia $(text_lang "085")" hw1="\nnVidia $(tr "gpu")"
elif [[ ${hw,,} == *"intel"* ]]; then elif [[ ${hw,,} == *"intel"* ]]; then
hw2="\nIntel iGPU" hw2="\nIntel iGPU"
elif [[ ${hw,,} == *"radeon"* ]]; then elif [[ ${hw,,} == *"radeon"* ]]; then
hw3="\nAMD $(text_lang "085")" hw3="\nAMD $(tr "gpu")"
elif [[ ${hw,,} == *"microsoft"* ]]; then elif [[ ${hw,,} == *"microsoft"* ]]; then
hw4="\nMicrosoft WSL $(text_lang "086")" hw4="\nMicrosoft WSL $(tr "discovered")"
fi fi
done done
Hardwareauswahl=$( Hardwareauswahl=$(
whiptail --title "$(text_lang "087")" --menu "$(text_lang "088") $hw1 $hw2 $hw3 $hw4" 20 100 9 \ whiptail --title "$(tr "which_hardware")" --menu "$(tr "select_hardware") $hw1 $hw2 $hw3 $hw4" 20 100 9 \
"1)" "nVidia" \ "1)" "nVidia" \
"2)" "AMD" \ "2)" "AMD" \
"3)" "Intel QuickSync (Intel CPU)" \ "3)" "Intel QuickSync (Intel CPU)" \
@@ -481,20 +465,20 @@ while true; do
"1)") "1)")
# Ändere Einstellung zu nVidia Encoding # Ändere Einstellung zu nVidia Encoding
sed -i 's/Encoder=.*/Encoder=nvidia/g' "$JDAutoConfig" sed -i 's/Encoder=.*/Encoder=nvidia/g' "$JDAutoConfig"
whiptail --msgbox "$(text_lang "089")\n$(text_lang "090")" 20 78 whiptail --msgbox "$(tr "nvidia_changed")\n$(tr "cuda_used")" 20 78
;; ;;
"2)") "2)")
# Ändere Einstellung zu AMD Enconding # Ändere Einstellung zu AMD Enconding
sed -i 's/Encoder=.*/Encoder=amd/g' "$JDAutoConfig" sed -i 's/Encoder=.*/Encoder=amd/g' "$JDAutoConfig"
whiptail --msgbox "$(text_lang "091")\n$(text_lang "092")" 20 78 whiptail --msgbox "$(tr "amd_changed")\n$(tr "amd_used")" 20 78
;; ;;
"3)") "3)")
# Ändere Einstellung zu Intel Quick Sync Encoding # Ändere Einstellung zu Intel Quick Sync Encoding
sed -i 's/Encoder=.*/Encoder=intel/g' "$JDAutoConfig" sed -i 's/Encoder=.*/Encoder=intel/g' "$JDAutoConfig"
whiptail --msgbox "$(text_lang "093")\n$(text_lang "094")" 20 78 whiptail --msgbox "$(tr "intel_changed")\n$(tr "intel_used")" 20 78
;; ;;
"4)") "4)")
whiptail --msgbox "$(text_lang "095")" 20 78 whiptail --msgbox "$(tr "software_not_supported")" 20 78
return 2>/dev/null return 2>/dev/null
;; ;;
"5)") "5)")
@@ -518,17 +502,17 @@ while true; do
curr_anime_name=$(grep "AnimeName=" "$JDAutoConfig" | sed 's/.*AnimeName=//g') curr_anime_name=$(grep "AnimeName=" "$JDAutoConfig" | sed 's/.*AnimeName=//g')
curr_Language=$(grep "FileBotLang=" "$JDAutoConfig" | sed 's/.*FileBotLang=//g') curr_Language=$(grep "FileBotLang=" "$JDAutoConfig" | sed 's/.*FileBotLang=//g')
FileBotMenu=$( FileBotMenu=$(
whiptail --title "$(text_lang "096")" --menu "$(text_lang "097")" 20 100 12 \ whiptail --title "$(tr "filebot_change")" --menu "$(tr "filebot_what_change")" 20 100 12 \
"1)" "$(text_lang "098") $curr_movie_db" \ "1)" "$(tr "movie_db") $curr_movie_db" \
"2)" "$(text_lang "099") $curr_series_db" \ "2)" "$(tr "series_db") $curr_series_db" \
"3)" "$(text_lang "100") $curr_anime_db" \ "3)" "$(tr "anime_db") $curr_anime_db" \
"" "" \ "" "" \
"4)" "$(text_lang "101") $curr_movie_name" \ "4)" "$(tr "movie_naming") $curr_movie_name" \
"5)" "$(text_lang "102") $curr_series_name" \ "5)" "$(tr "series_naming") $curr_series_name" \
"6)" "$(text_lang "103") $curr_anime_name" \ "6)" "$(tr "anime_naming") $curr_anime_name" \
"" "" \ "" "" \
"7)" "$(text_lang "104") $curr_Language" \ "7)" "$(tr "language_deduct") $curr_Language" \
"8)" "$(text_lang "017")" 3>&2 2>&1 1>&3 "8)" "$(tr "exit")" 3>&2 2>&1 1>&3
) )
case $FileBotMenu in case $FileBotMenu in
"1)") "1)")
@@ -544,33 +528,33 @@ while true; do
sed -i "s/AnimeDB.*/AnimeDB=$newdb/g" "$JDAutoConfig" sed -i "s/AnimeDB.*/AnimeDB=$newdb/g" "$JDAutoConfig"
;; ;;
"4)") "4)")
new_film_name=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "105")\n{n} {y}\nThe Man From Earth 2007.mkv" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") new_film_name=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "movie_path_desc")\n{n} {y}\nThe Man From Earth 2007.mkv" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
if [[ -n $new_film_name ]]; then if [[ -n $new_film_name ]]; then
sed -i "s/MovieName=.*/MovieName=$new_film_name/g" "$JDAutoConfig" sed -i "s/MovieName=.*/MovieName=$new_film_name/g" "$JDAutoConfig"
else else
whiptail --msgbox "$(text_lang "108")" 20 78 whiptail --msgbox "$(tr "naming_not_changed")" 20 78
fi fi
;; ;;
"5)") "5)")
new_serien_name=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "106")\n{n} {y}/Season {s}/{n} - {s00e00} - {t}\nFirefly 2002/Season 1/Firefly - S01E01 - The Train Job" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") new_serien_name=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "series_path_desc")\n{n} {y}/Season {s}/{n} - {s00e00} - {t}\nFirefly 2002/Season 1/Firefly - S01E01 - The Train Job" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
if [[ -n $new_serien_name ]]; then if [[ -n $new_serien_name ]]; then
sed -i "s/SeriesName=.*/SeriesName=$new_serien_name/g" "$JDAutoConfig" sed -i "s/SeriesName=.*/SeriesName=$new_serien_name/g" "$JDAutoConfig"
else else
whiptail --msgbox "$(text_lang "108")" 20 78 whiptail --msgbox "$(tr "naming_not_changed")" 20 78
fi fi
;; ;;
"6)") "6)")
new_anime_name=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "107")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g") new_anime_name=$(whiptail --title "$(tr "change_path")" --inputbox "$(tr "anime_path_desc")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
if [[ -n $new_anime_name ]]; then if [[ -n $new_anime_name ]]; then
sed -i "s/AnimeName=.*/AnimeName=$new_anime_name/g" "$JDAutoConfig" sed -i "s/AnimeName=.*/AnimeName=$new_anime_name/g" "$JDAutoConfig"
else else
whiptail --msgbox "$(text_lang "108")" 20 78 whiptail --msgbox "$(tr "naming_not_changed")" 20 78
fi fi
;; ;;
"7)") "7)")
new_lang=$( new_lang=$(
whiptail --title "$(text_lang "109")" --radiolist "$(text_lang "110")\n{n} {y}/Season {s}/{n} - {s00e00} - {t}\nElfenlied 2004/Season 1/Elfenlied - S01E01 - A Chance Encounter: Begegnung" 20 100 12 \ whiptail --title "$(tr "select_language")" --radiolist "$(tr "filebot_language")\n{n} {y}/Season {s}/{n} - {s00e00} - {t}\nElfenlied 2004/Season 1/Elfenlied - S01E01 - A Chance Encounter: Begegnung" 20 100 12 \
"Afar" "aa" OFF \ "Afar" "aa" OFF \
"Abkhazian" "ab" OFF \ "Abkhazian" "ab" OFF \
"Afrikaans" "af" OFF \ "Afrikaans" "af" OFF \
+68
View File
@@ -0,0 +1,68 @@
# Shared i18n library for JDownloader-Autoenc-rename
# Source this file from your scripts, then use tr("key") to get translations.
# Determine script name (jdautoenc, rename, addrename, removerename, config)
SCRIPT_NAME=$(basename "${BASH_SOURCE[1]}" .sh 2>/dev/null)
if [[ -z "$SCRIPT_NAME" ]]; then
SCRIPT_NAME=$(basename "$0" .sh 2>/dev/null)
fi
# Find language folder
if [[ -n "$language_folder" ]]; then
: # already set
elif [[ -n "$JDAutoConfig" && -f "$JDAutoConfig" ]]; then
language_folder=$(grep "language_folder=" "$JDAutoConfig" 2>/dev/null | sed 's/.*=//g')
fi
# Determine language
if [[ -z "$language" ]]; then
if [[ -n "$JDAutoConfig" && -f "$JDAutoConfig" && -n "$(grep "language=" "$JDAutoConfig" 2>/dev/null | sed 's/.*=//g')" ]]; then
language=$(grep "language=" "$JDAutoConfig" | sed 's/.*=//g')
else
language=$(locale 2>/dev/null | head -n 1 | sed 's/.*=\|\..*//g')
fi
fi
if [[ "$language" == "C" ]] || [[ ! -d "$language_folder/$language" ]]; then
language=en_US
fi
# The lang file for the current script
LANG_FILE="$language_folder/$language/${SCRIPT_NAME}.lang"
FALLBACK_LANG_FILE="$language_folder/en_US/${SCRIPT_NAME}.lang"
tr() {
local key="$1"
# Try local lang file
if [[ -f "$LANG_FILE" ]]; then
local result
result=$(grep "^${key} " "$LANG_FILE" 2>/dev/null | head -n 1 | sed "s/^${key} //")
if [[ -n "$result" ]]; then
echo "$result"
return
fi
fi
# Try fallback (en_US)
if [[ -f "$FALLBACK_LANG_FILE" ]]; then
local result
result=$(grep "^${key} " "$FALLBACK_LANG_FILE" 2>/dev/null | head -n 1 | sed "s/^${key} //")
if [[ -n "$result" ]]; then
echo "$result"
return
fi
fi
# Try remote fallback
local remote_url="https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/${SCRIPT_NAME}.lang"
local result
result=$(curl -s "$remote_url" 2>/dev/null | grep "^${key} " | head -n 1 | sed "s/^${key} //")
if [[ -n "$result" ]]; then
echo "$result"
return
fi
# Return the key itself as last resort
echo "$key"
}
+39 -52
View File
@@ -1,10 +1,13 @@
#!/bin/bash #!/bin/bash
config=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null) JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
log=$(grep "log=" "$config" | sed 's/.*=//g') log=$(grep "log=" "$JDAutoConfig" | sed 's/.*=//g')
# shellcheck disable=SC1090 # shellcheck disable=SC1090
source "$config" source "$JDAutoConfig"
# shellcheck disable=SC1091
source "$(dirname "$0")/i18n.sh"
case "${Encoder,,}" in case "${Encoder,,}" in
nvidia) nvidia)
@@ -35,24 +38,8 @@ lblue='\033[1;34m' # ${lblue}
cyan='\033[0;36m' # ${cyan} cyan='\033[0;36m' # ${cyan}
purple='\033[0;35m' # ${purple} purple='\033[0;35m' # ${purple}
if [[ -z $language ]]; then
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
fi
if [[ $language == "C" ]] || [[ ! -d $language_folder/$language ]]; then
language=en_US
fi
text_lang() {
if [ -f "$language_folder"/"$language"/jdautoenc.lang ]; then
grep "$1" "$language_folder"/"$language"/jdautoenc.lang | sed 's/^....//'
else
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/jdautoenc.lang | grep "$1" | sed 's/^....//'
fi
}
if [ -f /tmp/jdautoenc.lock ]; then if [ -f /tmp/jdautoenc.lock ]; then
log_msg "${red}$(text_lang "001")" log_msg "${red}$(tr "already_started")"
sleep 3 sleep 3
fi fi
@@ -95,19 +82,19 @@ ff_encode() {
if ffmpeg -hide_banner -v quiet -stats -nostdin -hwaccel "$1" -hwaccel_output_format "$1" -i "$i" -c:v "$2" -preset "$3" -b:v "$4"K -c:a "$5" -map 0 -c:s copy "${encodes[*]}""${fertig%.*}.mkv" >>"${log[@]}" 2>&1; then if ffmpeg -hide_banner -v quiet -stats -nostdin -hwaccel "$1" -hwaccel_output_format "$1" -i "$i" -c:v "$2" -preset "$3" -b:v "$4"K -c:a "$5" -map 0 -c:s copy "${encodes[*]}""${fertig%.*}.mkv" >>"${log[@]}" 2>&1; then
finishedduration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "${encodes[*]}""${fertig%.*}.mkv" -show_entries format=duration -v quiet -of csv="p=0" | sed 's/\..*//g') finishedduration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "${encodes[*]}""${fertig%.*}.mkv" -show_entries format=duration -v quiet -of csv="p=0" | sed 's/\..*//g')
if [[ $finishedduration -eq $duration ]]; then if [[ $finishedduration -eq $duration ]]; then
log_msg "${red}$(text_lang "002")${white} $(text_lang "003")${purple}""$clear""${white}" log_msg "${red}$(tr "delete")${white} $(tr "source_file")${purple}""$clear""${white}"
if ! rm -f "$i" &>/dev/null; then if ! rm -f "$i" &>/dev/null; then
log_msg "${red}$(text_lang "004")" log_msg "${red}$(tr "error_deleting_source")"
discord_msg "$(text_lang "004")" discord_msg "$(tr "error_deleting_source")"
nextcloud_msg "$(text_lang "004")" nextcloud_msg "$(tr "error_deleting_source")"
apprise_msg "$(text_lang "004")" apprise_msg "$(tr "error_deleting_source")"
fi fi
else else
rmencoded=$(rm -f "${encodes[*]}""${fertig%.*}.mkv" 2>&1) || log_msg "$rmencoded" rmencoded=$(rm -f "${encodes[*]}""${fertig%.*}.mkv" 2>&1) || log_msg "$rmencoded"
log_msg "${red} $(text_lang "006")" log_msg "${red} $(tr "could")"
nextcloud_msg "$(text_lang "006") $clear $(text_lang "007") $2 $(text_lang "008"). $?" nextcloud_msg "$(tr "could") $clear $(tr "not_with") $2 $(tr "convert"). $?"
discord_msg "$(text_lang "006") $clear $(text_lang "007") $2 $(text_lang "008"). $?" discord_msg "$(tr "could") $clear $(tr "not_with") $2 $(tr "convert"). $?"
apprise_msg "$(text_lang "006") $clear $(text_lang "007") $2 $(text_lang "008"). $?" apprise_msg "$(tr "could") $clear $(tr "not_with") $2 $(tr "convert"). $?"
fi fi
fi fi
else else
@@ -116,7 +103,7 @@ ff_encode() {
} }
log_msg "" log_msg ""
log_msg "##########################" log_msg "##########################"
log_msg "$(text_lang "009") ${green}JDautoenc.sh${white} $(text_lang "010")" log_msg "$(tr "start") ${green}JDautoenc.sh${white} $(tr "script")"
log_msg "##########################" log_msg "##########################"
log_msg "" log_msg ""
@@ -127,92 +114,92 @@ find -L "${extracted[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IF
clear=$(basename "$i" .mkv | sed 's/\./ /g;s/AAC\|1080p\|WebDL\|[a-z]26[0-9]\|[hH][eE][Vv][Cc]\|[tT]anuki\| dl \| web \|repack\|wayne\|\|[-]\|[gG]er\|[eE]ng\|[sS]ub//g;s/\[[^][]*\]\|WebDL\|JapDub\|CR\|REPACK\|V2DK\|man\|BluRay\|RSG//g;s/_/ /g;s/\( \)*/\1/g') clear=$(basename "$i" .mkv | sed 's/\./ /g;s/AAC\|1080p\|WebDL\|[a-z]26[0-9]\|[hH][eE][Vv][Cc]\|[tT]anuki\| dl \| web \|repack\|wayne\|\|[-]\|[gG]er\|[eE]ng\|[sS]ub//g;s/\[[^][]*\]\|WebDL\|JapDub\|CR\|REPACK\|V2DK\|man\|BluRay\|RSG//g;s/_/ /g;s/\( \)*/\1/g')
################################################ Anime Sektion ################################################ ################################################ Anime Sektion ################################################
if [[ -z $duration || $duration -lt "1560" ]]; then if [[ -z $duration || $duration -lt "1560" ]]; then
log_msg "${purple}$clear${white} $(text_lang "011") ${blue}$(text_lang "012")${white}. $(text_lang "013")" log_msg "${purple}$clear${white} $(tr "is_a") ${blue}$(tr "anime")${white}. $(tr "checking_video_codec")"
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}') HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
log_msg "${bold}HDR Video detected! Enconding not supported" log_msg "${bold}HDR Video detected! Enconding not supported"
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")" log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
mv "$i" "${encodes[@]}" 2>/dev/null mv "$i" "${encodes[@]}" 2>/dev/null
else else
if ! [ "$vcodec" == "hevc" ]; then if ! [ "$vcodec" == "hevc" ]; then
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
log_msg "${blue}$(text_lang "012")${white} ${purple}""$clear""${white} $(text_lang "014") ${vcodec^^} & ${acodec^^} $(text_lang "015") HEVC & AC3" log_msg "${blue}$(tr "anime")${white} ${purple}""$clear""${white} $(tr "encode_from") ${vcodec^^} & ${acodec^^} $(tr "to") HEVC & AC3"
ff_encode "$hw_accel" "$codec" "$preset_anime" "$bitrate_anime" ac3 ff_encode "$hw_accel" "$codec" "$preset_anime" "$bitrate_anime" ac3
else else
log_msg "${blue}$(text_lang "012")${white} ${purple}""$clear""${white} $(text_lang "014") ${vcodec^^} $(text_lang "015") HEVC" log_msg "${blue}$(tr "anime")${white} ${purple}""$clear""${white} $(tr "encode_from") ${vcodec^^} $(tr "to") HEVC"
ff_encode "$hw_accel" "$codec" "$preset_anime" "$bitrate_anime" "copy" ff_encode "$hw_accel" "$codec" "$preset_anime" "$bitrate_anime" "copy"
fi fi
else else
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
log_msg "${purple}""$clear""${white} $(text_lang "016")" log_msg "${purple}""$clear""${white} $(tr "already_hevc")"
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
log_msg "${purple}""$clear""${white} $(text_lang "014") ${acodec^^} $(text_lang "015") AC3" log_msg "${purple}""$clear""${white} $(tr "encode_from") ${acodec^^} $(tr "to") AC3"
ff_encode "$hw_accel" "copy" "$preset_anime" "$bitrate_anime" "ac3" ff_encode "$hw_accel" "copy" "$preset_anime" "$bitrate_anime" "ac3"
else else
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")" log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
mv "$i" "${encodes[@]}" 2>/dev/null mv "$i" "${encodes[@]}" 2>/dev/null
fi fi
fi fi
fi fi
################################################ Serien Sektion ################################################ ################################################ Serien Sektion ################################################
elif [ "$duration" -gt "1561" ] && [ "$duration" -lt "4750" ]; then elif [ "$duration" -gt "1561" ] && [ "$duration" -lt "4750" ]; then
log_msg "${purple}$fertig${white} $(text_lang "011") ${lblue}$(text_lang "019")${white}. $(text_lang "013")" log_msg "${purple}$fertig${white} $(tr "is_a") ${lblue}$(tr "series")${white}. $(tr "checking_video_codec")"
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}') HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
log_msg "${bold}HDR Video detected! Enconding not supported" log_msg "${bold}HDR Video detected! Enconding not supported"
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")" log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
mv "$i" "${encodes[@]}" 2>/dev/null mv "$i" "${encodes[@]}" 2>/dev/null
else else
if ! [ "$vcodec" = "hevc" ]; then if ! [ "$vcodec" = "hevc" ]; then
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
log_msg "${lblue}$(text_lang "019")${white} ${purple}$clear${white} $(text_lang "014") ${vcodec^^} & ${acodec^^} $(text_lang "015") HEVC 1700k & AC3" log_msg "${lblue}$(tr "series")${white} ${purple}$clear${white} $(tr "encode_from") ${vcodec^^} & ${acodec^^} $(tr "to") HEVC 1700k & AC3"
ff_encode "$hw_accel" "$codec" "$preset_series" "$bitrate_series" "ac3" ff_encode "$hw_accel" "$codec" "$preset_series" "$bitrate_series" "ac3"
else else
log_msg "${lblue}$(text_lang "019")${white} $fertig $(text_lang "014") ${vcodec^^} $(text_lang "015") HEVC 1700k" log_msg "${lblue}$(tr "series")${white} $fertig $(tr "encode_from") ${vcodec^^} $(tr "to") HEVC 1700k"
ff_encode "$hw_accel" "$codec" "$preset_series" "$bitrate_series" "copy" ff_encode "$hw_accel" "$codec" "$preset_series" "$bitrate_series" "copy"
fi fi
else else
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
log_msg "${purple}$clear${white} $(text_lang "014") ${acodec^^} $(text_lang "015") AC3" log_msg "${purple}$clear${white} $(tr "encode_from") ${acodec^^} $(tr "to") AC3"
ff_encode "$hw_accel" "copy" "$preset_series" "$bitrate_series" "ac3" ff_encode "$hw_accel" "copy" "$preset_series" "$bitrate_series" "ac3"
else else
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")" log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
mv "$i" "${encodes[@]}" 2>/dev/null mv "$i" "${encodes[@]}" 2>/dev/null
fi fi
fi fi
fi fi
################################################ Filme Sektion ################################################ ################################################ Filme Sektion ################################################
elif [ "$duration" -gt "4751" ]; then elif [ "$duration" -gt "4751" ]; then
log_msg "${purple}$fertig${white} $(text_lang "011") ${cyan}$(text_lang "022")${white}, $(text_lang "013")" log_msg "${purple}$fertig${white} $(tr "is_a") ${cyan}$(tr "movie")${white}, $(tr "checking_video_codec")"
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}') HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
log_msg "${bold}HDR Video detected! Enconding not supported" log_msg "${bold}HDR Video detected! Enconding not supported"
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")" log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
mv "$i" "${encodes[@]}" 2>/dev/null mv "$i" "${encodes[@]}" 2>/dev/null
else else
if ! [ "$vcodec" = "hevc" ]; then if ! [ "$vcodec" = "hevc" ]; then
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
log_msg "${cyan}$(text_lang "022")${white} ${purple}$clear${white} $(text_lang "014") $vcodec & $acodec $(text_lang "015") HEVC 2M & AC3 500k" log_msg "${cyan}$(tr "movie")${white} ${purple}$clear${white} $(tr "encode_from") $vcodec & $acodec $(tr "to") HEVC 2M & AC3 500k"
ff_encode "$hw_accel" "$codec" "$preset_movie" "$bitrate_movie" "ac3" ff_encode "$hw_accel" "$codec" "$preset_movie" "$bitrate_movie" "ac3"
else else
log_msg "${cyan}$(text_lang "022")${white} ${purple}$clear${white} $(text_lang "014") $vcodec $(text_lang "015") HEVC 2M" log_msg "${cyan}$(tr "movie")${white} ${purple}$clear${white} $(tr "encode_from") $vcodec $(tr "to") HEVC 2M"
ff_encode "$hw_accel" "$codec" "$preset_movie" "$bitrate_movie" "copy" ff_encode "$hw_accel" "$codec" "$preset_movie" "$bitrate_movie" "copy"
fi fi
else else
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i") acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
log_msg "${purple}$clear${white} $(text_lang "016")" log_msg "${purple}$clear${white} $(tr "already_hevc")"
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
log_msg "${purple}$clear${white} $(text_lang "014") ${acodec^^} $(text_lang "015") AC3" log_msg "${purple}$clear${white} $(tr "encode_from") ${acodec^^} $(tr "to") AC3"
ff_encode "$hw_accel" "copy" "$preset_movie" "$bitrate_movie" "ac3" ff_encode "$hw_accel" "copy" "$preset_movie" "$bitrate_movie" "ac3"
else else
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")" log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
mv "$i" "${encodes[@]}" 2>/dev/null mv "$i" "${encodes[@]}" 2>/dev/null
fi fi
fi fi
@@ -220,10 +207,10 @@ find -L "${extracted[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IF
fi fi
done done
log_msg "$(text_lang "020")" log_msg "$(tr "remove_lock")"
rm -f /tmp/jdautoenc.lock rm -f /tmp/jdautoenc.lock
log_msg "${red}$(text_lang "002")${white} $(text_lang "021")" log_msg "${red}$(tr "delete")${white} $(tr "empty_folder")"
find "${extracted[@]}"* -type d -empty -delete 2>/dev/null >>"${log[@]}" find "${extracted[@]}"* -type d -empty -delete 2>/dev/null >>"${log[@]}"
/bin/bash "$rename" "$log" "$config" & /bin/bash "$rename" "$log" "$config" &
+21 -21
View File
@@ -1,21 +1,21 @@
001 Möchtest du einen add_prompt Möchtest du einen
002 Film film Film
003 oder eine/n or_a oder eine/n
004 Anime anime Anime
005 Serie series Serie
006 zum umbenennen hinzufügen? to_rename zum umbenennen hinzufügen?
007 Gebe Anime, Serie, Film oder beenden ein enter_type Gebe Anime, Serie, Film oder beenden ein
008 Nach welchem by_which Nach welchem
009 Stichwort keyword Stichwort
010 soll der should_the soll der
011 Eintrag abgeglichen werden? entry_matched Eintrag abgeglichen werden?
012 Falls du möchtest if_you_want Falls du möchtest
013 gebe nun ein zweites Schlagwort ein second_keyword gebe nun ein zweites Schlagwort ein
014 Es handelt sich um den Anime: this_is_anime Es handelt sich um den Anime:
015 Ist dies Korrekt? (Y/n) is_correct Ist dies Korrekt? (Y/n)
016 Leider konnte deine Anfrage nicht automatisch abgearbeitet werden. Du kannst aber immernoch manuell einen Eintrag hinzufügen manual_add Leider konnte deine Anfrage nicht automatisch abgearbeitet werden. Du kannst aber immernoch manuell einen Eintrag hinzufügen
017 Es handelt sich um die Serie: this_is_series Es handelt sich um die Serie:
018 Es handelt sich um den Film: this_is_movie Es handelt sich um den Film:
019 Gebe nun die enter_now Gebe nun die
020 ein. number ein.
021 Nummer in der URL url_number Nummer in der URL
+109 -200
View File
@@ -1,200 +1,109 @@
001 Ist der Pfad der JDAutoConfig richtig? config_path_correct Ist der Pfad der JDAutoConfig richtig?
002 Wie lautet der Richtige Pfad? config_path_what Wie lautet der Richtige Pfad?
003 Gebe hier den Vollständigen Pfad zum JDAutoConfig an config_path_enter Gebe hier den Vollständigen Pfad zum JDAutoConfig an
004 Pfad wurde nicht geändert path_not_changed Pfad wurde nicht geändert
005 Der Pfad wurde nicht geändert path_not_changed_title Der Pfad wurde nicht geändert
006 Der Pfad vom path_from Der Pfad vom
007 wurde geändert! path_changed wurde geändert!
008 Der neue Pfad lautet: new_path Der neue Pfad lautet:
009 Fehler beim ändern des Pfads! error_path Fehler beim ändern des Pfads!
010 Der neue Pfad: new_path_err Der neue Pfad:
011 Konnte nicht geändert werden! could_not_change Konnte nicht geändert werden!
012 Wähle die zu nutzende Datenbank aus: select_db Wähle die zu nutzende Datenbank aus:
013 Bitrate Einstellungen bitrate_settings Bitrate Einstellungen
014 Gebe hier die Kbits (ohne endung) für enter_kbits Gebe hier die Kbits (ohne endung) für
015 Leertaste zum auswählen, Enter zum bestätigen. space_select Leertaste zum auswählen, Enter zum bestätigen.
016 Wähle select Wähle
017 Beenden exit Beenden
018 Preset Einstellungen preset_settings Preset Einstellungen
019 Gebe hier das zu nutzende FFmpeg Preset an für enter_preset Gebe hier das zu nutzende FFmpeg Preset an für
020 Am Schnellsten, geringste Qualität fastest Am Schnellsten, geringste Qualität
021 Schnell Geringe Qualität fast_low Schnell Geringe Qualität
022 Schnell annehmbare Qualität fast_accept Schnell annehmbare Qualität
023 Empfohlen. Relativ schnell, Qualität laut VMAF Tool im schnitt 96-99% vom Quellmedium recommended Empfohlen. Relativ schnell, Qualität laut VMAF Tool im schnitt 96-99% vom Quellmedium
024 Balanced balanced Balanced
025 Etwas langsam. Nur noch kleinere Dateigrößen, keine relevanten Qualitätseinbußen mehr somewhat_slow Etwas langsam. Nur noch kleinere Dateigrößen, keine relevanten Qualitätseinbußen mehr
026 Noch langsamer. even_slower Noch langsamer.
027 Wirklich Langsam. really_slow Wirklich Langsam.
028 Vielleicht doch lieber auf ein Remux warten? wait_remux Vielleicht doch lieber auf ein Remux warten?
029 Naja, am besten encodieren ausschalten, huh? switch_off Naja, am besten encodieren ausschalten, huh?
030 Was möchtest du Konfigurieren? what_configure Was möchtest du Konfigurieren?
031 WIP. Die Möglichkeiten zum Feinjustieren, werden noch erweitert. wip WIP. Die Möglichkeiten zum Feinjustieren, werden noch erweitert.
032 Bei Problemen öffnet ein issue unter: shorturl.at/bvDQ6 (Github link, einfacher abzutippen oder https://exe.io/jdautoenc falls ihr mich per Werbung unterstützen wollt) open_issue Bei Problemen öffnet ein issue unter: shorturl.at/bvDQ6 (Github link, einfacher abzutippen oder https://exe.io/jdautoenc falls ihr mich per Werbung unterstützen wollt)
033 Ordnerpfade folder_paths Ordnerpfade
034 Log Farben log_colors Log Farben
035 Benachrichtigungssystem notification_system Benachrichtigungssystem
036 Encoding Einstellungen encoding_settings Encoding Einstellungen
037 Encoding Hardware encoding_hardware Encoding Hardware
038 FileBot Einstellungen filebot_settings FileBot Einstellungen
039 Befinden sich alle Skripte an der selben stelle? scripts_same_place Befinden sich alle Skripte an der selben stelle?
040 Die JDAutoConfig wurde in jdautconfig_found Die JDAutoConfig wurde in
041 gefunden. Ist dies der Pfad aller Skripte? found_path gefunden. Ist dies der Pfad aller Skripte?
042 ACHTUNG! Nur die Skripte werden dadurch angepasst. der Entpackt und der Encoding Ordner sowie der Pfad für das Log müssen manuell gesetzt werden! attention_paths ACHTUNG! Nur die Skripte werden dadurch angepasst. der Entpackt und der Encoding Ordner sowie der Pfad für das Log müssen manuell gesetzt werden!
043 Welchen Ordnerpfad möchtest du Anpassen? which_path Welchen Ordnerpfad möchtest du Anpassen?
044 Bitte Auswahl treffen please_select Bitte Auswahl treffen
045 Entpackt Ordner unpacked_folder Entpackt Ordner
046 Encodes Ordner encodes_folder Encodes Ordner
047 Log Pfad log_path Log Pfad
048 Filme: movies_label Filme:
049 Serien: series_label Serien:
050 Animes: anime_label Animes:
051 Pfad Einstellung ändern change_path Pfad Einstellung ändern
052 Neuer Pfad für new_path_for Neuer Pfad für
053 Ordnerpfad für den Ordner in dem vom JD2 entpackte Videos liegen: unpacked_path_desc Ordnerpfad für den Ordner in dem vom JD2 entpackte Videos liegen:
054 Neuer Pfad für das Verzeichnis, in dem die Fertig encodierten Videos sind/sollen encodes_path_desc Neuer Pfad für das Verzeichnis, in dem die Fertig encodierten Videos sind/sollen
055 Filme Ordner movies_folder Filme Ordner
056 Serien Ordner series_folder Serien Ordner
057 Anime Ordner anime_folder Anime Ordner
058 Welchen Nachrichtendienst möchtest du Konfigurieren? which_messaging Welchen Nachrichtendienst möchtest du Konfigurieren?
059 Wähle das Nachrichtensystem: choose_messaging Wähle das Nachrichtensystem:
060 Konfiguration der Discord WebHook discord_hook Konfiguration der Discord WebHook
061 Gebe hier die Vollständige Adresse der Discord Webhook an. Momentan: discord_enter Gebe hier die Vollständige Adresse der Discord Webhook an. Momentan:
062 Hier kannst du die Nextcloud Benachrichtigungen einstellen nextcloud_set Hier kannst du die Nextcloud Benachrichtigungen einstellen
063 Wähle hier die zu ändernde Einstellungen nextcloud_choose Wähle hier die zu ändernde Einstellungen
064 Momentan: currently Momentan:
065 Konfiguration für Nextcloud nextcloud_config Konfiguration für Nextcloud
066 Gebe hier die Vollständige Adresse zu deiner Nextcloud an. nextcloud_domain Gebe hier die Vollständige Adresse zu deiner Nextcloud an.
067 Dies kann eine Domain zur Nextcloud sein: https://meineNextcloud.domain nextcloud_domain_desc Dies kann eine Domain zur Nextcloud sein: https://meineNextcloud.domain
068 Oder aber auch die IP (+Port falls nicht 80/443) falls der JDownloader und die Nextcloud im selben Netzwerk sind: 10.0.0.4:85 nextcloud_ip Oder aber auch die IP (+Port falls nicht 80/443) falls der JDownloader und die Nextcloud im selben Netzwerk sind: 10.0.0.4:85
069 Gebe hier den Nextcloud User an, der die Nachrichten schreibt. nextcloud_user Gebe hier den Nextcloud User an, der die Nachrichten schreibt.
070 Gebe hier das Password vom User an. nextcloud_pass Gebe hier das Password vom User an.
071 Gebe hier den token des Chat-Kanals an. nextcloud_token Gebe hier den token des Chat-Kanals an.
072 Beispiel: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 wäre in dem fall der Token nextcloud_example Beispiel: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 wäre in dem fall der Token
073 Die Encoding Einstellungen wurden zu nVidia geändert. ffmpeg_settings Hier kannst du die FFmpeg Settings ändern
074 Hier kannst du die FFmpeg Settings ändern ffmpeg_choose Wähle hier die zu ändernden Einstellungen
075 Wähle hier die zu ändernden Einstellungen encoding_label Encodieren:
076 Encodieren: bitrate_anime Bitrate Anime Aktuell:
077 Bitrate Anime Aktuell: preset_anime FFmpeg Preset Animes Aktuell:
078 FFmpeg Preset Animes Aktuell: bitrate_series Bitrate Serien Aktuell:
079 Bitrate Serien Aktuell: preset_series FFmpeg Preset Serien Aktuell:
080 FFmpeg Preset Serien Aktuell: bitrate_movies Bitrate Filme Aktuell:
081 Bitrate Filme Aktuell: preset_movies FFmpeg Preset Filme Aktuell:
082 FFmpeg Preset Filme Aktuell: encode_toggle Encodieren ein/ausschalten
083 Encodieren ein/ausschalten encode_choose Wähle ob du Encodieren möchtest
084 Wähle ob du Encodieren möchtest gpu Grafikkarte
085 Grafikkarte discovered Entdeckt!
086 Entdeckt! which_hardware Welche Hardware möchtest du verwenden?
087 Welche Hardware möchtest du verwenden? select_hardware Bitte wähle die zu nutzende Hardware. Folgende Hardware scheint installiert zu sein:
088 Bitte wähle die zu nutzende Hardware. Folgende Hardware scheint installiert zu sein: nvidia_changed Die Encoding Einstellungen wurden zu nVidia geändert.
089 Die Encoding Einstellungen wurden zu nVidia geändert. cuda_used Es werden die Cuda Prozessoren mit dem NVENC encoder genutzt.
090 Es werden die Cuda Prozessoren mit dem NVENC encoder genutzt. amd_changed Die Encoding Einstellungen wurden zu AMD geändert.
091 Die Encoding Einstellungen wurden zu AMD geändert. amd_used Es werden mit der AMD-Transistoren mit dem amf encoder genutzt.
092 Es werden mit der AMD-Transistoren mit dem amf encoder genutzt. intel_changed Die Encoding Einstellungen wurden zu Intel geändert.
093 Die Encoding Einstellungen wurden zu nVidia geändert. intel_used Es wird der Intel QuickSync Chip mit qsv encoder genutzt.
094 Es wird der Intel QuickSync Chip mit qsv encoder genutzt. software_not_supported Das Encoding per Software wird zurzeit nicht unterstützt!
095 Das Encoding per Software wird zurzeit nicht unterstützt! filebot_change Ändere FileBot Spezifische Einstellungen
096 Ändere FileBot Spezifische Einstellungen filebot_what_change Was möchtest du verändern?
097 Was möchtest du verändern? movie_db Film Datenbank zurzeit:
098 Film Datenbank zurzeit: series_db Serien Datenbank zurzeit:
099 Serien Datenbank zurzeit: anime_db Anime Datenbank zurzeit:
100 Anime Datenbank zurzeit: movie_naming Film Namensschema zurzeit:
101 Film Namensschema zurzeit: series_naming Serien Namensschema zurzeit:
102 Serien Namensschema zurzeit: anime_naming Anime Namensschema zurzeit:
103 Anime Namensschema zurzeit: language_deduct Abzugleichende Sprache zurzeit:
104 Abzugleichende Sprache zurzeit: movie_path_desc Neuer Pfad für Filme. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
105 Neuer Pfad für Filme. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele: series_path_desc Neuer Pfad für Serien. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
106 Neuer Pfad für Serien. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele: anime_path_desc Neuer Pfad für Animes. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
107 Neuer Pfad für Animes. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele: naming_not_changed Das Namenschema wurde nicht verändert!
108 Das Namenschema wurde nicht verändert! select_language Filebot zu nutzende Sprache auswählen
109 Filebot zu nutzende Sprache auswählen filebot_language Wähle die von FileBot zu nutzende Sprache aus
110 Wähle die von FileBot zu nutzende Sprache aus
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
+22 -22
View File
@@ -1,22 +1,22 @@
001 jdautoenc wurde bereits gestartet, warte auf dessen Beendigung. already_started jdautoenc wurde bereits gestartet, warte auf dessen Beendigung.
002 Lösche delete Lösche
003 Quelldatei source_file Quelldatei
004 Fehler beim löschen der Quelldatei error_deleting_source Fehler beim löschen der Quelldatei
005 Dauer des Videos stimmen nicht überein! duration_mismatch Dauer des Videos stimmen nicht überein!
006 Konnte could Konnte
007 nicht mit not_with nicht mit
008 umwandeln convert umwandeln
009 Starte start Starte
010 Skript script Skript
011 ist ein is_a ist ein
012 Anime anime Anime
013 Überprüfe nun den Video Codec. checking_video_codec Überprüfe nun den Video Codec.
014 Encode von encode_from Encode von
015 zu to zu
016 ist bereits HEVC, Überprüfe Audio Codec. Wenn in eac3 oder dts dann Encode Audio zu AC3. already_hevc ist bereits HEVC, Überprüfe Audio Codec. Wenn in eac3 oder dts dann Encode Audio zu AC3.
017 verschiebe move verschiebe
018 zum umbenennen. to_rename zum umbenennen.
019 Serie series Serie
020 Entferne jdautoenc.lock remove_lock Entferne jdautoenc.lock
021 leere Ordner im Entpackt verzeichnis. empty_folder leere Ordner im Entpackt verzeichnis.
022 Film movie Film
+6 -6
View File
@@ -1,6 +1,6 @@
001 Wähle den zu löschenden Eintrag aus: select_delete Wähle den zu löschenden Eintrag aus:
002 Beenden exit Beenden
003 Bist du sicher, dass du sure_delete Bist du sicher, dass du
004 löschen delete löschen
005 willst? want willst?
006 Ungültige Eingabe. invalid Ungültige Eingabe.
+19 -19
View File
@@ -1,19 +1,19 @@
001 Warte auf das beenden vom Encoden. wait_encoding Warte auf das beenden vom Encoden.
002 Renaming läuft bereits. Warte auf dessen durchlauf. renaming_running Renaming läuft bereits. Warte auf dessen durchlauf.
003 Starte start Starte
004 Skript script Skript
005 Bennene name Bennene
006 stimmt nicht mit does_not_match stimmt nicht mit
007 überein. match überein.
008 Gehe zum nächsten Eintrag. next_entry Gehe zum nächsten Eintrag.
009 ist ein Film, extrahiere Namen für Ordner. is_movie ist ein Film, extrahiere Namen für Ordner.
010 Erstelle Ordner: create_folder Erstelle Ordner:
011 Verschiebe move Verschiebe
012 nach to nach
013 Fange an mit der Umbenennung. start_renaming Fange an mit der Umbenennung.
014 Falls Umbennung erfolgreich, if_successful Falls Umbennung erfolgreich,
015 Lösche delete Lösche
016 Ordner folder Ordner
017 Fehler bei der Umbenennung! error_renaming Fehler bei der Umbenennung!
018 Fehlgeschlagene Versuche. failed_attempts Fehlgeschlagene Versuche.
019 Alles wurde erfolgreich beendet! completed_successfully Alles wurde erfolgreich beendet!
+21 -21
View File
@@ -1,21 +1,21 @@
001 Do you want a add_prompt Do you want a
002 film film film
003 or a or_a or a
004 anime anime anime
005 series series series
006 to rename? (type exit to exit) to_rename to rename? (Type exit to exit)
007 Enter anime, series or movie enter_type Enter anime, series or movie
008 By which by_which By which
009 keyword keyword keyword
010 should the should_the should the
011 entry be matched? entry_matched entry be matched?
012 If you want if_you_want If you want
013 now enter a second keyword second_keyword now enter a second keyword
014 This is the anime: this_is_anime This is the anime:
015 Is this correct? (Y/n) is_correct Is this correct? (Y/n)
016 Unfortunately your request could not be processed automatically. But you can still add an entry manually manual_add Unfortunately your request could not be processed automatically. But you can still add an entry manually
017 This is the series: this_is_series This is the series:
018 This is the movie: this_is_movie This is the movie:
019 Now enter the enter_now Now enter the
020 number. number number.
021 number in the URL url_number number in the URL
+109 -200
View File
@@ -1,200 +1,109 @@
001 Is the path of the JDAutoConfig correct? config_path_correct Is the path of the JDAutoConfig correct?
002 What is the correct path? config_path_what What is the correct path?
003 Enter here the complete path to the JDAutoConfig config_path_enter Enter here the complete path to the JDAutoConfig
004 Path was not changed path_not_changed Path was not changed
005 Path was not changed path_not_changed_title Path was not changed
006 The path from path_from The path from
007 was changed! path_changed was changed!
008 The new path is: new_path The new path is:
009 Error changing the path! error_path Error changing the path!
010 The new path: new_path_err The new path:
011 Could not be changed! could_not_change Could not be changed!
012 Select the database to use: select_db Select the database to use:
013 Bitrate settings bitrate_settings Bitrate settings
014 Enter here the Kbits (without ending) for enter_kbits Enter here the Kbits (without ending) for
015 Space to select, Enter to confirm. space_select Space to select, Enter to confirm.
016 Select select Select
017 Exit exit Exit
018 Preset settings preset_settings Preset settings
019 Enter here the FFmpeg preset to use for enter_preset Enter here the FFmpeg preset to use for
020 Fastest, Lowest Quality fastest Fastest, Lowest Quality
021 Fast Low quality fast_low Fast Low quality
022 Fast acceptable quality fast_accept Fast acceptable quality
023 Recommended. Relatively fast, quality according to VMAF tool averages 96-99% of source media. recommended Recommended. Relatively fast, quality according to VMAF tool averages 96-99% of source media.
024 Balanced balanced Balanced
025 Somewhat slow. Only smaller file sizes, no relevant quality loss anymore. somewhat_slow Somewhat slow. Only smaller file sizes, no relevant quality loss anymore.
026 Even slower. even_slower Even slower.
027 Really slow. really_slow Really slow.
028 Maybe better wait for a remux? wait_remux Maybe better wait for a remux?
029 Well, best to switch off encoding, huh? switch_off Well, best to switch off encoding, huh?
030 What do you want to configure? what_configure What do you want to configure?
031 WIP. The possibilities for fine tuning will be extended. wip WIP. The possibilities for fine tuning will be extended.
032 If you have problems, open an issue at: shorturl.at/bvDQ6 (Github link, easier to type or https://exe.io/jdautoenc if you want to support me via advertisement) open_issue If you have problems, open an issue at: shorturl.at/bvDQ6 (Github link, easier to type or https://exe.io/jdautoenc if you want to support me via advertisement)
033 Folder paths folder_paths Folder paths
034 Log colors log_colors Log colors
035 Notification system notification_system Notification system
036 Encoding settings encoding_settings Encoding settings
037 Encoding hardware encoding_hardware Encoding hardware
038 FileBot settings filebot_settings FileBot settings
039 Are all scripts in the same place? scripts_same_place Are all scripts in the same place?
040 The JDAutoConfig was jdautconfig_found The JDAutoConfig was
041 found. Is this the path of all scripts? found_path found. Is this the path of all scripts?
042 ATTENTION! Only the scripts are adapted thereby. the Unpacked and the Encoding folder as well as the path for the log must be set manually! attention_paths ATTENTION! Only the scripts are adapted thereby. the Unpacked and the Encoding folder as well as the path for the log must be set manually!
043 Which folder path do you want to adjust? which_path Which folder path do you want to adjust?
044 Please select please_select Please select
045 Unpacked folder unpacked_folder Unpacked folder
046 Encodes folder encodes_folder Encodes folder
047 Log path log_path Log path
048 Movies: movies_label Movies:
049 Series: series_label Series:
050 Anime: anime_label Anime:
051 Change path setting change_path Change path setting
052 New path for new_path_for New path for
053 Folder path for the folder where videos unzipped by JD2 are located: unpacked_path_desc Folder path for the folder where videos unzipped by JD2 are located:
054 New path for the folder where the Finished encoded videos are/should be. encodes_path_desc New path for the folder where the Finished encoded videos are/should be.
055 Movies folder movies_folder Movies folder
056 Series folder series_folder Series folder
057 Anime folder anime_folder Anime folder
058 Which messaging service do you want to configure? which_messaging Which messaging service do you want to configure?
059 Choose the messaging system: choose_messaging Choose the messaging system:
060 Configure the Discord WebHook discord_hook Configure the Discord WebHook
061 Enter the full address of the Discord Webhook here. Currently: discord_enter Enter the full address of the Discord Webhook here. Currently:
062 Here you can set the Nextcloud notifications. nextcloud_set Here you can set the Nextcloud notifications.
063 Choose here the settings you want to change nextcloud_choose Choose here the settings you want to change
064 Currently: currently Currently:
065 Configuration for Nextcloud nextcloud_config Configuration for Nextcloud
066 Enter here the full address to your Nextcloud. nextcloud_domain Enter here the full address to your Nextcloud.
067 This can be a domain to Nextcloud: https://meineNextcloud.domain nextcloud_domain_desc This can be a domain to Nextcloud: https://meineNextcloud.domain
068 Or IP (+Port if not 80/443) if JDownloader and Nextcloud are in the same network: 10.0.0.4:85 nextcloud_ip Or IP (+Port if not 80/443) if JDownloader and Nextcloud are in the same network: 10.0.0.4:85
069 Enter here the Nextcloud user who writes the messages. nextcloud_user Enter here the Nextcloud user who writes the messages.
070 Enter the password of the user. nextcloud_pass Enter the password of the user.
071 Specify here the token of the chat channel. nextcloud_token Specify here the token of the chat channel.
072 Example: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 would be the token in this case. nextcloud_example Example: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 would be the token in this case.
073 The encoding settings have been changed to nVidia. ffmpeg_settings Here you can change the FFmpeg Settings
074 Here you can change the FFmpeg Settings ffmpeg_choose Select here the settings to change
075 Select here the settings to change encoding_label Encoding:
076 Encoding: bitrate_anime Bitrate Anime Current:
077 Bitrate Anime Current: preset_anime FFmpeg Preset Animes Current:
078 FFmpeg Preset Animes Current: bitrate_series Bitrate Series Current:
079 Bitrate Series Current: preset_series FFmpeg Preset Series Current:
080 FFmpeg Preset Series Current: bitrate_movies Bitrate Movies Current:
081 Bitrate Movies Current: preset_movies FFmpeg Preset Movies Current:
082 FFmpeg Preset Movies Current: encode_toggle Encode on/off
083 Encode on/off encode_choose Choose if you want to encode
084 Choose if you want to encode gpu Graphics card
085 Graphics card discovered Discover!
086 Discover! which_hardware Which hardware do you want to use?
087 Which hardware do you want to use? select_hardware Please select the hardware you want to use. The following hardware seems to be installed:
088 Please select the hardware you want to use. The following hardware seems to be installed: nvidia_changed The encoding settings have been changed to nVidia.
089 The encoding settings have been changed to nVidia. cuda_used The Cuda processors with the NVENC encoder are used.
090 The Cuda processors with the NVENC encoder are used. amd_changed The encoding settings have been changed to AMD.
091 The encoding settings have been changed to AMD. amd_used AMD transistors with the amf encoder are used.
092 AMD transistors with the amf encoder are used. intel_changed The encoding settings have been changed to Intel.
093 The encoding settings have been changed to nVidia. intel_used The Intel QuickSync chip with qsv encoder is used.
094 The Intel QuickSync chip with qsv encoder is used. software_not_supported Encoding by software is currently not supported!
095 Encoding by software is currently not supported! filebot_change Change FileBot specific settings
096 Change FileBot specific settings filebot_what_change What do you want to change?
097 What do you want to change? movie_db Movie database currently:
098 Movie database currently: series_db Series database currently:
099 Series database currently: anime_db Anime database currently:
100 Anime database currently: movie_naming Movie naming scheme currently:
101 Movie naming scheme currently: series_naming Series naming scheme currently:
102 Series naming scheme currently: anime_naming Anime naming scheme currently:
103 Anime naming scheme currently: language_deduct Language to be deducted currently:
104 Language to be deducted currently: movie_path_desc New path for movies. For examples and possibilities: https://www.filebot.net/naming.html examples:
105 New path for movies. For examples and possibilities: https://www.filebot.net/naming.html examples: series_path_desc New path for series. For examples and possibilities: https://www.filebot.net/naming.html Examples:
106 New path for series. For examples and possibilities: https://www.filebot.net/naming.html Examples: anime_path_desc New path for anime. For examples and possibilities: https://www.filebot.net/naming.html Examples:
107 New path for anime. For examples and possibilities: https://www.filebot.net/naming.html Examples: naming_not_changed The naming scheme has not been changed!
108 The naming scheme has not been changed! select_language Select language to be used by Filebot
109 Select language to be used by Filebot filebot_language Select the language to be used by FileBot
110 Select the language to be used by FileBot
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
+22 -22
View File
@@ -1,22 +1,22 @@
001 jdautoenc has already been started, wait for it to finish. already_started jdautoenc has already been started, wait for it to finish.
002 Delete delete Delete
003 source file source_file source file
004 Error deleting source file error_deleting_source Error deleting source file
005 Duration of the video does not match! duration_mismatch Duration of the video does not match!
006 Could could Could
007 not with not_with not with
008 convert convert convert
009 Start start Start
010 script script script
011 is a is_a is a
012 anime anime anime
013 Checking video codec. checking_video_codec Checking video codec.
014 Encode from encode_from Encode from
015 to to to
016 is already HEVC, check audio codec. If in eac3 or dts then encode audio to AC3. already_hevc is already HEVC, check audio codec. If in eac3 or dts then encode audio to AC3.
017 move move move
018 to rename. to_rename to rename.
019 Series series Series
020 remove jdautoenc.lock remove_lock remove jdautoenc.lock
021 empty folder in unpack directory. empty_folder empty folder in unpack directory.
022 Movie movie Movie
+6 -6
View File
@@ -1,6 +1,6 @@
001 Select the entry to be deleted: select_delete Select the entry to be deleted:
002 Exit exit Exit
003 Are you sure you want to sure_delete Are you sure you want to
004 delete delete delete
005 want? want want?
006 Invalid entry. invalid Invalid entry.
+19 -19
View File
@@ -1,19 +1,19 @@
001 Wait for encoding to finish. wait_encoding Wait for encoding to finish.
002 Renaming is already running. Wait for it to run. renaming_running Renaming is already running. Wait for it to run.
003 Start start Start
004 Script script Script
005 Name name Name
006 does not match does_not_match does not match
007 match. match match.
008 Go to next entry. next_entry Go to next entry.
009 Is a movie, extract names for folders. is_movie Is a movie, extract names for folders.
010 Create folder: create_folder Create folder:
011 Move move Move
012 to to to
013 Start renaming. start_renaming Start renaming.
014 If renaming successful, if_successful If renaming successful,
015 Delete delete Delete
016 folder folder folder
017 Error during renaming! error_renaming Error during renaming!
018 Failed attempts. failed_attempts Failed attempts.
019 Everything was completed successfully! completed_successfully Everything was completed successfully!
+21 -21
View File
@@ -1,21 +1,21 @@
001 Do you want a add_prompt Do you want a
002 film film film
003 or a or_a or a
004 anime anime anime
005 series series series
006 to rename? (Type exit to exit) to_rename to rename? (Type exit to exit)
007 Enter anime, series or movie enter_type Enter anime, series or movie
008 By which by_which By which
009 keyword keyword keyword
010 should the should_the should the
011 entry be matched? entry_matched entry be matched?
012 If you want if_you_want If you want
013 now enter a second keyword second_keyword now enter a second keyword
014 This is the anime: this_is_anime This is the anime:
015 Is this correct? (Y/n) is_correct Is this correct? (Y/n)
016 Unfortunately your request could not be processed automatically. But you can still add an entry manually manual_add Unfortunately your request could not be processed automatically. But you can still add an entry manually
017 This is the series: this_is_series This is the series:
018 This is the movie: this_is_movie This is the movie:
019 Now enter the enter_now Now enter the
020 number. number number.
021 number in the URL url_number number in the URL
+109 -200
View File
@@ -1,200 +1,109 @@
001 Is the path of the JDAutoConfig correct? config_path_correct Is the path of the JDAutoConfig correct?
002 What is the correct path? config_path_what What is the correct path?
003 Enter here the complete path to the JDAutoConfig config_path_enter Enter here the complete path to the JDAutoConfig
004 Path was not changed path_not_changed Path was not changed
005 Path was not changed path_not_changed_title Path was not changed
006 The path from path_from The path from
007 was changed! path_changed was changed!
008 The new path is: new_path The new path is:
009 Error changing the path! error_path Error changing the path!
010 The new path: new_path_err The new path:
011 Could not be changed! could_not_change Could not be changed!
012 Select the database to use: select_db Select the database to use:
013 Bitrate settings bitrate_settings Bitrate settings
014 Enter here the Kbits (without ending) for enter_kbits Enter here the Kbits (without ending) for
015 Space to select, Enter to confirm. space_select Space to select, Enter to confirm.
016 Select select Select
017 Exit exit Exit
018 Preset settings preset_settings Preset settings
019 Enter here the FFmpeg preset to use for enter_preset Enter here the FFmpeg preset to use for
020 Fastest, Lowest Quality fastest Fastest, Lowest Quality
021 Fast Low quality fast_low Fast Low quality
022 Fast acceptable quality fast_accept Fast acceptable quality
023 Recommended. Relatively fast, quality according to VMAF tool averages 96-99% of source media. recommended Recommended. Relatively fast, quality according to VMAF tool averages 96-99% of source media.
024 Balanced balanced Balanced
025 Somewhat slow. Only smaller file sizes, no relevant quality loss anymore. somewhat_slow Somewhat slow. Only smaller file sizes, no relevant quality loss anymore.
026 Even slower. even_slower Even slower.
027 Really slow. really_slow Really slow.
028 Maybe better wait for a remux? wait_remux Maybe better wait for a remux?
029 Well, best to switch off encoding, huh? switch_off Well, best to switch off encoding, huh?
030 What do you want to configure? what_configure What do you want to configure?
031 WIP. The possibilities for fine tuning will be extended. wip WIP. The possibilities for fine tuning will be extended.
032 If you have problems, open an issue at: shorturl.at/bvDQ6 (Github link, easier to type or https://exe.io/jdautoenc if you want to support me via advertisement) open_issue If you have problems, open an issue at: shorturl.at/bvDQ6 (Github link, easier to type or https://exe.io/jdautoenc if you want to support me via advertisement)
033 Folder paths folder_paths Folder paths
034 Log colors log_colors Log colors
035 Notification system notification_system Notification system
036 Encoding settings encoding_settings Encoding settings
037 Encoding hardware encoding_hardware Encoding hardware
038 FileBot settings filebot_settings FileBot settings
039 Are all scripts in the same place? scripts_same_place Are all scripts in the same place?
040 The JDAutoConfig was jdautconfig_found The JDAutoConfig was
041 found. Is this the path of all scripts? found_path found. Is this the path of all scripts?
042 ATTENTION! Only the scripts are adapted thereby. the Unpacked and the Encoding folder as well as the path for the log must be set manually! attention_paths ATTENTION! Only the scripts are adapted thereby. the Unpacked and the Encoding folder as well as the path for the log must be set manually!
043 Which folder path do you want to adjust? which_path Which folder path do you want to adjust?
044 Please select please_select Please select
045 Unpacked folder unpacked_folder Unpacked folder
046 Encodes folder encodes_folder Encodes folder
047 Log path log_path Log path
048 Movies: movies_label Movies:
049 Series: series_label Series:
050 Anime: anime_label Anime:
051 Change path setting change_path Change path setting
052 New path for new_path_for New path for
053 Folder path for the folder where videos unzipped by JD2 are located: unpacked_path_desc Folder path for the folder where videos unzipped by JD2 are located:
054 New path for the folder where the Finished encoded videos are/should be. encodes_path_desc New path for the folder where the Finished encoded videos are/should be.
055 Movies folder movies_folder Movies folder
056 Series folder series_folder Series folder
057 Anime folder anime_folder Anime folder
058 Which messaging service do you want to configure? which_messaging Which messaging service do you want to configure?
059 Choose the messaging system: choose_messaging Choose the messaging system:
060 Configure the Discord WebHook discord_hook Configure the Discord WebHook
061 Enter the full address of the Discord Webhook here. Currently: discord_enter Enter the full address of the Discord Webhook here. Currently:
062 Here you can set the Nextcloud notifications. nextcloud_set Here you can set the Nextcloud notifications.
063 Choose here the settings you want to change nextcloud_choose Choose here the settings you want to change
064 Currently: currently Currently:
065 Configuration for Nextcloud nextcloud_config Configuration for Nextcloud
066 Enter here the full address to your Nextcloud. nextcloud_domain Enter here the full address to your Nextcloud.
067 This can be a domain to Nextcloud: https://meineNextcloud.domain nextcloud_domain_desc This can be a domain to Nextcloud: https://meineNextcloud.domain
068 Or IP (+Port if not 80/443) if JDownloader and Nextcloud are in the same network: 10.0.0.4:85 nextcloud_ip Or IP (+Port if not 80/443) if JDownloader and Nextcloud are in the same network: 10.0.0.4:85
069 Enter here the Nextcloud user who writes the messages. nextcloud_user Enter here the Nextcloud user who writes the messages.
070 Enter the password of the user. nextcloud_pass Enter the password of the user.
071 Specify here the token of the chat channel. nextcloud_token Specify here the token of the chat channel.
072 Example: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 would be the token in this case. nextcloud_example Example: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 would be the token in this case.
073 The encoding settings have been changed to nVidia. ffmpeg_settings Here you can change the FFmpeg Settings
074 Here you can change the FFmpeg Settings ffmpeg_choose Select here the settings to change
075 Select here the settings to change encoding_label Encoding:
076 Encoding: bitrate_anime Bitrate Anime Current:
077 Bitrate Anime Current: preset_anime FFmpeg Preset Animes Current:
078 FFmpeg Preset Animes Current: bitrate_series Bitrate Series Current:
079 Bitrate Series Current: preset_series FFmpeg Preset Series Current:
080 FFmpeg Preset Series Current: bitrate_movies Bitrate Movies Current:
081 Bitrate Movies Current: preset_movies FFmpeg Preset Movies Current:
082 FFmpeg Preset Movies Current: encode_toggle Encode on/off
083 Encode on/off encode_choose Choose if you want to encode
084 Choose if you want to encode gpu Graphics card
085 Graphics card discovered Discover!
086 Discover! which_hardware Which hardware do you want to use?
087 Which hardware do you want to use? select_hardware Please select the hardware you want to use. The following hardware seems to be installed:
088 Please select the hardware you want to use. The following hardware seems to be installed: nvidia_changed The encoding settings have been changed to nVidia.
089 The encoding settings have been changed to nVidia. cuda_used The Cuda processors with the NVENC encoder are used.
090 The Cuda processors with the NVENC encoder are used. amd_changed The encoding settings have been changed to AMD.
091 The encoding settings have been changed to AMD. amd_used AMD transistors with the amf encoder are used.
092 AMD transistors with the amf encoder are used. intel_changed The encoding settings have been changed to Intel.
093 The encoding settings have been changed to nVidia. intel_used The Intel QuickSync chip with qsv encoder is used.
094 The Intel QuickSync chip with qsv encoder is used. software_not_supported Encoding by software is currently not supported!
095 Encoding by software is currently not supported! filebot_change Change FileBot specific settings
096 Change FileBot specific settings filebot_what_change What do you want to change?
097 What do you want to change? movie_db Movie database currently:
098 Movie database currently: series_db Series database currently:
099 Series database currently: anime_db Anime database currently:
100 Anime database currently: movie_naming Movie naming scheme currently:
101 Movie naming scheme currently: series_naming Series naming scheme currently:
102 Series naming scheme currently: anime_naming Anime naming scheme currently:
103 Anime naming scheme currently: language_deduct Language to be deducted currently:
104 Language to be deducted currently: movie_path_desc New path for movies. For examples and possibilities: https://www.filebot.net/naming.html examples:
105 New path for movies. For examples and possibilities: https://www.filebot.net/naming.html examples: series_path_desc New path for series. For examples and possibilities: https://www.filebot.net/naming.html Examples:
106 New path for series. For examples and possibilities: https://www.filebot.net/naming.html Examples: anime_path_desc New path for anime. For examples and possibilities: https://www.filebot.net/naming.html Examples:
107 New path for anime. For examples and possibilities: https://www.filebot.net/naming.html Examples: naming_not_changed The naming scheme has not been changed!
108 The naming scheme has not been changed! select_language Select language to be used by Filebot
109 Select language to be used by Filebot filebot_language Select the language to be used by FileBot
110 Select the language to be used by FileBot
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
+22 -22
View File
@@ -1,22 +1,22 @@
001 jdautoenc has already been started, wait for it to finish. already_started jdautoenc has already been started, wait for it to finish.
002 Delete delete Delete
003 source file source_file source file
004 Error deleting source file error_deleting_source Error deleting source file
005 Duration of the video does not match! duration_mismatch Duration of the video does not match!
006 Could could Could
007 not with not_with not with
008 convert convert convert
009 Start start Start
010 script script script
011 is a is_a is a
012 anime anime anime
013 Checking video codec. checking_video_codec Checking video codec.
014 Encode from encode_from Encode from
015 to to to
016 is already HEVC, check audio codec. If in eac3 or dts then encode audio to AC3. already_hevc is already HEVC, check audio codec. If in eac3 or dts then encode audio to AC3.
017 move move move
018 to rename. to_rename to rename.
019 Series series Series
020 remove jdautoenc.lock remove_lock remove jdautoenc.lock
021 empty folder in unpack directory. empty_folder empty folder in unpack directory.
022 Movie movie Movie
+6 -6
View File
@@ -1,6 +1,6 @@
001 Select the entry to be deleted: select_delete Select the entry to be deleted:
002 Exit exit Exit
003 Are you sure you want to sure_delete Are you sure you want to
004 delete delete delete
005 want? want want?
006 Invalid entry. invalid Invalid entry.
+19 -19
View File
@@ -1,19 +1,19 @@
001 Wait for encoding to finish. wait_encoding Wait for encoding to finish.
002 Renaming is already running. Wait for it to run. renaming_running Renaming is already running. Wait for it to run.
003 Start start Start
004 Script script Script
005 Name name Name
006 does not match does_not_match does not match
007 match. match match.
008 Go to next entry. next_entry Go to next entry.
009 Is a movie, extract names for folders. is_movie Is a movie, extract names for folders.
010 Create folder: create_folder Create folder:
011 Move move Move
012 to to to
013 Start renaming. start_renaming Start renaming.
014 If renaming successful, if_successful If renaming successful,
015 Delete delete Delete
016 folder folder folder
017 Error during renaming! error_renaming Error during renaming!
018 Failed attempts. failed_attempts Failed attempts.
019 Everything was completed successfully! completed_successfully Everything was completed successfully!
+6 -22
View File
@@ -10,32 +10,16 @@ yellow='\033[0;33m'
JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null) JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g') renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g')
language_Folder=$(grep "language_folder=" "$JDAutoConfig" | sed 's/.*=//g') # shellcheck disable=SC1091
if [[ -n $(grep "language=" "$JDAutoConfig" | sed 's/.*=//g') ]]; then source "$(dirname "$0")/i18n.sh"
language=$(grep "language=" "$JDAutoConfig" | sed 's/.*=//g')
else
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
fi
if [[ $language == "C" ]] || [[ ! -d $language_Folder/$language ]]; then
language=en_US
fi
text_lang() {
if [ -f "$language_Folder"/"$language"/removerename.lang ]; then
grep "$1" "$language_Folder"/"$language"/removerename.lang | sed 's/^....//'
else
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/removerename.lang | grep "$1" | sed 's/^....//'
fi
}
clear clear
IFS=$'\n' IFS=$'\n'
frage="$(text_lang "001") " frage="$(tr "select_delete") "
entrys=($(awk 'NR % 6 == 1' "$renamelist" | sed 's/#.*/Beispiel Eintrag/g')) entrys=($(awk 'NR % 6 == 1' "$renamelist" | sed 's/#.*/Beispiel Eintrag/g'))
PS3="$frage " PS3="$frage "
select entry in "${entrys[@]}" "$(text_lang "002")"; do select entry in "${entrys[@]}" "$(tr "exit")"; do
if ((REPLY == 1 + ${#entrys[@]})); then if ((REPLY == 1 + ${#entrys[@]})); then
exit exit
break break
@@ -46,12 +30,12 @@ select entry in "${entrys[@]}" "$(text_lang "002")"; do
curl -sL https://www.thetvdb.com/dereferrer/series/"$tvdbid" | grep -i -A1 "en" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g" curl -sL https://www.thetvdb.com/dereferrer/series/"$tvdbid" | grep -i -A1 "en" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g"
fi fi
echo "" echo ""
read -rp "$(echo -e "$(text_lang "003")" "${yellow}""$entry" "${red}""$(text_lang "004")""${white}" "$(text_lang "005")") (y/N) " sure read -rp "$(echo -e "$(tr "sure_delete")" "${yellow}""$entry" "${red}""$(tr "delete")""${white}" "$(tr "want")") (y/N) " sure
if [ "${sure,,}" == "y" ]; then if [ "${sure,,}" == "y" ]; then
sed -i "/$entry/,+5d" "$renamelist" sed -i "/$entry/,+5d" "$renamelist"
fi fi
/bin/bash "${BASH_SOURCE[0]}" /bin/bash "${BASH_SOURCE[0]}"
else else
text_lang "006" tr "invalid"
fi fi
done done
+19 -31
View File
@@ -14,21 +14,9 @@ count=$(($3 + 1))
# shellcheck disable=SC1090 # shellcheck disable=SC1090
source "$config" source "$config"
if [[ -z $language ]]; then JDAutoConfig="$config"
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g') # shellcheck disable=SC1091
fi source "$(dirname "$0")/i18n.sh"
if [[ $language == "C" ]] || [[ ! -d $language_folder/$language ]]; then
language=en_US
fi
text_lang() {
if [ -f "$language_folder"/"$language"/rename.lang ]; then
grep "$1" "$language_folder"/"$language"/rename.lang | sed 's/^....//'
else
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/rename.lang | grep "$1" | sed 's/^....//'
fi
}
log_msg() { log_msg() {
echo -e "${yellow}$(date +"%d.%m.%y %T")${white} $1${white}" >>"${log[@]}" echo -e "${yellow}$(date +"%d.%m.%y %T")${white} $1${white}" >>"${log[@]}"
@@ -59,7 +47,7 @@ names() {
} }
if [[ -f /tmp/jdautoenc.lock ]]; then # ignore if [[ -f /tmp/jdautoenc.lock ]]; then # ignore
log_msg "$(text_lang "001")" log_msg "$(tr "wait_encoding")"
sleep 2 sleep 2
fi fi
@@ -79,7 +67,7 @@ while [ -f /tmp/rename.lock ]; do
done done
if [[ -f /tmp/rename.lock ]]; then # ignore if [[ -f /tmp/rename.lock ]]; then # ignore
log_msg "$(text_lang "002")" log_msg "$(tr "renaming_running")"
sleep $(((RANDOM % 2) + 1))s sleep $(((RANDOM % 2) + 1))s
fi fi
@@ -89,7 +77,7 @@ echo $$ >/tmp/rename.lock
log_msg "" log_msg ""
log_msg "#######################" log_msg "#######################"
log_msg "$(text_lang "003") ${green}rename.sh${white} $(text_lang "004")" log_msg "$(tr "start") ${green}rename.sh${white} $(tr "script")"
log_msg "#######################" log_msg "#######################"
log_msg "" log_msg ""
@@ -103,7 +91,7 @@ while read -r name; do
find -L "${encodes[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r v; do find -L "${encodes[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r v; do
if [[ ${v,,} == *"${keyword1,,}"*"${keyword2,,}"* ]]; then if [[ ${v,,} == *"${keyword1,,}"*"${keyword2,,}"* ]]; then
log_msg "$(text_lang "005") $(basename "$v" | sed 's/\./ /g;s/AAC\|1080p\|WebDL\|[a-z]26[0-9]\|[hH][eE][Vv][Cc]\|[tT]anuki\| dl \| web \|repack\|wayne\|\|[-]\|[gG]er\|[eE]ng\|[sS]ub//g;s/\[[^][]*\]\|WebDL\|JapDub\|CR\|REPACK\|V2DK\|man\|BluRay\|RSG//g;s/_/ /g;s/\( \)*/\1/g')" log_msg "$(tr "name") $(basename "$v" | sed 's/\./ /g;s/AAC\|1080p\|WebDL\|[a-z]26[0-9]\|[hH][eE][Vv][Cc]\|[tT]anuki\| dl \| web \|repack\|wayne\|\|[-]\|[gG]er\|[eE]ng\|[sS]ub//g;s/\[[^][]*\]\|WebDL\|JapDub\|CR\|REPACK\|V2DK\|man\|BluRay\|RSG//g;s/_/ /g;s/\( \)*/\1/g')"
case ${format,,} in case ${format,,} in
anime) anime)
filebot_rename "$AnimeDB" "$FileBotLang" "$Animes" "$AnimeName" "$dbid" filebot_rename "$AnimeDB" "$FileBotLang" "$Animes" "$AnimeName" "$dbid"
@@ -115,8 +103,8 @@ while read -r name; do
filebot_rename "$MovieDB" "$FileBotLang" "$Movies" "$MovieName" "$dbid" filebot_rename "$MovieDB" "$FileBotLang" "$Movies" "$MovieName" "$dbid"
;; ;;
*) *)
log_msg "${red}$v $(text_lang "006") $name $(text_lang "007")" log_msg "${red}$v $(tr "does_not_match") $name $(tr "match")"
log_msg "${red}$(text_lang "008")" log_msg "${red}$(tr "next_entry")"
;; ;;
esac esac
fi fi
@@ -127,19 +115,19 @@ done <"$renamelist"
find -L "${encodes[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r v; do find -L "${encodes[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r v; do
duration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "$v" -show_entries format=duration -v quiet -of csv="p=0" | sed -e 's/\..*//g') duration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "$v" -show_entries format=duration -v quiet -of csv="p=0" | sed -e 's/\..*//g')
if [ "$duration" -gt "4751" ]; then # ignore if [ "$duration" -gt "4751" ]; then # ignore
log_msg "${purple}$v${white} $(text_lang "009")" log_msg "${purple}$v${white} $(tr "is_movie")"
movie=$(basename "$v") movie=$(basename "$v")
folder=$(basename "$v" .mkv) folder=$(basename "$v" .mkv)
## Hier wird nun ein Ordner mit dem Namen des Videos erstellt. Dies ist eine Vorsichtsmaßnahme, da mein Ordner (encoded) auch bei eindeutigen Film ## Hier wird nun ein Ordner mit dem Namen des Videos erstellt. Dies ist eine Vorsichtsmaßnahme, da mein Ordner (encoded) auch bei eindeutigen Film
## Namen immer wieder dazu führte, dass der Film als "ENCODED EXPLODED" umbenannt wurde -.- ## Namen immer wieder dazu führte, dass der Film als "ENCODED EXPLODED" umbenannt wurde -.-
log_msg "$(text_lang "010") $folder" "$yellow" "$white" "$folder" log_msg "$(tr "create_folder") $folder" "$yellow" "$white" "$folder"
mkdir "$encodes""$folder" 2>/dev/null mkdir "$encodes""$folder" 2>/dev/null
log_msg "$(text_lang "011") ${purple}$v${white} $(text_lang "012") $folder" log_msg "$(tr "move") ${purple}$v${white} $(tr "to") $folder"
mv "$v" "$encodes""$folder" >>"${log[@]}" 2>/dev/null mv "$v" "$encodes""$folder" >>"${log[@]}" 2>/dev/null
log_msg "$(text_lang "013")" log_msg "$(tr "start_renaming")"
filebot -rename "$encodes""$folder"/"$movie" --db TheMovieDB -non-strict --lang German --format "/mnt/Medien/Filme/{n} ({y})" >>"${log[@]}" filebot -rename "$encodes""$folder"/"$movie" --db TheMovieDB -non-strict --lang German --format "/mnt/Medien/Filme/{n} ({y})" >>"${log[@]}"
log_msg "$(text_lang "014") ${red}$(text_lang "015")${white} $(text_lang "016")" log_msg "$(tr "if_successful") ${red}$(tr "delete")${white} $(tr "folder")"
sleep 5s sleep 5s
rmdir "$encodes"* 2>/dev/null rmdir "$encodes"* 2>/dev/null
fi fi
@@ -152,11 +140,11 @@ if tail -n 20 "$log" | grep "Failure" &>/dev/null; then
/bin/bash "$0" "$log" "$config" "$count" & /bin/bash "$0" "$log" "$config" "$count" &
exit exit
else else
log_msg "$(text_lang "017") $count $(text_lang "018")" log_msg "$(tr "error_renaming") $count $(tr "failed_attempts")"
discord_msg "$(text_lang "017") $count $(text_lang "018")" discord_msg "$(tr "error_renaming") $count $(tr "failed_attempts")"
nextcloud_msg "$(text_lang "017") $count $(text_lang "018")" nextcloud_msg "$(tr "error_renaming") $count $(tr "failed_attempts")"
apprise_msg "$(text_lang "017") $count $(text_lang "018")" apprise_msg "$(tr "error_renaming") $count $(tr "failed_attempts")"
fi fi
else else
log_msg "$(text_lang "019")" log_msg "$(tr "completed_successfully")"
fi fi