<p><img class="center21" src="images/request_details.png"></p>
- <p>Navegador Privado incluye cuatro <a href="https://easylist.to/">listas de bloqueo</a> basadas en la <a href="https://adblockplus.org/filters">sintaxis de Adblock</a>:
+ <p>Navegador Privado incluye cuatro <a href="https://easylist.to/">listas de bloqueo comunes</a> basadas en la <a href="https://adblockplus.org/filters">sintaxis de Adblock</a>:
EasyList, EasyPrivacy, Lista molesta de Fanboy y Lista de bloqueo social de Fanboy.
Estas listas de bloqueo son procesadas por Navegador Privado en las siguientes 22 sublistas, que verifican las solicitudes de recursos en el orden listado.</p>
Esto puede conducir a veces a falsos positivos, en los que los recursos se permiten o bloquean de formas que no estaban previstas en la entrada original.
Una descripción más detallada de cómo se procesan las entradas de la lista de bloqueo está disponible en <a href="https://www.stoutner.com/privacy-browser/blocklists/">stoutner.com</a>.</p>
- <p>Navegador Privado tiene una quinta lista de bloqueo que bloquea todas las solicitudes de terceras partes.
- Una solicitud sólo se considera de terceras partes si el dominio base de la solicitud es diferente del dominio base de la URL.
+ <p>Navegador Privado tiene 2 listas de bloqueo adicionales,
+ una llamada <a href="https://www.stoutner.com/privacy-browser/blocklists/ultraprivacy/">Ultra Privacidad</a> que bloquea rastreadores que permite EasyPrivacy,
+ y otra que bloquea todas las solicitudes de terceras partes. Una solicitud sólo se considera de terceras partes si el dominio base de la solicitud es diferente del dominio base de la URL.
Por ejemplo, si <code>www.website.com</code> carga una imagen de <code>images.website.com</code>,
esto no se bloquea como petición de una tercera parte porque ambos comparten el mismo dominio base de <code>website.com</code>.
El bloqueo de todas las solicitudes de terceras partes aumenta la privacidad, pero esta lista de bloqueo está desactivada por defecto porque rompe un gran número de páginas web.</p>
<p><img class="center21" src="images/request_details.png"></p>
- <p>Navegador Privado incluye cuatro <a href="https://easylist.to/">listas de bloqueo</a> basadas en la <a href="https://adblockplus.org/filters">sintaxis de Adblock</a>:
+ <p>Navegador Privado incluye cuatro <a href="https://easylist.to/">listas de bloqueo comunes</a> basadas en la <a href="https://adblockplus.org/filters">sintaxis de Adblock</a>:
EasyList, EasyPrivacy, Lista molesta de Fanboy y Lista de bloqueo social de Fanboy.
Estas listas de bloqueo son procesadas por Navegador Privado en las siguientes 22 sublistas, que verifican las solicitudes de recursos en el orden listado.</p>
Esto puede conducir a veces a falsos positivos, en los que los recursos se permiten o bloquean de formas que no estaban previstas en la entrada original.
Una descripción más detallada de cómo se procesan las entradas de la lista de bloqueo está disponible en <a href="https://www.stoutner.com/privacy-browser/blocklists/">stoutner.com</a>.</p>
- <p>Navegador Privado tiene una quinta lista de bloqueo que bloquea todas las solicitudes de terceras partes.
- Una solicitud sólo se considera de terceras partes si el dominio base de la solicitud es diferente del dominio base de la URL.
+ <p>Navegador Privado tiene 2 listas de bloqueo adicionales,
+ una llamada <a href="https://www.stoutner.com/privacy-browser/blocklists/ultraprivacy/">Ultra Privacidad</a> que bloquea rastreadores que permite EasyPrivacy,
+ y otra que bloquea todas las solicitudes de terceras partes. Una solicitud sólo se considera de terceras partes si el dominio base de la solicitud es diferente del dominio base de la URL.
Por ejemplo, si <code>www.website.com</code> carga una imagen de <code>images.website.com</code>,
esto no se bloquea como petición de una tercera parte porque ambos comparten el mismo dominio base de <code>website.com</code>.
El bloqueo de todas las solicitudes de terceras partes aumenta la privacidad, pero esta lista de bloqueo está desactivada por defecto porque rompe un gran número de páginas web.</p>
<p><img class="center21" src="images/request_details.png"></p>
- <p>Privacy Browser включает в себя четыре <a href="https://easylist.to/">списка блокировки</a>, основанных на <a href="https://adblockplus.org/filters">синтаксисе Adblock</a>:
+ <p>Privacy Browser вклÑ\8eÑ\87аеÑ\82 в Ñ\81ебÑ\8f Ñ\87еÑ\82Ñ\8bÑ\80е <a href="https://easylist.to/">Ñ\80аÑ\81пÑ\80оÑ\81Ñ\82Ñ\80аненнÑ\8bÑ\85 Ñ\81пиÑ\81ка блокиÑ\80овки</a>, оÑ\81нованнÑ\8bÑ\85 на <a href="https://adblockplus.org/filters">Ñ\81инÑ\82акÑ\81иÑ\81е Adblock</a>:
EasyList, EasyPrivacy, Fanboy’s Annoyance List, и Fanboy’s Social Blocking List.
Эти списки блокировки обрабатываются Privacy Browser в следующих 22 подсписках, которые проверяют запросы ресурсов в указанном порядке.</p>
Иногда это может привести к ложным срабатываниям, когда ресурсы разрешаются или блокируются способами, которые не были предназначены для исходной записи.
Более подробное описание способа обработки записей списка блокировки доступно на <a href="https://www.stoutner.com/privacy-browser/blocklists/">stoutner.com</a>.</p>
- <p>Privacy Browser имеет пятый список блокировки, блокирующий все сторонние запросы. Запрос считается сторонним, только если базовый домен запроса отличается от базового домена URL-адреса.
+ <p>Privacy Browser имеет два дополнительных списка блокировки, один из которых <a href="https://www.stoutner.com/privacy-browser/blocklists/ultraprivacy/">UltraPrivacy</a>,
+ предназначеный для блокировки трекеров, которые EasyPrivacy разрешает, а другой блокирует все сторонние запросы.
Например, если <code>www.website.com</code> загружает изображение с сайта <code>images.website.com</code>,
запрос не будет считаться сторонним и не будет заблокирован, так как они оба используют один и тот же базовый домен <code>website.com</code>.
Блокировка всех сторонних запросов увеличивает конфиденциальность, но этот список блокировки по умолчанию отключен, поскольку он ломает большое количество веб-сайтов.</p>
<p><img class="center21" src="images/request_details.png"></p>
- <p>Privacy Browser включает в себя четыре <a href="https://easylist.to/">списка блокировки</a>, основанных на <a href="https://adblockplus.org/filters">синтаксисе Adblock</a>:
+ <p>Privacy Browser вклÑ\8eÑ\87аеÑ\82 в Ñ\81ебÑ\8f Ñ\87еÑ\82Ñ\8bÑ\80е <a href="https://easylist.to/">Ñ\80аÑ\81пÑ\80оÑ\81Ñ\82Ñ\80аненнÑ\8bÑ\85 Ñ\81пиÑ\81ка блокиÑ\80овки</a>, оÑ\81нованнÑ\8bÑ\85 на <a href="https://adblockplus.org/filters">Ñ\81инÑ\82акÑ\81иÑ\81е Adblock</a>:
EasyList, EasyPrivacy, Fanboy’s Annoyance List, и Fanboy’s Social Blocking List.
Эти списки блокировки обрабатываются Privacy Browser в следующих 22 подсписках, которые проверяют запросы ресурсов в указанном порядке.</p>
Иногда это может привести к ложным срабатываниям, когда ресурсы разрешаются или блокируются способами, которые не были предназначены для исходной записи.
Более подробное описание способа обработки записей списка блокировки доступно на <a href="https://www.stoutner.com/privacy-browser/blocklists/">stoutner.com</a>.</p>
- <p>Privacy Browser имеет пятый список блокировки, блокирующий все сторонние запросы. Запрос считается сторонним, только если базовый домен запроса отличается от базового домена URL-адреса.
+ <p>Privacy Browser имеет два дополнительных списка блокировки, один из которых <a href="https://www.stoutner.com/privacy-browser/blocklists/ultraprivacy/">UltraPrivacy</a>,
+ предназначеный для блокировки трекеров, которые EasyPrivacy разрешает, а другой блокирует все сторонние запросы.
Например, если <code>www.website.com</code> загружает изображение с сайта <code>images.website.com</code>,
запрос не будет считаться сторонним и не будет заблокирован, так как они оба используют один и тот же базовый домен <code>website.com</code>.
Блокировка всех сторонних запросов увеличивает конфиденциальность, но этот список блокировки по умолчанию отключен, поскольку он ломает большое количество веб-сайтов.</p>
// Update the enabled status of the move icons.
updateMoveIcons();
} else { // More than one bookmark is selected.
- // List the number of selected bookmarks in the subtitle.
- mode.setSubtitle(numberOfSelectedBookmarks + " " + getString(R.string.selected));
+ // List the number of selected bookmarks according to the language.
+ if (getString(R.string.android_asset_path).equals("ru")) { // The Russian translation is used.
+ // Convert the number of selected bookmarks to a string.
+ String numberOfSelectedBookmarksString = String.valueOf(numberOfSelectedBookmarks);
+
+ // Russian follows rule #7 at <https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_and_Plurals>.
+ if (numberOfSelectedBookmarksString.endsWith("1") && !numberOfSelectedBookmarksString.equals("11")) { // Ends in 1.
+ mode.setSubtitle(numberOfSelectedBookmarks + " " + getString(R.string.selected_russian_ends_in_1));
+ } else if ((numberOfSelectedBookmarksString.endsWith("2") || numberOfSelectedBookmarksString.endsWith("3") || numberOfSelectedBookmarksString.endsWith("4")) &&
+ !numberOfSelectedBookmarksString.equals("12") && !numberOfSelectedBookmarksString.equals("13") && !numberOfSelectedBookmarksString.equals("14")) { // Ends in 2-4.
+ mode.setSubtitle(numberOfSelectedBookmarks + " " + getString(R.string.selected_russian_ends_in_2));
+ } else { // Everything else.
+ mode.setSubtitle(numberOfSelectedBookmarks + " " + getString(R.string.selected_russian_everything_else));
+ }
+ } else { // Another language is used.
+ // List the number of selected bookmarks in the subtitle.
+ mode.setSubtitle(numberOfSelectedBookmarks + " " + getString(R.string.selected));
+ }
// Hide non-applicable `MenuItems`.
moveBookmarkUpMenuItem.setVisible(false);
// Instantiate `snackbarMessage`.
String snackbarMessage;
- // Determine how many items are in the array and prepare an appropriate `Snackbar` message.
+ // Determine how many items are in the array and prepare an appropriate snackbar message.
if (selectedBookmarksIdsLongArray.length == 1) {
snackbarMessage = getString(R.string.one_bookmark_deleted);
} else {
- snackbarMessage = selectedBookmarksIdsLongArray.length + " " + getString(R.string.bookmarks_deleted);
+ // Prepare a snackbar according to the language.
+ if (getString(R.string.android_asset_path).equals("ru")) { // The Russian translation is used.
+ // Convert the number of selected bookmarks to a string.
+ String numberOfBookmarksString = String.valueOf(selectedBookmarksIdsLongArray.length);
+
+ // Russian follows rule #7 at <https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_and_Plurals>.
+ if (numberOfBookmarksString.endsWith("1") && !numberOfBookmarksString.equals("11")) { // Ends in 1.
+ snackbarMessage = numberOfBookmarksString + " " + getString(R.string.bookmarks_deleted_russian_ends_in_1);
+ } else if ((numberOfBookmarksString.endsWith("2") || numberOfBookmarksString.endsWith("3") || numberOfBookmarksString.endsWith("4")) &&
+ !numberOfBookmarksString.equals("12") && !numberOfBookmarksString.equals("13") && !numberOfBookmarksString.equals("14")) { // Ends in 2-4.
+ snackbarMessage = numberOfBookmarksString + " " + getString(R.string.bookmarks_deleted_russian_ends_in_2);
+ } else { // Everything else.
+ snackbarMessage = numberOfBookmarksString + " " + getString(R.string.bookmarks_deleted_russian_everything_else);
+ }
+ } else { // Another language is used.
+ snackbarMessage = selectedBookmarksIdsLongArray.length + " " + getString(R.string.bookmarks_deleted);
+ }
}
// Show a SnackBar.
<!-- Bookmarks Contextual App Bar. -->
<string name="one_selected">1 Ausgewählt</string>
<string name="selected">Ausgewählt</string> <!--This is a plural adjective.-->
+ <string name="selected_russian_ends_in_1">выбрана</string>
+ <string name="selected_russian_ends_in_2">выбраны</string>
+ <string name="selected_russian_everything_else">выбрано</string>
<string name="move_up">Nach oben verschieben</string>
<string name="move_down">Nach unten verschieben</string>
<string name="edit">Bearbeiten</string>
<string name="select_all">Alle auswählen</string>
<string name="one_bookmark_deleted">1 Lesezeichen gelöscht</string>
<string name="bookmarks_deleted">Lesezeichen gelöscht</string>
+ <string name="bookmarks_deleted_russian_ends_in_1">закладка удалена</string>
+ <string name="bookmarks_deleted_russian_ends_in_2">закладки удалены</string>
+ <string name="bookmarks_deleted_russian_everything_else">акладок удалено</string>
<string name="undo">Rückgängig</string>
<!-- Bookmarks Database View. -->
<!-- Bookmarks Contextual App Bar. -->
<string name="one_selected">1 seleccionado</string>
<string name="selected">seleccionados</string> <!--This is a plural adjective.-->
+ <string name="selected_russian_ends_in_1">выбрана</string>
+ <string name="selected_russian_ends_in_2">выбраны</string>
+ <string name="selected_russian_everything_else">выбрано</string>
<string name="move_up">Subir</string>
<string name="move_down">Bajar</string>
<string name="edit">Editar</string>
<string name="select_all">Selectionar todo</string>
<string name="one_bookmark_deleted">1 favorito borrado</string>
<string name="bookmarks_deleted">favoritos borrados</string>
+ <string name="bookmarks_deleted_russian_ends_in_1">закладка удалена</string>
+ <string name="bookmarks_deleted_russian_ends_in_2">закладки удалены</string>
+ <string name="bookmarks_deleted_russian_everything_else">акладок удалено</string>
<string name="undo">Deshacer</string>
<!-- Bookmarks Database View. -->
<!-- Bookmarks Contextual App Bar. -->
<string name="one_selected">1 Selezionato</string>
<string name="selected">Selezionato</string> <!--This is a plural adjective.-->
+ <string name="selected_russian_ends_in_1">выбрана</string>
+ <string name="selected_russian_ends_in_2">выбраны</string>
+ <string name="selected_russian_everything_else">выбрано</string>
<string name="move_up">Sposta sopra</string>
<string name="move_down">Sposta sotto</string>
<string name="edit">Modifica</string>
<string name="select_all">Seleziona tutto</string>
<string name="one_bookmark_deleted">1 Segnalibro eliminato</string>
<string name="bookmarks_deleted">Segnalibri eliminati</string>
+ <string name="bookmarks_deleted_russian_ends_in_1">закладка удалена</string>
+ <string name="bookmarks_deleted_russian_ends_in_2">закладки удалены</string>
+ <string name="bookmarks_deleted_russian_everything_else">акладок удалено</string>
<string name="undo">Annulla</string>
<!-- Bookmarks Database View. -->
<!-- Bookmarks Contextual App Bar. -->
<string name="one_selected">1 выбрана</string>
<string name="selected">выбраны</string> <!--This is a plural adjective.-->
+ <string name="selected_russian_ends_in_1">выбрана</string>
+ <string name="selected_russian_ends_in_2">выбраны</string>
+ <string name="selected_russian_everything_else">выбрано</string>
<string name="move_up">Вверх</string>
<string name="move_down">Вниз</string>
<string name="edit">Изменить</string>
<string name="select_all">Выбрать все</string>
<string name="one_bookmark_deleted">1 закладка удалена</string>
<string name="bookmarks_deleted">закладок удалены</string>
+ <string name="bookmarks_deleted_russian_ends_in_1">закладка удалена</string>
+ <string name="bookmarks_deleted_russian_ends_in_2">закладки удалены</string>
+ <string name="bookmarks_deleted_russian_everything_else">акладок удалено</string>
<string name="undo">Вернуть</string>
<!-- Bookmarks Database View. -->
<!-- Bookmarks Contextual App Bar. -->
<string name="one_selected">1 Selected</string>
<string name="selected">Selected</string> <!--This is a plural adjective.-->
+ <string name="selected_russian_ends_in_1">выбрана</string>
+ <string name="selected_russian_ends_in_2">выбраны</string>
+ <string name="selected_russian_everything_else">выбрано</string>
<string name="move_up">Move Up</string>
<string name="move_down">Move Down</string>
<string name="edit">Edit</string>
<string name="select_all">Select All</string>
<string name="one_bookmark_deleted">1 Bookmark Deleted</string>
<string name="bookmarks_deleted">Bookmarks Deleted</string>
+ <string name="bookmarks_deleted_russian_ends_in_1">закладка удалена</string>
+ <string name="bookmarks_deleted_russian_ends_in_2">закладки удалены</string>
+ <string name="bookmarks_deleted_russian_everything_else">акладок удалено</string>
<string name="undo">Undo</string>
<!-- Bookmarks Database View. -->