fjqingyou/PotPlayer_Subtitle_Translate_Baidu

翻译结果一致时,有些小问题~

uicake opened this issue · 4 comments

问题:简繁转换,当简繁字体一样时,出现无字幕现象。
解决:注释掉第135行 // ret = " ";//那么忽略这个字幕
懒得pr了,就简单提交个issue吧(。・∀・)ノ

噢对喔,双语的时候,特殊单词无翻译,所以才要加上这个函数。
那么,稍作改动:

		if(text == ret){//如果翻译后的译文,跟原文一致
			if (srcLang == "zh" && dstLang == "cht"){}      // 简体 转 繁体
			else if (srcLang == "cht" && dstLang == "zh"){} // 繁体 转 简体
			else
				ret = " ";//那么忽略这个字幕
		}

代码风格是不怎么好看……但添加新规则时,会简单明了一点点——只需添加一行else if即可

以上改动,BUG+1:
以上改动的if语句,要提在

if (ret.length() > 0){//如果有翻译结果

前面。

感谢提交问题。
看描述知道为啥了。。我本地测试的时候是原文+翻译文都显示的。所以重复的时候我这里默认隐藏掉翻译,仅仅显示原文。。所以没发现这个问题。。

不过当前这个方式有另一个问题。一旦用原文+翻译文显示的。。。到时候会同时显示两行相同结果!

感谢提交问题。
看描述知道为啥了。。我本地测试的时候是原文+翻译文都显示的。所以重复的时候我这里默认隐藏掉翻译,仅仅显示原文。。所以没发现这个问题。。

不过当前这个方式有另一个问题。一旦用原文+翻译文显示的。。。到时候会同时显示两行相同结果!

啊两行一样的结果,这个实际使用没问题的,因为这里是只有简繁转换才保留,但是既然用了简繁转换,就没必要原文+翻译文显示了,仅显示翻译这样子的( •̀ ω •́ )y。
如果其他语言转换有特殊需求,只在else if后面的空大括号里添加代码即可( ̄▽ ̄)~*