File tree Expand file tree Collapse file tree 1 file changed +11
-16
lines changed
Flow.Launcher.Infrastructure Expand file tree Collapse file tree 1 file changed +11
-16
lines changed Original file line number Diff line number Diff line change @@ -39,37 +39,32 @@ public string Translate(string content)
39
39
{
40
40
var resultList = WordsHelper . GetPinyinList ( content ) ;
41
41
42
- List < int > chineseIndexs = new List < int > ( ) ;
43
-
44
- for ( int i = 0 ; i < content . Length ; i ++ )
45
- {
46
- if ( resultList [ i ] . Length != 1 || ! ( resultList [ i ] [ 0 ] == content [ i ] ) )
47
- chineseIndexs . Add ( i ) ;
48
- }
49
42
StringBuilder resultBuilder = new StringBuilder ( ) ;
43
+
50
44
51
- foreach ( var chineseIndex in chineseIndexs )
45
+ for ( int i = 0 ; i < resultList . Length ; i ++ )
52
46
{
53
- resultBuilder . Append ( resultList [ chineseIndex ] . First ( ) ) ;
47
+ if ( content [ i ] >= 0x3400 && content [ i ] <= 0x9FD5 )
48
+ resultBuilder . Append ( resultList [ i ] . First ( ) ) ;
54
49
}
50
+
55
51
resultBuilder . Append ( ' ' ) ;
56
52
57
- int currentChineseIndex = 0 ;
58
- int lastChineseIndex = - 1 ;
53
+ bool pre = false ;
54
+
59
55
for ( int i = 0 ; i < resultList . Length ; i ++ )
60
56
{
61
- if ( currentChineseIndex < chineseIndexs . Count && chineseIndexs [ currentChineseIndex ] == i )
57
+ if ( content [ i ] >= 0x3400 && content [ i ] <= 0x9FD5 )
62
58
{
63
59
resultBuilder . Append ( ' ' ) ;
64
-
65
60
resultBuilder . Append ( resultList [ i ] ) ;
66
- currentChineseIndex ++ ;
67
- lastChineseIndex = i ;
61
+ pre = true ;
68
62
}
69
63
else
70
64
{
71
- if ( i == lastChineseIndex + 1 )
65
+ if ( pre )
72
66
{
67
+ pre = false ;
73
68
resultBuilder . Append ( ' ' ) ;
74
69
}
75
70
resultBuilder . Append ( resultList [ i ] ) ;
You can’t perform that action at this time.
0 commit comments