# LANGUAGE translation of https://www.gnu.org/help/help-javascript.html # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the original article. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: help-javascript.html\n" "POT-Creation-Date: 2024-11-06 10:26+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: Content of: msgid "" "Write site-specific extensions to replace sites' JavaScript code - GNU " "Project - Free Software Foundation" msgstr "" #. type: Content of: <div><h2> msgid "Write site-specific extensions to replace sites' JavaScript code" msgstr "" #. type: Content of: <div><p> msgid "" "<em>Many websites damage users' freedom by sending <a " "href=\"/philosophy/javascript-trap.html\">nonfree JavaScript programs</a> to " "the user's browser. We invite volunteers to develop free browser extensions " "to replace for the JavaScript sent by particular sites (see the lists " "below).</em>" msgstr "" #. type: Content of: <div><p> msgid "" "Our first response to the problem of nonfree JS code was to develop <a " "href=\"/software/librejs/\">LibreJS</a>, which enables Firefox-based " "browsers to detect and block that code. That protects us from running a " "site's nonfree JS programs, but does not make the site actually " "function. Writing an extension for it, as we propose here, would achieve " "that. It would also avoid the risk inherent in running software straight off " "someone else's website." msgstr "" #. type: Content of: <div><p> msgid "" "We could also solve the problem by convincing the webmasters to correct " "their sites to function without the JavaScript code, but convincing them " "proves to be very difficult, since mostly they don't understand the issue, " "let alone care about it. Maybe recommending use of these extensions for " "their sites will convince them to pay attention to supporting non-JavaScript " "access." msgstr "" #. type: Content of: <div><p> msgid "" "Therefore we invite volunteers to pick a site and write a browser extension " "to make that site function, assuming that LibreJS blocks the nonfree " "JavaScript sent by the site. To get an idea of how to do it, you can check " "<a href=\"https://jahoti.tilde.team/browser-extensions/index.html\">examples " "of site extensions</a> that already exist." msgstr "" #. type: Content of: <div><p> msgid "" "The first thing to do is to look briefly at the licenses of the JavaScript " "files on the site. Some of them might actually be free software. If some of " "the JS code sent by the site is free, you can include it in your extension, " "changing it as needed." msgstr "" #. type: Content of: <div><p> msgid "" "Next, check whether the site has published an API. If so, it is best to " "communicate using the API, if that can do the job. Otherwise, you need to " "use the browser debugging facilities to figure out what data and commands " "the JavaScript code sends to the server—in effect, its undocumented " "API." msgstr "" #. type: Content of: <div><p> msgid "" "The way to avoid infringing copyright on the site's own JavaScript code is " "not to study the code. Not any part of it, not even once. If you did not " "read the code, it follows that you did not copy any of it. Look only at the " "licenses." msgstr "" #. type: Content of: <div><p> msgid "" "These extensions should be honest—they should not “cheat.” " "If the site's JavaScript asks the user for information and sends it, the " "extension should ask the user for that information and send it. If the site " "asks per (<a href=\"#ft1\">1</a>) to check a box to agree to XYZ, the " "extension should ask per to check a box to agree to XYZ. The extension " "should faithfully pass on whatever responses the user enters. If the site " "sends a cookie, the extension should let it be handled according to the " "browser settings for cookies." msgstr "" #. type: Content of: <div><p> msgid "" "It is impossible to implement real security via JS code sent to the user, " "but whatever the site does to try to implement something resembling " "security, the extension should carry out faithfully. In particular, if the " "site asks the user to answer questions to prove perself not to be a robot, " "the extension should show per the same questions, get the answers, and send " "them in—thus enabling per to demonstrate that perse is human." msgstr "" #. type: Content of: <div><p> msgid "" "<a href=\"https://gothub.projectsegfau.lt/JeffCarpenter/librecaptcha/\"> " "Jeff Carpenter's librecaptcha</a> might be useful if the site sends a " "captcha. We will start a project to convert it to JS, and we will need " "volunteers for that, so please write to me if you are interested in helping." msgstr "" #. type: Content of: <div><p> msgid "" "Meanwhile, if the site's JS code gathers information surreptitiously, it is " "admirable to thwart that snooping. One idea is to ask the user what answer " "to return—for example, “The site is trying to find out your " "location. What do you want to tell it?” But it would be good to avoid " "asking the user frequently or repeatedly." msgstr "" #. type: Content of: <div><p> msgid "" "When you have an extension working, please mail a copy to the GNU Project at " "<a href=\"mailto:js-extensions@gnu.org\"><js-extensions@gnu.org></a>. " "You can also register it in Firefox's extensions list, if you can stomach " "running the nonfree software to do that." msgstr "" #. type: Content of: <div><p> msgid "" "We have set up a mailing list, <a " "href=\"https://lists.gnu.org/mailman/listinfo/js-extensions-discussion\"> " "js-extensions-discussion</a> where you can talk with others who are " "developing extensions." msgstr "" #. type: Content of: <div><p> msgid "" "Once things are going, we would like to set up a savannah.gnu.org repo where " "we will put the extensions that are working. To do that, we need a volunteer " "or two to manage it. We expect this task not to be a lot of work; the reason " "to have two is for redundancy." msgstr "" #. type: Content of: <div><p> msgid "" "We could also have a Savannah project which you could (if you wish) use for " "developing an extension; that too would require volunteers to take care of " "it." msgstr "" #. type: Content of: <div><p> msgid "" "Here are some suggestions for sites to write extensions for. (Some are " "commercial and some are not—that distinction is not significant for " "this issue.) However, if some other site interests you more, by all means " "go where your interests take you." msgstr "" #. type: Content of: <div><h3> msgid "Sites for accessing information and publications" msgstr "" #. type: Content of: <div><p> msgid "" "The initial goal is to handle anonymous access. To handle logging in, and " "logged-in access, is going beyond the short-term call of duty." msgstr "" #. type: Content of: <div><ul><li> msgid "accuweather.com (for looking at its weather info)" msgstr "" #. type: Content of: <div><ul><li> msgid "pubmed.ncbi.nlm.nih.gov (for downloading papers)" msgstr "" #. type: Content of: <div><ul><li> msgid "groups.google.com (for finding and viewing postings on groups)" msgstr "" #. type: Content of: <div><ul><li> msgid "tripadvisor.com (at least to show a restaurant's full menu)" msgstr "" #. type: Content of: <div><ul><li> msgid "blogger.com (to view the blogs)" msgstr "" #. type: Content of: <div><ul><li> msgid "britishmuseum.org/collection (to view the collection)" msgstr "" #. type: Content of: <div><ul><li> msgid "pdr.net (to view the information on the medicines)" msgstr "" #. type: Content of: <div><ul><li> msgid "reiseauskunft.bahn.de (to view train schedules, at least)" msgstr "" #. type: Content of: <div><ul><li> msgid "rgs.org/about/our-collections/online-exhibitions (to view the exhibitions)" msgstr "" #. type: Content of: <div><ul><li> msgid "worldcat.org (to look up books)" msgstr "" #. type: Content of: <div><ul><li><p> msgid "" "As an example, see <a " "href=\"https://www.worldcat.org/title/gnu-emacs-manual/oclc/232354882\"> " "this entry for the GNU Emacs manual</a>. Please note on the page the heading " "“Find a copy in the library.” Without running the proprietary " "JavaScript, the only content under that heading is a loading spinner GIF and " "the text “Finding libraries that hold this item…” The " "actual library availability information for the given book is absent." msgstr "" #. type: Content of: <div><ul><li> msgid "scribd.com (to read texts)" msgstr "" #. type: Content of: <div><ul><li> msgid "soundcloud.com (to listen to audios)" msgstr "" #. type: Content of: <div><ul><li> msgid "documentcloud.org (to view documents)" msgstr "" #. type: Content of: <div><ul><li> msgid "bandcamp.com (to listen to or download music)" msgstr "" #. type: Content of: <div><ul><li> msgid "manualslib.com (to download manuals)" msgstr "" #. type: Content of: <div><ul><li> msgid "npr.com (to listen—try using its API)" msgstr "" #. type: Content of: <div><ul><li> msgid "nasa.gov (to look at the publications, including photos and videos)" msgstr "" #. type: Content of: <div><ul><li> msgid "" "reddit.com (for reading, at least). At present, you can do this by using <a " "href=\"https://old.reddit.com\">old.reddit.com</a>." msgstr "" #. type: Content of: <div><h3> msgid "Petition-signing sites (to let the user sign)" msgstr "" #. type: Content of: <div><ul><li> msgid "" "freedomunited.org (appears to “succeed” but no confirmation " "comes back)" msgstr "" #. type: Content of: <div><ul><li> msgid "sumofus.org (the old extension from years ago no longer works)" msgstr "" #. type: Content of: <div><ul><li> msgid "change.org (warning, this site's JS is very complex)" msgstr "" #. type: Content of: <div><ul><li> msgid "afsc.org" msgstr "" #. type: Content of: <div><ul><li> msgid "act.ran.org" msgstr "" #. type: Content of: <div><ul><li> msgid "coworker.org" msgstr "" #. type: Content of: <div><ul><li> msgid "defenders.org" msgstr "" #. type: Content of: <div><ul><li> msgid "earthjustice.org" msgstr "" #. type: Content of: <div><ul><li> msgid "amazonwatch.org" msgstr "" #. type: Content of: <div><ul><li> msgid "signherenow.org" msgstr "" #. type: Content of: <div><ul><li> msgid "moveon.org" msgstr "" #. type: Content of: <div><ul><li> msgid "publiccitizen.salsalabs.org" msgstr "" #. type: Content of: <div><ul><li> msgid "action.splcenter.org" msgstr "" #. type: Content of: <div><ul><li> msgid "secure.everyaction.com" msgstr "" #. type: Content of: <div><ul><li> msgid "amnesty.org" msgstr "" #. type: Content of: <div><ul><li> msgid "addup.sierraclub.org" msgstr "" #. type: Content of: <div><ul><li> msgid "ucsusa.org" msgstr "" #. type: Content of: <div><ul><li> msgid "engage.drugpolicy.org" msgstr "" #. type: Content of: <div><ul><li> msgid "engage.us.greenpeace.org" msgstr "" #. type: Content of: <div><h3> msgid "Other kinds of sites" msgstr "" #. type: Content of: <div><ul><li> msgid "house.gov (for viewinng pages and sending mail to representatives)" msgstr "" #. type: Content of: <div><ul><li> msgid "" "whitehouse.gov (for communicating with the White House and with the " "webmasters)" msgstr "" #. type: Content of: <div><ul><li> msgid "Disqus comments, found in various websites (for posting a comment)" msgstr "" #. type: Content of: <div><ul><li> msgid "regulations.gov (for commenting on proposed US regulations)" msgstr "" #. type: Content of: <div><ul><li> msgid "surveymonkey.com (for answering surveys)" msgstr "" #. type: Content of: <div><ul><li> msgid "coworker.org/start-a-petition (for starting a petition)" msgstr "" #. type: Content of: <div><ul><li> msgid "" "wetransfer.com (ideally for upload and download, but just downloading would " "be a good first step)" msgstr "" #. type: Content of: <div><ul><li> msgid "stripe.com (for entering payments for other sites)" msgstr "" #. type: Content of: <div><h3> msgid "Sites that people have handled in this way" msgstr "" #. type: Content of: <div><ul><li> msgid "docs.google.com (for downloading documents)" msgstr "" #. type: Content of: <div><ul><li> msgid "pay.gov (for registering a DMCA contact)" msgstr "" #. type: Content of: <div><ul><li> msgid "rsf.org (for signing petitions)" msgstr "" #. type: Content of: <div><ul><li> msgid "theonion.com (for looking at images and audio)" msgstr "" #. type: Content of: <div><ul><li> msgid "goteo.org (for payments)" msgstr "" #. type: Content of: <div><div><h3> msgid "Footnote" msgstr "" #. type: Content of: <div><div><ol><li> msgid "" "The author uses the gender-neutral third person singular pronouns and " "possessive adjective “perse,” “per,” " "“perself,” and “pers.”" msgstr "" #. TRANSLATORS: Use space (SPC) as msgstr if you don't have notes. #. type: Content of: <div> msgid "*GNUN-SLOT: TRANSLATOR'S NOTES*" msgstr "" #. type: Content of: <div><div><p> msgid "" "Please send general FSF & GNU inquiries to <a " "href=\"mailto:gnu@gnu.org\"><gnu@gnu.org></a>. There are also <a " "href=\"/contact/\">other ways to contact</a> the FSF. Broken links and " "other corrections or suggestions can be sent to <a " "href=\"mailto:webmasters@gnu.org\"><webmasters@gnu.org></a>." msgstr "" #. TRANSLATORS: Ignore the original text in this paragraph, #. replace it with the translation of these two: # #. We work hard and do our best to provide accurate, good quality #. translations. However, we are not exempt from imperfection. #. Please send your comments and general suggestions in this regard #. to <a href="mailto:web-translators@gnu.org"> # #. <web-translators@gnu.org></a>.</p> # #. <p>For information on coordinating and contributing translations of #. our web pages, see <a #. href="/server/standards/README.translations.html">Translations #. README</a>. #. type: Content of: <div><div><p> msgid "" "Please see the <a " "href=\"/server/standards/README.translations.html\">Translations README</a> " "for information on coordinating and contributing translations of this " "article." msgstr "" #. type: Content of: <div><p> msgid "Copyright © 2021, 2024 Free Software Foundation, Inc." msgstr "" #. type: Content of: <div><p> msgid "" "This page is licensed under a <a rel=\"license\" " "href=\"http://creativecommons.org/licenses/by-nd/4.0/\">Creative Commons " "Attribution-NoDerivatives 4.0 International License</a>." msgstr "" #. TRANSLATORS: Use space (SPC) as msgstr if you don't want credits. #. type: Content of: <div><div> msgid "*GNUN-SLOT: TRANSLATOR'S CREDITS*" msgstr "" #. timestamp start #. type: Content of: <div><p> msgid "Updated:" msgstr ""