Skip to content

Commit d173bde

Browse files
committed
feat: add German and Turkish support
1 parent e8ba000 commit d173bde

File tree

4 files changed

+5
-3
lines changed

4 files changed

+5
-3
lines changed

internal/service/subtitle_service.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,7 @@ func getSentenceTimestamps(words []types.Word, sentence string, lastTs float64,
691691
var srtSt types.SrtSentence
692692
var sentenceWordList []string
693693
sentenceWords := make([]types.Word, 0)
694-
if language == types.LanguageNameEnglish || language == types.LanguageNameGerman { // 处理方式不同
694+
if language == types.LanguageNameEnglish || language == types.LanguageNameGerman || language == types.LanguageNameTurkish { // 处理方式不同
695695
sentenceWordList = util.SplitSentence(sentence)
696696
if len(sentenceWordList) == 0 {
697697
return srtSt, sentenceWords, 0, fmt.Errorf("sentence is empty")

krillinai_test.exe

-17.1 MB
Binary file not shown.

pkg/util/subtitle.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,8 @@ func ParseSrtNoTsToSrtBlock(srtNoTsFile string) ([]*SrtBlock, error) {
180180
}
181181

182182
func SplitSentence(sentence string) []string {
183-
// 使用正则表达式移除标点符号和特殊字符(除了字母、数字和空格)
184-
re := regexp.MustCompile(`[^\w\s']+`)
183+
// 使用正则表达式移除标点符号和特殊字符(保留各语言字母、数字和空格)
184+
re := regexp.MustCompile(`[^\p{L}\p{N}\s']+`)
185185
cleanedSentence := re.ReplaceAllString(sentence, " ")
186186

187187
// 使用 strings.Fields 按空格拆分成单词

static/index.html

+2
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,8 @@ <h1>世界帧精彩</h1>
229229
<option value="zh_cn">简体中文</option>
230230
<option value="en">英文</option>
231231
<option value="ja">日文</option>
232+
<option value="tr">土耳其语</option>
233+
<option value="de">德语</option>
232234
</select>
233235
</div>
234236

0 commit comments

Comments
 (0)