mirror of
https://github.com/chylex/Nextcloud-News.git
synced 2025-09-15 13:32:10 +02:00
Compare commits
116 Commits
1fc1e51c6d
...
customized
Author | SHA1 | Date | |
---|---|---|---|
cc861ca186
|
|||
29b643168b
|
|||
cde02ce5e2
|
|||
![]() |
d56d4b4d4e | ||
![]() |
66c8ccc7ad | ||
![]() |
f392db0a00 | ||
![]() |
752c4d130d | ||
![]() |
2c5353d79c | ||
![]() |
1b4aea433b | ||
![]() |
a17749bbd4 | ||
![]() |
5fde4cc07c | ||
![]() |
295ff6b85f | ||
![]() |
65978ce09f | ||
![]() |
75e5be3d5e | ||
![]() |
ecd141fe5c | ||
![]() |
da83f9a9b3 | ||
![]() |
b99320dd4a | ||
![]() |
caf3001773 | ||
![]() |
17f0fc7f4a | ||
![]() |
ca9e07b3ba | ||
![]() |
eb9ec5d334 | ||
![]() |
c8e6c06a94 | ||
![]() |
4e8bbc0157 | ||
![]() |
ac336174de | ||
![]() |
0c7b9112f4 | ||
![]() |
4bc5598858 | ||
![]() |
449b2141f5 | ||
![]() |
5e78412a54 | ||
![]() |
0be0c47641 | ||
![]() |
b51298ea7e | ||
![]() |
2180c17f38 | ||
![]() |
c2d2d7f0d9 | ||
![]() |
9a8e09d80a | ||
![]() |
8c9f4f9514 | ||
![]() |
f158cdbb12 | ||
![]() |
0d061efe64 | ||
![]() |
ca6cedeb28 | ||
![]() |
d1dc011abe | ||
![]() |
de0db5dc0f | ||
![]() |
2718b7db9f | ||
![]() |
ce5e74af44 | ||
![]() |
e612e6be9d | ||
![]() |
cbb7d0a5c0 | ||
![]() |
499511e1a7 | ||
![]() |
65b80c50a2 | ||
![]() |
682dd49753 | ||
![]() |
634e43caf1 | ||
![]() |
825eeafea1 | ||
![]() |
588dadedf0 | ||
![]() |
d25dc3c4ca | ||
![]() |
a609b43a61 | ||
![]() |
7b0781c285 | ||
![]() |
411497e099 | ||
![]() |
c63a39d035 | ||
![]() |
166b31a29c | ||
![]() |
40b461292a | ||
![]() |
66e3bd9152 | ||
![]() |
32a1819bdc | ||
![]() |
785efbac2b | ||
![]() |
4c18b2f077 | ||
![]() |
0f3af16a01 | ||
![]() |
7c094c7a02 | ||
![]() |
751510a7a7 | ||
![]() |
83bcfb923c | ||
![]() |
4679164177 | ||
![]() |
9c4e68030f | ||
![]() |
7d51803d2d | ||
![]() |
dcb35da6a6 | ||
![]() |
1588ed70e3 | ||
![]() |
1c82467989 | ||
![]() |
7a730ffaa5 | ||
![]() |
48e1ad1583 | ||
![]() |
6410e4f272 | ||
![]() |
ef19212172 | ||
![]() |
1335d9ade5 | ||
![]() |
9b29d84b47 | ||
![]() |
45cbfad267 | ||
![]() |
a9f7f495f3 | ||
![]() |
2529fa354f | ||
![]() |
e7add6cedb | ||
![]() |
57c31bbd0f | ||
![]() |
d2b7eabded | ||
![]() |
ca93963332 | ||
![]() |
db73b3636f | ||
![]() |
d13746d67e | ||
![]() |
de0aba3068 | ||
![]() |
c0f82b94a4 | ||
![]() |
7696f04ddc | ||
![]() |
a122d874b2 | ||
![]() |
dd28d32f86 | ||
![]() |
539cd26d13 | ||
![]() |
6af9aa1d87 | ||
![]() |
be1f6f3e1a | ||
![]() |
64f7612df1 | ||
![]() |
0d16ae7cb2 | ||
![]() |
f22dddd4bb | ||
![]() |
c1c16be6c6 | ||
![]() |
892aa42726 | ||
![]() |
a97cde9fee | ||
![]() |
2b4a680a63 | ||
![]() |
b3c17e2edb | ||
![]() |
a69d3dda79 | ||
![]() |
8c32620361 | ||
![]() |
73feeb94c9 | ||
![]() |
7164a9c999 | ||
![]() |
c637de4f5b | ||
![]() |
ae8450464a | ||
![]() |
b9877f4200 | ||
![]() |
00fcedbae4 | ||
![]() |
144d6d188e | ||
![]() |
c21de9099b | ||
![]() |
36f22036ab | ||
![]() |
294b8b352c | ||
![]() |
aeedfd0bda | ||
![]() |
d6a99e270a | ||
7338574821 |
11
.github/workflows/api-integration-tests.yml
vendored
11
.github/workflows/api-integration-tests.yml
vendored
@@ -29,7 +29,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: ['8.0', '8.1']
|
||||
nextcloud: ['stable24', 'stable25', 'stable26']
|
||||
nextcloud: ['stable26', 'stable27']
|
||||
database: ['sqlite', 'pgsql', 'mysql']
|
||||
experimental: [false]
|
||||
include:
|
||||
@@ -41,17 +41,13 @@ jobs:
|
||||
nextcloud: pre-release
|
||||
database: sqlite
|
||||
experimental: true
|
||||
- php-versions: 7.4
|
||||
nextcloud: stable24
|
||||
database: sqlite
|
||||
experimental: false
|
||||
- php-versions: 8.2
|
||||
nextcloud: stable26
|
||||
database: sqlite
|
||||
experimental: false
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
@@ -130,9 +126,6 @@ jobs:
|
||||
kill %1
|
||||
kill %2
|
||||
|
||||
- name: Setup problem matchers for PHP
|
||||
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
|
||||
|
||||
- name: Functional tests maintenance
|
||||
working-directory: ../server
|
||||
run: |
|
||||
|
@@ -8,21 +8,17 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: ['8.0', '8.1', '8.2' ]
|
||||
nextcloud: [ 'stable26' ]
|
||||
nextcloud: [ 'stable27' ]
|
||||
database: [ 'sqlite' ]
|
||||
include:
|
||||
- php-versions: 8.2
|
||||
nextcloud: pre-release
|
||||
database: sqlite
|
||||
experimental: true
|
||||
- php-versions: 7.4
|
||||
nextcloud: stable24
|
||||
database: sqlite
|
||||
experimental: false
|
||||
name: "phpstan: Nextcloud ${{ matrix.nextcloud }} with ${{ matrix.php-versions }}"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
|
11
.github/workflows/api-php-tests.yml
vendored
11
.github/workflows/api-php-tests.yml
vendored
@@ -10,19 +10,19 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
nextcloud: ['stable26']
|
||||
nextcloud: ['stable26', 'stable27']
|
||||
database: ['sqlite']
|
||||
experimental: [false]
|
||||
codecoverage: [false]
|
||||
include:
|
||||
- php-versions: 8.0
|
||||
nextcloud: stable25
|
||||
- php-versions: 8.2
|
||||
nextcloud: stable27
|
||||
database: sqlite
|
||||
experimental: false
|
||||
codecoverage: true
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 2 # https://github.com/codecov/codecov-action/issues/190#issuecomment-790729633
|
||||
|
||||
@@ -50,9 +50,6 @@ jobs:
|
||||
app: 'news'
|
||||
check-code: false
|
||||
|
||||
- name: Setup problem matchers for PHPUnit
|
||||
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
|
||||
|
||||
- name: Prep PHP tests
|
||||
working-directory: ../server/apps/news
|
||||
run: make php-test-dependencies
|
||||
|
6
.github/workflows/build-release.yml
vendored
6
.github/workflows/build-release.yml
vendored
@@ -15,11 +15,11 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
nextcloud: ['stable26']
|
||||
nextcloud: ['stable27']
|
||||
database: ['sqlite']
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@afefcaf556d98dc7896cca380e181decb609ca44
|
||||
@@ -52,7 +52,7 @@ jobs:
|
||||
app_public_crt: ${{ secrets.APP_PUBLIC_CRT }}
|
||||
|
||||
- name: Upload app tarball to release
|
||||
uses: svenstaro/upload-release-action@7319e4733ec7a184d739a6f412c40ffc339b69c7
|
||||
uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df
|
||||
id: attach_to_release
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
2
.github/workflows/documentation.yml
vendored
2
.github/workflows/documentation.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout master
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Deploy docs
|
||||
uses: mhausenblas/mkdocs-deploy-gh-pages@master
|
||||
|
4
.github/workflows/frontend-nodejs-tests.yml
vendored
4
.github/workflows/frontend-nodejs-tests.yml
vendored
@@ -10,12 +10,12 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
nextcloud: ['stable24']
|
||||
nextcloud: ['stable27']
|
||||
database: ['sqlite']
|
||||
experimental: [false]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
|
4
.github/workflows/lint-eslint.yml
vendored
4
.github/workflows/lint-eslint.yml
vendored
@@ -22,10 +22,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Read package.json node and npm engines version
|
||||
uses: skjnldsv/read-package-engines-version-actions@v2.1
|
||||
uses: skjnldsv/read-package-engines-version-actions@v2.2
|
||||
id: versions
|
||||
with:
|
||||
fallbackNode: '^16'
|
||||
|
14
.github/workflows/post-merge-tasks.yml
vendored
14
.github/workflows/post-merge-tasks.yml
vendored
@@ -7,18 +7,20 @@ jobs:
|
||||
php:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: false
|
||||
name: "Coverage: Nextcloud PHP ${{ matrix.php-versions }}"
|
||||
name: "Coverage: Nextcloud ${{ matrix.nextcloud }} PHP ${{ matrix.php-version }}"
|
||||
strategy:
|
||||
matrix:
|
||||
nextcloud: ['stable26']
|
||||
nextcloud: ['stable27']
|
||||
codecoverage: [true]
|
||||
php-version: ["8.1"]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: '8.1'
|
||||
php-version: ${{ matrix.php-version }}
|
||||
|
||||
### Back to normal setup
|
||||
- name: Set up server non MySQL
|
||||
@@ -39,7 +41,11 @@ jobs:
|
||||
|
||||
- name: Prep PHP tests
|
||||
run: cd ../server/apps/news && make php-test-dependencies
|
||||
|
||||
- name: Unittests
|
||||
run: cd ../server/apps/news && make unit-test
|
||||
env:
|
||||
CODECOVERAGE: ${{ matrix.codecoverage }}
|
||||
|
||||
- name: Upload codecoverage
|
||||
run: cd ../server/apps/news && bash <(curl -s https://codecov.io/bash) -f build/php-unit.clover
|
||||
|
4
.github/workflows/updater-test.yml
vendored
4
.github/workflows/updater-test.yml
vendored
@@ -17,12 +17,12 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
nextcloud: ['stable26']
|
||||
nextcloud: ['stable27']
|
||||
database: ['sqlite']
|
||||
experimental: [false]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
|
@@ -54,6 +54,7 @@
|
||||
* [Qingping Hou](mailto:dave2008713@gmail.com)
|
||||
* [Roman](mailto:reverse@jamm.me)
|
||||
* [b_b](mailto:bruno@eliaz.fr)
|
||||
* [chylex](mailto:contact@chylex.com)
|
||||
* [heyarne](mailto:arne@schlueter.is)
|
||||
* [marco.nassabain@etu.unistra.fr](mailto:marco.nassabain@hotmail.com)
|
||||
* [Anderson Silva](mailto:UnderEu@users.noreply.github.com)
|
||||
@@ -75,7 +76,6 @@
|
||||
* [Simon Spannagel](mailto:simonspa@kth.se)
|
||||
* [bbBowser](mailto:carspi@mail.de)
|
||||
* [benediktb](mailto:benedikt@blablub.de)
|
||||
* [chylex](mailto:contact@chylex.com)
|
||||
* [coderkun](mailto:olli@coderkun.de)
|
||||
* [davidak](mailto:git@davidak.de)
|
||||
* [hooger](mailto:horvathg.1988@gmail.com)
|
||||
|
45
CHANGELOG.md
45
CHANGELOG.md
@@ -3,13 +3,50 @@ All notable changes to this project will be documented in this file.
|
||||
The format is mostly based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), older entries don't fully match.
|
||||
|
||||
# Unreleased
|
||||
## [21.x.x]
|
||||
## [24.x.x]
|
||||
### Changed
|
||||
|
||||
### Fixed
|
||||
|
||||
|
||||
# Releases
|
||||
## [24.0.0] - 2023-09-26
|
||||
No major changes compared to 24.0.0-beta1.
|
||||
|
||||
## [24.0.0-beta1] - 2023-08-26
|
||||
### Changed
|
||||
- Drop support for Nextcloud 25, Supported: 26, 27 (#2316)
|
||||
- Add a new command for occ `./occ news:updater:job` allows to check and reset the update job (#2166)
|
||||
- Check for available http(s) compression options and use them (gzip, deflate, brotli) (#2328)
|
||||
- Change and unify [cache](https://nextcloud.github.io/news/install/#cache) to use the instance ID of Nextcloud (#2331)
|
||||
|
||||
## [23.0.0] - 2023-08-16
|
||||
No notable changes compared to 23.0.0-beta1
|
||||
|
||||
## [23.0.0-beta1] - 2023-08-09
|
||||
### Changed
|
||||
- Drop support for PHP 7.4 new min. version is php 8.0 (#2237)
|
||||
- Upgrade feed-io to v5.1.3 (#2238)
|
||||
### Fixed
|
||||
- Some feeds missing items (#2236)
|
||||
|
||||
## [22.0.0] - 2023-07-23
|
||||
### Changed
|
||||
- Support deflate and gzip compression for HTTP response bodies (#2269)
|
||||
- Broke apart old FAQ into different guides. Deprecated old FAQ (#2285)
|
||||
|
||||
## [22.0.0-beta2] - 2023-06-18
|
||||
### Changed
|
||||
- allowEvalScript set to true (#2262)
|
||||
|
||||
## [22.0.0-beta1] - 2023-05-18
|
||||
### Changed
|
||||
- Drop support for Nextcloud 24 (#2223)
|
||||
- Add support for Nextcloud 27 (#2223)
|
||||
|
||||
## [21.2.0] - 2023-05-06
|
||||
### Changed
|
||||
- Improve visibility of links in dark theme (#2215)
|
||||
|
||||
## [21.2.0-beta4] - 2023-04-16
|
||||
### Fixed
|
||||
- Fix audio player floating when scrolling in NC25+ (#2142)
|
||||
@@ -30,7 +67,7 @@ The format is mostly based on [Keep a Changelog](https://keepachangelog.com/en/1
|
||||
- Use httpLastModified field for If-Modified-Since header when fetching feed updates (#2119)
|
||||
|
||||
## [21.1.0] - 2023-03-20
|
||||
No notable changes compared 21.1.0-beta1
|
||||
No notable changes compared to 21.1.0-beta1
|
||||
|
||||
## [21.1.0-beta1] - 2023-03-13
|
||||
### Changed
|
||||
@@ -38,7 +75,7 @@ No notable changes compared 21.1.0-beta1
|
||||
- (Nextcloud 26+) Add info card to the admin settings, showing last job execution (#2141)
|
||||
|
||||
## [21.0.0] - 2023-02-28
|
||||
No notable changes compared 21.0.0-beta1
|
||||
No notable changes compared to 21.0.0-beta1
|
||||
|
||||
## [21.0.0-beta1] - 2023-02-14
|
||||
### Changed
|
||||
|
@@ -25,7 +25,7 @@ Read this when you want to:
|
||||
* Disable all browser add-ons to make sure that it's not a plugin's fault (adblockers, especially cosmetic filters)
|
||||
* Clear your PHP opcode cache if you use any by restarting your webserver.
|
||||
* [Check if they have already been reported](https://github.com/nextcloud/news/issues?state=open)
|
||||
* [Check if your problem is covered in the FAQ section]( https://nextcloud.github.io/news/faq)
|
||||
* [Check if your problem is covered in the Troubleshooting section](https://nextcloud.github.io/news/troubleshooting/)
|
||||
|
||||
### Debugging issues
|
||||
* Enable debug mode in your **config/config.php**:
|
||||
|
@@ -9,6 +9,14 @@ The News app is an RSS/Atom feed aggregator. It offers a [RESTful API](https://n
|
||||
## Documentation
|
||||
The documentation can be found [here](https://nextcloud.github.io/news/), the source of the documentation is on [GitHub](https://github.com/nextcloud/news/blob/master/docs)
|
||||
|
||||
### Common Guides
|
||||
|
||||
There are some small guides for dealing with common setup and issues.
|
||||
|
||||
* [Troubleshooting Guide](docs/troubleshooting.md)
|
||||
* [Integration Guide](docs/features/integration.md)
|
||||
|
||||
|
||||
## Bugs
|
||||
Please read the [appropriate section in the contributing notices](https://github.com/nextcloud/news/blob/master/CONTRIBUTING.md#issues)
|
||||
|
||||
|
@@ -21,7 +21,7 @@ Create a [feature request](https://github.com/nextcloud/news/discussions/new)
|
||||
|
||||
Report a [feed issue](https://github.com/nextcloud/news/discussions/new)
|
||||
]]></description>
|
||||
<version>21.2.0-beta4</version>
|
||||
<version>24.0.0</version>
|
||||
<licence>agpl</licence>
|
||||
<author>Benjamin Brahmer</author>
|
||||
<author>Sean Molenaar</author>
|
||||
@@ -43,7 +43,7 @@ Report a [feed issue](https://github.com/nextcloud/news/discussions/new)
|
||||
<screenshot small-thumbnail="https://raw.githubusercontent.com/nextcloud/news/master/screenshots/2-small.png">https://raw.githubusercontent.com/nextcloud/news/master/screenshots/2.png</screenshot>
|
||||
<screenshot small-thumbnail="https://raw.githubusercontent.com/nextcloud/news/master/screenshots/3-small.png">https://raw.githubusercontent.com/nextcloud/news/master/screenshots/3.png</screenshot>
|
||||
<dependencies>
|
||||
<php min-version="7.4" min-int-size="64"/>
|
||||
<php min-version="8.0" min-int-size="64"/>
|
||||
<database min-version="10">pgsql</database>
|
||||
<database>sqlite</database>
|
||||
<database min-version="8.0">mysql</database>
|
||||
@@ -55,7 +55,7 @@ Report a [feed issue](https://github.com/nextcloud/news/discussions/new)
|
||||
<lib>json</lib>
|
||||
|
||||
<owncloud max-version="0" min-version="0"/>
|
||||
<nextcloud min-version="24" max-version="26"/>
|
||||
<nextcloud min-version="26" max-version="27"/>
|
||||
</dependencies>
|
||||
|
||||
<background-jobs>
|
||||
@@ -75,6 +75,7 @@ Report a [feed issue](https://github.com/nextcloud/news/discussions/new)
|
||||
<command>OCA\News\Command\Updater\UpdateUser</command>
|
||||
<command>OCA\News\Command\Updater\BeforeUpdate</command>
|
||||
<command>OCA\News\Command\Updater\AfterUpdate</command>
|
||||
<command>OCA\News\Command\Updater\Job</command>
|
||||
<command>OCA\News\Command\Config\FolderList</command>
|
||||
<command>OCA\News\Command\Config\FolderAdd</command>
|
||||
<command>OCA\News\Command\Config\FolderDelete</command>
|
||||
|
@@ -40,11 +40,11 @@
|
||||
"source": "https://github.com/nextcloud/news/"
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.4 || ~8.0",
|
||||
"php": "~8.0",
|
||||
"ezyang/htmlpurifier": "^4.16.0",
|
||||
"pear/net_url2": "^2.2.2",
|
||||
"riimu/kit-pathjoin": "^1.2.0",
|
||||
"debril/feed-io": "^v4.9.12",
|
||||
"debril/feed-io": "^v5.3.1",
|
||||
"arthurhoaro/favicon": "^1.3.3",
|
||||
"fivefilters/readability.php": "^3.1",
|
||||
"ext-json": "*",
|
||||
@@ -56,14 +56,14 @@
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "9.6.*",
|
||||
"squizlabs/php_codesniffer": "^3.7.2",
|
||||
"phpstan/phpstan": "^1.10.14",
|
||||
"phpstan/phpstan-doctrine": "^1.3.37",
|
||||
"phpstan/phpstan": "^1.10.35",
|
||||
"phpstan/phpstan-doctrine": "^1.3.43",
|
||||
"phpstan/phpstan-strict-rules": "^1.5.1",
|
||||
"phpstan/phpstan-phpunit": "^1.3.11",
|
||||
"phpstan/extension-installer": "^1.3.0",
|
||||
"phpstan/phpstan-phpunit": "^1.3.14",
|
||||
"phpstan/extension-installer": "^1.3.1",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.1",
|
||||
"guzzlehttp/guzzle": "^7.3.0",
|
||||
"doctrine/dbal": "^3.6.2",
|
||||
"doctrine/dbal": "^3.7.0",
|
||||
"symfony/console": "^4.4.19",
|
||||
"psr/log": "^1.1.0"
|
||||
},
|
||||
|
302
composer.lock
generated
302
composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "f30dee386cd260206a661f6f03149bef",
|
||||
"content-hash": "b6d4c8e072b483a0ed1e02f7bf9c7719",
|
||||
"packages": [
|
||||
{
|
||||
"name": "arthurhoaro/favicon",
|
||||
@@ -66,16 +66,16 @@
|
||||
},
|
||||
{
|
||||
"name": "debril/feed-io",
|
||||
"version": "v4.9.15",
|
||||
"version": "v5.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/alexdebril/feed-io.git",
|
||||
"reference": "1c45bd07837123ec6eacf8cdd612cbb0dc27229c"
|
||||
"reference": "b1237713ae174fc4dd57aff1e472303a1162ccfc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/alexdebril/feed-io/zipball/1c45bd07837123ec6eacf8cdd612cbb0dc27229c",
|
||||
"reference": "1c45bd07837123ec6eacf8cdd612cbb0dc27229c",
|
||||
"url": "https://api.github.com/repos/alexdebril/feed-io/zipball/b1237713ae174fc4dd57aff1e472303a1162ccfc",
|
||||
"reference": "b1237713ae174fc4dd57aff1e472303a1162ccfc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -83,13 +83,13 @@
|
||||
"ext-json": "*",
|
||||
"ext-libxml": "*",
|
||||
"guzzlehttp/guzzle": "~6.2|~7.0",
|
||||
"php": ">=7.1",
|
||||
"psr/log": "~1.0",
|
||||
"symfony/console": "~3.4|~4.0|~5.0|~6.0"
|
||||
"php": ">=8.0",
|
||||
"psr/log": "~1.0|~2.0|~3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^2.4",
|
||||
"monolog/monolog": "1.*",
|
||||
"friendsofphp/php-cs-fixer": "^3.5",
|
||||
"monolog/monolog": "1.*|2.*",
|
||||
"phpstan/phpstan": "^0.12.81",
|
||||
"phpunit/phpunit": "~9.3.0"
|
||||
},
|
||||
"suggest": {
|
||||
@@ -127,9 +127,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/alexdebril/feed-io/issues",
|
||||
"source": "https://github.com/alexdebril/feed-io/tree/v4.9.15"
|
||||
"source": "https://github.com/alexdebril/feed-io/tree/v5.3.1"
|
||||
},
|
||||
"time": "2022-10-26T20:16:20+00:00"
|
||||
"time": "2022-10-26T20:20:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ezyang/htmlpurifier",
|
||||
@@ -194,16 +194,16 @@
|
||||
},
|
||||
{
|
||||
"name": "fivefilters/readability.php",
|
||||
"version": "v3.1.5",
|
||||
"version": "v3.1.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fivefilters/readability.php.git",
|
||||
"reference": "d7e549401fa768396a7fa372ff6e3ede5706aa62"
|
||||
"reference": "a00d35cb5eb14a236ba42326da9ac52c8c9f80a1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fivefilters/readability.php/zipball/d7e549401fa768396a7fa372ff6e3ede5706aa62",
|
||||
"reference": "d7e549401fa768396a7fa372ff6e3ede5706aa62",
|
||||
"url": "https://api.github.com/repos/fivefilters/readability.php/zipball/a00d35cb5eb14a236ba42326da9ac52c8c9f80a1",
|
||||
"reference": "a00d35cb5eb14a236ba42326da9ac52c8c9f80a1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -253,9 +253,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/fivefilters/readability.php/issues",
|
||||
"source": "https://github.com/fivefilters/readability.php/tree/v3.1.5"
|
||||
"source": "https://github.com/fivefilters/readability.php/tree/v3.1.6"
|
||||
},
|
||||
"time": "2023-04-06T19:45:48+00:00"
|
||||
"time": "2023-06-15T18:06:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/uri",
|
||||
@@ -429,26 +429,24 @@
|
||||
},
|
||||
{
|
||||
"name": "masterminds/html5",
|
||||
"version": "2.7.6",
|
||||
"version": "2.8.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Masterminds/html5-php.git",
|
||||
"reference": "897eb517a343a2281f11bc5556d6548db7d93947"
|
||||
"reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947",
|
||||
"reference": "897eb517a343a2281f11bc5556d6548db7d93947",
|
||||
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf",
|
||||
"reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-ctype": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-libxml": "*",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7"
|
||||
"phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -492,9 +490,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Masterminds/html5-php/issues",
|
||||
"source": "https://github.com/Masterminds/html5-php/tree/2.7.6"
|
||||
"source": "https://github.com/Masterminds/html5-php/tree/2.8.1"
|
||||
},
|
||||
"time": "2022-08-18T16:18:26+00:00"
|
||||
"time": "2023-05-10T11:58:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pear/net_url2",
|
||||
@@ -768,16 +766,16 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/dbal",
|
||||
"version": "3.6.2",
|
||||
"version": "3.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/dbal.git",
|
||||
"reference": "b4bd1cfbd2b916951696d82e57d054394d84864c"
|
||||
"reference": "00d03067f07482f025d41ab55e4ba0db5eca2cdf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/b4bd1cfbd2b916951696d82e57d054394d84864c",
|
||||
"reference": "b4bd1cfbd2b916951696d82e57d054394d84864c",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/00d03067f07482f025d41ab55e4ba0db5eca2cdf",
|
||||
"reference": "00d03067f07482f025d41ab55e4ba0db5eca2cdf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -790,13 +788,14 @@
|
||||
"psr/log": "^1|^2|^3"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "11.1.0",
|
||||
"doctrine/coding-standard": "12.0.0",
|
||||
"fig/log-test": "^1",
|
||||
"jetbrains/phpstorm-stubs": "2022.3",
|
||||
"phpstan/phpstan": "1.10.9",
|
||||
"jetbrains/phpstorm-stubs": "2023.1",
|
||||
"phpstan/phpstan": "1.10.35",
|
||||
"phpstan/phpstan-strict-rules": "^1.5",
|
||||
"phpunit/phpunit": "9.6.6",
|
||||
"phpunit/phpunit": "9.6.13",
|
||||
"psalm/plugin-phpunit": "0.18.4",
|
||||
"slevomat/coding-standard": "8.13.1",
|
||||
"squizlabs/php_codesniffer": "3.7.2",
|
||||
"symfony/cache": "^5.4|^6.0",
|
||||
"symfony/console": "^4.4|^5.4|^6.0",
|
||||
@@ -860,7 +859,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/dbal/issues",
|
||||
"source": "https://github.com/doctrine/dbal/tree/3.6.2"
|
||||
"source": "https://github.com/doctrine/dbal/tree/3.7.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -876,29 +875,33 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-04-14T07:25:38+00:00"
|
||||
"time": "2023-09-26T20:56:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
"version": "v1.0.0",
|
||||
"version": "v1.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/deprecations.git",
|
||||
"reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"
|
||||
"reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
|
||||
"reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
|
||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
|
||||
"reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1|^8.0"
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9",
|
||||
"phpunit/phpunit": "^7.5|^8.5|^9.5",
|
||||
"psr/log": "^1|^2|^3"
|
||||
"phpstan/phpstan": "1.4.10 || 1.10.15",
|
||||
"phpstan/phpstan-phpunit": "^1.0",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"psalm/plugin-phpunit": "0.18.4",
|
||||
"psr/log": "^1 || ^2 || ^3",
|
||||
"vimeo/psalm": "4.30.0 || 5.12.0"
|
||||
},
|
||||
"suggest": {
|
||||
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
|
||||
@@ -917,36 +920,35 @@
|
||||
"homepage": "https://www.doctrine-project.org/",
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/deprecations/issues",
|
||||
"source": "https://github.com/doctrine/deprecations/tree/v1.0.0"
|
||||
"source": "https://github.com/doctrine/deprecations/tree/v1.1.1"
|
||||
},
|
||||
"time": "2022-05-02T15:47:09+00:00"
|
||||
"time": "2023-06-03T09:27:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/event-manager",
|
||||
"version": "1.2.0",
|
||||
"version": "2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/event-manager.git",
|
||||
"reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520"
|
||||
"reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520",
|
||||
"reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520",
|
||||
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32",
|
||||
"reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/deprecations": "^0.5.3 || ^1",
|
||||
"php": "^7.1 || ^8.0"
|
||||
"php": "^8.1"
|
||||
},
|
||||
"conflict": {
|
||||
"doctrine/common": "<2.9"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9 || ^10",
|
||||
"phpstan/phpstan": "~1.4.10 || ^1.8.8",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"vimeo/psalm": "^4.24"
|
||||
"doctrine/coding-standard": "^10",
|
||||
"phpstan/phpstan": "^1.8.8",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"vimeo/psalm": "^4.28"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@@ -995,7 +997,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/event-manager/issues",
|
||||
"source": "https://github.com/doctrine/event-manager/tree/1.2.0"
|
||||
"source": "https://github.com/doctrine/event-manager/tree/2.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1011,34 +1013,34 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-12T20:51:15+00:00"
|
||||
"time": "2022-10-12T20:59:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/instantiator",
|
||||
"version": "1.5.0",
|
||||
"version": "2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/instantiator.git",
|
||||
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
|
||||
"reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
|
||||
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
|
||||
"reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0"
|
||||
"php": "^8.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9 || ^11",
|
||||
"doctrine/coding-standard": "^11",
|
||||
"ext-pdo": "*",
|
||||
"ext-phar": "*",
|
||||
"phpbench/phpbench": "^0.16 || ^1",
|
||||
"phpstan/phpstan": "^1.4",
|
||||
"phpstan/phpstan-phpunit": "^1",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"vimeo/psalm": "^4.30 || ^5.4"
|
||||
"phpbench/phpbench": "^1.2",
|
||||
"phpstan/phpstan": "^1.9.4",
|
||||
"phpstan/phpstan-phpunit": "^1.3",
|
||||
"phpunit/phpunit": "^9.5.27",
|
||||
"vimeo/psalm": "^5.4"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@@ -1065,7 +1067,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/instantiator/issues",
|
||||
"source": "https://github.com/doctrine/instantiator/tree/1.5.0"
|
||||
"source": "https://github.com/doctrine/instantiator/tree/2.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1081,7 +1083,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-30T00:15:36+00:00"
|
||||
"time": "2022-12-30T00:23:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
@@ -1144,16 +1146,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v4.15.4",
|
||||
"version": "v4.17.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
|
||||
"reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
|
||||
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
|
||||
"reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1194,9 +1196,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
|
||||
},
|
||||
"time": "2023-03-05T19:49:14+00:00"
|
||||
"time": "2023-08-13T19:53:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
@@ -1311,22 +1313,22 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/extension-installer",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/extension-installer.git",
|
||||
"reference": "f5e02d40f277d28513001976f444d9ff1dc15e9a"
|
||||
"reference": "f45734bfb9984c6c56c4486b71230355f066a58a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f5e02d40f277d28513001976f444d9ff1dc15e9a",
|
||||
"reference": "f5e02d40f277d28513001976f444d9ff1dc15e9a",
|
||||
"url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f45734bfb9984c6c56c4486b71230355f066a58a",
|
||||
"reference": "f45734bfb9984c6c56c4486b71230355f066a58a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer-plugin-api": "^2.0",
|
||||
"php": "^7.2 || ^8.0",
|
||||
"phpstan/phpstan": "^1.8.0"
|
||||
"phpstan/phpstan": "^1.9.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"composer/composer": "^2.0",
|
||||
@@ -1335,12 +1337,7 @@
|
||||
},
|
||||
"type": "composer-plugin",
|
||||
"extra": {
|
||||
"class": "PHPStan\\ExtensionInstaller\\Plugin",
|
||||
"phpstan/extension-installer": {
|
||||
"ignore": [
|
||||
"phpstan/phpstan-phpunit"
|
||||
]
|
||||
}
|
||||
"class": "PHPStan\\ExtensionInstaller\\Plugin"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
@@ -1354,22 +1351,22 @@
|
||||
"description": "Composer plugin for automatic installation of PHPStan extensions",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/extension-installer/issues",
|
||||
"source": "https://github.com/phpstan/extension-installer/tree/1.3.0"
|
||||
"source": "https://github.com/phpstan/extension-installer/tree/1.3.1"
|
||||
},
|
||||
"time": "2023-04-18T13:08:02+00:00"
|
||||
"time": "2023-05-24T08:59:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "1.10.14",
|
||||
"version": "1.10.35",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "d232901b09e67538e5c86a724be841bea5768a7c"
|
||||
"reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/d232901b09e67538e5c86a724be841bea5768a7c",
|
||||
"reference": "d232901b09e67538e5c86a724be841bea5768a7c",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e730e5facb75ffe09dfb229795e8c01a459f26c3",
|
||||
"reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1418,25 +1415,25 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-04-19T13:47:27+00:00"
|
||||
"time": "2023-09-19T15:27:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-deprecation-rules",
|
||||
"version": "1.1.3",
|
||||
"version": "1.1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan-deprecation-rules.git",
|
||||
"reference": "a22b36b955a2e9a3d39fe533b6c1bb5359f9c319"
|
||||
"reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/a22b36b955a2e9a3d39fe533b6c1bb5359f9c319",
|
||||
"reference": "a22b36b955a2e9a3d39fe533b6c1bb5359f9c319",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa",
|
||||
"reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0",
|
||||
"phpstan/phpstan": "^1.10"
|
||||
"phpstan/phpstan": "^1.10.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
@@ -1464,27 +1461,27 @@
|
||||
"description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues",
|
||||
"source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.1.3"
|
||||
"source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.1.4"
|
||||
},
|
||||
"time": "2023-03-17T07:50:08+00:00"
|
||||
"time": "2023-08-05T09:02:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-doctrine",
|
||||
"version": "1.3.37",
|
||||
"version": "1.3.43",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan-doctrine.git",
|
||||
"reference": "62bd362b432fe29e175168689510ddd927b698f8"
|
||||
"reference": "c5015035755ad2d5013bd6bf98ff423ca6150822"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/62bd362b432fe29e175168689510ddd927b698f8",
|
||||
"reference": "62bd362b432fe29e175168689510ddd927b698f8",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/c5015035755ad2d5013bd6bf98ff423ca6150822",
|
||||
"reference": "c5015035755ad2d5013bd6bf98ff423ca6150822",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0",
|
||||
"phpstan/phpstan": "^1.10"
|
||||
"phpstan/phpstan": "^1.10.12"
|
||||
},
|
||||
"conflict": {
|
||||
"doctrine/collections": "<1.0",
|
||||
@@ -1507,8 +1504,8 @@
|
||||
"nesbot/carbon": "^2.49",
|
||||
"nikic/php-parser": "^4.13.2",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/phpstan-phpunit": "^1.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.0",
|
||||
"phpstan/phpstan-phpunit": "^1.3.13",
|
||||
"phpstan/phpstan-strict-rules": "^1.5.1",
|
||||
"phpunit/phpunit": "^9.5.10",
|
||||
"ramsey/uuid-doctrine": "^1.5.0",
|
||||
"symfony/cache": "^4.4.35"
|
||||
@@ -1534,22 +1531,22 @@
|
||||
"description": "Doctrine extensions for PHPStan",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan-doctrine/issues",
|
||||
"source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.37"
|
||||
"source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.43"
|
||||
},
|
||||
"time": "2023-03-17T14:57:03+00:00"
|
||||
"time": "2023-09-01T15:01:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-phpunit",
|
||||
"version": "1.3.11",
|
||||
"version": "1.3.14",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan-phpunit.git",
|
||||
"reference": "9e1b9de6d260461f6e99b6a8f2dbb0bbb98b579c"
|
||||
"reference": "614acc10c522e319639bf38b0698a4a566665f04"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/9e1b9de6d260461f6e99b6a8f2dbb0bbb98b579c",
|
||||
"reference": "9e1b9de6d260461f6e99b6a8f2dbb0bbb98b579c",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/614acc10c522e319639bf38b0698a4a566665f04",
|
||||
"reference": "614acc10c522e319639bf38b0698a4a566665f04",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1562,7 +1559,7 @@
|
||||
"require-dev": {
|
||||
"nikic/php-parser": "^4.13.0",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/phpstan-strict-rules": "^1.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.5.1",
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"type": "phpstan-extension",
|
||||
@@ -1586,9 +1583,9 @@
|
||||
"description": "PHPUnit extensions and rules for PHPStan",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan-phpunit/issues",
|
||||
"source": "https://github.com/phpstan/phpstan-phpunit/tree/1.3.11"
|
||||
"source": "https://github.com/phpstan/phpstan-phpunit/tree/1.3.14"
|
||||
},
|
||||
"time": "2023-03-25T19:42:13+00:00"
|
||||
"time": "2023-08-25T09:46:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-strict-rules",
|
||||
@@ -1641,16 +1638,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "9.2.26",
|
||||
"version": "9.2.29",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
|
||||
"reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
|
||||
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
|
||||
"reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1706,7 +1703,8 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26"
|
||||
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1714,7 +1712,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-03-06T12:58:08+00:00"
|
||||
"time": "2023-09-19T04:57:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
@@ -1959,16 +1957,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "9.6.7",
|
||||
"version": "9.6.13",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2"
|
||||
"reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
|
||||
"reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
|
||||
"reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1983,7 +1981,7 @@
|
||||
"phar-io/manifest": "^2.0.3",
|
||||
"phar-io/version": "^3.0.2",
|
||||
"php": ">=7.3",
|
||||
"phpunit/php-code-coverage": "^9.2.13",
|
||||
"phpunit/php-code-coverage": "^9.2.28",
|
||||
"phpunit/php-file-iterator": "^3.0.5",
|
||||
"phpunit/php-invoker": "^3.1.1",
|
||||
"phpunit/php-text-template": "^2.0.3",
|
||||
@@ -2042,7 +2040,7 @@
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.7"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2058,24 +2056,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-04-14T08:58:40+00:00"
|
||||
"time": "2023-09-19T05:39:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/cache",
|
||||
"version": "1.0.1",
|
||||
"version": "3.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/cache.git",
|
||||
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
|
||||
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
|
||||
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
|
||||
"url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
|
||||
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
"php": ">=8.0.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -2095,7 +2093,7 @@
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP-FIG",
|
||||
"homepage": "http://www.php-fig.org/"
|
||||
"homepage": "https://www.php-fig.org/"
|
||||
}
|
||||
],
|
||||
"description": "Common interface for caching libraries",
|
||||
@@ -2105,9 +2103,9 @@
|
||||
"psr-6"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/cache/tree/master"
|
||||
"source": "https://github.com/php-fig/cache/tree/3.0.0"
|
||||
},
|
||||
"time": "2016-08-06T20:24:11+00:00"
|
||||
"time": "2021-02-03T23:26:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
@@ -2409,16 +2407,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/diff",
|
||||
"version": "4.0.4",
|
||||
"version": "4.0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
||||
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
|
||||
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
|
||||
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
|
||||
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2463,7 +2461,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
||||
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
|
||||
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2471,7 +2469,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-26T13:10:38+00:00"
|
||||
"time": "2023-05-07T05:35:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/environment",
|
||||
@@ -2615,16 +2613,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/global-state",
|
||||
"version": "5.0.5",
|
||||
"version": "5.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/global-state.git",
|
||||
"reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
|
||||
"reference": "bde739e7565280bda77be70044ac1047bc007e34"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
|
||||
"reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
|
||||
"reference": "bde739e7565280bda77be70044ac1047bc007e34",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2667,7 +2665,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/global-state/issues",
|
||||
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
|
||||
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2675,7 +2673,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-14T08:28:10+00:00"
|
||||
"time": "2023-08-02T09:26:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/lines-of-code",
|
||||
@@ -3187,7 +3185,7 @@
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": "^7.4 || ~8.0",
|
||||
"php": "~8.0",
|
||||
"ext-json": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-libxml": "*",
|
||||
|
@@ -465,11 +465,6 @@
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
#app-content .feed-view .utils .title {
|
||||
background: none !important;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
#app-content .utils .title h1 a {
|
||||
/*text-overflow: ellipsis;*/
|
||||
white-space: nowrap;
|
||||
@@ -714,6 +709,11 @@
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
body.theme--dark #app-content .body a, /* NC 24 */
|
||||
[data-theme-dark] #app-content .body a { /* NC 25 */
|
||||
color: #9cc7ff;
|
||||
}
|
||||
|
||||
#app-content .body ul {
|
||||
margin: 7px 0;
|
||||
padding-left: 14px;
|
||||
|
1326
css/custom.css
1326
css/custom.css
File diff suppressed because it is too large
Load Diff
123
docs/faq.md
123
docs/faq.md
@@ -1,123 +0,0 @@
|
||||
# FAQ
|
||||
|
||||
## My browser shows a mixed content warning (Connection is Not Secure)
|
||||
If you are serving your Nextcloud over HTTPS your browser will very likely warn you with a yellow warnings sign about your connection not being secure.
|
||||
|
||||
Chrome will show no green HTTPS lock sign, Firefox will show you the following image
|
||||

|
||||
|
||||
Note that this warning **is not red and won't block the page like the following images** which signal **a serious issue**:
|
||||
|
||||

|
||||

|
||||
|
||||
### What is the cause of the (yellow) error message
|
||||
|
||||
This warning is caused by [mixed passive content](https://developer.mozilla.org/en/docs/Security/MixedContent) and means that your page loads passive resources from non HTTPS resources, such as:
|
||||
|
||||
* Images
|
||||
* Video/Audio
|
||||
|
||||
This allows a possible attacker to perform a MITM (man-in-the-middle) attack by serving you different images or audio/video.
|
||||
|
||||
### Why doesn't the News app fix it
|
||||
|
||||
The News app fully prevents mixed **active** content by only allowing HTTPS iframes from known locations; other possible mixed active content elements such as <script\> are stripped from the feed. Because images and audio/video are an integral part of a feed, we can not simply strip them.
|
||||
|
||||
Since an attacker can not execute code in contrast to mixed active content, but only replace images/audio/video in your feed reader, this is **not considered to be a security issue**. If, for whatever reason (e.g. feed which would allow fishing), this is a security problem for you, contact the specific feed provider and ask him to serve his feed content over HTTPS.
|
||||
|
||||
### Why don't you simply use an HTTPS image/audio/video proxy
|
||||
|
||||
For the same reason that we can't fix non HTTPS websites: It does not fix the underlying issue, but only silences it. If you are using an image HTTPS proxy, an attacker can simply attack your image proxy since the proxy fetches insecure content. **Even worse**: if your image proxy serves these images from the same domain as your Nextcloud installation, you [are vulnerable to XSS via SVG images](https://www.owasp.org/images/0/03/Mario_Heiderich_OWASP_Sweden_The_image_that_called_me.pdf). In addition, people feel safe when essentially they are not.
|
||||
|
||||
Since most people don't understand mixed content and don't have two domains and a standalone server for the image proxy, it is very likely they will choose to host it under the same domain.
|
||||
|
||||
Because we care about our users' security and don't want to hide security warnings, we won't fix (aka silence) this issue.
|
||||
|
||||
The only fix for this issue is that feed providers serve their content over HTTPS.
|
||||
|
||||
## I am getting: Exception: Some\\Class does not exist errors in my nextcloud.log
|
||||
This is very often caused by missing or old files, e.g. by failing to upload all the News app files or errors during installation. Before you report a bug, please recheck if all files from the archive are in place and accessible.
|
||||
|
||||
## Feeds not updated
|
||||
Feeds can be updated using Nextcloud's system cron or an [external updater](https://nextcloud.github.io/news/clients/#update-clients) via the API
|
||||
**The feed update is not run in Webcron and AJAX cron mode!**
|
||||
|
||||
### System Cron
|
||||
* Check if you are using the system cron (Cron) setting on the admin page. AJAX and Web cron will not update feeds
|
||||
* Check if the cronjob exists with **crontab -u www-data -e** (replace www-data with your httpd user)
|
||||
* Check the file permissions of the **cron.php** file and if **www-data** (or whatever your httpd user is called like) can read and execute that script
|
||||
* Check if you can execute the cron with **sudo -u www-data php -f nextcloud/cron.php** (replace www-data with your httpd user)
|
||||
* Check your **data/nextcloud.log** for errors
|
||||
* Check if the cronjob is ever executed by placing an **error_log('updating');** in the [background job file](https://github.com/nextcloud/news/blob/master/lib/Service/UpdaterService.php#L55). If the cronjob runs, there should be an updating log statement in your httpd log.
|
||||
* If there is no **updating** statement in your logs check if your cronjob is executed by executing a different script
|
||||
* Check if the **oc_jobs** table has a **reserved_at** entry with a value other than 0. If it does for whatever reason, set it to 0. You can check this by executing:
|
||||
|
||||
```sql
|
||||
SELECT * from oc_jobs WHERE class LIKE '%News%' ORDER BY id;
|
||||
```
|
||||
|
||||
You will get two rows where column `class`will be `OCA\News\Cron\Updater` and `OCA\News\Cron\UpdaterJob`.
|
||||
|
||||
!!! info
|
||||
|
||||
In newer versions of News (21.x.x) the old job OCA\News\Cron\Updater was removed from the DB.
|
||||
|
||||
Reset the `reserved_at` by executing
|
||||
|
||||
```sql
|
||||
UPDATE oc_jobs SET reserved_at = 0 WHERE id = <id from above SELECT statement>;
|
||||
```
|
||||
|
||||
* If your cron works fine, but Nextcloud's cronjobs are never executed, file a bug in [server](https://github.com/nextcloud/server/)
|
||||
|
||||
### External Updater
|
||||
* Check if your configuration is set to **not** use the system cron.
|
||||
* Consult the documentation of the updater
|
||||
* Check your **data/nextcloud.log** for errors
|
||||
|
||||
## Adding feeds that use self-signed certificates
|
||||
If you want to add a feed that uses a self-signed certificate that is not signed by a trusted CA the request will fail with "SSL certificate is invalid". A common solution is to turn off the certificate verification **which is wrong** and **makes your installation vulnerable to MITM attacks**. Therefore **turning off certificate verification is not supported**.
|
||||
|
||||
|
||||
If you have control over the feed in question, consider signing your certificate for free on one of the following providers:
|
||||
|
||||
* [Let's Encrypt](https://letsencrypt.org/)
|
||||
* [ZeroSSL](https://zerossl.com/)
|
||||
|
||||
If you do not have control over the chosen feed, you should [download the certificate from the feed's website](https://superuser.com/questions/97201/how-to-save-a-remote-server-ssl-certificate-locally-as-a-file) and [add it to your server's trusted certificates](https://www.onlinesmartketer.com/2009/06/23/curl-adding-installing-trusting-new-self-signed-certificate/). The exact procedure however may vary depending on your distribution.
|
||||
|
||||
## Is There An Subscription URL To Easily Subscribe To Feeds
|
||||
|
||||
By appending **?subscribe_to=SOME_URL** to your News app URL, you can launch the News app with a pre-filled URL, e.g.:
|
||||
|
||||
https://yourdomain.com/nextcloud/index.php/apps/news?subscribe_to=https://github.com/nextcloud/news/releases
|
||||
|
||||
## Database table grows too big
|
||||
|
||||
If your users have subscribed to some high-volume feeds where a lot of items remain unread,
|
||||
this can lead to an oversized news table over time. As a consequence, the database upgrade of the news app can take several hours, during which Nextcloud cannot be used.
|
||||
|
||||
By default, Nextcloud News purges old news items above a certain threshold each time it fetches new news items. The maximum number of items per feed
|
||||
that should be kept during the purging can be defined through the “Maximum read count per feed” setting in the admin UI or the `autoPurgeCount`
|
||||
value in the config.
|
||||
Additionally you may enable the option to also purge unread items `purgeUnread`. This is useful if your users have large amounts of unread items.
|
||||
Starred items are always exempt from purging.
|
||||
|
||||
The command `occ news:updater:after-update [--purge-unread] [<purge-count>]` can be used to manually purge old news items across the instance. With
|
||||
the `--purge-unread` option, unread items are also purged (starred items are still exempt). If `purge-count` is not specified, the configured
|
||||
`autoPurgeCount` is used.
|
||||
|
||||
The purge count only applies to the items that are purged. For example, when purging a feed that has 100 unread items, 100 starred read
|
||||
items and 100 unstarred read items, using a `purge-count` of 50 would keep all unread and starred items and the latest 50 read items. Using
|
||||
a `purge-count` of 50 along with `--purge-unread` would keep the all starred items plus the latest 50 from the set of unread and read items.
|
||||
|
||||
## Missing 4-byte support SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: ...
|
||||
|
||||
This is likely caused by your feed using emojis in the feed title or text.
|
||||
|
||||
The DB is then not able to store the feed and runs into strange decoding errors.
|
||||
|
||||
You need to convert your DB to support 4 bytes, check the [Nextcloud documentation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/mysql_4byte_support.html).
|
||||
|
||||
References [#1165](https://github.com/nextcloud/news/issues/1165) [#526](https://github.com/nextcloud/news/issues/526)
|
30
docs/features/integration.md
Normal file
30
docs/features/integration.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Integrations
|
||||
|
||||
## Is There An Subscription URL To Easily Subscribe To Feeds?
|
||||
|
||||
By appending `/index.php/apps/news?subscribe_to=SOME_RSS_URL` to your NextCloud base path URL, you can launch the News app with a pre-filled URL, e.g.:
|
||||
|
||||
Ex.
|
||||
|
||||
https://yourdomain.com/nextcloud/index.php/apps/news?subscribe_to=https://github.com/nextcloud/news/releases
|
||||
|
||||
### Known Working Integrations
|
||||
|
||||
#### Chrome / Edge
|
||||
|
||||
1. Install [RSS Subscription Extension (by Google)](https://chrome.google.com/webstore/detail/rss-subscription-extensio/nlbjncdgjeocebhnmkbbbdekmmmcbfjd) extension
|
||||
1. Open the extension's options menu
|
||||
1. Click `Add..`
|
||||
1. In the *Description* field, enter a description for the RSS reader entry. 'NextCloud News' is a reasonable name.
|
||||
1. Enter `https://<NEXTCLOUD_BASE_PATH>/index.php/apps/news?subscribe_to=%s` replacing <NEXTCLOUD_BASE_PATH> with the base URL path to your NextCloud instance.
|
||||
* Domain based example: https://cloud.mydomain.com/index.php/apps/news?subscribe_to=%s
|
||||
* Domain+subpath based example: https://cloud.mydomain.com/nextcloud/index.php/apps/news?subscribe_to=%s
|
||||
|
||||
#### Firefox
|
||||
|
||||
1. Install Firefox Add-on Extension [Awesome RSS](https://addons.mozilla.org/en-US/firefox/addon/awesome-rss/)
|
||||
1. Open the `Preferences` for the extension
|
||||
2. In the 'Subscribe using' section, select the `NextCloud` radio button
|
||||
3. In the field link field, enter the base NextCloud URL.
|
||||
* Domain based example: https://cloud.mydomain.com/
|
||||
* Domain+subpath based example: https://cloud.mydomain.com/nextcloud/
|
@@ -200,11 +200,3 @@ class Application extends App {
|
||||
|
||||
Using automatic container assembly you can then use it from your code by simply adding the type to your constructors.
|
||||
|
||||
|
||||
### Examples
|
||||
Client-side plugins:
|
||||
|
||||
* [Mail Share](https://github.com/cosenal/mailsharenewsplugin): Client-side plugin to share articles by email
|
||||
Server-side plugins:
|
||||
|
||||
* [Feed Central](https://github.com/Raydiation/feedcentral): Publish your feeds as RSS
|
||||
|
@@ -2,8 +2,8 @@
|
||||
|
||||
## Dependencies
|
||||
* 64bit OS (starting with News 16.0.0)
|
||||
* PHP >= 7.3
|
||||
* Nextcloud 22
|
||||
* PHP >= 8.0
|
||||
* Nextcloud (current stable version)
|
||||
* libxml >= 2.7.8
|
||||
|
||||
You also need some PHP extensions:
|
||||
@@ -21,16 +21,25 @@ You also need some PHP extensions:
|
||||
* MySQL >= 8.0
|
||||
* SQLite (discouraged)
|
||||
|
||||
Also see the [Nextcloud documentation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/linux_database_configuration.html?highlight=database). Oracle is currently not supported by news.
|
||||
Also see the [Nextcloud documentation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/linux_database_configuration.html?highlight=database). Oracle is currently not supported by News.
|
||||
|
||||
## Performance Notices
|
||||
* Use MySQL/MariaDB or PostgreSQL for better database performance
|
||||
* Use the [updater script to thread and speed up the update](https://github.com/nextcloud/news-updater)
|
||||
|
||||
## Cache
|
||||
News and it's libraries require a writeable temporary directory used as cache. The base directory depends on your system.
|
||||
You can [configure a custom directory](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=temp#tempdirectory) if you want.
|
||||
|
||||
In most cases the base directory will be `/tmp`. News will create a folder `news-$instanceID` the [instance ID is defined by Nextcloud](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=temp#instanceid).
|
||||
|
||||
Inside that folder a subfolder `cache` is created, inside this cache folder news and libraries will try to create cache directories for caching images, html and more.
|
||||
|
||||
You need to ensure that your web-server user can write to that directory.
|
||||
|
||||
## Before you install/update the News app
|
||||
Before you install the app do the following:
|
||||
|
||||
* Check that your **nextcloud/data/** directory is owned by your web server user and that it is write/readable
|
||||
* Check that your installation fulfills the [requirements listed above](#dependencies)
|
||||
* [Set up Nextcloud Background Jobs](https://docs.nextcloud.org/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#cron) to enable feed updates.
|
||||
|
||||
@@ -108,8 +117,8 @@ If you changed the temporary directory for Nextcloud you need to check on your o
|
||||
|
||||
Careful, this next part is only intended for admins, that know what they are doing.
|
||||
|
||||
To remove the tables from the DB we drop the tables of news.
|
||||
Your installation might have a different prefix then `oc_` but it is the default in most installations.
|
||||
To remove the tables from the DB we drop the tables of News.
|
||||
Your installation might have a different prefix than `oc_` but it is the default in most installations.
|
||||
Connect to your DB and execute the commands. Don't forget to switch to the right database.
|
||||
For example in mysql: `use nextcloud;`
|
||||
|
||||
@@ -140,4 +149,4 @@ DELETE FROM oc_jobs WHERE class='OCA\\News\\Cron\\Updater';
|
||||
DELETE FROM oc_jobs WHERE argument='["OCA\\\\News\\\\Cron\\\\Updater","run"]';
|
||||
```
|
||||
|
||||
Now nothing is left from news in your nextcloud installation.
|
||||
Now nothing is left from News in your nextcloud installation.
|
||||
|
151
docs/troubleshooting.md
Normal file
151
docs/troubleshooting.md
Normal file
@@ -0,0 +1,151 @@
|
||||
# Troubleshooting
|
||||
|
||||
This is a brief list of common issues that come up with NextCloud News.
|
||||
|
||||
## My browser shows a mixed content warning (Connection is Not Secure)
|
||||
|
||||
If you are serving your Nextcloud over HTTPS your browser will very likely warn you with a yellow warnings sign about your connection not being secure.
|
||||
|
||||
* Chrome will show no green HTTPS lock sign.
|
||||
* Firefox will show you the following image Mixed Passive Content 
|
||||
|
||||
Note that this warning **is not red and won't block the page like the following images** which signal a serious issue:
|
||||
|
||||
* Chrome 
|
||||
* Firefox 
|
||||
|
||||
### What is the cause of the (yellow) error message?
|
||||
|
||||
This warning is caused by mixed passive content and means that your page loads passive resources from non HTTPS resources, such as:
|
||||
|
||||
* Images
|
||||
* Video/Audio
|
||||
* Some Ads
|
||||
|
||||
This allows a possible attacker to perform a MITM (man-in-the-middle) attack by serving you different images or audio/video.
|
||||
|
||||
### Why doesn't the News app fix it?
|
||||
|
||||
The News app fully prevents mixed **active** content by only allowing HTTPS iframes from known locations; other possible mixed active content elements such as <script\> are stripped from the feed. Because images and audio/video are an integral part of a feed, we can not simply strip them.
|
||||
|
||||
Since an attacker can not execute code in contrast to mixed active content, but only replace images/audio/video in your feed reader, this is **not considered to be a security issue**. If, for whatever reason (e.g. feed which would allow fishing), this is a security problem for you, contact the specific feed provider and ask him to serve his feed content over HTTPS.
|
||||
|
||||
### Why don't you simply use an HTTPS image/audio/video proxy?
|
||||
|
||||
For the same reason that we can't fix non HTTPS websites: It does not fix the underlying issue, but only silences it. If you are using an image HTTPS proxy, an attacker can simply attack your image proxy since the proxy fetches insecure content. **Even worse**: if your image proxy serves these images from the same domain as your Nextcloud installation, you are [vulnerable to XSS via SVG images](https://www.owasp.org/images/0/03/Mario_Heiderich_OWASP_Sweden_The_image_that_called_me.pdf). In addition, people feel safe when essentially they are not.
|
||||
|
||||
Since most people don't understand mixed content and don't have two domains and a standalone server for the image proxy, it is very likely they will choose to host it under the same domain.
|
||||
|
||||
Because we care about our users' security and don't want to hide security warnings, we won't fix (aka silence) this issue.
|
||||
|
||||
The only fix for this issue is that feed providers serve their content over HTTPS.
|
||||
|
||||
## I am getting: Exception: Some\Class does not exist errors in my nextcloud.log
|
||||
|
||||
This is very often caused by missing or old files, e.g. by failing to upload all the News app files or errors during installation. Before you report a bug, please recheck if all files from the archive are in place and accessible.
|
||||
|
||||
## Feeds not updated
|
||||
|
||||
Feeds can be updated using Nextcloud's system cron or an external updater via the API. **The feed update is not run in Webcron and AJAX cron mode!**
|
||||
|
||||
### Validating Using System Cron
|
||||
!!! info
|
||||
|
||||
This requires Nextcloud 26 or newer and News 24.0.0 or newer.
|
||||
|
||||
Follow this checklist:
|
||||
|
||||
- Check admin settings of Nextcloud, was the last cron execution ok.
|
||||
- Check the logs for errors.
|
||||
- Does your [cache configuration](install.md#cache) work?
|
||||
- Check the News admin settings, system cron is used to update news.
|
||||
- You should see a info card at the top, which will tell you when the last job execution was.
|
||||
- If the card is red it is very likely that the update job is stuck.
|
||||
- If it is green then maybe only some feeds are failing to update, check the Nextcloud logs.
|
||||
|
||||
If you believe the job is stuck you can reset it. For further steps you need to use occ.
|
||||
|
||||
You can check again the status of the job.
|
||||
(replace www-data with your httpd user)
|
||||
```bash
|
||||
sudo -u www-data php ./occ news:updater:job
|
||||
Checking update Status
|
||||
Last Execution was 2023-03-20 12:20:03 UTC
|
||||
```
|
||||
|
||||
If you think the job is stuck you can reset it, this may lead to issues if the job is currently running!
|
||||
|
||||
```bash
|
||||
sudo -u www-data php ./occ news:updater:job --reset
|
||||
Checking update Status
|
||||
Last Execution was 2023-03-20 12:20:03 UTC
|
||||
Attempting to reset the job.
|
||||
Done, job should execute on next schedule.
|
||||
```
|
||||
The output of the command should have changed.
|
||||
```bash
|
||||
sudo -u www-data php ./occ news:updater:job
|
||||
Checking update Status
|
||||
Last Execution was 1970-01-01 00:00:00 UTC
|
||||
```
|
||||
|
||||
After some time has passed the timestamp should be close to the current time.
|
||||
|
||||
If this did not help, check the logs and open a issue or discussion on GitHub.
|
||||
|
||||
#### Outdated Steps
|
||||
|
||||
Follow these steps if you are running an older version of News and Nextcloud.
|
||||
|
||||
* Check if you are using the system cron (Cron) setting on the admin page. AJAX and Web cron will not update feeds
|
||||
* Check if the cronjob exists with `crontab -u www-data -e` (replace www-data with your httpd user)
|
||||
* Check the file permissions of the cron.php file and if www-data (or whatever your httpd user is called like) can read and execute that script
|
||||
* Check if you can execute the cron with `sudo -u www-data php -f nextcloud/cron.php` (replace www-data with your httpd user)
|
||||
* Check your `data/nextcloud.log` for errors
|
||||
* Check if the cronjob is ever executed by placing an `error_log('updating');` in the [background job file](https://github.com/nextcloud/news/blob/master/lib/Service/UpdaterService.php#L55). If the cronjob runs, there should be an updating log statement in your httpd log.
|
||||
* If there is no updating statement in your logs check if your cronjob is executed by executing a different script
|
||||
* Check if the oc_jobs table has a reserved_at entry with a value other than 0. If it does for whatever reason, set it to 0. You can check this by executing:
|
||||
|
||||
```sql
|
||||
SELECT * from oc_jobs WHERE class LIKE '%News%' ORDER BY id;
|
||||
```
|
||||
|
||||
You will get two rows where column class will be `OCA\News\Cron\Updater` and `OCA\News\Cron\UpdaterJob`.
|
||||
|
||||
!!! info
|
||||
|
||||
In newer versions of News (21.x.x) the old job OCA\News\Cron\Updater was removed from the DB.
|
||||
|
||||
Reset the reserved_at by executing
|
||||
|
||||
```sql
|
||||
UPDATE oc_jobs SET reserved_at = 0 WHERE id = <id from above SELECT statement>;
|
||||
```
|
||||
|
||||
If your cron works fine, but Nextcloud's cronjobs are never executed, file a bug in [server](https://github.com/nextcloud/server/)
|
||||
|
||||
### Using External Updater
|
||||
|
||||
* Check if your configuration is set to not use the system cron.
|
||||
* Consult the documentation of the updater
|
||||
* Check your data/nextcloud.log for errors
|
||||
|
||||
## Database table grows too big
|
||||
|
||||
If your users have subscribed to some high-volume feeds where a lot of items remain unread, this can lead to an oversized news table over time. As a consequence, the database upgrade of the news app can take several hours, during which Nextcloud cannot be used.
|
||||
|
||||
By default, Nextcloud News purges old news items above a certain threshold each time it fetches new news items. The maximum number of items per feed that should be kept during the purging can be defined through the “Maximum read count per feed” setting in the admin UI or the `autoPurgeCount` value in the config. Additionally you may enable the option to also purge unread items `purgeUnread`. This is useful if your users have large amounts of unread items. Starred items are always exempt from purging.
|
||||
|
||||
The command `occ news:updater:after-update [--purge-unread] [<purge-count>]` can be used to manually purge old news items across the instance. With the `--purge-unread option`, unread items are also purged (starred items are still exempt). If `purge-count` is not specified, the configured `autoPurgeCount` is used.
|
||||
|
||||
The purge count only applies to the items that are purged. For example, when purging a feed that has 100 unread items, 100 starred read items and 100 unstarred read items, using a purge-count of 50 would keep all unread and starred items and the latest 50 read items. Using a `purge-count` of 50 along with `--purge-unread` would keep the all starred items plus the latest 50 from the set of unread and read items.
|
||||
|
||||
## Missing 4-byte support SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: ...
|
||||
|
||||
This is likely caused by your feed using emojis in the feed title or text.
|
||||
|
||||
The DB is then not able to store the feed and runs into strange decoding errors.
|
||||
|
||||
You need to convert your DB to support 4 bytes, check the [Nextcloud documentation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/mysql_4byte_support.html).
|
||||
|
||||
References [#1165](https://github.com/nextcloud/news/issues/1165) [#526](https://github.com/nextcloud/news/issues/526)
|
246
js/package-lock.json
generated
246
js/package-lock.json
generated
@@ -23,15 +23,15 @@
|
||||
"gulp-ng-annotate": "^2.1.0",
|
||||
"gulp-sourcemaps": "^3.0.0",
|
||||
"gulp-terser": "^2.1.0",
|
||||
"jasmine-core": "^4.6.0",
|
||||
"jquery": "^3.6.4",
|
||||
"jasmine-core": "^5.1.1",
|
||||
"jquery": "^3.7.1",
|
||||
"jshint": "^2.13.6",
|
||||
"karma": "^6.4.1",
|
||||
"karma": "^6.4.2",
|
||||
"karma-chrome-launcher": "^3.2.0",
|
||||
"karma-coverage": "^2.2.0",
|
||||
"karma-coverage": "^2.2.1",
|
||||
"karma-firefox-launcher": "^2.1.2",
|
||||
"karma-jasmine": "^5.1.0",
|
||||
"minimatch": "^9.0.0",
|
||||
"minimatch": "^9.0.3",
|
||||
"natives": "^1.1.6"
|
||||
},
|
||||
"engines": {
|
||||
@@ -483,10 +483,10 @@
|
||||
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/component-emitter": {
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
|
||||
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==",
|
||||
"node_modules/@socket.io/component-emitter": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
|
||||
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/cookie": {
|
||||
@@ -496,15 +496,18 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/cors": {
|
||||
"version": "2.8.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
|
||||
"integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==",
|
||||
"dev": true
|
||||
"version": "2.8.13",
|
||||
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
|
||||
"integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "17.0.42",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.42.tgz",
|
||||
"integrity": "sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ==",
|
||||
"version": "18.16.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz",
|
||||
"integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/accepts": {
|
||||
@@ -1886,9 +1889,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
|
||||
"integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
|
||||
"version": "6.4.2",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz",
|
||||
"integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/cookie": "^0.4.1",
|
||||
@@ -1900,16 +1903,16 @@
|
||||
"cors": "~2.8.5",
|
||||
"debug": "~4.3.1",
|
||||
"engine.io-parser": "~5.0.3",
|
||||
"ws": "~8.2.3"
|
||||
"ws": "~8.11.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-parser": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
|
||||
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
|
||||
"integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
@@ -3603,15 +3606,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/jasmine-core": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz",
|
||||
"integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==",
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.1.1.tgz",
|
||||
"integrity": "sha512-UrzO3fL7nnxlQXlvTynNAenL+21oUQRlzqQFsA2U11ryb4+NLOCOePZ70PTojEaUKhiFugh7dG0Q+I58xlPdWg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/jquery": {
|
||||
"version": "3.6.4",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz",
|
||||
"integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==",
|
||||
"version": "3.7.1",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
|
||||
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/js-tokens": {
|
||||
@@ -3709,9 +3712,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/karma": {
|
||||
"version": "6.4.1",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
|
||||
"integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
|
||||
"version": "6.4.2",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz",
|
||||
"integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@colors/colors": "1.5.0",
|
||||
@@ -3756,9 +3759,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/karma-coverage": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz",
|
||||
"integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==",
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
|
||||
"integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"istanbul-lib-coverage": "^3.2.0",
|
||||
@@ -3834,6 +3837,12 @@
|
||||
"karma": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/karma-jasmine/node_modules/jasmine-core": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz",
|
||||
"integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/karma/node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
@@ -4553,9 +4562,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
|
||||
"integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
|
||||
"version": "9.0.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
|
||||
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
@@ -6079,36 +6088,38 @@
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io": {
|
||||
"version": "4.5.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
|
||||
"integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
|
||||
"version": "4.6.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz",
|
||||
"integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"accepts": "~1.3.4",
|
||||
"base64id": "~2.0.0",
|
||||
"debug": "~4.3.2",
|
||||
"engine.io": "~6.2.0",
|
||||
"socket.io-adapter": "~2.4.0",
|
||||
"socket.io-parser": "~4.0.4"
|
||||
"engine.io": "~6.4.1",
|
||||
"socket.io-adapter": "~2.5.2",
|
||||
"socket.io-parser": "~4.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-adapter": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
|
||||
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/socket.io-parser": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
|
||||
"integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
|
||||
"integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/component-emitter": "^1.2.10",
|
||||
"component-emitter": "~1.3.0",
|
||||
"ws": "~8.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-parser": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz",
|
||||
"integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"debug": "~4.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -7125,9 +7136,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.2.3",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
|
||||
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
|
||||
"version": "8.11.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
|
||||
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
@@ -7543,10 +7554,10 @@
|
||||
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||
}
|
||||
},
|
||||
"@types/component-emitter": {
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
|
||||
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==",
|
||||
"@socket.io/component-emitter": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
|
||||
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/cookie": {
|
||||
@@ -7556,15 +7567,18 @@
|
||||
"dev": true
|
||||
},
|
||||
"@types/cors": {
|
||||
"version": "2.8.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
|
||||
"integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==",
|
||||
"dev": true
|
||||
"version": "2.8.13",
|
||||
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
|
||||
"integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "17.0.42",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.42.tgz",
|
||||
"integrity": "sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ==",
|
||||
"version": "18.16.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz",
|
||||
"integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==",
|
||||
"dev": true
|
||||
},
|
||||
"accepts": {
|
||||
@@ -8681,9 +8695,9 @@
|
||||
}
|
||||
},
|
||||
"engine.io": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
|
||||
"integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
|
||||
"version": "6.4.2",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz",
|
||||
"integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/cookie": "^0.4.1",
|
||||
@@ -8695,13 +8709,13 @@
|
||||
"cors": "~2.8.5",
|
||||
"debug": "~4.3.1",
|
||||
"engine.io-parser": "~5.0.3",
|
||||
"ws": "~8.2.3"
|
||||
"ws": "~8.11.0"
|
||||
}
|
||||
},
|
||||
"engine.io-parser": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
|
||||
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
|
||||
"integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
|
||||
"dev": true
|
||||
},
|
||||
"ent": {
|
||||
@@ -10077,15 +10091,15 @@
|
||||
}
|
||||
},
|
||||
"jasmine-core": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz",
|
||||
"integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==",
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.1.1.tgz",
|
||||
"integrity": "sha512-UrzO3fL7nnxlQXlvTynNAenL+21oUQRlzqQFsA2U11ryb4+NLOCOePZ70PTojEaUKhiFugh7dG0Q+I58xlPdWg==",
|
||||
"dev": true
|
||||
},
|
||||
"jquery": {
|
||||
"version": "3.6.4",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz",
|
||||
"integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==",
|
||||
"version": "3.7.1",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
|
||||
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
|
||||
"dev": true
|
||||
},
|
||||
"js-tokens": {
|
||||
@@ -10165,9 +10179,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"karma": {
|
||||
"version": "6.4.1",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
|
||||
"integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
|
||||
"version": "6.4.2",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz",
|
||||
"integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@colors/colors": "1.5.0",
|
||||
@@ -10437,9 +10451,9 @@
|
||||
}
|
||||
},
|
||||
"karma-coverage": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz",
|
||||
"integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==",
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
|
||||
"integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"istanbul-lib-coverage": "^3.2.0",
|
||||
@@ -10499,6 +10513,14 @@
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jasmine-core": "^4.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"jasmine-core": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz",
|
||||
"integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"kind-of": {
|
||||
@@ -10828,9 +10850,9 @@
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
|
||||
"integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
|
||||
"version": "9.0.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
|
||||
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
@@ -12049,33 +12071,35 @@
|
||||
}
|
||||
},
|
||||
"socket.io": {
|
||||
"version": "4.5.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
|
||||
"integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
|
||||
"version": "4.6.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz",
|
||||
"integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"accepts": "~1.3.4",
|
||||
"base64id": "~2.0.0",
|
||||
"debug": "~4.3.2",
|
||||
"engine.io": "~6.2.0",
|
||||
"socket.io-adapter": "~2.4.0",
|
||||
"socket.io-parser": "~4.0.4"
|
||||
"engine.io": "~6.4.1",
|
||||
"socket.io-adapter": "~2.5.2",
|
||||
"socket.io-parser": "~4.2.1"
|
||||
}
|
||||
},
|
||||
"socket.io-adapter": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
|
||||
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==",
|
||||
"dev": true
|
||||
},
|
||||
"socket.io-parser": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
|
||||
"integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
|
||||
"integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/component-emitter": "^1.2.10",
|
||||
"component-emitter": "~1.3.0",
|
||||
"ws": "~8.11.0"
|
||||
}
|
||||
},
|
||||
"socket.io-parser": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz",
|
||||
"integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"debug": "~4.3.1"
|
||||
}
|
||||
},
|
||||
@@ -12889,9 +12913,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"ws": {
|
||||
"version": "8.2.3",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
|
||||
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
|
||||
"version": "8.11.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
|
||||
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
|
@@ -40,15 +40,15 @@
|
||||
"gulp-ng-annotate": "^2.1.0",
|
||||
"gulp-sourcemaps": "^3.0.0",
|
||||
"gulp-terser": "^2.1.0",
|
||||
"jasmine-core": "^4.6.0",
|
||||
"jquery": "^3.6.4",
|
||||
"jasmine-core": "^5.1.1",
|
||||
"jquery": "^3.7.1",
|
||||
"jshint": "^2.13.6",
|
||||
"karma": "^6.4.1",
|
||||
"karma": "^6.4.2",
|
||||
"karma-chrome-launcher": "^3.2.0",
|
||||
"karma-coverage": "^2.2.0",
|
||||
"karma-coverage": "^2.2.1",
|
||||
"karma-firefox-launcher": "^2.1.2",
|
||||
"karma-jasmine": "^5.1.0",
|
||||
"minimatch": "^9.0.0",
|
||||
"minimatch": "^9.0.3",
|
||||
"natives": "^1.1.6"
|
||||
},
|
||||
"dependencies": {
|
||||
|
111
l10n/ar.js
111
l10n/ar.js
@@ -1,45 +1,138 @@
|
||||
OC.L10N.register(
|
||||
"news",
|
||||
{
|
||||
"Unread articles" : "مقال غير مقروء",
|
||||
"Request failed, network connection unavailable!" : "فشل الطلب، لا يوجد اتصال بالشبكة!",
|
||||
"Request unauthorized. Are you logged in?" : "طلب غير مصرح به. هل قمت بتسجيل الدخول؟",
|
||||
"Request forbidden. Are you an administrator?" : "طلب مرفوض. هل أنت مُشرف؟",
|
||||
"Token expired or app not enabled! Reload the page!" : "انتهت صلاحية الأَمَارة token، أو أن التطبيق لم يتم تمكينه! حمّل الصفحة من جديد!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "خطأ داخلي في الخادوم! يرجى التحقق من ملف data/nextcloud.log للحصول على معلومات إضافية!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "فشل الطلب. نكست كلاود تحت فى حالة صيانة الآن!",
|
||||
"News feeds" : "تغذية الأخبار News Feeds",
|
||||
"Unread articles" : "مقالات غير مقروءة",
|
||||
"News" : "الأخبار",
|
||||
"News folders" : "مُجلّدات الأخبار",
|
||||
"News articles" : "مقالات الأخبار",
|
||||
"Shared with me" : "تمّت مُشاركته معي",
|
||||
"An RSS/Atom feed reader" : "قارئ تغذية RSS/Atom ",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 تطبيق قارئ التغذية الإخبارية من نكست كلاود RSS / Atom لـ Nextcloud\n\n- 📲 قم بمزامنة خلاصاتك مع [عملاء] أجهزة محمولة أو سطح مكتب متعددة (https://nextcloud.github.io/news/clients/) \n- تحديثات تلقائية لخلاصات الأخبار الخاصة بك \n\n- 🆓 مصدر مجاني ومفتوح بموجب AGPLv3 ، لا توجد إعلانات \n** مطلوب تشغيل \"مدير الوظائف الخلفية\" System Cron كي يعمل هذا التطبيق \n\nيمكن إيجاد المتطلبات [هنا](https://nextcloud.github.io/news/install/#dependencies)\n\nسجل التغييرات [هنا](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nأنشيء [بلاغ عن مشكل](https://github.com/nextcloud/news/issues/new/choose)\n\nأنشيء [طلب تحسين](https://github.com/nextcloud/news/discussions/new)\n\nأبلغ عن [مشاكل في التغذية بالأخبار](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "آخر مهمة job جرت في {relativeTime}. يبدو أن هنالك خطأً ما.",
|
||||
"Last job ran {relativeTime}." : "آخر مهمة JOB جرت في {relativeTime}.",
|
||||
"Use system cron for updates" : "للتحديثات، استخدم مُجدول مهام الخلفية cron",
|
||||
"Disable this if you use a custom updater." : "أوقف هذا إذا كنت تستخدم محدّثاً مُخصّصاً custom updater.",
|
||||
"Maximum read count per feed" : "الحد الأقصى لعدّاد القراءة لكل إلقام feed",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "يحدد الحد الأقصى لمقدار المقالات التي يمكن قراءتها لكل موجز ويب والتي لن يتم حذفها بواسطة مهمة التنظيف. إذا ظهرت المقالات القديمة مرة أخرى بعد قراءتها، قم بزيادة هذه القيمة. القيم السالبة مثل -1 ستوقف تشغيل هذه الميزة.",
|
||||
"Delete unread articles automatically" : "حذف المقالات غير المقرؤة تلقائيّاً",
|
||||
"Enable this if you also want to delete unread articles." : "قم بتمكين هذا إذا رغبت في حذف المقالات غير المقرؤة أيضاً.",
|
||||
"Maximum redirects" : "الحد الأقصى لعمليات إعادة التوجيه",
|
||||
"How many redirects the feed fetcher should follow." : "كم إعادة توجيه redirect يجب على جالب التغذية feed fetcher أن يتّبعها.",
|
||||
"Feed fetcher timeout" : "مهلة جالب التغذية feed fetcher",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "العدد الأقصى للثواني لانتظار تحميل موجز RSS أو Atom> إذا استغرق الأمر وقتًا أطول، فسيتم إنهاء عملية التحديث.",
|
||||
"Explore Service URL" : "استكشاف عنوان URL للخدمة",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "إذا تمّ تقديم عنوان URL لهذه الخدمة، فسيتم الاستعلام عنه لعرض تغذية الأخبار الواردة في قسم استكشاف التغذية. للرجوع إلى خدمة الاستكشاف المضمنة، اترك هذا الإدخال فارغًا.",
|
||||
"Update interval" : "الفترة الفاصلة بين التحدياث",
|
||||
"Interval in seconds in which the feeds will be updated." : "الفترة الفاصلة بين تحديثات التغذية بالثواني",
|
||||
"Successfully updated news configuration" : "تمّ بنجاحٍ تحديث تهيئة الأخبار",
|
||||
"Unable to update news config" : "تعذّر تحديث تهيئة الأخبار",
|
||||
"Download" : "تنزيل",
|
||||
"Close" : "إغلاق",
|
||||
"Subscribe to" : "إشترك في",
|
||||
"No articles available" : "لا توجد مقالات متاحة",
|
||||
"No unread articles available" : "لا توجد مقالات أخرى غير مقروءة ",
|
||||
"Open website" : "فتح الموقع",
|
||||
"Star article" : "مقال مميز بنجمة",
|
||||
"Unstar article" : "تراجع عن تمييز المقال بنجمة",
|
||||
"Keep article unread" : "إبقاء المقالة غير مقروءة",
|
||||
"Remove keep article unread" : "إلغاء إبقاء المقالة الحالية غير مقروءة",
|
||||
"Share" : "مشاركة",
|
||||
"Share with users" : "مشاركة مع مستخدمين",
|
||||
"Username" : "إسم المستخدم",
|
||||
"by" : "من قبل",
|
||||
"No users found" : "لا يوجد مستخدمون",
|
||||
"Error while searching for users" : "خطأ وقع أثناء البحث عن مستخدمين",
|
||||
"Share on social media" : "البحث في وسائط التواصل الاجتماعي",
|
||||
"I wanted you to see this article" : "أريدك أن تطّلع على هذا المقال",
|
||||
"Check out this article" : "أنظر هذا المقال",
|
||||
"by" : "من قِبَل",
|
||||
"from" : "من",
|
||||
"shared by" : "مُشاركة من",
|
||||
"Play audio" : "تشغيل الصوت",
|
||||
"Download audio" : "تنزيل الصوت",
|
||||
"Download video" : "تنزيل الفيديو",
|
||||
"Keyboard shortcut" : "إختصار لوحة المفاتيح",
|
||||
"Description" : "وصف",
|
||||
"right" : "يمين",
|
||||
"Jump to next article" : "الانتقال إلي المقالة التالية",
|
||||
"left" : "يسار",
|
||||
"Jump to previous article" : "الانتقال إلي المقالة السابقة",
|
||||
"Toggle star article" : "تبديل/إلغاء تمييز المقال بنجمة",
|
||||
"Star article and jump to next one" : "ضع علامة نجمة علي المقال وانتقل إلي المقال التالي",
|
||||
"Toggle keep current article unread" : "تبديل لإبقاء المقالة الحالية غير مقروءة",
|
||||
"Open article in new tab" : "افتح المقال في تبويب جديد",
|
||||
"Toggle expand article in compact view" : "تبديل توسيع المقالة من / إلي العرض المضغوط",
|
||||
"Refresh" : "تحديث",
|
||||
"Load next feed" : "تحميل الوجبة الإخبارية feed التالية",
|
||||
"Load previous feed" : "تحميل الوجبة الإخبارية feed السابقة",
|
||||
"Load previous folder" : "تحميل المجلد السابق",
|
||||
"Load next folder" : "تحميل المجلد التالي",
|
||||
"Scroll to active navigation entry" : "انتقل إلى مدخل التصفح النشط",
|
||||
"Mark current article's feed/folder read" : "تمييز الوجبة الإخبارية أو مجلد المقالات الحالي كمقروء",
|
||||
"Ajax or webcron mode detected! Your feeds will not be updated!" : "تمّ اكتشاف وضعية Ajax أو webcron! سوف لن يتم تحديث تغذيتك الإخبارية feed!",
|
||||
"How to set up the operating system cron" : "كيفية تنصيب النظام cron",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "تثبيت وإعداد محدث مواز أسرع يستخدم التطبيقات الجديدة لتحديث واجهة برمجة التطبيقات \"API\"",
|
||||
"Subscribe" : "إشترك subscribe",
|
||||
"Web address" : "عنوان ويب",
|
||||
"Feed exists already!" : "الوجبة الإخبارية موجود بالفعل!",
|
||||
"Folder" : "مجلد",
|
||||
"No folder" : "لا يوجد مجلد",
|
||||
"New folder" : "مجلد جديد",
|
||||
"Folder name" : "اسم المجلد",
|
||||
"Go back" : "العودة",
|
||||
"Credentials" : "Credentials",
|
||||
"Password" : "كلمة السر",
|
||||
"Go back" : "عودة",
|
||||
"Folder exists already!" : "المجلد موجود بالفعل",
|
||||
"Credentials" : "حيثيّات الدخول credentials",
|
||||
"HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "يجب تخزين بيانات اعتماد المصادقة الأساسية لبروتوكول HTTP دون تشفير! بحيث يتمكن كل شخص لديه حق الوصول إلى الخادوم أو قاعدة البيانات من الوصول إليها!",
|
||||
"Password" : "كلمة المرور",
|
||||
"Auto discover Feed" : "تغذية الاستكشاف الآلي",
|
||||
"New Folder" : "مجلد جديد",
|
||||
"Create" : "انشئ",
|
||||
"Create" : "أنشيء",
|
||||
"Explore" : "إستكشف",
|
||||
"Update failed more than 50 times" : "فشل التحديث لأكثر من 50 مرة",
|
||||
"Deleted feed" : "حذف الوجبة الإخبارية",
|
||||
"Undo delete feed" : "التراجع عن حذف الوجبة الإخبارية",
|
||||
"Rename" : "إعادة التسمية",
|
||||
"Menu" : "القائمة ",
|
||||
"Mark read" : "عيّن أنه تمت القراءة",
|
||||
"Unpin from top" : "إلغ التثبيت في الأعلى",
|
||||
"Pin to top" : "ثبتّ في الأعلى",
|
||||
"Newest first" : "الأحدث أولا",
|
||||
"Oldest first" : "الأقدم أولا",
|
||||
"Default order" : "الترتيب التلقائي",
|
||||
"Enable full text" : "تمكين النص الكامل",
|
||||
"Disable full text" : "إلغاء تمكني النص الكامل",
|
||||
"Unread updated" : "تحديثات غير مقرؤة",
|
||||
"Ignore updated" : "تجاهل التحديثات",
|
||||
"Open feed URL" : "إفتح عنوان URL صفحة التغذية",
|
||||
"Delete" : "حذف ",
|
||||
"Dismiss" : "تراجع",
|
||||
"Collapse" : "طوي",
|
||||
"Starred" : "معلّم بنجمة.",
|
||||
"Deleted folder" : "حذف المجلد",
|
||||
"Undo delete folder" : "التراجع عن حذف المجلد",
|
||||
"Starred" : "معلّم بنجمة",
|
||||
"All articles" : "جميع المقالات",
|
||||
"Settings" : "إعدادات",
|
||||
"Disable mark read through scrolling" : "تعطيل علامة القراءة من خلال التمرير",
|
||||
"Compact view" : "العرض المضغوط",
|
||||
"Expand articles on key navigation" : "توسيع المقالات في مفتاح التصفح",
|
||||
"Show all articles" : "أظهر جميع المواضيع",
|
||||
"Reverse ordering (oldest on top)" : "عكس الترتيب (الأقدم بالأعلي)",
|
||||
"Subscriptions (OPML)" : "اشتراك (OPML)",
|
||||
"Import" : "إدخال",
|
||||
"Export" : "تصدير",
|
||||
"Unread/Starred Articles" : "مقالات غير مقروءه/نجمة ",
|
||||
"Error when importing: File does not contain valid OPML" : "خطأ أثناء الاستيراد: الملف لا يحوي OPML صحيح",
|
||||
"Error when importing: OPML is does neither contain feeds nor folders" : "خطأ عند الاستيراد: لا يحتوي ملف OPML على وجبة إخبارية أو مجلدات",
|
||||
"Unread/Starred Articles" : "مقالات غير مقروءة أو مُميّزة بنجمة ",
|
||||
"Error when importing: file does not contain valid JSON" : "خطا عند الاستيراد: الملف لايحتوي على OPML صالح",
|
||||
"Help" : "المساعدة",
|
||||
"Keyboard shortcuts" : "اختصارات لوحة المفاتيح",
|
||||
"Documentation" : "التوثيق",
|
||||
"Report a bug" : "الإبلاغ عن عِلّة"
|
||||
"Report a bug" : "الإبلاغ عن خطأ"
|
||||
},
|
||||
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
|
||||
|
111
l10n/ar.json
111
l10n/ar.json
@@ -1,43 +1,136 @@
|
||||
{ "translations": {
|
||||
"Unread articles" : "مقال غير مقروء",
|
||||
"Request failed, network connection unavailable!" : "فشل الطلب، لا يوجد اتصال بالشبكة!",
|
||||
"Request unauthorized. Are you logged in?" : "طلب غير مصرح به. هل قمت بتسجيل الدخول؟",
|
||||
"Request forbidden. Are you an administrator?" : "طلب مرفوض. هل أنت مُشرف؟",
|
||||
"Token expired or app not enabled! Reload the page!" : "انتهت صلاحية الأَمَارة token، أو أن التطبيق لم يتم تمكينه! حمّل الصفحة من جديد!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "خطأ داخلي في الخادوم! يرجى التحقق من ملف data/nextcloud.log للحصول على معلومات إضافية!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "فشل الطلب. نكست كلاود تحت فى حالة صيانة الآن!",
|
||||
"News feeds" : "تغذية الأخبار News Feeds",
|
||||
"Unread articles" : "مقالات غير مقروءة",
|
||||
"News" : "الأخبار",
|
||||
"News folders" : "مُجلّدات الأخبار",
|
||||
"News articles" : "مقالات الأخبار",
|
||||
"Shared with me" : "تمّت مُشاركته معي",
|
||||
"An RSS/Atom feed reader" : "قارئ تغذية RSS/Atom ",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 تطبيق قارئ التغذية الإخبارية من نكست كلاود RSS / Atom لـ Nextcloud\n\n- 📲 قم بمزامنة خلاصاتك مع [عملاء] أجهزة محمولة أو سطح مكتب متعددة (https://nextcloud.github.io/news/clients/) \n- تحديثات تلقائية لخلاصات الأخبار الخاصة بك \n\n- 🆓 مصدر مجاني ومفتوح بموجب AGPLv3 ، لا توجد إعلانات \n** مطلوب تشغيل \"مدير الوظائف الخلفية\" System Cron كي يعمل هذا التطبيق \n\nيمكن إيجاد المتطلبات [هنا](https://nextcloud.github.io/news/install/#dependencies)\n\nسجل التغييرات [هنا](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nأنشيء [بلاغ عن مشكل](https://github.com/nextcloud/news/issues/new/choose)\n\nأنشيء [طلب تحسين](https://github.com/nextcloud/news/discussions/new)\n\nأبلغ عن [مشاكل في التغذية بالأخبار](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "آخر مهمة job جرت في {relativeTime}. يبدو أن هنالك خطأً ما.",
|
||||
"Last job ran {relativeTime}." : "آخر مهمة JOB جرت في {relativeTime}.",
|
||||
"Use system cron for updates" : "للتحديثات، استخدم مُجدول مهام الخلفية cron",
|
||||
"Disable this if you use a custom updater." : "أوقف هذا إذا كنت تستخدم محدّثاً مُخصّصاً custom updater.",
|
||||
"Maximum read count per feed" : "الحد الأقصى لعدّاد القراءة لكل إلقام feed",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "يحدد الحد الأقصى لمقدار المقالات التي يمكن قراءتها لكل موجز ويب والتي لن يتم حذفها بواسطة مهمة التنظيف. إذا ظهرت المقالات القديمة مرة أخرى بعد قراءتها، قم بزيادة هذه القيمة. القيم السالبة مثل -1 ستوقف تشغيل هذه الميزة.",
|
||||
"Delete unread articles automatically" : "حذف المقالات غير المقرؤة تلقائيّاً",
|
||||
"Enable this if you also want to delete unread articles." : "قم بتمكين هذا إذا رغبت في حذف المقالات غير المقرؤة أيضاً.",
|
||||
"Maximum redirects" : "الحد الأقصى لعمليات إعادة التوجيه",
|
||||
"How many redirects the feed fetcher should follow." : "كم إعادة توجيه redirect يجب على جالب التغذية feed fetcher أن يتّبعها.",
|
||||
"Feed fetcher timeout" : "مهلة جالب التغذية feed fetcher",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "العدد الأقصى للثواني لانتظار تحميل موجز RSS أو Atom> إذا استغرق الأمر وقتًا أطول، فسيتم إنهاء عملية التحديث.",
|
||||
"Explore Service URL" : "استكشاف عنوان URL للخدمة",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "إذا تمّ تقديم عنوان URL لهذه الخدمة، فسيتم الاستعلام عنه لعرض تغذية الأخبار الواردة في قسم استكشاف التغذية. للرجوع إلى خدمة الاستكشاف المضمنة، اترك هذا الإدخال فارغًا.",
|
||||
"Update interval" : "الفترة الفاصلة بين التحدياث",
|
||||
"Interval in seconds in which the feeds will be updated." : "الفترة الفاصلة بين تحديثات التغذية بالثواني",
|
||||
"Successfully updated news configuration" : "تمّ بنجاحٍ تحديث تهيئة الأخبار",
|
||||
"Unable to update news config" : "تعذّر تحديث تهيئة الأخبار",
|
||||
"Download" : "تنزيل",
|
||||
"Close" : "إغلاق",
|
||||
"Subscribe to" : "إشترك في",
|
||||
"No articles available" : "لا توجد مقالات متاحة",
|
||||
"No unread articles available" : "لا توجد مقالات أخرى غير مقروءة ",
|
||||
"Open website" : "فتح الموقع",
|
||||
"Star article" : "مقال مميز بنجمة",
|
||||
"Unstar article" : "تراجع عن تمييز المقال بنجمة",
|
||||
"Keep article unread" : "إبقاء المقالة غير مقروءة",
|
||||
"Remove keep article unread" : "إلغاء إبقاء المقالة الحالية غير مقروءة",
|
||||
"Share" : "مشاركة",
|
||||
"Share with users" : "مشاركة مع مستخدمين",
|
||||
"Username" : "إسم المستخدم",
|
||||
"by" : "من قبل",
|
||||
"No users found" : "لا يوجد مستخدمون",
|
||||
"Error while searching for users" : "خطأ وقع أثناء البحث عن مستخدمين",
|
||||
"Share on social media" : "البحث في وسائط التواصل الاجتماعي",
|
||||
"I wanted you to see this article" : "أريدك أن تطّلع على هذا المقال",
|
||||
"Check out this article" : "أنظر هذا المقال",
|
||||
"by" : "من قِبَل",
|
||||
"from" : "من",
|
||||
"shared by" : "مُشاركة من",
|
||||
"Play audio" : "تشغيل الصوت",
|
||||
"Download audio" : "تنزيل الصوت",
|
||||
"Download video" : "تنزيل الفيديو",
|
||||
"Keyboard shortcut" : "إختصار لوحة المفاتيح",
|
||||
"Description" : "وصف",
|
||||
"right" : "يمين",
|
||||
"Jump to next article" : "الانتقال إلي المقالة التالية",
|
||||
"left" : "يسار",
|
||||
"Jump to previous article" : "الانتقال إلي المقالة السابقة",
|
||||
"Toggle star article" : "تبديل/إلغاء تمييز المقال بنجمة",
|
||||
"Star article and jump to next one" : "ضع علامة نجمة علي المقال وانتقل إلي المقال التالي",
|
||||
"Toggle keep current article unread" : "تبديل لإبقاء المقالة الحالية غير مقروءة",
|
||||
"Open article in new tab" : "افتح المقال في تبويب جديد",
|
||||
"Toggle expand article in compact view" : "تبديل توسيع المقالة من / إلي العرض المضغوط",
|
||||
"Refresh" : "تحديث",
|
||||
"Load next feed" : "تحميل الوجبة الإخبارية feed التالية",
|
||||
"Load previous feed" : "تحميل الوجبة الإخبارية feed السابقة",
|
||||
"Load previous folder" : "تحميل المجلد السابق",
|
||||
"Load next folder" : "تحميل المجلد التالي",
|
||||
"Scroll to active navigation entry" : "انتقل إلى مدخل التصفح النشط",
|
||||
"Mark current article's feed/folder read" : "تمييز الوجبة الإخبارية أو مجلد المقالات الحالي كمقروء",
|
||||
"Ajax or webcron mode detected! Your feeds will not be updated!" : "تمّ اكتشاف وضعية Ajax أو webcron! سوف لن يتم تحديث تغذيتك الإخبارية feed!",
|
||||
"How to set up the operating system cron" : "كيفية تنصيب النظام cron",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "تثبيت وإعداد محدث مواز أسرع يستخدم التطبيقات الجديدة لتحديث واجهة برمجة التطبيقات \"API\"",
|
||||
"Subscribe" : "إشترك subscribe",
|
||||
"Web address" : "عنوان ويب",
|
||||
"Feed exists already!" : "الوجبة الإخبارية موجود بالفعل!",
|
||||
"Folder" : "مجلد",
|
||||
"No folder" : "لا يوجد مجلد",
|
||||
"New folder" : "مجلد جديد",
|
||||
"Folder name" : "اسم المجلد",
|
||||
"Go back" : "العودة",
|
||||
"Credentials" : "Credentials",
|
||||
"Password" : "كلمة السر",
|
||||
"Go back" : "عودة",
|
||||
"Folder exists already!" : "المجلد موجود بالفعل",
|
||||
"Credentials" : "حيثيّات الدخول credentials",
|
||||
"HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "يجب تخزين بيانات اعتماد المصادقة الأساسية لبروتوكول HTTP دون تشفير! بحيث يتمكن كل شخص لديه حق الوصول إلى الخادوم أو قاعدة البيانات من الوصول إليها!",
|
||||
"Password" : "كلمة المرور",
|
||||
"Auto discover Feed" : "تغذية الاستكشاف الآلي",
|
||||
"New Folder" : "مجلد جديد",
|
||||
"Create" : "انشئ",
|
||||
"Create" : "أنشيء",
|
||||
"Explore" : "إستكشف",
|
||||
"Update failed more than 50 times" : "فشل التحديث لأكثر من 50 مرة",
|
||||
"Deleted feed" : "حذف الوجبة الإخبارية",
|
||||
"Undo delete feed" : "التراجع عن حذف الوجبة الإخبارية",
|
||||
"Rename" : "إعادة التسمية",
|
||||
"Menu" : "القائمة ",
|
||||
"Mark read" : "عيّن أنه تمت القراءة",
|
||||
"Unpin from top" : "إلغ التثبيت في الأعلى",
|
||||
"Pin to top" : "ثبتّ في الأعلى",
|
||||
"Newest first" : "الأحدث أولا",
|
||||
"Oldest first" : "الأقدم أولا",
|
||||
"Default order" : "الترتيب التلقائي",
|
||||
"Enable full text" : "تمكين النص الكامل",
|
||||
"Disable full text" : "إلغاء تمكني النص الكامل",
|
||||
"Unread updated" : "تحديثات غير مقرؤة",
|
||||
"Ignore updated" : "تجاهل التحديثات",
|
||||
"Open feed URL" : "إفتح عنوان URL صفحة التغذية",
|
||||
"Delete" : "حذف ",
|
||||
"Dismiss" : "تراجع",
|
||||
"Collapse" : "طوي",
|
||||
"Starred" : "معلّم بنجمة.",
|
||||
"Deleted folder" : "حذف المجلد",
|
||||
"Undo delete folder" : "التراجع عن حذف المجلد",
|
||||
"Starred" : "معلّم بنجمة",
|
||||
"All articles" : "جميع المقالات",
|
||||
"Settings" : "إعدادات",
|
||||
"Disable mark read through scrolling" : "تعطيل علامة القراءة من خلال التمرير",
|
||||
"Compact view" : "العرض المضغوط",
|
||||
"Expand articles on key navigation" : "توسيع المقالات في مفتاح التصفح",
|
||||
"Show all articles" : "أظهر جميع المواضيع",
|
||||
"Reverse ordering (oldest on top)" : "عكس الترتيب (الأقدم بالأعلي)",
|
||||
"Subscriptions (OPML)" : "اشتراك (OPML)",
|
||||
"Import" : "إدخال",
|
||||
"Export" : "تصدير",
|
||||
"Unread/Starred Articles" : "مقالات غير مقروءه/نجمة ",
|
||||
"Error when importing: File does not contain valid OPML" : "خطأ أثناء الاستيراد: الملف لا يحوي OPML صحيح",
|
||||
"Error when importing: OPML is does neither contain feeds nor folders" : "خطأ عند الاستيراد: لا يحتوي ملف OPML على وجبة إخبارية أو مجلدات",
|
||||
"Unread/Starred Articles" : "مقالات غير مقروءة أو مُميّزة بنجمة ",
|
||||
"Error when importing: file does not contain valid JSON" : "خطا عند الاستيراد: الملف لايحتوي على OPML صالح",
|
||||
"Help" : "المساعدة",
|
||||
"Keyboard shortcuts" : "اختصارات لوحة المفاتيح",
|
||||
"Documentation" : "التوثيق",
|
||||
"Report a bug" : "الإبلاغ عن عِلّة"
|
||||
"Report a bug" : "الإبلاغ عن خطأ"
|
||||
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
|
||||
}
|
87
l10n/ast.js
87
l10n/ast.js
@@ -1,97 +1,16 @@
|
||||
OC.L10N.register(
|
||||
"news",
|
||||
{
|
||||
"Request failed, network connection unavailable!" : "Falló la solicitú, ¡conexón de rede non disponible!",
|
||||
"Request unauthorized. Are you logged in?" : "Solicitú non autorizada. ¿Aniciesti sesión?",
|
||||
"Token expired or app not enabled! Reload the page!" : "¡Token caducáu o l'aplicación nun ta activada! ¡Recarga la páxina!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "¡Fallu internu del sirvidor! Comprueba'l ficheru de rexistru en data/nextcloud.log pa más información",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "¡Falló la solicitú! Anguaño Nextcloud ta en mou de caltenimientu.",
|
||||
"Unread articles" : "Artículos ensin lleer",
|
||||
"News" : "Anuncies",
|
||||
"Maximum read count per feed" : "Númberu máximu de llectura per feed",
|
||||
"Maximum redirects" : "Redirecciones máximes",
|
||||
"Feed fetcher timeout" : "Tiempo escosao p'algamar el feed",
|
||||
"Explore Service URL" : "Esplorar URL del serviciu",
|
||||
"Download" : "Descargar",
|
||||
"Close" : "Zarrar",
|
||||
"No articles available" : "Nun hai artículos disponibles",
|
||||
"No unread articles available" : "Nun hai artículios ensin lleer disponibles",
|
||||
"Open website" : "Abrir sitiu web",
|
||||
"Star article" : "Artículu favoritu",
|
||||
"Unstar article" : "Artículu non destacáu",
|
||||
"Keep article unread" : "Caltener artículu ensín lleer",
|
||||
"Remove keep article unread" : "Desaniciar artículu ensín lleer",
|
||||
"Share" : "Share",
|
||||
"Username" : "Nome d'usuariu",
|
||||
"by" : "por",
|
||||
"from" : "Dende",
|
||||
"Play audio" : "Reproducir audiu",
|
||||
"Download audio" : "Descargar audiu",
|
||||
"Download video" : "Descargar video",
|
||||
"Keyboard shortcut" : "Atayu de tecláu",
|
||||
"Download" : "Baxar",
|
||||
"Description" : "Descripción",
|
||||
"right" : "Derecha",
|
||||
"Jump to next article" : "Salta a l'artículu siguiente",
|
||||
"left" : "esquierda",
|
||||
"Jump to previous article" : "Salta a l'artículu previu",
|
||||
"Toggle star article" : "Marcar como favoritu",
|
||||
"Toggle keep current article unread" : "Marcar como non lleíu",
|
||||
"Open article in new tab" : "Abre l'artículu nuna pestaña nueva",
|
||||
"Toggle expand article in compact view" : "Espandir artículu en vista compacta",
|
||||
"Refresh" : "Anovar",
|
||||
"Load next feed" : "Carga'l siguiente feed",
|
||||
"Load previous feed" : "Carga'l feed anterior",
|
||||
"Load previous folder" : "Carga'l direutoriu anterior",
|
||||
"Load next folder" : "Carga'l siguiente direutoriu",
|
||||
"Scroll to active navigation entry" : "Movese hasta la entrada de navegación activa",
|
||||
"Mark current article's feed/folder read" : "Marcar tolos articulos actuales como lleíos",
|
||||
"How to set up the operating system cron" : "Cómo configurar el cron del sistema operativu",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "Instalar y configurar un actualizador más rápidu paralelu qu'utilice l'API d'actualización de l'aplicación Noticies",
|
||||
"Subscribe" : "Soscríbete",
|
||||
"Web address" : "Direición web",
|
||||
"Feed exists already!" : "¡Esti feed yá esiste!",
|
||||
"Folder" : "Carpeta",
|
||||
"No folder" : "Ensín carpeta",
|
||||
"New folder" : "Carpeta nueva",
|
||||
"Folder name" : "Nome de la carpeta",
|
||||
"Go back" : "Atrás",
|
||||
"Folder exists already!" : "¡La carpeta yá esiste!",
|
||||
"Credentials" : "Credenciales",
|
||||
"HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "¡Les credenciales d'autenticación básica d'HTTP tienen de ser almacenaos ensin encriptar! ¡Cualesquier que pueda aportar al sirvidor o base de datos va ser capaz d'aportar a ellos!",
|
||||
"Password" : "Contraseña",
|
||||
"New Folder" : "Carpeta nueva",
|
||||
"Create" : "Crear",
|
||||
"Explore" : "Esplorar",
|
||||
"Update failed more than 50 times" : "L'actualización falló más de 50 vegaes",
|
||||
"Deleted feed" : "Desaniciar feed",
|
||||
"Undo delete feed" : "Desfacer desaniciu del feed",
|
||||
"Rename" : "Renomar",
|
||||
"Menu" : "Menú",
|
||||
"Unpin from top" : "Defixar de lo cimero",
|
||||
"Newest first" : "Lo más nuevo",
|
||||
"Oldest first" : "Lo más vieyo",
|
||||
"Delete" : "Desaniciar",
|
||||
"Dismiss" : "Encaboxar",
|
||||
"Collapse" : "Contrayer",
|
||||
"Deleted folder" : "Desaniciar carpeta",
|
||||
"Undo delete folder" : "Desfacer desaniciu de la carpeta",
|
||||
"Starred" : "Favoritos",
|
||||
"All articles" : "Tolos artículos",
|
||||
"Settings" : "Axustes",
|
||||
"Disable mark read through scrolling" : "Deshabilita marcar como lleíu al desplazar",
|
||||
"Compact view" : "Vista compauta",
|
||||
"Expand articles on key navigation" : "Espandir los artículos al navegar con tecles",
|
||||
"Show all articles" : "Amosar tolos artículos",
|
||||
"Reverse ordering (oldest on top)" : "Ordenamientu inversu (el más antiguu na parte cimera)",
|
||||
"Subscriptions (OPML)" : "Soscripciones (OPML)",
|
||||
"Import" : "Importar",
|
||||
"Export" : "Esportar",
|
||||
"Error when importing: OPML is does neither contain feeds nor folders" : "Fallu al importar: OPML nun contién nin feeds nin carpetes",
|
||||
"Unread/Starred Articles" : "Artículos Non lleíos y Favoritos",
|
||||
"Error when importing: file does not contain valid JSON" : "Fallu al importar: el ficheru nun contién JSON válidu",
|
||||
"Settings" : "Configuración",
|
||||
"Help" : "Ayuda",
|
||||
"Keyboard shortcuts" : "Atayos de tecláu",
|
||||
"Documentation" : "Documentación",
|
||||
"Report a bug" : "Informar un fallu"
|
||||
"Documentation" : "Documentación"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
@@ -1,95 +1,14 @@
|
||||
{ "translations": {
|
||||
"Request failed, network connection unavailable!" : "Falló la solicitú, ¡conexón de rede non disponible!",
|
||||
"Request unauthorized. Are you logged in?" : "Solicitú non autorizada. ¿Aniciesti sesión?",
|
||||
"Token expired or app not enabled! Reload the page!" : "¡Token caducáu o l'aplicación nun ta activada! ¡Recarga la páxina!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "¡Fallu internu del sirvidor! Comprueba'l ficheru de rexistru en data/nextcloud.log pa más información",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "¡Falló la solicitú! Anguaño Nextcloud ta en mou de caltenimientu.",
|
||||
"Unread articles" : "Artículos ensin lleer",
|
||||
"News" : "Anuncies",
|
||||
"Maximum read count per feed" : "Númberu máximu de llectura per feed",
|
||||
"Maximum redirects" : "Redirecciones máximes",
|
||||
"Feed fetcher timeout" : "Tiempo escosao p'algamar el feed",
|
||||
"Explore Service URL" : "Esplorar URL del serviciu",
|
||||
"Download" : "Descargar",
|
||||
"Close" : "Zarrar",
|
||||
"No articles available" : "Nun hai artículos disponibles",
|
||||
"No unread articles available" : "Nun hai artículios ensin lleer disponibles",
|
||||
"Open website" : "Abrir sitiu web",
|
||||
"Star article" : "Artículu favoritu",
|
||||
"Unstar article" : "Artículu non destacáu",
|
||||
"Keep article unread" : "Caltener artículu ensín lleer",
|
||||
"Remove keep article unread" : "Desaniciar artículu ensín lleer",
|
||||
"Share" : "Share",
|
||||
"Username" : "Nome d'usuariu",
|
||||
"by" : "por",
|
||||
"from" : "Dende",
|
||||
"Play audio" : "Reproducir audiu",
|
||||
"Download audio" : "Descargar audiu",
|
||||
"Download video" : "Descargar video",
|
||||
"Keyboard shortcut" : "Atayu de tecláu",
|
||||
"Download" : "Baxar",
|
||||
"Description" : "Descripción",
|
||||
"right" : "Derecha",
|
||||
"Jump to next article" : "Salta a l'artículu siguiente",
|
||||
"left" : "esquierda",
|
||||
"Jump to previous article" : "Salta a l'artículu previu",
|
||||
"Toggle star article" : "Marcar como favoritu",
|
||||
"Toggle keep current article unread" : "Marcar como non lleíu",
|
||||
"Open article in new tab" : "Abre l'artículu nuna pestaña nueva",
|
||||
"Toggle expand article in compact view" : "Espandir artículu en vista compacta",
|
||||
"Refresh" : "Anovar",
|
||||
"Load next feed" : "Carga'l siguiente feed",
|
||||
"Load previous feed" : "Carga'l feed anterior",
|
||||
"Load previous folder" : "Carga'l direutoriu anterior",
|
||||
"Load next folder" : "Carga'l siguiente direutoriu",
|
||||
"Scroll to active navigation entry" : "Movese hasta la entrada de navegación activa",
|
||||
"Mark current article's feed/folder read" : "Marcar tolos articulos actuales como lleíos",
|
||||
"How to set up the operating system cron" : "Cómo configurar el cron del sistema operativu",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "Instalar y configurar un actualizador más rápidu paralelu qu'utilice l'API d'actualización de l'aplicación Noticies",
|
||||
"Subscribe" : "Soscríbete",
|
||||
"Web address" : "Direición web",
|
||||
"Feed exists already!" : "¡Esti feed yá esiste!",
|
||||
"Folder" : "Carpeta",
|
||||
"No folder" : "Ensín carpeta",
|
||||
"New folder" : "Carpeta nueva",
|
||||
"Folder name" : "Nome de la carpeta",
|
||||
"Go back" : "Atrás",
|
||||
"Folder exists already!" : "¡La carpeta yá esiste!",
|
||||
"Credentials" : "Credenciales",
|
||||
"HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "¡Les credenciales d'autenticación básica d'HTTP tienen de ser almacenaos ensin encriptar! ¡Cualesquier que pueda aportar al sirvidor o base de datos va ser capaz d'aportar a ellos!",
|
||||
"Password" : "Contraseña",
|
||||
"New Folder" : "Carpeta nueva",
|
||||
"Create" : "Crear",
|
||||
"Explore" : "Esplorar",
|
||||
"Update failed more than 50 times" : "L'actualización falló más de 50 vegaes",
|
||||
"Deleted feed" : "Desaniciar feed",
|
||||
"Undo delete feed" : "Desfacer desaniciu del feed",
|
||||
"Rename" : "Renomar",
|
||||
"Menu" : "Menú",
|
||||
"Unpin from top" : "Defixar de lo cimero",
|
||||
"Newest first" : "Lo más nuevo",
|
||||
"Oldest first" : "Lo más vieyo",
|
||||
"Delete" : "Desaniciar",
|
||||
"Dismiss" : "Encaboxar",
|
||||
"Collapse" : "Contrayer",
|
||||
"Deleted folder" : "Desaniciar carpeta",
|
||||
"Undo delete folder" : "Desfacer desaniciu de la carpeta",
|
||||
"Starred" : "Favoritos",
|
||||
"All articles" : "Tolos artículos",
|
||||
"Settings" : "Axustes",
|
||||
"Disable mark read through scrolling" : "Deshabilita marcar como lleíu al desplazar",
|
||||
"Compact view" : "Vista compauta",
|
||||
"Expand articles on key navigation" : "Espandir los artículos al navegar con tecles",
|
||||
"Show all articles" : "Amosar tolos artículos",
|
||||
"Reverse ordering (oldest on top)" : "Ordenamientu inversu (el más antiguu na parte cimera)",
|
||||
"Subscriptions (OPML)" : "Soscripciones (OPML)",
|
||||
"Import" : "Importar",
|
||||
"Export" : "Esportar",
|
||||
"Error when importing: OPML is does neither contain feeds nor folders" : "Fallu al importar: OPML nun contién nin feeds nin carpetes",
|
||||
"Unread/Starred Articles" : "Artículos Non lleíos y Favoritos",
|
||||
"Error when importing: file does not contain valid JSON" : "Fallu al importar: el ficheru nun contién JSON válidu",
|
||||
"Settings" : "Configuración",
|
||||
"Help" : "Ayuda",
|
||||
"Keyboard shortcuts" : "Atayos de tecláu",
|
||||
"Documentation" : "Documentación",
|
||||
"Report a bug" : "Informar un fallu"
|
||||
"Documentation" : "Documentación"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
@@ -2,6 +2,7 @@ OC.L10N.register(
|
||||
"news",
|
||||
{
|
||||
"Unread articles" : "Oxunulmamış məqalə",
|
||||
"Last job ran {relativeTime}." : "Son işin icra vaxtı {relativeTime}.",
|
||||
"Download" : "Yüklə",
|
||||
"Close" : "Bağla",
|
||||
"Share" : "Paylaş",
|
||||
@@ -30,6 +31,7 @@ OC.L10N.register(
|
||||
"Unread/Starred Articles" : "Oxunulmamış/Ulduzlanmış məqalələr",
|
||||
"Error when importing: file does not contain valid JSON" : "Yüklənmədə səhv: faylda düzgün JSON yoxdur",
|
||||
"Help" : "Kömək",
|
||||
"Documentation" : "Sənədlər"
|
||||
"Documentation" : "Sənədlər",
|
||||
"Report a bug" : "Səhv haqqında bildir"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
@@ -1,5 +1,6 @@
|
||||
{ "translations": {
|
||||
"Unread articles" : "Oxunulmamış məqalə",
|
||||
"Last job ran {relativeTime}." : "Son işin icra vaxtı {relativeTime}.",
|
||||
"Download" : "Yüklə",
|
||||
"Close" : "Bağla",
|
||||
"Share" : "Paylaş",
|
||||
@@ -28,6 +29,7 @@
|
||||
"Unread/Starred Articles" : "Oxunulmamış/Ulduzlanmış məqalələr",
|
||||
"Error when importing: file does not contain valid JSON" : "Yüklənmədə səhv: faylda düzgün JSON yoxdur",
|
||||
"Help" : "Kömək",
|
||||
"Documentation" : "Sənədlər"
|
||||
"Documentation" : "Sənədlər",
|
||||
"Report a bug" : "Səhv haqqında bildir"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
26
l10n/ca.js
26
l10n/ca.js
@@ -3,8 +3,8 @@ OC.L10N.register(
|
||||
{
|
||||
"Request failed, network connection unavailable!" : "La sol·licitud ha fallat, la connexió de xarxa no està disponible!",
|
||||
"Request unauthorized. Are you logged in?" : "Sol·licitud no autoritzada. Heu iniciat la sessió?",
|
||||
"Request forbidden. Are you an administrator?" : "Petició prohibida. Ets administrador?",
|
||||
"Token expired or app not enabled! Reload the page!" : "El Token està caducat o l'aplicació no està activada! Torneu a carregar la pàgina!",
|
||||
"Request forbidden. Are you an administrator?" : "Sol·licitud prohibida. Ets administrador?",
|
||||
"Token expired or app not enabled! Reload the page!" : "El Testimoni està caducat o l'aplicació no està habilitada! Torneu a carregar la pàgina!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Error intern servidor! Consulteu el fitxer data/nextcloud.log per obtenir informació addicional!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "La sol·licitud ha fallat, Nextcloud és actualment en mode de manteniment!",
|
||||
"News feeds" : "Fonts de notícies",
|
||||
@@ -18,11 +18,11 @@ OC.L10N.register(
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "L'última execució del treball s'ha executat el dia {relativeTime}. Alguna cosa sembla malament.",
|
||||
"Last job ran {relativeTime}." : "L'última tasca es va executar {relativeTime}.",
|
||||
"Use system cron for updates" : "Feu servir el sistema cron per a les actualitzacions",
|
||||
"Disable this if you use a custom updater." : "Desactiveu-ho si feu servir un actualitzador personalitzat.",
|
||||
"Disable this if you use a custom updater." : "Inhabiliteu-ho si feu servir un actualitzador personalitzat.",
|
||||
"Maximum read count per feed" : "Màxim nombre de lectures per font",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Defineix la quantitat màxima d'articles que es poden llegir per canal que no s'eliminaran pel treball de neteja; si els articles antics reapareixen després de ser llegits, augmenta aquest valor; valors negatius com -1 desactivaran aquesta funció.",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Defineix la quantitat màxima d'articles que es poden llegir per canal que no es suprimiran pel treball de neteja; si els articles antics reapareixen després de ser llegits, augmenta aquest valor; valors negatius com -1 desactivaran aquesta funció.",
|
||||
"Delete unread articles automatically" : "Suprimeix automàticament els articles no llegits",
|
||||
"Enable this if you also want to delete unread articles." : "Activeu-ho si també voleu suprimir articles no llegits.",
|
||||
"Enable this if you also want to delete unread articles." : "Habiliteu-ho si també voleu suprimir articles no llegits.",
|
||||
"Maximum redirects" : "Màxim de redirigits",
|
||||
"How many redirects the feed fetcher should follow." : "Quantes redireccions hauria de suportar el descarregador de fonts.",
|
||||
"Feed fetcher timeout" : "Temps d'espera exhaurit per a la descàrrega de la font",
|
||||
@@ -42,7 +42,7 @@ OC.L10N.register(
|
||||
"Star article" : "Destaca l'article",
|
||||
"Unstar article" : "Deixa de destacar l'article",
|
||||
"Keep article unread" : "Manté l'article com a no llegit",
|
||||
"Remove keep article unread" : "Elimineu mantenir l'article no llegit",
|
||||
"Remove keep article unread" : "Suprimir mantenir l'article no llegit",
|
||||
"Share" : "Compartir",
|
||||
"Share with users" : "Comparteix amb els usuaris",
|
||||
"Username" : "Nom d'usuari",
|
||||
@@ -55,12 +55,12 @@ OC.L10N.register(
|
||||
"from" : "des de",
|
||||
"shared by" : "compartit per",
|
||||
"Play audio" : "Reprodueix l'àudio",
|
||||
"Download audio" : "Descarrega l'àudio",
|
||||
"Download video" : "Descarrega el vídeo",
|
||||
"Download audio" : "Baixada de l'àudio",
|
||||
"Download video" : "Baixada del vídeo",
|
||||
"Keyboard shortcut" : "Drecera de teclat",
|
||||
"Description" : "Descripció",
|
||||
"right" : "dreta",
|
||||
"Jump to next article" : "Vés al proper article",
|
||||
"Jump to next article" : "Vés al següent article",
|
||||
"left" : "esquerra",
|
||||
"Jump to previous article" : "Vés a l'article anterior",
|
||||
"Toggle star article" : "Commuta l'article com a destacat",
|
||||
@@ -105,20 +105,20 @@ OC.L10N.register(
|
||||
"Newest first" : "Més nou primer",
|
||||
"Oldest first" : "Més antic primer",
|
||||
"Default order" : "Ordre per defecte",
|
||||
"Enable full text" : "Activa el text complet",
|
||||
"Disable full text" : "Desactiva el text complet",
|
||||
"Enable full text" : "Habilita el text complet",
|
||||
"Disable full text" : "Inhabilita el text complet",
|
||||
"Unread updated" : "Actualització no llegida",
|
||||
"Ignore updated" : "Ignora l'actualització",
|
||||
"Open feed URL" : "Obre l'URL del canal",
|
||||
"Delete" : "Suprimeix",
|
||||
"Dismiss" : "Rebutja",
|
||||
"Dismiss" : "Descarta",
|
||||
"Collapse" : "Replega",
|
||||
"Deleted folder" : "Carpeta suprimida",
|
||||
"Undo delete folder" : "Desfés la supressió de la carpeta",
|
||||
"Starred" : "Destacats",
|
||||
"All articles" : "Tots els articles",
|
||||
"Settings" : "Paràmetres",
|
||||
"Disable mark read through scrolling" : "Desactiva la marca de lectura mitjançant el desplaçament",
|
||||
"Disable mark read through scrolling" : "Inhabilita la marca de lectura mitjançant el desplaçament",
|
||||
"Compact view" : "Vista compacta",
|
||||
"Expand articles on key navigation" : "Amplia els articles sobre la navegació per tecles",
|
||||
"Show all articles" : "Mostra tots els articles",
|
||||
|
26
l10n/ca.json
26
l10n/ca.json
@@ -1,8 +1,8 @@
|
||||
{ "translations": {
|
||||
"Request failed, network connection unavailable!" : "La sol·licitud ha fallat, la connexió de xarxa no està disponible!",
|
||||
"Request unauthorized. Are you logged in?" : "Sol·licitud no autoritzada. Heu iniciat la sessió?",
|
||||
"Request forbidden. Are you an administrator?" : "Petició prohibida. Ets administrador?",
|
||||
"Token expired or app not enabled! Reload the page!" : "El Token està caducat o l'aplicació no està activada! Torneu a carregar la pàgina!",
|
||||
"Request forbidden. Are you an administrator?" : "Sol·licitud prohibida. Ets administrador?",
|
||||
"Token expired or app not enabled! Reload the page!" : "El Testimoni està caducat o l'aplicació no està habilitada! Torneu a carregar la pàgina!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Error intern servidor! Consulteu el fitxer data/nextcloud.log per obtenir informació addicional!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "La sol·licitud ha fallat, Nextcloud és actualment en mode de manteniment!",
|
||||
"News feeds" : "Fonts de notícies",
|
||||
@@ -16,11 +16,11 @@
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "L'última execució del treball s'ha executat el dia {relativeTime}. Alguna cosa sembla malament.",
|
||||
"Last job ran {relativeTime}." : "L'última tasca es va executar {relativeTime}.",
|
||||
"Use system cron for updates" : "Feu servir el sistema cron per a les actualitzacions",
|
||||
"Disable this if you use a custom updater." : "Desactiveu-ho si feu servir un actualitzador personalitzat.",
|
||||
"Disable this if you use a custom updater." : "Inhabiliteu-ho si feu servir un actualitzador personalitzat.",
|
||||
"Maximum read count per feed" : "Màxim nombre de lectures per font",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Defineix la quantitat màxima d'articles que es poden llegir per canal que no s'eliminaran pel treball de neteja; si els articles antics reapareixen després de ser llegits, augmenta aquest valor; valors negatius com -1 desactivaran aquesta funció.",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Defineix la quantitat màxima d'articles que es poden llegir per canal que no es suprimiran pel treball de neteja; si els articles antics reapareixen després de ser llegits, augmenta aquest valor; valors negatius com -1 desactivaran aquesta funció.",
|
||||
"Delete unread articles automatically" : "Suprimeix automàticament els articles no llegits",
|
||||
"Enable this if you also want to delete unread articles." : "Activeu-ho si també voleu suprimir articles no llegits.",
|
||||
"Enable this if you also want to delete unread articles." : "Habiliteu-ho si també voleu suprimir articles no llegits.",
|
||||
"Maximum redirects" : "Màxim de redirigits",
|
||||
"How many redirects the feed fetcher should follow." : "Quantes redireccions hauria de suportar el descarregador de fonts.",
|
||||
"Feed fetcher timeout" : "Temps d'espera exhaurit per a la descàrrega de la font",
|
||||
@@ -40,7 +40,7 @@
|
||||
"Star article" : "Destaca l'article",
|
||||
"Unstar article" : "Deixa de destacar l'article",
|
||||
"Keep article unread" : "Manté l'article com a no llegit",
|
||||
"Remove keep article unread" : "Elimineu mantenir l'article no llegit",
|
||||
"Remove keep article unread" : "Suprimir mantenir l'article no llegit",
|
||||
"Share" : "Compartir",
|
||||
"Share with users" : "Comparteix amb els usuaris",
|
||||
"Username" : "Nom d'usuari",
|
||||
@@ -53,12 +53,12 @@
|
||||
"from" : "des de",
|
||||
"shared by" : "compartit per",
|
||||
"Play audio" : "Reprodueix l'àudio",
|
||||
"Download audio" : "Descarrega l'àudio",
|
||||
"Download video" : "Descarrega el vídeo",
|
||||
"Download audio" : "Baixada de l'àudio",
|
||||
"Download video" : "Baixada del vídeo",
|
||||
"Keyboard shortcut" : "Drecera de teclat",
|
||||
"Description" : "Descripció",
|
||||
"right" : "dreta",
|
||||
"Jump to next article" : "Vés al proper article",
|
||||
"Jump to next article" : "Vés al següent article",
|
||||
"left" : "esquerra",
|
||||
"Jump to previous article" : "Vés a l'article anterior",
|
||||
"Toggle star article" : "Commuta l'article com a destacat",
|
||||
@@ -103,20 +103,20 @@
|
||||
"Newest first" : "Més nou primer",
|
||||
"Oldest first" : "Més antic primer",
|
||||
"Default order" : "Ordre per defecte",
|
||||
"Enable full text" : "Activa el text complet",
|
||||
"Disable full text" : "Desactiva el text complet",
|
||||
"Enable full text" : "Habilita el text complet",
|
||||
"Disable full text" : "Inhabilita el text complet",
|
||||
"Unread updated" : "Actualització no llegida",
|
||||
"Ignore updated" : "Ignora l'actualització",
|
||||
"Open feed URL" : "Obre l'URL del canal",
|
||||
"Delete" : "Suprimeix",
|
||||
"Dismiss" : "Rebutja",
|
||||
"Dismiss" : "Descarta",
|
||||
"Collapse" : "Replega",
|
||||
"Deleted folder" : "Carpeta suprimida",
|
||||
"Undo delete folder" : "Desfés la supressió de la carpeta",
|
||||
"Starred" : "Destacats",
|
||||
"All articles" : "Tots els articles",
|
||||
"Settings" : "Paràmetres",
|
||||
"Disable mark read through scrolling" : "Desactiva la marca de lectura mitjançant el desplaçament",
|
||||
"Disable mark read through scrolling" : "Inhabilita la marca de lectura mitjançant el desplaçament",
|
||||
"Compact view" : "Vista compacta",
|
||||
"Expand articles on key navigation" : "Amplia els articles sobre la navegació per tecles",
|
||||
"Show all articles" : "Mostra tots els articles",
|
||||
|
@@ -11,13 +11,18 @@ OC.L10N.register(
|
||||
"Unread articles" : "Ulæste artikler",
|
||||
"News" : "Nyheder",
|
||||
"News folders" : "Nyhedsmapper",
|
||||
"News articles" : "Nyheds artikler",
|
||||
"Shared with me" : "Delt med mig",
|
||||
"An RSS/Atom feed reader" : "En RSS/Atom-feedlæser",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 En RSS/Atom Feed-læser-app til Nextcloud\n\n- 📲 Synkroniser dine feeds med flere mobile eller desktop [klienter](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatiske opdateringer af dine nyhedsfeeds\n- 🆓 Gratis og open source under AGPLv3, ingen annoncer eller premium-funktioner\n\n**System Cron er i øjeblikket påkrævet for at denne app kan fungere**\n\nKravene kan findes [her](https://nextcloud.github.io/news/install/#dependencies)\n\nÆndringsloggen er tilgængelig [her](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nOpret en [fejlrapport](https://github.com/nextcloud/news/issues/new/choose)\n\nOpret en [funktionsanmodning](https://github.com/nextcloud/news/discussions/new)\n\nRapporter et [feedproblem](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Sidste jobudførelse kørte {relativeTime}. Noget gik galt.",
|
||||
"Last job ran {relativeTime}." : "Sidste job kørte {relativeTime}.",
|
||||
"Use system cron for updates" : "Benyt system cron til opdateringer",
|
||||
"Disable this if you use a custom updater." : "Deaktiver dette, hvis du bruger en brugerdefineret opdatering.",
|
||||
"Maximum read count per feed" : "Det maksimale antal læsninger per feed",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Definerer den maksimale mængde af artikler, der kan læses pr. feed, som ikke vil blive slettet af oprydningsjobbet; hvis gamle artikler dukker op igen efter at være blevet læst, skal du øge denne værdi; negative værdier såsom -1 vil slå denne funktion fra.",
|
||||
"Delete unread articles automatically" : "Slet automatisk ulæste artikler",
|
||||
"Enable this if you also want to delete unread articles." : "Aktivere dette hvis du også vil slette ulæste artikler.",
|
||||
"Maximum redirects" : "Maksimum for videredirigeringer",
|
||||
"How many redirects the feed fetcher should follow." : "Hvor mange omdirigeringer feedhenteren skal følge.",
|
||||
"Feed fetcher timeout" : "Tidsudløb for feed-indhenter",
|
||||
|
@@ -9,13 +9,18 @@
|
||||
"Unread articles" : "Ulæste artikler",
|
||||
"News" : "Nyheder",
|
||||
"News folders" : "Nyhedsmapper",
|
||||
"News articles" : "Nyheds artikler",
|
||||
"Shared with me" : "Delt med mig",
|
||||
"An RSS/Atom feed reader" : "En RSS/Atom-feedlæser",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 En RSS/Atom Feed-læser-app til Nextcloud\n\n- 📲 Synkroniser dine feeds med flere mobile eller desktop [klienter](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatiske opdateringer af dine nyhedsfeeds\n- 🆓 Gratis og open source under AGPLv3, ingen annoncer eller premium-funktioner\n\n**System Cron er i øjeblikket påkrævet for at denne app kan fungere**\n\nKravene kan findes [her](https://nextcloud.github.io/news/install/#dependencies)\n\nÆndringsloggen er tilgængelig [her](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nOpret en [fejlrapport](https://github.com/nextcloud/news/issues/new/choose)\n\nOpret en [funktionsanmodning](https://github.com/nextcloud/news/discussions/new)\n\nRapporter et [feedproblem](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Sidste jobudførelse kørte {relativeTime}. Noget gik galt.",
|
||||
"Last job ran {relativeTime}." : "Sidste job kørte {relativeTime}.",
|
||||
"Use system cron for updates" : "Benyt system cron til opdateringer",
|
||||
"Disable this if you use a custom updater." : "Deaktiver dette, hvis du bruger en brugerdefineret opdatering.",
|
||||
"Maximum read count per feed" : "Det maksimale antal læsninger per feed",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Definerer den maksimale mængde af artikler, der kan læses pr. feed, som ikke vil blive slettet af oprydningsjobbet; hvis gamle artikler dukker op igen efter at være blevet læst, skal du øge denne værdi; negative værdier såsom -1 vil slå denne funktion fra.",
|
||||
"Delete unread articles automatically" : "Slet automatisk ulæste artikler",
|
||||
"Enable this if you also want to delete unread articles." : "Aktivere dette hvis du også vil slette ulæste artikler.",
|
||||
"Maximum redirects" : "Maksimum for videredirigeringer",
|
||||
"How many redirects the feed fetcher should follow." : "Hvor mange omdirigeringer feedhenteren skal følge.",
|
||||
"Feed fetcher timeout" : "Tidsudløb for feed-indhenter",
|
||||
|
@@ -15,8 +15,8 @@ OC.L10N.register(
|
||||
"Shared with me" : "Mit mir geteilt",
|
||||
"An RSS/Atom feed reader" : "Ein RSS/Atom-Feed-Reader",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Eine RSS/Atom Feed Reader App für Nextcloud\n\n- 📲 Synchronisiere deine Feeds mit mehreren mobilen oder Desktop [Clients] (https://nextcloud.github.io/news/clients/)\n- 🔄 Automatische Aktualisierung deiner Newsfeeds\n- 🆓 Kostenlos und quelloffen unter AGPLv3, keine Werbung oder Premiumfunktionen\n\n**System Cron wird derzeit benötigt, damit diese App funktioniert**\n\nDie Anforderungen findest du [hier](https://nextcloud.github.io/news/install/#dependencies)\n\nDie Liste der Änderungen (Changelog) findest du [hier](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\n\nErstelle einen [Fehlerbericht](https://github.com/nextcloud/news/issues/new/choose)\n\nErstelle eine [Funktionsanforderung](https://github.com/nextcloud/news/discussions/new)\n\nMelde ein [Feed-Problem](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Die letzte Aufgaben-Ausführung lief {relativeTime}. Etwas scheint falsch zu sein.",
|
||||
"Last job ran {relativeTime}." : "Die letzte Aufgabe lief {relativeTime}.",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Der letzte Job lief {relativeTime}. Etwas scheint falsch zu sein.",
|
||||
"Last job ran {relativeTime}." : "Der letzte Job lief {relativeTime}.",
|
||||
"Use system cron for updates" : "Verwende System-Cron für Aktualisierungen",
|
||||
"Disable this if you use a custom updater." : "Deaktiviere diese Option, wenn du einen eigenen Updater verwendest.",
|
||||
"Maximum read count per feed" : "Maximale Anzahl an gelesenen Artikeln pro Feed",
|
||||
|
@@ -13,8 +13,8 @@
|
||||
"Shared with me" : "Mit mir geteilt",
|
||||
"An RSS/Atom feed reader" : "Ein RSS/Atom-Feed-Reader",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Eine RSS/Atom Feed Reader App für Nextcloud\n\n- 📲 Synchronisiere deine Feeds mit mehreren mobilen oder Desktop [Clients] (https://nextcloud.github.io/news/clients/)\n- 🔄 Automatische Aktualisierung deiner Newsfeeds\n- 🆓 Kostenlos und quelloffen unter AGPLv3, keine Werbung oder Premiumfunktionen\n\n**System Cron wird derzeit benötigt, damit diese App funktioniert**\n\nDie Anforderungen findest du [hier](https://nextcloud.github.io/news/install/#dependencies)\n\nDie Liste der Änderungen (Changelog) findest du [hier](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\n\nErstelle einen [Fehlerbericht](https://github.com/nextcloud/news/issues/new/choose)\n\nErstelle eine [Funktionsanforderung](https://github.com/nextcloud/news/discussions/new)\n\nMelde ein [Feed-Problem](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Die letzte Aufgaben-Ausführung lief {relativeTime}. Etwas scheint falsch zu sein.",
|
||||
"Last job ran {relativeTime}." : "Die letzte Aufgabe lief {relativeTime}.",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Der letzte Job lief {relativeTime}. Etwas scheint falsch zu sein.",
|
||||
"Last job ran {relativeTime}." : "Der letzte Job lief {relativeTime}.",
|
||||
"Use system cron for updates" : "Verwende System-Cron für Aktualisierungen",
|
||||
"Disable this if you use a custom updater." : "Deaktiviere diese Option, wenn du einen eigenen Updater verwendest.",
|
||||
"Maximum read count per feed" : "Maximale Anzahl an gelesenen Artikeln pro Feed",
|
||||
|
@@ -3,19 +3,39 @@ OC.L10N.register(
|
||||
{
|
||||
"Request failed, network connection unavailable!" : "¡Se presentó una falla en la solicitud, la conexión a la red no está disponible!",
|
||||
"Request unauthorized. Are you logged in?" : "Solicitud no autorizada. ¿Has iniciado sesisón?",
|
||||
"Request forbidden. Are you an administrator?" : "Solicitud prohibida. ¿Eres un administrador?",
|
||||
"Token expired or app not enabled! Reload the page!" : "¡La ficha expiró o la aplicación no está habilitada! ¡Por favor recarga la página!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "¡Se presentó un error interno del servidor! ¡Por favor verifica el archivo data/nextcloud.log para más informacón!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "¡Se presentó una falla en la solicitud, por el momento Nextcloud se encuentra en modo mantenimiento!",
|
||||
"News feeds" : "Fuentes de noticias",
|
||||
"Unread articles" : "Artículos sin leer",
|
||||
"News" : "Noticias",
|
||||
"News folders" : "Carpetas de noticias",
|
||||
"News articles" : "Artículos de noticias",
|
||||
"Shared with me" : "Compartido conmigo",
|
||||
"An RSS/Atom feed reader" : "Un lector de fuentes RSS/Atom",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Una aplicación de lectura de fuentes RSS/Atom para Nextcloud\n \n - 📲 Sincroniza tus fuentes con múltiples clientes móviles o de escritorio [clients](https://nextcloud.github.io/news/clients/)\n - 🔄 Actualización automática de tus fuentes de noticias\n - 🆓 Gratis y de código abierto bajo la licencia AGPLv3, sin publicidad o funciones premium\n \n **Actualmente se requiere Cron del sistema para que esta aplicación funcione**\n \n Los requisitos se pueden encontrar [aquí](https://nextcloud.github.io/news/install/#dependencies)\n \n El registro de cambios está disponible [aquí](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n \n Crear un [informe de error](https://github.com/nextcloud/news/issues/new/choose)\n \n Crear una [solicitud de función](https://github.com/nextcloud/news/discussions/new)\n \n Informar de un [problema de fuente](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "La última ejecución de la tarea se realizó hace {relativeTime}. Algo parece estar mal.",
|
||||
"Last job ran {relativeTime}." : "La última tarea se ejecutó {relativeTime}.",
|
||||
"Use system cron for updates" : "Usa el cron del sistema para las actualizaciones",
|
||||
"Disable this if you use a custom updater." : "Desactiva esto si utilizas un actualizador personalizado.",
|
||||
"Maximum read count per feed" : "Conteo máximo de lecturas por fuente",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Define la cantidad máxima de artículos que se pueden leer por fuente y que no serán eliminados por la tarea de limpieza; si los artículos antiguos vuelven a aparecer después de ser leídos, aumenta este valor; los valores negativos como -1 desactivarán esta función.",
|
||||
"Delete unread articles automatically" : "Eliminar automáticamente los artículos no leídos",
|
||||
"Enable this if you also want to delete unread articles." : "Activa esto si también deseas eliminar los artículos no leídos.",
|
||||
"Maximum redirects" : "Redirecciones máximas",
|
||||
"How many redirects the feed fetcher should follow." : "Cantidad máxima de redireccionamientos que el recuperador de fuentes debe seguir.",
|
||||
"Feed fetcher timeout" : "Tiempo de vida para el buscador de fuentes",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Tiempo máximo en segundos para esperar a que se cargue una fuente RSS o Atom; si tarda más, la actualización se abortará.",
|
||||
"Explore Service URL" : "Explorar la URL del Servicio",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "Si se proporciona, se consultará la URL de este servicio para mostrar las fuentes en la sección de exploración de fuentes. Para utilizar el servicio de exploración incorporado, deja este campo vacío.",
|
||||
"Update interval" : "Intervalo de actualización",
|
||||
"Interval in seconds in which the feeds will be updated." : "Intervalo en segundos en el que se actualizarán las fuentes.",
|
||||
"Successfully updated news configuration" : "Configuración de noticias actualizada correctamente",
|
||||
"Unable to update news config" : "No se pudo actualizar la configuración de noticias",
|
||||
"Download" : "Descargar",
|
||||
"Close" : "Cerrar",
|
||||
"Subscribe to" : "Suscribirse a",
|
||||
"No articles available" : "No hay artículos disponibles",
|
||||
"No unread articles available" : "No hay artículos sin leer disponibles",
|
||||
"Open website" : "Abrir sitio web",
|
||||
@@ -24,9 +44,16 @@ OC.L10N.register(
|
||||
"Keep article unread" : "Mantener el artículo como no-leído",
|
||||
"Remove keep article unread" : "Eliminar mantener artículo como no leído",
|
||||
"Share" : "Compartir",
|
||||
"Share with users" : "Compartir con usuarios",
|
||||
"Username" : "Usuario",
|
||||
"No users found" : "No se encontraron usuarios",
|
||||
"Error while searching for users" : "Error al buscar usuarios",
|
||||
"Share on social media" : "Compartir en redes sociales",
|
||||
"I wanted you to see this article" : "Quería que vieras este artículo",
|
||||
"Check out this article" : "Echa un vistazo a este artículo",
|
||||
"by" : "por",
|
||||
"from" : "de",
|
||||
"shared by" : "compartido por",
|
||||
"Play audio" : "Reproducir audio",
|
||||
"Download audio" : "Descargar audio",
|
||||
"Download video" : "Descargar video",
|
||||
@@ -63,6 +90,7 @@ OC.L10N.register(
|
||||
"Credentials" : "Credenciales",
|
||||
"HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "¡Las credenciales HTTP Basic Auth deben ser almacenadas decriptadas! ¡Todos aquellos que tengan acceso al servidor o a la base de datos tendrán acceso a ellas!",
|
||||
"Password" : "Contraseña",
|
||||
"Auto discover Feed" : "Descubrir automáticamente la fuente",
|
||||
"New Folder" : "Carpeta Nueva",
|
||||
"Create" : "Crear",
|
||||
"Explore" : "Explorar",
|
||||
|
@@ -1,19 +1,39 @@
|
||||
{ "translations": {
|
||||
"Request failed, network connection unavailable!" : "¡Se presentó una falla en la solicitud, la conexión a la red no está disponible!",
|
||||
"Request unauthorized. Are you logged in?" : "Solicitud no autorizada. ¿Has iniciado sesisón?",
|
||||
"Request forbidden. Are you an administrator?" : "Solicitud prohibida. ¿Eres un administrador?",
|
||||
"Token expired or app not enabled! Reload the page!" : "¡La ficha expiró o la aplicación no está habilitada! ¡Por favor recarga la página!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "¡Se presentó un error interno del servidor! ¡Por favor verifica el archivo data/nextcloud.log para más informacón!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "¡Se presentó una falla en la solicitud, por el momento Nextcloud se encuentra en modo mantenimiento!",
|
||||
"News feeds" : "Fuentes de noticias",
|
||||
"Unread articles" : "Artículos sin leer",
|
||||
"News" : "Noticias",
|
||||
"News folders" : "Carpetas de noticias",
|
||||
"News articles" : "Artículos de noticias",
|
||||
"Shared with me" : "Compartido conmigo",
|
||||
"An RSS/Atom feed reader" : "Un lector de fuentes RSS/Atom",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Una aplicación de lectura de fuentes RSS/Atom para Nextcloud\n \n - 📲 Sincroniza tus fuentes con múltiples clientes móviles o de escritorio [clients](https://nextcloud.github.io/news/clients/)\n - 🔄 Actualización automática de tus fuentes de noticias\n - 🆓 Gratis y de código abierto bajo la licencia AGPLv3, sin publicidad o funciones premium\n \n **Actualmente se requiere Cron del sistema para que esta aplicación funcione**\n \n Los requisitos se pueden encontrar [aquí](https://nextcloud.github.io/news/install/#dependencies)\n \n El registro de cambios está disponible [aquí](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n \n Crear un [informe de error](https://github.com/nextcloud/news/issues/new/choose)\n \n Crear una [solicitud de función](https://github.com/nextcloud/news/discussions/new)\n \n Informar de un [problema de fuente](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "La última ejecución de la tarea se realizó hace {relativeTime}. Algo parece estar mal.",
|
||||
"Last job ran {relativeTime}." : "La última tarea se ejecutó {relativeTime}.",
|
||||
"Use system cron for updates" : "Usa el cron del sistema para las actualizaciones",
|
||||
"Disable this if you use a custom updater." : "Desactiva esto si utilizas un actualizador personalizado.",
|
||||
"Maximum read count per feed" : "Conteo máximo de lecturas por fuente",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Define la cantidad máxima de artículos que se pueden leer por fuente y que no serán eliminados por la tarea de limpieza; si los artículos antiguos vuelven a aparecer después de ser leídos, aumenta este valor; los valores negativos como -1 desactivarán esta función.",
|
||||
"Delete unread articles automatically" : "Eliminar automáticamente los artículos no leídos",
|
||||
"Enable this if you also want to delete unread articles." : "Activa esto si también deseas eliminar los artículos no leídos.",
|
||||
"Maximum redirects" : "Redirecciones máximas",
|
||||
"How many redirects the feed fetcher should follow." : "Cantidad máxima de redireccionamientos que el recuperador de fuentes debe seguir.",
|
||||
"Feed fetcher timeout" : "Tiempo de vida para el buscador de fuentes",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Tiempo máximo en segundos para esperar a que se cargue una fuente RSS o Atom; si tarda más, la actualización se abortará.",
|
||||
"Explore Service URL" : "Explorar la URL del Servicio",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "Si se proporciona, se consultará la URL de este servicio para mostrar las fuentes en la sección de exploración de fuentes. Para utilizar el servicio de exploración incorporado, deja este campo vacío.",
|
||||
"Update interval" : "Intervalo de actualización",
|
||||
"Interval in seconds in which the feeds will be updated." : "Intervalo en segundos en el que se actualizarán las fuentes.",
|
||||
"Successfully updated news configuration" : "Configuración de noticias actualizada correctamente",
|
||||
"Unable to update news config" : "No se pudo actualizar la configuración de noticias",
|
||||
"Download" : "Descargar",
|
||||
"Close" : "Cerrar",
|
||||
"Subscribe to" : "Suscribirse a",
|
||||
"No articles available" : "No hay artículos disponibles",
|
||||
"No unread articles available" : "No hay artículos sin leer disponibles",
|
||||
"Open website" : "Abrir sitio web",
|
||||
@@ -22,9 +42,16 @@
|
||||
"Keep article unread" : "Mantener el artículo como no-leído",
|
||||
"Remove keep article unread" : "Eliminar mantener artículo como no leído",
|
||||
"Share" : "Compartir",
|
||||
"Share with users" : "Compartir con usuarios",
|
||||
"Username" : "Usuario",
|
||||
"No users found" : "No se encontraron usuarios",
|
||||
"Error while searching for users" : "Error al buscar usuarios",
|
||||
"Share on social media" : "Compartir en redes sociales",
|
||||
"I wanted you to see this article" : "Quería que vieras este artículo",
|
||||
"Check out this article" : "Echa un vistazo a este artículo",
|
||||
"by" : "por",
|
||||
"from" : "de",
|
||||
"shared by" : "compartido por",
|
||||
"Play audio" : "Reproducir audio",
|
||||
"Download audio" : "Descargar audio",
|
||||
"Download video" : "Descargar video",
|
||||
@@ -61,6 +88,7 @@
|
||||
"Credentials" : "Credenciales",
|
||||
"HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "¡Las credenciales HTTP Basic Auth deben ser almacenadas decriptadas! ¡Todos aquellos que tengan acceso al servidor o a la base de datos tendrán acceso a ellas!",
|
||||
"Password" : "Contraseña",
|
||||
"Auto discover Feed" : "Descubrir automáticamente la fuente",
|
||||
"New Folder" : "Carpeta Nueva",
|
||||
"Create" : "Crear",
|
||||
"Explore" : "Explorar",
|
||||
|
29
l10n/fa.js
29
l10n/fa.js
@@ -3,20 +3,39 @@ OC.L10N.register(
|
||||
{
|
||||
"Request failed, network connection unavailable!" : "درخواست انجام نشد ، اتصال به شبکه در دسترس نیست!",
|
||||
"Request unauthorized. Are you logged in?" : "درخواست غیر مجاز. آیا وارد سیستم شده اید؟",
|
||||
"Request forbidden. Are you an administrator?" : "Request forbidden. Are you an administrator?",
|
||||
"Token expired or app not enabled! Reload the page!" : "گفتگوی منقضی شده یا برنامه فعال نشده است! بارگیری مجدد صفحه!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "خطای سرور داخلی! لطفاً برای اطلاعات بیشتر ، پرونده / nextcloud.log خود را بررسی کنید!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "درخواست انجام نشد ، Nextcloud در حال حاضر در حالت تعمیر و نگهداری است!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "درخواست انجام نشد، نکستکلود در حال حاضر در حالت تعمیر و نگهداری است!",
|
||||
"News feeds" : "News feeds",
|
||||
"Unread articles" : "مطالب خوانده نشده",
|
||||
"News" : "اخبار",
|
||||
"News folders" : "News folders",
|
||||
"News articles" : "News articles",
|
||||
"Shared with me" : "Shared with me",
|
||||
"An RSS/Atom feed reader" : "An RSS/Atom feed reader",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Last job execution ran {relativeTime}. Something seems wrong.",
|
||||
"Last job ran {relativeTime}." : "آخرین کار در {time} اجرا شد.",
|
||||
"Use system cron for updates" : "برای بروزرسانی ها از سیستم cron استفاده کنید",
|
||||
"Disable this if you use a custom updater." : "Disable this if you use a custom updater.",
|
||||
"Maximum read count per feed" : "حداکثر تعداد خواندن در هر خوراک",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off.",
|
||||
"Delete unread articles automatically" : "Delete unread articles automatically",
|
||||
"Enable this if you also want to delete unread articles." : "Enable this if you also want to delete unread articles.",
|
||||
"Maximum redirects" : "حداکثر تغییر مسیرها",
|
||||
"How many redirects the feed fetcher should follow." : "How many redirects the feed fetcher should follow.",
|
||||
"Feed fetcher timeout" : "خاتمه دادن به فست فایر",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted.",
|
||||
"Explore Service URL" : "URL سرویس را کاوش کنید",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty.",
|
||||
"Update interval" : "Update interval",
|
||||
"Interval in seconds in which the feeds will be updated." : "Interval in seconds in which the feeds will be updated.",
|
||||
"Successfully updated news configuration" : "Successfully updated news configuration",
|
||||
"Unable to update news config" : "Unable to update news config",
|
||||
"Download" : "دانلود",
|
||||
"Close" : "بستن",
|
||||
"Subscribe to" : "Subscribe to",
|
||||
"No articles available" : "هیچ مقالهای موجود نیست",
|
||||
"No unread articles available" : "هیچ مقالهی خوانده نشدهای موجود نیست",
|
||||
"Open website" : "باز کردن وبسایت",
|
||||
@@ -25,9 +44,16 @@ OC.L10N.register(
|
||||
"Keep article unread" : "مقاله را نخوانید",
|
||||
"Remove keep article unread" : "مقاله را نخوانید حذف کنید",
|
||||
"Share" : "همرسانی",
|
||||
"Share with users" : "Share with users",
|
||||
"Username" : "نام کاربری",
|
||||
"No users found" : "No users found",
|
||||
"Error while searching for users" : "Error while searching for users",
|
||||
"Share on social media" : "Share on social media",
|
||||
"I wanted you to see this article" : "I wanted you to see this article",
|
||||
"Check out this article" : "Check out this article",
|
||||
"by" : "با",
|
||||
"from" : "از",
|
||||
"shared by" : "shared by",
|
||||
"Play audio" : "پخش صوت",
|
||||
"Download audio" : "دانلود صوت",
|
||||
"Download video" : "دانلود ویدئو",
|
||||
@@ -64,6 +90,7 @@ OC.L10N.register(
|
||||
"Credentials" : "اعتبارهای",
|
||||
"HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "اعتبارنامه HTTP Basic Auth باید بدون رمزگذاری ذخیره شود! هر کس با دسترسی به سرور یا بانک اطلاعاتی قادر به دسترسی به آنها خواهد بود!",
|
||||
"Password" : "گذرواژه",
|
||||
"Auto discover Feed" : "Auto discover Feed",
|
||||
"New Folder" : "پوشه جدید",
|
||||
"Create" : "ایجاد کردن",
|
||||
"Explore" : "کاوش",
|
||||
|
29
l10n/fa.json
29
l10n/fa.json
@@ -1,20 +1,39 @@
|
||||
{ "translations": {
|
||||
"Request failed, network connection unavailable!" : "درخواست انجام نشد ، اتصال به شبکه در دسترس نیست!",
|
||||
"Request unauthorized. Are you logged in?" : "درخواست غیر مجاز. آیا وارد سیستم شده اید؟",
|
||||
"Request forbidden. Are you an administrator?" : "Request forbidden. Are you an administrator?",
|
||||
"Token expired or app not enabled! Reload the page!" : "گفتگوی منقضی شده یا برنامه فعال نشده است! بارگیری مجدد صفحه!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "خطای سرور داخلی! لطفاً برای اطلاعات بیشتر ، پرونده / nextcloud.log خود را بررسی کنید!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "درخواست انجام نشد ، Nextcloud در حال حاضر در حالت تعمیر و نگهداری است!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "درخواست انجام نشد، نکستکلود در حال حاضر در حالت تعمیر و نگهداری است!",
|
||||
"News feeds" : "News feeds",
|
||||
"Unread articles" : "مطالب خوانده نشده",
|
||||
"News" : "اخبار",
|
||||
"News folders" : "News folders",
|
||||
"News articles" : "News articles",
|
||||
"Shared with me" : "Shared with me",
|
||||
"An RSS/Atom feed reader" : "An RSS/Atom feed reader",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Last job execution ran {relativeTime}. Something seems wrong.",
|
||||
"Last job ran {relativeTime}." : "آخرین کار در {time} اجرا شد.",
|
||||
"Use system cron for updates" : "برای بروزرسانی ها از سیستم cron استفاده کنید",
|
||||
"Disable this if you use a custom updater." : "Disable this if you use a custom updater.",
|
||||
"Maximum read count per feed" : "حداکثر تعداد خواندن در هر خوراک",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off.",
|
||||
"Delete unread articles automatically" : "Delete unread articles automatically",
|
||||
"Enable this if you also want to delete unread articles." : "Enable this if you also want to delete unread articles.",
|
||||
"Maximum redirects" : "حداکثر تغییر مسیرها",
|
||||
"How many redirects the feed fetcher should follow." : "How many redirects the feed fetcher should follow.",
|
||||
"Feed fetcher timeout" : "خاتمه دادن به فست فایر",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted.",
|
||||
"Explore Service URL" : "URL سرویس را کاوش کنید",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty.",
|
||||
"Update interval" : "Update interval",
|
||||
"Interval in seconds in which the feeds will be updated." : "Interval in seconds in which the feeds will be updated.",
|
||||
"Successfully updated news configuration" : "Successfully updated news configuration",
|
||||
"Unable to update news config" : "Unable to update news config",
|
||||
"Download" : "دانلود",
|
||||
"Close" : "بستن",
|
||||
"Subscribe to" : "Subscribe to",
|
||||
"No articles available" : "هیچ مقالهای موجود نیست",
|
||||
"No unread articles available" : "هیچ مقالهی خوانده نشدهای موجود نیست",
|
||||
"Open website" : "باز کردن وبسایت",
|
||||
@@ -23,9 +42,16 @@
|
||||
"Keep article unread" : "مقاله را نخوانید",
|
||||
"Remove keep article unread" : "مقاله را نخوانید حذف کنید",
|
||||
"Share" : "همرسانی",
|
||||
"Share with users" : "Share with users",
|
||||
"Username" : "نام کاربری",
|
||||
"No users found" : "No users found",
|
||||
"Error while searching for users" : "Error while searching for users",
|
||||
"Share on social media" : "Share on social media",
|
||||
"I wanted you to see this article" : "I wanted you to see this article",
|
||||
"Check out this article" : "Check out this article",
|
||||
"by" : "با",
|
||||
"from" : "از",
|
||||
"shared by" : "shared by",
|
||||
"Play audio" : "پخش صوت",
|
||||
"Download audio" : "دانلود صوت",
|
||||
"Download video" : "دانلود ویدئو",
|
||||
@@ -62,6 +88,7 @@
|
||||
"Credentials" : "اعتبارهای",
|
||||
"HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "اعتبارنامه HTTP Basic Auth باید بدون رمزگذاری ذخیره شود! هر کس با دسترسی به سرور یا بانک اطلاعاتی قادر به دسترسی به آنها خواهد بود!",
|
||||
"Password" : "گذرواژه",
|
||||
"Auto discover Feed" : "Auto discover Feed",
|
||||
"New Folder" : "پوشه جدید",
|
||||
"Create" : "ایجاد کردن",
|
||||
"Explore" : "کاوش",
|
||||
|
40
l10n/gl.js
40
l10n/gl.js
@@ -2,37 +2,37 @@ OC.L10N.register(
|
||||
"news",
|
||||
{
|
||||
"Request failed, network connection unavailable!" : "Non se realizou a solicitude, a conexión de rede non está dispoñíbel!",
|
||||
"Request unauthorized. Are you logged in?" : "Solicitude non autorizada. Está vostede autenticado?",
|
||||
"Request unauthorized. Are you logged in?" : "A solicitude non está autorizada. Está Vde. autenticado?",
|
||||
"Request forbidden. Are you an administrator?" : "Solicitude prohibida. Es administrador?",
|
||||
"Token expired or app not enabled! Reload the page!" : "Ou ben caducou o testemuño ou a aplicación non está activada. Volva cargar a páxina!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Produciuse un erro interno do servidor! Verifique o ficheiro data/nextcloud.log para obter máis información!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "Produciuse un fallo na solicitude, Nexcloud esta actualmente en modo mantemento!",
|
||||
"News feeds" : "Fontes de noticias",
|
||||
"News feeds" : "Fontes de novas",
|
||||
"Unread articles" : "Artigos sen ler",
|
||||
"News" : "Novas",
|
||||
"News folders" : "Cartafoles de noticias",
|
||||
"News articles" : "Artigos de noticias",
|
||||
"News folders" : "Cartafoles de novas",
|
||||
"News articles" : "Artigos de novas",
|
||||
"Shared with me" : "Compartido comigo",
|
||||
"An RSS/Atom feed reader" : "Un lector de fontes RSS/Atom",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Unha aplicación de lector de RSS/Atom Feed para Nextcloud\n\n- 📲 Sincroniza as túas fontes con varios [clientes](https://nextcloud.github.io/news/clients/) móbiles ou de escritorio.\n- 🔄 Actualizacións automáticas das túas fontes de noticias\n- 🆓 Gratuíto e de código aberto baixo AGPLv3, sen anuncios nin funcións premium\n\n**Actualmente é necesario o sistema Cron para que esta aplicación funcione**\n\nOs requisitos pódense atopar [aquí](https://nextcloud.github.io/news/install/#dependencies)\n\nO rexistro de cambios está dispoñible [aquí](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCrea un [informe de erros](https://github.com/nextcloud/news/issues/new/choose)\n\nCrea unha[solicitude de función] (https://github.com/nextcloud/news/discussions/new)\n\nInformar dun [problema de feed](https://github.com/nextcloud/news/discussions/new)",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Unha aplicación de lector de RSS/Atom Feed para Nextcloud\n\n- 📲 Sincroniza as súas fontes con varios [clientes](https://nextcloud.github.io/news/clients/) de móbil ou de escritorio \n- 🔄 Actualizacións automáticas das súas fontes de novas\n- 🆓 De Código aberto, libre e de balde, baixo AGPLv3, sen anuncios nin funcións de pago ou subscrición\n\n**Actualmente precisase o sistema «cron» para que esta aplicación funcione**\n\nOs requisitos pódense atopar [aquí](https://nextcloud.github.io/news/install/#dependencies)\n\nO rexistro de cambios está dispoñíbel [aquí](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCrear un [informe de fallos](https://github.com/nextcloud/news/issues/new/choose)\n\nCrear unha [solicitude de función](https://github.com/nextcloud/news/discussions/new)\n\nInformar dun [problema de fontes](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "A última execución do traballo executouse o {relativeTime}. Algo parece funcionar mal.",
|
||||
"Last job ran {relativeTime}." : "O último traballo executouse {relativeTime}.",
|
||||
"Use system cron for updates" : "Use o cron do sistema para as actualizacións",
|
||||
"Disable this if you use a custom updater." : "Desactive isto se usa un actualizador personalizado.",
|
||||
"Maximum read count per feed" : "Conta máxima de lidos por fonte",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Define a cantidade máxima de artigos que se poden ler por fonte que non se eliminarán polo traballo de limpeza; se reaparecen artigos antigos despois de ser lidos, aumenta este valor; valores negativos como -1 desactivarán esta función.",
|
||||
"Delete unread articles automatically" : "Elimina os artigos non lidos automaticamente",
|
||||
"Enable this if you also want to delete unread articles." : "Activa isto se tamén queres eliminar artigos non lidos.",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Define a cantidade máxima de artigos que se poden ler por fonte que non se eliminarán polo traballo de limpeza; se reaparecen artigos antigos após de ser lidos, aumenta este valor; valores negativos como -1 desactivarán esta función.",
|
||||
"Delete unread articles automatically" : "Eliminar automaticamente os artigos non lidos",
|
||||
"Enable this if you also want to delete unread articles." : "Active isto se tamén quere eliminar os artigos non lidos.",
|
||||
"Maximum redirects" : "Redireccionamentos máximos",
|
||||
"How many redirects the feed fetcher should follow." : "Cantos redirecionamentos debe seguir o recuperador de fontes.",
|
||||
"Feed fetcher timeout" : "Caducidade do recuperador",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Número máximo de segundos agardando por unha fonte RSS ou Atom para cargar; se lle leva máis tempo a actualización será cancelada.",
|
||||
"Feed fetcher timeout" : "Caducidade do recuperador de fontes",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Número máximo de segundos agardando por unha fonte RSS ou Atom para cargar; se lle leva máis tempo a actualización será interrompida.",
|
||||
"Explore Service URL" : "Examinar o URL de servizo",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "Se é fornecido, este URL de servizo requirirase para amosar as fontes na sección de exame da fonte. Para amparar co servizo de exame propio, deixe baldeira esta entrada.",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "Se é fornecido, este URL de servizo precisarase para amosar as fontes na sección de exame da fonte. Para amparar co servizo de exame propio, deixe baldeira esta entrada.",
|
||||
"Update interval" : "Intervalo de actualización",
|
||||
"Interval in seconds in which the feeds will be updated." : "Intervalo, en segundos, no que se actualizarán as fontes.",
|
||||
"Successfully updated news configuration" : "Actualizouse correctamente a configuración de noticias",
|
||||
"Unable to update news config" : "Non se puido actualizar a configuración de noticias",
|
||||
"Successfully updated news configuration" : "Actualizouse correctamente a configuración de novas",
|
||||
"Unable to update news config" : "Non é posíbel actualizar a configuración de noticias",
|
||||
"Download" : "Descargar",
|
||||
"Close" : "Pechar",
|
||||
"Subscribe to" : "Subscribirse a",
|
||||
@@ -48,15 +48,15 @@ OC.L10N.register(
|
||||
"Username" : "Nome de usuario",
|
||||
"No users found" : "Non se atoparon usuarios",
|
||||
"Error while searching for users" : "Produciuse un erro ao buscar usuarios",
|
||||
"Share on social media" : "Comparte nas redes sociais",
|
||||
"I wanted you to see this article" : "Quería que viras este artigo",
|
||||
"Check out this article" : "Consulta este artigo",
|
||||
"Share on social media" : "Compartir nos medios sociais",
|
||||
"I wanted you to see this article" : "Gustaríame que vira este artigo",
|
||||
"Check out this article" : "Consulte este artigo",
|
||||
"by" : "por",
|
||||
"from" : "dende",
|
||||
"shared by" : "compartido por",
|
||||
"Play audio" : "Reproducir son",
|
||||
"Download audio" : "Descargar son",
|
||||
"Download video" : "Descargar video",
|
||||
"Download video" : "Descargar vídeo",
|
||||
"Keyboard shortcut" : "Atallo de teclado",
|
||||
"Description" : "Descrición",
|
||||
"right" : "dereita",
|
||||
@@ -67,7 +67,7 @@ OC.L10N.register(
|
||||
"Star article and jump to next one" : "Destacar o artigo e ir ao seguinte",
|
||||
"Toggle keep current article unread" : "Conservar/retirar o artigo actual como non lido",
|
||||
"Open article in new tab" : "Abrir o artigo nunha nova lapela",
|
||||
"Toggle expand article in compact view" : "Expandir/contraer o artigo en vista compacta",
|
||||
"Toggle expand article in compact view" : "Estender/contraer o artigo en vista compacta",
|
||||
"Refresh" : "Actualizar",
|
||||
"Load next feed" : "Cargar a seguinte fonte",
|
||||
"Load previous feed" : "Cargar a fonte anterior",
|
||||
@@ -77,7 +77,7 @@ OC.L10N.register(
|
||||
"Mark current article's feed/folder read" : "Marcar o actual artigo de fonte/cartafol como lido",
|
||||
"Ajax or webcron mode detected! Your feeds will not be updated!" : "Detectouse o modo Ajax ou webcron! As súas fontes non van ser actualizadas!",
|
||||
"How to set up the operating system cron" : "Cómo configurar o cron do sistema operativo",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "Instala e configura un actualizador paralelo máis rápido que utiliza a API de actualización da aplicación Novas",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "Instalar e configurar un actualizador paralelo máis rápido que utilice a API de actualización da aplicación Novas",
|
||||
"Subscribe" : "Subscribirse",
|
||||
"Web address" : "Enderezo web",
|
||||
"Feed exists already!" : "Esta fonte de novas xa existe!",
|
||||
@@ -120,7 +120,7 @@ OC.L10N.register(
|
||||
"Settings" : "Axustes",
|
||||
"Disable mark read through scrolling" : "Desactivar o marcado como lido co desprazamento",
|
||||
"Compact view" : "Vista compacta",
|
||||
"Expand articles on key navigation" : "Expandir artigos na tecla de navegación",
|
||||
"Expand articles on key navigation" : "Estender artigos na tecla de navegación",
|
||||
"Show all articles" : "Amosar todos os artigos",
|
||||
"Reverse ordering (oldest on top)" : "Ordenado inverso (máis vellos enriba)",
|
||||
"Subscriptions (OPML)" : "Subscricións (OPML)",
|
||||
|
40
l10n/gl.json
40
l10n/gl.json
@@ -1,36 +1,36 @@
|
||||
{ "translations": {
|
||||
"Request failed, network connection unavailable!" : "Non se realizou a solicitude, a conexión de rede non está dispoñíbel!",
|
||||
"Request unauthorized. Are you logged in?" : "Solicitude non autorizada. Está vostede autenticado?",
|
||||
"Request unauthorized. Are you logged in?" : "A solicitude non está autorizada. Está Vde. autenticado?",
|
||||
"Request forbidden. Are you an administrator?" : "Solicitude prohibida. Es administrador?",
|
||||
"Token expired or app not enabled! Reload the page!" : "Ou ben caducou o testemuño ou a aplicación non está activada. Volva cargar a páxina!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Produciuse un erro interno do servidor! Verifique o ficheiro data/nextcloud.log para obter máis información!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "Produciuse un fallo na solicitude, Nexcloud esta actualmente en modo mantemento!",
|
||||
"News feeds" : "Fontes de noticias",
|
||||
"News feeds" : "Fontes de novas",
|
||||
"Unread articles" : "Artigos sen ler",
|
||||
"News" : "Novas",
|
||||
"News folders" : "Cartafoles de noticias",
|
||||
"News articles" : "Artigos de noticias",
|
||||
"News folders" : "Cartafoles de novas",
|
||||
"News articles" : "Artigos de novas",
|
||||
"Shared with me" : "Compartido comigo",
|
||||
"An RSS/Atom feed reader" : "Un lector de fontes RSS/Atom",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Unha aplicación de lector de RSS/Atom Feed para Nextcloud\n\n- 📲 Sincroniza as túas fontes con varios [clientes](https://nextcloud.github.io/news/clients/) móbiles ou de escritorio.\n- 🔄 Actualizacións automáticas das túas fontes de noticias\n- 🆓 Gratuíto e de código aberto baixo AGPLv3, sen anuncios nin funcións premium\n\n**Actualmente é necesario o sistema Cron para que esta aplicación funcione**\n\nOs requisitos pódense atopar [aquí](https://nextcloud.github.io/news/install/#dependencies)\n\nO rexistro de cambios está dispoñible [aquí](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCrea un [informe de erros](https://github.com/nextcloud/news/issues/new/choose)\n\nCrea unha[solicitude de función] (https://github.com/nextcloud/news/discussions/new)\n\nInformar dun [problema de feed](https://github.com/nextcloud/news/discussions/new)",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Unha aplicación de lector de RSS/Atom Feed para Nextcloud\n\n- 📲 Sincroniza as súas fontes con varios [clientes](https://nextcloud.github.io/news/clients/) de móbil ou de escritorio \n- 🔄 Actualizacións automáticas das súas fontes de novas\n- 🆓 De Código aberto, libre e de balde, baixo AGPLv3, sen anuncios nin funcións de pago ou subscrición\n\n**Actualmente precisase o sistema «cron» para que esta aplicación funcione**\n\nOs requisitos pódense atopar [aquí](https://nextcloud.github.io/news/install/#dependencies)\n\nO rexistro de cambios está dispoñíbel [aquí](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCrear un [informe de fallos](https://github.com/nextcloud/news/issues/new/choose)\n\nCrear unha [solicitude de función](https://github.com/nextcloud/news/discussions/new)\n\nInformar dun [problema de fontes](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "A última execución do traballo executouse o {relativeTime}. Algo parece funcionar mal.",
|
||||
"Last job ran {relativeTime}." : "O último traballo executouse {relativeTime}.",
|
||||
"Use system cron for updates" : "Use o cron do sistema para as actualizacións",
|
||||
"Disable this if you use a custom updater." : "Desactive isto se usa un actualizador personalizado.",
|
||||
"Maximum read count per feed" : "Conta máxima de lidos por fonte",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Define a cantidade máxima de artigos que se poden ler por fonte que non se eliminarán polo traballo de limpeza; se reaparecen artigos antigos despois de ser lidos, aumenta este valor; valores negativos como -1 desactivarán esta función.",
|
||||
"Delete unread articles automatically" : "Elimina os artigos non lidos automaticamente",
|
||||
"Enable this if you also want to delete unread articles." : "Activa isto se tamén queres eliminar artigos non lidos.",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Define a cantidade máxima de artigos que se poden ler por fonte que non se eliminarán polo traballo de limpeza; se reaparecen artigos antigos após de ser lidos, aumenta este valor; valores negativos como -1 desactivarán esta función.",
|
||||
"Delete unread articles automatically" : "Eliminar automaticamente os artigos non lidos",
|
||||
"Enable this if you also want to delete unread articles." : "Active isto se tamén quere eliminar os artigos non lidos.",
|
||||
"Maximum redirects" : "Redireccionamentos máximos",
|
||||
"How many redirects the feed fetcher should follow." : "Cantos redirecionamentos debe seguir o recuperador de fontes.",
|
||||
"Feed fetcher timeout" : "Caducidade do recuperador",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Número máximo de segundos agardando por unha fonte RSS ou Atom para cargar; se lle leva máis tempo a actualización será cancelada.",
|
||||
"Feed fetcher timeout" : "Caducidade do recuperador de fontes",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Número máximo de segundos agardando por unha fonte RSS ou Atom para cargar; se lle leva máis tempo a actualización será interrompida.",
|
||||
"Explore Service URL" : "Examinar o URL de servizo",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "Se é fornecido, este URL de servizo requirirase para amosar as fontes na sección de exame da fonte. Para amparar co servizo de exame propio, deixe baldeira esta entrada.",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "Se é fornecido, este URL de servizo precisarase para amosar as fontes na sección de exame da fonte. Para amparar co servizo de exame propio, deixe baldeira esta entrada.",
|
||||
"Update interval" : "Intervalo de actualización",
|
||||
"Interval in seconds in which the feeds will be updated." : "Intervalo, en segundos, no que se actualizarán as fontes.",
|
||||
"Successfully updated news configuration" : "Actualizouse correctamente a configuración de noticias",
|
||||
"Unable to update news config" : "Non se puido actualizar a configuración de noticias",
|
||||
"Successfully updated news configuration" : "Actualizouse correctamente a configuración de novas",
|
||||
"Unable to update news config" : "Non é posíbel actualizar a configuración de noticias",
|
||||
"Download" : "Descargar",
|
||||
"Close" : "Pechar",
|
||||
"Subscribe to" : "Subscribirse a",
|
||||
@@ -46,15 +46,15 @@
|
||||
"Username" : "Nome de usuario",
|
||||
"No users found" : "Non se atoparon usuarios",
|
||||
"Error while searching for users" : "Produciuse un erro ao buscar usuarios",
|
||||
"Share on social media" : "Comparte nas redes sociais",
|
||||
"I wanted you to see this article" : "Quería que viras este artigo",
|
||||
"Check out this article" : "Consulta este artigo",
|
||||
"Share on social media" : "Compartir nos medios sociais",
|
||||
"I wanted you to see this article" : "Gustaríame que vira este artigo",
|
||||
"Check out this article" : "Consulte este artigo",
|
||||
"by" : "por",
|
||||
"from" : "dende",
|
||||
"shared by" : "compartido por",
|
||||
"Play audio" : "Reproducir son",
|
||||
"Download audio" : "Descargar son",
|
||||
"Download video" : "Descargar video",
|
||||
"Download video" : "Descargar vídeo",
|
||||
"Keyboard shortcut" : "Atallo de teclado",
|
||||
"Description" : "Descrición",
|
||||
"right" : "dereita",
|
||||
@@ -65,7 +65,7 @@
|
||||
"Star article and jump to next one" : "Destacar o artigo e ir ao seguinte",
|
||||
"Toggle keep current article unread" : "Conservar/retirar o artigo actual como non lido",
|
||||
"Open article in new tab" : "Abrir o artigo nunha nova lapela",
|
||||
"Toggle expand article in compact view" : "Expandir/contraer o artigo en vista compacta",
|
||||
"Toggle expand article in compact view" : "Estender/contraer o artigo en vista compacta",
|
||||
"Refresh" : "Actualizar",
|
||||
"Load next feed" : "Cargar a seguinte fonte",
|
||||
"Load previous feed" : "Cargar a fonte anterior",
|
||||
@@ -75,7 +75,7 @@
|
||||
"Mark current article's feed/folder read" : "Marcar o actual artigo de fonte/cartafol como lido",
|
||||
"Ajax or webcron mode detected! Your feeds will not be updated!" : "Detectouse o modo Ajax ou webcron! As súas fontes non van ser actualizadas!",
|
||||
"How to set up the operating system cron" : "Cómo configurar o cron do sistema operativo",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "Instala e configura un actualizador paralelo máis rápido que utiliza a API de actualización da aplicación Novas",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "Instalar e configurar un actualizador paralelo máis rápido que utilice a API de actualización da aplicación Novas",
|
||||
"Subscribe" : "Subscribirse",
|
||||
"Web address" : "Enderezo web",
|
||||
"Feed exists already!" : "Esta fonte de novas xa existe!",
|
||||
@@ -118,7 +118,7 @@
|
||||
"Settings" : "Axustes",
|
||||
"Disable mark read through scrolling" : "Desactivar o marcado como lido co desprazamento",
|
||||
"Compact view" : "Vista compacta",
|
||||
"Expand articles on key navigation" : "Expandir artigos na tecla de navegación",
|
||||
"Expand articles on key navigation" : "Estender artigos na tecla de navegación",
|
||||
"Show all articles" : "Amosar todos os artigos",
|
||||
"Reverse ordering (oldest on top)" : "Ordenado inverso (máis vellos enriba)",
|
||||
"Subscriptions (OPML)" : "Subscricións (OPML)",
|
||||
|
@@ -14,6 +14,8 @@ OC.L10N.register(
|
||||
"News articles" : "Nyhetsartikler",
|
||||
"Shared with me" : "Delt med meg",
|
||||
"An RSS/Atom feed reader" : "En RSS/Atom-leser",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 En RSS/Atom Feed leseapp for Nextcloud\n\n- 📲 Synkroniser feed'ene dine med flere mobil eller desktop [klienter](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatisk oppdatering av nyhetsfeeder\n- 🆓 Gratis og open source under AGPLv3, ingen reklame eller premium funksjoner\n\n**System Cron er for øyeblikket påkrevet for at denne appen skal fungere**\n\nKrav kan bli funnet [her](https://nextcloud.github.io/news/install/#dependencies)\n\nEndringslogg er tilgjengelig [her](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nOpprett en [bug rapport](https://github.com/nextcloud/news/issues/new/choose)\n\nOpprett en [feature request](https://github.com/nextcloud/news/discussions/new)\n\nRapporter ett [feed problem](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Siste jobb kjørte {tid}. Noe virker galt.",
|
||||
"Last job ran {relativeTime}." : "Siste jobb kjørte {relativeTime}.",
|
||||
"Use system cron for updates" : "Bruk system-cron for oppdateringer",
|
||||
"Disable this if you use a custom updater." : "Deaktiver dette hvis du bruker en egen oppdaterer.",
|
||||
|
@@ -12,6 +12,8 @@
|
||||
"News articles" : "Nyhetsartikler",
|
||||
"Shared with me" : "Delt med meg",
|
||||
"An RSS/Atom feed reader" : "En RSS/Atom-leser",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 En RSS/Atom Feed leseapp for Nextcloud\n\n- 📲 Synkroniser feed'ene dine med flere mobil eller desktop [klienter](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatisk oppdatering av nyhetsfeeder\n- 🆓 Gratis og open source under AGPLv3, ingen reklame eller premium funksjoner\n\n**System Cron er for øyeblikket påkrevet for at denne appen skal fungere**\n\nKrav kan bli funnet [her](https://nextcloud.github.io/news/install/#dependencies)\n\nEndringslogg er tilgjengelig [her](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nOpprett en [bug rapport](https://github.com/nextcloud/news/issues/new/choose)\n\nOpprett en [feature request](https://github.com/nextcloud/news/discussions/new)\n\nRapporter ett [feed problem](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Siste jobb kjørte {tid}. Noe virker galt.",
|
||||
"Last job ran {relativeTime}." : "Siste jobb kjørte {relativeTime}.",
|
||||
"Use system cron for updates" : "Bruk system-cron for oppdateringer",
|
||||
"Disable this if you use a custom updater." : "Deaktiver dette hvis du bruker en egen oppdaterer.",
|
||||
|
@@ -15,6 +15,7 @@ OC.L10N.register(
|
||||
"Shared with me" : "Поделились с вами",
|
||||
"An RSS/Atom feed reader" : "Читалка RSS / Atom",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Приложение для чтения RSS/Atom для Nextcloud\n\n- 📲 Синхронизация ваших лент с несколькими мобильными или настольными [клиентами] (https://nextcloud.github.io/news/clients/)\n- 🔄 Автоматическое обновление ваших новостных лент\n- 🆓 Бесплатно и с открытым исходным кодом по AGPLv3, без рекламы и премиум-функций\n\n**Для работы этого приложения требуется системный Cron**.\n\nТребования можно найти [здесь](https://nextcloud.github.io/news/install/#dependencies)\n\nСписок изменений доступен [здесь](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nСоздать [отчёт об ошибке](https://github.com/nextcloud/news/issues/new/choose)\n\nСоздать [запрос новой функции](https://github.com/nextcloud/news/discussions/new)\n\nСообщить [о проблеме](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Последнее задание было выполнено {relativeTime}. Похоже, что-то не в порядке.",
|
||||
"Last job ran {relativeTime}." : "Последнее задание было запущено {relativeTime}.",
|
||||
"Use system cron for updates" : "Для получения обновлений используйте системный cron",
|
||||
"Disable this if you use a custom updater." : "Отключите эту функцию, если вы используете пользовательскую программу обновления.",
|
||||
|
@@ -13,6 +13,7 @@
|
||||
"Shared with me" : "Поделились с вами",
|
||||
"An RSS/Atom feed reader" : "Читалка RSS / Atom",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Приложение для чтения RSS/Atom для Nextcloud\n\n- 📲 Синхронизация ваших лент с несколькими мобильными или настольными [клиентами] (https://nextcloud.github.io/news/clients/)\n- 🔄 Автоматическое обновление ваших новостных лент\n- 🆓 Бесплатно и с открытым исходным кодом по AGPLv3, без рекламы и премиум-функций\n\n**Для работы этого приложения требуется системный Cron**.\n\nТребования можно найти [здесь](https://nextcloud.github.io/news/install/#dependencies)\n\nСписок изменений доступен [здесь](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nСоздать [отчёт об ошибке](https://github.com/nextcloud/news/issues/new/choose)\n\nСоздать [запрос новой функции](https://github.com/nextcloud/news/discussions/new)\n\nСообщить [о проблеме](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Последнее задание было выполнено {relativeTime}. Похоже, что-то не в порядке.",
|
||||
"Last job ran {relativeTime}." : "Последнее задание было запущено {relativeTime}.",
|
||||
"Use system cron for updates" : "Для получения обновлений используйте системный cron",
|
||||
"Disable this if you use a custom updater." : "Отключите эту функцию, если вы используете пользовательскую программу обновления.",
|
||||
|
13
l10n/sl.js
13
l10n/sl.js
@@ -3,6 +3,7 @@ OC.L10N.register(
|
||||
{
|
||||
"Request failed, network connection unavailable!" : "Zahteva je spodletela. Omrežna povezava trenutno ni na voljo!",
|
||||
"Request unauthorized. Are you logged in?" : "Zahteva ni ustrezno overjena. Ali ste prijavljeni?",
|
||||
"Request forbidden. Are you an administrator?" : "Zahteve ni dovoljeno izvesti. Ali so na voljo skrbniška dovoljena?",
|
||||
"Token expired or app not enabled! Reload the page!" : "Žeton je pretekel ali pa program ni omogočen! Poskusite osvežiti stran!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Notranja napaka strežnika! Preverite datoteko data/nextcloud.log za podrobnosti!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "Zahteva je spodletela! Okolje Nextcloud je trenutno v vzdrževalnem načinu!",
|
||||
@@ -10,20 +11,28 @@ OC.L10N.register(
|
||||
"Unread articles" : "Neprebrani prispevki",
|
||||
"News" : "Novice",
|
||||
"News folders" : "Mape novic",
|
||||
"News articles" : "Novičarski prispevki",
|
||||
"Shared with me" : "V souporabi z mano",
|
||||
"An RSS/Atom feed reader" : "Bralnik virov RSS/Atom",
|
||||
"Last job ran {relativeTime}." : "osvežitev je bila nazadnje izvedena {relativeTime}.",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Bralnik virov RSS/Atom za okolje Nextcloud\n\n- 📲 Omogoča sočasno usklajevanje virov z več mobilnimi in namiznimi [programi](https://nextcloud.github.io/news/clients/)\n- 🔄 Samodejno posodablja vire novic\n- 🆓 Je prosto in brezplačno orodje, objavljeno pod pogoji dovoljenjaAGPLv3, brez oglasov, brez dodatnih plačljivih možnosti\n\n**Za delovanje mora biti zagnano okolje Cron**\n\nZahteve programa so objavljene med podrobnostmi [namestitve](https://nextcloud.github.io/news/install/#dependencies)\n\nPodrobnosti objave so na voljo v datoteki [Changelog.md](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nPoročila o hroščih pa se zbirajo na spletišču [GitHub](https://github.com/nextcloud/news/issues/new/choose)\n\nO [predlogih novih zmožnosti](https://github.com/nextcloud/news/discussions/new) razpravlja živahna skupnost\n\nNapake objave vira, pa je mogoče objavljati med [pogovori](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Zadnji poskus izvedbe je bil izveden {relativeTime}. Kaže, da je prišlo do napake.",
|
||||
"Last job ran {relativeTime}." : "Osvežitev je bila nazadnje izvedena {relativeTime}.",
|
||||
"Use system cron for updates" : "Za posodobitve uporabi sistemski program »cron«",
|
||||
"Disable this if you use a custom updater." : "Možnost onemogočite, če uporabljate posodabljalnik po meri.",
|
||||
"Maximum read count per feed" : "Največje število prikazanih virov",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Določa največje število prispevkov vira, ki bodo ostali vidni po čiščenju zgodovine. Če se pojavljajo starejši prispevki, je določilo nastavljeno prenizko. Vrednost -1 onemogoči izvajanje možnosti.",
|
||||
"Delete unread articles automatically" : "Samodejno izbriši neprebrane prispevke",
|
||||
"Enable this if you also want to delete unread articles." : "Možnost omogoča brisanje neprebranih prispevkov.",
|
||||
"Maximum redirects" : "Največje število preusmeritev",
|
||||
"How many redirects the feed fetcher should follow." : "Koliko preusmeritvam naj sledi bralnik virov",
|
||||
"Feed fetcher timeout" : "Pridobivanje vira je časovno poteklo",
|
||||
"Feed fetcher timeout" : "Časovni pretek pridobivanja vira",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Čas, namenjen nalaganju virov RSS in Atom. Če traja dlje je nalaganje virov prekinjeno.",
|
||||
"Explore Service URL" : "Razišči spletni naslov storitve",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "Če je podan, bo prek tega naslova URL storitve potekala poizvedba za vire in njihov izbor. Za preklop v vgrajeno storitev določevanja, mora biti polje prazno.",
|
||||
"Update interval" : "Razmik posodobitev",
|
||||
"Interval in seconds in which the feeds will be updated." : "Časovni zamik v sekundah za posodabljanje spletnih virov.",
|
||||
"Successfully updated news configuration" : "Nastavitve novic so uspešno posodobljene",
|
||||
"Unable to update news config" : "Ni mogoče posodobiti nastavitev novic",
|
||||
"Download" : "Prejmi",
|
||||
"Close" : "Zapri",
|
||||
"Subscribe to" : "Naročnina na",
|
||||
|
13
l10n/sl.json
13
l10n/sl.json
@@ -1,6 +1,7 @@
|
||||
{ "translations": {
|
||||
"Request failed, network connection unavailable!" : "Zahteva je spodletela. Omrežna povezava trenutno ni na voljo!",
|
||||
"Request unauthorized. Are you logged in?" : "Zahteva ni ustrezno overjena. Ali ste prijavljeni?",
|
||||
"Request forbidden. Are you an administrator?" : "Zahteve ni dovoljeno izvesti. Ali so na voljo skrbniška dovoljena?",
|
||||
"Token expired or app not enabled! Reload the page!" : "Žeton je pretekel ali pa program ni omogočen! Poskusite osvežiti stran!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Notranja napaka strežnika! Preverite datoteko data/nextcloud.log za podrobnosti!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "Zahteva je spodletela! Okolje Nextcloud je trenutno v vzdrževalnem načinu!",
|
||||
@@ -8,20 +9,28 @@
|
||||
"Unread articles" : "Neprebrani prispevki",
|
||||
"News" : "Novice",
|
||||
"News folders" : "Mape novic",
|
||||
"News articles" : "Novičarski prispevki",
|
||||
"Shared with me" : "V souporabi z mano",
|
||||
"An RSS/Atom feed reader" : "Bralnik virov RSS/Atom",
|
||||
"Last job ran {relativeTime}." : "osvežitev je bila nazadnje izvedena {relativeTime}.",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Bralnik virov RSS/Atom za okolje Nextcloud\n\n- 📲 Omogoča sočasno usklajevanje virov z več mobilnimi in namiznimi [programi](https://nextcloud.github.io/news/clients/)\n- 🔄 Samodejno posodablja vire novic\n- 🆓 Je prosto in brezplačno orodje, objavljeno pod pogoji dovoljenjaAGPLv3, brez oglasov, brez dodatnih plačljivih možnosti\n\n**Za delovanje mora biti zagnano okolje Cron**\n\nZahteve programa so objavljene med podrobnostmi [namestitve](https://nextcloud.github.io/news/install/#dependencies)\n\nPodrobnosti objave so na voljo v datoteki [Changelog.md](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nPoročila o hroščih pa se zbirajo na spletišču [GitHub](https://github.com/nextcloud/news/issues/new/choose)\n\nO [predlogih novih zmožnosti](https://github.com/nextcloud/news/discussions/new) razpravlja živahna skupnost\n\nNapake objave vira, pa je mogoče objavljati med [pogovori](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Zadnji poskus izvedbe je bil izveden {relativeTime}. Kaže, da je prišlo do napake.",
|
||||
"Last job ran {relativeTime}." : "Osvežitev je bila nazadnje izvedena {relativeTime}.",
|
||||
"Use system cron for updates" : "Za posodobitve uporabi sistemski program »cron«",
|
||||
"Disable this if you use a custom updater." : "Možnost onemogočite, če uporabljate posodabljalnik po meri.",
|
||||
"Maximum read count per feed" : "Največje število prikazanih virov",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "Določa največje število prispevkov vira, ki bodo ostali vidni po čiščenju zgodovine. Če se pojavljajo starejši prispevki, je določilo nastavljeno prenizko. Vrednost -1 onemogoči izvajanje možnosti.",
|
||||
"Delete unread articles automatically" : "Samodejno izbriši neprebrane prispevke",
|
||||
"Enable this if you also want to delete unread articles." : "Možnost omogoča brisanje neprebranih prispevkov.",
|
||||
"Maximum redirects" : "Največje število preusmeritev",
|
||||
"How many redirects the feed fetcher should follow." : "Koliko preusmeritvam naj sledi bralnik virov",
|
||||
"Feed fetcher timeout" : "Pridobivanje vira je časovno poteklo",
|
||||
"Feed fetcher timeout" : "Časovni pretek pridobivanja vira",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "Čas, namenjen nalaganju virov RSS in Atom. Če traja dlje je nalaganje virov prekinjeno.",
|
||||
"Explore Service URL" : "Razišči spletni naslov storitve",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "Če je podan, bo prek tega naslova URL storitve potekala poizvedba za vire in njihov izbor. Za preklop v vgrajeno storitev določevanja, mora biti polje prazno.",
|
||||
"Update interval" : "Razmik posodobitev",
|
||||
"Interval in seconds in which the feeds will be updated." : "Časovni zamik v sekundah za posodabljanje spletnih virov.",
|
||||
"Successfully updated news configuration" : "Nastavitve novic so uspešno posodobljene",
|
||||
"Unable to update news config" : "Ni mogoče posodobiti nastavitev novic",
|
||||
"Download" : "Prejmi",
|
||||
"Close" : "Zapri",
|
||||
"Subscribe to" : "Naročnina na",
|
||||
|
@@ -16,7 +16,7 @@ OC.L10N.register(
|
||||
"An RSS/Atom feed reader" : "RSS/Atom читач довода",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Апликација RSS/Atom Feed читача за Некстклауд\n\n- 📲 Синхронизујте своје наслове са више мобилних или десктоп [клијената](https://nextcloud.github.io/news/clients/)\n- 🔄 Аутоматско ажурирње ваших налсова вести\n- 🆓 Слободно и отвореног кода под AGPLv3, без реклама или премијум функција\n\n**Тренутно је неопходан системски Cron да би апликација радила**\n\nЗахтеви могу да се пронађу [овде](https://nextcloud.github.io/news/install/#dependencies)\n\nДневник измена се налази [овде](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nКреирајте [извештај о багу](https://github.com/nextcloud/news/issues/new/choose)\n\nКреирајте [захтев за функционалност](https://github.com/nextcloud/news/discussions/new)\n\nПријавите [проблем са насловом](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Последњи посао се извршавао {relativeTime}. Изгледа да нешто није у реду.",
|
||||
"Last job ran {relativeTime}." : "Последњи посао се изврашавао {relativeTime}.",
|
||||
"Last job ran {relativeTime}." : "Последњи посао се извршавао {relativeTime}.",
|
||||
"Use system cron for updates" : "Користи системски крон за ажурирања",
|
||||
"Disable this if you use a custom updater." : "Искључите ово ако користите прилагођени програм за ажурирање.",
|
||||
"Maximum read count per feed" : "Максимални број читања по доводу",
|
||||
|
@@ -14,7 +14,7 @@
|
||||
"An RSS/Atom feed reader" : "RSS/Atom читач довода",
|
||||
"📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)" : "📰 Апликација RSS/Atom Feed читача за Некстклауд\n\n- 📲 Синхронизујте своје наслове са више мобилних или десктоп [клијената](https://nextcloud.github.io/news/clients/)\n- 🔄 Аутоматско ажурирње ваших налсова вести\n- 🆓 Слободно и отвореног кода под AGPLv3, без реклама или премијум функција\n\n**Тренутно је неопходан системски Cron да би апликација радила**\n\nЗахтеви могу да се пронађу [овде](https://nextcloud.github.io/news/install/#dependencies)\n\nДневник измена се налази [овде](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nКреирајте [извештај о багу](https://github.com/nextcloud/news/issues/new/choose)\n\nКреирајте [захтев за функционалност](https://github.com/nextcloud/news/discussions/new)\n\nПријавите [проблем са насловом](https://github.com/nextcloud/news/discussions/new)",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "Последњи посао се извршавао {relativeTime}. Изгледа да нешто није у реду.",
|
||||
"Last job ran {relativeTime}." : "Последњи посао се изврашавао {relativeTime}.",
|
||||
"Last job ran {relativeTime}." : "Последњи посао се извршавао {relativeTime}.",
|
||||
"Use system cron for updates" : "Користи системски крон за ажурирања",
|
||||
"Disable this if you use a custom updater." : "Искључите ово ако користите прилагођени програм за ажурирање.",
|
||||
"Maximum read count per feed" : "Максимални број читања по доводу",
|
||||
|
@@ -65,6 +65,8 @@ OC.L10N.register(
|
||||
"Undo delete feed" : "เลิกทำการลบฟีด",
|
||||
"Rename" : "เปลี่ยนชื่อ",
|
||||
"Menu" : "เมนู",
|
||||
"Newest first" : "ใหม่ที่สุดก่อน",
|
||||
"Oldest first" : "เก่าที่สุดก่อน",
|
||||
"Delete" : "ลบ",
|
||||
"Dismiss" : "ปิดทิ้ง",
|
||||
"Collapse" : "ย่อ",
|
||||
|
@@ -63,6 +63,8 @@
|
||||
"Undo delete feed" : "เลิกทำการลบฟีด",
|
||||
"Rename" : "เปลี่ยนชื่อ",
|
||||
"Menu" : "เมนู",
|
||||
"Newest first" : "ใหม่ที่สุดก่อน",
|
||||
"Oldest first" : "เก่าที่สุดก่อน",
|
||||
"Delete" : "ลบ",
|
||||
"Dismiss" : "ปิดทิ้ง",
|
||||
"Collapse" : "ย่อ",
|
||||
|
@@ -8,6 +8,7 @@ OC.L10N.register(
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Внутрішня помилка сервера! Щоб отримати додаткову інформацію, перевірте файл data/nextcloud.log!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "Помилка запиту, Nextcloud зараз у режимі обслуговування!",
|
||||
"Unread articles" : "Непрочитані статті",
|
||||
"News" : "Новини",
|
||||
"Last job ran {relativeTime}." : "Останнє завдання виконано {relativeTime}.",
|
||||
"Use system cron for updates" : "Використовуйте системний cron для оновлень",
|
||||
"Maximum read count per feed" : "Максимальна кількість статей для стрічки",
|
||||
@@ -22,7 +23,7 @@ OC.L10N.register(
|
||||
"No unread articles available" : "Немає непрочитаних записів",
|
||||
"Open website" : "Відкрити веб-сайт",
|
||||
"Star article" : "Позначити статтю",
|
||||
"Unstar article" : "Зняти позначку статті",
|
||||
"Unstar article" : "Зняти зірочку зі статті",
|
||||
"Keep article unread" : "Залишити статтю непрочитаною",
|
||||
"Remove keep article unread" : "Позначити статтю як прочитану",
|
||||
"Share" : "Спільний доступ",
|
||||
@@ -84,7 +85,7 @@ OC.L10N.register(
|
||||
"Collapse" : "Згорнути",
|
||||
"Deleted folder" : "Вилучений каталог",
|
||||
"Undo delete folder" : "Скасувати вилучення каталогу",
|
||||
"Starred" : "Помічені зірочкою",
|
||||
"Starred" : "Із зірочкою",
|
||||
"All articles" : "Всі статті",
|
||||
"Settings" : "Налаштування",
|
||||
"Disable mark read through scrolling" : "Вимкнути читання поміток при прокрутці",
|
||||
|
@@ -6,6 +6,7 @@
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "Внутрішня помилка сервера! Щоб отримати додаткову інформацію, перевірте файл data/nextcloud.log!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "Помилка запиту, Nextcloud зараз у режимі обслуговування!",
|
||||
"Unread articles" : "Непрочитані статті",
|
||||
"News" : "Новини",
|
||||
"Last job ran {relativeTime}." : "Останнє завдання виконано {relativeTime}.",
|
||||
"Use system cron for updates" : "Використовуйте системний cron для оновлень",
|
||||
"Maximum read count per feed" : "Максимальна кількість статей для стрічки",
|
||||
@@ -20,7 +21,7 @@
|
||||
"No unread articles available" : "Немає непрочитаних записів",
|
||||
"Open website" : "Відкрити веб-сайт",
|
||||
"Star article" : "Позначити статтю",
|
||||
"Unstar article" : "Зняти позначку статті",
|
||||
"Unstar article" : "Зняти зірочку зі статті",
|
||||
"Keep article unread" : "Залишити статтю непрочитаною",
|
||||
"Remove keep article unread" : "Позначити статтю як прочитану",
|
||||
"Share" : "Спільний доступ",
|
||||
@@ -82,7 +83,7 @@
|
||||
"Collapse" : "Згорнути",
|
||||
"Deleted folder" : "Вилучений каталог",
|
||||
"Undo delete folder" : "Скасувати вилучення каталогу",
|
||||
"Starred" : "Помічені зірочкою",
|
||||
"Starred" : "Із зірочкою",
|
||||
"All articles" : "Всі статті",
|
||||
"Settings" : "Налаштування",
|
||||
"Disable mark read through scrolling" : "Вимкнути читання поміток при прокрутці",
|
||||
|
@@ -3,35 +3,43 @@ OC.L10N.register(
|
||||
{
|
||||
"Request failed, network connection unavailable!" : "请求失败,网络连接不可用!",
|
||||
"Request unauthorized. Are you logged in?" : "请求未通过认证。您登录成功了吗?",
|
||||
"Request forbidden. Are you an administrator?" : "请求被禁止。您是管理员吗?",
|
||||
"Token expired or app not enabled! Reload the page!" : "令牌过期或者应用没有启用!重新加载页面!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "内部服务器错误!请检查您的 data/nextcloud.log 文件获取更多详细信息!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "请求失败,Nextcloud 现处于维护模式!",
|
||||
"News feeds" : "新闻源",
|
||||
"Unread articles" : "未读文章",
|
||||
"News" : "新闻",
|
||||
"News folders" : "News 文件夹",
|
||||
"Shared with me" : "和我分享",
|
||||
"An RSS/Atom feed reader" : "一个 RSS/Atom 订阅源阅读器",
|
||||
"Last job ran {relativeTime}." : "上次任务执行于 {relativeTime}。",
|
||||
"Use system cron for updates" : "使用系统计划任务执行更新",
|
||||
"News folders" : "新闻文件夹",
|
||||
"News articles" : "新闻文章",
|
||||
"Shared with me" : "与我分享",
|
||||
"An RSS/Atom feed reader" : "一个RSS/Atom订阅源阅读器",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "上次任务执行于{relativeTime}。但似乎有些问题。",
|
||||
"Last job ran {relativeTime}." : "上次任务执行于{relativeTime}。",
|
||||
"Use system cron for updates" : "使用系统cron计划任务执行更新",
|
||||
"Disable this if you use a custom updater." : "如果你使用自定义更新器则禁用它",
|
||||
"Maximum read count per feed" : "每个订阅源的最大读取次数",
|
||||
"Maximum read count per feed" : "每个订阅源的最大阅读次数",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "定义每个信息流可以读取、清理任务不会删除的最大文章数;如果旧文章在阅读后又重新出现,请增加此值。类似-1这样的负值将会将此功能关闭。",
|
||||
"Delete unread articles automatically" : "自动删除未读文章",
|
||||
"Enable this if you also want to delete unread articles." : "如果您还想删除未读文章,请启用此功能。",
|
||||
"Maximum redirects" : "最大重定向次数",
|
||||
"How many redirects the feed fetcher should follow." : "订阅源获取器最多应跟随多少次重定向。",
|
||||
"Feed fetcher timeout" : "订阅源获取器超时",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "最长的等待 RSS 或 Atom 订阅源加载的秒数;如果比这个时间更长更新将会中止。",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "最长的等待RSS或Atom订阅源加载的秒数;如果比这个时间更长更新将会中止。",
|
||||
"Explore Service URL" : "资源管理服务URL",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "如果给出,则会在查询订阅源部分中查询此服务的 URL 以显示订阅源。要回到内置的探索服务,请将此输入留空。",
|
||||
"Update interval" : "更新间隔",
|
||||
"Interval in seconds in which the feeds will be updated." : "订阅源更新的时间间隔(以秒为单位)。",
|
||||
"Successfully updated news configuration" : "成功更新新闻设置",
|
||||
"Unable to update news config" : "无法更新新闻设置",
|
||||
"Download" : "下载",
|
||||
"Close" : "关闭",
|
||||
"Subscribe to" : "订阅",
|
||||
"No articles available" : "没有文章可用",
|
||||
"No unread articles available" : "没有未读的文章可用",
|
||||
"Open website" : "打开网站",
|
||||
"Star article" : "文章加星",
|
||||
"Unstar article" : "取消文章加星",
|
||||
"Star article" : "星标文章",
|
||||
"Unstar article" : "取消星标文章",
|
||||
"Keep article unread" : "保持文章未读",
|
||||
"Remove keep article unread" : "取消保持文章未读",
|
||||
"Share" : "分享",
|
||||
@@ -54,19 +62,19 @@ OC.L10N.register(
|
||||
"Jump to next article" : "跳到下一个文章",
|
||||
"left" : "左",
|
||||
"Jump to previous article" : "跳到上一个文章",
|
||||
"Toggle star article" : "切换文章加星状态",
|
||||
"Star article and jump to next one" : "文章加星并跳到下一个",
|
||||
"Toggle star article" : "切换文章星标状态",
|
||||
"Star article and jump to next one" : "星标文章并跳到下一个",
|
||||
"Toggle keep current article unread" : "切换保持文章未读状态设置",
|
||||
"Open article in new tab" : "在新标签页中打开文章",
|
||||
"Toggle expand article in compact view" : "在紧凑视图中展开文章",
|
||||
"Refresh" : "刷新",
|
||||
"Load next feed" : "加载下一个订阅源",
|
||||
"Load previous feed" : "加载上一个订阅源",
|
||||
"Load previous folder" : "装载前一目录",
|
||||
"Load next folder" : "装载下一目录",
|
||||
"Load previous folder" : "加载前一文件夹",
|
||||
"Load next folder" : "加载下一文件夹",
|
||||
"Scroll to active navigation entry" : "滚动来激活浏览项目",
|
||||
"Mark current article's feed/folder read" : "标记当前文章的订阅源 / 文件夹为已读",
|
||||
"Ajax or webcron mode detected! Your feeds will not be updated!" : "检测到 Ajax 或 webcron 模式!您的订阅源将无法被更新!",
|
||||
"Ajax or webcron mode detected! Your feeds will not be updated!" : "检测到Ajax或Webcron 模式!您的订阅源将无法被更新!",
|
||||
"How to set up the operating system cron" : "如何设置操作系统定时任务",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "安装并设置一个更快速的更新程序,它使用新闻应用程序更新API",
|
||||
"Subscribe" : "订阅",
|
||||
@@ -95,7 +103,7 @@ OC.L10N.register(
|
||||
"Pin to top" : "固定在顶端",
|
||||
"Newest first" : "按时间顺序",
|
||||
"Oldest first" : "按时间倒序",
|
||||
"Default order" : "删除订阅",
|
||||
"Default order" : "默认排序",
|
||||
"Enable full text" : "启用全文模式",
|
||||
"Disable full text" : "禁用全文模式",
|
||||
"Unread updated" : "未读更新",
|
||||
@@ -113,17 +121,17 @@ OC.L10N.register(
|
||||
"Compact view" : "紧凑视图",
|
||||
"Expand articles on key navigation" : "按键浏览时展开文章",
|
||||
"Show all articles" : "显示全部文章",
|
||||
"Reverse ordering (oldest on top)" : "逆序(最早文章先显示)",
|
||||
"Reverse ordering (oldest on top)" : "反向排序(旧文章在上)",
|
||||
"Subscriptions (OPML)" : "订阅(OPML)",
|
||||
"Import" : "导入",
|
||||
"Export" : "导出",
|
||||
"Error when importing: File does not contain valid OPML" : "导入时出错:文件不包含有效的 OPML",
|
||||
"Error when importing: OPML is does neither contain feeds nor folders" : "导入错误:OPML 未包含订阅源或文件夹",
|
||||
"Error when importing: File does not contain valid OPML" : "导入时出错:文件不包含有效的OPML",
|
||||
"Error when importing: OPML is does neither contain feeds nor folders" : "导入错误:OPML未包含订阅源或文件夹",
|
||||
"Unread/Starred Articles" : "未读/已加星标文章",
|
||||
"Error when importing: file does not contain valid JSON" : "导入出错:文件包含非法的 JSON 数据",
|
||||
"Error when importing: file does not contain valid JSON" : "导入出错:文件包含非法的JSON数据",
|
||||
"Help" : "帮助",
|
||||
"Keyboard shortcuts" : "快捷键",
|
||||
"Documentation" : "文档",
|
||||
"Report a bug" : "报告 "
|
||||
"Report a bug" : "报告问题"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
@@ -1,35 +1,43 @@
|
||||
{ "translations": {
|
||||
"Request failed, network connection unavailable!" : "请求失败,网络连接不可用!",
|
||||
"Request unauthorized. Are you logged in?" : "请求未通过认证。您登录成功了吗?",
|
||||
"Request forbidden. Are you an administrator?" : "请求被禁止。您是管理员吗?",
|
||||
"Token expired or app not enabled! Reload the page!" : "令牌过期或者应用没有启用!重新加载页面!",
|
||||
"Internal server error! Please check your data/nextcloud.log file for additional information!" : "内部服务器错误!请检查您的 data/nextcloud.log 文件获取更多详细信息!",
|
||||
"Request failed, Nextcloud is in currently in maintenance mode!" : "请求失败,Nextcloud 现处于维护模式!",
|
||||
"News feeds" : "新闻源",
|
||||
"Unread articles" : "未读文章",
|
||||
"News" : "新闻",
|
||||
"News folders" : "News 文件夹",
|
||||
"Shared with me" : "和我分享",
|
||||
"An RSS/Atom feed reader" : "一个 RSS/Atom 订阅源阅读器",
|
||||
"Last job ran {relativeTime}." : "上次任务执行于 {relativeTime}。",
|
||||
"Use system cron for updates" : "使用系统计划任务执行更新",
|
||||
"News folders" : "新闻文件夹",
|
||||
"News articles" : "新闻文章",
|
||||
"Shared with me" : "与我分享",
|
||||
"An RSS/Atom feed reader" : "一个RSS/Atom订阅源阅读器",
|
||||
"Last job execution ran {relativeTime}. Something seems wrong." : "上次任务执行于{relativeTime}。但似乎有些问题。",
|
||||
"Last job ran {relativeTime}." : "上次任务执行于{relativeTime}。",
|
||||
"Use system cron for updates" : "使用系统cron计划任务执行更新",
|
||||
"Disable this if you use a custom updater." : "如果你使用自定义更新器则禁用它",
|
||||
"Maximum read count per feed" : "每个订阅源的最大读取次数",
|
||||
"Maximum read count per feed" : "每个订阅源的最大阅读次数",
|
||||
"Defines the maximum amount of articles that can be read per feed which will not be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off." : "定义每个信息流可以读取、清理任务不会删除的最大文章数;如果旧文章在阅读后又重新出现,请增加此值。类似-1这样的负值将会将此功能关闭。",
|
||||
"Delete unread articles automatically" : "自动删除未读文章",
|
||||
"Enable this if you also want to delete unread articles." : "如果您还想删除未读文章,请启用此功能。",
|
||||
"Maximum redirects" : "最大重定向次数",
|
||||
"How many redirects the feed fetcher should follow." : "订阅源获取器最多应跟随多少次重定向。",
|
||||
"Feed fetcher timeout" : "订阅源获取器超时",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "最长的等待 RSS 或 Atom 订阅源加载的秒数;如果比这个时间更长更新将会中止。",
|
||||
"Maximum number of seconds to wait for an RSS or Atom feed to load; if it takes longer the update will be aborted." : "最长的等待RSS或Atom订阅源加载的秒数;如果比这个时间更长更新将会中止。",
|
||||
"Explore Service URL" : "资源管理服务URL",
|
||||
"If given, this service's URL will be queried for displaying the feeds in the explore feed section. To fall back to the built in explore service, leave this input empty." : "如果给出,则会在查询订阅源部分中查询此服务的 URL 以显示订阅源。要回到内置的探索服务,请将此输入留空。",
|
||||
"Update interval" : "更新间隔",
|
||||
"Interval in seconds in which the feeds will be updated." : "订阅源更新的时间间隔(以秒为单位)。",
|
||||
"Successfully updated news configuration" : "成功更新新闻设置",
|
||||
"Unable to update news config" : "无法更新新闻设置",
|
||||
"Download" : "下载",
|
||||
"Close" : "关闭",
|
||||
"Subscribe to" : "订阅",
|
||||
"No articles available" : "没有文章可用",
|
||||
"No unread articles available" : "没有未读的文章可用",
|
||||
"Open website" : "打开网站",
|
||||
"Star article" : "文章加星",
|
||||
"Unstar article" : "取消文章加星",
|
||||
"Star article" : "星标文章",
|
||||
"Unstar article" : "取消星标文章",
|
||||
"Keep article unread" : "保持文章未读",
|
||||
"Remove keep article unread" : "取消保持文章未读",
|
||||
"Share" : "分享",
|
||||
@@ -52,19 +60,19 @@
|
||||
"Jump to next article" : "跳到下一个文章",
|
||||
"left" : "左",
|
||||
"Jump to previous article" : "跳到上一个文章",
|
||||
"Toggle star article" : "切换文章加星状态",
|
||||
"Star article and jump to next one" : "文章加星并跳到下一个",
|
||||
"Toggle star article" : "切换文章星标状态",
|
||||
"Star article and jump to next one" : "星标文章并跳到下一个",
|
||||
"Toggle keep current article unread" : "切换保持文章未读状态设置",
|
||||
"Open article in new tab" : "在新标签页中打开文章",
|
||||
"Toggle expand article in compact view" : "在紧凑视图中展开文章",
|
||||
"Refresh" : "刷新",
|
||||
"Load next feed" : "加载下一个订阅源",
|
||||
"Load previous feed" : "加载上一个订阅源",
|
||||
"Load previous folder" : "装载前一目录",
|
||||
"Load next folder" : "装载下一目录",
|
||||
"Load previous folder" : "加载前一文件夹",
|
||||
"Load next folder" : "加载下一文件夹",
|
||||
"Scroll to active navigation entry" : "滚动来激活浏览项目",
|
||||
"Mark current article's feed/folder read" : "标记当前文章的订阅源 / 文件夹为已读",
|
||||
"Ajax or webcron mode detected! Your feeds will not be updated!" : "检测到 Ajax 或 webcron 模式!您的订阅源将无法被更新!",
|
||||
"Ajax or webcron mode detected! Your feeds will not be updated!" : "检测到Ajax或Webcron 模式!您的订阅源将无法被更新!",
|
||||
"How to set up the operating system cron" : "如何设置操作系统定时任务",
|
||||
"Install and set up a faster parallel updater that uses the News app's update API" : "安装并设置一个更快速的更新程序,它使用新闻应用程序更新API",
|
||||
"Subscribe" : "订阅",
|
||||
@@ -93,7 +101,7 @@
|
||||
"Pin to top" : "固定在顶端",
|
||||
"Newest first" : "按时间顺序",
|
||||
"Oldest first" : "按时间倒序",
|
||||
"Default order" : "删除订阅",
|
||||
"Default order" : "默认排序",
|
||||
"Enable full text" : "启用全文模式",
|
||||
"Disable full text" : "禁用全文模式",
|
||||
"Unread updated" : "未读更新",
|
||||
@@ -111,17 +119,17 @@
|
||||
"Compact view" : "紧凑视图",
|
||||
"Expand articles on key navigation" : "按键浏览时展开文章",
|
||||
"Show all articles" : "显示全部文章",
|
||||
"Reverse ordering (oldest on top)" : "逆序(最早文章先显示)",
|
||||
"Reverse ordering (oldest on top)" : "反向排序(旧文章在上)",
|
||||
"Subscriptions (OPML)" : "订阅(OPML)",
|
||||
"Import" : "导入",
|
||||
"Export" : "导出",
|
||||
"Error when importing: File does not contain valid OPML" : "导入时出错:文件不包含有效的 OPML",
|
||||
"Error when importing: OPML is does neither contain feeds nor folders" : "导入错误:OPML 未包含订阅源或文件夹",
|
||||
"Error when importing: File does not contain valid OPML" : "导入时出错:文件不包含有效的OPML",
|
||||
"Error when importing: OPML is does neither contain feeds nor folders" : "导入错误:OPML未包含订阅源或文件夹",
|
||||
"Unread/Starred Articles" : "未读/已加星标文章",
|
||||
"Error when importing: file does not contain valid JSON" : "导入出错:文件包含非法的 JSON 数据",
|
||||
"Error when importing: file does not contain valid JSON" : "导入出错:文件包含非法的JSON数据",
|
||||
"Help" : "帮助",
|
||||
"Keyboard shortcuts" : "快捷键",
|
||||
"Documentation" : "文档",
|
||||
"Report a bug" : "报告 "
|
||||
"Report a bug" : "报告问题"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
@@ -24,11 +24,11 @@ use OCA\News\Hooks\UserDeleteHook;
|
||||
use OCA\News\Search\FeedSearchProvider;
|
||||
use OCA\News\Search\FolderSearchProvider;
|
||||
use OCA\News\Search\ItemSearchProvider;
|
||||
use OCA\News\Utility\Cache;
|
||||
|
||||
use OCP\AppFramework\Bootstrap\IBootContext;
|
||||
use OCP\AppFramework\Bootstrap\IBootstrap;
|
||||
use OCP\AppFramework\Bootstrap\IRegistrationContext;
|
||||
use OCP\ITempManager;
|
||||
use OCP\AppFramework\App;
|
||||
|
||||
use OCA\News\Fetcher\FeedFetcher;
|
||||
@@ -92,15 +92,9 @@ class Application extends App implements IBootstrap
|
||||
$context->registerParameter('exploreDir', __DIR__ . '/../Explore/feeds');
|
||||
|
||||
$context->registerService(HTMLPurifier::class, function (ContainerInterface $c): HTMLPurifier {
|
||||
$directory = $c->get(ITempManager::class)->getTempBaseDir() . '/news/cache/purifier';
|
||||
|
||||
if (!is_dir($directory)) {
|
||||
mkdir($directory, 0770, true);
|
||||
}
|
||||
|
||||
$config = HTMLPurifier_Config::createDefault();
|
||||
$config->set('HTML.ForbiddenAttributes', 'class');
|
||||
$config->set('Cache.SerializerPath', $directory);
|
||||
$config->set('Cache.SerializerPath', $c->get(Cache::class)->getCache("purifier"));
|
||||
$config->set('HTML.SafeIframe', true);
|
||||
$config->set(
|
||||
'URI.SafeIframeRegexp',
|
||||
@@ -140,7 +134,7 @@ class Application extends App implements IBootstrap
|
||||
|
||||
$context->registerService(Favicon::class, function (ContainerInterface $c): Favicon {
|
||||
$favicon = new Favicon();
|
||||
$favicon->cache(['dir' => $c->get(ITempManager::class)->getTempBaseDir()]);
|
||||
$favicon->cache(['dir' => $c->get(Cache::class)->getCache("feedFavicon")]);
|
||||
return $favicon;
|
||||
});
|
||||
}
|
||||
|
76
lib/Command/Updater/Job.php
Normal file
76
lib/Command/Updater/Job.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
/**
|
||||
* Nextcloud - News
|
||||
*
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later. See the COPYING file.
|
||||
*/
|
||||
|
||||
namespace OCA\News\Command\Updater;
|
||||
|
||||
use DateTime;
|
||||
use OCP\Util;
|
||||
use OCA\News\Service\StatusService;
|
||||
use OCA\News\Service\UpdaterService;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class Job extends Command
|
||||
{
|
||||
/**
|
||||
* @var StatusService Status service
|
||||
*/
|
||||
private $statusService;
|
||||
|
||||
/**
|
||||
* @var UpdaterService Update service
|
||||
*/
|
||||
private $updaterService;
|
||||
|
||||
public function __construct(StatusService $statusService, UpdaterService $updaterService)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->statusService = $statusService;
|
||||
$this->updaterService = $updaterService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
protected function configure()
|
||||
{
|
||||
$this->setName('news:updater:job')
|
||||
->addOption(
|
||||
'reset',
|
||||
null,
|
||||
InputOption::VALUE_NONE,
|
||||
'If the job should be reset, warning this might lead to issues.'
|
||||
)
|
||||
->setDescription('Console API for checking the update job status and to reset it.');
|
||||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int
|
||||
{
|
||||
$reset = (bool) $input->getOption('reset');
|
||||
|
||||
[$major, $minor, $micro] = Util::getVersion();
|
||||
|
||||
if ($major < 26) {
|
||||
$output->writeln("Error: This only works with Nextcloud 26 or newer.");
|
||||
return 1;
|
||||
}
|
||||
$output->writeln("Checking update Status");
|
||||
$date = new DateTime();
|
||||
$date->setTimestamp($this->statusService->getUpdateTime());
|
||||
$output->writeln("Last Execution was ".$date->format('Y-m-d H:i:s e'));
|
||||
|
||||
if ($reset) {
|
||||
$output->writeln("Attempting to reset the job.");
|
||||
$this->updaterService->reset();
|
||||
$output->writeln("Done, job should execute on next schedule.");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
@@ -94,6 +94,29 @@ class FetcherConfig
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks for available encoding options
|
||||
*
|
||||
* @return String list of supported encoding types
|
||||
*/
|
||||
public function checkEncoding()
|
||||
{
|
||||
$supportedEncoding = [];
|
||||
|
||||
// check curl features
|
||||
$curl_features = curl_version()["features"];
|
||||
|
||||
$bitfields = array('CURL_VERSION_LIBZ' => ['gzip', 'deflate'], 'CURL_VERSION_BROTLI' => ['br']);
|
||||
|
||||
foreach ($bitfields as $feature => $header) {
|
||||
// checking available features via the 'features' bitmask and adding available types to the list
|
||||
if (defined($feature) && $curl_features & constant($feature)) {
|
||||
$supportedEncoding = array_merge($supportedEncoding, $header);
|
||||
}
|
||||
}
|
||||
return implode(", ", $supportedEncoding);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure a guzzle client
|
||||
*
|
||||
@@ -103,7 +126,11 @@ class FetcherConfig
|
||||
{
|
||||
$config = [
|
||||
'timeout' => $this->client_timeout,
|
||||
'headers' => ['User-Agent' => static::DEFAULT_USER_AGENT, 'Accept' => static::DEFAULT_ACCEPT],
|
||||
'headers' => [
|
||||
'User-Agent' => static::DEFAULT_USER_AGENT,
|
||||
'Accept' => static::DEFAULT_ACCEPT,
|
||||
'Accept-Encoding' => $this->checkEncoding()
|
||||
],
|
||||
];
|
||||
|
||||
if (!is_null($this->proxy)) {
|
||||
|
@@ -96,6 +96,7 @@ class PageController extends Controller
|
||||
$csp->addAllowedImageDomain('*')
|
||||
->addAllowedMediaDomain('*')
|
||||
->addAllowedConnectDomain('*')// chrome breaks on audio elements
|
||||
->allowEvalScript(true)
|
||||
->addAllowedFrameDomain('https://youtube.com')
|
||||
->addAllowedFrameDomain('https://www.youtube.com')
|
||||
->addAllowedFrameDomain('https://player.vimeo.com')
|
||||
|
@@ -360,6 +360,10 @@ class Item extends Entity implements IAPI, \JsonSerializable
|
||||
return json_decode($this->getCategoriesJson());
|
||||
}
|
||||
|
||||
public function getWordCount(): int {
|
||||
return self::countWords(strip_tags($this->getBody()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns entity attributes into an array
|
||||
*/
|
||||
@@ -384,11 +388,12 @@ class Item extends Entity implements IAPI, \JsonSerializable
|
||||
'starred' => $this->isStarred(),
|
||||
'lastModified' => $this->getLastModified(),
|
||||
'rtl' => $this->getRtl(),
|
||||
'intro' => $this->getIntro(),
|
||||
'intro' => mb_substr($this->getIntro(), 0, 500),
|
||||
'fingerprint' => $this->getFingerprint(),
|
||||
'categories' => $this->getCategories(),
|
||||
'sharedBy' => $this->getSharedBy(),
|
||||
'sharedByDisplayName' => $this->getSharedByDisplayName()
|
||||
'sharedByDisplayName' => $this->getSharedByDisplayName(),
|
||||
'wordCount' => $this->getWordCount(),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -755,4 +760,11 @@ class Item extends Entity implements IAPI, \JsonSerializable
|
||||
stripos($mime, 'image/') !== false ||
|
||||
stripos($mime, 'video/') !== false));
|
||||
}
|
||||
|
||||
private static function countWords(string $text): int
|
||||
{
|
||||
$text = preg_replace('/[\pP\pM]/u', '', $text); // strip punctuation (P) and combination marks (M)
|
||||
$text = preg_replace('/[^\pL\pN]+/u', ' ', $text); // convert every sequence of non-letters (L) and non-numbers (N) to a space
|
||||
return 1 + substr_count($text, ' ');
|
||||
}
|
||||
}
|
||||
|
@@ -39,13 +39,13 @@ class FeedIoClient implements ClientInterface
|
||||
|
||||
/**
|
||||
* @param string $url
|
||||
* @param DateTime $modifiedSince
|
||||
* @param DateTime|null $modifiedSince
|
||||
*
|
||||
* @return ResponseInterface
|
||||
* @throws ServerErrorException|GuzzleException
|
||||
* @throws NotFoundException
|
||||
*/
|
||||
public function getResponse(string $url, DateTime $modifiedSince) : ResponseInterface
|
||||
public function getResponse(string $url, ?DateTime $modifiedSince = null) : ResponseInterface
|
||||
{
|
||||
$modifiedSince->setTimezone(new \DateTimeZone('GMT'));
|
||||
try {
|
||||
@@ -65,7 +65,7 @@ class FeedIoClient implements ClientInterface
|
||||
case 404:
|
||||
throw new NotFoundException($e->getMessage());
|
||||
default:
|
||||
throw new ServerErrorException($e->getMessage());
|
||||
throw new ServerErrorException($e->getResponse());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -30,6 +30,7 @@ use OCP\ITempManager;
|
||||
use OCA\News\Db\Item;
|
||||
use OCA\News\Db\Feed;
|
||||
use OCA\News\Utility\Time;
|
||||
use OCA\News\Utility\Cache;
|
||||
use OCA\News\Scraper\Scraper;
|
||||
use OCA\News\Config\FetcherConfig;
|
||||
use Psr\Log\LoggerInterface;
|
||||
@@ -58,11 +59,6 @@ class FeedFetcher implements IFeedFetcher
|
||||
*/
|
||||
private $l10n;
|
||||
|
||||
/**
|
||||
* @var ITempManager
|
||||
*/
|
||||
private $ITempManager;
|
||||
|
||||
/**
|
||||
* @var Time
|
||||
*/
|
||||
@@ -73,22 +69,34 @@ class FeedFetcher implements IFeedFetcher
|
||||
*/
|
||||
private $logger;
|
||||
|
||||
/**
|
||||
* @var FetcherConfig
|
||||
*/
|
||||
private $fetcherConfig;
|
||||
|
||||
/**
|
||||
* @var Cache
|
||||
*/
|
||||
private $cache;
|
||||
|
||||
public function __construct(
|
||||
FeedIo $fetcher,
|
||||
Favicon $favicon,
|
||||
Scraper $scraper,
|
||||
IL10N $l10n,
|
||||
ITempManager $ITempManager,
|
||||
Time $time,
|
||||
LoggerInterface $logger
|
||||
LoggerInterface $logger,
|
||||
FetcherConfig $fetcherConfig,
|
||||
Cache $cache
|
||||
) {
|
||||
$this->reader = $fetcher;
|
||||
$this->faviconFactory = $favicon;
|
||||
$this->scraper = $scraper;
|
||||
$this->l10n = $l10n;
|
||||
$this->ITempManager = $ITempManager;
|
||||
$this->time = $time;
|
||||
$this->logger = $logger;
|
||||
$this->fetcherConfig = $fetcherConfig;
|
||||
$this->cache = $cache;
|
||||
}
|
||||
|
||||
|
||||
@@ -127,7 +135,7 @@ class FeedFetcher implements IFeedFetcher
|
||||
$lastModified = null;
|
||||
}
|
||||
$url = $url2->getNormalizedURL();
|
||||
$this->reader->resetFilters();
|
||||
|
||||
$resource = $this->reader->read($url, null, $lastModified);
|
||||
|
||||
$location = $resource->getUrl();
|
||||
@@ -388,8 +396,10 @@ class FeedFetcher implements IFeedFetcher
|
||||
return is_string($return) ? $return : null;
|
||||
}
|
||||
|
||||
// logo will be saved in the tmp folder provided by Nextcloud, file is named as md5 of the url
|
||||
$favicon_path = join(DIRECTORY_SEPARATOR, [$this->ITempManager->getTempBaseDir(), md5($favicon)]);
|
||||
$logo_cache = $this->cache->getCache("feedLogo");
|
||||
|
||||
// file name of the logo is md5 of the url
|
||||
$favicon_path = join(DIRECTORY_SEPARATOR, [$logo_cache, md5($favicon)]);
|
||||
$downloaded = false;
|
||||
|
||||
if (file_exists($favicon_path)) {
|
||||
@@ -409,7 +419,8 @@ class FeedFetcher implements IFeedFetcher
|
||||
'headers' => [
|
||||
'User-Agent' => FetcherConfig::DEFAULT_USER_AGENT,
|
||||
'Accept' => 'image/*',
|
||||
'If-Modified-Since' => date(DateTime::RFC7231, $last_modified)
|
||||
'If-Modified-Since' => date(DateTime::RFC7231, $last_modified),
|
||||
'Accept-Encoding' => $this->fetcherConfig->checkEncoding()
|
||||
]
|
||||
]
|
||||
);
|
||||
|
@@ -92,12 +92,8 @@ class StatusService
|
||||
|
||||
$time = 0;
|
||||
|
||||
[$major, $minor, $micro] = Util::getVersion();
|
||||
|
||||
if ($major >= 26) {
|
||||
$myJobList = $this->jobList->getJobsIterator(UpdaterJob::class, 1, 0);
|
||||
$time = $myJobList->current()->getLastRun();
|
||||
}
|
||||
|
||||
return $time;
|
||||
}
|
||||
|
@@ -14,6 +14,9 @@
|
||||
|
||||
namespace OCA\News\Service;
|
||||
|
||||
use OCP\BackgroundJob\IJobList;
|
||||
use OCA\News\Cron\UpdaterJob;
|
||||
|
||||
class UpdaterService
|
||||
{
|
||||
|
||||
@@ -32,14 +35,19 @@ class UpdaterService
|
||||
*/
|
||||
private $itemService;
|
||||
|
||||
/** @var IJobList */
|
||||
private $jobList;
|
||||
|
||||
public function __construct(
|
||||
FolderServiceV2 $folderService,
|
||||
FeedServiceV2 $feedService,
|
||||
ItemServiceV2 $itemService
|
||||
ItemServiceV2 $itemService,
|
||||
IJobList $jobList
|
||||
) {
|
||||
$this->folderService = $folderService;
|
||||
$this->feedService = $feedService;
|
||||
$this->itemService = $itemService;
|
||||
$this->jobList = $jobList;
|
||||
}
|
||||
|
||||
|
||||
@@ -60,4 +68,14 @@ class UpdaterService
|
||||
{
|
||||
$this->itemService->purgeOverThreshold();
|
||||
}
|
||||
|
||||
public function reset(): int
|
||||
{
|
||||
$myJobList = $this->jobList->getJobsIterator(UpdaterJob::class, 1, 0);
|
||||
$job = $myJobList->current();
|
||||
|
||||
$this->jobList->resetBackgroundJob($job);
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
59
lib/Utility/Cache.php
Normal file
59
lib/Utility/Cache.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* Nextcloud - News
|
||||
*
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later. See the COPYING file.
|
||||
*
|
||||
* @author Benjamin Brahmer <info@b-brahmer.de>
|
||||
* @copyright 2023 Benjamin Brahmer
|
||||
*/
|
||||
namespace OCA\News\Utility;
|
||||
|
||||
use OCP\ITempManager;
|
||||
use OCP\IConfig;
|
||||
|
||||
class Cache
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* @var ITempManager
|
||||
*/
|
||||
private $ITempManager;
|
||||
|
||||
/**
|
||||
* @var IConfig
|
||||
*/
|
||||
private $IConfig;
|
||||
|
||||
|
||||
public function __construct(
|
||||
ITempManager $ITempManager,
|
||||
IConfig $IConfig
|
||||
) {
|
||||
$this->ITempManager = $ITempManager;
|
||||
$this->IConfig = $IConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a news app cache directory
|
||||
*
|
||||
* @param String $name for the sub-directory, is created if not existing
|
||||
*
|
||||
* @return String $directory The path for the cache
|
||||
*/
|
||||
public function getCache(String $name): String
|
||||
{
|
||||
$baseDir = $this->ITempManager->getTempBaseDir();
|
||||
$instanceID = $this->IConfig->getSystemValue('instanceid');
|
||||
|
||||
$directory = join(DIRECTORY_SEPARATOR, [$baseDir, "news-" . $instanceID, 'cache', $name]);
|
||||
|
||||
if (!is_dir($directory)) {
|
||||
mkdir($directory, 0770, true);
|
||||
}
|
||||
|
||||
return $directory;
|
||||
}
|
||||
}
|
@@ -11,8 +11,9 @@ nav:
|
||||
- clients.md
|
||||
- admin.md
|
||||
- developer.md
|
||||
- faq.md
|
||||
- troubleshooting.md
|
||||
- Features:
|
||||
- Integration: features/integration.md
|
||||
- Custom CSS: features/customCSS.md
|
||||
- Plugins: features/plugins.md
|
||||
- Themes: features/themes.md
|
||||
|
38
package-lock.json
generated
38
package-lock.json
generated
@@ -6366,18 +6366,24 @@
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/fast-xml-parser": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.3.tgz",
|
||||
"integrity": "sha512-LsNDahCiCcJPe8NO7HijcnukHB24tKbfDDA5IILx9dmW3Frb52lhbeX6MPNUSvyGNfav2VTYpJ/OqkRoVLrh2Q==",
|
||||
"version": "4.2.5",
|
||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz",
|
||||
"integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "paypal",
|
||||
"url": "https://paypal.me/naturalintelligence"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/NaturalIntelligence"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"strnum": "^1.0.5"
|
||||
},
|
||||
"bin": {
|
||||
"fxparser": "src/cli/cli.js"
|
||||
},
|
||||
"funding": {
|
||||
"type": "paypal",
|
||||
"url": "https://paypal.me/naturalintelligence"
|
||||
}
|
||||
},
|
||||
"node_modules/fastest-levenshtein": {
|
||||
@@ -13232,9 +13238,9 @@
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/word-wrap": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
|
||||
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
|
||||
"integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
@@ -18206,9 +18212,9 @@
|
||||
"peer": true
|
||||
},
|
||||
"fast-xml-parser": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.3.tgz",
|
||||
"integrity": "sha512-LsNDahCiCcJPe8NO7HijcnukHB24tKbfDDA5IILx9dmW3Frb52lhbeX6MPNUSvyGNfav2VTYpJ/OqkRoVLrh2Q==",
|
||||
"version": "4.2.5",
|
||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz",
|
||||
"integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==",
|
||||
"requires": {
|
||||
"strnum": "^1.0.5"
|
||||
}
|
||||
@@ -23230,9 +23236,9 @@
|
||||
"peer": true
|
||||
},
|
||||
"word-wrap": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
|
||||
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
|
||||
"integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
|
@@ -62,6 +62,9 @@
|
||||
{{ item.pubDate*1000 | relativeTimestamp }}
|
||||
</time>
|
||||
</li>
|
||||
<li class="only-in-compact">
|
||||
<span class="date">{{ item.wordCount }} words</span>
|
||||
</li>
|
||||
<li ng-click="Content.toggleStar(item.id)"
|
||||
class="util"
|
||||
news-stop-propagation>
|
||||
|
@@ -28,11 +28,13 @@ use \OCA\News\Db\Feed;
|
||||
use \OCA\News\Db\Item;
|
||||
use OCA\News\Scraper\Scraper;
|
||||
use OCA\News\Fetcher\FeedFetcher;
|
||||
use GuzzleHttp\Client;
|
||||
use OCA\News\Config\FetcherConfig;
|
||||
|
||||
use OCA\News\Utility\Time;
|
||||
use OCA\News\Utility\Cache;
|
||||
use OCP\IL10N;
|
||||
use OCP\ITempManager;
|
||||
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Psr\Log\LoggerInterface;
|
||||
@@ -82,11 +84,6 @@ class FeedFetcherTest extends TestCase
|
||||
*/
|
||||
private $l10n;
|
||||
|
||||
/**
|
||||
* @var MockObject|ITempManager
|
||||
*/
|
||||
private $ITempManager;
|
||||
|
||||
/**
|
||||
* @var MockObject|ItemInterface
|
||||
*/
|
||||
@@ -108,9 +105,14 @@ class FeedFetcherTest extends TestCase
|
||||
private $scraper;
|
||||
|
||||
/**
|
||||
* @var MockObject|Client
|
||||
* @var MockObject|FetcherConfig
|
||||
*/
|
||||
private $client;
|
||||
private $fetcherConfig;
|
||||
|
||||
/**
|
||||
* @var MockObject|Cache
|
||||
*/
|
||||
private $cache;
|
||||
|
||||
//metadata
|
||||
/**
|
||||
@@ -158,9 +160,6 @@ class FeedFetcherTest extends TestCase
|
||||
$this->l10n = $this->getMockBuilder(IL10N::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->ITempManager = $this->getMockBuilder(ITempManager::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->reader = $this->getMockBuilder(FeedIo::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
@@ -194,7 +193,10 @@ class FeedFetcherTest extends TestCase
|
||||
$this->scraper = $this->getMockBuilder(Scraper::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->client = $this->getMockBuilder(Client::class)
|
||||
$this->fetcherConfig = $this->getMockBuilder(FetcherConfig::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->cache = $this->getMockBuilder(Cache::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->fetcher = new FeedFetcher(
|
||||
@@ -202,10 +204,10 @@ class FeedFetcherTest extends TestCase
|
||||
$this->favicon,
|
||||
$this->scraper,
|
||||
$this->l10n,
|
||||
$this->ITempManager,
|
||||
$timeFactory,
|
||||
$this->logger,
|
||||
$this->client
|
||||
$this->fetcherConfig,
|
||||
$this->cache
|
||||
);
|
||||
$this->url = 'http://tests/';
|
||||
|
||||
|
@@ -18,6 +18,8 @@ use OCA\News\Service\FolderServiceV2;
|
||||
use OCA\News\Service\ItemServiceV2;
|
||||
use OCA\News\Service\UpdaterService;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use OCP\BackgroundJob\IJobList;
|
||||
use OCP\BackgroundJob\IJob;
|
||||
|
||||
class UpdaterTest extends TestCase
|
||||
{
|
||||
@@ -42,6 +44,11 @@ class UpdaterTest extends TestCase
|
||||
*/
|
||||
private $updater;
|
||||
|
||||
/**
|
||||
* @var \PHPUnit\Framework\MockObject\MockObject|IJobList
|
||||
*/
|
||||
private $jobList;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->folderService = $this->getMockBuilder(FolderServiceV2::class)
|
||||
@@ -53,10 +60,14 @@ class UpdaterTest extends TestCase
|
||||
$this->itemService = $this->getMockBuilder(ItemServiceV2::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->jobList = $this->getMockBuilder(IJobList::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->updater = new UpdaterService(
|
||||
$this->folderService,
|
||||
$this->feedService,
|
||||
$this->itemService
|
||||
$this->itemService,
|
||||
$this->jobList
|
||||
);
|
||||
}
|
||||
|
||||
@@ -83,4 +94,5 @@ class UpdaterTest extends TestCase
|
||||
->method('fetchAll');
|
||||
$this->updater->update();
|
||||
}
|
||||
|
||||
}
|
21
tests/command/update.bats
Normal file
21
tests/command/update.bats
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
# This only works with NC 26
|
||||
|
||||
load "helpers/settings"
|
||||
load "../test_helper/bats-support/load"
|
||||
load "../test_helper/bats-assert/load"
|
||||
|
||||
TESTSUITE="Update"
|
||||
|
||||
@test "[$TESTSUITE] Job status" {
|
||||
run ./occ news:updater:job
|
||||
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "[$TESTSUITE] Job reset" {
|
||||
run ./occ news:updater:job --reset
|
||||
|
||||
assert_success
|
||||
}
|
Submodule tests/test_helper/bats-assert updated: 78fa631d13...ffe84ea5dd
Submodule tests/test_helper/php-feed-generator updated: 7cc1604810...50b6010a2e
@@ -43,10 +43,16 @@ teardown() {
|
||||
@test "[$TESTSUITE] Test simple update" {
|
||||
# Create Feed
|
||||
FEEDID=$(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} POST ${BASE_URLv1}/feeds url=$TEST_FEED | grep -Po '"id":\K([0-9]+)')
|
||||
|
||||
sleep 2
|
||||
|
||||
# Get Items
|
||||
ID_LIST1=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
|
||||
# Trigger Update
|
||||
http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/feeds/update userId=${user} feedId=$FEEDID
|
||||
|
||||
sleep 2
|
||||
|
||||
# Get Items again
|
||||
ID_LIST2=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
|
||||
|
||||
@@ -56,6 +62,9 @@ teardown() {
|
||||
@test "[$TESTSUITE] Test simple update with new content" {
|
||||
# Create Feed
|
||||
FEEDID=$(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} POST ${BASE_URLv1}/feeds url=$TEST_FEED | grep -Po '"id":\K([0-9]+)')
|
||||
|
||||
sleep 2
|
||||
|
||||
# Get Items
|
||||
ID_LIST1=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
|
||||
|
||||
@@ -63,6 +72,36 @@ teardown() {
|
||||
|
||||
# Trigger Update
|
||||
http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/feeds/update userId=${user} feedId=$FEEDID
|
||||
|
||||
sleep 2
|
||||
|
||||
# Get Items again
|
||||
ID_LIST2=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
|
||||
|
||||
output="${ID_LIST2[*]}"
|
||||
|
||||
# Check that they are not equal but that they match partially.
|
||||
assert_not_equal "${ID_LIST1[*]}" "${ID_LIST2[*]}"
|
||||
assert_output --partial "${ID_LIST1[*]}"
|
||||
}
|
||||
|
||||
@test "[$TESTSUITE] Test feed with 'outdated' items https://github.com/nextcloud/news/issues/2236 " {
|
||||
# Create Feed, for the first fetch a timestamp today -1 year is used.
|
||||
FEEDID=$(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} POST ${BASE_URLv1}/feeds url=$TEST_FEED | grep -Po '"id":\K([0-9]+)')
|
||||
|
||||
sleep 2
|
||||
|
||||
# Get Items
|
||||
ID_LIST1=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
|
||||
|
||||
# Generate Feed with older items (-o yes)
|
||||
php ${BATS_TEST_DIRNAME}/../test_helper/php-feed-generator/feed-generator.php -a 15 -s 9 -f ${BATS_TEST_DIRNAME}/../test_helper/feeds/test.xml -o yes
|
||||
|
||||
# Trigger Update
|
||||
http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/feeds/update userId=${user} feedId=$FEEDID
|
||||
|
||||
sleep 2
|
||||
|
||||
# Get Items again
|
||||
ID_LIST2=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
|
||||
|
||||
@@ -139,6 +178,9 @@ teardown() {
|
||||
php ${BATS_TEST_DIRNAME}/../test_helper/php-feed-generator/feed-generator.php -a 210 -f ${BATS_TEST_DIRNAME}/../test_helper/feeds/test.xml
|
||||
# Create Feed
|
||||
FEEDID=$(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} POST ${BASE_URLv1}/feeds url=$TEST_FEED | grep -Po '"id":\K([0-9]+)')
|
||||
|
||||
sleep 2
|
||||
|
||||
# Get Items
|
||||
ID_LIST=($(http --ignore-stdin -b -a ${user}:${APP_PASSWORD} GET ${BASE_URLv1}/items | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
|
||||
|
||||
|
Reference in New Issue
Block a user