1
0

iSubFormatter.go 1.5 KB

1234567891011121314151617181920
  1. package ifaces
  2. import (
  3. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/language"
  4. )
  5. // ISubFormatter 如果新增了更多的字幕命名格式化的实现,需要找所有以下 to do 去增加实现
  6. // TODO 如果字幕格式新增了实现,这里也需要添加对应的实例
  7. type ISubFormatter interface {
  8. // GetFormatterName 当前的 formatter 是那个
  9. GetFormatterName() string
  10. // GetFormatterFormatterName 需要转换为 FormatterName 使用
  11. GetFormatterFormatterName() int
  12. // IsMatchThisFormat 是否满足当前实现接口的字幕命名格式 - 是否符合规则、fileNameWithOutExt string, subExt string, subLang types.MyLanguage, extraSubPreName string
  13. IsMatchThisFormat(subName string) (bool, string, string, language.MyLanguage, string)
  14. // GenerateMixSubName 通过视频和字幕信息,生成当前实现接口的字幕命名格式。extraSubPreName 一般是填写字幕网站,不填写则留空 - 新名称、新名称带有 default 标记,新名称带有 forced 标记
  15. GenerateMixSubName(videoFileName, subExt string, subLang language.MyLanguage, extraSubPreName string) (string, string, string)
  16. // GenerateMixSubNameBase 通过没有后缀名信息的文件名,生成当前实现接口的字幕命名格式。extraSubPreName 一般是填写字幕网站,不填写则留空 - 新名称、新名称带有 default 标记,新名称带有 forced 标记
  17. GenerateMixSubNameBase(fileNameWithOutExt, subExt string, subLang language.MyLanguage, extraSubPreName string) (string, string, string)
  18. }