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)
This commit is contained in:
HapeLee committed 2026-06-29 02:28:17 +08:00
1 parent 803636df65
commit c0b7a555ec
24 files changed
+1968 -105

No files matched your search

+114
View File
@@ -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>