@@ -100,6 +100,7 @@ import com.metrolist.music.constants.LyricsClickKey
100100import com.metrolist.music.constants.LyricsRomanizeBelarusianKey
101101import com.metrolist.music.constants.LyricsRomanizeBulgarianKey
102102import com.metrolist.music.constants.LyricsRomanizeCyrillicByLineKey
103+ import com.metrolist.music.constants.LyricsRomanizeChineseKey
103104import com.metrolist.music.constants.LyricsRomanizeJapaneseKey
104105import com.metrolist.music.constants.LyricsRomanizeKoreanKey
105106import com.metrolist.music.constants.LyricsRomanizeKyrgyzKey
@@ -128,6 +129,7 @@ import com.metrolist.music.lyrics.LyricsUtils.parseLyrics
128129import com.metrolist.music.lyrics.LyricsUtils.romanizeCyrillic
129130import com.metrolist.music.lyrics.LyricsUtils.romanizeJapanese
130131import com.metrolist.music.lyrics.LyricsUtils.romanizeKorean
132+ import com.metrolist.music.lyrics.LyricsUtils.romanizeChinese
131133import com.metrolist.music.ui.component.shimmer.ShimmerHost
132134import com.metrolist.music.ui.component.shimmer.TextPlaceholder
133135import com.metrolist.music.ui.screens.settings.DarkMode
@@ -173,6 +175,7 @@ fun Lyrics(
173175 val romanizeKyrgyzLyrics by rememberPreference(LyricsRomanizeKyrgyzKey , true )
174176 val romanizeMacedonianLyrics by rememberPreference(LyricsRomanizeMacedonianKey , true )
175177 val romanizeCyrillicByLine by rememberPreference(LyricsRomanizeCyrillicByLineKey , false )
178+ val romanizeChineseLyrics by rememberPreference(LyricsRomanizeChineseKey , true )
176179 val scope = rememberCoroutineScope()
177180
178181 val mediaMetadata by playerConnection.mediaMetadata.collectAsState()
@@ -262,6 +265,12 @@ fun Lyrics(
262265 }
263266 }
264267
268+ else if (romanizeChineseLyrics && isChinese(entry.text)) {
269+ scope.launch {
270+ newEntry.romanizedTextFlow.value = romanizeChinese(entry.text)
271+ }
272+ }
273+
265274 newEntry
266275 }.let {
267276 listOf (LyricsEntry .HEAD_LYRICS_ENTRY ) + it
@@ -332,6 +341,12 @@ fun Lyrics(
332341 }
333342 }
334343
344+ else if (romanizeChineseLyrics && isChinese(line)) {
345+ scope.launch {
346+ newEntry.romanizedTextFlow.value = romanizeChinese(line)
347+ }
348+ }
349+
335350 newEntry
336351 }
337352 }
@@ -758,7 +773,8 @@ fun Lyrics(
758773 romanizeBulgarianLyrics ||
759774 romanizeBelarusianLyrics ||
760775 romanizeKyrgyzLyrics ||
761- romanizeMacedonianLyrics)) {
776+ romanizeMacedonianLyrics ||
777+ romanizeChineseLyrics)) {
762778 // Show romanized text if available
763779 val romanizedText by item.romanizedTextFlow.collectAsState()
764780 romanizedText?.let { romanized ->
0 commit comments