If you download Tv Show/series from Torrent or other Online Platforms, especially from rarbg torrent sites. Most of the time there are many subtitle files in many different languages for each episode in a separate folder. organize and renaming them for use are time-consuming and painful. Hope this will Help.
Folder Structure for this Flow:

Flow Creation:
Create 3 input variables to enter Tv Show/series location, subtitle language and subtitle type you want. (ref:images: "input variable 1.jpg","input variable 2.jpg"and "input variable 3.jpg")
Copy the text and paste it on Flow.



# process 1: start deleting any folder that does not contain subtitles. (*.srt files)
Folder.GetSubfolders Folder: FolderPath FolderFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Subfolders=> Subfolders
LOOP FOREACH Subfolder IN Subfolders
Folder.GetFiles Folder: Subfolder FileFilter: $'''*.srt''' IncludeSubfolders: True FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
IF Files.Count = 0 THEN
Folder.Delete Folder: Subfolder
END
END
# process 1: end
# Process 2: start moving subtitles containing folders to Main Folder. (from a folder That contains all subtitles containing folders)
Folder.GetSubfolders Folder: FolderPath FolderFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Subfolders=> Subfolders
LOOP FOREACH Subfolder IN Subfolders
Folder.GetSubfolders Folder: Subfolder FolderFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Subfolders=> SubSubfolders
END
LOOP FOREACH Subfolder IN SubSubfolders
Folder.Move Folder: Subfolder Destination: FolderPath
END
# Process 2: end
# Process 3: declare all moved folders as "Subfolder" (variable). and delete the Empty once.
Folder.GetSubfolders Folder: FolderPath FolderFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Subfolders=> Subfolders
LOOP FOREACH Subfolder IN Subfolders
IF IsEmpty(Subfolder) THEN
Folder.Delete Folder: Subfolder
END
END
# Process 3: end
/# Process 4: declare all folders under MainFolder as "Folders" (variable).
(here we just moved desired language subtitle file from folder to the main folder, delete the remaining files on the folder and move back desired language subtitle file on the folder)#/
Folder.GetSubfolders Folder: FolderPath FolderFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Subfolders=> Folders
LOOP FOREACH Folder IN Folders
Folder.GetFiles Folder: Folder FileFilter: $'''*%MyLanguage%*.srt''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> FilesESrt
File.Move Files: FilesESrt Destination: FolderPath IfFileExists: File.IfExists.DoNothing MovedFiles=> MovedFiles
Folder.GetFiles Folder: Folder FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
File.Delete Files: Files
File.Move Files: MovedFiles Destination: Folder IfFileExists: File.IfExists.DoNothing
END
/# Process 4: end
#/
/# Process 5: sometimes there are multiple subtitles in some languages. some subtitle contains just voices, some are just translations and some contains everything including background descriptions, voices, and translations. The more subtitle contains the bigger its memory size becomes.
So Process 5 will keep the one you choose and filter out the rest.#/
LOOP FOREACH Folder IN Folders
Folder.GetFiles Folder: Folder FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.Size SortDescending1: True SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
IF SubtitlesChoose = $'''Everything''' THEN
File.Delete Files: Files[1:]
END
IF SubtitlesChoose = $'''Voice''' THEN
IF Files.Count = 1 THEN
File.Delete Files: Files[1:]
END
IF Files.Count = 2 THEN
File.Delete Files: Files[0]
END
IF Files.Count >= 3 THEN
File.Delete Files: Files[0]
File.Delete Files: Files[2:]
END
END
IF SubtitlesChoose = $'''Other''' THEN
IF Files.Count = 1 THEN
File.Delete Files: Files[1:]
END
IF Files.Count = 2 THEN
File.Delete Files: Files[0]
END
IF Files.Count >= 3 THEN
Folder.GetFiles Folder: Folder FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.Size SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
File.Delete Files: Files[1:]
END
END
END
/# Process 5: end
#/
# Process 6: move video file to same name Folder (that contain its subtitle).
Folder.GetFiles Folder: FolderPath FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> videofiles
LOOP FOREACH Folder IN Folders
LOOP FOREACH Videofile IN videofiles
IF Folder.Name = Videofile.NameWithoutExtension THEN
File.Move Files: Videofile Destination: Folder IfFileExists: File.IfExists.DoNothing MovedFiles=> MovedFiles
END
END
END
/# Process 6: end
#/
# Process 7: rename subtitle as folder name.
LOOP FOREACH Folder IN Folders
Folder.GetFiles Folder: Folder FileFilter: $'''*.srt''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
File.RenameFiles.Rename Files: Files NewName: Folder.Name KeepExtension: True IfFileExists: File.IfExists.DoNothing
END
# Process 7: End
# Flow End.

An alternative way to do process 4: it will take a lot more time but still you this if you need:
/# Process 4: declare all folders under MainFolder as "Folders" (variable). and start deleting the other language subtitle files except for the desired subtitle language file.
Enter the preferred language on the input variables "MyLanguage"
#/
Folder.GetSubfolders Folder: FolderPath FolderFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Subfolders=> Folders
LOOP FOREACH Folder IN Folders
Folder.GetFiles Folder: Folder FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
LOOP FOREACH File IN Files
IF NotContains(File.Name, MyLanguage, True) THEN
File.Delete Files: File
END
END
END
/# Process 4: end
#/

enjoy!