From 5543382d03eb9cdbb721a2e8d2012cb2bd6a8888 Mon Sep 17 00:00:00 2001 From: K4YT3X Date: Sat, 23 Jan 2021 16:48:29 -0500 Subject: [PATCH] fixed issue 443 --- src/locale/zh_CN/LC_MESSAGES/video2x.mo | Bin 7865 -> 7986 bytes src/locale/zh_CN/LC_MESSAGES/zh_CN.mo | Bin 7865 -> 7986 bytes src/locale/zh_CN/LC_MESSAGES/zh_CN.po | 184 ++++++++++++------------ src/video2x.pot | 182 +++++++++++------------ src/video2x.py | 8 +- 5 files changed, 194 insertions(+), 180 deletions(-) diff --git a/src/locale/zh_CN/LC_MESSAGES/video2x.mo b/src/locale/zh_CN/LC_MESSAGES/video2x.mo index dfcd6d8ceaaa9ac59b8de0fdaec9443b30bcff36..476548ea7971d62895f2f498decf6b59beba3667 100644 GIT binary patch delta 2066 zcmYk+OK4PA9LMp0qGn8tF)^mFb`kgRJ82mN~d8V&3c@Pt*C*zF@Sy8 zgg4!NAG1?G6{vn1F&Eph5_e#cQvEBHS@=8Z!Mn~Es1^H|zGhtLT!Rg?kDxL%i2D6K z)KwF68PtSsp;q=7_5B;v zo@Y%?raFK+{Tq;v?dQT+_C4wl_qq08=+VB5Asj*VS6YxfJM}Rt8t6;Z16|0uv(u;v z4Ipof4Wah<0cwDBenhgY9ILSb1GoH7VJ^y48`59Qc2dy{ zdvG2OqGmXPnqfAh$RO&6>yRW^hie}~KK3IQZP8iOfPXuO(WCtywV+~7Dldq&V7cD^ zRw~+)!>E=0gdUzkt>jPCd;SPDfl=Jlp({YLYbAId=c77)ip2#;7ts4OH_ zs6tV8Sc@$qG`{JtzMj}j)DkM%0{$tjh0tu*5UJ8YWwdM5p(eSJ;H|O@qJm)YiL$^c zRujsAiZViJN?et;RH>n&cR854folmCnJ79`+Gm~ilHUG|{Fu(U`q3t;Y)E3ws1x=7 zGMh#tp^ec$f{HIm;?I8zbqfpV&l%-Mvpy`&C7-4>4<}qIV-zwELB=u?ky> zCB#xrMRE2(@&@JEz5B-Xrb?}4u9o*m)%fbWa6 z-f&J?fww0T={)Fl?e(@ryo3899ntO4NN0RpW`0&~C{Ps&%&qo9^TIWCfvVbgFuy20 VV|ehpXZ=@t*B1KY%O>y7`~d%Xw(nFVfY6%(BKR+{;Z4--Cv1wa5oOei#Q9runa$9 zG5VQBv6i}k%1kaCz)bAGJiLio;Zq!q12_?rhQB^3AldiXAl7F_*u5%%PJ*X7DMiy%+q+u#%q1y9MsjESYzDx50|j*3sD9C<=)8*0EksHfu;k`%jzIunmE zh`+H4i|AD=tH%;Ni@LuT8Nyzn7CM0HFP+tDAzqk@F04Zhcm&m9hr9kB)ln)3MJdfi zwaZ+4DUPMR3$;}`Q2fNMpw7@EREFN6#`%t#U@l+I=60*5q8YZJX4vMugZklXWRdpO zwSCM&6UpX7TN6SJSnJ%60oo@}3+hB31bdFk&|B1&q;hg~{w#+|fD2PlD_M@(s|M5r zPNNQ62a-Lzir26Y)o~*~Vs6%g+PVv<7u6-y1fHY%`GFcZnY^n%Kjt&O1>A)w@@LEV z&{NUi+D)hooI!Qei9TFTEG1MH5#x!qYEZO=HL+TJ(k$ARxwhWybBHa37jYLk*s<5> zV$}YwcGtx`BE_}YvsjjDQIi=&D6J$TRw|uh6`@S3=xij49%WZbVyC%?mQHh`tf9gp zV?~EX=c1UH*mi4>-&1nu6H30y`Z%@#XSsR;Z9oN~jZyMd(&EI9;a2L}yr{dj1Or4J zQBJ7LCA48P2~MhKo2clulPDbN*#9`SR}vdkp;Qy=h*Clixi&RKBoUhly_&SK$wZjg zNF>S%Dhmm{M|Hey;qHUYhxRq@jdu5?ZS!^SNYBg|848BVgW*UZ9Ep}jf}u#a=PyX= J?#pRP{|}vyrBMI? diff --git a/src/locale/zh_CN/LC_MESSAGES/zh_CN.mo b/src/locale/zh_CN/LC_MESSAGES/zh_CN.mo index dfcd6d8ceaaa9ac59b8de0fdaec9443b30bcff36..476548ea7971d62895f2f498decf6b59beba3667 100644 GIT binary patch delta 2066 zcmYk+OK4PA9LMp0qGn8tF)^mFb`kgRJ82mN~d8V&3c@Pt*C*zF@Sy8 zgg4!NAG1?G6{vn1F&Eph5_e#cQvEBHS@=8Z!Mn~Es1^H|zGhtLT!Rg?kDxL%i2D6K z)KwF68PtSsp;q=7_5B;v zo@Y%?raFK+{Tq;v?dQT+_C4wl_qq08=+VB5Asj*VS6YxfJM}Rt8t6;Z16|0uv(u;v z4Ipof4Wah<0cwDBenhgY9ILSb1GoH7VJ^y48`59Qc2dy{ zdvG2OqGmXPnqfAh$RO&6>yRW^hie}~KK3IQZP8iOfPXuO(WCtywV+~7Dldq&V7cD^ zRw~+)!>E=0gdUzkt>jPCd;SPDfl=Jlp({YLYbAId=c77)ip2#;7ts4OH_ zs6tV8Sc@$qG`{JtzMj}j)DkM%0{$tjh0tu*5UJ8YWwdM5p(eSJ;H|O@qJm)YiL$^c zRujsAiZViJN?et;RH>n&cR854folmCnJ79`+Gm~ilHUG|{Fu(U`q3t;Y)E3ws1x=7 zGMh#tp^ec$f{HIm;?I8zbqfpV&l%-Mvpy`&C7-4>4<}qIV-zwELB=u?ky> zCB#xrMRE2(@&@JEz5B-Xrb?}4u9o*m)%fbWa6 z-f&J?fww0T={)Fl?e(@ryo3899ntO4NN0RpW`0&~C{Ps&%&qo9^TIWCfvVbgFuy20 VV|ehpXZ=@t*B1KY%O>y7`~d%Xw(nFVfY6%(BKR+{;Z4--Cv1wa5oOei#Q9runa$9 zG5VQBv6i}k%1kaCz)bAGJiLio;Zq!q12_?rhQB^3AldiXAl7F_*u5%%PJ*X7DMiy%+q+u#%q1y9MsjESYzDx50|j*3sD9C<=)8*0EksHfu;k`%jzIunmE zh`+H4i|AD=tH%;Ni@LuT8Nyzn7CM0HFP+tDAzqk@F04Zhcm&m9hr9kB)ln)3MJdfi zwaZ+4DUPMR3$;}`Q2fNMpw7@EREFN6#`%t#U@l+I=60*5q8YZJX4vMugZklXWRdpO zwSCM&6UpX7TN6SJSnJ%60oo@}3+hB31bdFk&|B1&q;hg~{w#+|fD2PlD_M@(s|M5r zPNNQ62a-Lzir26Y)o~*~Vs6%g+PVv<7u6-y1fHY%`GFcZnY^n%Kjt&O1>A)w@@LEV z&{NUi+D)hooI!Qei9TFTEG1MH5#x!qYEZO=HL+TJ(k$ARxwhWybBHa37jYLk*s<5> zV$}YwcGtx`BE_}YvsjjDQIi=&D6J$TRw|uh6`@S3=xij49%WZbVyC%?mQHh`tf9gp zV?~EX=c1UH*mi4>-&1nu6H30y`Z%@#XSsR;Z9oN~jZyMd(&EI9;a2L}yr{dj1Or4J zQBJ7LCA48P2~MhKo2clulPDbN*#9`SR}vdkp;Qy=h*Clixi&RKBoUhly_&SK$wZjg zNF>S%Dhmm{M|Hey;qHUYhxRq@jdu5?ZS!^SNYBg|848BVgW*UZ9Ep}jf}u#a=PyX= J?#pRP{|}vyrBMI? diff --git a/src/locale/zh_CN/LC_MESSAGES/zh_CN.po b/src/locale/zh_CN/LC_MESSAGES/zh_CN.po index ed0d82d..4ccd99e 100644 --- a/src/locale/zh_CN/LC_MESSAGES/zh_CN.po +++ b/src/locale/zh_CN/LC_MESSAGES/zh_CN.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2020-09-14 14:24-0400\n" -"PO-Revision-Date: 2020-09-14 14:24-0400\n" +"POT-Creation-Date: 2021-01-23 16:45-0500\n" +"PO-Revision-Date: 2021-01-23 16:47-0500\n" "Last-Translator: \n" "Language-Team: \n" "Language: zh_CN\n" @@ -17,279 +17,279 @@ msgstr "" "X-Generator: Poedit 2.4.1\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: progress_monitor.py:37 +#: progress_monitor.py:40 msgid "Processing: {} (pass {}/{})" msgstr "正在处理:{}(进度)" -#: upscaler.py:149 +#: upscaler.py:160 msgid "Specified or default cache directory is a file/link" msgstr "指定或默认的缓存目录是文件/链接" -#: upscaler.py:155 +#: upscaler.py:167 msgid "Creating cache directory {}" msgstr "创建缓存目录 {}" -#: upscaler.py:158 +#: upscaler.py:174 msgid "Unable to create {}" msgstr "无法创建 {}" -#: upscaler.py:163 +#: upscaler.py:183 msgid "Extracted frames are being saved to: {}" msgstr "提取的帧将被保存到:{}" -#: upscaler.py:165 +#: upscaler.py:189 msgid "Upscaled frames are being saved to: {}" msgstr "已放大的帧将被保存到:{}" -#: upscaler.py:175 +#: upscaler.py:203 msgid "Cleaning up cache directory: {}" msgstr "清理缓存目录:{}" -#: upscaler.py:180 +#: upscaler.py:208 msgid "Unable to delete: {}" msgstr "无法删除:{}" -#: upscaler.py:186 upscaler.py:201 upscaler.py:212 +#: upscaler.py:214 upscaler.py:239 upscaler.py:250 msgid "Input and output path type mismatch" msgstr "输入和输出路径类型不匹配" -#: upscaler.py:187 +#: upscaler.py:215 msgid "Input is multiple files but output is not directory" msgstr "输入是多个文件,但输出不是目录" -#: upscaler.py:191 +#: upscaler.py:220 msgid "Input path {} is neither a file nor a directory" msgstr "输入路径 {} 既不是文件也不是目录" -#: upscaler.py:195 upscaler.py:217 +#: upscaler.py:230 upscaler.py:256 msgid "Input directory and output directory cannot be the same" msgstr "输入目录和输出目录不能相同" -#: upscaler.py:202 +#: upscaler.py:240 msgid "Input is single file but output is directory" msgstr "所选的输入路径是单个文件,但输出路径是目录" -#: upscaler.py:205 +#: upscaler.py:243 msgid "No suffix found in output file path" msgstr "在输出文件路径中未找到后缀" -#: upscaler.py:206 +#: upscaler.py:244 msgid "Suffix must be specified" msgstr "必须指定文件后缀" -#: upscaler.py:213 +#: upscaler.py:251 msgid "Input is directory but output is existing single file" msgstr "输入是目录,但输出是现有的单个文件" -#: upscaler.py:222 +#: upscaler.py:264 msgid "Input path is neither a file nor a directory" msgstr "输入路径既不是文件也不是目录" -#: upscaler.py:231 +#: upscaler.py:280 msgid "FFmpeg or FFprobe cannot be found under the specified path" msgstr "在指定的路径下找不到 FFmpeg 或 FFprobe" -#: upscaler.py:232 upscaler.py:242 +#: upscaler.py:282 upscaler.py:295 msgid "Please check the configuration file settings" msgstr "请检查配置文件设置" -#: upscaler.py:241 +#: upscaler.py:294 msgid "Specified driver executable directory doesn't exist" msgstr "指定驱动的可执行文件不存在" -#: upscaler.py:268 +#: upscaler.py:323 msgid "Failed to parse driver argument: {}" msgstr "解析驱动程序参数失败:{}" -#: upscaler.py:288 +#: upscaler.py:346 msgid "Unrecognized driver: {}" msgstr "无法识别的驱动名称:{}" -#: upscaler.py:328 +#: upscaler.py:397 msgid "Starting progress monitor" msgstr "启动进度监视器" -#: upscaler.py:333 +#: upscaler.py:402 msgid "Starting upscaled image cleaner" msgstr "启动已放大图像清理程序" -#: upscaler.py:342 upscaler.py:359 +#: upscaler.py:413 upscaler.py:432 msgid "Killing progress monitor" msgstr "终结进度监视器" -#: upscaler.py:345 upscaler.py:362 +#: upscaler.py:416 upscaler.py:435 msgid "Killing upscaled image cleaner" msgstr "终结已放大图像清理程序" -#: upscaler.py:366 +#: upscaler.py:439 msgid "Terminating all processes" msgstr "正在终止所有进程" -#: upscaler.py:373 +#: upscaler.py:445 msgid "Main process waiting for subprocesses to exit" msgstr "主进程开始等待子进程结束" -#: upscaler.py:392 upscaler.py:396 +#: upscaler.py:465 upscaler.py:475 msgid "Subprocess {} exited with code {}" msgstr "子进程 {} 结束,返回码 {}" -#: upscaler.py:402 +#: upscaler.py:484 msgid "Stop signal received" msgstr "收到停止信号" -#: upscaler.py:407 +#: upscaler.py:489 msgid "Subprocess execution ran into an error" msgstr "子进程执行遇到错误" -#: upscaler.py:437 +#: upscaler.py:523 msgid "Loading files into processing queue" msgstr "正在将文件添加到处理队列中" -#: upscaler.py:438 +#: upscaler.py:524 msgid "Input path(s): {}" msgstr "输入路径:{}" -#: upscaler.py:484 +#: upscaler.py:576 msgid "File MIME type: {}" msgstr "文件 MIME 类型:{}" -#: upscaler.py:500 +#: upscaler.py:601 msgid "File {} ({}) neither an image nor a video" msgstr "文件 {} ({}) 既不是图片也不是视频" -#: upscaler.py:501 +#: upscaler.py:605 msgid "Skipping this file" msgstr "将跳过此文件" -#: upscaler.py:526 +#: upscaler.py:640 msgid "Loaded files into processing queue" msgstr "文件已添加到处理队列" -#: upscaler.py:529 +#: upscaler.py:643 msgid "Input file: {}" msgstr "输入文件:{}" -#: upscaler.py:541 +#: upscaler.py:661 msgid "Reading file information" msgstr "正在读取视频信息" -#: upscaler.py:550 +#: upscaler.py:670 msgid "Starting upscaling image" msgstr "开始放大图像" -#: upscaler.py:561 +#: upscaler.py:684 msgid "Starting upscaling video/GIF" msgstr "开始放大视频/GIF" -#: upscaler.py:572 +#: upscaler.py:695 msgid "Aborting: No video stream found" msgstr "程序中止:文件中未找到视频流" -#: upscaler.py:581 +#: upscaler.py:708 msgid "Getting total number of frames in the file" msgstr "正在获取文件中的总帧数" -#: upscaler.py:592 +#: upscaler.py:723 msgid "Calculating scaling parameters" msgstr "正在计算缩放参数" -#: upscaler.py:656 +#: upscaler.py:797 msgid "Framerate: {}" msgstr "帧率:{}" -#: upscaler.py:657 +#: upscaler.py:798 msgid "Width: {}" msgstr "宽:{}" -#: upscaler.py:658 +#: upscaler.py:799 msgid "Height: {}" msgstr "高:{}" -#: upscaler.py:659 +#: upscaler.py:801 msgid "Total number of frames: {}" msgstr "总帧数:{}" -#: upscaler.py:660 +#: upscaler.py:803 msgid "Output width: {}" msgstr "输出宽度:{}" -#: upscaler.py:661 +#: upscaler.py:804 msgid "Output height: {}" msgstr "输出高度:{}" -#: upscaler.py:662 +#: upscaler.py:805 msgid "Required scale ratio: {}" msgstr "需要的缩放比例:{}" -#: upscaler.py:663 +#: upscaler.py:807 msgid "Upscaling jobs queue: {}" msgstr "放大工作队列:{}" -#: upscaler.py:680 +#: upscaler.py:834 msgid "Unsupported pixel format: {}" msgstr "不支持的像素格式:{}" -#: upscaler.py:684 +#: upscaler.py:843 msgid "Starting to upscale extracted frames" msgstr "开始对提取的帧进行放大" -#: upscaler.py:701 +#: upscaler.py:860 msgid "Upscaling completed" msgstr "放大完成" -#: upscaler.py:702 +#: upscaler.py:862 msgid "Average processing speed: {} seconds per frame" msgstr "平均处理速度:{} 秒每帧" -#: upscaler.py:705 +#: upscaler.py:868 msgid "Lanczos downscaling frames" msgstr "正在使用 Lanczos 算法缩放图像" -#: upscaler.py:710 +#: upscaler.py:880 msgid "Downscaling" msgstr "正在缩放图像" -#: upscaler.py:729 +#: upscaler.py:905 msgid "Exporting image" msgstr "正在导出图像" -#: upscaler.py:739 +#: upscaler.py:918 msgid "Converting extracted frames into GIF image" msgstr "正在将提取的帧转换为 GIF" -#: upscaler.py:743 upscaler.py:752 +#: upscaler.py:931 upscaler.py:944 msgid "Conversion completed" msgstr "转换已完成" -#: upscaler.py:748 +#: upscaler.py:936 msgid "Converting extracted frames into video" msgstr "正在将提取的帧转换为视频" -#: upscaler.py:756 +#: upscaler.py:949 msgid "Migrating audio, subtitles and other streams to upscaled video" msgstr "正在将音频、字幕和其他流迁移到放大后的视频" -#: upscaler.py:766 +#: upscaler.py:966 msgid "Failed to migrate streams" msgstr "迁移流失败" -#: upscaler.py:767 +#: upscaler.py:968 msgid "Trying to output video without additional streams" msgstr "正在尝试输出不含其他流的视频" -#: upscaler.py:783 +#: upscaler.py:991 msgid "Output video file exists" msgstr "输出目标文件已存在" -#: upscaler.py:787 +#: upscaler.py:1000 msgid "Created temporary directory to contain file" msgstr "为文件创建了临时目录" -#: upscaler.py:790 +#: upscaler.py:1005 msgid "Writing intermediate file to: {}" msgstr "正在将中间视频文件写入至:{}" -#: video2x.py:85 +#: video2x.py:89 msgid "" "Video2X CLI Version: {}\n" "Upscaler Version: {}\n" @@ -305,79 +305,83 @@ msgstr "" "GitHub 主页:https://github.com/k4yt3x/video2x\n" "联系方式:k4yt3x@k4yt3x.com" -#: video2x.py:108 +#: video2x.py:117 msgid "Video2X Options" msgstr "Video2X 选项" -#: video2x.py:109 +#: video2x.py:120 msgid "show this help message and exit" msgstr "显示此帮助消息并退出" -#: video2x.py:116 +#: video2x.py:133 msgid "source video file/directory" msgstr "源视频文件/目录" -#: video2x.py:117 +#: video2x.py:141 msgid "output video file/directory" msgstr "输出视频文件/目录" -#: video2x.py:119 +#: video2x.py:149 msgid "Video2X config file path" msgstr "Video2X 配置文件路径" -#: video2x.py:121 +#: video2x.py:154 msgid "log file path" msgstr "日志文件路径" -#: video2x.py:122 +#: video2x.py:159 msgid "display version, lawful information and exit" msgstr "显示版本和法律信息并退出" -#: video2x.py:125 +#: video2x.py:164 msgid "Upscaling Options" msgstr "视频放大选项" -#: video2x.py:126 +#: video2x.py:167 msgid "scaling ratio" msgstr "缩放比" -#: video2x.py:127 +#: video2x.py:171 msgid "output width" msgstr "输出宽度" -#: video2x.py:128 +#: video2x.py:175 msgid "output height" msgstr "输出高度" -#: video2x.py:129 +#: video2x.py:181 msgid "upscaling driver" msgstr "视频放大驱动" -#: video2x.py:130 +#: video2x.py:189 msgid "number of processes to use for upscaling" msgstr "并发进程数" -#: video2x.py:131 +#: video2x.py:197 msgid "preserve extracted and upscaled frames" msgstr "保留提取的和放大的帧" -#: video2x.py:171 +#: video2x.py:241 msgid "This file cannot be imported" msgstr "此文件无法被当作模块导入" -#: video2x.py:187 +#: video2x.py:259 msgid "Specify either scaling ratio or scaling resolution, not both" msgstr "您只能指定缩放比或输出分辨率两者之一" -#: video2x.py:273 +#: video2x.py:265 +msgid "Either scaling ratio or scaling resolution needs to be specified" +msgstr "必须指定缩放比或输出分辨率" + +#: video2x.py:353 msgid "Program completed, taking {} seconds" msgstr "程序执行完毕,总计花费 {} 秒" -#: video2x.py:277 +#: video2x.py:360 msgid "An exception has occurred" msgstr "发生了异常" -#: video2x.py:292 +#: video2x.py:375 msgid "The error log file can be found at: {}" msgstr "错误日志已被保存到:{}" diff --git a/src/video2x.pot b/src/video2x.pot index 1cf333e..949ef16 100644 --- a/src/video2x.pot +++ b/src/video2x.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2020-09-14 14:24-0400\n" +"POT-Creation-Date: 2021-01-23 16:45-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,279 +15,279 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" -#: progress_monitor.py:37 +#: progress_monitor.py:40 msgid "Processing: {} (pass {}/{})" msgstr "" -#: upscaler.py:149 +#: upscaler.py:160 msgid "Specified or default cache directory is a file/link" msgstr "" -#: upscaler.py:155 +#: upscaler.py:167 msgid "Creating cache directory {}" msgstr "" -#: upscaler.py:158 +#: upscaler.py:174 msgid "Unable to create {}" msgstr "" -#: upscaler.py:163 +#: upscaler.py:183 msgid "Extracted frames are being saved to: {}" msgstr "" -#: upscaler.py:165 +#: upscaler.py:189 msgid "Upscaled frames are being saved to: {}" msgstr "" -#: upscaler.py:175 +#: upscaler.py:203 msgid "Cleaning up cache directory: {}" msgstr "" -#: upscaler.py:180 +#: upscaler.py:208 msgid "Unable to delete: {}" msgstr "" -#: upscaler.py:186 upscaler.py:201 upscaler.py:212 +#: upscaler.py:214 upscaler.py:239 upscaler.py:250 msgid "Input and output path type mismatch" msgstr "" -#: upscaler.py:187 +#: upscaler.py:215 msgid "Input is multiple files but output is not directory" msgstr "" -#: upscaler.py:191 +#: upscaler.py:220 msgid "Input path {} is neither a file nor a directory" msgstr "" -#: upscaler.py:195 upscaler.py:217 +#: upscaler.py:230 upscaler.py:256 msgid "Input directory and output directory cannot be the same" msgstr "" -#: upscaler.py:202 +#: upscaler.py:240 msgid "Input is single file but output is directory" msgstr "" -#: upscaler.py:205 +#: upscaler.py:243 msgid "No suffix found in output file path" msgstr "" -#: upscaler.py:206 +#: upscaler.py:244 msgid "Suffix must be specified" msgstr "" -#: upscaler.py:213 +#: upscaler.py:251 msgid "Input is directory but output is existing single file" msgstr "" -#: upscaler.py:222 +#: upscaler.py:264 msgid "Input path is neither a file nor a directory" msgstr "" -#: upscaler.py:231 +#: upscaler.py:280 msgid "FFmpeg or FFprobe cannot be found under the specified path" msgstr "" -#: upscaler.py:232 upscaler.py:242 +#: upscaler.py:282 upscaler.py:295 msgid "Please check the configuration file settings" msgstr "" -#: upscaler.py:241 +#: upscaler.py:294 msgid "Specified driver executable directory doesn't exist" msgstr "" -#: upscaler.py:268 +#: upscaler.py:323 msgid "Failed to parse driver argument: {}" msgstr "" -#: upscaler.py:288 +#: upscaler.py:346 msgid "Unrecognized driver: {}" msgstr "" -#: upscaler.py:328 +#: upscaler.py:397 msgid "Starting progress monitor" msgstr "" -#: upscaler.py:333 +#: upscaler.py:402 msgid "Starting upscaled image cleaner" msgstr "" -#: upscaler.py:342 upscaler.py:359 +#: upscaler.py:413 upscaler.py:432 msgid "Killing progress monitor" msgstr "" -#: upscaler.py:345 upscaler.py:362 +#: upscaler.py:416 upscaler.py:435 msgid "Killing upscaled image cleaner" msgstr "" -#: upscaler.py:366 +#: upscaler.py:439 msgid "Terminating all processes" msgstr "" -#: upscaler.py:373 +#: upscaler.py:445 msgid "Main process waiting for subprocesses to exit" msgstr "" -#: upscaler.py:392 upscaler.py:396 +#: upscaler.py:465 upscaler.py:475 msgid "Subprocess {} exited with code {}" msgstr "" -#: upscaler.py:402 +#: upscaler.py:484 msgid "Stop signal received" msgstr "" -#: upscaler.py:407 +#: upscaler.py:489 msgid "Subprocess execution ran into an error" msgstr "" -#: upscaler.py:437 +#: upscaler.py:523 msgid "Loading files into processing queue" msgstr "" -#: upscaler.py:438 +#: upscaler.py:524 msgid "Input path(s): {}" msgstr "" -#: upscaler.py:484 +#: upscaler.py:576 msgid "File MIME type: {}" msgstr "" -#: upscaler.py:500 +#: upscaler.py:601 msgid "File {} ({}) neither an image nor a video" msgstr "" -#: upscaler.py:501 +#: upscaler.py:605 msgid "Skipping this file" msgstr "" -#: upscaler.py:526 +#: upscaler.py:640 msgid "Loaded files into processing queue" msgstr "" -#: upscaler.py:529 +#: upscaler.py:643 msgid "Input file: {}" msgstr "" -#: upscaler.py:541 +#: upscaler.py:661 msgid "Reading file information" msgstr "" -#: upscaler.py:550 +#: upscaler.py:670 msgid "Starting upscaling image" msgstr "" -#: upscaler.py:561 +#: upscaler.py:684 msgid "Starting upscaling video/GIF" msgstr "" -#: upscaler.py:572 +#: upscaler.py:695 msgid "Aborting: No video stream found" msgstr "" -#: upscaler.py:581 +#: upscaler.py:708 msgid "Getting total number of frames in the file" msgstr "" -#: upscaler.py:592 +#: upscaler.py:723 msgid "Calculating scaling parameters" msgstr "" -#: upscaler.py:656 +#: upscaler.py:797 msgid "Framerate: {}" msgstr "" -#: upscaler.py:657 +#: upscaler.py:798 msgid "Width: {}" msgstr "" -#: upscaler.py:658 +#: upscaler.py:799 msgid "Height: {}" msgstr "" -#: upscaler.py:659 +#: upscaler.py:801 msgid "Total number of frames: {}" msgstr "" -#: upscaler.py:660 +#: upscaler.py:803 msgid "Output width: {}" msgstr "" -#: upscaler.py:661 +#: upscaler.py:804 msgid "Output height: {}" msgstr "" -#: upscaler.py:662 +#: upscaler.py:805 msgid "Required scale ratio: {}" msgstr "" -#: upscaler.py:663 +#: upscaler.py:807 msgid "Upscaling jobs queue: {}" msgstr "" -#: upscaler.py:680 +#: upscaler.py:834 msgid "Unsupported pixel format: {}" msgstr "" -#: upscaler.py:684 +#: upscaler.py:843 msgid "Starting to upscale extracted frames" msgstr "" -#: upscaler.py:701 +#: upscaler.py:860 msgid "Upscaling completed" msgstr "" -#: upscaler.py:702 +#: upscaler.py:862 msgid "Average processing speed: {} seconds per frame" msgstr "" -#: upscaler.py:705 +#: upscaler.py:868 msgid "Lanczos downscaling frames" msgstr "" -#: upscaler.py:710 +#: upscaler.py:880 msgid "Downscaling" msgstr "" -#: upscaler.py:729 +#: upscaler.py:905 msgid "Exporting image" msgstr "" -#: upscaler.py:739 +#: upscaler.py:918 msgid "Converting extracted frames into GIF image" msgstr "" -#: upscaler.py:743 upscaler.py:752 +#: upscaler.py:931 upscaler.py:944 msgid "Conversion completed" msgstr "" -#: upscaler.py:748 +#: upscaler.py:936 msgid "Converting extracted frames into video" msgstr "" -#: upscaler.py:756 +#: upscaler.py:949 msgid "Migrating audio, subtitles and other streams to upscaled video" msgstr "" -#: upscaler.py:766 +#: upscaler.py:966 msgid "Failed to migrate streams" msgstr "" -#: upscaler.py:767 +#: upscaler.py:968 msgid "Trying to output video without additional streams" msgstr "" -#: upscaler.py:783 +#: upscaler.py:991 msgid "Output video file exists" msgstr "" -#: upscaler.py:787 +#: upscaler.py:1000 msgid "Created temporary directory to contain file" msgstr "" -#: upscaler.py:790 +#: upscaler.py:1005 msgid "Writing intermediate file to: {}" msgstr "" -#: video2x.py:85 +#: video2x.py:89 msgid "" "Video2X CLI Version: {}\n" "Upscaler Version: {}\n" @@ -297,79 +297,83 @@ msgid "" "Contact: k4yt3x@k4yt3x.com" msgstr "" -#: video2x.py:108 +#: video2x.py:117 msgid "Video2X Options" msgstr "" -#: video2x.py:109 +#: video2x.py:120 msgid "show this help message and exit" msgstr "" -#: video2x.py:116 +#: video2x.py:133 msgid "source video file/directory" msgstr "" -#: video2x.py:117 +#: video2x.py:141 msgid "output video file/directory" msgstr "" -#: video2x.py:119 +#: video2x.py:149 msgid "Video2X config file path" msgstr "" -#: video2x.py:121 +#: video2x.py:154 msgid "log file path" msgstr "" -#: video2x.py:122 +#: video2x.py:159 msgid "display version, lawful information and exit" msgstr "" -#: video2x.py:125 +#: video2x.py:164 msgid "Upscaling Options" msgstr "" -#: video2x.py:126 +#: video2x.py:167 msgid "scaling ratio" msgstr "" -#: video2x.py:127 +#: video2x.py:171 msgid "output width" msgstr "" -#: video2x.py:128 +#: video2x.py:175 msgid "output height" msgstr "" -#: video2x.py:129 +#: video2x.py:181 msgid "upscaling driver" msgstr "" -#: video2x.py:130 +#: video2x.py:189 msgid "number of processes to use for upscaling" msgstr "" -#: video2x.py:131 +#: video2x.py:197 msgid "preserve extracted and upscaled frames" msgstr "" -#: video2x.py:171 +#: video2x.py:241 msgid "This file cannot be imported" msgstr "" -#: video2x.py:187 +#: video2x.py:259 msgid "Specify either scaling ratio or scaling resolution, not both" msgstr "" -#: video2x.py:273 +#: video2x.py:265 +msgid "Either scaling ratio or scaling resolution needs to be specified" +msgstr "" + +#: video2x.py:353 msgid "Program completed, taking {} seconds" msgstr "" -#: video2x.py:277 +#: video2x.py:360 msgid "An exception has occurred" msgstr "" -#: video2x.py:292 +#: video2x.py:375 msgid "The error log file can be found at: {}" msgstr "" diff --git a/src/video2x.py b/src/video2x.py index 50ce3c6..ecbfe4d 100755 --- a/src/video2x.py +++ b/src/video2x.py @@ -84,7 +84,7 @@ language = gettext.translation( language.install() _ = language.gettext -CLI_VERSION = "4.3.2" +CLI_VERSION = "4.3.3" LEGAL_INFO = _( """Video2X CLI Version: {} @@ -259,6 +259,12 @@ if video2x_args.ratio is not None and ( Avalon.error(_("Specify either scaling ratio or scaling resolution, not both")) sys.exit(1) +elif video2x_args.ratio is None and ( + video2x_args.width is None or video2x_args.height is None +): + Avalon.error(_("Either scaling ratio or scaling resolution needs to be specified")) + sys.exit(1) + # redirect output to both terminal and log file if video2x_args.log is not None: log_file = video2x_args.log.open(mode="a+", encoding="utf-8")