Compare commits

...

7 Commits

Author SHA1 Message Date
Koitharu
42bb5a65ab Fix crash in ScrobblingInfoSheet 2023-07-24 16:08:25 +03:00
Koitharu
0c37265a5b Update parsers 2023-07-24 16:03:08 +03:00
plum7x
7a65ae3ea7 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (447 of 447 strings)

Co-authored-by: plum7x <plumgift@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/zh_Hant/
Translation: Kotatsu/Strings
2023-07-24 15:56:11 +03:00
InfinityDouki56
ee027cd64f Translated using Weblate (Filipino)
Currently translated at 91.0% (407 of 447 strings)

Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/fil/
Translation: Kotatsu/Strings
2023-07-22 13:59:48 +03:00
Макар Разин
7b2bb5ea8f Translated using Weblate (Polish)
Currently translated at 100.0% (447 of 447 strings)

Translated using Weblate (Korean)

Currently translated at 79.6% (356 of 447 strings)

Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/pl/
Translation: Kotatsu/Strings
2023-07-22 13:59:48 +03:00
plum7x
eff2d6bcb6 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (447 of 447 strings)

Co-authored-by: plum7x <plumgift@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/kotatsu/strings/zh_Hant/
Translation: Kotatsu/Strings
2023-07-22 13:59:48 +03:00
Koitharu
08acf2d882 Fix crashes 2023-07-19 15:18:30 +03:00
8 changed files with 514 additions and 429 deletions

View File

@@ -17,8 +17,8 @@ android {
//TODO: update as soon as sources becomes available //TODO: update as soon as sources becomes available
//noinspection OldTargetApi //noinspection OldTargetApi
targetSdkVersion 33 targetSdkVersion 33
versionCode 564 versionCode 566
versionName '5.3.7' versionName '5.3.9'
generatedDensities = [] generatedDensities = []
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -81,7 +81,7 @@ afterEvaluate {
} }
dependencies { dependencies {
//noinspection GradleDependency //noinspection GradleDependency
implementation('com.github.KotatsuApp:kotatsu-parsers:69e0a531df') { implementation('com.github.KotatsuApp:kotatsu-parsers:42cc0430f8') {
exclude group: 'org.json', module: 'json' exclude group: 'org.json', module: 'json'
} }
@@ -138,8 +138,8 @@ dependencies {
implementation 'com.github.solkin:disk-lru-cache:1.4' implementation 'com.github.solkin:disk-lru-cache:1.4'
implementation 'io.noties.markwon:core:4.6.2' implementation 'io.noties.markwon:core:4.6.2'
implementation 'ch.acra:acra-http:5.10.1' implementation 'ch.acra:acra-http:5.11.0'
implementation 'ch.acra:acra-dialog:5.10.1' implementation 'ch.acra:acra-dialog:5.11.0'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12' debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'

View File

@@ -121,13 +121,14 @@ class ScrobblingInfoSheet :
dismissAllowingStateLoss() dismissAllowingStateLoss()
return return
} }
requireViewBinding().textViewTitle.text = scrobbling.title val binding = viewBinding ?: return
requireViewBinding().ratingBar.rating = scrobbling.rating * requireViewBinding().ratingBar.numStars binding.textViewTitle.text = scrobbling.title
requireViewBinding().textViewDescription.text = scrobbling.description?.sanitize() binding.ratingBar.rating = scrobbling.rating * binding.ratingBar.numStars
requireViewBinding().spinnerStatus.setSelection(scrobbling.status?.ordinal ?: -1) binding.textViewDescription.text = scrobbling.description?.sanitize()
requireViewBinding().imageViewLogo.contentDescription = getString(scrobbling.scrobbler.titleResId) binding.spinnerStatus.setSelection(scrobbling.status?.ordinal ?: -1)
requireViewBinding().imageViewLogo.setImageResource(scrobbling.scrobbler.iconResId) binding.imageViewLogo.contentDescription = getString(scrobbling.scrobbler.titleResId)
requireViewBinding().imageViewCover.newImageRequest(viewLifecycleOwner, scrobbling.coverUrl)?.apply { binding.imageViewLogo.setImageResource(scrobbling.scrobbler.iconResId)
binding.imageViewCover.newImageRequest(viewLifecycleOwner, scrobbling.coverUrl)?.apply {
placeholder(R.drawable.ic_placeholder) placeholder(R.drawable.ic_placeholder)
fallback(R.drawable.ic_placeholder) fallback(R.drawable.ic_placeholder)
error(R.drawable.ic_error_placeholder) error(R.drawable.ic_error_placeholder)

View File

@@ -62,12 +62,20 @@ class UserDataSettingsFragment : BasePreferenceFragment(R.string.data_and_privac
findPreference<Preference>(AppSettings.KEY_HTTP_CACHE_CLEAR)?.bindBytesSizeSummary(viewModel.httpCacheSize) findPreference<Preference>(AppSettings.KEY_HTTP_CACHE_CLEAR)?.bindBytesSizeSummary(viewModel.httpCacheSize)
findPreference<Preference>(AppSettings.KEY_SEARCH_HISTORY_CLEAR)?.let { pref -> findPreference<Preference>(AppSettings.KEY_SEARCH_HISTORY_CLEAR)?.let { pref ->
viewModel.searchHistoryCount.observe(viewLifecycleOwner) { viewModel.searchHistoryCount.observe(viewLifecycleOwner) {
pref.summary = pref.context.resources.getQuantityString(R.plurals.items, it, it) pref.summary = if (it < 0) {
view.context.getString(R.string.loading_)
} else {
pref.context.resources.getQuantityString(R.plurals.items, it, it)
}
} }
} }
findPreference<Preference>(AppSettings.KEY_UPDATES_FEED_CLEAR)?.let { pref -> findPreference<Preference>(AppSettings.KEY_UPDATES_FEED_CLEAR)?.let { pref ->
viewModel.feedItemsCount.observe(viewLifecycleOwner) { viewModel.feedItemsCount.observe(viewLifecycleOwner) {
pref.summary = pref.context.resources.getQuantityString(R.plurals.items, it, it) pref.summary = if (it < 0) {
view.context.getString(R.string.loading_)
} else {
pref.context.resources.getQuantityString(R.plurals.items, it, it)
}
} }
} }
viewModel.loadingKeys.observe(viewLifecycleOwner) { keys -> viewModel.loadingKeys.observe(viewLifecycleOwner) { keys ->

View File

@@ -13,7 +13,8 @@ class MultiSummaryProvider(@StringRes private val emptySummaryId: Int) :
return preference.context.getString(emptySummaryId) return preference.context.getString(emptySummaryId)
} else { } else {
values.joinToString(", ") { values.joinToString(", ") {
preference.entries[preference.findIndexOfValue(it)] preference.entries.getOrNull(preference.findIndexOfValue(it))
?: preference.context.getString(androidx.preference.R.string.not_set)
} }
} }
} }

View File

@@ -408,4 +408,38 @@
<string name="suggestions_enable_prompt">Gusto mo bang makatanggap ng personalized na mga mungkahi sa manga\?</string> <string name="suggestions_enable_prompt">Gusto mo bang makatanggap ng personalized na mga mungkahi sa manga\?</string>
<string name="downloads_removed">Inalis na ang mga download</string> <string name="downloads_removed">Inalis na ang mga download</string>
<string name="downloads_cancelled">Nakansela ang mga pag-download</string> <string name="downloads_cancelled">Nakansela ang mga pag-download</string>
<string name="clear_network_cache">Linisin ang network cache</string>
<string name="type">Uri</string>
<string name="address">Address</string>
<string name="port">Port</string>
<string name="proxy">Proxy</string>
<string name="invalid_value_message">Imbalidong value</string>
<string name="downloaded">Na-download</string>
<string name="images_proxy_title">Proxy sa pag-optimize ng mga imahe</string>
<string name="images_procy_description">Gamitin ang serbisyo ng wsrv.nl upang bawasan ang paggamit ng trapiko at pabilisin ang pag-load ng imahe kung maaari</string>
<string name="username">Username</string>
<string name="authorization_optional">Awtorisasyon (opsyonal)</string>
<string name="network">Network</string>
<string name="data_and_privacy">Data at privacy</string>
<string name="restore_summary">Ibalik ang dating ginawang backup</string>
<string name="webtoon_zoom_summary">Payagan ang pag-zoom in na gesture sa webtoon mode</string>
<string name="reader_info_bar_summary">Ipakita ang kasalukuyang oras at pagbabasa ng progreso sa tuktok ng screen</string>
<string name="show_pages_numbers_summary">Ipakita ang mga numero ng pahina sa ibabang gilid</string>
<string name="pages_animation_summary">I-animate ang paglipat ng pahina</string>
<string name="invalid_port_number">Imbalidong numero ng port</string>
<string name="clear_source_cookies_summary">I-clear ang mga cookie para sa tinukoy na domain lamang. Sa karamihan ng mga kaso, magpapawalang-bisa ang awtorisasyon</string>
<string name="manga_branch_title_template">%1$s (%2$s)</string>
<string name="download_option_all_chapters">Lahat ng mga kabanata na may pagsasalin na %s</string>
<string name="download_option_whole_manga">Ang buong manga</string>
<string name="download_option_first_n_chapters">Unang %s</string>
<string name="download_option_next_unread_n_chapters">Susunod na di-nabasa %s</string>
<string name="download_option_all_unread">Lahat ng di-nababasang kabanata</string>
<string name="download_option_all_unread_b">Lahat ng di-nababasang kabanata (%s)</string>
<string name="download_option_manual_selection">Manu-manong pumili ng mga kabanata</string>
<string name="invert_colors">Baliktarin ang mga kulay</string>
<string name="custom_directory">Pasadyang direktoryo</string>
<string name="pick_custom_directory">Pumili ng pasadyang direktoryo</string>
<string name="no_access_to_file">Wala kang access sa file o direktoryo na ito</string>
<string name="local_manga_directories">Mga lokal na direktoryo ng manga</string>
<string name="password">Password</string>
</resources> </resources>

View File

@@ -323,4 +323,33 @@
<string name="never">절대</string> <string name="never">절대</string>
<string name="clear_network_cache">네트워크 캐시 지우기</string> <string name="clear_network_cache">네트워크 캐시 지우기</string>
<string name="invalid_value_message">잘못된 값</string> <string name="invalid_value_message">잘못된 값</string>
<string name="just_now">방금</string>
<string name="enabled_sources">중고 소스</string>
<string name="detect_reader_mode">자동 감지 리더 모드</string>
<string name="explore">탐색</string>
<string name="options">옵션</string>
<string name="importing_manga">만화 가져오기</string>
<string name="color_correction_hint">선택한 색상 설정은 이 만화에 대해 기억됩니다</string>
<string name="services">서비스</string>
<string name="details_button_tip">더 많은 옵션을 보려면 읽기 버튼을 길게 누르세요</string>
<string name="clear_source_cookies_summary">지정된 도메인에 대해서만 쿠키를 지웁니다. 대부분의 경우 인증이 무효화됩니다</string>
<string name="history_shortcuts_summary">응용 프로그램 아이콘을 길게 눌러 최신 만화를 사용할 수 있도록 합니다</string>
<string name="reorder">재 주문</string>
<string name="folder_with_images">이미지가 있는 폴더</string>
<string name="download_option_all_unread_b">읽지 않은 모든 챕터(%s)</string>
<string name="download_option_all_unread">읽지 않은 모든 챕터</string>
<string name="download_option_all_chapters">%s 번역이 있는 모든 챕터</string>
<string name="color_correction">색보정</string>
<string name="reader_control_ltr">인체공학적 리더 컨트롤</string>
<string name="brightness">명도</string>
<string name="local_manga_directories">지역 만화 디렉토리</string>
<string name="no_access_to_file">이 파일 또는 디렉터리에 대한 액세스 권한이 없습니다</string>
<string name="various_languages">다양한 언어</string>
<string name="local_manga_processing">저장된 만화 처리</string>
<string name="show_reading_indicators_summary">기록 및 즐겨찾기에서 읽은 비율 표시</string>
<string name="reader_control_ltr_summary">오른쪽 가장자리를 탭하거나 오른쪽 키를 누르면 항상 다음 페이지로 전환됩니다</string>
<string name="contrast">차이</string>
<string name="reset">초기화</string>
<string name="text_unsaved_changes_prompt">저장되지 않은 변경 사항을 저장하거나 삭제하시겠습니까\?</string>
<string name="manga_error_description_pattern">오류 세부정보:&lt;br&gt;&lt;tt&gt;%1$s&lt;/tt&gt;&lt;br&gt;&lt;br&gt;1. &lt;a href=%2$s&gt;웹 브라우저에서 만화를 열어&lt;/a&gt; 소스에서 사용할 수 있는지 확인하세요&lt;br&gt;2. &lt;a href=kotatsu://about&gt;최신 버전의 Kotatsu&lt;/a&gt;&lt;br&gt;를 사용하고 있는지 확인하세요.3. 사용 가능한 경우 개발자에게 오류 보고서를 보냅니다.</string>
</resources> </resources>

View File

@@ -180,7 +180,7 @@
<string name="grid_size">Wielkość siatki</string> <string name="grid_size">Wielkość siatki</string>
<string name="search_on_s">Szukaj na %s</string> <string name="search_on_s">Szukaj na %s</string>
<string name="delete_manga">Usuń mangę</string> <string name="delete_manga">Usuń mangę</string>
<string name="_continue">Dalej</string> <string name="_continue">Kontynuuj</string>
<string name="error">Błąd</string> <string name="error">Błąd</string>
<string name="search_history_cleared">Wyczyszczone</string> <string name="search_history_cleared">Wyczyszczone</string>
<string name="internal_storage">Pamięć wewnętrzna</string> <string name="internal_storage">Pamięć wewnętrzna</string>
@@ -431,4 +431,16 @@
<string name="reader_info_bar_summary">Pokaż aktualny czas i postęp czytania u góry ekranu</string> <string name="reader_info_bar_summary">Pokaż aktualny czas i postęp czytania u góry ekranu</string>
<string name="details_button_tip">Naciśnij i przytrzymaj przycisk Czytaj, aby zobaczyć więcej opcji</string> <string name="details_button_tip">Naciśnij i przytrzymaj przycisk Czytaj, aby zobaczyć więcej opcji</string>
<string name="manga_branch_title_template">%1$s (%2$s)</string> <string name="manga_branch_title_template">%1$s (%2$s)</string>
<string name="clear_source_cookies_summary">Wyczyść pliki cookie tylko dla określonej domeny. W większości przypadków unieważni autoryzację</string>
<string name="download_option_all_chapters">Wszystkie rozdziały z tłumaczeniem %s</string>
<string name="download_option_first_n_chapters">Pierwszy %s</string>
<string name="download_option_all_unread">Wszystkie nieprzeczytane rozdziały</string>
<string name="download_option_all_unread_b">Wszystkie nieprzeczytane rozdziały (%s)</string>
<string name="download_option_whole_manga">Cała manga</string>
<string name="download_option_next_unread_n_chapters">Następna nieprzeczytana %s</string>
<string name="download_option_manual_selection">Wybierz rozdziały ręcznie</string>
<string name="custom_directory">Katalog niestandardowy</string>
<string name="pick_custom_directory">Wybierz katalog niestandardowy</string>
<string name="no_access_to_file">Nie masz dostępu do tego pliku lub katalogu</string>
<string name="local_manga_directories">Lokalne katalogi mangi</string>
</resources> </resources>

View File

@@ -26,7 +26,7 @@
<string name="text_delete_local_manga_batch">從裝置中永久地刪除選取項目\?</string> <string name="text_delete_local_manga_batch">從裝置中永久地刪除選取項目\?</string>
<string name="filter_load_error">無法載入流派列表</string> <string name="filter_load_error">無法載入流派列表</string>
<string name="chapters_will_removed_background">章節將在背景被刪除</string> <string name="chapters_will_removed_background">章節將在背景被刪除</string>
<string name="check_new_chapters_title">檢查新的章節並通知關於它資訊</string> <string name="check_new_chapters_title">檢查新的章節並通知關於它資訊</string>
<string name="download_slowdown_summary">有助于避免阻断您的IP地址</string> <string name="download_slowdown_summary">有助于避免阻断您的IP地址</string>
<string name="email_enter_hint">輸入您的 email 以繼續</string> <string name="email_enter_hint">輸入您的 email 以繼續</string>
<string name="new_sources_text">有新的漫畫來源可用</string> <string name="new_sources_text">有新的漫畫來源可用</string>
@@ -44,7 +44,7 @@
<string name="settings">設定</string> <string name="settings">設定</string>
<string name="nothing_found">沒有發現</string> <string name="nothing_found">沒有發現</string>
<string name="onboard_text">選擇您想閱讀的漫畫的語言。您可以之後在設定中變更。</string> <string name="onboard_text">選擇您想閱讀的漫畫的語言。您可以之後在設定中變更。</string>
<string name="clear_cookies_summary">可以在出一些问题时提供助。所有授权将被视为无</string> <string name="clear_cookies_summary">可以在出一些問題時提供助。 所有授權將被視為無</string>
<string name="history">歷史紀錄</string> <string name="history">歷史紀錄</string>
<string name="error_occurred">發生錯誤</string> <string name="error_occurred">發生錯誤</string>
<string name="network_error">網路錯誤</string> <string name="network_error">網路錯誤</string>
@@ -64,7 +64,7 @@
<string name="text_file_not_supported">選擇 ZIP 或 CBZ 檔案。</string> <string name="text_file_not_supported">選擇 ZIP 或 CBZ 檔案。</string>
<string name="no_bookmarks_summary">您可以在閱讀漫畫時建立書籤</string> <string name="no_bookmarks_summary">您可以在閱讀漫畫時建立書籤</string>
<string name="show_notification_new_chapters_on">您將會收到您正在閱讀的漫畫的更新通知</string> <string name="show_notification_new_chapters_on">您將會收到您正在閱讀的漫畫的更新通知</string>
<string name="tracker_warning">一些设备有不同的系统行为,这可能会破坏后台任务</string> <string name="tracker_warning">一些裝置有不同的系統行為,這可能會破壞背景任務</string>
<string name="protect_application_subtitle">輸入密碼以啟動應用程式</string> <string name="protect_application_subtitle">輸入密碼以啟動應用程式</string>
<string name="protect_application_summary">在啟動 Kotatsu 時要求密碼</string> <string name="protect_application_summary">在啟動 Kotatsu 時要求密碼</string>
<string name="chapters_empty">此漫畫沒有章節</string> <string name="chapters_empty">此漫畫沒有章節</string>
@@ -75,7 +75,7 @@
<string name="password_length_hint">密碼必須是 4 個字元以上</string> <string name="password_length_hint">密碼必須是 4 個字元以上</string>
<string name="auth_not_supported_by">不支援在 %s 上登錄</string> <string name="auth_not_supported_by">不支援在 %s 上登錄</string>
<string name="_s_deleted_from_local_storage">\"%s\" 已從本機儲存區中刪除</string> <string name="_s_deleted_from_local_storage">\"%s\" 已從本機儲存區中刪除</string>
<string name="exit_confirmation_summary">典籍兩次返回鍵以退出應用程式</string> <string name="exit_confirmation_summary">點擊兩次返回鍵以退出應用程式</string>
<string name="no_manga_sources_text">啟用漫畫來源以閱讀線上漫畫</string> <string name="no_manga_sources_text">啟用漫畫來源以閱讀線上漫畫</string>
<string name="text_clear_history_prompt">永久清除所有閱讀歷史紀錄\?</string> <string name="text_clear_history_prompt">永久清除所有閱讀歷史紀錄\?</string>
<string name="text_delete_local_manga">從裝置中永久刪除 \"%s\"\?</string> <string name="text_delete_local_manga">從裝置中永久刪除 \"%s\"\?</string>