lang sync + syntax highlighting for article filters

This commit is contained in:
Martin Rotter 2023-08-04 11:06:04 +02:00
parent b5c693ec42
commit 8698084ffe
6 changed files with 253 additions and 219 deletions

View File

@ -139,7 +139,7 @@ Error: %1</translation>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="311"/>
<source>Go to survey</source>
<translation type="unfinished"/>
<translation>Gehe zur Umfrage</translation>
</message>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="560"/>
@ -969,7 +969,7 @@ Item ID: %5</translation>
<message>
<location filename="../src/librssguard/core/feedsmodel.cpp" line="517"/>
<source>Do you really want to clean all articles from selected item?</source>
<translation type="unfinished"/>
<translation>Möchtest du wirklich alle Artikel des ausgewählten Elementes löschen? </translation>
</message>
<message>
<location filename="../src/librssguard/core/feedsmodel.cpp" line="32"/>
@ -1102,7 +1102,7 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/gui/feedsview.cpp" line="875"/>
<source>Context menu for probe</source>
<translation type="unfinished"/>
<translation>Kontextmenü für Probe</translation>
</message>
<message>
<location filename="../src/librssguard/gui/feedsview.cpp" line="136"/>
@ -1326,12 +1326,12 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="12"/>
<source>Name for your probe</source>
<translation type="unfinished"/>
<translation>Name deiner Probe</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="13"/>
<source>Regular expression</source>
<translation type="unfinished"/>
<translation>Regular Expression</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="17"/>
@ -1347,17 +1347,17 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="25"/>
<source>Probe name cannot be empty.</source>
<translation type="unfinished"/>
<translation>Name der Probe kann nicht leer sein.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="28"/>
<source>Regular expression is not well-formed.</source>
<translation type="unfinished"/>
<translation>Regular Expression ist nicht gut aufgebaut.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="40"/>
<source>Create new probe</source>
<translation type="unfinished"/>
<translation>Erstelle neue Probe</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="43"/>
@ -1367,7 +1367,7 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="61"/>
<source>Edit probe &apos;%1&apos;</source>
<translation type="unfinished"/>
<translation>Bearbeite Probe &apos;%1&apos;</translation>
</message>
</context>
<context>
@ -1803,12 +1803,12 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="72"/>
<source>Add articles with any date into the database</source>
<translation type="unfinished"/>
<translation>Füge Artikel mit allen Daten zur Datenbank hinzu</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="82"/>
<source>Avoid adding articles before this date into the database</source>
<translation type="unfinished"/>
<translation>Meide es, Artikel vor diesem Datum in die Datenbank hinzuzufügen.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="118"/>
@ -1823,12 +1823,12 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="138"/>
<source>Right-to-left layout</source>
<translation type="unfinished"/>
<translation>Rechts-nach-Links Layout</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="124"/>
<source>Ignore notifications for this feed</source>
<translation type="unfinished"/>
<translation>Ignoriere Benachrichtigungen dieses Feedes</translation>
</message>
</context>
<context>
@ -1836,7 +1836,7 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/gui/dialogs/formlog.cpp" line="16"/>
<source>Application log</source>
<translation type="unfinished"/>
<translation>Anwendungsprotokoll</translation>
</message>
</context>
<context>
@ -1859,12 +1859,12 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.cpp" line="79"/>
<source>Open main menu</source>
<translation type="unfinished"/>
<translation>Öffne Hauptmenü</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.cpp" line="87"/>
<source>Open &amp;main menu</source>
<translation type="unfinished"/>
<translation>Öffne &amp;Hauptmenü</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="53"/>
@ -1894,22 +1894,22 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="105"/>
<source>F&amp;eeds</source>
<translation type="unfinished"/>
<translation>F&amp;eeds</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="109"/>
<source>&amp;Add item</source>
<translation type="unfinished"/>
<translation>&amp;Füge Element hinzu</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="114"/>
<source>&amp;Move</source>
<translation type="unfinished"/>
<translation>&amp;Verschiebe</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="158"/>
<source>Art&amp;icles</source>
<translation type="unfinished"/>
<translation>Art&amp;ikel</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="183"/>
@ -1924,7 +1924,7 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="198"/>
<source>&amp;Web browser &amp;&amp; tabs</source>
<translation type="unfinished"/>
<translation>&amp;Webbrowser &amp;&amp; tabs</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="225"/>
@ -1979,12 +1979,12 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="289"/>
<source>Fetch &amp;selected</source>
<translation type="unfinished"/>
<translation>Hole @ausgewählte</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="292"/>
<source>Fetch selected feeds</source>
<translation type="unfinished"/>
<translation>Hole ausgewählte Feeds</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="300"/>
@ -4423,7 +4423,7 @@ Ablauf des Login tokens: %2</translation>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="302"/>
<source>Is article important?</source>
<translation type="unfinished"/>
<translation>Ist Artikel wichtig?</translation>
</message>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="303"/>
@ -5764,7 +5764,7 @@ Ablauf des Login tokens: %2</translation>
<message>
<location filename="../src/librssguard/gui/reusable/searchlineedit.cpp" line="107"/>
<source>Regular expression</source>
<translation type="unfinished"/>
<translation>Regular expression</translation>
</message>
</context>
<context>
@ -6313,7 +6313,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="128"/>
<source>Avoid adding articles before this date into the database</source>
<translation type="unfinished"/>
<translation>Meide es, Artikel vor diesem Datum in die Datenbank hinzuzufügen.</translation>
</message>
<message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="164"/>

View File

@ -22,12 +22,12 @@
<message>
<location filename="../src/librssguard/network-web/adblock/adblockdialog.cpp" line="63"/>
<source>Cannot enable AdBlock</source>
<translation type="unfinished"/>
<translation>Can&apos;t enable AdBlock</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/adblock/adblockdialog.cpp" line="64"/>
<source>There is some error in AdBlock component and it cannot be enabled. Check error message below (or application debug log) for more information.</source>
<translation type="unfinished"/>
<translation>There is an error in the AdBlock component and can&apos;t be enabled. Check the error message below (or application debug log) for more information.</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/adblock/adblockdialog.cpp" line="98"/>
@ -37,14 +37,16 @@
<message>
<location filename="../src/librssguard/network-web/adblock/adblockdialog.cpp" line="113"/>
<source>There is error, check application log for more details and head to online documentation.</source>
<translation type="unfinished"/>
<translation>There is an error, check the application log for more details and head over to the online documentation.</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/adblock/adblockdialog.cpp" line="84"/>
<source>There is error, check application log for more details and head to online documentation. Also make sure that Node.js is installed.
Error: %1</source>
<translation type="unfinished"/>
<translation>There is an error, check the application log for more details and head over to the online documentation. Also make sure that Node.js is installed.
Error: %1</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/adblock/adblockdialog.cpp" line="88"/>
@ -142,17 +144,17 @@ Error: %1</source>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="560"/>
<source>Settings file not copied to output directory successfully.</source>
<translation type="unfinished"/>
<translation>Failed to copy settings file to output directory.</translation>
</message>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="577"/>
<source>Database restoration was not initiated. Make sure that output directory is writable.</source>
<translation type="unfinished"/>
<translation>Database restoration was not initiated. Make sure that the output directory is writable.</translation>
</message>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="584"/>
<source>Settings restoration was not initiated. Make sure that output directory is writable.</source>
<translation type="unfinished"/>
<translation>Settings restoration was not initiated. Make sure that the output directory is writable.</translation>
</message>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="1100"/>
@ -291,7 +293,7 @@ version by clicking this popup notification.</source>
<message>
<location filename="../src/librssguard/services/abstract/gui/authenticationdetails.cpp" line="61"/>
<source>Password is ok or it is not needed.</source>
<translation type="unfinished"/>
<translation>Password is ok or is not needed.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/authenticationdetails.cpp" line="61"/>
@ -750,7 +752,7 @@ Item ID: %5</source>
<message>
<location filename="../src/librssguard/miscellaneous/feedreader.cpp" line="95"/>
<source>You cannot fetch new articles now because another critical operation is ongoing.</source>
<translation type="unfinished"/>
<translation>You cannot fetch new articles right now because another critical operation is ongoing.</translation>
</message>
</context>
<context>
@ -2749,7 +2751,7 @@ or this functionality is not implemented yet.</source>
<message>
<location filename="../src/librssguard/gui/dialogs/formrestoredatabasesettings.cpp" line="62"/>
<source>Database and/or settings were not copied to restoration directory successully.</source>
<translation>Database and/or settings were not successully copied to the restoration directory.</translation>
<translation>Failed to copy database and/or settings to restoration directory.</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formrestoredatabasesettings.cpp" line="81"/>
@ -3585,7 +3587,7 @@ Login tokens expiration: %2</source>
<message>
<location filename="../src/librssguard/services/greader/gui/greaderaccountdetails.cpp" line="47"/>
<source>Some feeds might contain tens of thousands of articles and downloading all of them could take great amount of time, so sometimes it is good to download only certain amount of newest messages.</source>
<translation type="unfinished"/>
<translation>Some feeds might contain tens of thousands of articles and downloading all of them could take a long time, so sometimes it is good to download only a certain amount of new messages.</translation>
</message>
<message>
<location filename="../src/librssguard/services/greader/gui/greaderaccountdetails.cpp" line="53"/>
@ -4419,12 +4421,12 @@ Login tokens expiration: %2</source>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="303"/>
<source>Is article permanently deleted from recycle bin?</source>
<translation type="unfinished"/>
<translation>Is the article permanently deleted from the recycle bin?</translation>
</message>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="304"/>
<source>ID of feed which this article belongs to.</source>
<translation type="unfinished"/>
<translation>ID of the feed which this article belongs to.</translation>
</message>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="304"/>
@ -4617,12 +4619,12 @@ Login tokens expiration: %2</source>
<message>
<location filename="../src/librssguard/gui/toolbars/messagestoolbar.cpp" line="294"/>
<source>Show articles in last 24 hours</source>
<translation type="unfinished"/>
<translation>Show articles from the last 24 hours</translation>
</message>
<message>
<location filename="../src/librssguard/gui/toolbars/messagestoolbar.cpp" line="299"/>
<source>Show articles in last 48 hours</source>
<translation type="unfinished"/>
<translation>Show articles from the last 48 hours</translation>
</message>
<message>
<location filename="../src/librssguard/gui/toolbars/messagestoolbar.cpp" line="304"/>
@ -4790,7 +4792,7 @@ Login tokens expiration: %2</source>
<message>
<location filename="../src/librssguard/network-web/networkfactory.cpp" line="84"/>
<source>access to content was denied</source>
<translation type="unfinished"/>
<translation>access to the content was denied</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/networkfactory.cpp" line="93"/>
@ -4943,7 +4945,7 @@ Login tokens expiration: %2</source>
<message>
<location filename="../src/librssguard/services/newsblur/gui/newsbluraccountdetails.cpp" line="29"/>
<source>Some feeds might contain tens of thousands of articles and downloading all of them could take great amount of time, so sometimes it is good to download only certain amount of newest messages.</source>
<translation type="unfinished"/>
<translation>Some feeds might contain tens of thousands of articles and downloading all of them could take a long time, so sometimes it is good to download only a certain amount of new messages.</translation>
</message>
<message>
<location filename="../src/librssguard/services/newsblur/gui/newsbluraccountdetails.cpp" line="64"/>
@ -6943,7 +6945,7 @@ Also, there are some built-in sounds. Just start typing &quot;:&quot; and they w
<message>
<location filename="../src/librssguard/database/sqlitedriver.cpp" line="370"/>
<source>Database file not copied to output directory successfully.</source>
<translation type="unfinished"/>
<translation>Failed to copy database file to output directory.</translation>
</message>
</context>
<context>
@ -6951,12 +6953,12 @@ Also, there are some built-in sounds. Just start typing &quot;:&quot; and they w
<message>
<location filename="../src/librssguard/services/standard/standardcategory.cpp" line="44"/>
<source>Cannot save data for category, detailed information was logged via debug log.</source>
<translation type="unfinished"/>
<translation>Can&apos;t save data for category, detailed information was logged via debug log.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/standardcategory.cpp" line="43"/>
<source>Cannot save category data</source>
<translation type="unfinished"/>
<translation>Can&apos;t save category data</translation>
</message>
</context>
<context>
@ -6989,7 +6991,7 @@ Also, there are some built-in sounds. Just start typing &quot;:&quot; and they w
<message>
<location filename="../src/librssguard/services/standard/standardfeed.cpp" line="359"/>
<source>XML is not well-formed, %1</source>
<translation type="unfinished"/>
<translation>XML is not well-formatted, %1</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/standardfeed.cpp" line="442"/>
@ -6999,7 +7001,7 @@ Also, there are some built-in sounds. Just start typing &quot;:&quot; and they w
<message>
<location filename="../src/librssguard/services/standard/standardfeed.cpp" line="482"/>
<source>Cannot move feed, detailed information was logged via debug log.</source>
<translation type="unfinished"/>
<translation>Can&apos;t move the feed, detailed information was logged via the debug log.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/standardfeed.cpp" line="64"/>
@ -7011,12 +7013,12 @@ Type: %3</source>
<message>
<location filename="../src/librssguard/services/standard/standardfeed.cpp" line="209"/>
<source>Cannot save feed data</source>
<translation type="unfinished"/>
<translation>Can&apos;t save feed data</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/standardfeed.cpp" line="481"/>
<source>Cannot move feed</source>
<translation type="unfinished"/>
<translation>Can&apos;t move feed</translation>
</message>
</context>
<context>
@ -7029,7 +7031,7 @@ Type: %3</source>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="30"/>
<source>Set title for your feed.</source>
<translation type="unfinished"/>
<translation>Set the title for your feed.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="31"/>
@ -7039,7 +7041,7 @@ Type: %3</source>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="32"/>
<source>Set description for your feed.</source>
<translation type="unfinished"/>
<translation>Set the description for your feed.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="72"/>
@ -7129,7 +7131,7 @@ Type: %3</source>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="256"/>
<source>The URL does not meet standard pattern. Does your URL start with &quot;http://&quot; or &quot;https://&quot; prefix.</source>
<translation type="unfinished"/>
<translation>The URL does not meet the standard pattern. Does your URL start with &quot;http://&quot; or &quot;https://&quot; prefix.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="260"/>
@ -7139,7 +7141,7 @@ Type: %3</source>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="296"/>
<source>Select icon file for the feed</source>
<translation type="unfinished"/>
<translation>Select the icon file for the feed</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="298"/>
@ -7266,7 +7268,7 @@ Also, you can post-process generated feed data with yet another script if you wi
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.ui" line="58"/>
<source>Select type of the standard feed.</source>
<translation type="unfinished"/>
<translation>Select the type of the standard feed.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.ui" line="65"/>
@ -7311,7 +7313,7 @@ Also, you can post-process generated feed data with yet another script if you wi
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.ui" line="214"/>
<source>Select icon for your feed.</source>
<translation type="unfinished"/>
<translation>Select the icon for your feed.</translation>
</message>
</context>
<context>
@ -7324,7 +7326,7 @@ Also, you can post-process generated feed data with yet another script if you wi
<message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="60"/>
<source>Do you want to load initial set of feeds?</source>
<translation type="unfinished"/>
<translation>Do you want to load the initial set of feeds?</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="88"/>
@ -7675,7 +7677,7 @@ Unread news: %2</source>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="103"/>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="104"/>
<source>Other error occurred, contact developers.</source>
<translation type="unfinished"/>
<translation>An other error occurred, contact the developers.</translation>
</message>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="109"/>
@ -7742,7 +7744,7 @@ Unread news: %2</source>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="173"/>
<source>Password is ok or it is not needed.</source>
<translation type="unfinished"/>
<translation>Password is ok or is not needed.</translation>
</message>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="174"/>
@ -7841,7 +7843,7 @@ Unread news: %2</source>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssfeeddetails.cpp" line="12"/>
<source>Provide URL for your feed.</source>
<translation type="unfinished"/>
<translation>Provide the URL for your feed.</translation>
</message>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssfeeddetails.cpp" line="21"/>
@ -7851,7 +7853,7 @@ Unread news: %2</source>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssfeeddetails.cpp" line="27"/>
<source>The URL does not meet standard pattern. Does your URL start with &quot;http://&quot; or &quot;https://&quot; prefix.</source>
<translation type="unfinished"/>
<translation>The URL does not meet the standard pattern. Does your URL start with &quot;http://&quot; or &quot;https://&quot; prefix.</translation>
</message>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssfeeddetails.cpp" line="31"/>
@ -7944,7 +7946,7 @@ Last login on: %4</source>
<message>
<location filename="../src/librssguard/gui/webbrowser.cpp" line="279"/>
<source>Reader mode cannot be applied to current page.</source>
<translation type="unfinished"/>
<translation>Reader mode cannot be applied to the current page.</translation>
</message>
<message>
<location filename="../src/librssguard/gui/webbrowser.cpp" line="290"/>
@ -8000,12 +8002,12 @@ Last login on: %4</source>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="313"/>
<source>Auto-load images</source>
<translation type="unfinished"/>
<translation>Enable auto-image loading</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="314"/>
<source>JS enabled</source>
<translation type="unfinished"/>
<translation>Enable JavaScript</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="315"/>
@ -8025,7 +8027,7 @@ Last login on: %4</source>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="321"/>
<source>Local storage enabled</source>
<translation type="unfinished"/>
<translation>Enable local storage</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="323"/>
@ -8035,12 +8037,12 @@ Last login on: %4</source>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="325"/>
<source>XSS auditing enabled</source>
<translation type="unfinished"/>
<translation>Enable XSS auditing</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="327"/>
<source>Spatial navigation enabled</source>
<translation type="unfinished"/>
<translation>Enable spatial navigation</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="329"/>
@ -8050,7 +8052,7 @@ Last login on: %4</source>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="331"/>
<source>Hyperlink auditing enabled</source>
<translation type="unfinished"/>
<translation>Enable hyperlink auditing</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="333"/>
@ -8060,27 +8062,27 @@ Last login on: %4</source>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="335"/>
<source>Error pages enabled</source>
<translation type="unfinished"/>
<translation>Enable error pages</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="336"/>
<source>Plugins enabled</source>
<translation type="unfinished"/>
<translation>Enable plugins</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="337"/>
<source>Fullscreen enabled</source>
<translation type="unfinished"/>
<translation>Enable fullscreen</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="341"/>
<source>Screen capture enabled</source>
<translation type="unfinished"/>
<translation>Enable screen capture</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="343"/>
<source>WebGL enabled</source>
<translation type="unfinished"/>
<translation>Enable WebGL</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="344"/>
@ -8110,7 +8112,7 @@ Last login on: %4</source>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="682"/>
<source>Do you really want to clear web cache?</source>
<translation type="unfinished"/>
<translation>Do you really want to clear the web cache?</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="120"/>
@ -8145,17 +8147,17 @@ Last login on: %4</source>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="361"/>
<source>JS can paste from clipboard</source>
<translation type="unfinished"/>
<translation>Allow JS to paste from clipboard</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="363"/>
<source>DNS prefetch enabled</source>
<translation type="unfinished"/>
<translation>Enable DNS prefetching</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/webfactory.cpp" line="367"/>
<source>PDF viewer enabled</source>
<translation type="unfinished"/>
<translation>Enable PDF viewer</translation>
</message>
</context>
</TS>

View File

@ -139,7 +139,7 @@ Erreur : %1</translation>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="311"/>
<source>Go to survey</source>
<translation type="unfinished"/>
<translation>Aller au sondage</translation>
</message>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="560"/>
@ -824,7 +824,7 @@ Identifiant d&apos;élément: %5</translation>
<message>
<location filename="../src/librssguard/services/feedly/gui/feedlyaccountdetails.cpp" line="51"/>
<source>If you select intelligent synchronization, then only not-yet-fetched or updated articles are downloaded. Network usage is greatly reduced and overall synchronization speed is greatly improved, but first feed fetching could be slow anyway if your feed contains huge number of articles.</source>
<translation>Si vous sélectionnez la synchronisation intelligente, alors seulement les articles non obtenus ou mis à jour seront téléchargés. La consommation de données est fortement réduite et la vitesse de synchronisation générale est fortement améliorée, mais la première obtention de flux peut être lente de toute façon si votre flux contient un nombre d&apos;articles immense.</translation>
<translation>Si vous sélectionnez la synchronisation intelligente, alors seulement les articles pas encore obtenus ou mis à jour seront téléchargés. La consommation de données est fortement réduite et la vitesse de synchronisation générale est fortement améliorée, mais la première obtention de flux peut être lente de toute façon si votre flux contient un nombre d&apos;articles très important.</translation>
</message>
<message>
<location filename="../src/librssguard/services/feedly/gui/feedlyaccountdetails.cpp" line="92"/>
@ -970,7 +970,7 @@ Identifiant d&apos;élément: %5</translation>
<message>
<location filename="../src/librssguard/core/feedsmodel.cpp" line="517"/>
<source>Do you really want to clean all articles from selected item?</source>
<translation type="unfinished"/>
<translation>Voulez-vous vraiment nettoyer tous les articles de l&apos;élément sélectionné?</translation>
</message>
<message>
<location filename="../src/librssguard/core/feedsmodel.cpp" line="32"/>
@ -1104,7 +1104,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/gui/feedsview.cpp" line="875"/>
<source>Context menu for probe</source>
<translation type="unfinished"/>
<translation>Menu contextuel de votre sonde</translation>
</message>
<message>
<location filename="../src/librssguard/gui/feedsview.cpp" line="136"/>
@ -1328,7 +1328,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="12"/>
<source>Name for your probe</source>
<translation type="unfinished"/>
<translation>Nom de votre sonde</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="13"/>
@ -1349,17 +1349,17 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="25"/>
<source>Probe name cannot be empty.</source>
<translation type="unfinished"/>
<translation>Le nom de votre sonde ne peut pas être vide.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="28"/>
<source>Regular expression is not well-formed.</source>
<translation type="unfinished"/>
<translation>L&apos;expression régulière n&apos;est pas bien formattée.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="40"/>
<source>Create new probe</source>
<translation type="unfinished"/>
<translation>Créer une nouvelle sonde</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="43"/>
@ -1369,7 +1369,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="61"/>
<source>Edit probe &apos;%1&apos;</source>
<translation type="unfinished"/>
<translation>Modifier sonde &apos;%1&apos;</translation>
</message>
</context>
<context>
@ -1805,12 +1805,12 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="72"/>
<source>Add articles with any date into the database</source>
<translation type="unfinished"/>
<translation>Ajouter des articles avec une date quelconque dans la base de données</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="82"/>
<source>Avoid adding articles before this date into the database</source>
<translation type="unfinished"/>
<translation>Éviter d&apos;ajouter des articles qui datent d&apos;avant la date spécifiée dans la base de données</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="118"/>
@ -1825,7 +1825,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="138"/>
<source>Right-to-left layout</source>
<translation type="unfinished"/>
<translation>Mise en page de droite à gauche</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="124"/>
@ -2121,7 +2121,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="454"/>
<source>Hides main window if it is visible and shows it if it is hidden.</source>
<translation>Cacher la fenêtre principale si il est visible et la montrer si il est cacher.</translation>
<translation>Cacher la fenêtre principale si elle est visible et la montrer si elle est cachée.</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="468"/>
@ -2206,7 +2206,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="586"/>
<source>&amp;Donate...</source>
<translation>&amp;Faire un don...</translation>
<translation>&amp;Faire un don </translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="594"/>
@ -2357,7 +2357,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="817"/>
<source>&amp;Show tree expanders</source>
<translation type="unfinished"/>
<translation>&amp;Montrer les agrandisseurs de catégories</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="822"/>
@ -2382,7 +2382,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="854"/>
<source>Expand/collapse selected item &amp;recursively</source>
<translation type="unfinished"/>
<translation>&amp;Étendre/rétracter l&apos;élément selectionné d&apos;une manière &amp;récursive</translation>
</message>
<message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="859"/>
@ -2965,7 +2965,7 @@ Vous devez redémarrer manuellement.</translation>
<message>
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.cpp" line="32"/>
<source>You can enter full command including interpreter here.</source>
<translation type="unfinished"/>
<translation>Vous pouvez entrer votre commande complète (interprète inclus) ici.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.cpp" line="34"/>
@ -3045,7 +3045,7 @@ Vous devez redémarrer manuellement.</translation>
<message>
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.ui" line="71"/>
<source>Do not fetch icons</source>
<translation type="unfinished"/>
<translation>Ne pas obtenir les icônes</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.ui" line="78"/>
@ -3365,7 +3365,7 @@ Vous pouvez désormais l&apos;installer.</translation>
<message>
<location filename="../src/librssguard/services/gmail/gui/gmailaccountdetails.cpp" line="18"/>
<source>There are some preconfigured OAuth tokens so you do not have to fill in your client ID/secret, but it is strongly recommended to obtain your own as it preconfigured tokens have limited global usage quota. If you wish to use preconfigured tokens, simply leave those fields empty and make sure to leave default value of redirect URL.</source>
<translation type="unfinished"/>
<translation>Il y a certains jetons OAuth pré-configurés vous n&apos;avez pas besoin d&apos;entrer votre ID/secret client, mais il est fortement recommandé d&apos;obtenir le votre à vous vu que les jetons pré-configurés ont un quota global d&apos;utilisation limité. Si vous souhaitez tout de même utiliser des jetons pré-configurés, alors laissez tout simplement ces champs vides et soyez sûrs de laisser la valeur du lien de redirection à celle par défaut.</translation>
</message>
<message>
<location filename="../src/librssguard/services/gmail/gui/gmailaccountdetails.cpp" line="25"/>
@ -3453,7 +3453,7 @@ Vous pouvez désormais l&apos;installer.</translation>
<message>
<location filename="../src/librssguard/services/gmail/gmailnetworkfactory.cpp" line="184"/>
<source>failed to download list of labels</source>
<translation type="unfinished"/>
<translation>le téléchargement de la liste d&apos;étiquettes a echoué</translation>
</message>
<message>
<location filename="../src/librssguard/services/gmail/gmailnetworkfactory.cpp" line="448"/>
@ -3618,12 +3618,12 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/services/greader/gui/greaderaccountdetails.cpp" line="53"/>
<source>If you select intelligent synchronization, then only not-yet-fetched or updated articles are downloaded. Network usage is greatly reduced and overall synchronization speed is greatly improved, but first feed fetching could be slow anyway if your feed contains huge number of articles.</source>
<translation>Si vous selectionnez la synchronisation intelligente, alors seulement les articles non obtenus ou mis à jour seront téléchargés. La consommation de données est fortement réduite et la vitesse de synchronisation générale est fortement améliorée, mais la première obtention de flux peut être lente de toute façon si votre flux contient un nombre d&apos;articles immense.</translation>
<translation>Si vous sélectionnez la synchronisation intelligente, alors seulement les articles pas encore obtenus ou mis à jour seront téléchargés. La consommation de données est fortement réduite et la vitesse de synchronisation générale est fortement améliorée, mais la première obtention de flux peut être lente de toute façon si votre flux contient un nombre d&apos;articles très important.</translation>
</message>
<message>
<location filename="../src/librssguard/services/greader/gui/greaderaccountdetails.cpp" line="62"/>
<source>There are some preconfigured OAuth tokens so you do not have to fill in your client ID/secret, but it is strongly recommended to obtain your own as preconfigured tokens have limited global usage quota. If you wish to use preconfigured tokens, simply leave all above fields to their default values even if they are empty.</source>
<translation type="unfinished"/>
<translation>Il y a certains jetons OAuth pré-configurés vous n&apos;avez pas besoin d&apos;entrer votre ID/secret client, mais il est fortement recommandé d&apos;obtenir le votre à vous vu que les jetons pré-configurés ont un quota global d&apos;utilisation limité. Si vous souhaitez tout de même utiliser des jetons pré-configurés, alors laissez tout simplement les champs ci-dessus à leurs valeurs par défaut.</translation>
</message>
<message>
<location filename="../src/librssguard/services/greader/gui/greaderaccountdetails.cpp" line="69"/>
@ -3797,7 +3797,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/gui/reusable/helpspoiler.cpp" line="26"/>
<source>View more information on this</source>
<translation>Voir plus d&apos;infos sur ceci</translation>
<translation>Voir plus d&apos;infos</translation>
</message>
</context>
<context>
@ -4081,7 +4081,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/gui/richtexteditor/mrichtextedit.cpp" line="118"/>
<source>Remove character formatting</source>
<translation>Retirer le formattage de charactère</translation>
<translation>Retirer le formattage de caractère</translation>
</message>
<message>
<location filename="../src/librssguard/gui/richtexteditor/mrichtextedit.cpp" line="123"/>
@ -4412,7 +4412,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="297"/>
<source>RTL</source>
<translation type="unfinished"/>
<translation>DAG</translation>
</message>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="299"/>
@ -4512,7 +4512,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="309"/>
<source>Layout direction of the article</source>
<translation type="unfinished"/>
<translation>La direction de mise-en-page de l&apos;article</translation>
</message>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="310"/>
@ -5091,7 +5091,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/network-web/oauth2service.cpp" line="347"/>
<source>Failed to start OAuth redirection listener. Maybe your rights are not high enough.</source>
<translation type="unfinished"/>
<translation>Le lancement de l&apos;écouteur de redirection OAuth a échoué. Peut-être que vous n&apos;avez pas les droits suffisants.</translation>
</message>
<message>
<location filename="../src/librssguard/network-web/oauth2service.cpp" line="95"/>
@ -5377,7 +5377,7 @@ Feedly est un éspace sécurisé où vous pouvez organiser et rechercher les suj
<message>
<location filename="../src/librssguard/miscellaneous/notification.cpp" line="151"/>
<source>Node.js - package(s) failed to update</source>
<translation type="unfinished"/>
<translation>Node.js - la mise à jour paquet(s) a échoué</translation>
</message>
<message>
<location filename="../src/librssguard/miscellaneous/notification.cpp" line="154"/>
@ -5416,7 +5416,7 @@ Liste d&apos;agrégateurs compatibles:</translation>
<message>
<location filename="../src/librssguard/services/standard/standardserviceentrypoint.cpp" line="16"/>
<source>This service offers integration with standard online RSS/RDF/ATOM/JSON feeds and podcasts.</source>
<translation type="unfinished"/>
<translation>Ce service offre une integration de flux &amp; podcasts RSS/RDF/ATOM/JSON standards.</translation>
</message>
<message>
<location filename="../src/librssguard/services/reddit/redditentrypoint.cpp" line="36"/>
@ -5538,7 +5538,7 @@ Liste d&apos;agrégateurs compatibles:</translation>
<message>
<location filename="../src/librssguard/services/abstract/recyclebin.cpp" line="106"/>
<source>Do you really want to empty your recycle bin?</source>
<translation type="unfinished"/>
<translation>Voulez-vous vraiment vider votre corbeille?</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/recyclebin.cpp" line="18"/>
@ -5772,7 +5772,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/gui/reusable/searchlineedit.cpp" line="30"/>
<source>Case-sensitive</source>
<translation type="unfinished"/>
<translation>Les cases sont prises en compte</translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/searchlineedit.cpp" line="101"/>
@ -5782,7 +5782,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/gui/reusable/searchlineedit.cpp" line="104"/>
<source>Wildcard</source>
<translation type="unfinished"/>
<translation>Caractère de remplacement</translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/searchlineedit.cpp" line="107"/>
@ -5813,17 +5813,17 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message>
<location filename="../src/librssguard/services/abstract/searchsnode.cpp" line="19"/>
<source>Article probes</source>
<translation type="unfinished"/>
<translation>Sondes d&apos;article</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/searchsnode.cpp" line="20"/>
<source>You can see all your permanent article probes here.</source>
<translation type="unfinished"/>
<translation>Vous pouvez voir toutes vos sondes d&apos;articles permanentes ici.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/searchsnode.cpp" line="115"/>
<source>New article probe</source>
<translation type="unfinished"/>
<translation>Nouvelle sonde d&apos;article</translation>
</message>
</context>
<context>
@ -5928,7 +5928,7 @@ File filter for external e-mail selection dialog.</extracomment>
<message>
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="45"/>
<source>Custom &quot;QTWEBENGINE_CHROMIUM_FLAGS&quot; flags</source>
<translation type="unfinished"/>
<translation>Drapeaux &quot;QTWEBENGINE_CHROMIUM_FLAGS&quot; personnalisés</translation>
</message>
<message>
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="55"/>
@ -6086,7 +6086,7 @@ File filter for external e-mail selection dialog.</extracomment>
<message>
<location filename="../src/librssguard/gui/settings/settingsdatabase.cpp" line="15"/>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.</source>
<translation type="unfinished"/>
<translation>Notez que la vitesse du serveur MySQL et la latence du medium de connection influence LOURDEMENT la performance définitive de l&apos;appli. Avoir des connections de base de données lentes a comme conséquence une mauvaise performance lors de la navigation de flux ou messages.</translation>
</message>
<message>
<location filename="../src/librssguard/gui/settings/settingsdatabase.cpp" line="114"/>
@ -6171,7 +6171,17 @@ Disadvantages:
application startup and shutdown can take little longer (max. 2 seconds).
Authors of this application are NOT responsible for lost data.</source>
<translation type="unfinished"/>
<translation>L&apos;usage de bases de données fonctionnelles intra-memoire a un nombre d&apos;avantages et inconvéniants. Soyez-sûr que vous êtes à l&apos;aise avec elles avant que vous activiez cette fonctionnalité.
Avantages:
Vitesse supérieur pour la manipulation de flux/messages (surtout si des milliers de messages sont affichés),
L&apos;intégralité de la base de données est stocké dans la mémoire vive, donnant l&apos;opportunité à votre disque dur de se reposer d&apos;avantage.
Inconvéniants:
Si l&apos;appli plante, vos changements de la dernière session ne seront pas pris en compte,
Le démarrage et la fermeture de l&apos;appli peuvent prendre plus longtemps (2 secondes max.).
Les auteurs de cette appli NE SONT PAS responsables de pertes de donnees éventuelles.</translation>
</message>
<message>
<location filename="../src/librssguard/gui/settings/settingsdatabase.ui" line="17"/>
@ -6337,7 +6347,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="128"/>
<source>Avoid adding articles before this date into the database</source>
<translation type="unfinished"/>
<translation>Éviter d&apos;ajouter des articles qui datent d&apos;avant la date spécifiée dans la base de données</translation>
</message>
<message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="164"/>
@ -6661,7 +6671,7 @@ Déscription: %3</translation>
<message>
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="179"/>
<source>Hide main window when it is minimized</source>
<translation>Cacher la fenêtre principale quand il est minimisé</translation>
<translation>Cacher la fenêtre principale quand elle est minimisée</translation>
</message>
<message>
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="186"/>
@ -6783,7 +6793,13 @@ Déscription: %3</translation>
Note that usually all required Node.js tools should be available via your &quot;PATH&quot; environment variable, so you do not have to specify full paths.
Also, relaunch &quot;Settings&quot; dialog after you install Node.js.</source>
<translation type="unfinished"/>
<translation>Node.js est un runtime JavaScript asynchrone qui fonctionne par évènements, fait pour construire des applications web évolutifs.
%1 intègre Node.js pour apporter des fonctionnalités modernes comme AdBlock.
Notez qu&apos;en général c&apos;est mieux que tous les outils Node.js requis soient disponsibles via votre variable d&apos;environment &quot;PATH&quot;, pour ne pas avoir à specifier les chemins complets.
Et aussi, redémarrez la fenêtre &quot;Paramètres&quot; après avoir installé Node.js.</translation>
</message>
<message>
<location filename="../src/librssguard/gui/settings/settingsnodejs.cpp" line="107"/>
@ -6903,7 +6919,7 @@ Aussi, il y a des sons pre-ajoutés. Si vous tapez &quot;:&quot;, ils se présen
<message>
<location filename="../src/librssguard/dynamic-shortcuts/shortcutcatcher.cpp" line="35"/>
<source>Click and hit new shortcut.</source>
<translation type="unfinished"/>
<translation>Cliquez et appuyer sur une touche pour l&apos;attribuer à ce raccourci.</translation>
</message>
</context>
<context>
@ -7176,7 +7192,7 @@ Type: %3</translation>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="256"/>
<source>The URL does not meet standard pattern. Does your URL start with &quot;http://&quot; or &quot;https://&quot; prefix.</source>
<translation type="unfinished"/>
<translation>Le lien n&apos;est pas conforme au pattern standard. Êtes-vous sûr que votre lien commence bien avec le préfixe &quot;http://&quot; ou &quot;https://&quot;?</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="260"/>
@ -7237,7 +7253,7 @@ Type: %3</translation>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="36"/>
<source>You can enter full command including interpreter here.</source>
<translation type="unfinished"/>
<translation>Vous pouvez entrer votre commande complète (interprète inclus) ici.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="268"/>
@ -7368,7 +7384,7 @@ Vous pouvez aussi post-traiter la data de flux avec encore un autre script si vo
<message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="44"/>
<source>This is obligatory service account for standard RSS/RDF/ATOM feeds.</source>
<translation type="unfinished"/>
<translation>Ceci est un compte de service obligatoire pour les flux RSS/RDF/ATOM standards.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="60"/>
@ -7667,7 +7683,7 @@ Actualités non-lus: %2</translation>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="16"/>
<source>If you select intelligent synchronization, then only not-yet-fetched or updated articles are downloaded. Network usage is greatly reduced and overall synchronization speed is greatly improved, but first feed fetching could be slow anyway if your feed contains huge number of articles.&lt;br/&gt;&lt;br/&gt;Also, make sure to install &lt;a href=&quot;https://www.google.com&quot;&gt;api_newsplus&lt;/a&gt; TT-RSS plugin to your server instance.</source>
<translation type="unfinished"/>
<translation>Si vous sélectionnez la synchronisation intelligente, alors seulement les articles pas encore obtenus ou mis à jour seront téléchargés. La consommation de données est fortement réduite et la vitesse de synchronisation générale est fortement améliorée, mais la première obtention de flux peut être lente de toute façon si votre flux contient un nombre d&apos;articles très important.&lt;br/&gt;&lt;br/&gt;Et aussi, soyez-sûr d&apos;installer le plugin TT-RSS&lt;a href=&quot;https://www.google.com&quot;&gt;api_newsplus&lt;/a&gt; à votre instance de serveur.</translation>
</message>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="26"/>
@ -7878,7 +7894,7 @@ Actualités non-lus: %2</translation>
<message>
<location filename="../src/librssguard/services/tt-rss/ttrssfeed.cpp" line="48"/>
<source>Share to published</source>
<translation type="unfinished"/>
<translation>Partager à &quot;publié&quot;</translation>
</message>
</context>
<context>
@ -7901,7 +7917,7 @@ Actualités non-lus: %2</translation>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssfeeddetails.cpp" line="27"/>
<source>The URL does not meet standard pattern. Does your URL start with &quot;http://&quot; or &quot;https://&quot; prefix.</source>
<translation type="unfinished"/>
<translation>Le lien n&apos;est pas conforme au pattern standard. Êtes-vous sûr que votre lien commence bien avec le préfixe &quot;http://&quot; ou &quot;https://&quot;?</translation>
</message>
<message>
<location filename="../src/librssguard/services/tt-rss/gui/ttrssfeeddetails.cpp" line="31"/>

View File

@ -139,7 +139,7 @@ Fout: %1</translation>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="311"/>
<source>Go to survey</source>
<translation type="unfinished"/>
<translation>Enquête invullen</translation>
</message>
<message>
<location filename="../src/librssguard/miscellaneous/application.cpp" line="560"/>
@ -969,7 +969,7 @@ Onderdeel ID: %5</translation>
<message>
<location filename="../src/librssguard/core/feedsmodel.cpp" line="517"/>
<source>Do you really want to clean all articles from selected item?</source>
<translation type="unfinished"/>
<translation>Weet je zeker dat je alle artikelen van het geselecteerde item wilt verwijderen?</translation>
</message>
<message>
<location filename="../src/librssguard/core/feedsmodel.cpp" line="32"/>
@ -1103,7 +1103,7 @@ of omdat deze functie nog niet is geïmplementeerd.</translation>
<message>
<location filename="../src/librssguard/gui/feedsview.cpp" line="875"/>
<source>Context menu for probe</source>
<translation type="unfinished"/>
<translation>Context menu voor tester</translation>
</message>
<message>
<location filename="../src/librssguard/gui/feedsview.cpp" line="136"/>
@ -1327,7 +1327,7 @@ of omdat deze functie nog niet is geïmplementeerd.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="12"/>
<source>Name for your probe</source>
<translation type="unfinished"/>
<translation>Naam voor de tester</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="13"/>
@ -1348,17 +1348,17 @@ of omdat deze functie nog niet is geïmplementeerd.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="25"/>
<source>Probe name cannot be empty.</source>
<translation type="unfinished"/>
<translation>Tester naam mag niet leeg zijn</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="28"/>
<source>Regular expression is not well-formed.</source>
<translation type="unfinished"/>
<translation>Reguliere expressie is niet correct geformuleerd.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="40"/>
<source>Create new probe</source>
<translation type="unfinished"/>
<translation>Maak nieuwe tester</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="43"/>
@ -1368,7 +1368,7 @@ of omdat deze functie nog niet is geïmplementeerd.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formaddeditprobe.cpp" line="61"/>
<source>Edit probe &apos;%1&apos;</source>
<translation type="unfinished"/>
<translation>Bewerk test &apos;%1&apos;</translation>
</message>
</context>
<context>
@ -1804,12 +1804,12 @@ of omdat deze functie nog niet is geïmplementeerd.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="72"/>
<source>Add articles with any date into the database</source>
<translation type="unfinished"/>
<translation>Voeg artikelen toe met elke datum aan de database</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="82"/>
<source>Avoid adding articles before this date into the database</source>
<translation type="unfinished"/>
<translation>Voorkom toevoegen van artikelen met een datum voor deze</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="118"/>
@ -1824,7 +1824,7 @@ of omdat deze functie nog niet is geïmplementeerd.</translation>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="138"/>
<source>Right-to-left layout</source>
<translation type="unfinished"/>
<translation>Rechts-naar-links layout</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="124"/>
@ -3044,7 +3044,7 @@ Je moet handmatig herstarten.</translation>
<message>
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.ui" line="71"/>
<source>Do not fetch icons</source>
<translation type="unfinished"/>
<translation>Pictogrammen niet ophalen</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.ui" line="78"/>
@ -3452,7 +3452,7 @@ Installeer het nu.</translation>
<message>
<location filename="../src/librssguard/services/gmail/gmailnetworkfactory.cpp" line="184"/>
<source>failed to download list of labels</source>
<translation type="unfinished"/>
<translation>Download van lijst met labels mislukt</translation>
</message>
<message>
<location filename="../src/librssguard/services/gmail/gmailnetworkfactory.cpp" line="448"/>
@ -4411,7 +4411,7 @@ Logintoken verloopt: %2</translation>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="297"/>
<source>RTL</source>
<translation type="unfinished"/>
<translation>RTL</translation>
</message>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="299"/>
@ -4511,7 +4511,7 @@ Logintoken verloopt: %2</translation>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="309"/>
<source>Layout direction of the article</source>
<translation type="unfinished"/>
<translation>Layout richting van het artikel</translation>
</message>
<message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="310"/>
@ -5374,7 +5374,7 @@ Feedly is een beveiligde ruimte waar u de onderwerpen en trends die voor u van b
<message>
<location filename="../src/librssguard/miscellaneous/notification.cpp" line="151"/>
<source>Node.js - package(s) failed to update</source>
<translation type="unfinished"/>
<translation>Node.js - update van pakket(ten) mislukt</translation>
</message>
<message>
<location filename="../src/librssguard/miscellaneous/notification.cpp" line="154"/>
@ -5535,7 +5535,7 @@ Lijst met ondersteunde lezers:</translation>
<message>
<location filename="../src/librssguard/services/abstract/recyclebin.cpp" line="106"/>
<source>Do you really want to empty your recycle bin?</source>
<translation type="unfinished"/>
<translation>Weet je zeker dat je de prullenbak wilt legen?</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/recyclebin.cpp" line="18"/>
@ -5810,17 +5810,17 @@ Logintoken verloopt: %2</translation>
<message>
<location filename="../src/librssguard/services/abstract/searchsnode.cpp" line="19"/>
<source>Article probes</source>
<translation type="unfinished"/>
<translation>Artikel testen</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/searchsnode.cpp" line="20"/>
<source>You can see all your permanent article probes here.</source>
<translation type="unfinished"/>
<translation>Je kunt alle permanente artikel testen hier zien.</translation>
</message>
<message>
<location filename="../src/librssguard/services/abstract/searchsnode.cpp" line="115"/>
<source>New article probe</source>
<translation type="unfinished"/>
<translation>Nieuwe artikeltest</translation>
</message>
</context>
<context>
@ -6344,7 +6344,7 @@ Makers van de applicatie zijn niet verantwoordelijk voor dataverlies.</translati
<message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="128"/>
<source>Avoid adding articles before this date into the database</source>
<translation type="unfinished"/>
<translation>Voorkom toevoegen van artikelen met een datum voor deze</translation>
</message>
<message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="164"/>
@ -7381,7 +7381,7 @@ Je kunt ook gegenereerde feedgegevens nabewerken met nog een ander script als je
<message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="44"/>
<source>This is obligatory service account for standard RSS/RDF/ATOM feeds.</source>
<translation>Dit is verplichte service account voor standaard RSS/RDF/ATOM feeds.</translation>
<translation>Dit is het verplichte service account voor standaard RSS/RDF/ATOM feeds.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="60"/>
@ -7411,7 +7411,7 @@ Je kunt ook gegenereerde feedgegevens nabewerken met nog een ander script als je
<message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="59"/>
<source>This new account does not include any feeds. You can now add default set of feeds.</source>
<translation>Deze nieuwe account bevat geen feeds. De standaard feeds kunnen toegevoegd worden.</translation>
<translation>Dit nieuwe account bevat geen feeds. De standaard feeds kunnen toegevoegd worden.</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="131"/>

View File

@ -2,93 +2,107 @@
#include "gui/reusable/jssyntaxhighlighter.h"
#include "3rd-party/boolinq/boolinq.h"
#include "definitions/definitions.h"
JsSyntaxHighlighter::JsSyntaxHighlighter(QTextDocument* parent) : QSyntaxHighlighter(parent) {
HighlightingRule rule;
keywordFormat.setForeground(Qt::GlobalColor::magenta);
keywordFormat.setFontWeight(QFont::Weight::Bold);
m_keywordFormat.setForeground(Qt::GlobalColor::magenta);
m_keywordFormat.setFontWeight(QFont::Weight::Bold);
const QString keywordPatterns[] = {
QSL("\\babstract\\b"), QSL("\\barguments\\b"), QSL("\\bawait\\*\\b"), QSL("\\bboolean\\b"),
QSL("\\bbreak\\b"), QSL("\\bbyte\\b"), QSL("\\bcase\\b"), QSL("\\bcatch\\b"),
QSL("\\bchar\\b"), QSL("\\bclass\\*\\b"), QSL("\\bconst\\b"), QSL("\\bcontinue\\b"),
QSL("\\bdebugger\\b"), QSL("\\bdefault\\b"), QSL("\\bdelete\\b"), QSL("\\bdo\\b"),
QSL("\\bdouble\\b"), QSL("\\belse\\b"), QSL("\\benum\\*\\b"), QSL("\\beval\\b"),
QSL("\\bexport\\*\\b"), QSL("\\bextends\\*\\b"), QSL("\\bfalse\\b"), QSL("\\bfinal\\b"),
QSL("\\bfinally\\b"), QSL("\\bfloat\\b"), QSL("\\bfor\\b"), QSL("\\bfunction\\b"),
QSL("\\bgoto\\b"), QSL("\\bif\\b"), QSL("\\bimplements\\b"), QSL("\\bimport\\*\\b"),
QSL("\\bin\\b"), QSL("\\binstanceof\\b"), QSL("\\bint\\b"), QSL("\\binterface\\b"),
QSL("\\blet\\*\\b"), QSL("\\blong\\b"), QSL("\\bnative\\b"), QSL("\\bnew\\b"),
QSL("\\bnull\\b"), QSL("\\bpackage\\b"), QSL("\\bprivate\\b"), QSL("\\bprotected\\b"),
QSL("\\bpublic\\b"), QSL("\\breturn\\b"), QSL("\\bshort\\b"), QSL("\\bstatic\\b"),
QSL("\\bsuper\\*\\b"), QSL("\\bswitch\\b"), QSL("\\bsynchronized\\b"), QSL("\\bthis\\b"),
QSL("\\bthrow\\b"), QSL("\\bthrows\\b"), QSL("\\btransient\\b"), QSL("\\btrue\\b"),
QSL("\\btry\\b"), QSL("\\btypeof\\b"), QSL("\\bvar\\b"), QSL("\\bvoid\\b"),
QSL("\\bvolatile\\b"), QSL("\\bwhile\\b"), QSL("\\bwith\\b"), QSL("\\byield\\b")};
QStringList keywords = jsKeywords();
auto std_keywords = boolinq::from(keywords)
.select([](const QString& kw) {
return QSL("\\b%1\\b").arg(kw);
})
.toStdList();
for (const QString& pattern : keywordPatterns) {
rule.pattern = QRegularExpression(pattern);
rule.format = keywordFormat;
highlightingRules.append(rule);
keywords = FROM_STD_LIST(QStringList, std_keywords);
for (const QString& pattern : keywords) {
rule.m_pattern = QRegularExpression(pattern);
rule.m_format = m_keywordFormat;
m_highlightingRules.append(rule);
}
classFormat.setFontWeight(QFont::Bold);
classFormat.setForeground(Qt::darkMagenta);
rule.pattern = QRegularExpression(QStringLiteral("\\bQ[A-Za-z]+\\b"));
rule.format = classFormat;
highlightingRules.append(rule);
m_classFormat.setFontWeight(QFont::Weight::Bold);
m_classFormat.setForeground(Qt::GlobalColor::darkMagenta);
rule.m_pattern = QRegularExpression(QStringLiteral("\\bQ[A-Za-z]+\\b"));
rule.m_format = m_classFormat;
singleLineCommentFormat.setForeground(Qt::red);
rule.pattern = QRegularExpression(QStringLiteral("//[^\n]*"));
rule.format = singleLineCommentFormat;
highlightingRules.append(rule);
m_highlightingRules.append(rule);
multiLineCommentFormat.setForeground(Qt::red);
m_singleLineCommentFormat.setForeground(Qt::GlobalColor::red);
rule.m_pattern = QRegularExpression(QStringLiteral("//[^\n]*"));
rule.m_format = m_singleLineCommentFormat;
quotationFormat.setForeground(Qt::darkGreen);
rule.pattern = QRegularExpression(QStringLiteral("\".*\""));
rule.format = quotationFormat;
highlightingRules.append(rule);
m_highlightingRules.append(rule);
functionFormat.setFontItalic(true);
functionFormat.setForeground(Qt::GlobalColor::green);
rule.pattern = QRegularExpression(QStringLiteral("\\b[A-Za-z0-9_]+(?=\\()"));
rule.format = functionFormat;
highlightingRules.append(rule);
m_multiLineCommentFormat.setForeground(Qt::GlobalColor::red);
commentStartExpression = QRegularExpression(QStringLiteral("/\\*"));
commentEndExpression = QRegularExpression(QStringLiteral("\\*/"));
m_quotationFormat.setForeground(Qt::GlobalColor::darkGreen);
rule.m_pattern = QRegularExpression(QStringLiteral("\".*\""));
rule.m_format = m_quotationFormat;
m_highlightingRules.append(rule);
m_functionFormat.setFontItalic(true);
m_functionFormat.setForeground(Qt::GlobalColor::green);
rule.m_pattern = QRegularExpression(QStringLiteral("\\b[A-Za-z0-9_]+(?=\\()"));
rule.m_format = m_functionFormat;
m_highlightingRules.append(rule);
m_commentStartExpression = QRegularExpression(QStringLiteral("/\\*"));
m_commentEndExpression = QRegularExpression(QStringLiteral("\\*/"));
}
QStringList JsSyntaxHighlighter::jsKeywords() const {
return {QSL("abstract"), QSL("arguments"), QSL("await\\*"), QSL("boolean"), QSL("break"), QSL("byte"),
QSL("case"), QSL("catch"), QSL("char"), QSL("class\\*"), QSL("const"), QSL("continue"),
QSL("debugger"), QSL("default"), QSL("delete"), QSL("do"), QSL("double"), QSL("else"),
QSL("enum\\*"), QSL("eval"), QSL("export\\*"), QSL("extends\\*"), QSL("false"), QSL("final"),
QSL("finally"), QSL("float"), QSL("for"), QSL("function"), QSL("goto"), QSL("if"),
QSL("implements"), QSL("import\\*"), QSL("in"), QSL("instanceof"), QSL("int"), QSL("interface"),
QSL("let\\*"), QSL("long"), QSL("native"), QSL("new"), QSL("null"), QSL("package"),
QSL("private"), QSL("protected"), QSL("public"), QSL("return"), QSL("short"), QSL("static"),
QSL("super\\*"), QSL("switch"), QSL("synchronized"), QSL("this"), QSL("throw"), QSL("throws"),
QSL("transient"), QSL("true"), QSL("try"), QSL("typeof"), QSL("var"), QSL("void"),
QSL("volatile"), QSL("while"), QSL("with"), QSL("yield")};
}
void JsSyntaxHighlighter::highlightBlock(const QString& text) {
for (const HighlightingRule& rule : std::as_const(highlightingRules)) {
QRegularExpressionMatchIterator matchIterator = rule.pattern.globalMatch(text);
for (const HighlightingRule& rule : std::as_const(m_highlightingRules)) {
QRegularExpressionMatchIterator matchIterator = rule.m_pattern.globalMatch(text);
while (matchIterator.hasNext()) {
QRegularExpressionMatch match = matchIterator.next();
setFormat(match.capturedStart(), match.capturedLength(), rule.format);
setFormat(match.capturedStart(), match.capturedLength(), rule.m_format);
}
}
setCurrentBlockState(0);
int startIndex = 0;
if (previousBlockState() != 1)
startIndex = text.indexOf(commentStartExpression);
int start_index = 0;
if (previousBlockState() != 1) {
start_index = text.indexOf(m_commentStartExpression);
}
while (startIndex >= 0) {
QRegularExpressionMatch match = commentEndExpression.match(text, startIndex);
int endIndex = match.capturedStart();
int commentLength = 0;
if (endIndex == -1) {
while (start_index >= 0) {
QRegularExpressionMatch match = m_commentEndExpression.match(text, start_index);
int end_index = match.capturedStart();
int comment_length = 0;
if (end_index == -1) {
setCurrentBlockState(1);
commentLength = text.length() - startIndex;
comment_length = text.length() - start_index;
}
else {
commentLength = endIndex - startIndex + match.capturedLength();
comment_length = end_index - start_index + match.capturedLength();
}
setFormat(startIndex, commentLength, multiLineCommentFormat);
startIndex = text.indexOf(commentStartExpression, startIndex + commentLength);
setFormat(start_index, comment_length, m_multiLineCommentFormat);
start_index = text.indexOf(m_commentStartExpression, start_index + comment_length);
}
}

View File

@ -11,28 +11,30 @@ class JsSyntaxHighlighter : public QSyntaxHighlighter {
Q_OBJECT
public:
JsSyntaxHighlighter(QTextDocument *parent);
JsSyntaxHighlighter(QTextDocument* parent);
QStringList jsKeywords() const;
protected:
virtual void highlightBlock(const QString& text) override;
private:
struct HighlightingRule {
QRegularExpression pattern;
QTextCharFormat format;
QRegularExpression m_pattern;
QTextCharFormat m_format;
};
QList<HighlightingRule> highlightingRules;
QList<HighlightingRule> m_highlightingRules;
QRegularExpression commentStartExpression;
QRegularExpression commentEndExpression;
QRegularExpression m_commentStartExpression;
QRegularExpression m_commentEndExpression;
QTextCharFormat keywordFormat;
QTextCharFormat classFormat;
QTextCharFormat singleLineCommentFormat;
QTextCharFormat multiLineCommentFormat;
QTextCharFormat quotationFormat;
QTextCharFormat functionFormat;
QTextCharFormat m_keywordFormat;
QTextCharFormat m_classFormat;
QTextCharFormat m_singleLineCommentFormat;
QTextCharFormat m_multiLineCommentFormat;
QTextCharFormat m_quotationFormat;
QTextCharFormat m_functionFormat;
};
#endif // JSSYNTAXHIGHLIGHTER_H