From 77921062e50e94b81848dffc72fa8b659f180d82 Mon Sep 17 00:00:00 2001 From: Norbel AMBANUMBEN Date: Fri, 27 Oct 2023 10:41:31 +0100 Subject: [PATCH 1/3] Release 3.8.4 (#624) Related to https://github.com/ooni/probe/issues/2577 --- app/build.gradle | 4 +- .../ooniprobe/activity/OoniRunActivity.java | 2 +- .../test/suite/CircumventionSuite.java | 1 - app/src/main/res/values-el/strings.xml | 6 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-id/strings.xml | 30 ++-- app/src/main/res/values-ru/strings.xml | 4 +- app/src/main/res/values-sw/strings.xml | 46 +++--- app/src/main/res/values-tr/strings.xml | 142 +++++++++--------- app/src/main/res/values-zh-rCN/strings.xml | 10 +- .../test/suite/CircumventionSuiteTest.java | 1 - 11 files changed, 123 insertions(+), 125 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5abfe08e1..4d7f57bcf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId 'org.openobservatory.ooniprobe' minSdk libs.versions.minSdk.get().toInteger() targetSdk libs.versions.targetSdk.get().toInteger() - versionName '3.8.3' - versionCode 102 + versionName '3.8.4' + versionCode 106 testInstrumentationRunner "org.openobservatory.ooniprobe.TestAndroidJUnitRunner" buildConfigField 'String', 'OONI_API_BASE_URL', '"https://api.ooni.io/"' buildConfigField 'String', 'NOTIFICATION_SERVER', '"https://countly.ooni.io"' diff --git a/app/src/main/java/org/openobservatory/ooniprobe/activity/OoniRunActivity.java b/app/src/main/java/org/openobservatory/ooniprobe/activity/OoniRunActivity.java index 50613aecf..85fd4c3d3 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/activity/OoniRunActivity.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/activity/OoniRunActivity.java @@ -108,7 +108,7 @@ private void loadScreen(String mv, String tn, String ta){ if (versionCompare.compare(version_name, mv) >= 0) { try { Attribute attribute = gson.fromJson(ta, Attribute.class); - List urls = (attribute!=null && attribute.urls != null) ? attribute.urls : Collections.emptyList(); + List urls = (attribute!=null && attribute.urls != null) ? attribute.urls : null; AbstractSuite suite = getSuite.get(tn, urls); if (suite != null) { loadSuite(suite, urls); diff --git a/app/src/main/java/org/openobservatory/ooniprobe/test/suite/CircumventionSuite.java b/app/src/main/java/org/openobservatory/ooniprobe/test/suite/CircumventionSuite.java index 5f778a0cb..2addf9da5 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/test/suite/CircumventionSuite.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/test/suite/CircumventionSuite.java @@ -8,7 +8,6 @@ import org.openobservatory.ooniprobe.common.PreferenceManager; import org.openobservatory.ooniprobe.test.test.AbstractTest; import org.openobservatory.ooniprobe.test.test.Psiphon; -import org.openobservatory.ooniprobe.test.test.RiseupVPN; import org.openobservatory.ooniprobe.test.test.Tor; import java.util.ArrayList; diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 1e604e55f..daf2564fe 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -72,7 +72,7 @@ Εκτέλεση νέων πειραματικών δοκιμών Εκτέλεσε τις παρακάτω νέες πειραματικές δοκιμές που αναπτύχθηκαν από την ομάδα του OONI:\n%1$s\n\nΤα αποτελέσματά σου θα δημοσιευθούν στο [OONI Explorer](https://explorer.ooni.org/) και στο [OONI API](https://api.ooni.io/). Οι παρακάτω δοκιμές θα εκτελούνται μόνο ως μέρος των αυτοματοποιημένων δοκιμών: - Disabled Tests + Απενεργοποιημένες δοκιμές Gbit/s Mbit/s kbit/s @@ -377,8 +377,8 @@ Δημοσιεύοντας αποτελέσματα, αυξάνεις τη διαφάνεια για τυχόν παρεμβολές στο Διαδικτύο, και υποστηρίζεις την κοινότητα του OONI.\n\nΓια την αναγνώριση των παρόχων δικτύου, απαιτούνται πληροφορίες δικτύου (όπως ο Αριθμός Αυτόνομου Συστήματος ASN). Επιλογές δοκιμής Οι παραμετροποιήσεις που κάνετε μέσω των παραπάνω ρυθμίσεων δοκιμών (π.χ. απενεργοποίηση της δοκιμής WhatsApp) θα εφαρμόζονται τόσο σε δοκιμές που εκτελούνται χειροκίνητα, όσο και σε δοκιμές που εκτελούνται αυτόματα (όταν έχετε ενεργοποιημένες τις αυτοματοποιημένες δοκιμές). - Long running test - Run long running tests in foreground? + Δοκιμή μεγάλης διάρκειας + Να εκτελούνται οι δοκιμές μεγάλης διάρκειας στο προσκήνιο; Απόρρητο Αποστολή αναφορών σφαλμάτων Ρυθμίσεις για προχωρημένους/ες diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index a7167cb8d..f2b9b157c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -160,7 +160,7 @@ Copier l’URL de l’explorateur Partager l’URL de l’explorateur Copier dans le presse-papiers - Afficher dans l’Explorateur OONI + Dans l’Explorateur OONI Échec Vous pouvez essayer de relancer ce test Réessayer diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 106cce24b..5c885175e 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -377,32 +377,32 @@ Dengan mempublikasikan hasil, Anda meningkatkan transpaansi intervensi jaringan dan mendukung komunitas OONI.\n\nInformasi jaringan (yaitu, Nomor Sistem Otonom) dibutuhkan untuk mengidentifikasi Penyedia Layanan Internet. Pilihan Tes What you configure through the above test settings (e.g. disabling the WhatsApp test) will apply to tests run manually, as well as to tests run automatically (when automated testing is enabled). - Long running test - Run long running tests in foreground? + Uji yang berjalan lama + Jalankan uji yang berlangsung lama di latar depan? Kerahasiaan pribadi Kirim laporan tabrakan Advanced Mode Gelap Log Debug - See recent logs + Lihat log baru-baru ini Pengaturan Bahasa Pilih Bahasa - Always use domain fronting - OONI backend proxy + Selalu memakai domain fronting + Proksi back end OONI Proksi Tidak ada Psiphon - Custom Proxy - Custom Proxy URL - Custom proxy protocol + Proxy Custom + URL Proxy Custom + Protokol Proxy Custom Koneksi Nama host Port - Credentials (optional) + Kredensial (opsional) Nama pengguna Kata sandi - Use Psiphon over custom proxy - Are you unable to use OONI Probe? Try enabling [Psiphon](https://psiphon.ca/) to circumvent potential OONI Probe blocking. Alternatively, you can use a custom proxy. + Gunakan Psiphon melalui proxy khusus + Apakah anda tidak dapat menggunakan OONI Probe? Coba nyalakan [Psiphon](https://psiphon.ca/) untuk mengelabuhi pemblokiran OONI Probe. Anda juga dapat menggunakan proxy khusus untuk mengelabuhi. Batas durasi tes Durasi tes Kategori laman yang akan dites @@ -420,7 +420,7 @@ URL belum dimasukkan Jalankan Tambah laman - Load from template + Muat dari templat Jumlah laman yang sudah dites (0 artinya semua) Tes WhatsApp Tes Telegram @@ -439,7 +439,7 @@ Tes Psiphon Tes Tor Tes RiseupVPN - Warn when VPN is in use + Peringatkan ketika VPN sedang dipakai Kirim surel ke pendukung Silakan deskripsikan masalah yang Anda alami: Silakan kirim surel ke bugs@openobservatory.org dengan informasi aplikasi dan versi iOS. Ketuk \"Salin ke clipboard\" di bawah untuk salin alamat surel kami. @@ -449,7 +449,7 @@ Penyimpanan yang digunakan Hapus Bersihkan - You are about to delete all OONI measurements from your device. If uploaded, they will still be available on [OONI Explorer](https://explorer.ooni.org) + Anda akan menghapus semua pengukuran OONI dari perangkat Anda. Bila diunggah, mereka akan masih tersedia pada [OONI Explorer](https://explorer.ooni.org) Selesai dijalani Hentikan tes Coba mirror @@ -520,7 +520,7 @@ Peralatan keamanan komputer dan berita Peralatan komunikasi individual dan grup termasuk VoIP, messaging dan webmail Pembagian video, audio dan foto - Web hosting, blogging and other online publishing + Hosting web, blogging, dan publikasi daring lain. Mesin pencari dan portal Permainan online dan platform permainan (tidak termasuk situs perjudian) Hiburan termasuk sejarah, literatur, musik, satir dan humor diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a58a2b6af..1d493a92e 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -62,7 +62,7 @@ Проверьте блокировку сайтов используя OONI [Web Connectivity тест](https://ooni.org/nettest/web-connectivity/).\n\nТест использует списки сайтов от Citizen Lab: [глобальный](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv) и [по странам](https://github.com/citizenlab/test-lists/tree/master/lists).\n\nТест покажет, заблокированы ли эти сайты путем вмешательства в DNS, блокировки TCP/IP или через HTTP-прокси.\n\nПолученные результаты будут опубликованы в [OONI Explorer](https://explorer.ooni.org/) и [OONI API](https://api.ooni.io/). Измерить скорость и производительность сети Скорость и производительность сети можно измерить с помощью [NDT](https://ooni.io/nettest/ndt/).\n\nСкорость видеопотока — с помощью [DASH](https://ooni.io/nettest/dash/).\n\nЭти тесты обрабатывают данные и зависят от скорости вашей сети.\n\nРезультаты будут опубликованы в [OONI Explorer](https://explorer.ooni.io/world/) и [OONI API](https://api.ooni.io/).\n\nВнимание: в этих тестах используются серверы третьих сторон. Мы не можем гарантировать конфиденциальность вашего IP-адреса. - Запустив тесты в этой карточке, вы сможете:\n\n- Измерить скорость и производительность сети ([NDT] (https://ooni.org/nettest/ndt/) тест)\n- Измерить производительность потоковой передачи видео ([DASH](https://ooni.org/nettest/dash/) тест)\n- Проверить наличие [middlebox-технологий] (https://ooni.org/support/glossary/#middlebox) в вашей сети ([HTTP Invalid Request Line](https://ooni.org/nettest/http-invalid-request-line/) и [HTTP Header Field Manipulation](https://ooni.org/nettest/http-header-field-manipulation/) тесты)\n\nЭти тесты обрабатывают данные в зависимости от скорости вашей сети.\n\nРезультаты тестов будут опубликованы на сайте [OONI Explorer] (https://explorer.ooni.org/) и [OONI API](https://api.ooni.io/).\n\n**Дисклеймер:* * [NDT](https://ooni.org/nettest/ndt/) и [DASH](https://ooni.org/nettest/dash/) тесты проводятся на сторонних серверах, предоставленных [Measurement Lab (M-Lab)](https://www.measurementlab.net). Если вы запускаете эти тесты, M-Lab соберет и опубликует ваш IP-адрес (в исследовательских целях), независимо от ваших настроек OONI Probe. Узнайте больше об управлении данными компании M-Lab в их [политике конфиденциальности](https://www.measurementlab.net/privacy/). + Запустив тесты в этой карточке, вы сможете:\n\n- Измерить скорость и производительность сети ([NDT](https://ooni.org/nettest/ndt/) тест)\n- Измерить производительность потоковой передачи видео ([DASH](https://ooni.org/nettest/dash/) тест)\n- Проверить наличие [middlebox-технологий](https://ooni.org/support/glossary/#middlebox) в вашей сети ([HTTP Invalid Request Line](https://ooni.org/nettest/http-invalid-request-line/) и [HTTP Header Field Manipulation](https://ooni.org/nettest/http-header-field-manipulation/) тесты)\n\nЭти тесты обрабатывают данные в зависимости от скорости вашей сети.\n\nРезультаты тестов будут опубликованы на сайте [OONI Explorer](https://explorer.ooni.org/) и [OONI API](https://api.ooni.io/).\n\n**Дисклеймер:** [NDT](https://ooni.org/nettest/ndt/) и [DASH](https://ooni.org/nettest/dash/) тесты проводятся на сторонних серверах, предоставленных [Measurement Lab (M-Lab)](https://www.measurementlab.net). Если вы запускаете эти тесты, M-Lab соберет и опубликует ваш IP-адрес (в исследовательских целях), независимо от ваших настроек OONI Probe. Узнайте больше об управлении данными компании M-Lab в их [политике конфиденциальности](https://www.measurementlab.net/privacy/). Определение устройства middlebox в вашей сети Интернет-провайдеры часто используют сетевые устройства (middlebox) в решении различных сетевых задач (например, для кеширования). Бывает, что middleboxes применяются для интернет-цензуры и/или слежки.\n\nПроверьте, присутствуют ли middleboxes в вашей сети используя OONI тесты [HTTP Invalid Request Line](https://ooni.org/nettest/http-invalid-request-line/) и [HTTP Header Field Manipulation](https://ooni.io/nettest/http-header-field-manipulation/).\n\nРезультаты будут опубликованы в [OONI Explorer](https://explorer.ooni.io/world/) и [OONI API](https://api.ooni.io/). Протестировать блокировку мессенджеров @@ -365,7 +365,7 @@ Последний автоматический тест: %1$s. Только на Wi-Fi Только во время зарядки - Если вы включите автоматическое тестирование в OONI Probe, тесты будут проводиться несколько раз в день. Результаты будут автоматически публиковаться в OONI Explorer:https://explorer.ooni.org/\n\nВажно: Если у вас включен VPN, OONI Probe тесты не будут производиться автоматически. Пожалуйста, выключите VPN для автоматических тестов. Узнать больше: https://ooni.org/support/faq/#can-i-run-ooni-probe-over-a-vpn + Если вы включите автоматическое тестирование в OONI Probe, тесты будут проводиться несколько раз в день. Результаты будут автоматически публиковаться в OONI Explorer: https://explorer.ooni.org/\n\nВажно: Если у вас включен VPN, OONI Probe тесты не будут производиться автоматически. Пожалуйста, выключите VPN для автоматических тестов. Узнать больше: https://ooni.org/support/faq/#can-i-run-ooni-probe-over-a-vpn Обмен Автоматически публиковать результаты Загрузка результатов вручную diff --git a/app/src/main/res/values-sw/strings.xml b/app/src/main/res/values-sw/strings.xml index 2c5a9acf9..642e2a357 100644 --- a/app/src/main/res/values-sw/strings.xml +++ b/app/src/main/res/values-sw/strings.xml @@ -34,7 +34,7 @@ Msimbo wa nchi (k.m. IT ya Italia) Maelezo ya mtandao (pamoja na Nambari ya Mfumo wa Kujiendesha) Muda na tarehe ya majaribio - Tunafanya bidii kutokuchapisha anwani yako ya IP au habari zingine zozote zinayoweza kujitambulisha kibinafsi.\n\nJifunze zaidi kupitia [Sera ya Takwimu ya OONI] (https://ooni.org/about/data-policy/). + Tunafanya bidii kutokuchapisha anwani yako ya IP au habari zingine zozote zinayoweza kujitambulisha kibinafsi.\n\nJifunze zaidi kupitia [Sera ya Takwimu ya OONI](https://ooni.org/about/data-policy/). Kwa bonyeza \"Sawa\", utashiriki ripoti za ubovu wa programu ili kutusaidia kuboresha OONI Probe. Twende Badilisha chaguo-msingi @@ -58,19 +58,19 @@ Gonga kadi kwa zaidi ~%1$s Pima uzuiaji wa tovuti. - Angalia kama tovuti zimezuiwa kwa kutumia [Kipimo wa Kuunganishaa Wavuti](https://ooni.org/nettest/web-connectivity).\n\nKila unapoboyeza \"Anzisha\", unajaribu tovuti tofauti kutoka kwa Maabara ya Citizen [ya kimataifa](https://github.com/citizenlab/test-/blob/master/lists/global.csv) na [nchi maalum](https://github.com/citizenlab/test/tree/master/lists) orodha ya mtihani.\n\nIli kujaribu tovuti za chaguo lako, gusa kitufe cha Chagua tovuti au chagua makundi ya tovuti kupitia mipangilio ya kadi hii. \n\nMtihani huu unapima kama tovuti zimefungwa kwa njia ya DNS kutatiza, TCP / IP kuzuiwa au kwa mhimili wa HTTP wazi.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/world/) na [OONI API](https://api.ooni.io/).\n\n.\n\n - Angalia ikiwa tovuti zimezuiwa kutumia OONI\'s [Mtihani wa Muunganisho wa Wavuti] (https://ooni.org/nettest/web-connectivity/).\n\nUtajaribu tovuti zilizojumuishwa katika Maabara ya Citizen [ya kimataifa] (https://github.com/citizenlab/test-lists/blob/master/lists/global.csv) na [maalum kwa nchi] (https: // github .com / Citizlab / test-lists / tree / master / lists) orodha za majaribio.\n\nJaribio hili linapima ikiwa tovuti zimezuiwa kwa njia ya kukwamisha DNS, kuzuia TCP / IP au kwa wakala wa uwazi wa HTTP.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer] (https://explorer.ooni.org/) na [OONI API] (https://api.ooni.io/). + Angalia kama tovuti zimezuiwa kwa kutumia [Kipimo wa Kuunganishaa Wavuti](https://ooni.org/nettest/web-connectivity).\n\nKila unapoboyeza \"Anzisha\", unajaribu tovuti tofauti kutoka kwa Maabara ya Citizen [ya kimataifa](https://github.com/citizenlab/test-/blob/master/lists/global.csv) na [nchi maalum](https://github.com/citizenlab/test/tree/master/lists) orodha ya mtihani.\n\nIli kujaribu tovuti za chaguo lako, gusa kitufe cha Chagua tovuti au chagua makundi ya tovuti kupitia mipangilio ya kadi hii. \n\nMtihani huu unapima kama tovuti zimefungwa kwa njia ya DNS kutatiza, TCP/IP kuzuiwa au kwa mhimili wa HTTP wazi.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/world/) na [OONI API](https://api.ooni.io/).\n + Angalia ikiwa tovuti zimezuiwa kutumia OONI\'s [Mtihani wa Muunganisho wa Wavuti](https://ooni.org/nettest/web-connectivity/).\n\nUtajaribu tovuti zilizojumuishwa katika Maabara ya Citizen [ya kimataifa](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv) na [maalum kwa nchi](https://github.com/citizenlab/test-lists/tree/master/lists) orodha za majaribio.\n\nJaribio hili linapima ikiwa tovuti zimezuiwa kwa njia ya kukwamisha DNS, kuzuia TCP/IP au kwa wakala wa uwazi wa HTTP.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/) na [OONI API](https://api.ooni.io/). Pima kasi ya mtandao wako na utendaji - Pima kasi na utendaji kazi wa mtandao wako kwa kutumia jaribio la [NDT] (https://ooni.org/nettest/ndt/).\n\nPima utiririshaji wa video ukitumia jaribio la [DASH] (https://ooni.org/nettest/dash/).\n\nVipimo hivi hutumia data kulingana na kasi ya mtandao wako.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer] (https://explorer.ooni.org/world/) na [OONI API] (https://api.ooni.io/).\n\nKanusho: Majaribio haya yanategemea seva za mtu mwingine. Kwa hivyo hatuwezi kuhakikisha kuwa anwani yako ya IP haitakusanywa. - Kwa kufanya majaribio kwenye kadi hii, uta:\n\n- Pima kasi na utendaji wa mtandao wako ([NDT] (https://ooni.org/nettest/ndt/) mtihani)\n- Pima utiririshaji wa video ([DASH] (https://ooni.org/nettest/dash/) mtihani)\n- Angalia uwepo wa [teknolojia za kati] -request-line /) na [Udhibiti wa Shamba la kichwa cha HTTP] (https://ooni.org/nettest/http-header-field-manipulation/) vipimo)\n\nVipimo hivi hutumia data kulingana na kasi ya mtandao wako.\n\nMatokeo yako ya mtihani yatachapishwa kwenye [OONI Explorer] (https://explorer.ooni.org/) na [OONI API] (https://api.ooni.io/).\n\n** Kanusho: ** Jaribio la [NDT] (https://ooni.org/nettest/ndt/) na [DASH] (https://ooni.org/nettest/dash/) hufanywa dhidi ya seva za mtu wa tatu iliyotolewa na [Maabara ya Upimaji (M-Lab)] (https://www.measurementlab.net/). Ikiwa utafanya majaribio haya, M-Lab itakusanya na kuchapisha anwani yako ya IP (kwa sababu za utafiti), bila kujali mipangilio yako ya OONI Probe. Pata maelezo zaidi kuhusu utawala wa data wa M-Lab kupitia [taarifa ya faragha] (https://www.measurementlab.net/privacy/). + Pima kasi na utendaji kazi wa mtandao wako kwa kutumia jaribio la [NDT](https://ooni.org/nettest/ndt/).\n\nPima utiririshaji wa video ukitumia jaribio la [DASH](https://ooni.org/nettest/dash/).\n\nVipimo hivi hutumia data kulingana na kasi ya mtandao wako.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/world/) na [OONI API](https://api.ooni.io/).\n\nKanusho: Majaribio haya yanategemea seva za mtu mwingine. Kwa hivyo hatuwezi kuhakikisha kuwa anwani yako ya IP haitakusanywa. + Kwa kufanya majaribio kwenye kadi hii, uta:\n\n- Pima kasi na utendaji wa mtandao wako ([NDT](https://ooni.org/nettest/ndt/) mtihani)\n- Pima utiririshaji wa video ([DASH](https://ooni.org/nettest/dash/) mtihani)\n- Angalia uwepo wa [teknolojia za kati] (https://ooni.org/sw/support/glossary#middlebox) na [Udhibiti wa Shamba la kichwa cha HTTP](https://ooni.org/nettest/http-header-field-manipulation/) vipimo)\n\nVipimo hivi hutumia data kulingana na kasi ya mtandao wako.\n\nMatokeo yako ya mtihani yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/) na [OONI API](https://api.ooni.io/).\n\n**Kanusho:** Jaribio la [NDT](https://ooni.org/nettest/ndt/) na [DASH](https://ooni.org/nettest/dash/) hufanywa dhidi ya seva za mtu wa tatu iliyotolewa na [Maabara ya Upimaji (M-Lab)] (https://www.measurementlab.net/). Ikiwa utafanya majaribio haya, M-Lab itakusanya na kuchapisha anwani yako ya IP (kwa sababu za utafiti), bila kujali mipangilio yako ya OONI Probe. Pata maelezo zaidi kuhusu utawala wa data wa M-Lab kupitia [taarifa ya faragha](https://www.measurementlab.net/privacy/). Gundua visanduku vya kati kwenye mtandao wako - Watoa Huduma za Mtandao mara nyingi hutumia vifaa vya mtandao (visanduku vya kati) kwa madhumuni mbalimbali ya mitandao (kama akiba). Wakati mwingine sanduku hizi za kati hutumiwa kutekeleza udhibiti wa mtandao na / au ufuatiliaji.\n\nPata visanduku vya kati katika mtandao wako ukitumia OONI ya [Mstari wa Ombi batili wa HTTP] (https://ooni.org/nettest/http-invalid-request-line/) na [Udhibiti wa Shamba la Kichwa cha HTTP] (https://ooni.org/nettest / http-kichwa-shamba-kudanganywa /) vipimo.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer] (https://explorer.ooni.org/world/) na [OONI API] (https://api.ooni.io/) + Watoa Huduma za Mtandao mara nyingi hutumia vifaa vya mtandao (visanduku vya kati) kwa madhumuni mbalimbali ya mitandao (kama akiba). Wakati mwingine sanduku hizi za kati hutumiwa kutekeleza udhibiti wa mtandao na / au ufuatiliaji.\n\nPata visanduku vya kati katika mtandao wako ukitumia OONI ya [Mstari wa Ombi batili wa HTTP](https://ooni.org/nettest/http-invalid-request-line/) na [Udhibiti wa Shamba la Kichwa cha HTTP](https://ooni.org/nettest / http-kichwa-shamba-kudanganywa /) vipimo.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/world/) na [OONI API](https://api.ooni.io/) Jaribu uzuiaji wa programu za ujumbe wa papo hapo - Angalia ikiwa [WhatsApp] (https://ooni.org/nettest/whatsapp/), [Facebook Messenger] (https://ooni.org/nettest/facebook-messenger/), [Telegram] (https: // ooni .org / nettest / telegram /), na [Signal] (https://ooni.org/nettest/signal) zimezuiwa.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer] (https://explorer.ooni.org/world/) na [OONI API] (https://api.ooni.io/). + Angalia ikiwa [WhatsApp](https://ooni.org/nettest/whatsapp/), [Facebook Messenger](https://ooni.org/nettest/facebook-messenger/), [Telegram](https://ooni.org/nettest/telegram/), na [Signal](https://ooni.org/nettest/signal) zimezuiwa.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/world/) na [OONI API](https://api.ooni.io/). Jaribu kuzuia vifaa vya kuzuia uzuiaji - Angalia ikiwa [Psiphon] (https://ooni.org/nettest/psiphon/), [Tor] (https://ooni.org/nettest/tor/) au [RiseupVPN] (https://ooni.org/ nettest / riseupvpn /) zimezuiwa.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer] (https://explorer.ooni.org/) na [OONI API] (https://api.ooni.io/). + Angalia ikiwa [Psiphon](https://ooni.org/nettest/psiphon/), [Tor](https://ooni.org/nettest/tor/) au [RiseupVPN](https://ooni.org/nettest/riseupvpn/) zimezuiwa.\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/) na [OONI API](https://api.ooni.io/). Endesha majaribio mapya ya majaribio - Tumia majaribio mapya ya majaribio yaliyotengenezwa na timu ya OONI:\n{orodha ya majaribio_ya majaribio}\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer] (https://explorer.ooni.org/) na [OONI API] (https://api.ooni.io/). + Tumia majaribio mapya ya majaribio yaliyotengenezwa na timu ya OONI:\n{orodha ya majaribio_ya majaribio}\n\nMatokeo yako yatachapishwa kwenye [OONI Explorer](https://explorer.ooni.org/) na [OONI API](https://api.ooni.io/). Vipimo vyafuatavyo yataendeshwa tu kama sehemu ya majaribio ya kiotomatiki: Disabled Tests Gbit / s @@ -160,7 +160,7 @@ Nakili URL ya Kichunguzi Shiriki URL ya Kichunguzi Nakili kwenye ubao wa kunakili - Onyesha katika OONI Explorer + Katika OONI Explorer Imeshindwa Unaweza kujaribu jaribio hili tena jaribu tena @@ -168,12 +168,12 @@ Inapatikana %1$s inapatikana. Inawezekana imefungwa - %1$s inawezekana imezuiwa kwa njia ya %2$s.\n\nKumbuka: Chanya za uwongo zinaweza kutokea. Jifunze zaidi [hapa] (https://ooni.org/support/faq/#what-are-false-positives). + %1$s inawezekana imezuiwa kwa njia ya %2$s.\n\nKumbuka: Chanya za uwongo zinaweza kutokea. Jifunze zaidi [hapa](https://ooni.org/support/faq/#what-are-false-positives). Udhibiti wa Udhibiti - ** Uharibifu wa DNS ** - ** Kuzuia msingi wa TCP / IP ** - ** Kuzuia HTTP (ukurasa wa kuzuia unaweza kutumiwa) ** - ** Kuzuia HTTP (maombi ya HTTP yameshindwa) ** + **Uharibifu wa DNS** + **Kuzuia msingi wa TCP/IP** + **Kuzuia HTTP (ukurasa wa kuzuia unaweza kutumiwa)** + **Kuzuia HTTP (maombi ya HTTP yameshindwa)** Programu ya Simu ya Mkononi sawa Imeshindwa @@ -236,14 +236,14 @@ Kuchelewa kwa Playout Inawezekana imefungwa Kufanya kazi - [Psiphon] (https://psiphon.ca/) inaonekana kuzuiwa. - Tuliweza kufanikiwa kufunga bootstrap muunganisho wa Psiphon. Hii inamaanisha kuwa [Psiphon] (https://psiphon.ca/) inapaswa kufanya kazi. + [Psiphon](https://psiphon.ca/) inaonekana kuzuiwa. + Tuliweza kufanikiwa kufunga bootstrap muunganisho wa Psiphon. Hii inamaanisha kuwa [Psiphon](https://psiphon.ca/) inapaswa kufanya kazi. Wakati wa Bootstrap sekunde %1$s Inawezekana imefungwa Kufanya kazi - .[Tor] (https://www.torproject.org/) inaonekana kuzuiwa - Tuliweza kufanikiwa kuunganisha kwa madaraja ya Tor ya msingi na / au mamlaka ya saraka ya Tor. Hii inamaanisha kuwa [Tor] (https://www.torproject.org/) inapaswa kufanya kazi. + .[Tor](https://www.torproject.org/) inaonekana kuzuiwa + Tuliweza kufanikiwa kuunganisha kwa madaraja ya Tor ya msingi na / au mamlaka ya saraka ya Tor. Hii inamaanisha kuwa [Tor](https://www.torproject.org/) inapaswa kufanya kazi. Madaraja chaguomsingi %1$s / %2$s sawa Mamlaka ya Saraka @@ -255,8 +255,8 @@ Kushikana mikono Inawezekana imefungwa Kufanya kazi - [KuinukaVPN] (https://riseup.net/vpn) inaonekana kuzuiwa.\n \n\n \n \n \n \n  - Tumeweza kufanikiwa kuungana na seva ya bootstrap ya RiseupVPN na milango ya VPN. Hii inamaanisha kuwa [RiseupVPN] (https://riseup.net/vpn) inapaswa kufanya kazi. + [KuinukaVPN](https://riseup.net/vpn) inaonekana kuzuiwa. + Tumeweza kufanikiwa kuungana na seva ya bootstrap ya RiseupVPN na milango ya VPN. Hii inamaanisha kuwa [RiseupVPN](https://riseup.net/vpn) inapaswa kufanya kazi. Seva ya Bootstrap Uunganisho wa OpenVPN Uunganisho uliofungwa @@ -402,7 +402,7 @@ Jina la mtumiaji Nywila Tumia Psiphon kwa ajili ya wakala maalum - Je! Hauwezi kutumia OONI Probe? Jaribu kuwezesha [Psiphon] (https://psiphon.ca/) kukwepa uwezekano wa kuzuia OONI Probe. Vinginevyo, unaweza kutumia wakala wa kawaida. + Je! Hauwezi kutumia OONI Probe? Jaribu kuwezesha [Psiphon](https://psiphon.ca/) kukwepa uwezekano wa kuzuia OONI Probe. Vinginevyo, unaweza kutumia wakala wa kawaida. Punguza muda wa kujaribu Muda wa jaribio Vikundi vya wavuti kujaribu @@ -449,7 +449,7 @@ Uhifadhi uliotumika Futa Ondoa - Uko karibu kufuta vipimo vyote vya OONI kutoka kwa kifaa chako. Ikiwa zimepakiwa, bado zitapatikana kwenye [OONI Explorer] (https://explorer.ooni.org) + Uko karibu kufuta vipimo vyote vya OONI kutoka kwa kifaa chako. Ikiwa zimepakiwa, bado zitapatikana kwenye [OONI Explorer](https://explorer.ooni.org) Imemaliza kukimbia Acha Jaribio Jaribu kioo diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 0021f7bde..591a29837 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -2,12 +2,12 @@ OONI Probe OONI Probe nedir? - İnternet sansürünü ölçme uygulaması.\n\nWeb siteleri ve sosyal ağ uygulamaları engelleniyor mu? İnternet bağlantınız genel olarak yavaş mı?\n\nSorunu bulmak için OONI Probe uygulamasını çalıştırın! + İnternet sansürünü ölçme uygulaması.\n\nSiteler ve sosyal ağ uygulamaları engelleniyor mu? İnternet bağlantınız genel olarak yavaş mı?\n\nSorunu bulmak için OONI Probe uygulamasını çalıştırın! Anladım Hatırlatma! OONI verileri herkese açık olarak yayınlanır ve ağ bilgilerinizi de içerir. İnternet işlemlerinizi izleyenler (hükümet ya da İnternet hizmeti sağlayıcınız) OONI Probe uygulamasını çalıştırdığınızı görebilir. - Engellenmiş web sitelerini sınayabilirsiniz (ancak sınanacak siteleri seçebilirsiniz). + Engellenmiş siteleri sınayabilirsiniz (ancak sınanacak siteleri seçebilirsiniz). Anladım Ayrıntılı bilgi alın Sürpriz sınav @@ -16,15 +16,15 @@ Geri dön Devam et Soru 1/2 - İnternet işlemlerim izleniyorsa, OONI Probe uygulamasını çalıştırdığım anlaşılabilir. + İnternetim izleniyorsa, OONI Probe çalıştırdığım anlaşılabilir. Uyarı OONI Probe bir kişisel gizlilik sağlama aracı değildir. İnternet işlemlerinizi izleyenler çalıştırdığınız uygulamaları görebilir. Soru 2/2 - OONI Probe uygulamasını her çalıştırdığımda topladığım ağ verileri herkese açık olarak yayınlanır. + OONI Probe uygulamasını çalıştırdığımda topladığım veriler herkese açık olarak yayınlanır. Uyarı - İnternet sansürü şeffaflığını sağlamak için tüm OONI Probe kullanıcılarının ağ verileri otomatik olarak yayınlanır (ayarlardan devre dışı bırakılmadıkça). + İnternet sansürü şeffaflığını sağlamak için tüm OONI Probe kullanıcılarının ağ verileri otomatik olarak yayınlanır (ayarlardan kapatılmadıkça). Otomatik sınama - Lütfen İnternet sansürünün OONI Probe tarafından günlük olarak ölçülebilmesi için otomatik sınamayı etkinleştirin.\n\nEndişelenmeyin, pil kullanımına dikkat edeceğiz.\n\nOtomatik sınamayı istediğiniz zaman ayarlardan devre dışı bırakabilirsiniz. + Lütfen İnternet sansürünün OONI Probe tarafından günlük olarak ölçülebilmesi için otomatik sınamayı açın.\n\nEndişelenmeyin, pil kullanımına dikkat edeceğiz.\n\nOtomatik sınamayı istediğiniz zaman ayarlardan kapatabilirsiniz. Çökme bildirimleri OONI Probe uygulamasını iyileştirmek için, sorun çıktığında kişisel veri içermeyen anonim çökme bildirimleri almak istiyoruz.\n\nÇökme bildirimlerinin OONI geliştirme ekibine gönderilmesini ister misiniz? Evet @@ -35,7 +35,7 @@ Ağ bilgileri (otonom sistem numarası ile) Sınama tarihi ve saati IP adresinizi ya da kim olduğunuzu ortaya çıkarabilecek bilgileri yayınlamamak için elimizden geleni yapıyoruz.\n\nAyrıntılı bilgi almak için [OONI veri işleme ilkesi](https://ooni.io/about/data-policy/) bölümüne bakabilirsiniz. - OONI Probe uygulamasını geliştirmemiz için \"Tamam\" üzerine dokunarak, çökme raporunu bizimle paylaşın. + OONI Probe uygulamasını geliştirmemiz için \"Tamam\" üzerine dokunarak, çökme bildirimini bizimle paylaşın. Başlayalım Varsayılanları değiştir Pano @@ -44,7 +44,7 @@ Çalıştır Son sınama: Yaklaşık: - Web sitelerini seçin + Siteleri seçin Çalışıyor: Yaklaşık kalan süre: %1$s saniye @@ -57,22 +57,22 @@ Kullanılan vekil sunucu Ayrıntılar için karta dokunun ~%1$ss - Web sitesi engellemelerini sınayın - OONI [web bağlantısı sınaması](https://ooni.org/nettest/web-connectivity/) özelliğini kullanarak web sitelerinin engellenip engellenmediğini denetleyebilirsiniz.\n\nÇalıştır üzerine her tıkladığınızda, Citizen Lab [küresel](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv) ve [ülkeye özel](https://github.com/citizenlab/test-lists/tree/master/lists) sınama listelerindeki çeşitli web siteleri denetlenir.\n\nBelirli web sitelerini sınamak için web sitelerini seçin düğmesine tıklayın ya da bu kartın ayarlarından kategori ya da siteler seçin. \n\nBu sınama web sitelerinin DNS müdahalesi, TCP/IP engelleme ya da görünmez vekil sunucu ile engellenip engellenmediğini ortaya çıkarır.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/world/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. - OONI [web bağlantısı sınaması](https://ooni.org/nettest/web-connectivity/) özelliğini kullanarak web sitelerinin engellenip engellenmediğini denetleyebilirsiniz.\n\nSınama ile Citizen Lab [küresel](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv) ve [ülkeye özel](https://github.com/citizenlab/test-lists/tree/master/lists) sınama listelerindeki web siteleri denetlenir.\n\nBu sınama web sitelerinin DNS müdahalesi, TCP/IP engelleme ya da görünmez vekil sunucu ile engellenip engellenmediğini ortaya çıkarır.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/world/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. + Site engellemelerini sınayın + OONI [site bağlantısı sınaması](https://ooni.org/nettest/web-connectivity/) özelliğini kullanarak sitelerin engellenip engellenmediğini denetleyebilirsiniz.\n\nÇalıştır üzerine her tıkladığınızda, Citizen Lab [küresel](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv) ve [ülkeye özel](https://github.com/citizenlab/test-lists/tree/master/lists) sınama listelerindeki çeşitli siteler denetlenir.\n\nBelirli siteleri sınamak için siteleri seçin düğmesine tıklayın ya da bu kartın ayarlarından kategoriyi ya da siteleri seçin. \n\nBu sınama sitelerin DNS müdahalesi, TCP/IP engelleme ya da görünmez vekil sunucu ile engellenip engellenmediğini ortaya çıkarır.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/world/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. + OONI [site bağlantısı sınaması](https://ooni.org/nettest/web-connectivity/) özelliğini kullanarak sitelerin engellenip engellenmediğini denetleyebilirsiniz.\n\nSınama ile Citizen Lab [küresel](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv) ve [ülkeye özel](https://github.com/citizenlab/test-lists/tree/master/lists) sınama listelerindeki siteler denetlenir.\n\nBu sınama sitelerin DNS müdahalesi, TCP/IP engelleme ya da görünmez vekil sunucu ile engellenip engellenmediğini ortaya çıkarır.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/world/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. Ağınızın hızını ve başarımını ölçün [NDT](https://ooni.org/nettest/ndt/) sınaması ile ağınızın hızını ve başarımını ölçebilirsiniz.\n\n[DASH](https://ooni.org/nettest/dash/) sınaması ile görüntü akış başarımını ölçebilirsiniz.\n\nBu sınamalar sırasında ağınızın hızına göre belirlenen miktarda çeşitli veriler aktarılır.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/world/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır.\n\nBildirim: Bu sınamalar üçüncü tarafların sunucuları üzerinden yapılır. Bu nedenle IP adresinizin kaydedilmeyeceğini garanti edemeyiz. - Bu bölümdeki sınamaları yaparak şu bilgileri edinebilirsiniz:\n\n- Ağınızın hızını ve başarımını ölçebilirsiniz ([NDT](https://ooni.org/nettest/ndt/) sınaması)\n- Görüntü aktarma başarımını ölçebilirsiniz ([DASH](https://ooni.org/nettest/dash/) sınaması)\n- Ağınızdaki [ara aygıt teknolojilerini](https://ooni.org/support/glossary/#middlebox) öğrenebilirsiniz ([HTTP geçersiz istek hattı](https://ooni.org/nettest/http-invalid-request-line/) ve [HTTP üst bilgi değişikliği](https://ooni.org/nettest/http-header-field-manipulation/) sınamaları)\n\nBu sınamalar sırasında ağ hızınıza göre değişen bir miktarda veri aktarılır.\n\nSınama sonuçlarınız [OONI Explorer](https://explorer.ooni.org/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır.\n\n**Sorumluluk reddi:** [NDT](https://ooni.org/nettest/ndt/) ve [DASH](https://ooni.org/nettest/dash/) sınamaları, [Measurement Lab (M-Lab)](https://www.measurementlab.net/) tarafından sağlanan üçüncü taraf sunucular kullanılarak gerçekleştirilir. Bu sınamaları yaptığınızda, OONI Probe ayarlarınızdan bağımsız olarak IP adresiniz M-Lab tarafından alınır ve yayınlanır (araştırma amacıyla). Verilerinizin M-Lab tarafından kullanılması hakkında ayrıntılı bilgi almak için [kişisel gizlilik duyurusuna](https://www.measurementlab.net/privacy/) bakabilirsiniz. + Bu bölümdeki sınamaları yaparak şu bilgileri edinebilirsiniz:\n\n- Ağınızın hızını ve başarımını ölçebilirsiniz ([NDT](https://ooni.org/nettest/ndt/) sınaması)\n- Görüntü aktarma başarımını ölçebilirsiniz ([DASH](https://ooni.org/nettest/dash/) sınaması)\n- Ağınızdaki [ara aygıt teknolojilerini](https://ooni.org/support/glossary/#middlebox) öğrenebilirsiniz ([HTTP geçersiz istek satırı](https://ooni.org/nettest/http-invalid-request-line/) ve [HTTP üst bilgi değişikliği](https://ooni.org/nettest/http-header-field-manipulation/) sınamaları)\n\nBu sınamalar sırasında ağ hızınıza göre değişen bir miktarda veri aktarılır.\n\nSınama sonuçlarınız [OONI Explorer](https://explorer.ooni.org/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır.\n\n**Sorumluluk reddi:** [NDT](https://ooni.org/nettest/ndt/) ve [DASH](https://ooni.org/nettest/dash/) sınamaları, [Measurement Lab (M-Lab)](https://www.measurementlab.net/) tarafından sağlanan üçüncü taraf sunucular kullanılarak gerçekleştirilir. Bu sınamaları yaptığınızda, OONI Probe ayarlarınızdan bağımsız olarak IP adresiniz M-Lab tarafından alınır ve yayınlanır (araştırma amacıyla). Verilerinizin M-Lab tarafından kullanılması hakkında ayrıntılı bilgi almak için [kişisel gizlilik duyurusuna](https://www.measurementlab.net/privacy/) bakabilirsiniz. Ağınızdaki ara kutuları bulun - İnternet hizmeti sağlayıcıları sıklıkla bazı ağ uygulamaları için (ön bellekleme gibi) çeşitli aygıtlar (ara kutular) kullanır. Bazen bu ara kutular İnternet sansürü ve izlemesi için kullanılır.\n\nOONI [HTTP geçersiz istek hattı](https://ooni.org/nettest/http-invalid-request-line/) ve [HTTP üst bilgi alanı değişikliği](https://ooni.org/nettest/http-header-field-manipulation/) sınamalarını kullanarak ara kutuları bulabilirsiniz.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/world/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. + İnternet hizmeti sağlayıcıları sıklıkla bazı ağ uygulamaları için (ön bellekleme gibi) çeşitli aygıtlar (ara kutular) kullanır. Bazen bu ara kutular İnternet sansürü ve izlemesi için kullanılır.\n\nOONI [HTTP geçersiz istek satırı](https://ooni.org/nettest/http-invalid-request-line/) ve [HTTP üst bilgi alanı değişikliği](https://ooni.org/nettest/http-header-field-manipulation/) sınamalarını kullanarak ara kutuları bulabilirsiniz.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/world/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. Anlık ileti uygulamalarının engellenip engellenmediğini anlayın [WhatsApp](https://ooni.org/nettest/whatsapp/), [Facebook Messenger](https://ooni.org/nettest/facebook-messenger/), [Telegram](https://ooni.org/nettest/telegram/) ve [Signal](https://ooni.org/nettest/signal) uygulamalarının engellenip engellenmediğini kontrol edebilirsiniz.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/world/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. Sansürü aşma araçları engellemesini sınayın [Psiphon](https://ooni.org/nettest/psiphon/) ve [Tor](https://ooni.org/nettest/tor/) ya da [RiseupVPN](https://ooni.org/nettest/riseupvpn/) engelleniyor mu öğrenin.\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/) ve [OONI API](https://api.ooni.io/) sayfasında yayınlanır. - Yeni deneysel sınamaları yürüt - OONI ekibi tarafından geliştirilmiş yeni deneysel sınamaları yürütün:\n%1$s\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. - Şu sınamalar yalnızca otomatik sınamanın bir parçası olarak yürütülecek: - Devre dışı bırakılmış sınamalar + Yeni deneysel sınamaları çalıştır + OONI ekibi tarafından geliştirilmiş yeni deneysel sınamaları çalıştırın:\n%1$s\n\nSonuçlarınız [OONI Explorer](https://explorer.ooni.org/) ve [OONI API](https://api.ooni.io/) üzerinde yayınlanır. + Şu sınamalar yalnızca otomatik sınamanın bir parçası olarak çalıştırılacak: + Kapatılmış sınamalar Gbit/s Mbit/s kbit/s @@ -86,7 +86,7 @@ Veri kullanımı Süzgeç sınamaları Tüm sınamalar - Web siteleri + Siteler Ara kutular Başarım Anlık ileti @@ -125,8 +125,8 @@ Sınanmış Engellenmiş Engellenmiş - Web sitesi - Web sitesi + Site + Site Erişilebilir Erişilebilir Görüntü @@ -160,9 +160,9 @@ Gezgin adresini kopyala Gezgin adresini paylaş Panoya kopyala - OONI gezgininde görüntüle - Başarısız - Bu sınamayı yeniden çalıştırmayı deneyebilirsiniz + OONI Explorer üzerinde görüntüle + Tamamlanamadı + Bu sınamayı yeniden çalıştırmayı deneyebilirsiniz Yeniden dene Bu sınamanın nasıl yapıldığını [buradan](%1$s) öğrenebilirsiniz. Erişilebilir @@ -184,7 +184,7 @@ Tamam Tamamlanamadı Çalışıyor - Bu sınama sırasında WhatsApp bağlantı noktaları, kayıt hizmeti ve web arayüzü (web.whatsapp.com) ile sorunsuz bağlantı kuruldu. + Bu sınama sırasında WhatsApp bağlantı noktaları, kayıt hizmeti ve internet arayüzü (web.whatsapp.com) ile sorunsuz bağlantı kuruldu. Engellenmiş olabilir WhatsApp engellenmiş gibi görünüyor. Mobil uygulama @@ -194,7 +194,7 @@ Tamam Tamamlanamadı Çalışıyor - Bu sınama sırasında Telegram bağlantı noktaları ve web arayüzü (web.telegram.org) ile sorunsuz bağlantı kuruldu. + Bu sınama sırasında Telegram bağlantı noktaları ve internet arayüzü (web.telegram.org) ile sorunsuz bağlantı kuruldu. Engellenmiş olabilir Telegram engellenmiş gibi görünüyor. TCP bağlantıları @@ -282,7 +282,7 @@ Sınama yapılamadı. Lütfen İnternet bağlantınızı denetleyin. Adres listesi indirilemedi. Lütfen yeniden deneyin. Lütfen yeni bir sınama başlatmadan önce sürmekte olan sınamaların tamamlanmasını bekleyin. - Bildirim izinleri gerekli. Lütfen telefonunuzun ayarlar bölümünden gerekli izinleri verdikten sonra OONI Probe uygulamanızdan etkinleştirin. + Bildirim izinleri gerekli. Lütfen telefonunuzun ayarlar bölümünden gerekli izinleri verdikten sonra OONI Probe uygulamanızdan açın. Ayarlar bölümüne git Bu ekran sınama sırasında kilitlidir. Ham ölçüm verilerini indirebilmek için İnternet bağlantınız olmalıdır. @@ -294,24 +294,24 @@ Lütfen VPN bağlantınızı kapatın. OONI Probe uygulamasını VPN açıkken çalıştırırsanız, sınama sonuçları yanlış ülkeden geliyormuş gibi görünebilir. Lütfen VPN bağlantınızı kapatın. Bazı ölçümler VPN üzerinden alınmıştır. - VPN etkinken alınan ölçümleri yüklerseniz, sınama sonuçları yanlış ülkeden geliyormuş gibi görünebilir. + VPN kullanılıyorken alınan ölçümleri yüklerseniz, sınama sonuçları yanlış ülkeden geliyormuş gibi görünebilir. Yüklendi Hata günlüğünü görüntüle İnternet sansürleri hakkında güncel bilgileri alın - Yeni sansür uygulamaları sırasında OONI Probe sınamaları yapmak ilginizi çeker mi? Yakınınızda bir İnternet sansürü olduğunu öğrendiğimizde size bildirmemiz için bildirimleri etkinleştirebilirsiniz. - Sınamaların ayrıntısını arttırmak için GPS izinlerine gerek duyulur. OONI yalnızca yaklaşık GPS konumunuzu kullanır. + Yeni sansür uygulamaları sırasında OONI Probe sınamaları yapmak ilginizi çeker mi? Yakınınızda bir İnternet sansürü olduğunu öğrendiğimizde size bildirmemiz için bildirimleri açabilirsiniz. + Sınamaların ayrıntısını arttırmak için konum izinlerine gerek duyulur. OONI yalnızca yaklaşık GPS konumunuzu kullanır. Tüm sınama sonuçlarını silmek ister misiniz? Bu sınamayı silmek ister misiniz? - Lütfen en az bir sınamayı etkinleştirin + Lütfen en az bir sınamayı açın Lütfen bu alana sadece sayı yazın. Sınamayı yinele Bu sınama tamamlanamadı. Yeniden sınamak ister misiniz? - %1$s web sitesini yeniden sınamak üzeresiniz. + %1$s siteyi yeniden sınamak üzeresiniz. Çalıştır Bu sayfadan ayrıldığınızda adresleriniz kaydedilmez. Bu sayfadan ayrılmak istediğinize emin misiniz? El ile yükleme yapılabilsin mi? - Bu seçenek etkinleştirildiğinde, yayınlanmamış ölçümler el ile yeniden yüklenebilir. - Etkinleştir + Bu seçenek açıldığında, yayınlanmamış ölçümler el ile yeniden yüklenebilir. + Hayır, teşekkürler Yüklenemedi %1$s/%2$s ölçüm yüklenemedi. Sorun ile ilgili günlük kayıtları OONI geliştiricileri ile paylaşıldı. @@ -320,8 +320,8 @@ JSON boş Bu sınamayı durdurmak istediğinize emin misiniz? Bu işlem şu anda yapılmakta olan sınamayı durduracak. - Sınamalar otomatik olarak yürütülsün mü? - Otomatik sınamayı etkinleştirerek, OONI ölçümlerinin düzenli olarak yapılmasına katkıda bulunacaksınız. + Sınamalar otomatik olarak çalıştırılsın mı? + Otomatik sınamayı açarak, OONI ölçümlerinin düzenli olarak yapılmasına katkıda bulunacaksınız. Lütfen uygulamanın arka planda çalışmasına izin verin. Beni hatırla Panoya kopyalandı @@ -329,15 +329,15 @@ Yükle Bazıları yüklenmemiş Tümünü yükle - Web siteleri + Siteler Anlık ileti Ara kutular Başarım Sansürü aşma Deneysel - HTTP geçersiz istek hattı sınaması + HTTP geçersiz istek satırı sınaması HTTP üst bilgi değişikliği sınaması - Web bağlantı sınaması + Site bağlantısı sınaması NDT hız sınaması DASH akış sınaması WhatsApp sınaması @@ -356,16 +356,16 @@ Raporlar OONI veri işleme ilkesi Bildirimler - Etkin + Açık Sınamanın tamamlandığı bildirilsin Haber akışı Otomatik sınama - Sınamalar otomatik olarak yapılsın + Sınamalar otomatik olarak çalıştırılsın Otomatik sınama sayısı: %1$s. Son otomatik sınama: %1$s. - Yanlız Wi-Fi kullanılırken + Yalnızca Wi-Fi kullanılırken Yalnızca şarj edilirken - Otomatik sınama etkinleştirildiğinde, OONI Prob sınamaları günde birkaç kez otomatik olarak çalışır. Sınama sonuçlarınız otomatik olarak OONI Explorer üzerinde yayınlanır: https://explorer.ooni.org/\n\nÖnemli: Etkinleştirilmiş bir VPN bağlantınız varsa, OONI Probe sınamaları otomatik olarak çalıştırmaz. Otomatik OONI Probe sınaması için lütfen VPN bağlantınızı kapatın. Ayrıntılı bilgi alın: https://ooni.org/support/faq/#can-i-run-ooni-probe-over-a-vpn + Otomatik sınama açıldığında, OONI Probe sınamaları günde birkaç kez otomatik olarak çalışır. Sınama sonuçlarınız otomatik olarak OONI Explorer üzerinde yayınlanır: https://explorer.ooni.org/\n\nÖnemli: Etkin bir VPN bağlantınız varsa, OONI Probe sınamaları otomatik olarak çalıştırmaz. Otomatik OONI Probe sınaması için lütfen VPN bağlantınızı kapatın. Ayrıntılı bilgi almak için https://ooni.org/support/faq/#can-i-run-ooni-probe-over-a-vpn adresine bakabilirsiniz Paylaşım Sonuçlar otomatik olarak yayınlansın Sonuçları el ile yükle @@ -373,14 +373,14 @@ Yaklaşık coğrafi konum katılsın IP adresim katılsın Ülke kodu katılsın - Bu bilgi ölçümlerin hangi ülkeden (Türkiye için TR gibi) yapıldığını belirlemek için istenmektedir. Bu seçeneği devre dışı bırakmak istediğinize emin misiniz? + Bu bilgi ölçümlerin hangi ülkeden (Türkiye için TR gibi) yapıldığını belirlemek için istenmektedir. Bu seçeneği kapatmak istediğinize emin misiniz? Sonuçları yayınlayarak ağ müdahalelerinin daha görünür hale gelmesine yardım ederek OONI topluluğuna destek olursunuz.\n\nAğ bilgileri (Otonom Sistem Numarası gibi) İnternet hizmeti sağlayıcılarını belirlemek için gereklidir. - Sınama ayarları - Yukarıdaki sınama ayarları ile yapılandırdığınız şey (örneğin WhatsApp sınamasını devre dışı bırakmak), el ile yürütülen sınamaların yanında otomatik olarak yürütülen sınamalara da (otomatik sınama etkinleştirilmişse) uygulanır. + Sınama seçenekleri + Yukarıdaki sınama ayarları ile yapılandırdığınız şey (örneğin WhatsApp sınamasını kapatmak), el ile çalıştırılan sınamaların yanında otomatik olarak çalıştırılan sınamalara da (otomatik sınama açılmışsa) uygulanır. Uzun süreli sınama Arka planda uzun süreli sınama yapılsın mı? Gizlilik - Çökme raporları gönderilsin + Çökme bildirimleri gönderilsin Gelişmiş Koyu kip Hata ayıklama günlükleri @@ -388,7 +388,7 @@ Dil ayarı Dil seçin Araya her zaman etki alanı eklensin (domain fronting) - OONI yönetim bölümü vekil sunucusu + OONI arka uç vekil sunucusu Vekil sunucu Yok Psiphon @@ -405,34 +405,34 @@ OONI Probe uygulamasını kullanamıyor musunuz? Olası OONI Probe engellemesini aşmak için [Psiphon](https://psiphon.ca/) kullanmayı deneyin. Alternatif olarak özel bir vekil sunucu kullanabilirsiniz. Sınama süresi sınırlansın Sınama süresi - Sınanacak web sitesi kategorileri - %1$s kategori etkin + Sınanacak site kategorileri + %1$s kategori açık Düzenle Tümünü bırak Tümünü seç Kaydet Kaydedilmemiş değişiklikler - Etkinleştirilmiş kategorilerde bazı değişiklikler yaptınız. Bunları kaydetmek ister misiniz? + Açılmış kategorilerde bazı değişiklikler yaptınız. Bunları kaydetmek ister misiniz? Kaydet Yok say - Sınanacak web sitelerini seçin + Sınanacak siteleri seçin Adres Herhangi bir adres yazılmamış Çalıştır - Web sitesi ekle + Site ekle Kalıptan yükle - Sınanan web sitesi sayısı (tümü için 0 yazın) + Sınanan site sayısı (tümü için 0 yazın) WhatsApp sınaması Telegram sınaması Facebook Messenger sınaması Signal sınaması - HTTP geçersiz istek hattı sınamasını yürüt - HTTP üst bilgi değişikliği sınamasını yürüt - NDT hız testini yürüt + HTTP geçersiz istek satırı sınamasını çalıştır + HTTP üst bilgi değişikliği sınamasını çalıştır + NDT hız testini çalıştır NDT sunucusu otomatik olarak seçilsin NDT sunucusu adresi NDT sunucusu bağlantı noktası - DASH akış sınamasını yürüt + DASH akış sınamasını çalıştır DASH sunucusu otomatik olarak seçilsin DASH sunucusu DASH sunucusu bağlantı noktası @@ -440,7 +440,7 @@ Tor sınaması RiseupVPN sınaması VPN kullanılırken uyarılsın - Destek ekibine e-posta gönderin + Destek ekibine e-posta gönder Lütfen yaşadığınız sorunu anlatın: Lütfen uygulama hakkındaki bilgiler ve iOS sürümünü yazarak bugs@openobservatory.org adresine bir e-posta gönderin. E-posta adresimizi kopyalamak için aşağıdaki \"Panoya kopyala\" seçeneğine dokunun. Geçerli uygulama dili: %1$s @@ -459,15 +459,15 @@ %1$s adres Sınama adı Sınama ayrıntıları - Yürüt + Çalıştır Güncel değil Bu sınamayı yapmak için daha yeni bir OONI Probe sürümü kullanmalısınız. Güncelle Kapat Parametre geçersiz - OONI yürütme bağlantısı bozuk ya da uygulamanız eski. - Örnek web siteleri üzerinde rastgele bir sınama yapılacak. - Lütfen OONI yürütme bağlantısına dokunmadan önce sürmekte olan sınamanın tamamlanmasını bekleyin. + OONI Run bağlantısı bozuk ya da uygulamanız eski. + Örnek siteler üzerinde rastgele bir sınama yapılacak. + Lütfen OONI Run bağlantısına dokunmadan önce sürmekte olan sınamanın tamamlanmasını bekleyin. Uyuşturucu ve alkol Din Porno @@ -482,14 +482,14 @@ Kamu sağlığı Kumar Sansürü aşma araçları - Çevrimiçi arkadaşlık + Çevrim içi arkadaşlık Sosyal ağ LGBTQ+ Dosya paylaşımı Bilgisayar korsanlığı araçları İletişim araçları Ortam paylaşma - Site barındırma ve blog yayınlama + Site barındırma ve günlük yayınlama Arama motorları Oyun Kültür @@ -511,21 +511,21 @@ Ana haber siteleri, bölgesel haber siteleri ve bağımsız medya Doğum kontrolu, cinsel yolla bulaşan hastalıklar, tecavüz önleme ve kürtaj gibi cinsel sağlık konuları COVID-19, HIV/AIDS, Ebola gibi kamu sağlığı konuları - Çevrimiçi kumar ve bahis + Çevrim içi kumar ve bahis Anonimleşme, sansürü aşma ve şifreleme - Çevrimiçi arkadaşlık siteleri - Çevrimiçi sosyal ağ araç ve platformları + Çevrim içi arkadaşlık siteleri + Çevrim içi sosyal ağ araç ve platformları LGBTQ+ ile ilgili konuları tartışma toplulukları (pornografi dışında) Bulut tabanlı dosya depolama, torrentler ve P2P gibi dosya paylaşımı Bilgisayar güvenliği araçları ve haberler - VoIP, mesajlaşma ve eposta gibilerini içeren kişisel veya toplu iletişim araçları + VoIP, ileti gönderme ve internet e-postası gibi bireysel ve grup iletişimi araçları Görüntü, ses ve fotoğraf paylaşımı - Web sitesi barındırma ve diğer çevrimiçi yayın organları + Site barındırma ve diğer çevrim içi yayın organları Arama motorları ve mecralar - Çevrimiçi oyunlar ve oyun platformları (kumar siteleri dışında) + Çevrim içi oyunlar ve oyun platformları (kumar siteleri dışında) Tarih, edebiyat, müzik, film, hiciv ve mizah gibi eğlence konuları Genel ekonomik gelişim ve güç konuları - Ordu dahil, hükümetin yönettiği web siteleri + Ordu ile birlikte, hükümetin yönettiği siteler Ticari hizmet ve ürünler Denetim için kullanılan iyi niyetli ya da bilinçsiz içerik Birleşmiş Milletler gibi hükümetlerarası kuruluşlar diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 0a100dd60..43dfbe351 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -58,7 +58,7 @@ 触击选项卡以查看详情 ~%1$ss 测试网站是否被屏蔽 - 使用 OONI 的[网络连接测试](https://ooni.org/nettest/web-connectivity/)检查网站是否被屏蔽。\n\n每次你点击 \"运行\",你都会从公民实验室的[全球](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv)和[特定国家](https://github.com/citizenlab/test-lists/tree/master/lists)测试列表中测试不同的网站。\n\n要测试您选择的网站,请点击选择网站按钮或通过此卡的设置选择网站类别。\n\n该测试测量网站是否被 DNS 篡改、TCP/IP 封锁或透明的 HTTP 代理所屏蔽。\n\n您的结果将被发布在 [OONI Explorer](https://explorer.ooni.org/world/)和[OONI API](https://api.ooni.io/)。 + 使用 OONI 的[网页连通性测试](https://ooni.org/nettest/web-connectivity/)检查网站是否被屏蔽。\n\n每次您点击“运行”时,都会测试公民实验室的[全球](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv)和[特定国家](https://github.com/citizenlab/test-lists/tree/master/lists)列表中的一些网站。\n\n如要测试您自选的网站,点击“选择网站”按钮或通过本卡片的设置选择网站类别。\n\n此测试测量网站是否遭受 DNS 篡改、TCP/IP 封锁或透明 HTTP 代理的屏蔽。\n\n您的测试结果会被发布在 [OONI Explorer](https://explorer.ooni.org/world/) 和 [OONI API](https://api.ooni.io/)。 使用 OONI 的[网络连接测试](https://ooni.org/nettest/web-connectivity/)检查网站是否被屏蔽。\n\n你将测试公民实验室的[全球](https://github.com/citizenlab/test-lists/blob/master/lists/global.csv)和[特定国家](https://github.com/citizenlab/test-lists/tree/master/lists)测试列表中的网站。\n\n这项测试测量网站是否被 DNS 篡改、TCP/IP 封锁或透明的 HTTP 代理所屏蔽。\n\n你的结果将被发布在 [OONI Explorer](https://explorer.ooni.org/)和[OONI API](https://api.ooni.io/)。 测试您的网速和性能 使用 [NDT](https://ooni.org/nettest/ndt/) 测试测量你的网络速度和性能。\n\n使用 [DASH](https://ooni.org/nettest/dash/) 测试测量视频流性能。\n\n这些测试消耗的数据取决于你的网络速度。\n\n您的结果将被发布在 [OONI Explorer](https://explorer.ooni.org/world/)和[OONI API](https://api.ooni.io/)。\n\n免责声明:这些测试依赖于第三方服务器。因此,我们不能保证你的 IP 地址不会被收集。 @@ -306,7 +306,7 @@ 此字段只能输入数字。 重新运行测试 此测试已失败。重新运行此测试? - 你正准备重新测试 %1$s 家网站。 + 您即将重新测试 %1$s 个网站。 运行 离开此屏幕将不会保存您的 URL。确定离开吗? 启用手动上传? @@ -337,7 +337,7 @@ 试验性 HTTP Invalid Request Line 测试 HTTP Header Field Manipulation 测试 - Web Connectivity 测试 + 网页连通性测试 NDT 网速测试 DASH 流测试 WhatsApp 测试 @@ -496,7 +496,7 @@ 经济 政府 电子商务 - 控制内容 + 质控内容 政府间组织 其他内容 毒品和酒精的使用和销售 @@ -527,7 +527,7 @@ 一般性经济发展与贫困 政府运营的网站,包括军方 商业服务和产品 - 用于控制的良性或无害内容 + 用于品质控制的良性或无害内容 政府间组织,例如联合国 尚未分类的网站 diff --git a/app/src/test/java/org/openobservatory/ooniprobe/test/suite/CircumventionSuiteTest.java b/app/src/test/java/org/openobservatory/ooniprobe/test/suite/CircumventionSuiteTest.java index 7ed613f70..44271c373 100644 --- a/app/src/test/java/org/openobservatory/ooniprobe/test/suite/CircumventionSuiteTest.java +++ b/app/src/test/java/org/openobservatory/ooniprobe/test/suite/CircumventionSuiteTest.java @@ -4,7 +4,6 @@ import org.openobservatory.ooniprobe.common.PreferenceManager; import org.openobservatory.ooniprobe.test.test.AbstractTest; import org.openobservatory.ooniprobe.test.test.Psiphon; -import org.openobservatory.ooniprobe.test.test.RiseupVPN; import org.openobservatory.ooniprobe.test.test.Tor; import java.util.Arrays; From f6563445999ef5e550a505f3c0fc0e5bf61cfa0a Mon Sep 17 00:00:00 2001 From: Norbel AMBANUMBEN Date: Fri, 3 Nov 2023 07:42:55 +0100 Subject: [PATCH 2/3] Chore: Update from `ru.noties:markwon:2.0.1` to `io.noties.markwon:core:4.6.2` (#628) ## Proposed Changes - Update from `ru.noties:markwon:2.0.1` to `io.noties.markwon:core:4.6.2` - Update required API usage. Note: This update will allow us to use the `markwon` [plugin system](https://noties.io/Markwon/docs/v4/core/plugins.html) to implement additional functionality like the [Read more](https://github.com/noties/Markwon/blob/v4.6.2/app-sample/src/main/java/io/noties/markwon/app/samples/ReadMorePluginSample.java#L48C7-L208) which is added as part of the new designs. --- app/build.gradle | 2 +- .../ooniprobe/activity/MeasurementDetailActivity.java | 6 ++++-- .../ooniprobe/activity/OverviewActivity.java | 7 ++++--- .../openobservatory/ooniprobe/activity/ProxyActivity.java | 6 ++++-- .../ooniprobe/fragment/measurement/PsiphonFragment.java | 7 +++++-- .../ooniprobe/fragment/measurement/RiseupVPNFragment.java | 7 +++++-- .../ooniprobe/fragment/measurement/TorFragment.java | 7 +++++-- .../fragment/measurement/WebConnectivityFragment.java | 8 +++++--- .../fragment/onboarding/Onboarding3Fragment.java | 6 ++++-- gradle/libs.versions.toml | 4 ++-- 10 files changed, 39 insertions(+), 21 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4d7f57bcf..60987f4f8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -122,7 +122,7 @@ dependencies { implementation libs.xanscale.localhost.toolkit implementation libs.lottie - implementation libs.markwon + implementation libs.markwon.core implementation libs.commons.io //arcview to fragment_dashboard implementation libs.shapeofview diff --git a/app/src/main/java/org/openobservatory/ooniprobe/activity/MeasurementDetailActivity.java b/app/src/main/java/org/openobservatory/ooniprobe/activity/MeasurementDetailActivity.java index 91bdc4dfd..9eada3e2d 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/activity/MeasurementDetailActivity.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/activity/MeasurementDetailActivity.java @@ -27,7 +27,7 @@ import org.openobservatory.ooniprobe.model.database.Network; import org.openobservatory.ooniprobe.test.suite.PerformanceSuite; import org.openobservatory.ooniprobe.test.test.*; -import ru.noties.markwon.Markwon; +import io.noties.markwon.Markwon; import javax.inject.Inject; import java.io.Serializable; @@ -212,7 +212,9 @@ public void onError(String msg) { binding.log.setVisibility(View.GONE); if (!measurementsManager.hasReportId(measurement)) binding.explorer.setVisibility(View.GONE); - Markwon.setMarkdown(binding.methodology, getString(R.string.TestResults_Details_Methodology_Paragraph, getString(measurement.getTest().getUrlResId()))); + Markwon.builder(this) + .build() + .setMarkdown(binding.methodology, getString(R.string.TestResults_Details_Methodology_Paragraph, getString(measurement.getTest().getUrlResId()))); load(); binding.log.setOnClickListener(v -> logClick()); binding.data.setOnClickListener(v -> dataClick()); diff --git a/app/src/main/java/org/openobservatory/ooniprobe/activity/OverviewActivity.java b/app/src/main/java/org/openobservatory/ooniprobe/activity/OverviewActivity.java index 60d418a96..9d1b79018 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/activity/OverviewActivity.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/activity/OverviewActivity.java @@ -23,7 +23,7 @@ import javax.inject.Inject; -import ru.noties.markwon.Markwon; +import io.noties.markwon.Markwon; public class OverviewActivity extends AbstractActivity { private static final String TEST = "test"; @@ -54,6 +54,7 @@ public static Intent newIntent(Context context, AbstractSuite testSuite) { binding.run.setAlpha(0.5F); binding.run.setEnabled(false); } + Markwon markwon = Markwon.builder(this).build(); if (testSuite.getName().equals(ExperimentalSuite.NAME)) { String experimentalLinks = "\n\n* [STUN Reachability](https://github.com/ooni/spec/blob/master/nettests/ts-025-stun-reachability.md)" + @@ -61,12 +62,12 @@ public static Intent newIntent(Context context, AbstractSuite testSuite) { "\n\n* [ECH Check](https://github.com/ooni/spec/blob/master/nettests/ts-039-echcheck.md)" + "\n\n* [Tor Snowflake](https://ooni.org/nettest/tor-snowflake/) "+ String.format(" ( %s )",getString(R.string.Settings_TestOptions_LongRunningTest))+ "\n\n* [Vanilla Tor](https://github.com/ooni/spec/blob/master/nettests/ts-016-vanilla-tor.md) " + String.format(" ( %s )",getString(R.string.Settings_TestOptions_LongRunningTest)); - Markwon.setMarkdown(binding.desc, getString(testSuite.getDesc1(), experimentalLinks)); + markwon.setMarkdown(binding.desc, getString(testSuite.getDesc1(), experimentalLinks)); if (TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == ViewCompat.LAYOUT_DIRECTION_RTL) binding.desc.setTextDirection(View.TEXT_DIRECTION_RTL); } else - Markwon.setMarkdown(binding.desc, getString(testSuite.getDesc1())); + markwon.setMarkdown(binding.desc, getString(testSuite.getDesc1())); Result lastResult = Result.getLastResult(testSuite.getName()); if (lastResult == null) binding.lastTime.setText(R.string.Dashboard_Overview_LastRun_Never); diff --git a/app/src/main/java/org/openobservatory/ooniprobe/activity/ProxyActivity.java b/app/src/main/java/org/openobservatory/ooniprobe/activity/ProxyActivity.java index 902fec4c8..fdc5bb245 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/activity/ProxyActivity.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/activity/ProxyActivity.java @@ -14,7 +14,7 @@ import org.openobservatory.ooniprobe.common.ProxyProtocol; import org.openobservatory.ooniprobe.common.ProxySettings; import org.openobservatory.ooniprobe.databinding.ActivityProxyBinding; -import ru.noties.markwon.Markwon; +import io.noties.markwon.Markwon; import javax.inject.Inject; import java.net.URISyntaxException; @@ -119,7 +119,9 @@ public void onCreate(Bundle savedInstanceState) { setContentView(binding.getRoot()); // We fill the footer that helps users to understand this settings screen. - Markwon.setMarkdown(binding.proxyFooter, getString(R.string.Settings_Proxy_Footer)); + Markwon.builder(this) + .build() + .setMarkdown(binding.proxyFooter, getString(R.string.Settings_Proxy_Footer)); // We read settings and configure the initial view. loadSettingsAndConfigureInitialView(); diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/PsiphonFragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/PsiphonFragment.java index ae697cff3..f1e51559a 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/PsiphonFragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/PsiphonFragment.java @@ -10,7 +10,8 @@ import org.openobservatory.ooniprobe.R; import org.openobservatory.ooniprobe.databinding.FragmentMeasurementPsiphonBinding; import org.openobservatory.ooniprobe.model.database.Measurement; -import ru.noties.markwon.Markwon; + +import io.noties.markwon.Markwon; public class PsiphonFragment extends Fragment { private static final String MEASUREMENT = "measurement"; @@ -28,7 +29,9 @@ public static PsiphonFragment newInstance(Measurement measurement) { Measurement measurement = (Measurement) getArguments().getSerializable(MEASUREMENT); assert measurement != null; FragmentMeasurementPsiphonBinding binding = FragmentMeasurementPsiphonBinding.inflate(inflater,container,false); - Markwon.setMarkdown(binding.desc, + Markwon.builder(getContext()) + .build() + .setMarkdown(binding.desc, measurement.is_anomaly ? getString(R.string.TestResults_Details_Circumvention_Psiphon_Blocked_Content_Paragraph) : getString(R.string.TestResults_Details_Circumvention_Psiphon_Reachable_Content_Paragraph) diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/RiseupVPNFragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/RiseupVPNFragment.java index 83670bd5e..32401d0da 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/RiseupVPNFragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/RiseupVPNFragment.java @@ -10,7 +10,8 @@ import org.openobservatory.ooniprobe.R; import org.openobservatory.ooniprobe.databinding.FragmentMeasurementRiseupvpnBinding; import org.openobservatory.ooniprobe.model.database.Measurement; -import ru.noties.markwon.Markwon; + +import io.noties.markwon.Markwon; public class RiseupVPNFragment extends Fragment { private static final String MEASUREMENT = "measurement"; @@ -28,7 +29,9 @@ public static RiseupVPNFragment newInstance(Measurement measurement) { Measurement measurement = (Measurement) getArguments().getSerializable(MEASUREMENT); assert measurement != null; FragmentMeasurementRiseupvpnBinding binding = FragmentMeasurementRiseupvpnBinding.inflate(inflater,container,false); - Markwon.setMarkdown(binding.desc, + Markwon.builder(getContext()) + .build() + .setMarkdown(binding.desc, measurement.is_anomaly ? getString(R.string.TestResults_Details_Circumvention_RiseupVPN_Blocked_Content_Paragraph) : getString(R.string.TestResults_Details_Circumvention_RiseupVPN_Reachable_Content_Paragraph) diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/TorFragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/TorFragment.java index 3b47b9dcd..d859d2eca 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/TorFragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/TorFragment.java @@ -10,7 +10,8 @@ import org.openobservatory.ooniprobe.R; import org.openobservatory.ooniprobe.databinding.FragmentMeasurementTorBinding; import org.openobservatory.ooniprobe.model.database.Measurement; -import ru.noties.markwon.Markwon; + +import io.noties.markwon.Markwon; public class TorFragment extends Fragment { private static final String MEASUREMENT = "measurement"; @@ -30,7 +31,9 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c Measurement measurement = (Measurement) getArguments().getSerializable(MEASUREMENT); assert measurement != null; FragmentMeasurementTorBinding binding = FragmentMeasurementTorBinding.inflate(inflater,container,false); - Markwon.setMarkdown(binding.desc, + Markwon.builder(getContext()) + .build() + .setMarkdown(binding.desc, measurement.is_anomaly ? getString(R.string.TestResults_Details_Circumvention_Tor_Blocked_Content_Paragraph) : getString(R.string.TestResults_Details_Circumvention_Tor_Reachable_Content_Paragraph) diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/WebConnectivityFragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/WebConnectivityFragment.java index e39131b45..6951ada06 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/WebConnectivityFragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/WebConnectivityFragment.java @@ -10,7 +10,8 @@ import org.openobservatory.ooniprobe.R; import org.openobservatory.ooniprobe.databinding.FragmentMeasurementWebconnectivityBinding; import org.openobservatory.ooniprobe.model.database.Measurement; -import ru.noties.markwon.Markwon; + +import io.noties.markwon.Markwon; public class WebConnectivityFragment extends Fragment { private static final String MEASUREMENT = "measurement"; @@ -30,10 +31,11 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c Measurement measurement = (Measurement) getArguments().getSerializable(MEASUREMENT); assert measurement != null; FragmentMeasurementWebconnectivityBinding binding = FragmentMeasurementWebconnectivityBinding.inflate(inflater,container,false); + Markwon markwon = Markwon.builder(getContext()).build(); if (measurement.is_anomaly) - Markwon.setMarkdown(binding.desc, getString(R.string.TestResults_Details_Websites_LikelyBlocked_Content_Paragraph, measurement.url.url, getString(measurement.getTestKeys().getWebsiteBlocking()))); + markwon.setMarkdown(binding.desc, getString(R.string.TestResults_Details_Websites_LikelyBlocked_Content_Paragraph, measurement.url.url, getString(measurement.getTestKeys().getWebsiteBlocking()))); else - Markwon.setMarkdown(binding.desc, getString(R.string.TestResults_Details_Websites_Reachable_Content_Paragraph, measurement.url.url)); + markwon.setMarkdown(binding.desc, getString(R.string.TestResults_Details_Websites_Reachable_Content_Paragraph, measurement.url.url)); return binding.getRoot(); } } diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/onboarding/Onboarding3Fragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/onboarding/Onboarding3Fragment.java index 005204e37..3fe085d54 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/onboarding/Onboarding3Fragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/onboarding/Onboarding3Fragment.java @@ -14,7 +14,7 @@ import org.openobservatory.ooniprobe.common.ThirdPartyServices; import org.openobservatory.ooniprobe.common.service.ServiceUtil; import org.openobservatory.ooniprobe.databinding.FragmentOnboarding3Binding; -import ru.noties.markwon.Markwon; +import io.noties.markwon.Markwon; import javax.inject.Inject; @@ -31,7 +31,9 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c binding.bullet1.setText(getString(R.string.bullet, getString(R.string.Onboarding_DefaultSettings_Bullet_1))); binding.bullet2.setText(getString(R.string.bullet, getString(R.string.Onboarding_DefaultSettings_Bullet_2))); binding.bullet3.setText(getString(R.string.bullet, getString(R.string.Onboarding_DefaultSettings_Bullet_3))); - Markwon.setMarkdown(binding.paragraph, getString(R.string.Onboarding_DefaultSettings_Paragraph)); + Markwon.builder(getContext()) + .build() + .setMarkdown(binding.paragraph, getString(R.string.Onboarding_DefaultSettings_Paragraph)); binding.master.setOnClickListener(v -> masterClick()); binding.slave.setOnClickListener(v -> slaveClick()); diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e1737e670..a58947f9d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -36,7 +36,7 @@ googlePlaycore = "1.10.3" # OONI compileSdk = "34" lottie = "3.0.7" -markwon = "2.0.1" +markwon = "4.6.2" shapeofview = "1.3.2" targetSdk = "33" minSdk = "21" @@ -69,7 +69,7 @@ mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore mockito-inline = { module = "org.mockito:mockito-inline", version.ref = "mockitoInline" } lottie = { module = "com.airbnb.android:lottie", version.ref = "lottie" } -markwon = { module = "ru.noties:markwon", version.ref = "markwon" } +markwon-core = { module = "io.noties.markwon:core", version.ref = "markwon" } retrofit-converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofitCore" } retrofit-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "retrofitLoggingInterceptor" } retrofit-lib = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofitCore" } From 7deb8bfed9d5a383eff3b78535372180865bb2b2 Mon Sep 17 00:00:00 2001 From: Norbel AMBANUMBEN Date: Fri, 3 Nov 2023 08:33:11 +0100 Subject: [PATCH 3/3] Upgrade gradle to `8.1.2` and add support for kotlin and `kapt` (#627) ## Proposed Changes - Upgrade `gradle` to `8.1.2` - Add support for `kotlin` and `kapt` to serve as base for writing kotlin code moving forward --- .github/workflows/archive.yml | 2 +- .github/workflows/build.yml | 2 +- .github/workflows/emulator.yml | 2 +- .github/workflows/test.yml | 2 +- app/build.gradle | 18 +++++++++++------- app/jacoco.gradle | 20 +++++++++++++------- gradle.properties | 3 +++ gradle/libs.versions.toml | 8 ++++---- gradle/wrapper/gradle-wrapper.properties | 2 +- shared-test/build.gradle | 21 +++++++++++++-------- 10 files changed, 49 insertions(+), 31 deletions(-) diff --git a/.github/workflows/archive.yml b/.github/workflows/archive.yml index d41537923..40344f610 100644 --- a/.github/workflows/archive.yml +++ b/.github/workflows/archive.yml @@ -7,7 +7,7 @@ jobs: steps: - uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: checkout uses: actions/checkout@v2 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ed6c7a7e..46f49645d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: checkout uses: actions/checkout@v2 diff --git a/.github/workflows/emulator.yml b/.github/workflows/emulator.yml index 0a599c15a..de92c9393 100644 --- a/.github/workflows/emulator.yml +++ b/.github/workflows/emulator.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: checkout uses: actions/checkout@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e678fedd6..f743fca58 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ jobs: steps: - uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: checkout uses: actions/checkout@v2 diff --git a/app/build.gradle b/app/build.gradle index 60987f4f8..e61731ad2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,7 @@ plugins { id 'com.android.application' - id 'org.jetbrains.kotlin.android' + id 'kotlin-android' + id 'kotlin-kapt' } apply from: 'jacoco.gradle' @@ -85,8 +86,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17 } buildFeatures { viewBinding = true @@ -111,7 +115,7 @@ dependencies { implementation libs.google.gson // Third-party - annotationProcessor libs.dbflow.processor + kapt libs.dbflow.processor implementation libs.dbflow.core implementation libs.dbflow.lib @@ -136,7 +140,7 @@ dependencies { // Dependency Injection implementation libs.google.dagger - annotationProcessor libs.google.dagger.compiler + kapt libs.google.dagger.compiler // Logger implementation project(':applogger') @@ -153,7 +157,7 @@ dependencies { testImplementation libs.robolectric testImplementation libs.faker testImplementation libs.ooni.oonimkall - testAnnotationProcessor libs.google.dagger.compiler + kaptTest libs.google.dagger.compiler // Instrumentation Testing androidTestImplementation project(':shared-test') @@ -166,7 +170,7 @@ dependencies { androidTestImplementation libs.androidx.espresso.contrib androidTestImplementation libs.androidx.espresso.core androidTestImplementation libs.barista - androidTestAnnotationProcessor libs.google.dagger.compiler + kaptAndroidTest libs.google.dagger.compiler } static def versionCodeDate() { diff --git a/app/jacoco.gradle b/app/jacoco.gradle index f75812752..15b2b36c1 100644 --- a/app/jacoco.gradle +++ b/app/jacoco.gradle @@ -48,13 +48,19 @@ task jacocoAndroidTestReport(type: JacocoReport) { executionData.from += fileTree(dir: codeCoverageDataLocation, includes: ['**/*.ec']) } - reports { - html.enabled true - html.destination file("${buildDir}/reports/coverage") - xml.enabled true - xml.destination file("${buildDir}/reports/coverage.xml") - csv.enabled false - } + reports { + html { + enabled true + destination file("${buildDir}/reports/coverage") + } + xml { + enabled true + destination file("${buildDir}/reports/coverage.xml") + } + csv { + enabled false + } + } doLast { println "Wrote HTML coverage report to ${reports.html.destination}/index.html" diff --git a/gradle.properties b/gradle.properties index 8de505811..a8c570082 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,10 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. +android.defaults.buildfeatures.buildconfig=true android.enableJetifier=true +android.nonFinalResIds=false +android.nonTransitiveRClass=false android.useAndroidX=true org.gradle.jvmargs=-Xmx1536m # When configured, Gradle will run in incubating parallel mode. diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a58947f9d..2421c03c3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,16 @@ [versions] -androidGradlePlugin = "7.4.1" +androidGradlePlugin = "8.1.2" barista = "3.9.0" countlySdk = "23.6.0" faker = "1.2.8" mockitoCore = "5.3.1" mockitoInline = "4.6.1" -robolectric = "4.6.1" +robolectric = "4.10.3" fastlaneScreengrab = "2.0.0" sentryAndroid = "6.3.0" xanscaleLocalhostToolkit = "19.05.01" commonsIo = "2.6" -jacoco = "0.8.5" +jacoco = "0.8.7" kotlin = "1.8.0" # Android X @@ -29,7 +29,7 @@ androidxEspressoCore = "3.5.1" googleGson = "2.8.9" googleGuava = "30.1.1-android" googleMaterial = "1.6.1" -googleDagger = "2.36" +googleDagger = "2.45" googleFirebaseBon = "26.3.0" googlePlaycore = "1.10.3" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2ec77e51a..3a0290794 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/shared-test/build.gradle b/shared-test/build.gradle index 607a28dff..34d70a978 100644 --- a/shared-test/build.gradle +++ b/shared-test/build.gradle @@ -1,18 +1,22 @@ plugins { id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' } android { namespace 'org.openobservatory.ooniprobe.shared.test' - compileSdk 33 + compileSdk libs.versions.compileSdk.get().toInteger() defaultConfig { - minSdk 21 + minSdk libs.versions.minSdk.get().toInteger() } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17 } flavorDimensions = ['testing', 'license'] productFlavors { @@ -41,12 +45,12 @@ dependencies { // Dependency Injection (https://dagger.dev/) implementation libs.google.dagger - annotationProcessor libs.google.dagger.compiler + kapt libs.google.dagger.compiler // Database Library (https://github.com/agrosner/DBFlow) implementation libs.dbflow.core implementation libs.dbflow.lib - annotationProcessor libs.dbflow.processor + kapt libs.dbflow.processor // Gson Serialization Library (https://github.com/google/gson) implementation libs.google.gson @@ -60,6 +64,7 @@ dependencies { implementation libs.retrofit.logging.interceptor implementation libs.androidx.appcompat + implementation libs.xanscale.localhost.toolkit testImplementation libs.junit4 androidTestImplementation libs.androidx.junit