Răsfoiți Sursa

feat: improve i18n support - extract hardcoded Chinese and fill missing translations

- Extract ~100+ hardcoded Chinese strings from 17 Compose files into string resources
- Fix zh-rHK file encoding from GBK to UTF-8
- Fill 683 missing zh-rTW translations (1361 → 2156 keys)
- Fill 686 missing zh-rHK translations (1358 → 2156 keys)
- Add 3 missing keys to zh-rCN (custom_button, is_event_listener, rule_call_back)
- All 4 locale files now have equal coverage (2156 keys)
HapeLee 4 luni în urmă
părinte
comite
c0b7a555ec
24 a modificat fișierele cu 1968 adăugiri și 105 ștergeri
  1. 2 2
      app/src/main/java/io/legado/app/ui/book/readRecord/ReadRecordScreen.kt
  2. 1 1
      app/src/main/java/io/legado/app/ui/book/readRecord/component/ReadRecordHeatmap.kt
  3. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/BookItem.kt
  4. 19 19
      app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfConfigSheet.kt
  5. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt
  6. 1 1
      app/src/main/java/io/legado/app/ui/main/homepage/HomepageScreen.kt
  7. 12 12
      app/src/main/java/io/legado/app/ui/replace/ReplaceRuleScreen.kt
  8. 26 26
      app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditScreen.kt
  9. 1 1
      app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesScreen.kt
  10. 4 2
      app/src/main/java/io/legado/app/ui/widget/components/JsonRawEditor.kt
  11. 11 9
      app/src/main/java/io/legado/app/ui/widget/components/LoadMoreFooter.kt
  12. 2 1
      app/src/main/java/io/legado/app/ui/widget/components/dialog/TextListInputDialog.kt
  13. 5 3
      app/src/main/java/io/legado/app/ui/widget/components/explore/ExploreKindMultiTypeItem.kt
  14. 3 1
      app/src/main/java/io/legado/app/ui/widget/components/explore/ExploreKindSelectSheet.kt
  15. 1 1
      app/src/main/java/io/legado/app/ui/widget/components/filePicker/FilePickerSheet.kt
  16. 19 8
      app/src/main/java/io/legado/app/ui/widget/components/heatmap/HeatmapCalendarComponents.kt
  17. 11 11
      app/src/main/java/io/legado/app/ui/widget/components/importComponents/ImportComponents.kt
  18. 3 1
      app/src/main/java/io/legado/app/ui/widget/components/list/ListScaffold.kt
  19. 1 1
      app/src/main/java/io/legado/app/ui/widget/components/log/AppLogSheet.kt
  20. 1 1
      app/src/main/java/io/legado/app/ui/widget/components/log/CrashLogSheet.kt
  21. 120 2
      app/src/main/res/values-zh-rCN/strings.xml
  22. 804 0
      app/src/main/res/values-zh-rHK/strings.xml
  23. 805 0
      app/src/main/res/values-zh-rTW/strings.xml
  24. 114 0
      app/src/main/res/values/strings.xml

+ 2 - 2
app/src/main/java/io/legado/app/ui/book/readRecord/ReadRecordScreen.kt

@@ -75,7 +75,7 @@ import io.legado.app.ui.widget.components.button.AppIconButton
 import io.legado.app.ui.widget.components.card.GlassCard
 import io.legado.app.ui.widget.components.card.TextCard
 import io.legado.app.ui.widget.components.checkBox.CheckboxItem
-import io.legado.app.ui.widget.components.heatmap.HEATMAP_CALENDAR_TITLE
+import io.legado.app.ui.widget.components.heatmap.heatmapCalendarTitle
 import io.legado.app.ui.widget.components.heatmap.HeatmapCalendarEndAction
 import io.legado.app.ui.widget.components.heatmap.HeatmapCalendarStartAction
 import io.legado.app.ui.widget.components.heatmap.HeatmapConfig
@@ -368,7 +368,7 @@ fun ReadRecordScreen(
     AppModalBottomSheet(
         show = showCalendar,
         onDismissRequest = { showCalendar = false },
-        title = HEATMAP_CALENDAR_TITLE,
+        title = heatmapCalendarTitle(),
         startAction = {
             HeatmapCalendarStartAction(
                 currentMode = heatmapMode,

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/readRecord/component/ReadRecordHeatmap.kt

@@ -35,7 +35,7 @@ fun HeatmapCalendarSection(
             verticalAlignment = Alignment.CenterVertically
         ) {
             AppText(
-                text = HEATMAP_CALENDAR_TITLE,
+                text = heatmapCalendarTitle(),
                 style = LegadoTheme.typography.titleSmall,
                 color = LegadoTheme.colorScheme.onSurfaceVariant
             )

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/BookItem.kt

@@ -477,7 +477,7 @@ fun BookGroupItemList(
     val firstBookName = previewBooks.firstOrNull()?.book?.name
     val descAnnotated = if (firstBookName != null) {
         buildAnnotatedString {
-            append("最近阅读:")
+            append(stringResource(R.string.recently_read))
             withStyle(SpanStyle(fontWeight = FontWeight.Medium)) {
                 append(firstBookName)
             }

+ 19 - 19
app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfConfigSheet.kt

@@ -111,7 +111,7 @@ fun BookshelfConfigSheet(
                     PillDivider()
 
                     CompactDropdownSettingItem(
-                        title = "文件夹布局模式",
+                        title = stringResource(R.string.folder_layout_mode),
                         description = stringResource(if (isLandscape) R.string.screen_landscape else R.string.screen_portrait),
                         selectedValue = folderLayoutMode.toString(),
                         displayEntries = arrayOf(stringResource(R.string.layout_mode_list), stringResource(R.string.layout_mode_grid)),
@@ -157,7 +157,7 @@ fun BookshelfConfigSheet(
                             )
 
                             CompactSliderSettingItem(
-                                title = "列表封面宽度",
+                                title = stringResource(R.string.list_cover_width),
                                 value = BookshelfConfig.bookshelfListCoverWidth.toFloat(),
                                 valueRange = 40f..120f,
                                 steps = 80,
@@ -175,9 +175,9 @@ fun BookshelfConfigSheet(
                             verticalArrangement = Arrangement.spacedBy(8.dp)
                         ) {
                             CompactDropdownSettingItem(
-                                title = "文件夹列表样式",
+                                title = stringResource(R.string.folder_list_style),
                                 selectedValue = BookshelfConfig.bookshelfGroupListStyle.toString(),
-                                displayEntries = arrayOf("默认", "紧凑", "横排封面"),
+                                displayEntries = arrayOf(stringResource(R.string.group), stringResource(R.string.compact_list), stringResource(R.string.horizontal_cover_count)),
                                 entryValues = arrayOf("0", "1", "2"),
                                 onValueChange = {
                                     BookshelfConfig.bookshelfGroupListStyle = it.toInt()
@@ -185,7 +185,7 @@ fun BookshelfConfigSheet(
                             )
                             AnimatedVisibility(visible = BookshelfConfig.bookshelfGroupListStyle == 2) {
                                 CompactSliderSettingItem(
-                                    title = "横排封面数量",
+                                    title = stringResource(R.string.horizontal_cover_count),
                                     value = BookshelfConfig.bookshelfGroupCoverCount.toFloat(),
                                     valueRange = 1f..10f,
                                     steps = 9,
@@ -259,7 +259,7 @@ fun BookshelfConfigSheet(
                     )
 
                     CompactSliderSettingItem(
-                        title = "网格封面宽度",
+                        title = stringResource(R.string.grid_cover_width),
                         value = BookshelfConfig.bookshelfGridCoverWidth.toFloat(),
                         valueRange = 40f..150f,
                         steps = 110,
@@ -282,7 +282,7 @@ fun BookshelfConfigSheet(
                     )
 
                     CompactClickableSettingItem(
-                        title = "日间卡片背景颜色",
+                        title = stringResource(R.string.day_card_bg_color),
                         color = LegadoTheme.colorScheme.surface,
                         onClick = { showColorPicker = true },
                         trailingContent = {
@@ -303,7 +303,7 @@ fun BookshelfConfigSheet(
                     )
 
                     CompactClickableSettingItem(
-                        title = "夜间卡片背景颜色",
+                        title = stringResource(R.string.night_card_bg_color),
                         color = LegadoTheme.colorScheme.surface,
                         onClick = { showColorPickerDark = true },
                         trailingContent = {
@@ -324,7 +324,7 @@ fun BookshelfConfigSheet(
                     )
 
                     CompactSwitchSettingItem(
-                        title = "精简详情",
+                        title = stringResource(R.string.compact_details),
                         checked = BookshelfConfig.bookshelfLayoutCompact,
                         color = LegadoTheme.colorScheme.surface,
                         onCheckedChange = { BookshelfConfig.bookshelfLayoutCompact = it }
@@ -333,7 +333,7 @@ fun BookshelfConfigSheet(
                     val listColCount =
                         if (isLandscape) BookshelfConfig.bookshelfLayoutListLandscape else BookshelfConfig.bookshelfLayoutListPortrait
                     CompactSliderSettingItem(
-                        title = "列表封面宽度",
+                        title = stringResource(R.string.list_cover_width),
                         value = BookshelfConfig.bookshelfListCoverWidth.toFloat(),
                         valueRange = 40f..120f,
                         steps = 80,
@@ -353,7 +353,7 @@ fun BookshelfConfigSheet(
                     )
 
                     CompactSwitchSettingItem(
-                        title = "显示更多信息",
+                        title = stringResource(R.string.show_more_info),
                         checked = BookshelfConfig.showBookIntro,
                         color = LegadoTheme.colorScheme.surface,
                         onCheckedChange = { BookshelfConfig.showBookIntro = it }
@@ -364,7 +364,7 @@ fun BookshelfConfigSheet(
                             verticalArrangement = Arrangement.spacedBy(8.dp)
                         ) {
                             CompactSwitchSettingItem(
-                                title = "显示最新章节",
+                                title = stringResource(R.string.show_latest_chapter),
                                 checked = BookshelfConfig.bookshelfShowLatestChapter,
                                 color = LegadoTheme.colorScheme.surface,
                                 onCheckedChange = {
@@ -373,7 +373,7 @@ fun BookshelfConfigSheet(
                             )
 
                             CompactSwitchSettingItem(
-                                title = "显示简介",
+                                title = stringResource(R.string.show_synopsis),
                                 checked = BookshelfConfig.bookshelfShowIntro,
                                 color = LegadoTheme.colorScheme.surface,
                                 onCheckedChange = { BookshelfConfig.bookshelfShowIntro = it }
@@ -382,8 +382,8 @@ fun BookshelfConfigSheet(
                                 visible = BookshelfConfig.bookshelfShowIntro
                             ) {
                                 CompactSliderSettingItem(
-                                    title = "简介行数",
-                                    description = if (BookshelfConfig.bookshelfIntroMaxLines == 0) "显示全部简介" else "显示 ${BookshelfConfig.bookshelfIntroMaxLines} 行简介",
+                                    title = stringResource(R.string.synopsis_lines),
+                                    description = if (BookshelfConfig.bookshelfIntroMaxLines == 0) stringResource(R.string.show_all_synopsis) else stringResource(R.string.show_lines_synopsis, BookshelfConfig.bookshelfIntroMaxLines),
                                     value = BookshelfConfig.bookshelfIntroMaxLines.toFloat(),
                                     valueRange = 0f..10f,
                                     steps = 10,
@@ -393,7 +393,7 @@ fun BookshelfConfigSheet(
                                 )
                             }
                             CompactSwitchSettingItem(
-                                title = "显示标签",
+                                title = stringResource(R.string.show_tags),
                                 checked = BookshelfConfig.bookshelfShowTag,
                                 color = LegadoTheme.colorScheme.surface,
                                 onCheckedChange = { BookshelfConfig.bookshelfShowTag = it }
@@ -405,14 +405,14 @@ fun BookshelfConfigSheet(
                                     verticalArrangement = Arrangement.spacedBy(8.dp)
                                 ) {
                                     CompactSwitchSettingItem(
-                                        title = "自定义标签颜色",
+                                        title = stringResource(R.string.custom_tag_colors),
                                         checked = ThemeConfig.enableCustomTagColors,
                                         color = LegadoTheme.colorScheme.surface,
                                         onCheckedChange = { ThemeConfig.enableCustomTagColors = it }
                                     )
                                     AnimatedVisibility(visible = ThemeConfig.enableCustomTagColors) {
                                         CompactClickableSettingItem(
-                                            title = "管理标签颜色",
+                                            title = stringResource(R.string.manage_tag_colors),
                                             color = LegadoTheme.colorScheme.surface,
                                             onClick = { showLabelColorManage = true }
                                         )
@@ -442,7 +442,7 @@ fun BookshelfConfigSheet(
             )
 
             CompactSwitchSettingItem(
-                title = "搜索按钮优先打开筛选栏",
+                title = stringResource(R.string.search_filter_first),
                 checked = BookshelfConfig.bookshelfSearchActionDirectToSearch,
                 color = LegadoTheme.colorScheme.surface,
                 onCheckedChange = { BookshelfConfig.bookshelfSearchActionDirectToSearch = it }

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt

@@ -494,7 +494,7 @@ fun BookshelfScreen(
                                     leadingIcon = { Icon(Icons.Default.Link, null) }
                                 )
                                 RoundDropdownMenuItem(
-                                    text = "选择模式",
+                                    text = stringResource(R.string.selection_mode),
                                     onClick = {
                                         toggleEditMode()
                                         dismiss()

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/homepage/HomepageScreen.kt

@@ -496,7 +496,7 @@ private fun ModuleList(
                                                             )
 
                                                             AppText(
-                                                                text = "重试",
+                                                                text = stringResource(R.string.retry),
                                                                 color = LegadoTheme.colorScheme.error,
                                                                 style = LegadoTheme.typography.labelMedium
                                                             )

+ 12 - 12
app/src/main/java/io/legado/app/ui/replace/ReplaceRuleScreen.kt

@@ -287,7 +287,7 @@ fun ReplaceRuleScreen(
     )
 
     RuleListScaffold(
-        title = "替换规则",
+        title = stringResource(R.string.replace_purify),
         state = state,
         onBackClick = { onBackClick() },
         onSearchToggle = { onIntent(ReplaceRuleIntent.SetSearchMode(!state.isSearch)) },
@@ -357,39 +357,39 @@ fun ReplaceRuleScreen(
                 onClick = { showImportSheet = true; dismiss() }
             )
             RoundDropdownMenuItem(
-                text = "分组管理",
+                text = stringResource(R.string.group_management),
                 onClick = { showGroupManageSheet = true; dismiss() }
             )
             RoundDropdownMenuItem(
-                text = "帮助",
+                text = stringResource(R.string.help),
                 onClick = { /*TODO*/ dismiss() }
             )
             PillDivider()
             RoundDropdownMenuItem(
-                text = "旧的在前",
+                text = stringResource(R.string.sort_old_first),
                 onClick = { onIntent(ReplaceRuleIntent.SetSortMode("asc")); dismiss() }
             )
             RoundDropdownMenuItem(
-                text = "新的在前",
+                text = stringResource(R.string.sort_new_first),
                 onClick = { onIntent(ReplaceRuleIntent.SetSortMode("desc")); dismiss() }
             )
             RoundDropdownMenuItem(
-                text = "名称升序",
+                text = stringResource(R.string.sort_name_asc),
                 onClick = {
                     onIntent(ReplaceRuleIntent.SetSortMode("name_asc"))
                     dismiss()
                     scope.launch {
-                        snackbarHostState.showSnackbar("当前排序模式下禁用拖动")
+                        snackbarHostState.showSnackbar(context.getString(R.string.drag_disabled_in_sort_mode))
                     }
                 }
             )
             RoundDropdownMenuItem(
-                text = "名称降序",
+                text = stringResource(R.string.sort_name_desc),
                 onClick = {
                     onIntent(ReplaceRuleIntent.SetSortMode("name_desc"))
                     dismiss()
                     scope.launch {
-                        snackbarHostState.showSnackbar("当前排序模式下禁用拖动")
+                        snackbarHostState.showSnackbar(context.getString(R.string.drag_disabled_in_sort_mode))
                     }
                 }
             )
@@ -435,15 +435,15 @@ fun ReplaceRuleScreen(
                         modifier = Modifier,
                         dropdownContent = { dismiss ->
                             RoundDropdownMenuItem(
-                                text = "移至顶部",
+                                text = stringResource(R.string.move_to_top),
                                 onClick = { onIntent(ReplaceRuleIntent.ToTop(ui.rule)); dismiss() }
                             )
                             RoundDropdownMenuItem(
-                                text = "移至底部",
+                                text = stringResource(R.string.move_to_bottom),
                                 onClick = { onIntent(ReplaceRuleIntent.ToBottom(ui.rule)); dismiss() }
                             )
                             RoundDropdownMenuItem(
-                                text = "删除",
+                                text = stringResource(R.string.delete),
                                 onClick = { showDeleteRuleDialog = ui.rule; dismiss() }
                             )
                         }

+ 26 - 26
app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditScreen.kt

@@ -116,7 +116,7 @@ fun ReplaceEditScreen(
             .nestedScroll(scrollBehavior.nestedScrollConnection),
         topBar = {
             GlassMediumFlexibleTopAppBar(
-                title = if (state.id > 0) "编辑替换规则" else "新增替换规则",
+                title = stringResource(if (state.id > 0) R.string.edit_replace_rule else R.string.add_replace_rule),
                 navigationIcon = {
                     TopBarNavigationButton(onClick = onBack)
                 },
@@ -129,27 +129,27 @@ fun ReplaceEditScreen(
                         TopBarActionButton(
                             onClick = { onIntent(ReplaceEditIntent.Save) },
                             imageVector = Icons.Default.Save,
-                            contentDescription = "保存"
+                            contentDescription = stringResource(R.string.action_save)
                         )
                     }
                     TopBarActionButton(
                         onClick = { showMenu = true },
                         imageVector = Icons.Default.MoreVert,
-                        contentDescription = "更多操作"
+                        contentDescription = stringResource(R.string.more_actions)
                     )
                     RoundDropdownMenu(
                         expanded = showMenu,
                         onDismissRequest = { showMenu = false }
                     ) {
                         RoundDropdownMenuItem(
-                            text = "复制规则",
+                            text = stringResource(R.string.copy_rule),
                             onClick = {
                                 showMenu = false
                                 onIntent(ReplaceEditIntent.CopyRule)
                             }
                         )
                         RoundDropdownMenuItem(
-                            text = "粘贴规则",
+                            text = stringResource(R.string.paste_rule),
                             onClick = {
                                 showMenu = false
                                 onIntent(ReplaceEditIntent.PasteRule)
@@ -206,7 +206,7 @@ fun ReplaceEditScreen(
                 AppTextField(
                     value = state.name,
                     onValueChange = { onIntent(ReplaceEditIntent.OnNameChange(it)) },
-                    label = "规则名称",
+                    label = stringResource(R.string.rule_name),
                     modifier = Modifier
                         .fillMaxWidth()
                         .onFocusChanged {
@@ -225,8 +225,8 @@ fun ReplaceEditScreen(
                 AppTextField(
                     value = state.pattern,
                     onValueChange = { onIntent(ReplaceEditIntent.OnPatternChange(it)) },
-                    label = "匹配规则",
-                    placeholder = { AppText("输入正则表达式或关键字") },
+                    label = stringResource(R.string.match_pattern),
+                    placeholder = { AppText(stringResource(R.string.input_regex_or_keyword)) },
                     modifier = Modifier
                         .fillMaxWidth()
                         .onFocusChanged {
@@ -237,8 +237,8 @@ fun ReplaceEditScreen(
                 AppTextField(
                     value = state.replacement,
                     onValueChange = { onIntent(ReplaceEditIntent.OnReplacementChange(it)) },
-                    label = "替换为",
-                    placeholder = { AppText("输入替换内容或捕获组") },
+                    label = stringResource(R.string.replace_with),
+                    placeholder = { AppText(stringResource(R.string.input_replacement_or_group)) },
                     modifier = Modifier
                         .fillMaxWidth()
                         .onFocusChanged {
@@ -252,27 +252,27 @@ fun ReplaceEditScreen(
                     horizontalArrangement = Arrangement.Start
                 ) {
                     ToggleChip(
-                        label = "标题",
+                        label = stringResource(R.string.title),
                         selected = state.scopeTitle,
-                        checkedContentDescription = "已选择",
+                        checkedContentDescription = stringResource(R.string.title),
                         onToggle = { onIntent(ReplaceEditIntent.OnScopeTitleChange(!state.scopeTitle)) }
                     )
 
                     Spacer(Modifier.width(8.dp))
 
                     ToggleChip(
-                        label = "内容",
+                        label = stringResource(R.string.content),
                         selected = state.scopeContent,
-                        checkedContentDescription = "已选择",
+                        checkedContentDescription = stringResource(R.string.content),
                         onToggle = { onIntent(ReplaceEditIntent.OnScopeContentChange(!state.scopeContent)) }
                     )
 
                     Spacer(Modifier.weight(1f))
 
                     ToggleChip(
-                        label = "使用正则",
+                        label = stringResource(R.string.use_regex),
                         selected = state.isRegex,
-                        checkedContentDescription = "正则已启用",
+                        checkedContentDescription = stringResource(R.string.regex_enabled),
                         onToggle = { onIntent(ReplaceEditIntent.OnRegexChange(!state.isRegex)) }
                     )
 
@@ -281,8 +281,8 @@ fun ReplaceEditScreen(
                 AppTextField(
                     value = state.scope,
                     onValueChange = { onIntent(ReplaceEditIntent.OnScopeChange(it)) },
-                    label = "特定范围",
-                    placeholder = { AppText("指定规则适用的范围") },
+                    label = stringResource(R.string.specific_scope),
+                    placeholder = { AppText(stringResource(R.string.scope_hint)) },
                     modifier = Modifier
                         .fillMaxWidth()
                         .onFocusChanged {
@@ -293,8 +293,8 @@ fun ReplaceEditScreen(
                 AppTextField(
                     value = state.excludeScope,
                     onValueChange = { onIntent(ReplaceEditIntent.OnExcludeScopeChange(it)) },
-                    label = "排除范围",
-                    placeholder = { AppText("指定规则不适用的范围") },
+                    label = stringResource(R.string.exclude_scope),
+                    placeholder = { AppText(stringResource(R.string.exclude_scope_hint)) },
                     modifier = Modifier
                         .fillMaxWidth()
                         .onFocusChanged {
@@ -305,7 +305,7 @@ fun ReplaceEditScreen(
                 AppTextField(
                     value = state.timeout,
                     onValueChange = { onIntent(ReplaceEditIntent.OnTimeoutChange(it)) },
-                    label = "超时 (ms)",
+                    label = stringResource(R.string.timeout_ms),
                     placeholder = { AppText("3000") },
                     modifier = Modifier.fillMaxWidth()
                 )
@@ -344,7 +344,7 @@ fun GroupSelector(
             AppTextField(
                 value = currentGroup,
                 onValueChange = onGroupChange,
-                label = "分组",
+                label = stringResource(R.string.group),
                 placeholder = { AppText("默认") },
                 trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded) },
                 modifier = Modifier
@@ -388,10 +388,10 @@ fun ManageGroupDialog(
     AppAlertDialog(
         show = show,
         onDismissRequest = onDismiss,
-        title = "分组管理",
+        title = stringResource(R.string.group_management),
         content = {
             if (groups.isEmpty()) {
-                AppText("暂无其他分组")
+                AppText(stringResource(R.string.no_other_groups))
             } else {
                 Column(
                     modifier = Modifier.verticalScroll(rememberScrollState()),
@@ -414,11 +414,11 @@ fun ManageGroupDialog(
                 }
             }
         },
-        confirmText = "删除选中",
+        confirmText = stringResource(R.string.delete_selected),
         onConfirm = {
             onDelete(selectedGroups.toList())
         },
-        dismissText = "关闭",
+        dismissText = stringResource(R.string.close),
         onDismiss = onDismiss
     )
 }

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/favorites/RssFavoritesScreen.kt

@@ -185,7 +185,7 @@ fun RssFavoritesScreen(
                 contentAlignment = Alignment.Center
             ) {
                 EmptyMessage(
-                    message = "还没有收藏订阅!",
+                    message = stringResource(R.string.no_favorites_rss),
                     isLoading = state.isLoading
                 )
             }

+ 4 - 2
app/src/main/java/io/legado/app/ui/widget/components/JsonRawEditor.kt

@@ -11,9 +11,11 @@ import androidx.compose.material.icons.filled.Compress
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
 import com.google.gson.GsonBuilder
 import com.google.gson.JsonParser
+import io.legado.app.R
 import io.legado.app.ui.theme.LegadoTheme
 import io.legado.app.ui.widget.components.button.series.SmallPlainButton
 import io.legado.app.ui.widget.components.text.AppText
@@ -45,7 +47,7 @@ fun JsonRawEditor(
                         }
                     },
                     icon = Icons.Default.AutoFixHigh,
-                    contentDescription = "格式化"
+                    contentDescription = stringResource(R.string.format_json)
                 )
                 SmallPlainButton(
                     onClick = {
@@ -56,7 +58,7 @@ fun JsonRawEditor(
                         }
                     },
                     icon = Icons.Default.Compress,
-                    contentDescription = "压缩"
+                    contentDescription = stringResource(R.string.minify_json)
                 )
             }
         }

+ 11 - 9
app/src/main/java/io/legado/app/ui/widget/components/LoadMoreFooter.kt

@@ -26,8 +26,10 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
+import io.legado.app.R
 import io.legado.app.ui.theme.LegadoTheme
 import io.legado.app.ui.theme.adaptiveHorizontalPadding
 import io.legado.app.ui.widget.components.alert.AppAlertDialog
@@ -64,13 +66,13 @@ fun LoadMoreFooter(
     AppAlertDialog(
         data = showFullError,
         onDismissRequest = { showFullError = null },
-        title = "错误详情",
-        confirmText = "复制",
+        title = stringResource(R.string.error_details),
+        confirmText = stringResource(R.string.copy_text),
         onConfirm = { error ->
             context.sendToClip(error)
             showFullError = null
         },
-        dismissText = "关闭",
+        dismissText = stringResource(R.string.close),
         onDismiss = { showFullError = null },
         content = { error ->
             SelectionContainer {
@@ -160,7 +162,7 @@ fun LoadMoreFooter(
                                     )
 
                                     AppText(
-                                        text = "重新加载",
+                                        text = stringResource(R.string.reload),
                                         color = LegadoTheme.colorScheme.error,
                                         style = LegadoTheme.typography.labelMedium
                                     )
@@ -179,7 +181,7 @@ fun LoadMoreFooter(
                         AppContainedLoadingIndicator()
 
                         AppText(
-                            text = "正在加载…",
+                            text = stringResource(R.string.loading),
                             color = LegadoTheme.colorScheme.outline,
                             style = LegadoTheme.typography.bodySmall
                         )
@@ -206,7 +208,7 @@ fun LoadMoreFooter(
                                         tint = LegadoTheme.colorScheme.onSurface
                                     )
                                     AppText(
-                                        text = "已经到底了~",
+                                        text = stringResource(R.string.no_more_data),
                                         color = LegadoTheme.colorScheme.onSurface,
                                         style = LegadoTheme.typography.bodySmall,
                                         modifier = Modifier.weight(1f),
@@ -236,7 +238,7 @@ fun LoadMoreFooter(
                                             tint = LegadoTheme.colorScheme.primary
                                         )
                                         AppText(
-                                            text = "尝试加载下一页",
+                                            text = stringResource(R.string.load_next_page),
                                             color = LegadoTheme.colorScheme.primary,
                                             style = LegadoTheme.typography.labelMedium
                                         )
@@ -263,7 +265,7 @@ fun LoadMoreFooter(
                                         tint = LegadoTheme.colorScheme.onSurface
                                     )
                                     AppText(
-                                        text = "已经到底了~",
+                                        text = stringResource(R.string.no_more_data),
                                         color = LegadoTheme.colorScheme.onSurface,
                                         style = LegadoTheme.typography.bodySmall,
                                         modifier = Modifier.weight(1f),
@@ -304,7 +306,7 @@ fun LoadMoreFooter(
                                     )
 
                                     AppText(
-                                        text = "加载更多",
+                                        text = stringResource(R.string.load_more),
                                         color = LegadoTheme.colorScheme.onSurface,
                                         style = LegadoTheme.typography.bodySmall,
                                         modifier = Modifier.weight(1f),

+ 2 - 1
app/src/main/java/io/legado/app/ui/widget/components/dialog/TextListInputDialog.kt

@@ -19,6 +19,7 @@ import androidx.compose.runtime.remember
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
+import io.legado.app.R
 import androidx.compose.ui.unit.dp
 import io.legado.app.ui.theme.LegadoTheme
 import io.legado.app.ui.widget.components.AppTextField
@@ -57,7 +58,7 @@ fun TextListInputDialog(
                 if (suggestions.isNotEmpty()) {
                     Spacer(modifier = Modifier.height(8.dp))
                     AppText(
-                        text = "建议:",
+                        text = stringResource(R.string.suggestion_label),
                         style = LegadoTheme.typography.labelSmall,
                         modifier = Modifier.padding(bottom = 4.dp)
                     )

+ 5 - 3
app/src/main/java/io/legado/app/ui/widget/components/explore/ExploreKindMultiTypeItem.kt

@@ -25,8 +25,10 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalLayoutDirection
+import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.LayoutDirection
 import androidx.compose.ui.unit.dp
+import io.legado.app.R
 import io.legado.app.data.entities.rule.ExploreKind
 import io.legado.app.domain.usecase.ExploreKindUiUseCase
 import io.legado.app.ui.theme.LegadoTheme
@@ -166,13 +168,13 @@ fun ExploreKindMultiTypeItem(
     AppAlertDialog(
         data = showFullError,
         onDismissRequest = { showFullError = null },
-        title = "错误详情",
-        confirmText = "复制",
+        title = stringResource(R.string.error_details),
+        confirmText = stringResource(R.string.copy_text),
         onConfirm = { error ->
             context.sendToClip(error)
             showFullError = null
         },
-        dismissText = "关闭",
+        dismissText = stringResource(R.string.close),
         onDismiss = { showFullError = null },
         content = { error ->
             SelectionContainer {

+ 3 - 1
app/src/main/java/io/legado/app/ui/widget/components/explore/ExploreKindSelectSheet.kt

@@ -21,7 +21,9 @@ import androidx.compose.runtime.remember
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
+import io.legado.app.R
 import io.legado.app.data.entities.rule.ExploreKind
 import io.legado.app.data.repository.ExploreRepository
 import io.legado.app.domain.usecase.ExploreKindUiUseCase
@@ -92,7 +94,7 @@ fun ExploreKindSelectSheet(
                 query = query,
                 backgroundColor = LegadoTheme.colorScheme.onSheetContent,
                 onQueryChange = { query = it },
-                placeholder = "选择或搜索分类",
+                placeholder = stringResource(R.string.select_or_search_category),
                 autoFocus = false
             )
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/widget/components/filePicker/FilePickerSheet.kt

@@ -54,7 +54,7 @@ fun FilePickerSheet(
         onSelectSysFiles?.let {
             OptionCard(
                 icon = Icons.AutoMirrored.Filled.InsertDriveFile,
-                text = "多选项目",
+                text = stringResource(R.string.multi_select_items),
                 onClick = { it(typesOfExtensions(allowExtensions)) }
             )
         }

+ 19 - 8
app/src/main/java/io/legado/app/ui/widget/components/heatmap/HeatmapCalendarComponents.kt

@@ -35,6 +35,8 @@ import androidx.compose.ui.text.font.FontWeight
 import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
+import androidx.compose.ui.res.stringResource
+import io.legado.app.R
 import io.legado.app.ui.theme.LegadoTheme
 import io.legado.app.ui.widget.components.button.series.MediumOutlinedButton
 import io.legado.app.ui.widget.components.button.series.MediumToggleButton
@@ -44,7 +46,8 @@ import java.time.LocalDate
 /**
  * 热力图日历弹窗标题
  */
-const val HEATMAP_CALENDAR_TITLE = "时间线"
+@Composable
+fun heatmapCalendarTitle(): String = stringResource(R.string.timeline)
 
 /**
  * 热力图日历弹窗左侧操作
@@ -61,7 +64,7 @@ fun HeatmapCalendarStartAction(
         },
         icon = Icons.Default.FormatListNumbered,
         iconChecked = Icons.Default.AccessTime,
-        text = "按时长"
+        text = stringResource(R.string.by_duration)
     )
 }
 
@@ -91,7 +94,15 @@ fun WeekdayLabelsColumn(
         modifier = modifier
             .padding(top = 20.dp, end = 8.dp)
     ) {
-        val labels = listOf("一", "二", "三", "四", "五", "六", "日")
+        val labels = listOf(
+            stringResource(R.string.weekday_mon),
+            stringResource(R.string.weekday_tue),
+            stringResource(R.string.weekday_wed),
+            stringResource(R.string.weekday_thu),
+            stringResource(R.string.weekday_fri),
+            stringResource(R.string.weekday_sat),
+            stringResource(R.string.weekday_sun)
+        )
 
         labels.forEachIndexed { index, label ->
             if (index % 2 == 0) {
@@ -157,7 +168,7 @@ fun NoEarlierDataIndicator(
             horizontalAlignment = Alignment.CenterHorizontally,
             verticalArrangement = Arrangement.Center
         ) {
-            "没有更早数据".forEach { char ->
+            stringResource(R.string.no_earlier_data).forEach { char ->
                 AppText(
                     text = char.toString(),
                     fontSize = 9.sp,
@@ -241,7 +252,7 @@ fun HeatmapWeekColumn(
         // 月份标签
         if (firstDayOfMonth != null) {
             AppText(
-                text = "${firstDayOfMonth.monthValue}月",
+                text = stringResource(R.string.month_format, firstDayOfMonth.monthValue),
                 fontSize = 10.sp,
                 color = LegadoTheme.colorScheme.onSurfaceVariant,
                 modifier = Modifier
@@ -266,10 +277,10 @@ fun HeatmapLegend(
         horizontalArrangement = Arrangement.End,
         verticalAlignment = Alignment.CenterVertically
     ) {
-        val legendUnit = if (mode == HeatmapMode.COUNT) "次" else "长"
+        val legendUnit = if (mode == HeatmapMode.COUNT) stringResource(R.string.count_unit) else stringResource(R.string.duration_unit)
 
         AppText(
-            "少($legendUnit)",
+            stringResource(R.string.less_count) + legendUnit + ")",
             style = LegadoTheme.typography.bodySmall,
             color = Color.Gray
         )
@@ -287,7 +298,7 @@ fun HeatmapLegend(
         }
 
         AppText(
-            "多($legendUnit)",
+            stringResource(R.string.more_count) + legendUnit + ")",
             style = LegadoTheme.typography.bodySmall,
             color = Color.Gray
         )

+ 11 - 11
app/src/main/java/io/legado/app/ui/widget/components/importComponents/ImportComponents.kt

@@ -82,7 +82,7 @@ fun SourceInputDialog(
 
                 if (historyValues.isNotEmpty()) {
                     Spacer(modifier = Modifier.height(8.dp))
-                    AppText("历史记录:", style = LegadoTheme.typography.labelSmall)
+                    AppText(stringResource(R.string.history_label), style = LegadoTheme.typography.labelSmall)
                     LazyRow(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
                         items(historyValues) { history ->
                             AssistChip(
@@ -186,7 +186,7 @@ fun <T> BatchImportDialog(
                 SmallPlainButton(
                     onClick = { editingIndex = null },
                     icon = Icons.AutoMirrored.Filled.ArrowBack,
-                    contentDescription = "返回"
+                    contentDescription = stringResource(R.string.back)
                 )
             }
         } else {
@@ -199,7 +199,7 @@ fun <T> BatchImportDialog(
                     SmallPlainButton(
                         onClick = { onToggleAll(!allSelected) },
                         icon = Icons.Default.SelectAll,
-                        contentDescription = if (allSelected) "全不选" else "全选"
+                        contentDescription = stringResource(if (allSelected) R.string.deselect_all else R.string.select_all)
                     )
                 }
             }
@@ -254,8 +254,8 @@ fun <T> BatchImportDialog(
                 val selectedData = currentState.items.filter { it.isSelected }.map { it.data }
                 onConfirm(selectedData)
             },
-            dismissText = "取消",
-            confirmText = "导入",
+            dismissText = stringResource(R.string.dialog_cancel),
+            confirmText = stringResource(R.string.import_action),
             confirmEnabled = selectedCount > 0
         )
     }
@@ -271,7 +271,7 @@ private fun <T> BatchImportJsonEditContent(
     val jsonObject = remember(version) { data.toImportJsonObject() }
 
     if (jsonObject == null) {
-        AppText("不支持编辑")
+        AppText(stringResource(R.string.edit_not_supported))
         return
     }
 
@@ -356,10 +356,10 @@ fun ImportItemRow(
         trailingAction = {
             AppText(
                 text = when (status) {
-                    ImportStatus.New -> "新增"
-                    ImportStatus.Update -> "更新"
-                    ImportStatus.Existing -> "已有"
-                    ImportStatus.Error -> "错误"
+                    ImportStatus.New -> stringResource(R.string.import_status_new)
+                    ImportStatus.Update -> stringResource(R.string.import_status_update)
+                    ImportStatus.Existing -> stringResource(R.string.import_status_existing)
+                    ImportStatus.Error -> stringResource(R.string.import_status_error)
                 },
                 style = LegadoTheme.typography.labelMedium,
                 color = when (status) {
@@ -374,7 +374,7 @@ fun ImportItemRow(
             SmallPlainButton(
                 onClick = onInfoClick,
                 icon = Icons.Default.Info,
-                contentDescription = "详情"
+                contentDescription = stringResource(R.string.details)
             )
         }
     )

+ 3 - 1
app/src/main/java/io/legado/app/ui/widget/components/list/ListScaffold.kt

@@ -27,8 +27,10 @@ import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.vector.ImageVector
 import androidx.compose.ui.input.nestedscroll.nestedScroll
+import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.zIndex
+import io.legado.app.R
 import io.legado.app.ui.widget.components.AppFloatingActionButton
 import io.legado.app.ui.widget.components.AppScaffold
 import io.legado.app.ui.widget.components.SelectionActions
@@ -66,7 +68,7 @@ fun <T> ListScaffold(
                     visible = state.selectedIds.isEmpty(),
                     alignment = Alignment.BottomEnd,
                 ),
-                tooltipText = "添加",
+                tooltipText = stringResource(R.string.add),
                 icon = Icons.Default.Add
             )
         }

+ 1 - 1
app/src/main/java/io/legado/app/ui/widget/components/log/AppLogSheet.kt

@@ -54,7 +54,7 @@ fun AppLogSheet(
         }
     ) {
         if (logs.isEmpty()) {
-            EmptyMessage(message = "暂无日志")
+            EmptyMessage(message = stringResource(R.string.no_logs))
         } else {
             LazyColumn(
                 modifier = Modifier.fillMaxWidth(),

+ 1 - 1
app/src/main/java/io/legado/app/ui/widget/components/log/CrashLogSheet.kt

@@ -42,7 +42,7 @@ fun CrashLogSheet(
         title = stringResource(R.string.crash_log),
     ) {
         if (logFiles.isEmpty()) {
-            EmptyMessage(message = "暂无崩溃日志")
+            EmptyMessage(message = stringResource(R.string.no_crash_logs))
         } else {
             LazyColumn(
                 modifier = Modifier.fillMaxWidth(),

+ 120 - 2
app/src/main/res/values-zh-rCN/strings.xml

@@ -1,4 +1,4 @@
-<resources>
+<resources>
     <!--App-->
     <string name="app_name">阅读</string>
     <string name="app_name_a">阅读·A</string>
@@ -2074,4 +2074,122 @@
     <string name="tag_group_rules">标签分组规则</string>
     <string name="tag_group_sync_complete">分组同步完成</string>
     <string name="import_tag_group_rule">导入分组规则</string>
-</resources>
+
+    <!-- Compose UI extracted strings -->
+    <string name="edit_replace_rule">编辑替换规则</string>
+    <string name="more_actions">更多操作</string>
+    <string name="match_pattern">匹配规则</string>
+    <string name="input_regex_or_keyword">输入正则表达式或关键字</string>
+    <string name="replace_with">替换为</string>
+    <string name="input_replacement_or_group">输入替换内容或捕获组</string>
+    <string name="regex_enabled">正则已启用</string>
+    <string name="specific_scope">特定范围</string>
+    <string name="scope_hint">指定规则适用的范围</string>
+    <string name="exclude_scope">排除范围</string>
+    <string name="exclude_scope_hint">指定规则不适用的范围</string>
+    <string name="timeout_ms">超时 (ms)</string>
+    <string name="group_management">分组管理</string>
+    <string name="no_other_groups">暂无其他分组</string>
+    <string name="delete_selected">删除选中</string>
+    <string name="sort_old_first">旧的在前</string>
+    <string name="sort_new_first">新的在前</string>
+    <string name="drag_disabled_in_sort_mode">当前排序模式下禁用拖动</string>
+    <string name="selection_mode">选择模式</string>
+    <string name="folder_layout_mode">文件夹布局模式</string>
+    <string name="list_cover_width">列表封面宽度</string>
+    <string name="folder_list_style">文件夹列表样式</string>
+    <string name="horizontal_cover_count">横排封面数量</string>
+    <string name="grid_cover_width">网格封面宽度</string>
+    <string name="day_card_bg_color">日间卡片背景颜色</string>
+    <string name="night_card_bg_color">夜间卡片背景颜色</string>
+    <string name="compact_details">精简详情</string>
+    <string name="show_more_info">显示更多信息</string>
+    <string name="show_latest_chapter">显示最新章节</string>
+    <string name="show_synopsis">显示简介</string>
+    <string name="synopsis_lines">简介行数</string>
+    <string name="show_all_synopsis">显示全部简介</string>
+    <string name="show_lines_synopsis">显示 %1$d 行简介</string>
+    <string name="show_tags">显示标签</string>
+    <string name="custom_tag_colors">自定义标签颜色</string>
+    <string name="manage_tag_colors">管理标签颜色</string>
+    <string name="search_filter_first">搜索按钮优先打开筛选栏</string>
+    <string name="import_from_network">网络导入</string>
+    <string name="input_url_or_json_hint">请输入 URL 或 JSON</string>
+    <string name="history_label">历史记录:</string>
+    <string name="deselect_all">全不选</string>
+    <string name="import_action">导入</string>
+    <string name="edit_not_supported">不支持编辑</string>
+    <string name="import_status_new">新增</string>
+    <string name="import_status_update">更新</string>
+    <string name="import_status_existing">已有</string>
+    <string name="import_status_error">错误</string>
+    <string name="details">详情</string>
+    <string name="error_details">错误详情</string>
+    <string name="reload">重新加载</string>
+    <string name="no_more_data">已经到底了~</string>
+    <string name="load_next_page">尝试加载下一页</string>
+    <string name="load_more">加载更多</string>
+    <string name="timeline">时间线</string>
+    <string name="by_duration">按时长</string>
+    <string name="no_earlier_data">没有更早数据</string>
+    <string name="month_format">%1$d月</string>
+    <string name="count_unit">次</string>
+    <string name="duration_unit">长</string>
+    <string name="less_count">少(</string>
+    <string name="more_count">多(</string>
+    <string name="format_json">格式化</string>
+    <string name="minify_json">压缩</string>
+    <string name="no_logs">暂无日志</string>
+    <string name="no_crash_logs">暂无崩溃日志</string>
+    <string name="select_or_search_category">选择或搜索分类</string>
+    <string name="multi_select_items">多选项目</string>
+    <string name="recently_read">最近阅读:</string>
+    <string name="no_favorites_rss">还没有收藏订阅!</string>
+    <string name="suggestion_label">建议:</string>
+    <string name="weekday_mon">一</string>
+    <string name="weekday_tue">二</string>
+    <string name="weekday_wed">三</string>
+    <string name="weekday_thu">四</string>
+    <string name="weekday_fri">五</string>
+    <string name="weekday_sat">六</string>
+    <string name="weekday_sun">日</string>
+    <string name="saved_to_album">已保存到相册</string>
+    <string name="save_image_failed">保存图片失败</string>
+    <string name="add_book_failed">添加书籍失败</string>
+    <string name="data_empty">数据不能为空</string>
+    <string name="data_must_be_json">数据必须为Json格式</string>
+    <string name="source_conversion_failed">转换源失败</string>
+    <string name="debug_finished">调试结束</string>
+    <string name="save_failed">保存失败</string>
+    <string name="book_not_found">未找到书籍</string>
+    <string name="source_not_exist">书源不存在</string>
+    <string name="sync_complete">同步完成</string>
+    <string name="clear_cache_error">清理缓存出错</string>
+    <string name="upload_success">上传成功</string>
+    <string name="save_error">保存出错</string>
+    <string name="auto_change_source_failed">自动换源失败</string>
+    <string name="group_name_empty">分组名称不能为空</string>
+    <string name="cover_reset">封面已重置</string>
+    <string name="rule_copied_to_clipboard">规则已复制到剪贴板</string>
+    <string name="login_error">登录出错</string>
+    <string name="read_aloud_timer_format">朗读定时 %1$d 分钟</string>
+    <string name="audio_focus_not_acquired">未获取到音频焦点</string>
+    <string name="source_already_checking">已有书源在校验,等完成后再试</string>
+    <string name="check_timeout">校验超时</string>
+    <string name="js_disabled">js失效</string>
+    <string name="website_disabled">网站失效</string>
+    <string name="search_rule_empty">搜索链接规则为空</string>
+    <string name="search_disabled">搜索失效</string>
+    <string name="explore_rule_empty">发现规则为空</string>
+    <string name="explore_disabled">发现失效</string>
+    <string name="content_disabled_format">%1$s正文失效</string>
+    <string name="toc_disabled_format">%1$s目录失效</string>
+    <string name="read_aloud_consecutive_errors">TTS服务器连续5次错误,已暂停阅读。</string>
+    <string name="export_complete">导出完成</string>
+    <string name="download_no_storage_permission">下载出错,没有存储权限</string>
+    <string name="already_in_download_list">已在下载列表</string>
+    <string name="custom_button">自定义按钮</string>
+    <string name="is_event_listener">EventListener</string>
+    <string name="rule_call_back">callBackJs</string>
+    <!-- Missing zh-rTW/HK translations (683 keys) -->
+</resources>

+ 804 - 0
app/src/main/res/values-zh-rHK/strings.xml

@@ -1380,4 +1380,808 @@
     <string name="homepage_status_in_effect"> · 當前生效</string>
     <string name="homepage_status_blocked"> · 已被屏蔽</string>
     <string name="homepage_status_joined"> · 已加入</string>
+    <string name="abi_arm64_v8a">ABI: arm64-v8a</string>
+    <string name="about_backup_dir_not_set">請先設定備份目錄</string>
+    <string name="about_current_version">已安裝版本</string>
+    <string name="about_disclaimer_title">免責聲明</string>
+    <string name="about_download_info_incomplete">更新下載資訊不完整</string>
+    <string name="about_heap_dump_creating">正在建立堆轉儲…</string>
+    <string name="about_heap_dump_not_found">找不到堆轉儲檔案</string>
+    <string name="about_heap_dump_recording_disabled">堆轉儲記錄已關閉。請先在其它設定中開啟。</string>
+    <string name="about_installed_version_title">已安裝版本</string>
+    <string name="about_license_title">開源許可</string>
+    <string name="about_log_recording_disabled">日誌記錄已關閉。請先在其它設定中開啟。</string>
+    <string name="about_new_version">最新版本</string>
+    <string name="about_no_data">暫無更新日誌</string>
+    <string name="about_privacy_policy_title">私隱政策</string>
+    <string name="about_saved_to_backup_dir">已儲存至備份資料夾</string>
+    <string name="about_start_download">正在下載 %1$s</string>
+    <string name="about_update_action">下載更新</string>
+    <string name="about_update_channel">發佈渠道</string>
+    <string name="adapt_special_style">適配特殊樣式</string>
+    <string name="add_as_new_book">添加為新書</string>
+    <string name="add_book_failed">添加書籍失敗</string>
+    <string name="add_regex_rule">添加正則規則</string>
+    <string name="add_tag">添加標籤</string>
+    <string name="ai_add_model_manually">手動添加模型</string>
+    <string name="ai_advanced">進階設定</string>
+    <string name="ai_api_key">API Key</string>
+    <string name="ai_api_key_summary">儲存在本機。留空則保留已儲存的金鑰。</string>
+    <string name="ai_assistant">助手</string>
+    <string name="ai_base_url">Base URL</string>
+    <string name="ai_book_results">相關書籍</string>
+    <string name="ai_chapter_summary">章節摘要</string>
+    <string name="ai_chat">AI 聊天</string>
+    <string name="ai_chat_empty">開始對話</string>
+    <string name="ai_chat_input_hint">輸入任何問題…</string>
+    <string name="ai_concurrent_requests">並發請求數</string>
+    <string name="ai_config">AI 設定</string>
+    <string name="ai_context_window">上下文窗口</string>
+    <string name="ai_current">目前</string>
+    <string name="ai_current_model">目前模型</string>
+    <string name="ai_current_provider">目前供應商</string>
+    <string name="ai_current_value">目前:%1$s</string>
+    <string name="ai_custom_provider">自訂供應商</string>
+    <string name="ai_fetch_and_save_models">獲取並儲存模型</string>
+    <string name="ai_fetch_models">獲取模型</string>
+    <string name="ai_max_input_chars">最大輸入字元數</string>
+    <string name="ai_max_output_tokens">最大輸出 Token 數</string>
+    <string name="ai_model_actions">操作</string>
+    <string name="ai_model_config">模型</string>
+    <string name="ai_model_database">模型</string>
+    <string name="ai_model_edit">模型設定</string>
+    <string name="ai_model_id">模型 ID</string>
+    <string name="ai_model_name">模型名稱</string>
+    <string name="ai_model_not_configured">未設定模型</string>
+    <string name="ai_models_url">Models URL</string>
+    <string name="ai_models_url_summary">選填。留空則使用協議預設的模型端點。</string>
+    <string name="ai_new_chat">新對話</string>
+    <string name="ai_new_model">新模型</string>
+    <string name="ai_new_profile">新設定檔</string>
+    <string name="ai_new_provider">新供應商</string>
+    <string name="ai_new_skill">新技能</string>
+    <string name="ai_no_models_imported">未匯入模型</string>
+    <string name="ai_no_provider_configured">請先建立供應商</string>
+    <string name="ai_not_set">未設定</string>
+    <string name="ai_profile_counts">供應商:%1$d,模型:%2$d,預設:%3$d</string>
+    <string name="ai_profile_database">設定檔</string>
+    <string name="ai_profile_status">設定檔</string>
+    <string name="ai_protocol">協議</string>
+    <string name="ai_provider">供應商</string>
+    <string name="ai_provider_database">供應商</string>
+    <string name="ai_provider_edit">供應商設定</string>
+    <string name="ai_provider_models">供應商模型</string>
+    <string name="ai_provider_name">供應商名稱</string>
+    <string name="ai_provider_preset">供應商預設</string>
+    <string name="ai_reasoning_done">已思考</string>
+    <string name="ai_reasoning_streaming">思考中</string>
+    <string name="ai_reasoning_trace">推理</string>
+    <string name="ai_recent_chats">最近對話</string>
+    <string name="ai_regenerate">重新生成</string>
+    <string name="ai_replying">AI 正在回覆…</string>
+    <string name="ai_retry_count">重試次數</string>
+    <string name="ai_save_and_sync_models">儲存並同步模型</string>
+    <string name="ai_save_default_model">儲存預設模型</string>
+    <string name="ai_save_model">儲存模型</string>
+    <string name="ai_save_profile">儲存預設設定檔</string>
+    <string name="ai_save_provider">儲存供應商</string>
+    <string name="ai_scroll_to_bottom">滾動到底部</string>
+    <string name="ai_select_model">選擇模型</string>
+    <string name="ai_send">發送</string>
+    <string name="ai_skills">技能</string>
+    <string name="ai_tasks">任務</string>
+    <string name="ai_temperature">Temperature</string>
+    <string name="ai_test_connection">測試連線</string>
+    <string name="ai_thinking_auto">自動</string>
+    <string name="ai_thinking_collapse">收起</string>
+    <string name="ai_thinking_deep">深度</string>
+    <string name="ai_thinking_mode">思考模式</string>
+    <string name="ai_thinking_off">關閉</string>
+    <string name="ai_thinking_seconds">思考 %.1f 秒</string>
+    <string name="ai_thinking_show_more">顯示多 %d 個步驟</string>
+    <string name="ai_thinking_strength">強度</string>
+    <string name="ai_tool_confirmation">確認工具操作</string>
+    <string name="ai_tool_done">完成</string>
+    <string name="ai_tool_input">輸入:</string>
+    <string name="ai_tool_output">輸出:</string>
+    <string name="ai_tool_pending">等待中</string>
+    <string name="ai_tool_running">執行中</string>
+    <string name="ai_tool_trace">工具</string>
+    <string name="ai_translation_target_language">目標語言</string>
+    <string name="ai_translation_task">翻譯任務</string>
+    <string name="ai_you">你</string>
+    <string name="all_chapters_cached">所有章節已緩存</string>
+    <string name="already_in_download_list">已在下載列表中</string>
+    <string name="ascending_order">升序</string>
+    <string name="audio_cache_clean_time">音頻緩存保留時間(分鐘)</string>
+    <string name="audio_cache_clean_time_summary">目前:%1$d。輸入 0 則退出時立即清除。</string>
+    <string name="audio_focus_not_acquired">未能獲取音頻焦點</string>
+    <string name="author_read">%1$s • %2$d 未讀</string>
+    <string name="auto_change_source_failed">自動換源失敗</string>
+    <string name="autobackup_fail">自動備份失敗
+%s</string>
+    <string name="background_permission">背景權限</string>
+    <string name="backup_error">備份失敗</string>
+    <string name="be_swiped">頁面仍可滑動</string>
+    <string name="bg_fit_crop">中央裁剪</string>
+    <string name="bg_fit_stretch">拉伸</string>
+    <string name="bg_fit_tile">平鋪</string>
+    <string name="bg_image_fit">背景適配</string>
+    <string name="book_added_to_shelf">書籍已加入書架</string>
+    <string name="book_not_found">找不到書籍</string>
+    <string name="book_remark">書籍別名</string>
+    <string name="book_type_audio">有聲</string>
+    <string name="book_type_image">圖漫</string>
+    <string name="book_type_label">書籍類型</string>
+    <string name="book_type_text">文字</string>
+    <string name="bookmark_management">書籤管理</string>
+    <string name="bookmarks_added_count">已添加 %1$d 個書籤</string>
+    <string name="bookshelf_update_limit">書架更新限制</string>
+    <string name="brightness_bar_horizontal">橫向</string>
+    <string name="brightness_bar_left">左側</string>
+    <string name="brightness_bar_off">關閉</string>
+    <string name="brightness_bar_position">亮度條位置</string>
+    <string name="brightness_bar_right">右側</string>
+    <string name="brightness_bar_vertical">縱向</string>
+    <string name="brightness_follow_system">跟隨系統</string>
+    <string name="by_duration">按時長</string>
+    <string name="cache_book_threads_num_summary">控制離線書籍緩存的並發章節下載數。數值過大可能增加記憶體不足風險</string>
+    <string name="cache_book_threads_num_title">緩存下載執行緒數</string>
+    <string name="cache_download_failed">緩存失敗:%1$s</string>
+    <string name="cache_size_mb">%1$.1f MB</string>
+    <string name="cancel_select">取消選擇</string>
+    <string name="cannot_open_url">無法直接打開此 URL</string>
+    <string name="change_icon_success">圖標已更新</string>
+    <string name="change_source_option_title">選擇操作</string>
+    <string name="check_timeout">校驗超時</string>
+    <string name="checking_update">正在檢查更新…</string>
+    <string name="clear_all">清除全部</string>
+    <string name="clear_cache_error">清除緩存出錯</string>
+    <string name="clear_translation_cache">清除緩存</string>
+    <string name="click_image_way">點擊圖片操作</string>
+    <string name="click_to_delete">點擊刪除或更換</string>
+    <string name="click_to_select">點擊選擇</string>
+    <string name="clipboard_empty">剪貼簿為空</string>
+    <string name="clipboard_empty_or_invalid">剪貼簿為空或格式無效</string>
+    <string name="coll_volume">收起全部卷</string>
+    <string name="collapse">收起</string>
+    <string name="color_temperature">色溫</string>
+    <string name="color_temperature_summary">目前色溫:%1$d</string>
+    <string name="color_value">顏色值</string>
+    <string name="compact_details">緊湊詳情</string>
+    <string name="compact_grid">緊湊網格</string>
+    <string name="compact_list">緊湊列表</string>
+    <string name="complete_required_information">填寫所有必填資訊</string>
+    <string name="compose_engine">主題樣式</string>
+    <string name="compose_related">Compose 相關</string>
+    <string name="config_btn">配置底部按鈕</string>
+    <string name="confirm_skip_to_chapter">跳轉到此章節?</string>
+    <string name="container_background_color">容器背景色</string>
+    <string name="container_opacity">容器不透明度</string>
+    <string name="container_opacity_summary">%d</string>
+    <string name="content_disabled_format">%1$s 正文已禁用</string>
+    <string name="contrast_source_manual_summary">來源:手動輸入</string>
+    <string name="contrast_source_system_summary">來源:系統對比度</string>
+    <string name="copy_from">從剪貼簿導入</string>
+    <string name="count_unit">次</string>
+    <string name="cover_cache">封面緩存</string>
+    <string name="cover_grid">封面網格</string>
+    <string name="cover_reset">重置封面</string>
+    <string name="cover_rule_fields_required">搜索 URL 和封面規則不能為空</string>
+    <string name="cover_selected_images_count">已選擇 %1$d 張圖片</string>
+    <string name="cover_show_shadow">顯示字體陰影</string>
+    <string name="cover_show_stroke">顯示字體描邊</string>
+    <string name="cover_url">封面 URL</string>
+    <string name="current_effective_contrast">目前有效值:%1$s</string>
+    <string name="custom">自訂</string>
+    <string name="custom_button">自訂按鈕</string>
+    <string name="custom_mode">自訂模式</string>
+    <string name="custom_regex">自訂規則</string>
+    <string name="custom_regex_rule">自訂正則規則</string>
+    <string name="custom_tag_colors">自訂標籤顏色</string>
+    <string name="custom_theme">自訂主題</string>
+    <string name="custom_theme_colors">自訂顏色</string>
+    <string name="dark_mode">深色模式</string>
+    <string name="data_empty">資料不能為空</string>
+    <string name="data_must_be_json">資料必須為 JSON 格式</string>
+    <string name="day_card_bg_color">白天卡片背景色</string>
+    <string name="day_night_switch">日/夜模式切換</string>
+    <string name="debug_finished">調試完成</string>
+    <string name="default_color">使用預設字體顏色</string>
+    <string name="delay_book_load">延遲書籍載入</string>
+    <string name="delete_selected">刪除所選</string>
+    <string name="delete_translation_cache">刪除翻譯緩存</string>
+    <string name="descending_order">降序</string>
+    <string name="deselect_all">取消全選</string>
+    <string name="details">詳情</string>
+    <string name="disable_horizontal_animation">關閉橫向滾動動畫</string>
+    <string name="disable_manga_scroll_animation">關閉翻頁動畫</string>
+    <string name="dotted_line_black">線段長度</string>
+    <string name="dotted_line_while">間隔長度</string>
+    <string name="download_cache_config">下載與緩存</string>
+    <string name="download_link">下載連結</string>
+    <string name="download_no_storage_permission">下載失敗:沒有存儲權限</string>
+    <string name="download_selected_count">下載所選(%1$d)</string>
+    <string name="download_setting">下載</string>
+    <string name="drag_disabled_in_sort_mode">此排序模式下禁用拖拽</string>
+    <string name="duration_unit">時長</string>
+    <string name="dynamic_colors">動態顏色</string>
+    <string name="edit_not_supported">不支援編輯</string>
+    <string name="edit_remark">編輯備註</string>
+    <string name="edit_replace_rule">編輯替換規則</string>
+    <string name="edit_rule">編輯規則</string>
+    <string name="edit_tag">編輯標籤</string>
+    <string name="empty_directory_input">目錄路徑不能為空</string>
+    <string name="enable_manga_gray">灰階模式</string>
+    <string name="enable_rule">啟用規則</string>
+    <string name="enable_select_vibrator">選擇文字時震動</string>
+    <string name="enable_slider_vibrator">滑動進度條時震動</string>
+    <string name="end_chapter">結束章節</string>
+    <string name="enter_directory_path">輸入目錄路徑</string>
+    <string name="epi_3">第 3 期</string>
+    <string name="error_details">錯誤詳情</string>
+    <string name="exclude_scope">排除範圍</string>
+    <string name="exclude_scope_hint">指定要排除的範圍</string>
+    <string name="expand">展開</string>
+    <string name="expand_volume">展開全部卷</string>
+    <string name="explore_disabled">發現已禁用</string>
+    <string name="explore_rule_empty">發現規則為空</string>
+    <string name="export_bookmarks_json">匯出書籤為 JSON</string>
+    <string name="export_bookmarks_markdown">匯出書籤為 Markdown</string>
+    <string name="export_complete">匯出完成</string>
+    <string name="export_file_name_template_help">可用變數:{name} 書名、{author} 作者、{group} 分組、{source} 來源、{remark} 備註。
+
+範例:{name} - {author}
+結果:三體 - 劉慈欣
+
+可在變數前後加入固定文字。</string>
+    <string name="export_file_name_template_hint">{name} - {author}</string>
+    <string name="eye_protection">護眼模式</string>
+    <string name="eye_protection_enabled">啟用護眼模式</string>
+    <string name="eye_protection_enabled_summary">透過暖色調減少藍光</string>
+    <string name="eye_protection_end_time">結束時間</string>
+    <string name="eye_protection_schedule">定時啟用</string>
+    <string name="eye_protection_schedule_summary">僅在設定的時間範圍內啟用</string>
+    <string name="eye_protection_start_time">開始時間</string>
+    <string name="filter_hide_in_shelf">隱藏書架中同源書籍</string>
+    <string name="filter_hide_same_name_author">隱藏書架中不同源書籍</string>
+    <string name="filter_show_all">顯示全部</string>
+    <string name="filter_show_not_in_shelf_only">僅顯示不在書架中的書籍</string>
+    <string name="firebase_enable_summary">允許應用使用 Google Firebase 進行崩潰和效能報告</string>
+    <string name="firebase_enable_title">匿名統計</string>
+    <string name="first_read">請先閱讀服務條款和用戶協議</string>
+    <string name="fixed_book_type">鎖定書籍類型</string>
+    <string name="fixed_book_type_summary">書籍更新時不覆蓋書籍類型</string>
+    <string name="floating_bottom_bar">懸浮底部導航欄</string>
+    <string name="floating_bottom_bar_liquid_glass">液態玻璃效果</string>
+    <string name="floating_bottom_bar_liquid_glass_summary">為懸浮導航欄啟用液態玻璃高亮效果。需要模糊和 Android 13+</string>
+    <string name="floating_bottom_bar_summary">使用分離的膠囊樣式作為底部導航欄</string>
+    <string name="folder_layout_mode">資料夾佈局模式</string>
+    <string name="folder_list_style">資料夾列表樣式</string>
+    <string name="follow_read_background">跟隨背景</string>
+    <string name="format_json">格式化</string>
+    <string name="found_cloud_progress">找到雲端進度,是否恢復?</string>
+    <string name="global_read_setting">閲讀顯示 • 漫畫</string>
+    <string name="global_setting">全局設定</string>
+    <string name="grid">網格</string>
+    <string name="grid_cover_width">網格封面寬度</string>
+    <string name="group_add">新建分組</string>
+    <string name="group_management">分組管理</string>
+    <string name="group_name_empty">分組名稱不能為空</string>
+    <string name="hide_all">隱藏全部</string>
+    <string name="hide_password">隱藏密碼</string>
+    <string name="highlight_bg_image">背景圖片</string>
+    <string name="highlight_bg_image_scale">圖片縮放</string>
+    <string name="highlight_rule_config">高亮規則</string>
+    <string name="highlight_tag_add_rule">添加規則</string>
+    <string name="highlight_tag_config">標籤規則</string>
+    <string name="highlight_tag_display_mode">顯示模式</string>
+    <string name="highlight_tag_edit_rule">編輯規則</string>
+    <string name="highlight_tag_empty_hint">未設定高亮標籤規則。添加規則以在書籍詳情頁面高亮特定標籤。</string>
+    <string name="highlight_tag_mode_horizontal">橫向</string>
+    <string name="highlight_tag_mode_vertical">縱向</string>
+    <string name="highlight_tag_pattern">正則表達式</string>
+    <string name="highlight_tag_pattern_hint">正則表達式(例如 (\\d+)字)</string>
+    <string name="highlight_tag_test_area">測試</string>
+    <string name="highlight_tag_test_button">測試匹配</string>
+    <string name="highlight_tag_test_error">錯誤:%1$s</string>
+    <string name="highlight_tag_test_input_hint">輸入測試文字</string>
+    <string name="highlight_tag_test_match">匹配:%1$s</string>
+    <string name="highlight_tag_test_match_vertical">匹配:%1$s | %2$s</string>
+    <string name="highlight_tag_test_no_match">未匹配</string>
+    <string name="highlight_tag_title">標題</string>
+    <string name="highlight_tag_title_hint">標題(選填)</string>
+    <string name="history_label">歷史:</string>
+    <string name="homepage_n_selected">已選 %1$d</string>
+    <string name="homepage_select_from_kinds">從分類中選擇</string>
+    <string name="homepage_select_multiple_kinds">選擇多個分類</string>
+    <string name="homepage_select_one_kind">選擇一個分類</string>
+    <string name="horizontal_cover_count">橫向封面數量</string>
+    <string name="http_cache">HTTP 緩存</string>
+    <string name="image_cache">圖片緩存</string>
+    <string name="image_style_full">全屏</string>
+    <string name="image_style_single">單頁</string>
+    <string name="image_style_text">文字貼合</string>
+    <string name="import_action">匯入</string>
+    <string name="import_from_network">從網路匯入</string>
+    <string name="import_highlight_tag_rule">匯入標籤規則</string>
+    <string name="import_status_error">錯誤</string>
+    <string name="import_status_existing">已存在</string>
+    <string name="import_status_new">新增</string>
+    <string name="import_status_update">更新</string>
+    <string name="import_tag_group_rule">匯入標籤分組規則</string>
+    <string name="input">輸入</string>
+    <string name="input_regex_or_keyword">輸入正則或關鍵字</string>
+    <string name="input_regex_pattern">輸入正則表達式</string>
+    <string name="input_replacement_or_group">輸入替換內容或捕獲組</string>
+    <string name="input_url_or_json_hint">輸入 URL 或 JSON</string>
+    <string name="invalid_directory">無效的目錄路徑</string>
+    <string name="invalid_format">格式無效</string>
+    <string name="invert_selection">反選</string>
+    <string name="is_blur_enable">啟用元素模糊</string>
+    <string name="is_blur_progressive_enable">啟用漸進式模糊</string>
+    <string name="is_event_listener">事件監聽器</string>
+    <string name="is_read_finished">已讀完</string>
+    <string name="is_read_finished_complete">已讀完(完結)</string>
+    <string name="is_read_finished_update">已讀完(連載)</string>
+    <string name="is_reading">閲讀中</string>
+    <string name="is_unread">未讀</string>
+    <string name="js_disabled">JS 已禁用</string>
+    <string name="jump_to_volume">跳轉到卷</string>
+    <string name="lab_display">顯示</string>
+    <string name="lab_eink_display_hint">可在主題 → 顯示選項中調整 E-Ink 顯示設定</string>
+    <string name="lab_eink_display_summary">在平板介面中顯示 E-Ink 顯示選項</string>
+    <string name="lab_eink_display_title">E-Ink 顯示</string>
+    <string name="lab_enabled_summary">開啟以顯示實驗性功能。這些功能可能不穩定。</string>
+    <string name="lab_enabled_title">啟用實驗室</string>
+    <string name="lab_eye_protection_hint">可在主題 → 外觀中調整護眼設定</string>
+    <string name="lab_eye_protection_summary">為漫畫和小說閱讀器應用暖色調以減少眼睛疲勞</string>
+    <string name="lab_eye_protection_title">護眼模式</string>
+    <string name="lab_setting">實驗室</string>
+    <string name="less_count">較少(</string>
+    <string name="light_mode">淺色模式</string>
+    <string name="list">列表</string>
+    <string name="list_cover_width">列表封面寬度</string>
+    <string name="llm_api_key">API Key</string>
+    <string name="llm_base_url">Base URL</string>
+    <string name="llm_concurrent_chunks">並發區塊數</string>
+    <string name="llm_max_chars_per_chunk">每個區塊最大字元數</string>
+    <string name="llm_model">模型</string>
+    <string name="llm_prompt">提示詞</string>
+    <string name="llm_provider">供應商</string>
+    <string name="llm_retry_count">重試次數</string>
+    <string name="llm_target_language">目標語言</string>
+    <string name="llm_temperature">Temperature</string>
+    <string name="llm_temperature_description">允許範圍:0-2。接近 0 更嚴謹;接近 2 更有創意。</string>
+    <string name="llm_translate_enabled">啟用章節翻譯</string>
+    <string name="load_more">載入更多</string>
+    <string name="load_next_page">載入下一頁</string>
+    <string name="local_book_options">本地書籍選項</string>
+    <string name="local_book_toc_rule">本地書籍章節規則</string>
+    <string name="locate_current">定位目前位置</string>
+    <string name="locate_current_reading">跳轉到目前閱讀位置</string>
+    <string name="login_error">登錄失敗</string>
+    <string name="long_click_to_custom">長按自訂</string>
+    <string name="long_press_group">長按分組</string>
+    <string name="manage_tag_colors">管理標籤顏色</string>
+    <string name="manga">漫畫</string>
+    <string name="manga_cache">漫畫緩存</string>
+    <string name="manga_cross_fade">關閉載入淡入動畫</string>
+    <string name="manga_epaper">E-Ink 螢幕</string>
+    <string name="manga_epaper_stting">E-Ink 設定</string>
+    <string name="manga_epaper_value">閾值</string>
+    <string name="manga_long_click">長按儲存圖片</string>
+    <string name="manga_setting">漫畫閲讀設定</string>
+    <string name="manual_contrast_invalid">請輸入 -1 到 1 之間的有效數字</string>
+    <string name="manual_contrast_value_label">手動值 [-1, 1]</string>
+    <string name="manual_contrast_value_template">手動值:%1$s</string>
+    <string name="manual_input">手動輸入</string>
+    <string name="match_pattern">匹配模式</string>
+    <string name="material_version">顏色規格</string>
+    <string name="menu_alpha">選單透明度</string>
+    <string name="menu_alpha_sum">目前 %d%%</string>
+    <string name="minify_json">壓縮</string>
+    <string name="month_format">%1$d</string>
+    <string name="more_actions">更多操作</string>
+    <string name="more_count">較多(</string>
+    <string name="more_setting">更多設定</string>
+    <string name="move_to_bottom">移至底部</string>
+    <string name="move_to_top">移至頂部</string>
+    <string name="multi_select_items">多選項目</string>
+    <string name="nav_label_mode">導航欄標籤模式</string>
+    <string name="network">網路</string>
+    <string name="network_book_badge_setting">網路書籍標記</string>
+    <string name="new_rule">新建規則</string>
+    <string name="night_card_bg_color">夜間卡片背景色</string>
+    <string name="no_apps_found">找不到支援文字操作的第三方應用</string>
+    <string name="no_bookmark">無書籤</string>
+    <string name="no_bookmarks_to_export">沒有可匯出的書籤</string>
+    <string name="no_crash_logs">無崩潰日誌</string>
+    <string name="no_earlier_data">無更早的資料</string>
+    <string name="no_favorites_rss">暫無收藏訂閱!</string>
+    <string name="no_logs">無日誌</string>
+    <string name="no_more_data">沒有更多資料</string>
+    <string name="no_other_groups">沒有其他分組</string>
+    <string name="no_translation_cache">無翻譯緩存</string>
+    <string name="notification_permission">通知權限</string>
+    <string name="noval">小說</string>
+    <string name="number_rows_columns">每行列數</string>
+    <string name="open_by_browser">已切換為瀏覽器打開</string>
+    <string name="open_by_webview">已切換為 WebView 打開</string>
+    <string name="openai_config">OpenAI 設定</string>
+    <string name="opt_animation">優化從書架進入閲讀介面時的動畫效果。</string>
+    <string name="or">或</string>
+    <string name="page_anim_fade">淡入淡出</string>
+    <string name="page_control">翻頁控制</string>
+    <string name="palette_style">調色板樣式</string>
+    <string name="paragraph_typeface">段落樣式</string>
+    <string name="permission_not_required">不需要權限</string>
+    <string name="photo">相片</string>
+    <string name="play_mode">播放模式</string>
+    <string name="position_bottom_end">右下角</string>
+    <string name="position_bottom_start">左下角</string>
+    <string name="position_top_end">右上角</string>
+    <string name="position_top_start">左上角</string>
+    <string name="predictive_back">預測性返回手勢</string>
+    <string name="predictive_back_summary">啟用系統預測性返回手勢</string>
+    <string name="preferred_contrast">偏好對比度</string>
+    <string name="preview_effect">預覽效果</string>
+    <string name="privacy">私隱</string>
+    <string name="progress">進度</string>
+    <string name="progress_exceeds_cloud">目前進度超過雲端,是否覆蓋?</string>
+    <string name="pull_to_refresh">下拉刷新</string>
+    <string name="pure_black">純黑模式</string>
+    <string name="quick_add_to_shelf">快速加入書架</string>
+    <string name="quick_jump">快速跳轉</string>
+    <string name="re_sync_webdav">重新同步遠端書籍</string>
+    <string name="read">閲讀</string>
+    <string name="read_aloud_consecutive_errors">TTS 伺服器連續 5 次錯誤,朗讀已暫停。</string>
+    <string name="read_aloud_pause_resume">暫停/恢復朗讀</string>
+    <string name="read_aloud_preload">朗讀預載入數量</string>
+    <string name="read_aloud_preload_summary">%d</string>
+    <string name="read_aloud_timer_format">朗讀定時:%1$d 分鐘</string>
+    <string name="read_change_all">換源預設應用於整本書</string>
+    <string name="read_change_all_s">否則僅應用於單章。</string>
+    <string name="read_chapter_index">已讀 %d 章</string>
+    <string name="read_chapter_total">共 %d 章</string>
+    <string name="read_color">顏色樣式</string>
+    <string name="read_config_body_padding_desc">調整正文上下左右邊距</string>
+    <string name="read_config_body_spacing">正文間距</string>
+    <string name="read_config_divider_line">分隔線</string>
+    <string name="read_config_effects">效果</string>
+    <string name="read_config_global_theme">全局與主題</string>
+    <string name="read_config_header_footer_desc">配置頁眉/頁腳模組、可見性和顏色</string>
+    <string name="read_config_header_footer_padding_desc">調整頁眉和頁腳上下左右邊距</string>
+    <string name="read_config_italic">斜體</string>
+    <string name="read_config_layout_spacing">佈局與間距</string>
+    <string name="read_config_menu_system">系統與選單</string>
+    <string name="read_config_regex_desc">透過正則表達式變換字體和顏色</string>
+    <string name="read_config_shadow_desc">配置陰影偏移、半徑和顏色</string>
+    <string name="read_config_text_effects">文字與效果</string>
+    <string name="read_config_title_settings">標題設定</string>
+    <string name="read_config_underline_desc">配置底線顏色、高度、虛線和位置</string>
+    <string name="read_end">閱讀完畢</string>
+    <string name="read_menu_accent_color_summary">頂部和底部閱讀列的文字和圖標顏色</string>
+    <string name="read_menu_bar_blur">啟用模糊</string>
+    <string name="read_menu_bar_blur_style">模糊樣式</string>
+    <string name="read_menu_bar_liquid_glass">液態玻璃背景</string>
+    <string name="read_menu_bar_liquid_glass_buttons">液態玻璃底部按鈕</string>
+    <string name="read_menu_bar_liquid_glass_summary">為懸浮底部導航欄使用液態玻璃。需要 Android 13+</string>
+    <string name="read_menu_bg_color_summary">頂部和底部閱讀列的背景</string>
+    <string name="read_menu_blur_alpha">選單不透明度</string>
+    <string name="read_menu_blur_color">模糊色調</string>
+    <string name="read_menu_blur_mode">選單模糊模式</string>
+    <string name="read_menu_blur_mode_none">無</string>
+    <string name="read_menu_blur_radius">模糊半徑</string>
+    <string name="read_menu_blur_radius_summary">較高半徑可能降低效能</string>
+    <string name="read_menu_blur_style_progressive">漸進式模糊</string>
+    <string name="read_menu_blur_style_solid">實心模糊</string>
+    <string name="read_menu_border">邊框</string>
+    <string name="read_menu_border_color">顏色</string>
+    <string name="read_menu_border_width">寬度</string>
+    <string name="read_menu_bottom_bar_layout">底部欄佈局</string>
+    <string name="read_menu_bottom_bar_liquid_glass_buttons_summary">為底部欄按鈕和滑桿 thumb 應用液態玻璃。需要 Android 13+</string>
+    <string name="read_menu_bottom_corner_radius">底部欄圓角半徑</string>
+    <string name="read_menu_color_source">調色板來源</string>
+    <string name="read_menu_container_color_summary">生成的閱讀選單調色板的基礎表面顏色</string>
+    <string name="read_menu_custom_icons">自訂圖標</string>
+    <string name="read_menu_custom_icons_count">%1$d 個自訂圖標</string>
+    <string name="read_menu_custom_icons_none">使用預設圖標</string>
+    <string name="read_menu_floating_bottom_bar">懸浮底部欄</string>
+    <string name="read_menu_icon_container_style">圖標容器樣式</string>
+    <string name="read_menu_icon_row_count">圖標行數</string>
+    <string name="read_menu_icon_style">圖標樣式</string>
+    <string name="read_menu_icon_style_outlined">描邊</string>
+    <string name="read_menu_icon_style_plain">Plain</string>
+    <string name="read_menu_icon_style_tonal">Tonal</string>
+    <string name="read_menu_icons_per_row">每行圖標數</string>
+    <string name="read_menu_live_preview">即時預覽</string>
+    <string name="read_menu_show_icon_text">顯示圖標標籤</string>
+    <string name="read_menu_top_bar_liquid_glass_buttons_summary">為標題欄操作按鈕應用液態玻璃。需要 Android 13+</string>
+    <string name="read_menu_top_bar_title_capsule">標題膠囊佈局</string>
+    <string name="read_slider_mode">滑桿顯示樣式</string>
+    <string name="read_type_long">長按設為全局預設模式</string>
+    <string name="reading_behavior">閲讀行為</string>
+    <string name="recently_read">最近閲讀:</string>
+    <string name="redirect_allow_all">允許所有重定向</string>
+    <string name="redirect_ask_always">總是詢問</string>
+    <string name="redirect_ask_cross_origin">域名變更時詢問</string>
+    <string name="redirect_ask_same_domain_block_cross">域內詢問,跨域阻止</string>
+    <string name="redirect_block_all">阻止所有重定向</string>
+    <string name="redirect_block_cross_origin">阻止跨域重定向</string>
+    <string name="redirect_policy">網路重定向策略</string>
+    <string name="reduce_stutter">減少進入閲讀介面時的卡頓,但會增加書籍載入時間。</string>
+    <string name="refreshing">刷新中</string>
+    <string name="regex_enabled">已啟用正則</string>
+    <string name="related_books">相關書籍(relatedBooks)</string>
+    <string name="release_to_refresh">釋放刷新</string>
+    <string name="reload">重新載入</string>
+    <string name="replace_current_book">替換此書</string>
+    <string name="replace_purify_badge">計數替換與淨化規則</string>
+    <string name="replace_rule_title_setting">配置替換規則</string>
+    <string name="replace_with">替換為</string>
+    <string name="restart_later_message">稍後重啟</string>
+    <string name="restart_required_message">更改此選項需要重啟</string>
+    <string name="restart_to_apply">重啟以套用</string>
+    <string name="restore_error">還原失敗</string>
+    <string name="restore_fail_with_error">還原失敗:%1$s</string>
+    <string name="restore_from_local">從本機還原</string>
+    <string name="restore_from_network">從網路還原</string>
+    <string name="restore_progress">恢復進度</string>
+    <string name="retranslate_chapter">重新翻譯章節</string>
+    <string name="retranslate_confirm">這將刪除現有翻譯並重新翻譯。是否繼續?</string>
+    <string name="return_to_original">返回原文</string>
+    <string name="reverse_volume_key_page">反轉音量鍵翻頁方向</string>
+    <string name="rule_call_back">回呼 JS(callBackJs)</string>
+    <string name="rule_copied_to_clipboard">規則已複製到剪貼簿</string>
+    <string name="rule_info">規則資訊</string>
+    <string name="rule_name">規則名稱</string>
+    <string name="rule_pattern">正則表達式</string>
+    <string name="rule_sub_content">副內容(subContent)</string>
+    <string name="same_name_book">已存在同名書籍</string>
+    <string name="sample_text">範例文字</string>
+    <string name="save_error">儲存失敗</string>
+    <string name="save_failed">儲存失敗</string>
+    <string name="save_failed_with_error">儲存失敗:%1$s</string>
+    <string name="save_image_failed">儲存圖片失敗</string>
+    <string name="save_success">已儲存</string>
+    <string name="save_to_local">儲存到本機</string>
+    <string name="save_to_source">儲存到源檔案(重置後將不可用)</string>
+    <string name="saved_to_album">已儲存到相簿</string>
+    <string name="scope_hint">指定此規則的作用範圍</string>
+    <string name="screen_landscape_reversed">反向橫屏</string>
+    <string name="screen_settings">顯示與亮度</string>
+    <string name="search_book_source_count">%1$d</string>
+    <string name="search_chapters">搜尋章節…</string>
+    <string name="search_disabled">搜索已禁用</string>
+    <string name="search_empty">暫無內容</string>
+    <string name="search_empty_scope_disable_precision">%1$s 分組搜索無結果。是否關閉精準搜索?</string>
+    <string name="search_empty_scope_switch_all">%1$s 分組搜索無結果。是否切換到全部分組?</string>
+    <string name="search_filter_first">搜索按鈕優先打開篩選</string>
+    <string name="search_has_more">上拉或點擊按鈕載入更多</string>
+    <string name="search_layout_list">列表佈局</string>
+    <string name="search_layout_source_grouped">按源分組</string>
+    <string name="search_result_count">結果 %1$d</string>
+    <string name="search_rule_empty">搜索規則為空</string>
+    <string name="search_select_group">選擇書源分組</string>
+    <string name="search_source_progress"> · 進度 %1$d/%2$d</string>
+    <string name="search_type">搜索類型</string>
+    <string name="seed_color">種子色</string>
+    <string name="seed_color_summary">從種子色生成主題</string>
+    <string name="seed_photo_alart">如要使用種子色,請先清除已選擇的種子圖片</string>
+    <string name="seed_photo_summary">從圖片生成主題顏色</string>
+    <string name="select_chapters">選擇章節</string>
+    <string name="select_color">選擇顏色</string>
+    <string name="select_following">選擇後續</string>
+    <string name="select_operation">選擇操作</string>
+    <string name="select_or_search_category">選擇或搜尋分類</string>
+    <string name="select_toc_rule">選擇章節規則</string>
+    <string name="selection_mode">選擇模式</string>
+    <string name="setting_failed">設定失敗:%1$s</string>
+    <string name="shadow_typeface">陰影樣式</string>
+    <string name="show_all">顯示全部</string>
+    <string name="show_all_synopsis">顯示全部簡介</string>
+    <string name="show_bookshelf_tab_menu">顯示更多書架分頁</string>
+    <string name="show_bottom_nav">顯示導航欄</string>
+    <string name="show_latest_chapter">顯示最新章節</string>
+    <string name="show_lines_synopsis">顯示簡介 %1$d 行</string>
+    <string name="show_menu_icon">顯示選單項目圖標</string>
+    <string name="show_more_info">顯示更多資訊</string>
+    <string name="show_original">顯示原文</string>
+    <string name="show_password">顯示密碼</string>
+    <string name="show_select_menu_icon">顯示文字選擇選單圖標</string>
+    <string name="show_status">顯示狀態欄</string>
+    <string name="show_swipe_animation">滑動時啟用動畫</string>
+    <string name="show_synopsis">顯示簡介</string>
+    <string name="show_tags">顯示標籤</string>
+    <string name="show_tip">顯示書籍類型</string>
+    <string name="show_title_bar_icons">顯示浮動圖標</string>
+    <string name="show_unread_new">顯示新章節標記</string>
+    <string name="show_web_log">輸出日誌</string>
+    <string name="show_word_count">顯示字數</string>
+    <string name="slider">滑桿</string>
+    <string name="sort_name_asc">名稱升序</string>
+    <string name="sort_name_desc">名稱降序</string>
+    <string name="sort_new_first">最新優先</string>
+    <string name="sort_new_to_old">最新優先</string>
+    <string name="sort_old_first">最舊優先</string>
+    <string name="sort_old_to_new">最舊優先</string>
+    <string name="sortview">排序視圖</string>
+    <string name="source_already_checking">正在校驗書源,請稍候</string>
+    <string name="source_conversion_failed">源轉換失敗</string>
+    <string name="source_not_exist">源不存在</string>
+    <string name="speak_engine_apply_scope">選擇朗讀引擎的應用範圍</string>
+    <string name="specific_scope">指定範圍</string>
+    <string name="split_long_chapters">拆分超長章節</string>
+    <string name="split_long_chapters_disabled">已關閉長章節拆分</string>
+    <string name="split_long_chapters_enabled">已啟用長章節拆分</string>
+    <string name="split_title_by_flag">按標記</string>
+    <string name="split_title_by_position">按位置</string>
+    <string name="split_title_by_regex">按正則</string>
+    <string name="split_title_position">分割位置</string>
+    <string name="start_downloading_chapter">正在下載章節</string>
+    <string name="start_downloading_chapters">正在下載 %1$d 個章節</string>
+    <string name="start_downloading_remaining_chapters">正在下載剩餘 %1$d 個章節</string>
+    <string name="style_settings">樣式設定</string>
+    <string name="suggestion_label">建議:</string>
+    <string name="sure_delete">確定要刪除嗎?</string>
+    <string name="svg_path">SVG 路徑</string>
+    <string name="svg_path_hint">座標:X(0-100),Y(0-100)</string>
+    <string name="sync_complete">同步完成</string>
+    <string name="sync_progress">同步進度</string>
+    <string name="synopsis_lines">簡介行數</string>
+    <string name="system_contrast">系統對比度</string>
+    <string name="system_contrast_value">系統對比度:%1$s</string>
+    <string name="system_engine">系統引擎</string>
+    <string name="system_media_control_compatibility_change">系統媒體控制相容性</string>
+    <string name="system_media_control_compatibility_change_summary">若鎖定螢幕缺少系統媒體控制項時啟用(例如 OneUI 7.0、OriginOS)</string>
+    <string name="tabletInterface">平板介面</string>
+    <string name="tag">標籤</string>
+    <string name="tag_group_add_rule">新建標籤分組</string>
+    <string name="tag_group_edit_rule">編輯分組規則</string>
+    <string name="tag_group_empty_hint">未設定標籤分組規則。添加規則以自動按分類標籤分組書籍。</string>
+    <string name="tag_group_name">分組名稱</string>
+    <string name="tag_group_pattern">正則表達式(匹配分類標籤)</string>
+    <string name="tag_group_rules">標籤分組規則</string>
+    <string name="tag_group_sync">同步標籤分組</string>
+    <string name="tag_group_sync_complete">分組同步完成</string>
+    <string name="tag_group_tab_group">分組</string>
+    <string name="tag_group_tab_highlight">高亮</string>
+    <string name="target_all">全部</string>
+    <string name="target_body">僅正文</string>
+    <string name="target_scope">作用範圍</string>
+    <string name="target_title">僅標題</string>
+    <string name="text_accent_color">強調色</string>
+    <string name="text_and_padding">字體與間距</string>
+    <string name="text_dottedline">圓點底線</string>
+    <string name="text_select_menu_filter">文字選擇選單篩選</string>
+    <string name="text_select_menu_filter_desc">篩選選擇選單中顯示的第三方應用</string>
+    <string name="text_shadow_color">陰影</string>
+    <string name="text_shadow_radius">陰影半徑</string>
+    <string name="text_shadow_set">陰影設定</string>
+    <string name="text_shadow_x">X 偏移</string>
+    <string name="text_shadow_y">Y 偏移</string>
+    <string name="text_typeface">字體樣式</string>
+    <string name="theme_config_add_nav_icon">添加 %1$s 圖標</string>
+    <string name="theme_config_blur_radius_performance_summary">較高模糊半徑可能降低效能</string>
+    <string name="theme_config_bottom_bar_lens_radius">底部欄模糊強度</string>
+    <string name="theme_config_bottom_bar_lens_radius_summary">控制液態玻璃扭曲強度</string>
+    <string name="theme_config_divider_length">分隔線長度</string>
+    <string name="theme_config_divider_width">分隔線寬度</string>
+    <string name="theme_config_label_color_name">標籤 %1$d</string>
+    <string name="theme_config_manage_label_colors">管理標籤顏色</string>
+    <string name="theme_config_miuix_experimental_warning">Miuix 目前為實驗性功能,不適用於 View 介面。</string>
+    <string name="theme_config_nav_icon_settings">導航欄圖標設定</string>
+    <string name="theme_config_nav_icons">導航欄圖標</string>
+    <string name="theme_config_nav_icons_custom_count">已設定 %1$d 個自訂圖標</string>
+    <string name="theme_config_nav_icons_default">使用預設圖標</string>
+    <string name="theme_config_no_font_files">無字體檔案</string>
+    <string name="theme_manage_apply">套用</string>
+    <string name="theme_manage_apply_message">套用主題「%1$s」?需要重啟才能使所有更改生效。</string>
+    <string name="theme_manage_apply_theme">套用主題</string>
+    <string name="theme_manage_background_color">背景色</string>
+    <string name="theme_manage_bottom_bar_blur_opacity">底部欄模糊不透明度</string>
+    <string name="theme_manage_bottom_bar_blur_radius">底部欄模糊半徑</string>
+    <string name="theme_manage_day_seed_color">日間種子色</string>
+    <string name="theme_manage_delete_message">刪除主題「%1$s」?此操作不可撤銷。</string>
+    <string name="theme_manage_delete_theme">刪除主題</string>
+    <string name="theme_manage_edit_theme">編輯主題</string>
+    <string name="theme_manage_export_current">匯出目前主題</string>
+    <string name="theme_manage_export_current_summary">將目前主題設定匯出為 JSON 檔案</string>
+    <string name="theme_manage_export_failed">主題匯出失敗</string>
+    <string name="theme_manage_export_success">主題已匯出</string>
+    <string name="theme_manage_import_config">匯入主題檔案</string>
+    <string name="theme_manage_import_config_summary">從 JSON 檔案匯入主題設定</string>
+    <string name="theme_manage_import_failed">主題匯入失敗</string>
+    <string name="theme_manage_import_success">主題已匯入。部分更改需要重啟。</string>
+    <string name="theme_manage_label_container_color">標籤容器色</string>
+    <string name="theme_manage_label_visibility">標籤可見性</string>
+    <string name="theme_manage_name_hint">輸入主題名稱</string>
+    <string name="theme_manage_night_seed_color">夜間種子色</string>
+    <string name="theme_manage_page_turn_animation">翻頁動畫</string>
+    <string name="theme_manage_preview_day">日間</string>
+    <string name="theme_manage_preview_night">夜間</string>
+    <string name="theme_manage_primary_color">主色</string>
+    <string name="theme_manage_primary_text_color">主文字色</string>
+    <string name="theme_manage_save">儲存</string>
+    <string name="theme_manage_save_current">儲存目前主題</string>
+    <string name="theme_manage_save_current_summary">將目前外觀設定儲存為主題</string>
+    <string name="theme_manage_save_theme">儲存主題</string>
+    <string name="theme_manage_saved_themes">已儲存主題</string>
+    <string name="theme_manage_secondary_color">副色</string>
+    <string name="theme_manage_secondary_text_color">副文字色</string>
+    <string name="theme_manage_section_basic">基本設定</string>
+    <string name="theme_manage_section_blur">模糊效果</string>
+    <string name="theme_manage_section_colors">顏色</string>
+    <string name="theme_manage_section_container">容器</string>
+    <string name="theme_manage_section_layout">介面佈局</string>
+    <string name="theme_manage_section_opacity">不透明度</string>
+    <string name="theme_manage_show_discovery">顯示發現</string>
+    <string name="theme_manage_status_bar">狀態欄</string>
+    <string name="theme_manage_top_bar_blur_opacity">頂欄模糊不透明度</string>
+    <string name="theme_manage_top_bar_blur_radius">頂欄模糊半徑</string>
+    <string name="theme_manage_use_palette_colors">從調色板生成顏色</string>
+    <string name="threads_num_summary">控制並發下載任務。數值過大可能增加記憶體不足風險</string>
+    <string name="timeline">時間線</string>
+    <string name="timeout_ms">超時(毫秒)</string>
+    <string name="tip_compose_set">這些選項僅影響以 Compose 重寫的介面。已停用的選項為佔位符,將在實作後啟用。</string>
+    <string name="tip_custom_mode">主題引擎依賴 Monet。動態顏色和自訂主題在 Android 12 以下的裝置上不生效。</string>
+    <string name="title_bar_icon_position">標題欄圖標位置</string>
+    <string name="title_bar_icons">標題欄圖標</string>
+    <string name="title_bar_layout">標題欄佈局</string>
+    <string name="title_bar_mode">選單中的標題模式</string>
+    <string name="title_color">標題顏色</string>
+    <string name="toc_disabled_format">%1$s 目錄已禁用</string>
+    <string name="toc_rule_update_failed">章節規則更新失敗:%1$s</string>
+    <string name="toc_rule_updated">章節規則已更新</string>
+    <string name="translate">翻譯</string>
+    <string name="translate_chapter">翻譯章節</string>
+    <string name="translation_app_ai_provider">使用應用 AI 介面</string>
+    <string name="translation_app_ai_provider_summary">模型、API Key 和協議在 AI 設定中配置。</string>
+    <string name="translation_cache">翻譯緩存</string>
+    <string name="translation_cache_size">緩存大小:%1$s</string>
+    <string name="translation_config">翻譯設定</string>
+    <string name="translation_failed">翻譯失敗:%1$s</string>
+    <string name="translation_in_progress">翻譯中:%1$d%%</string>
+    <string name="translation_options">翻譯選項</string>
+    <string name="translation_progress">翻譯中 %1$d%%</string>
+    <string name="translation_prompt">翻譯提示詞</string>
+    <string name="translation_provider">翻譯供應商</string>
+    <string name="translation_started">翻譯已開始,請稍候…</string>
+    <string name="transparent_theme_alarm">請在設定背景圖片後再設定透明主題。</string>
+    <string name="underline_color">底線顏色</string>
+    <string name="underline_dashed">虛線</string>
+    <string name="underline_extend">延伸底線</string>
+    <string name="underline_height">底線高度</string>
+    <string name="underline_none">無</string>
+    <string name="underline_offset">底線偏移</string>
+    <string name="underline_padding">底線間距</string>
+    <string name="underline_solid">實線</string>
+    <string name="underline_style">底線樣式</string>
+    <string name="underline_svg">自訂 SVG</string>
+    <string name="underline_title_bar">標題欄</string>
+    <string name="underline_wave">波浪</string>
+    <string name="underline_width">底線寬度</string>
+    <string name="ungroup">未分組</string>
+    <string name="update_available">有可用更新!</string>
+    <string name="upload_success">上傳成功</string>
+    <string name="use_animation">使用共享元素動畫</string>
+    <string name="use_bg_image">使用背景圖片</string>
+    <string name="use_flexible_top_bar">使用彈性頂欄</string>
+    <string name="use_replace_rule">使用替換規則</string>
+    <string name="use_underline">始終使用底線強調文字</string>
+    <string name="volume_management">卷管理</string>
+    <string name="web_service_auto_start">開啟應用時啟動 Web 服務</string>
+    <string name="webdav_restore_fail">WebDAV 還原失敗\n%1$s</string>
+    <string name="webdav_restore_fallback_message">WebDAV 錯誤\n%1$s\n改為從本機備份還原。</string>
+    <string name="website_disabled">網站已禁用</string>
+    <string name="webtoon">條漫</string>
+    <string name="weekday_fri">週五</string>
+    <string name="weekday_mon">週一</string>
+    <string name="weekday_sat">週六</string>
+    <string name="weekday_sun">週日</string>
+    <string name="weekday_thu">週四</string>
+    <string name="weekday_tue">週二</string>
+    <string name="weekday_wed">週三</string>
+    <string name="welcome_title">歡迎!</string>
 </resources>

+ 805 - 0
app/src/main/res/values-zh-rTW/strings.xml

@@ -1384,4 +1384,809 @@
     <string name="homepage_status_in_effect"> · 目前生效</string>
     <string name="homepage_status_blocked"> · 已被封鎖</string>
     <string name="homepage_status_joined"> · 已加入</string>
+
+    <!-- Auto-generated missing translations -->
+    <string name="manual_input">手動輸入</string>
+    <string name="preferred_contrast">偏好對比度</string>
+    <string name="contrast_source_system_summary">來源:系統對比度</string>
+    <string name="contrast_source_manual_summary">來源:手動輸入</string>
+    <string name="current_effective_contrast">目前有效值:%1$s</string>
+    <string name="system_contrast_value">系統對比度:%1$s</string>
+    <string name="system_contrast">系統對比度</string>
+    <string name="manual_contrast_value_label">手動值 [-1, 1]</string>
+    <string name="manual_contrast_invalid">請輸入 -1 到 1 之間的有效數字</string>
+    <string name="predictive_back">預測性返回手勢</string>
+    <string name="predictive_back_summary">啟用系統預測性返回手勢</string>
+    <string name="restart_to_apply">重新啟動以套用</string>
+    <string name="custom_theme">自訂主題</string>
+    <string name="custom_theme_colors">自訂顏色</string>
+    <string name="click_to_select">點擊選擇</string>
+    <string name="compose_related">Compose 相關</string>
+    <string name="use_flexible_top_bar">使用彈性頂部工具列</string>
+    <string name="slider">滑桿</string>
+    <string name="input">輸入</string>
+    <string name="manual_contrast_value_template">手動值:%1$s</string>
+    <string name="enter_directory_path">輸入目錄路徑</string>
+    <string name="invalid_directory">無效的目錄路徑</string>
+    <string name="empty_directory_input">目錄路徑不能為空</string>
+    <string name="cover_url">封面網址</string>
+    <string name="fixed_book_type">鎖定書籍類型</string>
+    <string name="fixed_book_type_summary">書籍更新時不覆蓋書籍類型</string>
+    <string name="book_type_label">書籍類型</string>
+    <string name="book_type_text">文字</string>
+    <string name="book_type_audio">音訊</string>
+    <string name="book_type_image">圖片</string>
+    <string name="add_tag">新增標籤</string>
+    <string name="edit_tag">編輯標籤</string>
+    <string name="tag">標籤</string>
+    <string name="backup_error">備份失敗</string>
+    <string name="restore_error">復原失敗</string>
+    <string name="restore_fail_with_error">復原失敗:%1$s</string>
+    <string name="restore_from_local">從本機復原</string>
+    <string name="restore_from_network">從網路復原</string>
+    <string name="webdav_restore_fallback_message">WebDAV 錯誤
+%1$s
+改從本機備份復原。</string>
+    <string name="webdav_restore_fail">WebDAV 復原失敗
+%1$s</string>
+    <string name="pull_to_refresh">下拉重新整理</string>
+    <string name="release_to_refresh">釋放重新整理</string>
+    <string name="refreshing">正在重新整理</string>
+    <string name="expand">展開</string>
+    <string name="collapse">收合</string>
+    <string name="select_color">選擇顏色</string>
+    <string name="color_value">顏色值</string>
+    <string name="cache_download_failed">快取失敗:%1$s</string>
+    <string name="threads_num_summary">控制並發下載任務。數值越大,OOM 風險越高</string>
+    <string name="cache_book_threads_num_title">快取下載執行緒數</string>
+    <string name="cache_book_threads_num_summary">控制離線快取書籍的並發章節下載數。數值越大,OOM 風險越高</string>
+    <string name="rule_sub_content">副內容(subContent)</string>
+    <string name="speak_engine_apply_scope">選擇套用所選朗讀引擎的範圍</string>
+    <string name="use_bg_image">使用背景圖片</string>
+    <string name="group_add">新增分組</string>
+    <string name="show_password">顯示密碼</string>
+    <string name="hide_password">隱藏密碼</string>
+    <string name="highlight_rule_config">高亮規則</string>
+    <string name="new_rule">新規則</string>
+    <string name="edit_rule">編輯規則</string>
+    <string name="rule_info">規則資訊</string>
+    <string name="style_settings">樣式設定</string>
+    <string name="rule_pattern">正則表達式</string>
+    <string name="rule_name">規則名稱</string>
+    <string name="target_scope">目標範圍</string>
+    <string name="target_all">全部</string>
+    <string name="target_title">僅標題</string>
+    <string name="target_body">僅正文</string>
+    <string name="enable_rule">啟用規則</string>
+    <string name="underline_style">底線樣式</string>
+    <string name="underline_none">無</string>
+    <string name="underline_solid">實線</string>
+    <string name="underline_dashed">虛線</string>
+    <string name="underline_wave">波浪</string>
+    <string name="underline_title_bar">標題列</string>
+    <string name="underline_svg">自訂 SVG</string>
+    <string name="underline_width">底線寬度</string>
+    <string name="underline_offset">底線偏移</string>
+    <string name="svg_path">SVG 路徑</string>
+    <string name="svg_path_hint">座標:X(0-100),Y(0-100)</string>
+    <string name="bg_image_fit">背景適配</string>
+    <string name="highlight_bg_image">背景圖片</string>
+    <string name="highlight_bg_image_scale">圖片縮放</string>
+    <string name="bg_fit_tile">並排</string>
+    <string name="bg_fit_stretch">延伸</string>
+    <string name="bg_fit_crop">置中裁切</string>
+    <string name="preview_effect">預覽</string>
+    <string name="sample_text">範例文字</string>
+    <string name="sure_delete">確定要刪除嗎?</string>
+    <string name="save_to_source">儲存到來源檔案(重設將不可用)</string>
+    <string name="add_regex_rule">新增正則規則</string>
+    <string name="custom_regex_rule">自訂正則規則</string>
+    <string name="custom_regex">自訂規則</string>
+    <string name="input_regex_pattern">輸入正則表達式</string>
+    <string name="show_menu_icon">顯示選單項目圖示</string>
+    <string name="read_config_global_theme">全域與主題</string>
+    <string name="read_config_layout_spacing">佈局與間距</string>
+    <string name="read_config_text_effects">文字與效果</string>
+    <string name="read_config_title_settings">標題設定</string>
+    <string name="read_config_menu_system">系統與選單</string>
+    <string name="read_config_italic">斜體</string>
+    <string name="read_config_body_spacing">正文間距</string>
+    <string name="read_config_body_padding_desc">調整正文上、下、左、右邊距</string>
+    <string name="read_config_effects">效果</string>
+    <string name="read_config_shadow_desc">設定陰影偏移、半徑和顏色</string>
+    <string name="read_config_underline_desc">設定底線顏色、高度、虛線和位置</string>
+    <string name="read_config_regex_desc">透過正規表達式變更字體和顏色</string>
+    <string name="read_config_header_footer_desc">設定頁首/頁尾模組、可見性和顏色</string>
+    <string name="read_config_header_footer_padding_desc">調整頁首和頁尾的上、下、左、右邊距</string>
+    <string name="read_config_divider_line">分隔線</string>
+    <string name="brightness_bar_off">關閉</string>
+    <string name="brightness_bar_horizontal">水平</string>
+    <string name="brightness_bar_vertical">垂直</string>
+    <string name="brightness_bar_position">亮度條位置</string>
+    <string name="brightness_bar_left">左側</string>
+    <string name="brightness_bar_right">右側</string>
+    <string name="brightness_follow_system">跟隨系統</string>
+    <string name="image_style_full">全螢幕</string>
+    <string name="image_style_text">文字吸附</string>
+    <string name="image_style_single">單頁</string>
+    <string name="title_color">標題顏色</string>
+    <string name="export_file_name_template_hint">{name} - {author}</string>
+    <string name="export_file_name_template_help">可用變數:{name} 書名、{author} 作者、{group} 分組、{source} 來源、{remark} 備註。
+
+範例:{name} - {author}
+結果:三體 - 劉慈欣
+
+可以在變數前後新增固定文字。</string>
+    <string name="related_books">相關書籍(relatedBooks)</string>
+    <string name="clipboard_empty">剪貼簿為空</string>
+    <string name="clipboard_empty_or_invalid">剪貼簿為空或格式無效</string>
+    <string name="invalid_format">無效格式</string>
+    <string name="complete_required_information">請填寫所有必填資訊</string>
+    <string name="cannot_open_url">無法直接開啟此 URL</string>
+    <string name="open_by_browser">已切換到瀏覽器開啟</string>
+    <string name="open_by_webview">已切換到 WebView 開啟</string>
+    <string name="show_select_menu_icon">顯示文字選擇選單圖示</string>
+    <string name="text_select_menu_filter">文字選擇選單篩選</string>
+    <string name="text_select_menu_filter_desc">篩選選擇選單中顯示的第三方應用</string>
+    <string name="show_all">全部顯示</string>
+    <string name="hide_all">全部隱藏</string>
+    <string name="no_apps_found">找不到支援文字操作的第三方應用</string>
+    <string name="is_event_listener">事件監聽器</string>
+    <string name="custom_button">自訂按鈕</string>
+    <string name="rule_call_back">回呼 JS(callBackJs)</string>
+    <string name="cover_rule_fields_required">搜尋 URL 和封面規則不能為空</string>
+    <string name="cover_selected_images_count">已選擇 %1$d 張圖片</string>
+    <string name="confirm_skip_to_chapter">是否跳轉到此章節?</string>
+    <string name="restore_progress">復原進度</string>
+    <string name="sync_progress">同步進度</string>
+    <string name="found_cloud_progress">發現雲端進度,是否復原?</string>
+    <string name="progress_exceeds_cloud">目前進度超過雲端進度,是否覆蓋?</string>
+    <string name="permission_not_required">不需要權限</string>
+    <string name="about_privacy_policy_title">隱私政策</string>
+    <string name="about_license_title">開源許可</string>
+    <string name="about_disclaimer_title">免責聲明</string>
+    <string name="about_installed_version_title">已安裝版本</string>
+    <string name="about_current_version">已安裝版本</string>
+    <string name="about_new_version">最新版本</string>
+    <string name="about_update_channel">發布渠道</string>
+    <string name="about_update_action">下載更新</string>
+    <string name="about_backup_dir_not_set">請先設定備份目錄</string>
+    <string name="about_log_recording_disabled">日誌記錄已關閉。請先在其它設定中開啟。</string>
+    <string name="about_saved_to_backup_dir">已儲存至備份資料夾</string>
+    <string name="about_heap_dump_recording_disabled">堆轉儲記錄已關閉。請先在其它設定中開啟。</string>
+    <string name="about_heap_dump_creating">正在建立堆轉儲…</string>
+    <string name="about_heap_dump_not_found">找不到堆轉儲檔案</string>
+    <string name="about_download_info_incomplete">更新下載資訊不完整</string>
+    <string name="about_no_data">無更新日誌</string>
+    <string name="about_start_download">正在下載 %1$s</string>
+    <string name="ungroup">未分組</string>
+    <string name="dynamic_colors">動態色彩</string>
+    <string name="theme_manage_export_success">主題已匯出</string>
+    <string name="theme_manage_export_failed">無法匯出主題</string>
+    <string name="theme_manage_import_success">主題已匯入。部分變更需要重新啟動。</string>
+    <string name="theme_manage_import_failed">無法匯入主題</string>
+    <string name="theme_manage_save_current">儲存目前主題</string>
+    <string name="theme_manage_save_current_summary">將目前外觀設定儲存為主題</string>
+    <string name="theme_manage_export_current">匯出目前主題</string>
+    <string name="theme_manage_export_current_summary">將目前主題設定匯出為 JSON 檔案</string>
+    <string name="theme_manage_import_config">匯入主題檔案</string>
+    <string name="theme_manage_import_config_summary">從 JSON 檔案匯入主題設定</string>
+    <string name="theme_manage_saved_themes">已儲存的主題</string>
+    <string name="theme_manage_save_theme">儲存主題</string>
+    <string name="theme_manage_save">儲存</string>
+    <string name="theme_manage_name_hint">輸入主題名稱</string>
+    <string name="theme_manage_apply_theme">套用主題</string>
+    <string name="theme_manage_apply">套用</string>
+    <string name="theme_manage_apply_message">套用主題「%1$s」?需要重新啟動才能使所有變更生效。</string>
+    <string name="theme_manage_delete_theme">刪除主題</string>
+    <string name="theme_manage_delete_message">刪除主題「%1$s」?此操作無法復原。</string>
+    <string name="theme_manage_preview_day">日間</string>
+    <string name="theme_manage_preview_night">夜間</string>
+    <string name="theme_manage_edit_theme">編輯主題</string>
+    <string name="theme_manage_section_basic">基本設定</string>
+    <string name="theme_manage_section_colors">顏色</string>
+    <string name="theme_manage_use_palette_colors">從調色板生成顏色</string>
+    <string name="theme_manage_primary_color">主色</string>
+    <string name="theme_manage_secondary_color">輔助色</string>
+    <string name="theme_manage_primary_text_color">主文字色</string>
+    <string name="theme_manage_secondary_text_color">輔助文字色</string>
+    <string name="theme_manage_background_color">背景色</string>
+    <string name="theme_manage_label_container_color">標籤容器色</string>
+    <string name="theme_manage_day_seed_color">日間種子色</string>
+    <string name="theme_manage_night_seed_color">夜間種子色</string>
+    <string name="theme_manage_section_layout">介面佈局</string>
+    <string name="theme_manage_show_discovery">顯示發現</string>
+    <string name="theme_manage_status_bar">狀態欄</string>
+    <string name="theme_manage_page_turn_animation">翻頁動畫</string>
+    <string name="theme_manage_label_visibility">標籤可見性</string>
+    <string name="theme_manage_section_blur">模糊效果</string>
+    <string name="theme_manage_top_bar_blur_radius">頂部工具列模糊半徑</string>
+    <string name="theme_manage_bottom_bar_blur_radius">底部工具列模糊半徑</string>
+    <string name="theme_manage_top_bar_blur_opacity">頂部工具列模糊不透明度</string>
+    <string name="theme_manage_bottom_bar_blur_opacity">底部工具列模糊不透明度</string>
+    <string name="theme_manage_section_opacity">不透明度</string>
+    <string name="theme_manage_section_container">容器</string>
+    <string name="theme_config_manage_label_colors">管理標籤顏色</string>
+    <string name="theme_config_label_color_name">標籤 %1$d</string>
+    <string name="theme_config_miuix_experimental_warning">Miuix 目前為實驗性功能,不適用於基於 View 的介面。</string>
+    <string name="theme_config_bottom_bar_lens_radius">底部工具列模糊強度</string>
+    <string name="theme_config_bottom_bar_lens_radius_summary">控制液態玻璃扭曲強度</string>
+    <string name="theme_config_blur_radius_performance_summary">較大的模糊半徑可能降低效能</string>
+    <string name="theme_config_divider_width">分隔線寬度</string>
+    <string name="theme_config_divider_length">分隔線長度</string>
+    <string name="theme_config_nav_icon_settings">導航欄圖示設定</string>
+    <string name="theme_config_nav_icons">導航欄圖示</string>
+    <string name="theme_config_nav_icons_custom_count">已設定 %1$d 個自訂圖示</string>
+    <string name="theme_config_nav_icons_default">使用預設圖示</string>
+    <string name="theme_config_add_nav_icon">新增 %1$s 圖示</string>
+    <string name="theme_config_no_font_files">無字體檔案</string>
+    <string name="change_icon_success">圖示已更新</string>
+    <string name="replace_rule_title_setting">設定取代規則</string>
+    <string name="more_setting">更多設定</string>
+    <string name="read_chapter_total">共 %d 章</string>
+    <string name="read_chapter_index">已讀 %d 章</string>
+    <string name="manga_epaper">電子墨水屏</string>
+    <string name="manga_epaper_stting">電子墨水屏設定</string>
+    <string name="manga_epaper_value">閾值</string>
+    <string name="disable_horizontal_animation">停用水平捲動動畫</string>
+    <string name="enable_manga_gray">灰階</string>
+    <string name="sortview">排序視圖</string>
+    <string name="list">列表</string>
+    <string name="grid">網格</string>
+    <string name="number_rows_columns">每行行數</string>
+    <string name="ascending_order">升序</string>
+    <string name="descending_order">降序</string>
+    <string name="checking_update">正在檢查更新…</string>
+    <string name="search_empty">無可用內容</string>
+    <string name="firebase_enable_title">匿名統計</string>
+    <string name="firebase_enable_summary">允許應用使用 Google Firebase 進行崩潰和效能報告</string>
+    <string name="locate_current">定位目前位置</string>
+    <string name="system_media_control_compatibility_change">系統媒體控制相容性</string>
+    <string name="system_media_control_compatibility_change_summary">如果鎖定畫面上缺少系統媒體控制項,請啟用此選項(例如 OneUI 7.0、OriginOS)</string>
+    <string name="read_aloud_pause_resume">暫停/繼續朗讀</string>
+    <string name="play_mode">播放模式</string>
+    <string name="tabletInterface">平板介面</string>
+    <string name="progress">進度</string>
+    <string name="clear_all">全部清除</string>
+    <string name="welcome_title">歡迎!</string>
+    <string name="first_read">請先閱讀服務條款和使用者協議。</string>
+    <string name="config_btn">設定底部按鈕</string>
+    <string name="compact_grid">精簡網格</string>
+    <string name="cover_grid">封面網格</string>
+    <string name="end_chapter">結束章節</string>
+    <string name="manga_setting">漫畫閱讀設定</string>
+    <string name="webtoon">條漫</string>
+    <string name="epi_3">第 3 期</string>
+    <string name="photo">照片</string>
+    <string name="text_and_padding">字體與間距</string>
+    <string name="update_available">有可用更新!</string>
+    <string name="abi_arm64_v8a">ABI: arm64-v8a</string>
+    <string name="download_link">下載連結</string>
+    <string name="no_bookmark">無書籤</string>
+    <string name="bookmark_management">書籤管理</string>
+    <string name="locate_current_reading">前往目前閱讀位置</string>
+    <string name="move_to_top">移至頂部</string>
+    <string name="move_to_bottom">移至底部</string>
+    <string name="invert_selection">反選</string>
+    <string name="select_following">選擇以下</string>
+    <string name="search_chapters">搜尋章節…</string>
+    <string name="use_replace_rule">使用取代規則</string>
+    <string name="show_word_count">顯示字數</string>
+    <string name="local_book_options">本機書籍選項</string>
+    <string name="local_book_toc_rule">本機書籍章節規則</string>
+    <string name="select_toc_rule">選擇章節規則</string>
+    <string name="split_long_chapters">分割超長章節</string>
+    <string name="export_bookmarks_json">匯出書籤為 JSON</string>
+    <string name="export_bookmarks_markdown">匯出書籤為 Markdown</string>
+    <string name="volume_management">卷管理</string>
+    <string name="quick_jump">快速跳轉</string>
+    <string name="download_selected_count">下載所選(%1$d)</string>
+    <string name="toc_rule_update_failed">章節規則更新失敗:%1$s</string>
+    <string name="toc_rule_updated">章節規則已更新</string>
+    <string name="setting_failed">設定失敗:%1$s</string>
+    <string name="split_long_chapters_enabled">超長章節分割已啟用</string>
+    <string name="split_long_chapters_disabled">超長章節分割已停用</string>
+    <string name="no_bookmarks_to_export">無可匯出的書籤</string>
+    <string name="save_success">已儲存</string>
+    <string name="save_failed_with_error">儲存失敗:%1$s</string>
+    <string name="select_chapters">選擇章節</string>
+    <string name="bookmarks_added_count">已新增 %1$d 個書籤</string>
+    <string name="start_downloading_chapters">正在下載 %1$d 章</string>
+    <string name="start_downloading_chapter">下載章節中</string>
+    <string name="all_chapters_cached">所有章節已快取</string>
+    <string name="start_downloading_remaining_chapters">正在下載剩餘 %1$d 章</string>
+    <string name="read_end">閱讀結束</string>
+    <string name="system_engine">系統引擎</string>
+    <string name="copy_from">從剪貼簿匯入</string>
+    <string name="light_mode">淺色</string>
+    <string name="dark_mode">深色</string>
+    <string name="pure_black">純黑模式</string>
+    <string name="transparent_theme_alarm">請在設定背景圖片後再設定透明主題。</string>
+    <string name="seed_color_summary">從種子色建立主題</string>
+    <string name="seed_color">種子色</string>
+    <string name="custom_mode">自訂模式</string>
+    <string name="be_swiped">仍可滑動翻頁</string>
+    <string name="show_bottom_nav">顯示導航欄</string>
+    <string name="floating_bottom_bar">懸浮底欄</string>
+    <string name="floating_bottom_bar_summary">底部導航欄使用獨立膠囊樣式</string>
+    <string name="floating_bottom_bar_liquid_glass">液態玻璃效果</string>
+    <string name="floating_bottom_bar_liquid_glass_summary">為懸浮底欄啟用液態玻璃高亮效果。需要模糊和 Android 13+</string>
+    <string name="nav_label_mode">導航欄標籤模式</string>
+    <string name="read">閱讀</string>
+    <string name="privacy">隱私</string>
+    <string name="notification_permission">通知權限</string>
+    <string name="background_permission">背景權限</string>
+    <string name="opt_animation">從書架進入閱讀介面時優化動畫效果。</string>
+    <string name="use_animation">使用共享元素動畫</string>
+    <string name="reduce_stutter">進入閱讀介面時減少卡頓,但會增加書籍載入時間。</string>
+    <string name="delay_book_load">延遲書籍載入</string>
+    <string name="compact_list">精簡列表</string>
+    <string name="author_read">%1$s • %2$d 未讀</string>
+    <string name="menu_alpha_sum">目前 %d%%</string>
+    <string name="menu_alpha">選單透明度</string>
+    <string name="change_source_option_title">選擇操作</string>
+    <string name="replace_current_book">取代此書</string>
+    <string name="add_as_new_book">新增為新書</string>
+    <string name="quick_add_to_shelf">快速放入書架</string>
+    <string name="book_added_to_shelf">已放入書架</string>
+    <string name="seed_photo_summary">從圖片生成主題色彩</string>
+    <string name="seed_photo_alart">若要使用種子色,請先清除已選擇的種子圖片</string>
+    <string name="click_to_delete">點擊刪除或更換</string>
+    <string name="tip_custom_mode">主題引擎依賴 Monet。動態色彩和自訂主題在 Android 12 以下裝置上不生效。</string>
+    <string name="restart_required_message">變更此選項需要重新啟動</string>
+    <string name="restart_later_message">稍後重新啟動</string>
+    <string name="search_select_group">選擇書源分組</string>
+    <string name="day_night_switch">日間/深色模式切換</string>
+    <string name="manga_long_click">長按儲存圖片</string>
+    <string name="read_type_long">長按設定為全域預設模式</string>
+    <string name="read_slider_mode">滑桿顯示樣式</string>
+    <string name="bookshelf_update_limit">書架更新限制</string>
+    <string name="text_shadow_x">X 偏移</string>
+    <string name="text_shadow_y">Y 偏移</string>
+    <string name="text_shadow_radius">陰影半徑</string>
+    <string name="text_shadow_color">陰影</string>
+    <string name="global_read_setting">閱讀顯示 · 漫畫</string>
+    <string name="screen_settings">顯示與亮度</string>
+    <string name="reading_behavior">閱讀行為</string>
+    <string name="page_control">翻頁控制</string>
+    <string name="redirect_policy">網頁重定向策略</string>
+    <string name="redirect_allow_all">允許所有重定向</string>
+    <string name="redirect_ask_always">總是詢問</string>
+    <string name="redirect_ask_cross_origin">網域變更時詢問</string>
+    <string name="redirect_block_cross_origin">阻止跨網域重定向</string>
+    <string name="redirect_block_all">阻止所有重定向</string>
+    <string name="redirect_ask_same_domain_block_cross">網域內詢問,跨網域阻止</string>
+    <string name="show_status">顯示狀態欄</string>
+    <string name="sort_old_to_new">最舊到最新</string>
+    <string name="sort_new_to_old">最新到最舊</string>
+    <string name="sort_name_asc">名稱升序</string>
+    <string name="sort_name_desc">名稱降序</string>
+    <string name="text_dottedline">圓點底線</string>
+    <string name="jump_to_volume">跳轉到卷</string>
+    <string name="cancel_select">取消選擇</string>
+    <string name="coll_volume">收合所有卷</string>
+    <string name="expand_volume">展開所有卷</string>
+    <string name="custom">自訂</string>
+    <string name="global_setting">全域設定</string>
+    <string name="text_typeface">字體樣式</string>
+    <string name="shadow_typeface">陰影樣式</string>
+    <string name="long_click_to_custom">長按自訂</string>
+    <string name="disable_manga_scroll_animation">停用翻頁動畫</string>
+    <string name="manga_cross_fade">停用載入淡入動畫</string>
+    <string name="text_shadow_set">陰影設定</string>
+    <string name="paragraph_typeface">段落樣式</string>
+    <string name="same_name_book">已存在同名書籍</string>
+    <string name="underline_color">底線顏色</string>
+    <string name="underline_extend">延伸底線</string>
+    <string name="dotted_line_black">虛線長度</string>
+    <string name="dotted_line_while">間隙長度</string>
+    <string name="underline_height">底線高度</string>
+    <string name="title_bar_mode">選單中的標題模式</string>
+    <string name="replace_purify_badge">計算取代淨化規則數</string>
+    <string name="page_anim_fade">淡入淡出</string>
+    <string name="show_bookshelf_tab_menu">顯示更多書架分頁</string>
+    <string name="show_unread_new">顯示新章節標記</string>
+    <string name="read_change_all">換源預設套用到整本書</string>
+    <string name="read_change_all_s">否則僅套用於單一章節。</string>
+    <string name="show_tip">顯示書籍類型</string>
+    <string name="is_reading">閱讀中</string>
+    <string name="is_unread">未讀</string>
+    <string name="is_read_finished">已完結</string>
+    <string name="is_read_finished_update">已完結(連載)</string>
+    <string name="is_read_finished_complete">已完結(已完結)</string>
+    <string name="manga">漫畫</string>
+    <string name="noval">小說</string>
+    <string name="cover_show_shadow">顯示字體陰影</string>
+    <string name="cover_show_stroke">顯示字體描邊</string>
+    <string name="default_color">使用預設字體顏色</string>
+    <string name="enable_slider_vibrator">滑動進度條時震動</string>
+    <string name="edit_remark">編輯備註</string>
+    <string name="book_remark">書籍別名</string>
+    <string name="save_to_local">儲存到本機</string>
+    <string name="select_operation">選擇操作</string>
+    <string name="text_accent_color">強調色</string>
+    <string name="read_color">色彩樣式</string>
+    <string name="reverse_volume_key_page">反轉音量鍵翻頁方向</string>
+    <string name="palette_style">調色板樣式</string>
+    <string name="material_version">色彩規格</string>
+    <string name="tip_compose_set">這些選項僅影響使用 Compose 重寫的介面。停用的選項為佔位符,將在實作後啟用。</string>
+    <string name="is_blur_enable">啟用元素模糊</string>
+    <string name="use_underline">強調文字始終使用底線</string>
+    <string name="adapt_special_style">適配特殊樣式</string>
+    <string name="compose_engine">主題樣式</string>
+    <string name="container_opacity">容器不透明度</string>
+    <string name="container_opacity_summary">%d</string>
+    <string name="web_service_auto_start">開啟應用時啟動 Web 服務</string>
+    <string name="read_aloud_preload">朗讀預載入數量</string>
+    <string name="read_aloud_preload_summary">%d</string>
+    <string name="audio_cache_clean_time">音訊快取保留時間(分鐘)</string>
+    <string name="audio_cache_clean_time_summary">目前:%1$d。輸入 0 則退出時立即清除。</string>
+    <string name="show_swipe_animation">滑動時啟用動畫</string>
+    <string name="click_image_way">圖片點擊操作</string>
+    <string name="show_web_log">輸出日誌</string>
+    <string name="is_blur_progressive_enable">啟用漸進式模糊</string>
+    <string name="enable_select_vibrator">選擇文字時震動</string>
+    <string name="re_sync_webdav">重新同步遠端書籍</string>
+    <string name="underline_padding">底線間距</string>
+    <string name="network_book_badge_setting">網路書籍標記</string>
+    <string name="filter_show_all">顯示全部</string>
+    <string name="filter_hide_in_shelf">隱藏書架中同源書籍</string>
+    <string name="filter_hide_same_name_author">隱藏書架中非同源書籍</string>
+    <string name="filter_show_not_in_shelf_only">僅顯示不在書架中的書籍</string>
+    <string name="follow_read_background">跟隨背景</string>
+    <string name="split_title_by_position">按位置分割</string>
+    <string name="split_title_by_flag">按標記分割</string>
+    <string name="split_title_by_regex">按正則分割</string>
+    <string name="split_title_position">分割位置</string>
+    <string name="search_result_count">搜尋結果 %1$d</string>
+    <string name="search_source_progress"> · 進度 %1$d/%2$d</string>
+    <string name="search_empty_scope_disable_precision">%1$s 分組搜尋無結果。是否停用精準搜尋?</string>
+    <string name="search_empty_scope_switch_all">%1$s 分組搜尋無結果。是否切換到全部分組?</string>
+    <string name="search_type">搜尋類型</string>
+    <string name="search_has_more">上拉或點擊按鈕載入更多</string>
+    <string name="search_book_source_count">%1$d</string>
+    <string name="search_layout_list">列表佈局</string>
+    <string name="search_layout_source_grouped">按來源分組</string>
+    <string name="download_cache_config">下載與快取</string>
+    <string name="http_cache">HTTP 快取</string>
+    <string name="cover_cache">封面快取</string>
+    <string name="manga_cache">漫畫快取</string>
+    <string name="cache_size_mb">%1$.1f MB</string>
+    <string name="download_setting">下載</string>
+    <string name="image_cache">圖片快取</string>
+    <string name="network">網路</string>
+    <string name="translation_config">翻譯設定</string>
+    <string name="llm_translate_enabled">啟用章節翻譯</string>
+    <string name="translation_provider">翻譯供應商</string>
+    <string name="llm_provider">供應商</string>
+    <string name="openai_config">OpenAI 設定</string>
+    <string name="llm_base_url">Base URL</string>
+    <string name="llm_api_key">API 金鑰</string>
+    <string name="llm_model">模型</string>
+    <string name="translation_options">翻譯選項</string>
+    <string name="llm_target_language">目標語言</string>
+    <string name="llm_max_chars_per_chunk">每個區塊最大字元數</string>
+    <string name="llm_concurrent_chunks">並發區塊數</string>
+    <string name="llm_retry_count">重試次數</string>
+    <string name="llm_temperature">溫度</string>
+    <string name="llm_temperature_description">允許範圍:0-2。越接近 0 越嚴格;越接近 2 越具創造力。</string>
+    <string name="translation_prompt">翻譯提示詞</string>
+    <string name="llm_prompt">提示詞</string>
+    <string name="translate_chapter">翻譯章節</string>
+    <string name="show_original">顯示原文</string>
+    <string name="retranslate_chapter">重新翻譯章節</string>
+    <string name="retranslate_confirm">這將刪除現有翻譯並重新翻譯。是否繼續?</string>
+    <string name="translation_in_progress">翻譯中:%1$d%%</string>
+    <string name="translation_failed">翻譯失敗:%1$s</string>
+    <string name="no_translation_cache">無翻譯快取</string>
+    <string name="delete_translation_cache">刪除翻譯快取</string>
+    <string name="translation_cache_size">快取大小:%1$s</string>
+    <string name="clear_translation_cache">清除快取</string>
+    <string name="translation_cache">翻譯快取</string>
+    <string name="translate">翻譯</string>
+    <string name="return_to_original">返回原文</string>
+    <string name="translation_progress">翻譯中 %1$d%%</string>
+    <string name="translation_started">翻譯已開始,請稍候…</string>
+    <string name="translation_app_ai_provider">使用應用 AI 介面</string>
+    <string name="translation_app_ai_provider_summary">模型、API 金鑰和協定在 AI 設定中配置。</string>
+    <string name="ai_config">AI 設定</string>
+    <string name="ai_profile_database">設定檔資料庫</string>
+    <string name="ai_model_database">模型</string>
+    <string name="ai_provider_database">供應商</string>
+    <string name="ai_tasks">任務</string>
+    <string name="ai_chapter_summary">章節摘要</string>
+    <string name="ai_skills">技能</string>
+    <string name="ai_new_skill">新建技能</string>
+    <string name="ai_chat">AI 聊天</string>
+    <string name="ai_recent_chats">最近對話</string>
+    <string name="ai_new_chat">新建對話</string>
+    <string name="ai_replying">AI 正在回覆…</string>
+    <string name="ai_send">傳送</string>
+    <string name="ai_chat_input_hint">輸入任何問題…</string>
+    <string name="ai_chat_empty">開始對話</string>
+    <string name="ai_regenerate">重新生成</string>
+    <string name="ai_thinking_mode">思考模式</string>
+    <string name="ai_thinking_strength">強度</string>
+    <string name="ai_thinking_off">關閉</string>
+    <string name="ai_thinking_auto">自動</string>
+    <string name="ai_thinking_deep">深度</string>
+    <string name="ai_you">你</string>
+    <string name="ai_assistant">助手</string>
+    <string name="ai_reasoning_trace">推理過程</string>
+    <string name="ai_reasoning_streaming">思考中</string>
+    <string name="ai_reasoning_done">思考完成</string>
+    <string name="ai_tool_trace">工具</string>
+    <string name="ai_tool_confirmation">確認工具操作</string>
+    <string name="ai_book_results">相關書籍</string>
+    <string name="ai_scroll_to_bottom">捲動到底部</string>
+    <string name="ai_thinking_seconds">思考 %.1f 秒</string>
+    <string name="ai_thinking_show_more">顯示 %d 個更多步驟</string>
+    <string name="ai_thinking_collapse">收合</string>
+    <string name="ai_tool_done">完成</string>
+    <string name="ai_tool_pending">等待中</string>
+    <string name="ai_tool_running">執行中</string>
+    <string name="ai_tool_input">輸入:</string>
+    <string name="ai_tool_output">輸出:</string>
+    <string name="ai_current_provider">目前供應商</string>
+    <string name="ai_current_model">目前模型</string>
+    <string name="ai_current">目前</string>
+    <string name="ai_model_not_configured">尚未設定模型</string>
+    <string name="ai_new_provider">新建供應商</string>
+    <string name="ai_new_model">新建模型</string>
+    <string name="ai_new_profile">新建設定檔</string>
+    <string name="ai_provider">供應商</string>
+    <string name="ai_provider_edit">供應商設定</string>
+    <string name="ai_provider_name">供應商名稱</string>
+    <string name="ai_protocol">協定</string>
+    <string name="ai_provider_preset">供應商預設</string>
+    <string name="ai_custom_provider">自訂供應商</string>
+    <string name="ai_base_url">Base URL</string>
+    <string name="ai_models_url">模型 URL</string>
+    <string name="ai_api_key">API 金鑰</string>
+    <string name="ai_api_key_summary">儲存在本機。留空則保留已儲存的金鑰。</string>
+    <string name="ai_model_config">模型</string>
+    <string name="ai_model_edit">模型設定</string>
+    <string name="ai_provider_models">供應商模型</string>
+    <string name="ai_fetch_models">擷取模型</string>
+    <string name="ai_fetch_and_save_models">擷取並儲存模型</string>
+    <string name="ai_no_provider_configured">請先建立供應商</string>
+    <string name="ai_no_models_imported">尚未匯入模型</string>
+    <string name="ai_select_model">選擇模型</string>
+    <string name="ai_add_model_manually">手動新增模型</string>
+    <string name="ai_not_set">未設定</string>
+    <string name="ai_current_value">目前:%1$s</string>
+    <string name="ai_model_name">模型名稱</string>
+    <string name="ai_model_id">模型 ID</string>
+    <string name="ai_context_window">上下文視窗</string>
+    <string name="ai_max_output_tokens">最大輸出 Token 數</string>
+    <string name="ai_temperature">溫度</string>
+    <string name="ai_model_actions">操作</string>
+    <string name="ai_save_default_model">儲存預設模型</string>
+    <string name="ai_save_provider">儲存供應商</string>
+    <string name="ai_save_and_sync_models">儲存並同步模型</string>
+    <string name="ai_save_model">儲存模型</string>
+    <string name="ai_advanced">進階</string>
+    <string name="ai_models_url_summary">選填。留空則使用協定預設的模型端點。</string>
+    <string name="ai_translation_task">翻譯任務</string>
+    <string name="ai_translation_target_language">目標語言</string>
+    <string name="ai_max_input_chars">最大輸入字元數</string>
+    <string name="ai_concurrent_requests">並發請求數</string>
+    <string name="ai_retry_count">重試次數</string>
+    <string name="ai_profile_status">設定檔</string>
+    <string name="ai_save_profile">儲存預設設定檔</string>
+    <string name="ai_test_connection">測試連線</string>
+    <string name="ai_profile_counts">供應商:%1$d,模型:%2$d,預設:%3$d</string>
+    <string name="homepage_select_from_kinds">從分類中選擇</string>
+    <string name="homepage_select_multiple_kinds">選擇多個分類</string>
+    <string name="homepage_n_selected">已選擇 %1$d</string>
+    <string name="homepage_select_one_kind">選擇一個分類</string>
+    <string name="or">或</string>
+    <string name="read_menu_bg_color_summary">閱讀器頂部和底部工具列的背景色</string>
+    <string name="read_menu_color_source">調色板來源</string>
+    <string name="container_background_color">容器背景色</string>
+    <string name="read_menu_container_color_summary">閱讀器選單調色板的基礎表面色</string>
+    <string name="read_menu_accent_color_summary">閱讀器頂部和底部工具列的文字和圖示顏色</string>
+    <string name="read_menu_icon_style">圖示樣式</string>
+    <string name="read_menu_live_preview">即時預覽</string>
+    <string name="read_menu_show_icon_text">顯示圖示標籤</string>
+    <string name="read_menu_icon_container_style">圖示容器樣式</string>
+    <string name="read_menu_icon_style_plain">純色</string>
+    <string name="read_menu_icon_style_tonal">色調</string>
+    <string name="read_menu_icon_style_outlined">外框</string>
+    <string name="read_menu_icons_per_row">每行圖示數</string>
+    <string name="read_menu_icon_row_count">圖示行數</string>
+    <string name="read_menu_custom_icons">自訂圖示</string>
+    <string name="read_menu_custom_icons_none">使用預設圖示</string>
+    <string name="read_menu_custom_icons_count">%1$d 個自訂圖示</string>
+    <string name="title_bar_icons">頂部工具列圖示</string>
+    <string name="title_bar_layout">頂部工具列佈局</string>
+    <string name="show_title_bar_icons">顯示懸浮圖示</string>
+    <string name="title_bar_icon_position">頂部工具列圖示位置</string>
+    <string name="position_top_start">左上</string>
+    <string name="position_top_end">右上</string>
+    <string name="position_bottom_start">左下</string>
+    <string name="position_bottom_end">右下</string>
+    <string name="read_menu_bottom_bar_layout">底部工具列佈局</string>
+    <string name="read_menu_bottom_corner_radius">底部工具列圓角半徑</string>
+    <string name="read_menu_floating_bottom_bar">懸浮底部工具列</string>
+    <string name="read_menu_blur_mode">選單模糊模式</string>
+    <string name="read_menu_blur_mode_none">無</string>
+    <string name="read_menu_bar_liquid_glass_summary">為懸浮底欄使用液態玻璃效果。需要 Android 13+</string>
+    <string name="read_menu_bar_liquid_glass_buttons">液態玻璃底部按鈕</string>
+    <string name="read_menu_top_bar_title_capsule">標題膠囊佈局</string>
+    <string name="read_menu_bottom_bar_liquid_glass_buttons_summary">為底部工具列按鈕和滑桿滑塊套用液態玻璃效果。需要 Android 13+</string>
+    <string name="read_menu_bar_blur_style">模糊樣式</string>
+    <string name="read_menu_blur_style_solid">實體模糊</string>
+    <string name="read_menu_blur_style_progressive">漸進式模糊</string>
+    <string name="read_menu_top_bar_liquid_glass_buttons_summary">為頂部工具列操作按鈕套用液態玻璃效果。需要 Android 13+</string>
+    <string name="read_menu_blur_radius">模糊半徑</string>
+    <string name="read_menu_blur_radius_summary">較大的半徑可能降低效能</string>
+    <string name="read_menu_blur_alpha">選單不透明度</string>
+    <string name="read_menu_blur_color">模糊色調顏色</string>
+    <string name="read_menu_border">邊框</string>
+    <string name="read_menu_border_width">寬度</string>
+    <string name="read_menu_border_color">顏色</string>
+    <string name="read_menu_bar_blur">啟用模糊</string>
+    <string name="read_menu_bar_liquid_glass">液態玻璃背景</string>
+    <string name="lab_setting">實驗室</string>
+    <string name="lab_enabled_title">啟用實驗室</string>
+    <string name="lab_enabled_summary">開啟以顯示實驗性功能。這些功能可能不穩定。</string>
+    <string name="lab_display">顯示</string>
+    <string name="lab_eink_display_title">電子墨水屏顯示</string>
+    <string name="lab_eink_display_summary">在平板介面中顯示電子墨水屏選項</string>
+    <string name="lab_eink_display_hint">您可以在主題 → 顯示選項中調整電子墨水屏顯示設定</string>
+    <string name="lab_eye_protection_title">護眼模式</string>
+    <string name="lab_eye_protection_summary">為漫畫和小說閱讀器套用暖色色調,減少眼睛疲勞</string>
+    <string name="lab_eye_protection_hint">您可以在主題 → 外觀中調整護眼設定</string>
+    <string name="eye_protection">護眼模式</string>
+    <string name="eye_protection_enabled">啟用護眼模式</string>
+    <string name="eye_protection_enabled_summary">透過暖色色調減少藍光</string>
+    <string name="color_temperature">色溫</string>
+    <string name="color_temperature_summary">目前色溫:%1$d</string>
+    <string name="eye_protection_schedule">定時</string>
+    <string name="eye_protection_schedule_summary">僅在設定的時間範圍內生效</string>
+    <string name="eye_protection_start_time">開始時間</string>
+    <string name="eye_protection_end_time">結束時間</string>
+    <string name="highlight_tag_config">標籤規則</string>
+    <string name="import_highlight_tag_rule">匯入標籤規則</string>
+    <string name="highlight_tag_title">標題</string>
+    <string name="highlight_tag_pattern">模式</string>
+    <string name="highlight_tag_empty_hint">尚未設定高亮標籤規則。新增規則以在書籍詳情頁高亮顯示特定標籤。</string>
+    <string name="highlight_tag_add_rule">新增規則</string>
+    <string name="highlight_tag_edit_rule">編輯規則</string>
+    <string name="highlight_tag_title_hint">標題(選填)</string>
+    <string name="highlight_tag_pattern_hint">正則表達式(例如 (\\d+)字)</string>
+    <string name="highlight_tag_display_mode">顯示模式</string>
+    <string name="highlight_tag_mode_horizontal">水平</string>
+    <string name="highlight_tag_mode_vertical">垂直</string>
+    <string name="highlight_tag_test_area">測試</string>
+    <string name="highlight_tag_test_input_hint">輸入測試文字</string>
+    <string name="highlight_tag_test_button">測試匹配</string>
+    <string name="highlight_tag_test_match">匹配:%1$s</string>
+    <string name="highlight_tag_test_match_vertical">匹配:%1$s | %2$s</string>
+    <string name="highlight_tag_test_no_match">無匹配</string>
+    <string name="highlight_tag_test_error">錯誤:%1$s</string>
+    <string name="tag_group_tab_highlight">高亮</string>
+    <string name="tag_group_tab_group">分組</string>
+    <string name="tag_group_add_rule">新建標籤分組</string>
+    <string name="tag_group_edit_rule">編輯分組規則</string>
+    <string name="tag_group_name">分組名稱</string>
+    <string name="tag_group_pattern">模式(匹配分類標籤)</string>
+    <string name="tag_group_empty_hint">尚未設定標籤分組規則。新增規則以按分類標籤自動分組書籍。</string>
+    <string name="tag_group_sync">同步標籤分組</string>
+    <string name="tag_group_rules">標籤分組規則</string>
+    <string name="tag_group_sync_complete">分組同步完成</string>
+    <string name="import_tag_group_rule">匯入標籤分組規則</string>
+    <string name="edit_replace_rule">編輯取代規則</string>
+    <string name="more_actions">更多操作</string>
+    <string name="match_pattern">匹配模式</string>
+    <string name="input_regex_or_keyword">輸入正則或關鍵字</string>
+    <string name="replace_with">取代為</string>
+    <string name="input_replacement_or_group">輸入取代內容或擷取群組</string>
+    <string name="regex_enabled">已啟用正則</string>
+    <string name="specific_scope">特定範圍</string>
+    <string name="scope_hint">指定此規則的適用範圍</string>
+    <string name="exclude_scope">排除範圍</string>
+    <string name="exclude_scope_hint">指定要排除的範圍</string>
+    <string name="timeout_ms">超時(毫秒)</string>
+    <string name="group_management">分組管理</string>
+    <string name="no_other_groups">無其他分組</string>
+    <string name="delete_selected">刪除所選</string>
+    <string name="sort_old_first">最舊優先</string>
+    <string name="sort_new_first">最新優先</string>
+    <string name="drag_disabled_in_sort_mode">此排序模式下禁用拖曳</string>
+    <string name="selection_mode">選擇模式</string>
+    <string name="folder_layout_mode">資料夾佈局模式</string>
+    <string name="list_cover_width">列表封面寬度</string>
+    <string name="folder_list_style">資料夾列表樣式</string>
+    <string name="horizontal_cover_count">水平封面數量</string>
+    <string name="grid_cover_width">網格封面寬度</string>
+    <string name="day_card_bg_color">日間卡片背景色</string>
+    <string name="night_card_bg_color">夜間卡片背景色</string>
+    <string name="compact_details">精簡詳情</string>
+    <string name="show_more_info">顯示更多資訊</string>
+    <string name="show_latest_chapter">顯示最新章節</string>
+    <string name="show_synopsis">顯示簡介</string>
+    <string name="synopsis_lines">簡介行數</string>
+    <string name="show_all_synopsis">顯示全部簡介</string>
+    <string name="show_lines_synopsis">顯示 %1$d 行簡介</string>
+    <string name="show_tags">顯示標籤</string>
+    <string name="custom_tag_colors">自訂標籤顏色</string>
+    <string name="manage_tag_colors">管理標籤顏色</string>
+    <string name="search_filter_first">搜尋按鈕先開啟篩選</string>
+    <string name="import_from_network">從網路匯入</string>
+    <string name="input_url_or_json_hint">輸入 URL 或 JSON</string>
+    <string name="history_label">歷史記錄:</string>
+    <string name="deselect_all">取消全選</string>
+    <string name="import_action">匯入</string>
+    <string name="edit_not_supported">不支援編輯</string>
+    <string name="import_status_new">新增</string>
+    <string name="import_status_update">更新</string>
+    <string name="import_status_existing">已存在</string>
+    <string name="import_status_error">錯誤</string>
+    <string name="details">詳情</string>
+    <string name="error_details">錯誤詳情</string>
+    <string name="reload">重新載入</string>
+    <string name="no_more_data">沒有更多資料</string>
+    <string name="load_next_page">載入下一頁</string>
+    <string name="load_more">載入更多</string>
+    <string name="timeline">時間線</string>
+    <string name="by_duration">按時長</string>
+    <string name="no_earlier_data">無更早的資料</string>
+    <string name="month_format">%1$d</string>
+    <string name="count_unit">次</string>
+    <string name="duration_unit">時長</string>
+    <string name="less_count">更少(</string>
+    <string name="more_count">更多(</string>
+    <string name="format_json">格式化</string>
+    <string name="minify_json">壓縮</string>
+    <string name="no_logs">無日誌</string>
+    <string name="no_crash_logs">無崩潰日誌</string>
+    <string name="select_or_search_category">選擇或搜尋分類</string>
+    <string name="multi_select_items">多選項目</string>
+    <string name="recently_read">最近閱讀:</string>
+    <string name="no_favorites_rss">尚未收藏任何訂閱!</string>
+    <string name="suggestion_label">建議:</string>
+    <string name="weekday_mon">週一</string>
+    <string name="weekday_tue">週二</string>
+    <string name="weekday_wed">週三</string>
+    <string name="weekday_thu">週四</string>
+    <string name="weekday_fri">週五</string>
+    <string name="weekday_sat">週六</string>
+    <string name="weekday_sun">週日</string>
+    <string name="saved_to_album">已儲存到相簿</string>
+    <string name="save_image_failed">儲存圖片失敗</string>
+    <string name="add_book_failed">新增書籍失敗</string>
+    <string name="data_empty">資料不能為空</string>
+    <string name="data_must_be_json">資料必須為 JSON 格式</string>
+    <string name="source_conversion_failed">源轉換失敗</string>
+    <string name="debug_finished">除錯完成</string>
+    <string name="save_failed">儲存失敗</string>
+    <string name="book_not_found">找不到書籍</string>
+    <string name="source_not_exist">源不存在</string>
+    <string name="sync_complete">同步完成</string>
+    <string name="clear_cache_error">清除快取出錯</string>
+    <string name="upload_success">上傳成功</string>
+    <string name="save_error">儲存失敗</string>
+    <string name="auto_change_source_failed">自動換源失敗</string>
+    <string name="group_name_empty">分組名稱不能為空</string>
+    <string name="cover_reset">重設封面</string>
+    <string name="rule_copied_to_clipboard">規則已複製到剪貼簿</string>
+    <string name="login_error">登入失敗</string>
+    <string name="read_aloud_timer_format">朗讀定時:%1$d 分鐘</string>
+    <string name="audio_focus_not_acquired">未能取得音訊焦點</string>
+    <string name="source_already_checking">正在校驗書源,請稍候</string>
+    <string name="check_timeout">校驗超時</string>
+    <string name="js_disabled">JS 已停用</string>
+    <string name="website_disabled">網站已停用</string>
+    <string name="search_rule_empty">搜尋規則為空</string>
+    <string name="search_disabled">搜尋已停用</string>
+    <string name="explore_rule_empty">發現規則為空</string>
+    <string name="explore_disabled">發現已禁用</string>
+    <string name="content_disabled_format">%1$s 內容已禁用</string>
+    <string name="toc_disabled_format">%1$s 目錄已禁用</string>
+    <string name="read_aloud_consecutive_errors">TTS 伺服器連續 5 次錯誤,朗讀已暫停。</string>
+    <string name="export_complete">匯出完成</string>
+    <string name="download_no_storage_permission">下載失敗:無儲存權限</string>
+    <string name="already_in_download_list">已在下載列表中</string>
 </resources>

+ 114 - 0
app/src/main/res/values/strings.xml

@@ -2083,4 +2083,118 @@
     <string name="tag_group_rules">Tag Group Rules</string>
     <string name="tag_group_sync_complete">Group sync complete</string>
     <string name="import_tag_group_rule">Import Tag Group Rules</string>
+
+    <!-- Compose UI extracted strings -->
+    <string name="edit_replace_rule">Edit Replace Rule</string>
+    <string name="more_actions">More Actions</string>
+    <string name="match_pattern">Match Pattern</string>
+    <string name="input_regex_or_keyword">Enter regex or keyword</string>
+    <string name="replace_with">Replace With</string>
+    <string name="input_replacement_or_group">Enter replacement or capture group</string>
+    <string name="regex_enabled">Regex enabled</string>
+    <string name="specific_scope">Specific Scope</string>
+    <string name="scope_hint">Specify scope for this rule</string>
+    <string name="exclude_scope">Exclude Scope</string>
+    <string name="exclude_scope_hint">Specify scope to exclude</string>
+    <string name="timeout_ms">Timeout (ms)</string>
+    <string name="group_management">Group Management</string>
+    <string name="no_other_groups">No other groups</string>
+    <string name="delete_selected">Delete Selected</string>
+    <string name="sort_old_first">Old First</string>
+    <string name="sort_new_first">New First</string>
+    <string name="drag_disabled_in_sort_mode">Drag disabled in this sort mode</string>
+    <string name="selection_mode">Selection Mode</string>
+    <string name="folder_layout_mode">Folder Layout Mode</string>
+    <string name="list_cover_width">List Cover Width</string>
+    <string name="folder_list_style">Folder List Style</string>
+    <string name="horizontal_cover_count">Horizontal Cover Count</string>
+    <string name="grid_cover_width">Grid Cover Width</string>
+    <string name="day_card_bg_color">Day Card Background Color</string>
+    <string name="night_card_bg_color">Night Card Background Color</string>
+    <string name="compact_details">Compact Details</string>
+    <string name="show_more_info">Show More Info</string>
+    <string name="show_latest_chapter">Show Latest Chapter</string>
+    <string name="show_synopsis">Show Synopsis</string>
+    <string name="synopsis_lines">Synopsis Lines</string>
+    <string name="show_all_synopsis">Show all synopsis</string>
+    <string name="show_lines_synopsis">Show %1$d lines of synopsis</string>
+    <string name="show_tags">Show Tags</string>
+    <string name="custom_tag_colors">Custom Tag Colors</string>
+    <string name="manage_tag_colors">Manage Tag Colors</string>
+    <string name="search_filter_first">Search button opens filter first</string>
+    <string name="import_from_network">Import from Network</string>
+    <string name="input_url_or_json_hint">Enter URL or JSON</string>
+    <string name="history_label">History:</string>
+    <string name="deselect_all">Deselect All</string>
+    <string name="import_action">Import</string>
+    <string name="edit_not_supported">Editing not supported</string>
+    <string name="import_status_new">New</string>
+    <string name="import_status_update">Update</string>
+    <string name="import_status_existing">Existing</string>
+    <string name="import_status_error">Error</string>
+    <string name="details">Details</string>
+    <string name="error_details">Error Details</string>
+    <string name="reload">Reload</string>
+    <string name="no_more_data">No more data</string>
+    <string name="load_next_page">Load next page</string>
+    <string name="load_more">Load More</string>
+    <string name="timeline">Timeline</string>
+    <string name="by_duration">By Duration</string>
+    <string name="no_earlier_data">No earlier data</string>
+    <string name="month_format">%1$d</string>
+    <string name="count_unit">times</string>
+    <string name="duration_unit">duration</string>
+    <string name="less_count">Less(</string>
+    <string name="more_count">More(</string>
+    <string name="format_json">Format</string>
+    <string name="minify_json">Minify</string>
+    <string name="no_logs">No logs</string>
+    <string name="no_crash_logs">No crash logs</string>
+    <string name="select_or_search_category">Select or search category</string>
+    <string name="multi_select_items">Multi-select Items</string>
+    <string name="recently_read">Recently Read: </string>
+    <string name="no_favorites_rss">No favorite subscriptions yet!</string>
+    <string name="suggestion_label">Suggestion:</string>
+    <string name="weekday_mon">Mon</string>
+    <string name="weekday_tue">Tue</string>
+    <string name="weekday_wed">Wed</string>
+    <string name="weekday_thu">Thu</string>
+    <string name="weekday_fri">Fri</string>
+    <string name="weekday_sat">Sat</string>
+    <string name="weekday_sun">Sun</string>
+    <string name="saved_to_album">Saved to album</string>
+    <string name="save_image_failed">Failed to save image</string>
+    <string name="add_book_failed">Failed to add book</string>
+    <string name="data_empty">Data cannot be empty</string>
+    <string name="data_must_be_json">Data must be in JSON format</string>
+    <string name="source_conversion_failed">Source conversion failed</string>
+    <string name="debug_finished">Debug finished</string>
+    <string name="save_failed">Save failed</string>
+    <string name="book_not_found">Book not found</string>
+    <string name="source_not_exist">Source does not exist</string>
+    <string name="sync_complete">Sync complete</string>
+    <string name="clear_cache_error">Error clearing cache</string>
+    <string name="upload_success">Upload successful</string>
+    <string name="save_error">Save error</string>
+    <string name="auto_change_source_failed">Auto source change failed</string>
+    <string name="group_name_empty">Group name cannot be empty</string>
+    <string name="cover_reset">Cover reset</string>
+    <string name="rule_copied_to_clipboard">Rule copied to clipboard</string>
+    <string name="login_error">Login error</string>
+    <string name="read_aloud_timer_format">Read aloud timer: %1$d minutes</string>
+    <string name="audio_focus_not_acquired">Audio focus not acquired</string>
+    <string name="source_already_checking">Sources are being checked, please wait</string>
+    <string name="check_timeout">Check timeout</string>
+    <string name="js_disabled">JS disabled</string>
+    <string name="website_disabled">Website disabled</string>
+    <string name="search_rule_empty">Search rule is empty</string>
+    <string name="search_disabled">Search disabled</string>
+    <string name="explore_rule_empty">Explore rule is empty</string>
+    <string name="explore_disabled">Explore disabled</string>
+    <string name="content_disabled_format">%1$s content disabled</string>
+    <string name="toc_disabled_format">%1$s TOC disabled</string>
+    <string name="read_aloud_consecutive_errors">TTS server 5 consecutive errors, reading paused.</string>
+    <string name="export_complete">Export complete</string>
+    <string name="download_no_storage_permission">Download error: no storage permission</string>
+    <string name="already_in_download_list">Already in download list</string>
 </resources>