mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
Compare commits
512 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fad0aea108 | ||
|
|
0b63773c83 | ||
|
|
3ef28009ac | ||
|
|
8979e2b191 | ||
|
|
2c089ddb5e | ||
|
|
0b5245643a | ||
|
|
ae35d43f7f | ||
|
|
fe55682c9f | ||
|
|
0d3e6f17e2 | ||
|
|
d5659c4278 | ||
|
|
69b87b9026 | ||
|
|
168bcd3a37 | ||
|
|
e3b6be0cd0 | ||
|
|
eeceda0ca8 | ||
|
|
aa903039c8 | ||
|
|
73d81d0cdb | ||
|
|
01fe539af6 | ||
|
|
c08063ca57 | ||
|
|
60d4af2890 | ||
|
|
6378f074a8 | ||
|
|
5082ec86fd | ||
|
|
6cff5bb099 | ||
|
|
d54562d56f | ||
|
|
2b45a8fae5 | ||
|
|
8654df8994 | ||
|
|
4d5145c17e | ||
|
|
850921bca9 | ||
|
|
1dc6470419 | ||
|
|
b5c197f499 | ||
|
|
d417655a86 | ||
|
|
ebca9f8290 | ||
|
|
53b1f89b30 | ||
|
|
6885191877 | ||
|
|
e69d9fe8b8 | ||
|
|
d6a1f1ae15 | ||
|
|
a7813f4442 | ||
|
|
1e4664987a | ||
|
|
7a819f5d58 | ||
|
|
45ef56e9da | ||
|
|
f43c7aa5d0 | ||
|
|
8d88711e59 | ||
|
|
280c0b60e9 | ||
|
|
605f8f6615 | ||
|
|
0e88b4de1b | ||
|
|
b02aa923d7 | ||
|
|
680c927e1d | ||
|
|
4b2e65abdc | ||
|
|
e501bf6b05 | ||
|
|
80bf2582bd | ||
|
|
586da4424d | ||
|
|
8e0e8c2407 | ||
|
|
40461ac883 | ||
|
|
9288a7e66e | ||
|
|
275db4ec72 | ||
|
|
67b2f8968d | ||
|
|
45ce35dfdb | ||
|
|
52aa9ab2fe | ||
|
|
d24725bd55 | ||
|
|
f368a67dec | ||
|
|
564d1744e1 | ||
|
|
d091ecfa5f | ||
|
|
7d23165e14 | ||
|
|
a9ca3278c6 | ||
|
|
e8734710ca | ||
|
|
f8a0e20df9 | ||
|
|
de90e4de54 | ||
|
|
03cb27f69a | ||
|
|
f86f1dd770 | ||
|
|
ec21ffc571 | ||
|
|
c73c9c74ba | ||
|
|
fd3c264d0c | ||
|
|
3983ba6cd0 | ||
|
|
dc0b5bdd11 | ||
|
|
5b3728186e | ||
|
|
8b0936b678 | ||
|
|
b99e81a389 | ||
|
|
0b8fb0f9a7 | ||
|
|
7d5bbe0130 | ||
|
|
c6637c6814 | ||
|
|
e302a011bb | ||
|
|
25f8bdaa28 | ||
|
|
e7d1018cbc | ||
|
|
e81fa69a03 | ||
|
|
176e76ad2d | ||
|
|
0925a91089 | ||
|
|
c04d0b147c | ||
|
|
a349eff1a3 | ||
|
|
2ddeda9a27 | ||
|
|
00b0fe921f | ||
|
|
bcc6cdf4b1 | ||
|
|
ba46cc3cd6 | ||
|
|
ed1bf609b8 | ||
|
|
13262b678d | ||
|
|
cf9321de23 | ||
|
|
ac7a78bdc0 | ||
|
|
640d3f1f6e | ||
|
|
d716a8081c | ||
|
|
1cec4e68b1 | ||
|
|
9d16299c5b | ||
|
|
cb92b1969c | ||
|
|
55a62d393d | ||
|
|
027b2252db | ||
|
|
ccfb88ddcc | ||
|
|
dde0736fcf | ||
|
|
6498bb5ee6 | ||
|
|
d7ca2db330 | ||
|
|
99b32795a5 | ||
|
|
840f670d5d | ||
|
|
e3c0a4c665 | ||
|
|
915506527a | ||
|
|
7541251344 | ||
|
|
40c9b42b24 | ||
|
|
dfab678070 | ||
|
|
3d371d5942 | ||
|
|
9bfbaa8ded | ||
|
|
be0fc95c45 | ||
|
|
dcb6113eb7 | ||
|
|
55491651f6 | ||
|
|
c1d471ebdc | ||
|
|
069e675f19 | ||
|
|
d34f719a4f | ||
|
|
4eb932a3f0 | ||
|
|
1ab27f2626 | ||
|
|
7d3ce7e602 | ||
|
|
cf530b2c60 | ||
|
|
d9bcd7f592 | ||
|
|
8b854b5cda | ||
|
|
f7b6677bb1 | ||
|
|
0cc5e8f5b8 | ||
|
|
8d153e3b2b | ||
|
|
d15428971c | ||
|
|
f34c2aa437 | ||
|
|
9b3ff5f81f | ||
|
|
e1f6937802 | ||
|
|
0c0834b30f | ||
|
|
5ad4b97205 | ||
|
|
c4ec249bc4 | ||
|
|
cf8d3965d5 | ||
|
|
3903fd9374 | ||
|
|
77d59dabe8 | ||
|
|
56ca737297 | ||
|
|
9edb539be3 | ||
|
|
31a773d200 | ||
|
|
61355eabf7 | ||
|
|
569874e51f | ||
|
|
00d47901fc | ||
|
|
d8b4ef55ce | ||
|
|
da41a4cab9 | ||
|
|
8a90ef0471 | ||
|
|
b4ab32a578 | ||
|
|
03aa53abc8 | ||
|
|
2ae5c0cd8e | ||
|
|
cacc632443 | ||
|
|
28f865ccfa | ||
|
|
a4c949e8b3 | ||
|
|
6098994397 | ||
|
|
5763ca30d6 | ||
|
|
7d039d1001 | ||
|
|
7fe74af906 | ||
|
|
80b72aa30b | ||
|
|
3ba0d241f9 | ||
|
|
67428aa0c7 | ||
|
|
b9a0256031 | ||
|
|
f3c2296636 | ||
|
|
b6e8f21975 | ||
|
|
284f80045f | ||
|
|
f589477aa8 | ||
|
|
29cb296d09 | ||
|
|
86caa1450a | ||
|
|
9dd4b9e67f | ||
|
|
e2e654f05b | ||
|
|
72dbc62b41 | ||
|
|
0a21014668 | ||
|
|
b6d9d2a26c | ||
|
|
25c3a7748c | ||
|
|
b2bcfdd6eb | ||
|
|
2a978db406 | ||
|
|
9e40d0d066 | ||
|
|
c912650d59 | ||
|
|
464ebcb471 | ||
|
|
463e0e59d7 | ||
|
|
b4e5d8ef20 | ||
|
|
126905aeb3 | ||
|
|
1af10d3364 | ||
|
|
6ad854c019 | ||
|
|
b30117aa4d | ||
|
|
5a66482d1e | ||
|
|
2628ec49bb | ||
|
|
f3d15cf173 | ||
|
|
bbcf55ce57 | ||
|
|
72fc3716e7 | ||
|
|
81a6cfaa88 | ||
|
|
aed5165ef3 | ||
|
|
eaf2933726 | ||
|
|
39da4d9d36 | ||
|
|
e5ebd7ff39 | ||
|
|
b6ae3e4e1e | ||
|
|
32d1488352 | ||
|
|
b08d0a388f | ||
|
|
7fe004a696 | ||
|
|
f620d033b0 | ||
|
|
ba071ba71f | ||
|
|
6f3197302d | ||
|
|
131a8ebf68 | ||
|
|
8b24c125c2 | ||
|
|
52293376ec | ||
|
|
f8ac59af6a | ||
|
|
5c791e2305 | ||
|
|
6641bc0631 | ||
|
|
da690aa750 | ||
|
|
fb7f041454 | ||
|
|
ec4554c76e | ||
|
|
068e85fe6e | ||
|
|
ba926c674e | ||
|
|
836f8f14c0 | ||
|
|
eeecac96e1 | ||
|
|
ecc62f222a | ||
|
|
9022f93811 | ||
|
|
e7225d35b2 | ||
|
|
454fc03038 | ||
|
|
9c0674fd83 | ||
|
|
7a20482ddf | ||
|
|
32ad47ba16 | ||
|
|
fc562cce0f | ||
|
|
b029b251db | ||
|
|
e3e28e727f | ||
|
|
50cb728db7 | ||
|
|
c654ba4d1b | ||
|
|
846e29b15e | ||
|
|
f2b4062d73 | ||
|
|
9051e6a6db | ||
|
|
b733129043 | ||
|
|
d46b571444 | ||
|
|
7d744b4ce0 | ||
|
|
801dda912c | ||
|
|
a20005409a | ||
|
|
6f1411d075 | ||
|
|
1aa263a6c0 | ||
|
|
9d511ac7dd | ||
|
|
122e98cc76 | ||
|
|
e445e5ea39 | ||
|
|
5b9212015b | ||
|
|
293292f341 | ||
|
|
57d8a4dbb1 | ||
|
|
e104f531f9 | ||
|
|
bf1361926f | ||
|
|
cc4f4d9eb4 | ||
|
|
706bad26f1 | ||
|
|
4ecefe6491 | ||
|
|
937e7353ce | ||
|
|
1dcf76fc0a | ||
|
|
9d794dcad7 | ||
|
|
d11b666755 | ||
|
|
7a444e4861 | ||
|
|
5992795579 | ||
|
|
4441d76a7f | ||
|
|
c1305b56e3 | ||
|
|
cc0440c029 | ||
|
|
f65591c170 | ||
|
|
9a32dce9d1 | ||
|
|
789bd3edae | ||
|
|
256cd426d9 | ||
|
|
58af2da105 | ||
|
|
e0de397273 | ||
|
|
75cc3cf29c | ||
|
|
af60758e2a | ||
|
|
01180e95a2 | ||
|
|
fa683ef7e1 | ||
|
|
462d17a429 | ||
|
|
17f71a40d4 | ||
|
|
de91a3a05a | ||
|
|
ead587ee88 | ||
|
|
62b3e6fb3a | ||
|
|
037ff15045 | ||
|
|
ed35b06934 | ||
|
|
3cfb1a13a7 | ||
|
|
d04745d859 | ||
|
|
58b18f36c5 | ||
|
|
7282d18d8f | ||
|
|
8e58fa22b4 | ||
|
|
58d6eb2c5a | ||
|
|
2f7c7498e2 | ||
|
|
bcf8dcd551 | ||
|
|
511f0a60bb | ||
|
|
72db0d815f | ||
|
|
280d0b7fdd | ||
|
|
42e4575cb7 | ||
|
|
28a4bb403a | ||
|
|
cca3c907db | ||
|
|
1a5b932742 | ||
|
|
a1d3f3008a | ||
|
|
902f2efbd2 | ||
|
|
2e534af146 | ||
|
|
23ca30c3c2 | ||
|
|
517eedad00 | ||
|
|
216ea1fb42 | ||
|
|
640d1a0ce3 | ||
|
|
bba7425b5f | ||
|
|
7a1a49bfb4 | ||
|
|
e451e6698c | ||
|
|
9af3f21404 | ||
|
|
7b14a9c0c2 | ||
|
|
0b65cc9510 | ||
|
|
7879ab9b61 | ||
|
|
e6bebcafb3 | ||
|
|
3b465cebb7 | ||
|
|
aeb211be06 | ||
|
|
ad992aea7b | ||
|
|
d848f72a0b | ||
|
|
0db087908d | ||
|
|
42138d04d6 | ||
|
|
4522a9d0d5 | ||
|
|
7440fcad0e | ||
|
|
fc51c1882f | ||
|
|
e24498b31f | ||
|
|
60fdc79563 | ||
|
|
6729ebc6ea | ||
|
|
c8ff216ce5 | ||
|
|
98c4150cfe | ||
|
|
128332d710 | ||
|
|
eabcb519a4 | ||
|
|
5e14cead3d | ||
|
|
b601f938ff | ||
|
|
4acfda32d0 | ||
|
|
54da4e6839 | ||
|
|
3a6b4c588c | ||
|
|
48071b9fd1 | ||
|
|
f519aa039f | ||
|
|
dc3e5476a1 | ||
|
|
903035ecfc | ||
|
|
13ad57da10 | ||
|
|
44bc24c22a | ||
|
|
97f90405fc | ||
|
|
0fc2a0b022 | ||
|
|
89eb641704 | ||
|
|
c53da9f631 | ||
|
|
998868e63a | ||
|
|
93f22d2351 | ||
|
|
c3782bd7d2 | ||
|
|
f330349397 | ||
|
|
99c973c8c2 | ||
|
|
469420b5bf | ||
|
|
bde556d41f | ||
|
|
bf6c2d7beb | ||
|
|
fa62ca21e0 | ||
|
|
7dcf76da84 | ||
|
|
3dc80fa762 | ||
|
|
dbce12492b | ||
|
|
85f5eaffec | ||
|
|
106276351e | ||
|
|
961fb6a464 | ||
|
|
ac3d9ef57f | ||
|
|
3478ee4815 | ||
|
|
3dc02d7ba1 | ||
|
|
c886f8b83c | ||
|
|
4a2154d0b3 | ||
|
|
ba530d5019 | ||
|
|
85b6209c52 | ||
|
|
7ff86a5e31 | ||
|
|
8edd6a1e2d | ||
|
|
6e65ed49e9 | ||
|
|
711b01abfa | ||
|
|
c7014ca2a1 | ||
|
|
a3984cd959 | ||
|
|
8d85b1bcba | ||
|
|
c451eee406 | ||
|
|
8f42135996 | ||
|
|
2c26aeed17 | ||
|
|
e2c4aa998b | ||
|
|
c9e3b7f349 | ||
|
|
ebb4e52ba7 | ||
|
|
1ddfdfb12e | ||
|
|
81f16aea62 | ||
|
|
429ec193c8 | ||
|
|
732b714448 | ||
|
|
82e0405ad9 | ||
|
|
9ef002fcd1 | ||
|
|
ec938e416c | ||
|
|
37cf711cbc | ||
|
|
de441e4ff7 | ||
|
|
46251526b6 | ||
|
|
67eeea0b06 | ||
|
|
b49ccc4cd9 | ||
|
|
8586a8b57b | ||
|
|
d9f63786a8 | ||
|
|
8f0c8b68b9 | ||
|
|
15e574c5c4 | ||
|
|
fe532242b4 | ||
|
|
fb48ff0858 | ||
|
|
8d850639d7 | ||
|
|
ee73195915 | ||
|
|
72d9dad61b | ||
|
|
fde8dab8cd | ||
|
|
dae5efa787 | ||
|
|
3c067140fd | ||
|
|
4ccbe81e87 | ||
|
|
3d5d93bb72 | ||
|
|
4138b6eb9b | ||
|
|
9c39c95a9b | ||
|
|
32b2bf99a4 | ||
|
|
cf459876af | ||
|
|
6698bd74b5 | ||
|
|
c81d06e5f3 | ||
|
|
b12a78dc84 | ||
|
|
b076587e44 | ||
|
|
bb12f16bea | ||
|
|
e80caadd12 | ||
|
|
846d93f2b2 | ||
|
|
0ed6f6ef9c | ||
|
|
15992dcb80 | ||
|
|
1a5c399b54 | ||
|
|
5e92f9ffb8 | ||
|
|
71164d1b69 | ||
|
|
6947670fe6 | ||
|
|
30810e37b9 | ||
|
|
b17b2767b0 | ||
|
|
d37cf5bbcf | ||
|
|
045baba705 | ||
|
|
3623dc8e1d | ||
|
|
2610c37067 | ||
|
|
286b69a646 | ||
|
|
9673f27090 | ||
|
|
0722599f6d | ||
|
|
1df40d8370 | ||
|
|
457e4ec69e | ||
|
|
647310a45f | ||
|
|
e85c92f216 | ||
|
|
d93b0dbfd4 | ||
|
|
b4e61ef547 | ||
|
|
71dffbba46 | ||
|
|
2c0b0c4e3b | ||
|
|
d868e58e1e | ||
|
|
90eb2095bf | ||
|
|
62d3ed16e6 | ||
|
|
74f7c48818 | ||
|
|
23fe9c29ed | ||
|
|
8f7be8278a | ||
|
|
49118b6ea0 | ||
|
|
d97bd04ae2 | ||
|
|
8d11309b64 | ||
|
|
68c24e4cb8 | ||
|
|
4e43e0235f | ||
|
|
62b79a9625 | ||
|
|
cb0706808c | ||
|
|
ffd5704b1e | ||
|
|
3987077e5a | ||
|
|
2e01a76784 | ||
|
|
8254093f5f | ||
|
|
0b06526756 | ||
|
|
06731ae76d | ||
|
|
9a59453792 | ||
|
|
c195a52c89 | ||
|
|
3d7924f953 | ||
|
|
f29efd7fae | ||
|
|
157bff3c83 | ||
|
|
5c17bbc36d | ||
|
|
c85e72e70c | ||
|
|
01150f67e1 | ||
|
|
75aca7aa6f | ||
|
|
affde7e43c | ||
|
|
b9b1b53235 | ||
|
|
708ebb8abc | ||
|
|
83e763df0a | ||
|
|
0ff812c1ea | ||
|
|
3e9dd6d8e2 | ||
|
|
23af73e847 | ||
|
|
e79e4719fd | ||
|
|
23fef98432 | ||
|
|
22478252e7 | ||
|
|
76b1f3cd35 | ||
|
|
420d73ec6a | ||
|
|
e0211cfa0c | ||
|
|
25a92c651c | ||
|
|
0781205c69 | ||
|
|
5102dd5e30 | ||
|
|
6ccfc3fd67 | ||
|
|
2791ed91ab | ||
|
|
f40c198233 | ||
|
|
003dc63121 | ||
|
|
f8ef1e2a99 | ||
|
|
14c7078940 | ||
|
|
074836d3e8 | ||
|
|
0cdbc144b3 | ||
|
|
dc63ec24c0 | ||
|
|
6d4c6c36a5 | ||
|
|
464af5f4d9 | ||
|
|
aa94a46a3d | ||
|
|
8542197dc3 | ||
|
|
64d77eaef4 | ||
|
|
675ef8794c | ||
|
|
4bcdbeb516 | ||
|
|
a9f37739fb | ||
|
|
5ab0fc19da | ||
|
|
7b232425f3 | ||
|
|
c0e7668140 | ||
|
|
ae3f059257 | ||
|
|
d44c7c1e95 | ||
|
|
6cd9d134cf | ||
|
|
6f21ba8afc | ||
|
|
b2fe13c117 | ||
|
|
03ece7a262 | ||
|
|
697fde2d0e | ||
|
|
7f0f85b356 | ||
|
|
a7d41debfe | ||
|
|
57bf758108 | ||
|
|
b37d933047 | ||
|
|
80ffef4555 | ||
|
|
af5a0002aa | ||
|
|
cd24e412e3 | ||
|
|
a073d843ab | ||
|
|
8ccb59ed18 | ||
|
|
e6dc7d2d0d |
3
.gitattributes
vendored
Normal file
3
.gitattributes
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
* text eol=lf
|
||||||
|
*.cmd text eol=crlf
|
||||||
|
*.png binary
|
||||||
281
.github/workflows/ci.yml
vendored
281
.github/workflows/ci.yml
vendored
@@ -1,183 +1,278 @@
|
|||||||
name: ci
|
name: ci
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
on: [ push ]
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
JAVA_VERSION: 21
|
JAVA_VERSION: 21
|
||||||
DOCKER_BUILD_SUMMARY: false
|
DOCKER_BUILD_SUMMARY: false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-linux:
|
build:
|
||||||
runs-on: ubuntu-latest
|
if: github.event_name != 'pull_request' || github.actor != 'renovate[bot]' # renovate already triggers the build on pushes
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
os: [ "ubuntu-latest", "ubuntu-22.04-arm", "windows-latest" ]
|
||||||
database: [ "h2", "postgresql", "mysql", "mariadb" ]
|
database: [ "h2", "postgresql", "mysql", "mariadb" ]
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
# Checkout
|
# Checkout
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
# Setup
|
# Setup
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
- name: Set up GraalVM
|
- name: Set up GraalVM
|
||||||
uses: graalvm/setup-graalvm@v1
|
uses: graalvm/setup-graalvm@01ed653ac833fe80569f1ef9f25585ba2811baab # v1
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
distribution: "graalvm"
|
distribution: "graalvm"
|
||||||
cache: "maven"
|
cache: "maven"
|
||||||
|
|
||||||
|
- name: Install Playwright dependencies
|
||||||
|
run: sudo apt-get install -y libgbm1
|
||||||
|
if: matrix.os != 'windows-latest'
|
||||||
|
|
||||||
# Build & Test
|
# Build & Test
|
||||||
- name: Build with Maven
|
- name: Build with Maven
|
||||||
run: mvn --batch-mode --no-transfer-progress install -Pnative -P${{ matrix.database }}
|
run: mvn --batch-mode --no-transfer-progress install -Pnative -P${{ matrix.database }} -DskipTests=${{ matrix.os == 'windows-latest' && matrix.database != 'h2' }}
|
||||||
|
|
||||||
|
# Build pages
|
||||||
|
- name: Create pages directory structure
|
||||||
|
run: mkdir -p target/pages/documentation/custom-css
|
||||||
|
|
||||||
|
- name: Convert readme file to html
|
||||||
|
uses: jaywcjlove/markdown-to-html-cli@d2c8ffd676de1801e2586904bc540a938e4bc480 # v5.0.3
|
||||||
|
with:
|
||||||
|
source: README.md
|
||||||
|
output: target/pages/index.html
|
||||||
|
|
||||||
|
- name: Convert config documentation to html
|
||||||
|
uses: jaywcjlove/markdown-to-html-cli@d2c8ffd676de1801e2586904bc540a938e4bc480 # v5.0.3
|
||||||
|
with:
|
||||||
|
source: commafeed-server/target/quarkus-generated-doc/config/commafeed-server.md
|
||||||
|
output: target/pages/documentation/index.html
|
||||||
|
|
||||||
|
- name: Convert custom css documentation to html
|
||||||
|
uses: jaywcjlove/markdown-to-html-cli@d2c8ffd676de1801e2586904bc540a938e4bc480 # v5.0.3
|
||||||
|
with:
|
||||||
|
source: documentation/CUSTOMCSS.md
|
||||||
|
output: target/pages/documentation/custom-css/index.html
|
||||||
|
|
||||||
# Upload artifacts
|
# Upload artifacts
|
||||||
- name: Upload cross-platform app
|
- name: Upload cross-platform app
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||||
|
if: matrix.os == 'ubuntu-latest' # we only need to upload the cross-platform artifact once per database
|
||||||
with:
|
with:
|
||||||
name: commafeed-${{ matrix.database }}-jvm
|
name: commafeed-${{ matrix.database }}-jvm
|
||||||
path: commafeed-server/target/commafeed-*.zip
|
path: commafeed-server/target/commafeed-*.zip
|
||||||
|
|
||||||
- name: Upload native executable
|
- name: Upload native executable
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||||
with:
|
with:
|
||||||
name: commafeed-${{ matrix.database }}-${{ runner.os }}-${{ runner.arch }}
|
name: commafeed-${{ matrix.database }}-${{ runner.os }}-${{ runner.arch }}
|
||||||
path: commafeed-server/target/commafeed-*-runner
|
path: commafeed-server/target/commafeed-*-runner*
|
||||||
|
|
||||||
# Docker
|
- name: Upload pages
|
||||||
- name: Login to Container Registry
|
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
|
||||||
uses: docker/login-action@v3
|
if: matrix.os == 'ubuntu-latest' && matrix.database == 'h2' # we only need to upload the pages once
|
||||||
if: ${{ github.ref_type == 'tag' || github.ref_name == 'master' }}
|
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
path: target/pages
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
|
|
||||||
## tags
|
docker:
|
||||||
- name: Docker build and push tag - native
|
runs-on: ubuntu-latest
|
||||||
uses: docker/build-push-action@v6
|
needs: build
|
||||||
if: ${{ github.ref_type == 'tag' }}
|
env:
|
||||||
with:
|
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
context: .
|
|
||||||
file: commafeed-server/src/main/docker/Dockerfile.native
|
|
||||||
push: true
|
|
||||||
platforms: linux/amd64
|
|
||||||
tags: |
|
|
||||||
athou/commafeed:latest-${{ matrix.database }}
|
|
||||||
athou/commafeed:${{ github.ref_name }}-${{ matrix.database }}
|
|
||||||
|
|
||||||
- name: Docker build and push tag - jvm
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
if: ${{ github.ref_type == 'tag' }}
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: commafeed-server/src/main/docker/Dockerfile.jvm
|
|
||||||
push: true
|
|
||||||
platforms: linux/amd64,linux/arm64/v8
|
|
||||||
tags: |
|
|
||||||
athou/commafeed:latest-${{ matrix.database }}-jvm
|
|
||||||
athou/commafeed:${{ github.ref_name }}-${{ matrix.database }}-jvm
|
|
||||||
|
|
||||||
## master
|
|
||||||
- name: Docker build and push master - native
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
if: ${{ github.ref_name == 'master' }}
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: commafeed-server/src/main/docker/Dockerfile.native
|
|
||||||
push: true
|
|
||||||
platforms: linux/amd64
|
|
||||||
tags: athou/commafeed:master-${{ matrix.database }}
|
|
||||||
|
|
||||||
- name: Docker build and push master - jvm
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
if: ${{ github.ref_name == 'master' }}
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: commafeed-server/src/main/docker/Dockerfile.jvm
|
|
||||||
push: true
|
|
||||||
platforms: linux/amd64,linux/arm64/v8
|
|
||||||
tags: athou/commafeed:master-${{ matrix.database }}-jvm
|
|
||||||
|
|
||||||
build-windows:
|
|
||||||
runs-on: windows-latest
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
database: [ "h2", "postgresql", "mysql", "mariadb" ]
|
database: [ "h2", "postgresql", "mysql", "mariadb" ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# Checkout
|
# Checkout
|
||||||
- name: Configure git to checkout as-is
|
|
||||||
run: git config --global core.autocrlf false
|
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
# Setup
|
# Setup
|
||||||
- name: Set up GraalVM
|
- name: Set up QEMU
|
||||||
uses: graalvm/setup-graalvm@v1
|
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
|
||||||
with:
|
|
||||||
java-version: ${{ env.JAVA_VERSION }}
|
|
||||||
distribution: "graalvm"
|
|
||||||
cache: "maven"
|
|
||||||
|
|
||||||
# Build & Test
|
- name: Set up Docker Buildx
|
||||||
- name: Build with Maven
|
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3
|
||||||
run: mvn --batch-mode --no-transfer-progress install -Pnative -P${{ matrix.database }} -DskipTests=${{ matrix.database != 'h2' }}
|
|
||||||
|
|
||||||
# Upload artifacts
|
- name: Install required packages
|
||||||
- name: Upload native executable
|
run: sudo apt-get install -y rename unzip
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
|
# Prepare artifacts
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
||||||
with:
|
with:
|
||||||
name: commafeed-${{ matrix.database }}-${{ runner.os }}-${{ runner.arch }}
|
pattern: commafeed-${{ matrix.database }}-*
|
||||||
path: commafeed-server/target/commafeed-*-runner.exe
|
path: ./artifacts
|
||||||
|
merge-multiple: true
|
||||||
|
|
||||||
|
- name: Set the exec flag on the native executables
|
||||||
|
run: chmod +x artifacts/*-runner
|
||||||
|
|
||||||
|
- name: Rename native executables to match buildx TARGETARCH
|
||||||
|
run: |
|
||||||
|
rename 's/x86_64/amd64/g' artifacts/*
|
||||||
|
rename 's/aarch_64/arm64/g' artifacts/*
|
||||||
|
|
||||||
|
- name: Unzip jvm package
|
||||||
|
run: |
|
||||||
|
unzip artifacts/*-jvm.zip -d artifacts/extracted-jvm-package
|
||||||
|
rename 's/commafeed-.*/quarkus-app/g' artifacts/extracted-jvm-package/*
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
- name: Login to Container Registry
|
||||||
|
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
|
||||||
|
if: ${{ env.DOCKERHUB_USERNAME != '' }}
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
## build but don't push for PRs and renovate
|
||||||
|
- name: Docker build - native
|
||||||
|
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: commafeed-server/src/main/docker/Dockerfile.native
|
||||||
|
push: false
|
||||||
|
platforms: linux/amd64,linux/arm64/v8
|
||||||
|
|
||||||
|
- name: Docker build - jvm
|
||||||
|
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: commafeed-server/src/main/docker/Dockerfile.jvm
|
||||||
|
push: false
|
||||||
|
platforms: linux/amd64,linux/arm64/v8
|
||||||
|
|
||||||
|
## build and push tag
|
||||||
|
- name: Docker build and push tag - native
|
||||||
|
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6
|
||||||
|
if: ${{ github.ref_type == 'tag' }}
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: commafeed-server/src/main/docker/Dockerfile.native
|
||||||
|
push: ${{ env.DOCKERHUB_USERNAME != '' }}
|
||||||
|
platforms: linux/amd64,linux/arm64/v8
|
||||||
|
tags: |
|
||||||
|
athou/commafeed:latest-${{ matrix.database }}
|
||||||
|
athou/commafeed:${{ github.ref_name }}-${{ matrix.database }}
|
||||||
|
|
||||||
|
- name: Docker build and push tag - jvm
|
||||||
|
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6
|
||||||
|
if: ${{ github.ref_type == 'tag' }}
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: commafeed-server/src/main/docker/Dockerfile.jvm
|
||||||
|
push: ${{ env.DOCKERHUB_USERNAME != '' }}
|
||||||
|
platforms: linux/amd64,linux/arm64/v8
|
||||||
|
tags: |
|
||||||
|
athou/commafeed:latest-${{ matrix.database }}-jvm
|
||||||
|
athou/commafeed:${{ github.ref_name }}-${{ matrix.database }}-jvm
|
||||||
|
|
||||||
|
## build and push master
|
||||||
|
- name: Docker build and push master - native
|
||||||
|
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6
|
||||||
|
if: ${{ github.ref_name == 'master' }}
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: commafeed-server/src/main/docker/Dockerfile.native
|
||||||
|
push: ${{ env.DOCKERHUB_USERNAME != '' }}
|
||||||
|
platforms: linux/amd64,linux/arm64/v8
|
||||||
|
tags: athou/commafeed:master-${{ matrix.database }}
|
||||||
|
|
||||||
|
- name: Docker build and push master - jvm
|
||||||
|
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6
|
||||||
|
if: ${{ github.ref_name == 'master' }}
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: commafeed-server/src/main/docker/Dockerfile.jvm
|
||||||
|
push: ${{ env.DOCKERHUB_USERNAME != '' }}
|
||||||
|
platforms: linux/amd64,linux/arm64/v8
|
||||||
|
tags: athou/commafeed:master-${{ matrix.database }}-jvm
|
||||||
|
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs:
|
needs:
|
||||||
- build-linux
|
- build
|
||||||
- build-windows
|
- docker
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
if: github.ref_type == 'tag'
|
if: github.ref_type == 'tag'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Download artifacts
|
- name: Download artifacts
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
||||||
with:
|
with:
|
||||||
pattern: commafeed-*
|
pattern: commafeed-*
|
||||||
path: ./artifacts
|
path: ./artifacts
|
||||||
merge-multiple: true
|
merge-multiple: true
|
||||||
|
|
||||||
|
- name: Set the exec flag on the native executables
|
||||||
|
run: chmod +x artifacts/*-runner
|
||||||
|
|
||||||
- name: Extract Changelog Entry
|
- name: Extract Changelog Entry
|
||||||
uses: mindsers/changelog-reader-action@v2
|
uses: mindsers/changelog-reader-action@32aa5b4c155d76c94e4ec883a223c947b2f02656 # v2
|
||||||
id: changelog_reader
|
id: changelog_reader
|
||||||
with:
|
with:
|
||||||
version: ${{ github.ref_name }}
|
version: ${{ github.ref_name }}
|
||||||
|
|
||||||
- name: Create GitHub release
|
- name: Create GitHub release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@440c8c1cb0ed28b9f43e4d1d670870f059653174 # v1
|
||||||
with:
|
with:
|
||||||
name: CommaFeed ${{ github.ref_name }}
|
name: CommaFeed ${{ github.ref_name }}
|
||||||
body: ${{ steps.changelog_reader.outputs.changes }}
|
body: ${{ steps.changelog_reader.outputs.changes }}
|
||||||
artifacts: ./artifacts/*
|
artifacts: ./artifacts/*
|
||||||
|
|
||||||
|
|
||||||
|
update-dockerhub-description:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: release
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Update Docker Hub Description
|
- name: Update Docker Hub Description
|
||||||
uses: peter-evans/dockerhub-description@v4
|
uses: peter-evans/dockerhub-description@432a30c9e07499fd01da9f8a49f0faf9e0ca5b77 # v4
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
repository: athou/commafeed
|
repository: athou/commafeed
|
||||||
short-description: ${{ github.event.repository.description }}
|
short-description: ${{ github.event.repository.description }}
|
||||||
readme-filepath: commafeed-server/src/main/docker/README.md
|
readme-filepath: commafeed-server/src/main/docker/README.md
|
||||||
|
|
||||||
|
|
||||||
|
deploy-pages:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: release
|
||||||
|
permissions:
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4
|
||||||
|
id: deployment
|
||||||
|
|||||||
52
CHANGELOG.md
52
CHANGELOG.md
@@ -1,5 +1,57 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [5.9.0]
|
||||||
|
|
||||||
|
- A lot of CSS classes have been added to the elements of the application to ease custom CSS rules (#1757)
|
||||||
|
- Added a link in the README to the [documentation](https://athou.github.io/commafeed/documentation/custom-css/) of the new CSS classes
|
||||||
|
- Static resources are now cached for much longer (#1782)
|
||||||
|
|
||||||
|
## [5.8.0]
|
||||||
|
|
||||||
|
- A color picker is now available on the settings page to change the orange accent of the application (#1598)
|
||||||
|
- A font size slider is now available to change the size of the text of feed entries (#1462)
|
||||||
|
- The "mark all as read" confirmation setting now also applies to the "shift+a" keyboard shortcut (#1744)
|
||||||
|
- CommaFeed wil try to match the language of the browser before defaulting to english (#1767)
|
||||||
|
- The default value for the number of entries to keep above the selected entry when scrolling is now 1 instead of 0 to match what other feed readers do
|
||||||
|
|
||||||
|
## [5.7.0]
|
||||||
|
|
||||||
|
- Add Shift+J/Shift+K keyboard shortcuts to navigate to the next/previous feed or category with unread entries (#1558)
|
||||||
|
- Add the referrer "no-referrer" meta to index.html (#1724)
|
||||||
|
- Load custom JS code when the app is done loading (#1724)
|
||||||
|
- Correctly handle feeds that return an unmodified Last-Modified header but a different ETag header (#1746)
|
||||||
|
- Restore gzip compression of responses that was accidentaly disabled since 5.0.0
|
||||||
|
- Fix tooltips not showing up in mobile view
|
||||||
|
- Fix the bookmarklet generator on the About page
|
||||||
|
|
||||||
|
## [5.6.1]
|
||||||
|
|
||||||
|
- Restore support for iframes in feed entries (#1688)
|
||||||
|
- There is now a package available for Arch Linux thanks to @dcelasun (#1691)
|
||||||
|
|
||||||
|
## [5.6.0]
|
||||||
|
|
||||||
|
- To better respect the bandwidth of feed owners, the default value of `commafeed.feed-refresh.interval-empirical` is now true. This means feeds no longer refresh exactly every 5 minutes (the default value of `commafeed.feed-refresh.interval`) but between 5 minutes and 4 hours (the default value of the new `commafeed.feed-refresh.max-interval` setting). The interval is calculated based on feed activity, so highly active feeds refresh more often (#1677)
|
||||||
|
- Many previously hardcoded values used in feed refresh interval calculation are now exposed as settings (#1677)
|
||||||
|
- Access to local addresses is now blocked to mitigate server-side request forgery (SSRF) attacks, which could potentially expose internal resources. You might want to disable the new `commafeed.http-client.block-local-addresses` setting if you subscribe to feeds only available on your local network and you trust all your users
|
||||||
|
- If a feed responds with a "429 - Too many requests" response, a backoff mechanism is triggered when the response does not contain a "Retry-After" header
|
||||||
|
|
||||||
|
## [5.5.0]
|
||||||
|
|
||||||
|
- CommaFeed now honors the Retry-After response header and will not try to refresh a feed sooner than the value of this header
|
||||||
|
- Audio enclosures (e.g. podcasts) now fill available entry width
|
||||||
|
- Fix an issue with some labels not correctly internationalized
|
||||||
|
|
||||||
|
## [5.4.0]
|
||||||
|
|
||||||
|
- An arm64 native executable is now available for download on the releases page
|
||||||
|
- The native executable Docker image now supports arm64
|
||||||
|
- Fixed an issue with feeds that declared an invalid DOCTYPE (#1260)
|
||||||
|
|
||||||
|
## [5.3.6]
|
||||||
|
|
||||||
|
- Ignore invalid Cache-Control header values (#1619)
|
||||||
|
|
||||||
## [5.3.5]
|
## [5.3.5]
|
||||||
|
|
||||||
- Fixed an issue with the aspect ratio of images of some feeds (#1595)
|
- Fixed an issue with the aspect ratio of images of some feeds (#1595)
|
||||||
|
|||||||
15
README.md
15
README.md
@@ -17,6 +17,7 @@ Google Reader inspired self-hosted RSS reader, based on Quarkus and React/TypeSc
|
|||||||
- REST API
|
- REST API
|
||||||
- Fever-compatible API for native mobile apps
|
- Fever-compatible API for native mobile apps
|
||||||
- Can automatically mark articles as read based on user-defined rules
|
- Can automatically mark articles as read based on user-defined rules
|
||||||
|
- Highly customizable with [custom CSS](https://athou.github.io/commafeed/documentation/custom-css) and JavaScript
|
||||||
- [Browser extension](https://github.com/Athou/commafeed-browser-extension)
|
- [Browser extension](https://github.com/Athou/commafeed-browser-extension)
|
||||||
- Compiles to native code for blazing fast startup and low memory usage
|
- Compiles to native code for blazing fast startup and low memory usage
|
||||||
- Supports 4 databases
|
- Supports 4 databases
|
||||||
@@ -48,17 +49,17 @@ system and database of choice.
|
|||||||
|
|
||||||
There are two types of packages:
|
There are two types of packages:
|
||||||
|
|
||||||
- The `linux-x86_64` and `windows-x86_64` packages are compiled natively and contain an executable that can be run
|
- The `linux-x86_64`, `linux-aarch_64` and `windows-x86_64` packages are compiled natively and contain an executable that can be run
|
||||||
directly.
|
directly.
|
||||||
- The `jvm` package is a zip file containing all `.jar` files required to run the application. This package works on all
|
- The `jvm` package is a zip file containing all `.jar` files required to run the application. This package works on all
|
||||||
platforms and is started with `java -jar quarkus-run.jar`.
|
platforms but requires a JRE and is started with `java -jar quarkus-run.jar`.
|
||||||
|
|
||||||
If available for your operating system, the native package is recommended because it has a faster startup time and lower
|
If available for your operating system, the native package is recommended because it has a faster startup time and lower
|
||||||
memory usage.
|
memory usage.
|
||||||
|
|
||||||
### Build from sources
|
### Build from sources
|
||||||
|
|
||||||
./mvnw clean package [-P<database>] [-Pnative] [-DskipTests]
|
./mvnw clean package [-P<database> [-Pnative]] [-DskipTests]
|
||||||
|
|
||||||
- `<database>` can be one of `h2`, `postgresql`, `mysql` or `mariadb`. The default is `h2`.
|
- `<database>` can be one of `h2`, `postgresql`, `mysql` or `mariadb`. The default is `h2`.
|
||||||
- `-Pnative` compiles the application to native code. This requires GraalVM to be installed (`GRAALVM_HOME` environment
|
- `-Pnative` compiles the application to native code. This requires GraalVM to be installed (`GRAALVM_HOME` environment
|
||||||
@@ -73,6 +74,10 @@ When the build is complete:
|
|||||||
- if you used the native profile, the executable is located at
|
- if you used the native profile, the executable is located at
|
||||||
`commafeed-server/target/commafeed-<version>-<database>-<platform>-<arch>-runner[.exe]`
|
`commafeed-server/target/commafeed-<version>-<database>-<platform>-<arch>-runner[.exe]`
|
||||||
|
|
||||||
|
### Distribution packages
|
||||||
|
|
||||||
|
- Arch Linux users can use [the CommaFeed package on AUR](https://aur.archlinux.org/pkgbase/commafeed), which builds native binaries with GraalVM for all supported databases.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
CommaFeed doesn't require any configuration to run with its embedded database (H2). The database file will be stored in
|
CommaFeed doesn't require any configuration to run with its embedded database (H2). The database file will be stored in
|
||||||
@@ -94,13 +99,13 @@ There are multiple ways to configure CommaFeed:
|
|||||||
|
|
||||||
- a `config/application.properties` [properties](https://en.wikipedia.org/wiki/.properties) file relative to the working
|
- a `config/application.properties` [properties](https://en.wikipedia.org/wiki/.properties) file relative to the working
|
||||||
directory (keys in kebab-case)
|
directory (keys in kebab-case)
|
||||||
- Command line arguments prefixed with `-D` (keys in kebab-case)
|
- Command line arguments each prefixed with `-D` (keys in kebab-case)
|
||||||
- Environment variables (keys in UPPER_CASE)
|
- Environment variables (keys in UPPER_CASE)
|
||||||
- a `.env` file in the working directory (keys in UPPER_CASE)
|
- a `.env` file in the working directory (keys in UPPER_CASE)
|
||||||
|
|
||||||
The properties file is recommended because CommaFeed will be able to warn about invalid properties and typos.
|
The properties file is recommended because CommaFeed will be able to warn about invalid properties and typos.
|
||||||
|
|
||||||
All [CommaFeed settings](commafeed-server/doc/commafeed.md) are optional and have sensible default values.
|
All [CommaFeed settings](https://athou.github.io/commafeed/documentation) are optional and have sensible default values.
|
||||||
|
|
||||||
When logging in, credentials are stored in an encrypted cookie. The encryption key is randomly generated at startup,
|
When logging in, credentials are stored in an encrypted cookie. The encryption key is randomly generated at startup,
|
||||||
meaning that you will have to log back in after each restart of the application. To prevent this, you can set the
|
meaning that you will have to log back in after each restart of the application. To prevent this, you can set the
|
||||||
|
|||||||
@@ -13,6 +13,14 @@
|
|||||||
"arrowParentheses": "asNeeded"
|
"arrowParentheses": "asNeeded"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"linter": {
|
||||||
|
"rules": {
|
||||||
|
"correctness": {
|
||||||
|
"noUnusedImports": "error",
|
||||||
|
"noUnusedVariables": "error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"files": {
|
"files": {
|
||||||
"ignore": ["dist", "node_modules", "target", "target-ide"]
|
"ignore": ["dist", "node_modules", "target", "target-ide"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/x-icon" href="favicon.ico" />
|
<link rel="icon" type="image/x-icon" href="favicon.ico" />
|
||||||
<link rel="manifest" href="manifest.json" />
|
<link rel="manifest" href="manifest.json" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||||
<title>CommaFeed</title>
|
<meta name="referrer" content="no-referrer" />
|
||||||
|
|
||||||
|
<title>CommaFeed</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|||||||
4729
commafeed-client/package-lock.json
generated
4729
commafeed-client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -4,77 +4,81 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --host",
|
"dev": "vite",
|
||||||
"dev:typescript": "tsc --watch",
|
"dev:host": "vite --host",
|
||||||
"build": "tsc && vite build",
|
"build": "tsc && vite build",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
"test": "vitest",
|
"test": "vitest",
|
||||||
"test:ci": "vitest run",
|
"test:ci": "vitest run",
|
||||||
"lint": "biome check ./src",
|
"lint": "biome check",
|
||||||
"lint:fix": "biome check --write ./src",
|
"lint:fix": "biome check --write",
|
||||||
"i18n:extract": "lingui extract --clean"
|
"i18n:extract": "lingui extract --clean"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.13.5",
|
"@emotion/react": "^11.14.0",
|
||||||
"@fontsource/open-sans": "^5.1.0",
|
"@fontsource/open-sans": "^5.2.5",
|
||||||
"@lingui/core": "^5.0.0",
|
"@lingui/core": "^5.3.1",
|
||||||
"@lingui/react": "^5.0.0",
|
"@lingui/react": "^5.3.1",
|
||||||
"@mantine/core": "^7.14.3",
|
"@mantine/core": "^8.0.0",
|
||||||
"@mantine/form": "^7.14.3",
|
"@mantine/form": "^8.0.0",
|
||||||
"@mantine/hooks": "^7.14.3",
|
"@mantine/hooks": "^8.0.0",
|
||||||
"@mantine/modals": "^7.14.3",
|
"@mantine/modals": "^8.0.0",
|
||||||
"@mantine/notifications": "^7.14.3",
|
"@mantine/notifications": "^8.0.0",
|
||||||
"@mantine/spotlight": "^7.14.3",
|
"@mantine/spotlight": "^8.0.0",
|
||||||
"@monaco-editor/react": "^4.6.0",
|
"@monaco-editor/react": "^4.7.0",
|
||||||
"@reduxjs/toolkit": "^2.4.0",
|
"@reduxjs/toolkit": "^2.8.1",
|
||||||
"axios": "^1.7.8",
|
"axios": "^1.9.0",
|
||||||
"dayjs": "^1.11.13",
|
"dayjs": "^1.11.13",
|
||||||
"escape-string-regexp": "^5.0.0",
|
"escape-string-regexp": "^5.0.0",
|
||||||
"interweave": "^13.1.0",
|
"interweave": "^13.1.1",
|
||||||
"monaco-editor": "^0.52.0",
|
"monaco-editor": "^0.52.2",
|
||||||
"mousetrap": "^1.6.5",
|
"mousetrap": "^1.6.5",
|
||||||
"react": "^18.3.1",
|
"react": "^19.1.0",
|
||||||
"react-async-hook": "^4.0.0",
|
"react-async-hook": "^4.0.0",
|
||||||
"react-contexify": "^6.0.0",
|
"react-contexify": "^6.0.0",
|
||||||
"react-device-detect": "^2.2.3",
|
"react-device-detect": "^2.2.3",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^19.1.0",
|
||||||
"react-draggable": "^4.4.6",
|
"react-draggable": "^4.4.6",
|
||||||
"react-ga4": "^2.1.0",
|
"react-ga4": "^2.1.0",
|
||||||
"react-helmet": "^6.1.0",
|
"react-icons": "^5.5.0",
|
||||||
"react-icons": "^5.3.0",
|
|
||||||
"react-infinite-scroller": "^1.2.6",
|
"react-infinite-scroller": "^1.2.6",
|
||||||
"react-redux": "^9.1.2",
|
"react-redux": "^9.2.0",
|
||||||
"react-router-dom": "^7.0.1",
|
"react-router-dom": "^7.6.0",
|
||||||
"react-swipeable": "^7.0.2",
|
"react-swipeable": "^7.0.2",
|
||||||
"redoc": "^2.2.0",
|
"redoc": "^2.5.0",
|
||||||
"style-to-object": "^1.0.8",
|
"style-to-object": "^1.0.8",
|
||||||
"throttle-debounce": "^5.0.2",
|
"throttle-debounce": "^5.0.2",
|
||||||
"tinycon": "^0.6.8",
|
"tinycon": "^0.6.8",
|
||||||
"tss-react": "^4.9.13",
|
"tss-react": "^4.9.18",
|
||||||
"websocket-heartbeat-js": "^1.1.3"
|
"websocket-heartbeat-js": "^1.1.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^1.9.4",
|
"@biomejs/biome": "^1.9.4",
|
||||||
"@lingui/babel-plugin-lingui-macro": "^5.0.0",
|
"@lingui/babel-plugin-lingui-macro": "^5.3.1",
|
||||||
"@lingui/cli": "^5.0.0",
|
"@lingui/cli": "^5.3.1",
|
||||||
"@lingui/vite-plugin": "^5.0.0",
|
"@lingui/vite-plugin": "^5.3.1",
|
||||||
|
"@testing-library/jest-dom": "^6.6.3",
|
||||||
|
"@testing-library/react": "^16.3.0",
|
||||||
|
"@testing-library/user-event": "^14.6.1",
|
||||||
"@types/mousetrap": "^1.6.15",
|
"@types/mousetrap": "^1.6.15",
|
||||||
"@types/react": "^18.3.12",
|
"@types/react": "^19.1.4",
|
||||||
"@types/react-dom": "^18.3.1",
|
"@types/react-dom": "^19.1.5",
|
||||||
"@types/react-helmet": "^6.1.11",
|
|
||||||
"@types/react-infinite-scroller": "^1.2.5",
|
"@types/react-infinite-scroller": "^1.2.5",
|
||||||
"@types/swagger-ui-react": "^4.18.3",
|
|
||||||
"@types/throttle-debounce": "^5.0.2",
|
"@types/throttle-debounce": "^5.0.2",
|
||||||
"@types/tinycon": "^0.6.7",
|
"@types/tinycon": "^0.6.7",
|
||||||
"@vitejs/plugin-react": "^4.3.4",
|
"@vitejs/plugin-react": "^4.4.1",
|
||||||
"babel-plugin-macros": "^3.1.0",
|
"babel-plugin-macros": "^3.1.0",
|
||||||
"jsdom": "^25.0.1",
|
"jsdom": "^26.1.0",
|
||||||
"rollup-plugin-visualizer": "^5.12.0",
|
"rollup-plugin-visualizer": "^5.14.0",
|
||||||
"typescript": "^5.7.2",
|
"typescript": "^5.8.3",
|
||||||
"vite": "^5.4.11",
|
"vite": "^6.3.5",
|
||||||
"vite-plugin-checker": "^0.8.0",
|
"vite-plugin-checker": "^0.9.3",
|
||||||
"vite-tsconfig-paths": "^5.1.3",
|
"vite-tsconfig-paths": "^5.1.4",
|
||||||
"vitest": "^2.1.6",
|
"vitest": "^3.1.3"
|
||||||
"vitest-mock-extended": "^2.0.2"
|
},
|
||||||
|
"overrides": {
|
||||||
|
"react-infinite-scroller": {
|
||||||
|
"react": "^19.1.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,16 +6,16 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.commafeed</groupId>
|
<groupId>com.commafeed</groupId>
|
||||||
<artifactId>commafeed</artifactId>
|
<artifactId>commafeed</artifactId>
|
||||||
<version>5.3.5</version>
|
<version>5.9.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>commafeed-client</artifactId>
|
<artifactId>commafeed-client</artifactId>
|
||||||
<name>CommaFeed Client</name>
|
<name>CommaFeed Client</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<!-- renovate: datasource=node-version depName=node -->
|
<!-- renovate: datasource=node-version depName=node -->
|
||||||
<node.version>v22.11.0</node.version>
|
<node.version>v22.15.0</node.version>
|
||||||
<!-- renovate: datasource=npm depName=npm -->
|
<!-- renovate: datasource=npm depName=npm -->
|
||||||
<npm.version>10.9.1</npm.version>
|
<npm.version>11.3.0</npm.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@@ -55,6 +55,7 @@
|
|||||||
<phase>compile</phase>
|
<phase>compile</phase>
|
||||||
<configuration>
|
<configuration>
|
||||||
<arguments>run test:ci</arguments>
|
<arguments>run test:ci</arguments>
|
||||||
|
<skip>${skipTests}</skip>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
<execution>
|
<execution>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { DisablePullToRefresh } from "components/DisablePullToRefresh"
|
|||||||
import { ErrorBoundary } from "components/ErrorBoundary"
|
import { ErrorBoundary } from "components/ErrorBoundary"
|
||||||
import { Header } from "components/header/Header"
|
import { Header } from "components/header/Header"
|
||||||
import { Tree } from "components/sidebar/Tree"
|
import { Tree } from "components/sidebar/Tree"
|
||||||
|
import { useAppLoading } from "hooks/useAppLoading"
|
||||||
import { useBrowserExtension } from "hooks/useBrowserExtension"
|
import { useBrowserExtension } from "hooks/useBrowserExtension"
|
||||||
import { useI18n } from "i18n"
|
import { useI18n } from "i18n"
|
||||||
import { WelcomePage } from "pages/WelcomePage"
|
import { WelcomePage } from "pages/WelcomePage"
|
||||||
@@ -29,20 +30,20 @@ import { TagDetailsPage } from "pages/app/TagDetailsPage"
|
|||||||
import { LoginPage } from "pages/auth/LoginPage"
|
import { LoginPage } from "pages/auth/LoginPage"
|
||||||
import { PasswordRecoveryPage } from "pages/auth/PasswordRecoveryPage"
|
import { PasswordRecoveryPage } from "pages/auth/PasswordRecoveryPage"
|
||||||
import { RegistrationPage } from "pages/auth/RegistrationPage"
|
import { RegistrationPage } from "pages/auth/RegistrationPage"
|
||||||
import React, { useEffect } from "react"
|
import React, { useEffect, useState } from "react"
|
||||||
import { isSafari } from "react-device-detect"
|
import { isSafari } from "react-device-detect"
|
||||||
import ReactGA from "react-ga4"
|
import ReactGA from "react-ga4"
|
||||||
import { Helmet } from "react-helmet"
|
|
||||||
import { HashRouter, Navigate, Route, Routes, useLocation, useNavigate } from "react-router-dom"
|
import { HashRouter, Navigate, Route, Routes, useLocation, useNavigate } from "react-router-dom"
|
||||||
import Tinycon from "tinycon"
|
import Tinycon from "tinycon"
|
||||||
|
|
||||||
function Providers(props: { children: React.ReactNode }) {
|
function Providers(props: { children: React.ReactNode }) {
|
||||||
|
const primaryColor = useAppSelector(state => state.user.settings?.primaryColor) || Constants.theme.defaultPrimaryColor
|
||||||
return (
|
return (
|
||||||
<I18nProvider i18n={i18n}>
|
<I18nProvider i18n={i18n}>
|
||||||
<MantineProvider
|
<MantineProvider
|
||||||
defaultColorScheme="auto"
|
defaultColorScheme="auto"
|
||||||
theme={{
|
theme={{
|
||||||
primaryColor: "orange",
|
primaryColor: primaryColor,
|
||||||
fontFamily: "Open Sans",
|
fontFamily: "Open Sans",
|
||||||
colors: {
|
colors: {
|
||||||
// keep using dark colors from mantine v6
|
// keep using dark colors from mantine v6
|
||||||
@@ -143,7 +144,7 @@ function GoogleAnalyticsHandler() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function UnreadCountTitleHandler({ unreadCount, enabled }: { unreadCount: number; enabled?: boolean }) {
|
function UnreadCountTitleHandler({ unreadCount, enabled }: { unreadCount: number; enabled?: boolean }) {
|
||||||
return <Helmet title={enabled && unreadCount > 0 ? `(${unreadCount}) CommaFeed` : "CommaFeed"} />
|
return <title>{enabled && unreadCount > 0 ? `(${unreadCount}) CommaFeed` : "CommaFeed"}</title>
|
||||||
}
|
}
|
||||||
|
|
||||||
function UnreadCountFaviconHandler({ unreadCount, enabled }: { unreadCount: number; enabled?: boolean }) {
|
function UnreadCountFaviconHandler({ unreadCount, enabled }: { unreadCount: number; enabled?: boolean }) {
|
||||||
@@ -170,13 +171,36 @@ function BrowserExtensionBadgeUnreadCountHandler() {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
function CustomCode() {
|
function CustomJsHandler() {
|
||||||
return (
|
const [scriptLoaded, setScriptLoaded] = useState(false)
|
||||||
<Helmet>
|
const { loading } = useAppLoading()
|
||||||
<link rel="stylesheet" type="text/css" href="custom_css.css" />
|
|
||||||
<script type="text/javascript" src="custom_js.js" />
|
useEffect(() => {
|
||||||
</Helmet>
|
if (scriptLoaded || loading) {
|
||||||
)
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const script = document.createElement("script")
|
||||||
|
script.src = "custom_js.js"
|
||||||
|
script.async = true
|
||||||
|
document.body.appendChild(script)
|
||||||
|
|
||||||
|
setScriptLoaded(true)
|
||||||
|
}, [scriptLoaded, loading])
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
function CustomCssHandler() {
|
||||||
|
useEffect(() => {
|
||||||
|
const link = document.createElement("link")
|
||||||
|
link.rel = "stylesheet"
|
||||||
|
link.type = "text/css"
|
||||||
|
link.href = "custom_css.css"
|
||||||
|
document.head.appendChild(link)
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
export function App() {
|
export function App() {
|
||||||
@@ -198,16 +222,19 @@ export function App() {
|
|||||||
<UnreadCountTitleHandler unreadCount={unreadCount} enabled={unreadCountTitle} />
|
<UnreadCountTitleHandler unreadCount={unreadCount} enabled={unreadCountTitle} />
|
||||||
<UnreadCountFaviconHandler unreadCount={unreadCount} enabled={unreadCountFavicon} />
|
<UnreadCountFaviconHandler unreadCount={unreadCount} enabled={unreadCountFavicon} />
|
||||||
<BrowserExtensionBadgeUnreadCountHandler />
|
<BrowserExtensionBadgeUnreadCountHandler />
|
||||||
|
<CustomJsHandler />
|
||||||
|
<CustomCssHandler />
|
||||||
|
|
||||||
|
{/* disable pull-to-refresh as it messes with vertical scrolling
|
||||||
|
safari behaves weirdly when overscroll-behavior is set to none so we disable it only for other browsers
|
||||||
|
https://github.com/Athou/commafeed/issues/1168
|
||||||
|
*/}
|
||||||
|
{!isSafari && <DisablePullToRefresh />}
|
||||||
|
|
||||||
<HashRouter>
|
<HashRouter>
|
||||||
<GoogleAnalyticsHandler />
|
<GoogleAnalyticsHandler />
|
||||||
<RedirectHandler />
|
<RedirectHandler />
|
||||||
<AppRoutes />
|
<AppRoutes />
|
||||||
<CustomCode />
|
|
||||||
{/* disable pull-to-refresh as it messes with vertical scrolling
|
|
||||||
safari behaves weirdly when overscroll-behavior is set to none so we disable it only for other browsers
|
|
||||||
https://github.com/Athou/commafeed/issues/1168
|
|
||||||
*/}
|
|
||||||
{!isSafari && <DisablePullToRefresh />}
|
|
||||||
</HashRouter>
|
</HashRouter>
|
||||||
</>
|
</>
|
||||||
</Providers>
|
</Providers>
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
import { t } from "@lingui/core/macro"
|
|
||||||
import type { IconType } from "react-icons"
|
import type { IconType } from "react-icons"
|
||||||
import { FaAt } from "react-icons/fa"
|
import { FaAt } from "react-icons/fa"
|
||||||
import { SiBuffer, SiFacebook, SiGmail, SiInstapaper, SiPocket, SiTumblr, SiX } from "react-icons/si"
|
import { SiBuffer, SiFacebook, SiGmail, SiInstapaper, SiPocket, SiTumblr, SiX } from "react-icons/si"
|
||||||
import type { Category, Entry, SharingSettings } from "./types"
|
import type { Category, Entry, SharingSettings } from "./types"
|
||||||
|
|
||||||
const categories: Record<string, Category> = {
|
const categories: Record<string, Omit<Category, "name">> = {
|
||||||
all: {
|
all: {
|
||||||
id: "all",
|
id: "all",
|
||||||
name: t`All`,
|
|
||||||
expanded: false,
|
expanded: false,
|
||||||
children: [],
|
children: [],
|
||||||
feeds: [],
|
feeds: [],
|
||||||
@@ -15,7 +13,6 @@ const categories: Record<string, Category> = {
|
|||||||
},
|
},
|
||||||
starred: {
|
starred: {
|
||||||
id: "starred",
|
id: "starred",
|
||||||
name: t`Starred`,
|
|
||||||
expanded: false,
|
expanded: false,
|
||||||
children: [],
|
children: [],
|
||||||
feeds: [],
|
feeds: [],
|
||||||
@@ -104,9 +101,13 @@ export const Constants = {
|
|||||||
entryId: (entry: Entry) => `entry-id-${entry.id}`,
|
entryId: (entry: Entry) => `entry-id-${entry.id}`,
|
||||||
entryContextMenuId: (entry: Entry) => entry.id,
|
entryContextMenuId: (entry: Entry) => entry.id,
|
||||||
},
|
},
|
||||||
|
theme: {
|
||||||
|
defaultPrimaryColor: "orange",
|
||||||
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
delay: 500,
|
delay: 500,
|
||||||
},
|
},
|
||||||
browserExtensionUrl: "https://github.com/Athou/commafeed-browser-extension",
|
browserExtensionUrl: "https://github.com/Athou/commafeed-browser-extension",
|
||||||
|
customCssDocumentationUrl: "https://athou.github.io/commafeed/documentation/custom-css",
|
||||||
bitcoinWalletAddress: "1dymfUxqCWpyD7a6rQSqNy4rLVDBsAr5e",
|
bitcoinWalletAddress: "1dymfUxqCWpyD7a6rQSqNy4rLVDBsAr5e",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,20 @@
|
|||||||
import { configureStore } from "@reduxjs/toolkit"
|
import { configureStore } from "@reduxjs/toolkit"
|
||||||
import type { client } from "app/client"
|
import { client } from "app/client"
|
||||||
import { loadEntries, loadMoreEntries, markAllEntries, markEntry } from "app/entries/thunks"
|
import { loadEntries, loadMoreEntries, markAllEntries, markEntry } from "app/entries/thunks"
|
||||||
import { type RootState, reducers } from "app/store"
|
import { type RootState, reducers } from "app/store"
|
||||||
import type { Entries, Entry } from "app/types"
|
import type { Entries, Entry } from "app/types"
|
||||||
import type { AxiosResponse } from "axios"
|
import type { AxiosResponse } from "axios"
|
||||||
import { beforeEach, describe, expect, it, vi } from "vitest"
|
import { beforeEach, describe, expect, it, vi } from "vitest"
|
||||||
import { any, mockReset } from "vitest-mock-extended"
|
|
||||||
|
|
||||||
const mockClient = await vi.hoisted(async () => {
|
vi.mock(import("app/client"))
|
||||||
const mockModule = await import("vitest-mock-extended")
|
|
||||||
return mockModule.mockDeep<typeof client>()
|
|
||||||
})
|
|
||||||
vi.mock("app/client", () => ({ client: mockClient }))
|
|
||||||
|
|
||||||
describe("entries", () => {
|
describe("entries", () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
mockReset(mockClient)
|
vi.resetAllMocks()
|
||||||
})
|
})
|
||||||
|
|
||||||
it("loads entries", async () => {
|
it("loads entries", async () => {
|
||||||
mockClient.feed.getEntries.calledWith(any()).mockResolvedValue({
|
vi.mocked(client.feed.getEntries).mockResolvedValue({
|
||||||
data: {
|
data: {
|
||||||
entries: [{ id: "3" } as Entry],
|
entries: [{ id: "3" } as Entry],
|
||||||
hasMore: false,
|
hasMore: false,
|
||||||
@@ -53,7 +48,7 @@ describe("entries", () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it("loads more entries", async () => {
|
it("loads more entries", async () => {
|
||||||
mockClient.category.getEntries.calledWith(any()).mockResolvedValue({
|
vi.mocked(client.category.getEntries).mockResolvedValue({
|
||||||
data: {
|
data: {
|
||||||
entries: [{ id: "4" } as Entry],
|
entries: [{ id: "4" } as Entry],
|
||||||
hasMore: false,
|
hasMore: false,
|
||||||
@@ -113,7 +108,7 @@ describe("entries", () => {
|
|||||||
{ id: "3", read: true },
|
{ id: "3", read: true },
|
||||||
{ id: "4", read: false },
|
{ id: "4", read: false },
|
||||||
])
|
])
|
||||||
expect(mockClient.entry.mark).toHaveBeenCalledWith({ id: "3", read: true })
|
expect(client.entry.mark).toHaveBeenCalledWith({ id: "3", read: true })
|
||||||
})
|
})
|
||||||
|
|
||||||
it("marks all entries as read", () => {
|
it("marks all entries as read", () => {
|
||||||
@@ -140,6 +135,6 @@ describe("entries", () => {
|
|||||||
{ id: "3", read: true },
|
{ id: "3", read: true },
|
||||||
{ id: "4", read: true },
|
{ id: "4", read: true },
|
||||||
])
|
])
|
||||||
expect(mockClient.category.markEntries).toHaveBeenCalledWith({ id: "all", read: true })
|
expect(client.category.markEntries).toHaveBeenCalledWith({ id: "all", read: true })
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ interface EntriesState {
|
|||||||
loading: boolean
|
loading: boolean
|
||||||
search?: string
|
search?: string
|
||||||
scrollingToEntry: boolean
|
scrollingToEntry: boolean
|
||||||
|
markAllAsReadConfirmationDialogOpen: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
const initialState: EntriesState = {
|
const initialState: EntriesState = {
|
||||||
@@ -41,6 +42,7 @@ const initialState: EntriesState = {
|
|||||||
hasMore: true,
|
hasMore: true,
|
||||||
loading: false,
|
loading: false,
|
||||||
scrollingToEntry: false,
|
scrollingToEntry: false,
|
||||||
|
markAllAsReadConfirmationDialogOpen: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const entriesSlice = createSlice({
|
export const entriesSlice = createSlice({
|
||||||
@@ -61,6 +63,9 @@ export const entriesSlice = createSlice({
|
|||||||
setSearch: (state, action: PayloadAction<string>) => {
|
setSearch: (state, action: PayloadAction<string>) => {
|
||||||
state.search = action.payload
|
state.search = action.payload
|
||||||
},
|
},
|
||||||
|
setMarkAllAsReadConfirmationDialogOpen: (state, action: PayloadAction<boolean>) => {
|
||||||
|
state.markAllAsReadConfirmationDialogOpen = action.payload
|
||||||
|
},
|
||||||
},
|
},
|
||||||
extraReducers: builder => {
|
extraReducers: builder => {
|
||||||
builder.addCase(markEntry.pending, (state, action) => {
|
builder.addCase(markEntry.pending, (state, action) => {
|
||||||
@@ -119,4 +124,4 @@ export const entriesSlice = createSlice({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
export const { setSearch } = entriesSlice.actions
|
export const { setSearch, setMarkAllAsReadConfirmationDialogOpen } = entriesSlice.actions
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { createAppAsyncThunk } from "app/async-thunk"
|
import { createAppAsyncThunk } from "app/async-thunk"
|
||||||
import { client } from "app/client"
|
import { client } from "app/client"
|
||||||
import { Constants } from "app/constants"
|
import { Constants } from "app/constants"
|
||||||
import { type EntrySource, type EntrySourceType, entriesSlice, setSearch } from "app/entries/slice"
|
import { type EntrySource, type EntrySourceType, entriesSlice, setMarkAllAsReadConfirmationDialogOpen, setSearch } from "app/entries/slice"
|
||||||
import type { RootState } from "app/store"
|
import type { RootState } from "app/store"
|
||||||
import { reloadTree } from "app/tree/thunks"
|
import { reloadTree } from "app/tree/thunks"
|
||||||
import type { Entry, MarkRequest, TagRequest } from "app/types"
|
import type { Entry, MarkRequest, TagRequest } from "app/types"
|
||||||
@@ -11,6 +11,7 @@ import { flushSync } from "react-dom"
|
|||||||
|
|
||||||
const getEndpoint = (sourceType: EntrySourceType) =>
|
const getEndpoint = (sourceType: EntrySourceType) =>
|
||||||
sourceType === "category" || sourceType === "tag" ? client.category.getEntries : client.feed.getEntries
|
sourceType === "category" || sourceType === "tag" ? client.category.getEntries : client.feed.getEntries
|
||||||
|
|
||||||
export const loadEntries = createAppAsyncThunk(
|
export const loadEntries = createAppAsyncThunk(
|
||||||
"entries/load",
|
"entries/load",
|
||||||
async (
|
async (
|
||||||
@@ -28,6 +29,7 @@ export const loadEntries = createAppAsyncThunk(
|
|||||||
return result.data
|
return result.data
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const loadMoreEntries = createAppAsyncThunk("entries/loadMore", async (_, thunkApi) => {
|
export const loadMoreEntries = createAppAsyncThunk("entries/loadMore", async (_, thunkApi) => {
|
||||||
const state = thunkApi.getState()
|
const state = thunkApi.getState()
|
||||||
const { source } = state.entries
|
const { source } = state.entries
|
||||||
@@ -37,6 +39,7 @@ export const loadMoreEntries = createAppAsyncThunk("entries/loadMore", async (_,
|
|||||||
const result = await endpoint(buildGetEntriesPaginatedRequest(state, source, offset))
|
const result = await endpoint(buildGetEntriesPaginatedRequest(state, source, offset))
|
||||||
return result.data
|
return result.data
|
||||||
})
|
})
|
||||||
|
|
||||||
const buildGetEntriesPaginatedRequest = (state: RootState, source: EntrySource, offset: number) => ({
|
const buildGetEntriesPaginatedRequest = (state: RootState, source: EntrySource, offset: number) => ({
|
||||||
id: source.type === "tag" ? Constants.categories.all.id : source.id,
|
id: source.type === "tag" ? Constants.categories.all.id : source.id,
|
||||||
order: state.user.settings?.readingOrder,
|
order: state.user.settings?.readingOrder,
|
||||||
@@ -46,15 +49,18 @@ const buildGetEntriesPaginatedRequest = (state: RootState, source: EntrySource,
|
|||||||
tag: source.type === "tag" ? source.id : undefined,
|
tag: source.type === "tag" ? source.id : undefined,
|
||||||
keywords: state.entries.search,
|
keywords: state.entries.search,
|
||||||
})
|
})
|
||||||
export const reloadEntries = createAppAsyncThunk("entries/reload", (arg, thunkApi) => {
|
|
||||||
|
export const reloadEntries = createAppAsyncThunk("entries/reload", (_, thunkApi) => {
|
||||||
const state = thunkApi.getState()
|
const state = thunkApi.getState()
|
||||||
thunkApi.dispatch(loadEntries({ source: state.entries.source, clearSearch: false }))
|
thunkApi.dispatch(loadEntries({ source: state.entries.source, clearSearch: false }))
|
||||||
})
|
})
|
||||||
|
|
||||||
export const search = createAppAsyncThunk("entries/search", (arg: string, thunkApi) => {
|
export const search = createAppAsyncThunk("entries/search", (arg: string, thunkApi) => {
|
||||||
const state = thunkApi.getState()
|
const state = thunkApi.getState()
|
||||||
thunkApi.dispatch(setSearch(arg))
|
thunkApi.dispatch(setSearch(arg))
|
||||||
thunkApi.dispatch(loadEntries({ source: state.entries.source, clearSearch: false }))
|
thunkApi.dispatch(loadEntries({ source: state.entries.source, clearSearch: false }))
|
||||||
})
|
})
|
||||||
|
|
||||||
export const markEntry = createAppAsyncThunk(
|
export const markEntry = createAppAsyncThunk(
|
||||||
"entries/entry/mark",
|
"entries/entry/mark",
|
||||||
(arg: { entry: Entry; read: boolean }) => {
|
(arg: { entry: Entry; read: boolean }) => {
|
||||||
@@ -67,6 +73,7 @@ export const markEntry = createAppAsyncThunk(
|
|||||||
condition: arg => arg.entry.markable && arg.entry.read !== arg.read,
|
condition: arg => arg.entry.markable && arg.entry.read !== arg.read,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const markMultipleEntries = createAppAsyncThunk(
|
export const markMultipleEntries = createAppAsyncThunk(
|
||||||
"entries/entry/markMultiple",
|
"entries/entry/markMultiple",
|
||||||
async (
|
async (
|
||||||
@@ -84,6 +91,7 @@ export const markMultipleEntries = createAppAsyncThunk(
|
|||||||
thunkApi.dispatch(reloadTree())
|
thunkApi.dispatch(reloadTree())
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const markEntriesUpToEntry = createAppAsyncThunk("entries/entry/upToEntry", (arg: Entry, thunkApi) => {
|
export const markEntriesUpToEntry = createAppAsyncThunk("entries/entry/upToEntry", (arg: Entry, thunkApi) => {
|
||||||
const state = thunkApi.getState()
|
const state = thunkApi.getState()
|
||||||
const { entries } = state.entries
|
const { entries } = state.entries
|
||||||
@@ -98,6 +106,7 @@ export const markEntriesUpToEntry = createAppAsyncThunk("entries/entry/upToEntry
|
|||||||
})
|
})
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
export const markAllEntries = createAppAsyncThunk(
|
export const markAllEntries = createAppAsyncThunk(
|
||||||
"entries/entry/markAll",
|
"entries/entry/markAll",
|
||||||
async (
|
async (
|
||||||
@@ -113,6 +122,33 @@ export const markAllEntries = createAppAsyncThunk(
|
|||||||
thunkApi.dispatch(reloadTree())
|
thunkApi.dispatch(reloadTree())
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
export const markAllAsReadWithConfirmationIfRequired = createAppAsyncThunk(
|
||||||
|
"entries/entry/markAllAsReadWithConfirmationIfRequired",
|
||||||
|
async (_, thunkApi) => {
|
||||||
|
const state = thunkApi.getState()
|
||||||
|
const source = state.entries.source
|
||||||
|
const entriesTimestamp = state.entries.timestamp ?? Date.now()
|
||||||
|
const markAllAsReadConfirmation = state.user.settings?.markAllAsReadConfirmation
|
||||||
|
|
||||||
|
if (markAllAsReadConfirmation) {
|
||||||
|
thunkApi.dispatch(setMarkAllAsReadConfirmationDialogOpen(true))
|
||||||
|
} else {
|
||||||
|
thunkApi.dispatch(
|
||||||
|
markAllEntries({
|
||||||
|
sourceType: source.type,
|
||||||
|
req: {
|
||||||
|
id: source.id,
|
||||||
|
read: true,
|
||||||
|
olderThan: Date.now(),
|
||||||
|
insertedBefore: entriesTimestamp,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
export const starEntry = createAppAsyncThunk(
|
export const starEntry = createAppAsyncThunk(
|
||||||
"entries/entry/star",
|
"entries/entry/star",
|
||||||
(arg: { entry: Entry; starred: boolean }) => {
|
(arg: { entry: Entry; starred: boolean }) => {
|
||||||
@@ -126,6 +162,7 @@ export const starEntry = createAppAsyncThunk(
|
|||||||
condition: arg => arg.entry.markable && arg.entry.starred !== arg.starred,
|
condition: arg => arg.entry.markable && arg.entry.starred !== arg.starred,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const selectEntry = createAppAsyncThunk(
|
export const selectEntry = createAppAsyncThunk(
|
||||||
"entries/entry/select",
|
"entries/entry/select",
|
||||||
(
|
(
|
||||||
@@ -191,6 +228,7 @@ export const selectEntry = createAppAsyncThunk(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
const scrollToEntry = (entryElement: HTMLElement, margin: number, scrollSpeed: number | undefined, onScrollEnded: () => void) => {
|
const scrollToEntry = (entryElement: HTMLElement, margin: number, scrollSpeed: number | undefined, onScrollEnded: () => void) => {
|
||||||
const header = document.getElementById(Constants.dom.headerId)?.getBoundingClientRect()
|
const header = document.getElementById(Constants.dom.headerId)?.getBoundingClientRect()
|
||||||
const offset = (header?.bottom ?? 0) + margin
|
const offset = (header?.bottom ?? 0) + margin
|
||||||
@@ -228,6 +266,7 @@ export const selectPreviousEntry = createAppAsyncThunk(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const selectNextEntry = createAppAsyncThunk(
|
export const selectNextEntry = createAppAsyncThunk(
|
||||||
"entries/entry/selectNext",
|
"entries/entry/selectNext",
|
||||||
async (
|
async (
|
||||||
@@ -261,6 +300,7 @@ export const selectNextEntry = createAppAsyncThunk(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const tagEntry = createAppAsyncThunk("entries/entry/tag", async (arg: TagRequest, thunkApi) => {
|
export const tagEntry = createAppAsyncThunk("entries/entry/tag", async (arg: TagRequest, thunkApi) => {
|
||||||
await client.entry.tag(arg)
|
await client.entry.tag(arg)
|
||||||
thunkApi.dispatch(reloadTags())
|
thunkApi.dispatch(reloadTags())
|
||||||
|
|||||||
@@ -3,43 +3,55 @@ import { Constants } from "app/constants"
|
|||||||
import { redirectTo } from "app/redirect/slice"
|
import { redirectTo } from "app/redirect/slice"
|
||||||
|
|
||||||
export const redirectToLogin = createAppAsyncThunk("redirect/login", (_, thunkApi) => thunkApi.dispatch(redirectTo("/login")))
|
export const redirectToLogin = createAppAsyncThunk("redirect/login", (_, thunkApi) => thunkApi.dispatch(redirectTo("/login")))
|
||||||
|
|
||||||
export const redirectToRegistration = createAppAsyncThunk("redirect/register", (_, thunkApi) => thunkApi.dispatch(redirectTo("/register")))
|
export const redirectToRegistration = createAppAsyncThunk("redirect/register", (_, thunkApi) => thunkApi.dispatch(redirectTo("/register")))
|
||||||
export const redirectToPasswordRecovery = createAppAsyncThunk("redirect/passwordRecovery", (_, thunkApi) =>
|
|
||||||
thunkApi.dispatch(redirectTo("/passwordRecovery"))
|
|
||||||
)
|
|
||||||
export const redirectToApiDocumentation = createAppAsyncThunk("redirect/api", (_, thunkApi) => thunkApi.dispatch(redirectTo("/api")))
|
export const redirectToApiDocumentation = createAppAsyncThunk("redirect/api", (_, thunkApi) => thunkApi.dispatch(redirectTo("/api")))
|
||||||
|
|
||||||
export const redirectToSelectedSource = createAppAsyncThunk("redirect/selectedSource", (_, thunkApi) => {
|
export const redirectToSelectedSource = createAppAsyncThunk("redirect/selectedSource", (_, thunkApi) => {
|
||||||
const { source } = thunkApi.getState().entries
|
const { source } = thunkApi.getState().entries
|
||||||
thunkApi.dispatch(redirectTo(`/app/${source.type}/${source.id}`))
|
thunkApi.dispatch(redirectTo(`/app/${source.type}/${source.id}`))
|
||||||
})
|
})
|
||||||
|
|
||||||
export const redirectToCategory = createAppAsyncThunk("redirect/category", (id: string, thunkApi) =>
|
export const redirectToCategory = createAppAsyncThunk("redirect/category", (id: string, thunkApi) =>
|
||||||
thunkApi.dispatch(redirectTo(`/app/category/${id}`))
|
thunkApi.dispatch(redirectTo(`/app/category/${id}`))
|
||||||
)
|
)
|
||||||
|
|
||||||
export const redirectToRootCategory = createAppAsyncThunk(
|
export const redirectToRootCategory = createAppAsyncThunk(
|
||||||
"redirect/category/root",
|
"redirect/category/root",
|
||||||
async (_, thunkApi) => await thunkApi.dispatch(redirectToCategory(Constants.categories.all.id))
|
async (_, thunkApi) => await thunkApi.dispatch(redirectToCategory(Constants.categories.all.id))
|
||||||
)
|
)
|
||||||
|
|
||||||
export const redirectToCategoryDetails = createAppAsyncThunk("redirect/category/details", (id: string, thunkApi) =>
|
export const redirectToCategoryDetails = createAppAsyncThunk("redirect/category/details", (id: string, thunkApi) =>
|
||||||
thunkApi.dispatch(redirectTo(`/app/category/${id}/details`))
|
thunkApi.dispatch(redirectTo(`/app/category/${id}/details`))
|
||||||
)
|
)
|
||||||
|
|
||||||
export const redirectToFeed = createAppAsyncThunk("redirect/feed", (id: string | number, thunkApi) =>
|
export const redirectToFeed = createAppAsyncThunk("redirect/feed", (id: string | number, thunkApi) =>
|
||||||
thunkApi.dispatch(redirectTo(`/app/feed/${id}`))
|
thunkApi.dispatch(redirectTo(`/app/feed/${id}`))
|
||||||
)
|
)
|
||||||
|
|
||||||
export const redirectToFeedDetails = createAppAsyncThunk("redirect/feed/details", (id: string, thunkApi) =>
|
export const redirectToFeedDetails = createAppAsyncThunk("redirect/feed/details", (id: string, thunkApi) =>
|
||||||
thunkApi.dispatch(redirectTo(`/app/feed/${id}/details`))
|
thunkApi.dispatch(redirectTo(`/app/feed/${id}/details`))
|
||||||
)
|
)
|
||||||
|
|
||||||
export const redirectToTag = createAppAsyncThunk("redirect/tag", (id: string, thunkApi) => thunkApi.dispatch(redirectTo(`/app/tag/${id}`)))
|
export const redirectToTag = createAppAsyncThunk("redirect/tag", (id: string, thunkApi) => thunkApi.dispatch(redirectTo(`/app/tag/${id}`)))
|
||||||
|
|
||||||
export const redirectToTagDetails = createAppAsyncThunk("redirect/tag/details", (id: string, thunkApi) =>
|
export const redirectToTagDetails = createAppAsyncThunk("redirect/tag/details", (id: string, thunkApi) =>
|
||||||
thunkApi.dispatch(redirectTo(`/app/tag/${id}/details`))
|
thunkApi.dispatch(redirectTo(`/app/tag/${id}/details`))
|
||||||
)
|
)
|
||||||
|
|
||||||
export const redirectToAdd = createAppAsyncThunk("redirect/add", (_, thunkApi) => thunkApi.dispatch(redirectTo("/app/add")))
|
export const redirectToAdd = createAppAsyncThunk("redirect/add", (_, thunkApi) => thunkApi.dispatch(redirectTo("/app/add")))
|
||||||
|
|
||||||
export const redirectToSettings = createAppAsyncThunk("redirect/settings", (_, thunkApi) => thunkApi.dispatch(redirectTo("/app/settings")))
|
export const redirectToSettings = createAppAsyncThunk("redirect/settings", (_, thunkApi) => thunkApi.dispatch(redirectTo("/app/settings")))
|
||||||
|
|
||||||
export const redirectToAdminUsers = createAppAsyncThunk("redirect/admin/users", (_, thunkApi) =>
|
export const redirectToAdminUsers = createAppAsyncThunk("redirect/admin/users", (_, thunkApi) =>
|
||||||
thunkApi.dispatch(redirectTo("/app/admin/users"))
|
thunkApi.dispatch(redirectTo("/app/admin/users"))
|
||||||
)
|
)
|
||||||
|
|
||||||
export const redirectToMetrics = createAppAsyncThunk("redirect/admin/metrics", (_, thunkApi) =>
|
export const redirectToMetrics = createAppAsyncThunk("redirect/admin/metrics", (_, thunkApi) =>
|
||||||
thunkApi.dispatch(redirectTo("/app/admin/metrics"))
|
thunkApi.dispatch(redirectTo("/app/admin/metrics"))
|
||||||
)
|
)
|
||||||
|
|
||||||
export const redirectToDonate = createAppAsyncThunk("redirect/donate", (_, thunkApi) => thunkApi.dispatch(redirectTo("/app/donate")))
|
export const redirectToDonate = createAppAsyncThunk("redirect/donate", (_, thunkApi) => thunkApi.dispatch(redirectTo("/app/donate")))
|
||||||
|
|
||||||
export const redirectToAbout = createAppAsyncThunk("redirect/about", (_, thunkApi) => thunkApi.dispatch(redirectTo("/app/about")))
|
export const redirectToAbout = createAppAsyncThunk("redirect/about", (_, thunkApi) => thunkApi.dispatch(redirectTo("/app/about")))
|
||||||
|
|||||||
@@ -17,19 +17,9 @@ export const reducers = {
|
|||||||
|
|
||||||
const loadLocalSettings = (): LocalSettings => {
|
const loadLocalSettings = (): LocalSettings => {
|
||||||
const json = localStorage.getItem("commafeed-local-settings")
|
const json = localStorage.getItem("commafeed-local-settings")
|
||||||
if (json) {
|
|
||||||
return JSON.parse(json)
|
|
||||||
}
|
|
||||||
|
|
||||||
// load old settings
|
|
||||||
const viewMode = localStorage.getItem("view-mode")
|
|
||||||
const sidebarWidth = localStorage.getItem("sidebar-width")
|
|
||||||
const announcementHash = localStorage.getItem("announcement-hash")
|
|
||||||
return {
|
return {
|
||||||
...initialLocalSettings,
|
...initialLocalSettings,
|
||||||
viewMode: viewMode ? JSON.parse(viewMode) : initialLocalSettings.viewMode,
|
...(json ? JSON.parse(json) : {}),
|
||||||
sidebarWidth: sidebarWidth ? JSON.parse(sidebarWidth) : initialLocalSettings.sidebarWidth,
|
|
||||||
announcementHash: announcementHash ? JSON.parse(announcementHash) : initialLocalSettings.announcementHash,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,80 @@
|
|||||||
import { createAppAsyncThunk } from "app/async-thunk"
|
import { createAppAsyncThunk } from "app/async-thunk"
|
||||||
import { client } from "app/client"
|
import { client } from "app/client"
|
||||||
import type { CollapseRequest } from "app/types"
|
import { redirectToCategory, redirectToFeed } from "app/redirect/thunks"
|
||||||
|
import { incrementUnreadCount } from "app/tree/slice"
|
||||||
|
import type { CollapseRequest, Subscription } from "app/types"
|
||||||
|
import { flattenCategoryTree, visitCategoryTree } from "app/utils"
|
||||||
|
|
||||||
export const reloadTree = createAppAsyncThunk("tree/reload", async () => await client.category.getRoot().then(r => r.data))
|
export const reloadTree = createAppAsyncThunk("tree/reload", async () => await client.category.getRoot().then(r => r.data))
|
||||||
|
|
||||||
export const collapseTreeCategory = createAppAsyncThunk(
|
export const collapseTreeCategory = createAppAsyncThunk(
|
||||||
"tree/category/collapse",
|
"tree/category/collapse",
|
||||||
async (req: CollapseRequest) => await client.category.collapse(req)
|
async (req: CollapseRequest) => await client.category.collapse(req).then(r => r.data)
|
||||||
|
)
|
||||||
|
|
||||||
|
export const selectNextUnreadTreeItem = createAppAsyncThunk(
|
||||||
|
"tree/selectNextUnreadItem",
|
||||||
|
(
|
||||||
|
arg: {
|
||||||
|
direction: "forward" | "backward"
|
||||||
|
},
|
||||||
|
thunkApi
|
||||||
|
) => {
|
||||||
|
const state = thunkApi.getState()
|
||||||
|
const root = state.tree.rootCategory
|
||||||
|
if (!root) return
|
||||||
|
|
||||||
|
const { source } = state.entries
|
||||||
|
if (source.type === "category") {
|
||||||
|
const categories = flattenCategoryTree(root)
|
||||||
|
if (arg.direction === "backward") categories.reverse()
|
||||||
|
|
||||||
|
const index = categories.findIndex(c => c.id === source.id)
|
||||||
|
if (index === -1) return
|
||||||
|
|
||||||
|
for (let i = index + 1; i < categories.length; i++) {
|
||||||
|
const c = categories[i]
|
||||||
|
if (c.feeds.some(f => f.unread > 0)) {
|
||||||
|
return thunkApi.dispatch(redirectToCategory(String(c.id)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (source.type === "feed") {
|
||||||
|
const feeds: Subscription[] = []
|
||||||
|
visitCategoryTree(root, c => feeds.push(...c.feeds), { childrenFirst: true })
|
||||||
|
if (arg.direction === "backward") feeds.reverse()
|
||||||
|
|
||||||
|
const index = feeds.findIndex(f => f.id === +source.id)
|
||||||
|
if (index === -1) return
|
||||||
|
|
||||||
|
for (let i = index + 1; i < feeds.length; i++) {
|
||||||
|
const f = feeds[i]
|
||||||
|
if (f.unread > 0) {
|
||||||
|
return thunkApi.dispatch(redirectToFeed(String(f.id)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
export const newFeedEntriesDiscovered = createAppAsyncThunk(
|
||||||
|
"tree/new-feed-entries-discovered",
|
||||||
|
async ({ feedId, amount }: { feedId: number; amount: number }, thunkApi) => {
|
||||||
|
const root = thunkApi.getState().tree.rootCategory
|
||||||
|
if (!root) return
|
||||||
|
|
||||||
|
const feed = flattenCategoryTree(root)
|
||||||
|
.flatMap(c => c.feeds)
|
||||||
|
.some(f => f.id === feedId)
|
||||||
|
if (!feed) {
|
||||||
|
// feed not found in the tree, reload the tree completely
|
||||||
|
thunkApi.dispatch(reloadTree())
|
||||||
|
} else {
|
||||||
|
thunkApi.dispatch(
|
||||||
|
incrementUnreadCount({
|
||||||
|
feedId,
|
||||||
|
amount,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
119
commafeed-client/src/app/tree/tree.test.ts
Normal file
119
commafeed-client/src/app/tree/tree.test.ts
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
import { configureStore } from "@reduxjs/toolkit"
|
||||||
|
import { type RootState, reducers } from "app/store"
|
||||||
|
import { selectNextUnreadTreeItem } from "app/tree/thunks"
|
||||||
|
import type { Category, Subscription } from "app/types"
|
||||||
|
import { describe, expect, it } from "vitest"
|
||||||
|
|
||||||
|
const createCategory = (id: string): Category => ({
|
||||||
|
id,
|
||||||
|
name: id,
|
||||||
|
children: [],
|
||||||
|
feeds: [],
|
||||||
|
expanded: true,
|
||||||
|
position: 0,
|
||||||
|
})
|
||||||
|
|
||||||
|
const createFeed = (id: number, unread: number): Subscription => ({
|
||||||
|
id,
|
||||||
|
name: String(id),
|
||||||
|
unread,
|
||||||
|
errorCount: 0,
|
||||||
|
position: 0,
|
||||||
|
feedUrl: "",
|
||||||
|
feedLink: "",
|
||||||
|
iconUrl: "",
|
||||||
|
})
|
||||||
|
|
||||||
|
const root = createCategory("root")
|
||||||
|
|
||||||
|
const catA = createCategory("catA")
|
||||||
|
catA.feeds.push(createFeed(1, 0), createFeed(2, 0), createFeed(3, 1))
|
||||||
|
|
||||||
|
const catB = createCategory("catB")
|
||||||
|
|
||||||
|
const catC = createCategory("catC")
|
||||||
|
catC.feeds.push(createFeed(4, 1))
|
||||||
|
|
||||||
|
root.children.push(catA, catB, catC)
|
||||||
|
|
||||||
|
describe("selectNextUnreadTreeItem", () => {
|
||||||
|
it("selects the next unread category", async () => {
|
||||||
|
const store = configureStore({
|
||||||
|
reducer: reducers,
|
||||||
|
preloadedState: {
|
||||||
|
tree: {
|
||||||
|
rootCategory: root,
|
||||||
|
},
|
||||||
|
entries: {
|
||||||
|
source: {
|
||||||
|
type: "category",
|
||||||
|
id: "catA",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} as RootState,
|
||||||
|
})
|
||||||
|
|
||||||
|
await store.dispatch(selectNextUnreadTreeItem({ direction: "forward" }))
|
||||||
|
expect(store.getState().redirect.to).toBe("/app/category/catC")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("selects the previous unread category", async () => {
|
||||||
|
const store = configureStore({
|
||||||
|
reducer: reducers,
|
||||||
|
preloadedState: {
|
||||||
|
tree: {
|
||||||
|
rootCategory: root,
|
||||||
|
},
|
||||||
|
entries: {
|
||||||
|
source: {
|
||||||
|
type: "category",
|
||||||
|
id: "catC",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} as RootState,
|
||||||
|
})
|
||||||
|
|
||||||
|
await store.dispatch(selectNextUnreadTreeItem({ direction: "backward" }))
|
||||||
|
expect(store.getState().redirect.to).toBe("/app/category/catA")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("selects the next unread feed", async () => {
|
||||||
|
const store = configureStore({
|
||||||
|
reducer: reducers,
|
||||||
|
preloadedState: {
|
||||||
|
tree: {
|
||||||
|
rootCategory: root,
|
||||||
|
},
|
||||||
|
entries: {
|
||||||
|
source: {
|
||||||
|
type: "feed",
|
||||||
|
id: "1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} as RootState,
|
||||||
|
})
|
||||||
|
|
||||||
|
await store.dispatch(selectNextUnreadTreeItem({ direction: "forward" }))
|
||||||
|
expect(store.getState().redirect.to).toBe("/app/feed/3")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("selects the previous unread feed", async () => {
|
||||||
|
const store = configureStore({
|
||||||
|
reducer: reducers,
|
||||||
|
preloadedState: {
|
||||||
|
tree: {
|
||||||
|
rootCategory: root,
|
||||||
|
},
|
||||||
|
entries: {
|
||||||
|
source: {
|
||||||
|
type: "feed",
|
||||||
|
id: "4",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} as RootState,
|
||||||
|
})
|
||||||
|
|
||||||
|
await store.dispatch(selectNextUnreadTreeItem({ direction: "backward" }))
|
||||||
|
expect(store.getState().redirect.to).toBe("/app/feed/3")
|
||||||
|
})
|
||||||
|
})
|
||||||
@@ -252,6 +252,7 @@ export interface Settings {
|
|||||||
mobileFooter: boolean
|
mobileFooter: boolean
|
||||||
unreadCountTitle: boolean
|
unreadCountTitle: boolean
|
||||||
unreadCountFavicon: boolean
|
unreadCountFavicon: boolean
|
||||||
|
primaryColor?: string
|
||||||
sharingSettings: SharingSettings
|
sharingSettings: SharingSettings
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,6 +260,7 @@ export interface LocalSettings {
|
|||||||
viewMode: ViewMode
|
viewMode: ViewMode
|
||||||
sidebarWidth: number
|
sidebarWidth: number
|
||||||
announcementHash: string
|
announcementHash: string
|
||||||
|
fontSizePercentage: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface StarRequest {
|
export interface StarRequest {
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import {
|
|||||||
changeLanguage,
|
changeLanguage,
|
||||||
changeMarkAllAsReadConfirmation,
|
changeMarkAllAsReadConfirmation,
|
||||||
changeMobileFooter,
|
changeMobileFooter,
|
||||||
|
changePrimaryColor,
|
||||||
changeReadingMode,
|
changeReadingMode,
|
||||||
changeReadingOrder,
|
changeReadingOrder,
|
||||||
changeScrollMarks,
|
changeScrollMarks,
|
||||||
@@ -35,6 +36,7 @@ export const initialLocalSettings: LocalSettings = {
|
|||||||
viewMode: "detailed",
|
viewMode: "detailed",
|
||||||
sidebarWidth: 360,
|
sidebarWidth: 360,
|
||||||
announcementHash: "no-hash",
|
announcementHash: "no-hash",
|
||||||
|
fontSizePercentage: 100,
|
||||||
}
|
}
|
||||||
|
|
||||||
const initialState: UserState = {
|
const initialState: UserState = {
|
||||||
@@ -48,6 +50,9 @@ export const userSlice = createSlice({
|
|||||||
setViewMode: (state, action: PayloadAction<ViewMode>) => {
|
setViewMode: (state, action: PayloadAction<ViewMode>) => {
|
||||||
state.localSettings.viewMode = action.payload
|
state.localSettings.viewMode = action.payload
|
||||||
},
|
},
|
||||||
|
setFontSizePercentage: (state, action: PayloadAction<number>) => {
|
||||||
|
state.localSettings.fontSizePercentage = action.payload
|
||||||
|
},
|
||||||
setSidebarWidth: (state, action: PayloadAction<number>) => {
|
setSidebarWidth: (state, action: PayloadAction<number>) => {
|
||||||
state.localSettings.sidebarWidth = action.payload
|
state.localSettings.sidebarWidth = action.payload
|
||||||
},
|
},
|
||||||
@@ -125,6 +130,10 @@ export const userSlice = createSlice({
|
|||||||
if (!state.settings) return
|
if (!state.settings) return
|
||||||
state.settings.unreadCountFavicon = action.meta.arg
|
state.settings.unreadCountFavicon = action.meta.arg
|
||||||
})
|
})
|
||||||
|
builder.addCase(changePrimaryColor.pending, (state, action) => {
|
||||||
|
if (!state.settings) return
|
||||||
|
state.settings.primaryColor = action.meta.arg
|
||||||
|
})
|
||||||
builder.addCase(changeSharingSetting.pending, (state, action) => {
|
builder.addCase(changeSharingSetting.pending, (state, action) => {
|
||||||
if (!state.settings) return
|
if (!state.settings) return
|
||||||
state.settings.sharingSettings[action.meta.arg.site] = action.meta.arg.value
|
state.settings.sharingSettings[action.meta.arg.site] = action.meta.arg.value
|
||||||
@@ -144,6 +153,7 @@ export const userSlice = createSlice({
|
|||||||
changeMobileFooter.fulfilled,
|
changeMobileFooter.fulfilled,
|
||||||
changeUnreadCountTitle.fulfilled,
|
changeUnreadCountTitle.fulfilled,
|
||||||
changeUnreadCountFavicon.fulfilled,
|
changeUnreadCountFavicon.fulfilled,
|
||||||
|
changePrimaryColor.fulfilled,
|
||||||
changeSharingSetting.fulfilled
|
changeSharingSetting.fulfilled
|
||||||
),
|
),
|
||||||
() => {
|
() => {
|
||||||
@@ -156,4 +166,4 @@ export const userSlice = createSlice({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
export const { setViewMode, setSidebarWidth, setAnnouncementHash } = userSlice.actions
|
export const { setViewMode, setSidebarWidth, setAnnouncementHash, setFontSizePercentage } = userSlice.actions
|
||||||
|
|||||||
@@ -4,45 +4,55 @@ import { reloadEntries } from "app/entries/thunks"
|
|||||||
import type { IconDisplayMode, ReadingMode, ReadingOrder, ScrollMode, SharingSettings } from "app/types"
|
import type { IconDisplayMode, ReadingMode, ReadingOrder, ScrollMode, SharingSettings } from "app/types"
|
||||||
|
|
||||||
export const reloadSettings = createAppAsyncThunk("settings/reload", async () => await client.user.getSettings().then(r => r.data))
|
export const reloadSettings = createAppAsyncThunk("settings/reload", async () => await client.user.getSettings().then(r => r.data))
|
||||||
|
|
||||||
export const reloadProfile = createAppAsyncThunk("profile/reload", async () => await client.user.getProfile().then(r => r.data))
|
export const reloadProfile = createAppAsyncThunk("profile/reload", async () => await client.user.getProfile().then(r => r.data))
|
||||||
|
|
||||||
export const reloadTags = createAppAsyncThunk("entries/tags", async () => await client.entry.getTags().then(r => r.data))
|
export const reloadTags = createAppAsyncThunk("entries/tags", async () => await client.entry.getTags().then(r => r.data))
|
||||||
|
|
||||||
export const changeReadingMode = createAppAsyncThunk("settings/readingMode", (readingMode: ReadingMode, thunkApi) => {
|
export const changeReadingMode = createAppAsyncThunk("settings/readingMode", (readingMode: ReadingMode, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, readingMode })
|
client.user.saveSettings({ ...settings, readingMode })
|
||||||
thunkApi.dispatch(reloadEntries())
|
thunkApi.dispatch(reloadEntries())
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeReadingOrder = createAppAsyncThunk("settings/readingOrder", (readingOrder: ReadingOrder, thunkApi) => {
|
export const changeReadingOrder = createAppAsyncThunk("settings/readingOrder", (readingOrder: ReadingOrder, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, readingOrder })
|
client.user.saveSettings({ ...settings, readingOrder })
|
||||||
thunkApi.dispatch(reloadEntries())
|
thunkApi.dispatch(reloadEntries())
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeLanguage = createAppAsyncThunk("settings/language", (language: string, thunkApi) => {
|
export const changeLanguage = createAppAsyncThunk("settings/language", (language: string, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, language })
|
client.user.saveSettings({ ...settings, language })
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeScrollSpeed = createAppAsyncThunk("settings/scrollSpeed", (speed: boolean, thunkApi) => {
|
export const changeScrollSpeed = createAppAsyncThunk("settings/scrollSpeed", (speed: boolean, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, scrollSpeed: speed ? 400 : 0 })
|
client.user.saveSettings({ ...settings, scrollSpeed: speed ? 400 : 0 })
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeShowRead = createAppAsyncThunk("settings/showRead", (showRead: boolean, thunkApi) => {
|
export const changeShowRead = createAppAsyncThunk("settings/showRead", (showRead: boolean, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, showRead })
|
client.user.saveSettings({ ...settings, showRead })
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeScrollMarks = createAppAsyncThunk("settings/scrollMarks", (scrollMarks: boolean, thunkApi) => {
|
export const changeScrollMarks = createAppAsyncThunk("settings/scrollMarks", (scrollMarks: boolean, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, scrollMarks })
|
client.user.saveSettings({ ...settings, scrollMarks })
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeScrollMode = createAppAsyncThunk("settings/scrollMode", (scrollMode: ScrollMode, thunkApi) => {
|
export const changeScrollMode = createAppAsyncThunk("settings/scrollMode", (scrollMode: ScrollMode, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, scrollMode })
|
client.user.saveSettings({ ...settings, scrollMode })
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeEntriesToKeepOnTopWhenScrolling = createAppAsyncThunk(
|
export const changeEntriesToKeepOnTopWhenScrolling = createAppAsyncThunk(
|
||||||
"settings/entriesToKeepOnTopWhenScrolling",
|
"settings/entriesToKeepOnTopWhenScrolling",
|
||||||
(entriesToKeepOnTopWhenScrolling: number, thunkApi) => {
|
(entriesToKeepOnTopWhenScrolling: number, thunkApi) => {
|
||||||
@@ -51,6 +61,7 @@ export const changeEntriesToKeepOnTopWhenScrolling = createAppAsyncThunk(
|
|||||||
client.user.saveSettings({ ...settings, entriesToKeepOnTopWhenScrolling })
|
client.user.saveSettings({ ...settings, entriesToKeepOnTopWhenScrolling })
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const changeStarIconDisplayMode = createAppAsyncThunk(
|
export const changeStarIconDisplayMode = createAppAsyncThunk(
|
||||||
"settings/starIconDisplayMode",
|
"settings/starIconDisplayMode",
|
||||||
(starIconDisplayMode: IconDisplayMode, thunkApi) => {
|
(starIconDisplayMode: IconDisplayMode, thunkApi) => {
|
||||||
@@ -59,6 +70,7 @@ export const changeStarIconDisplayMode = createAppAsyncThunk(
|
|||||||
client.user.saveSettings({ ...settings, starIconDisplayMode })
|
client.user.saveSettings({ ...settings, starIconDisplayMode })
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const changeExternalLinkIconDisplayMode = createAppAsyncThunk(
|
export const changeExternalLinkIconDisplayMode = createAppAsyncThunk(
|
||||||
"settings/externalLinkIconDisplayMode",
|
"settings/externalLinkIconDisplayMode",
|
||||||
(externalLinkIconDisplayMode: IconDisplayMode, thunkApi) => {
|
(externalLinkIconDisplayMode: IconDisplayMode, thunkApi) => {
|
||||||
@@ -67,6 +79,7 @@ export const changeExternalLinkIconDisplayMode = createAppAsyncThunk(
|
|||||||
client.user.saveSettings({ ...settings, externalLinkIconDisplayMode })
|
client.user.saveSettings({ ...settings, externalLinkIconDisplayMode })
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const changeMarkAllAsReadConfirmation = createAppAsyncThunk(
|
export const changeMarkAllAsReadConfirmation = createAppAsyncThunk(
|
||||||
"settings/markAllAsReadConfirmation",
|
"settings/markAllAsReadConfirmation",
|
||||||
(markAllAsReadConfirmation: boolean, thunkApi) => {
|
(markAllAsReadConfirmation: boolean, thunkApi) => {
|
||||||
@@ -75,26 +88,37 @@ export const changeMarkAllAsReadConfirmation = createAppAsyncThunk(
|
|||||||
client.user.saveSettings({ ...settings, markAllAsReadConfirmation })
|
client.user.saveSettings({ ...settings, markAllAsReadConfirmation })
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
export const changeCustomContextMenu = createAppAsyncThunk("settings/customContextMenu", (customContextMenu: boolean, thunkApi) => {
|
export const changeCustomContextMenu = createAppAsyncThunk("settings/customContextMenu", (customContextMenu: boolean, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, customContextMenu })
|
client.user.saveSettings({ ...settings, customContextMenu })
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeMobileFooter = createAppAsyncThunk("settings/mobileFooter", (mobileFooter: boolean, thunkApi) => {
|
export const changeMobileFooter = createAppAsyncThunk("settings/mobileFooter", (mobileFooter: boolean, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, mobileFooter })
|
client.user.saveSettings({ ...settings, mobileFooter })
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeUnreadCountTitle = createAppAsyncThunk("settings/unreadCountTitle", (unreadCountTitle: boolean, thunkApi) => {
|
export const changeUnreadCountTitle = createAppAsyncThunk("settings/unreadCountTitle", (unreadCountTitle: boolean, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, unreadCountTitle })
|
client.user.saveSettings({ ...settings, unreadCountTitle })
|
||||||
})
|
})
|
||||||
|
|
||||||
export const changeUnreadCountFavicon = createAppAsyncThunk("settings/unreadCountFavicon", (unreadCountFavicon: boolean, thunkApi) => {
|
export const changeUnreadCountFavicon = createAppAsyncThunk("settings/unreadCountFavicon", (unreadCountFavicon: boolean, thunkApi) => {
|
||||||
const { settings } = thunkApi.getState().user
|
const { settings } = thunkApi.getState().user
|
||||||
if (!settings) return
|
if (!settings) return
|
||||||
client.user.saveSettings({ ...settings, unreadCountFavicon })
|
client.user.saveSettings({ ...settings, unreadCountFavicon })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
export const changePrimaryColor = createAppAsyncThunk("settings/primaryColor", (primaryColor: string, thunkApi) => {
|
||||||
|
const { settings } = thunkApi.getState().user
|
||||||
|
if (!settings) return
|
||||||
|
client.user.saveSettings({ ...settings, primaryColor })
|
||||||
|
})
|
||||||
|
|
||||||
export const changeSharingSetting = createAppAsyncThunk(
|
export const changeSharingSetting = createAppAsyncThunk(
|
||||||
"settings/sharingSetting",
|
"settings/sharingSetting",
|
||||||
(
|
(
|
||||||
|
|||||||
@@ -1,11 +1,22 @@
|
|||||||
import { throttle } from "throttle-debounce"
|
import { throttle } from "throttle-debounce"
|
||||||
import type { Category } from "./types"
|
import type { Category } from "./types"
|
||||||
|
|
||||||
export function visitCategoryTree(category: Category, visitor: (category: Category) => void): void {
|
export function visitCategoryTree(
|
||||||
visitor(category)
|
category: Category,
|
||||||
for (const child of category.children) {
|
visitor: (category: Category) => void,
|
||||||
visitCategoryTree(child, visitor)
|
options?: {
|
||||||
|
childrenFirst?: boolean
|
||||||
}
|
}
|
||||||
|
): void {
|
||||||
|
const childrenFirst = options?.childrenFirst
|
||||||
|
|
||||||
|
if (!childrenFirst) visitor(category)
|
||||||
|
|
||||||
|
for (const child of category.children) {
|
||||||
|
visitCategoryTree(child, visitor, options)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (childrenFirst) visitor(category)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function flattenCategoryTree(category: Category): Category[] {
|
export function flattenCategoryTree(category: Category): Category[] {
|
||||||
|
|||||||
47
commafeed-client/src/components/ActionButton.test.tsx
Normal file
47
commafeed-client/src/components/ActionButton.test.tsx
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import type { I18nContext } from "@lingui/react"
|
||||||
|
import { MantineProvider } from "@mantine/core"
|
||||||
|
import { fireEvent, render, screen, waitFor } from "@testing-library/react"
|
||||||
|
import { useActionButton } from "hooks/useActionButton"
|
||||||
|
import { describe, expect, it, vi } from "vitest"
|
||||||
|
import { ActionButton } from "./ActionButton"
|
||||||
|
|
||||||
|
vi.mock(import("@lingui/react"), () => ({
|
||||||
|
useLingui: vi.fn().mockReturnValue({
|
||||||
|
_: msg => msg,
|
||||||
|
} as I18nContext),
|
||||||
|
}))
|
||||||
|
vi.mock(import("hooks/useActionButton"))
|
||||||
|
|
||||||
|
const label = "Test Label"
|
||||||
|
const icon = "Test Icon"
|
||||||
|
describe("ActionButton", () => {
|
||||||
|
it("renders Button with label on desktop", () => {
|
||||||
|
vi.mocked(useActionButton).mockReturnValue({ mobile: false, spacing: 0 })
|
||||||
|
|
||||||
|
render(<ActionButton label={label} icon={icon} />, { wrapper: MantineProvider })
|
||||||
|
expect(screen.getByText(label)).toBeInTheDocument()
|
||||||
|
expect(screen.getByText(icon)).toBeInTheDocument()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("renders ActionIcon with tooltip on mobile", async () => {
|
||||||
|
vi.mocked(useActionButton).mockReturnValue({ mobile: true, spacing: 0 })
|
||||||
|
|
||||||
|
render(<ActionButton label={label} icon={icon} />, { wrapper: MantineProvider })
|
||||||
|
expect(screen.queryByText(label)).not.toBeInTheDocument()
|
||||||
|
expect(screen.getByText(icon)).toBeInTheDocument()
|
||||||
|
|
||||||
|
fireEvent.mouseEnter(screen.getByRole("button"))
|
||||||
|
const tooltip = await waitFor(() => screen.getByRole("tooltip"))
|
||||||
|
expect(tooltip).toContainHTML(label)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("calls onClick handler when clicked", () => {
|
||||||
|
vi.mocked(useActionButton).mockReturnValue({ mobile: false, spacing: 0 })
|
||||||
|
const clickListener = vi.fn()
|
||||||
|
|
||||||
|
render(<ActionButton label={label} icon={icon} onClick={clickListener} />, { wrapper: MantineProvider })
|
||||||
|
fireEvent.click(screen.getByRole("button"))
|
||||||
|
|
||||||
|
expect(clickListener).toHaveBeenCalled()
|
||||||
|
})
|
||||||
|
})
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import type { MessageDescriptor } from "@lingui/core"
|
import type { MessageDescriptor } from "@lingui/core"
|
||||||
import { useLingui } from "@lingui/react"
|
import { useLingui } from "@lingui/react"
|
||||||
import { ActionIcon, Button, type ButtonVariant, Tooltip, useMantineTheme } from "@mantine/core"
|
import { ActionIcon, Box, Button, type ButtonVariant, Tooltip, useMantineTheme } from "@mantine/core"
|
||||||
import type { ActionIconVariant } from "@mantine/core/lib/components/ActionIcon/ActionIcon"
|
import type { ActionIconVariant } from "@mantine/core/lib/components/ActionIcon/ActionIcon"
|
||||||
import { Constants } from "app/constants"
|
import { Constants } from "app/constants"
|
||||||
import { useActionButton } from "hooks/useActionButton"
|
import { useActionButton } from "hooks/useActionButton"
|
||||||
import { type MouseEventHandler, type ReactNode, forwardRef } from "react"
|
import { type MouseEventHandler, type ReactNode, forwardRef } from "react"
|
||||||
|
|
||||||
interface ActionButtonProps {
|
interface ActionButtonProps {
|
||||||
|
icon: ReactNode
|
||||||
className?: string
|
className?: string
|
||||||
icon?: ReactNode
|
|
||||||
label?: string | MessageDescriptor
|
label?: string | MessageDescriptor
|
||||||
onClick?: MouseEventHandler
|
onClick?: MouseEventHandler
|
||||||
variant?: ActionIconVariant & ButtonVariant
|
variant?: ActionIconVariant & ButtonVariant
|
||||||
@@ -19,7 +19,7 @@ interface ActionButtonProps {
|
|||||||
/**
|
/**
|
||||||
* Switches between Button with label (desktop) and ActionIcon (mobile)
|
* Switches between Button with label (desktop) and ActionIcon (mobile)
|
||||||
*/
|
*/
|
||||||
export const ActionButton = forwardRef<HTMLButtonElement, ActionButtonProps>((props: ActionButtonProps, ref) => {
|
export const ActionButton = forwardRef<HTMLDivElement, ActionButtonProps>((props: ActionButtonProps, ref) => {
|
||||||
const { mobile } = useActionButton()
|
const { mobile } = useActionButton()
|
||||||
const theme = useMantineTheme()
|
const theme = useMantineTheme()
|
||||||
const { _ } = useLingui()
|
const { _ } = useLingui()
|
||||||
@@ -27,31 +27,36 @@ export const ActionButton = forwardRef<HTMLButtonElement, ActionButtonProps>((pr
|
|||||||
const label = typeof props.label === "string" ? props.label : props.label && _(props.label)
|
const label = typeof props.label === "string" ? props.label : props.label && _(props.label)
|
||||||
const variant = props.variant ?? "subtle"
|
const variant = props.variant ?? "subtle"
|
||||||
const iconOnly = (mobile && !props.showLabelOnMobile) || (!mobile && props.hideLabelOnDesktop)
|
const iconOnly = (mobile && !props.showLabelOnMobile) || (!mobile && props.hideLabelOnDesktop)
|
||||||
return iconOnly ? (
|
|
||||||
<Tooltip label={label} openDelay={Constants.tooltip.delay}>
|
return (
|
||||||
<ActionIcon
|
<Box ref={ref} className="cf-action-button">
|
||||||
ref={ref}
|
{iconOnly && (
|
||||||
color={theme.primaryColor}
|
<Tooltip label={label} openDelay={Constants.tooltip.delay}>
|
||||||
variant={variant}
|
<ActionIcon
|
||||||
className={props.className}
|
color={theme.primaryColor}
|
||||||
onClick={props.onClick}
|
variant={variant}
|
||||||
aria-label={label}
|
className={props.className}
|
||||||
>
|
onClick={props.onClick}
|
||||||
{props.icon}
|
aria-label={label}
|
||||||
</ActionIcon>
|
>
|
||||||
</Tooltip>
|
{props.icon}
|
||||||
) : (
|
</ActionIcon>
|
||||||
<Button
|
</Tooltip>
|
||||||
ref={ref}
|
)}
|
||||||
variant={variant}
|
{!iconOnly && (
|
||||||
size="xs"
|
<Button
|
||||||
className={props.className}
|
variant={variant}
|
||||||
leftSection={props.icon}
|
size="xs"
|
||||||
onClick={props.onClick}
|
className={props.className}
|
||||||
aria-label={label}
|
leftSection={props.icon}
|
||||||
>
|
onClick={props.onClick}
|
||||||
{label}
|
aria-label={label}
|
||||||
</Button>
|
>
|
||||||
|
{label}
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
</Box>
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
ActionButton.displayName = "HeaderButton"
|
ActionButton.displayName = "HeaderButton"
|
||||||
|
|||||||
4
commafeed-client/src/components/DisablePullToRefresh.css
Normal file
4
commafeed-client/src/components/DisablePullToRefresh.css
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
html,
|
||||||
|
body {
|
||||||
|
overscroll-behavior: none;
|
||||||
|
}
|
||||||
@@ -1,15 +1,4 @@
|
|||||||
import { Helmet } from "react-helmet"
|
|
||||||
|
|
||||||
export const DisablePullToRefresh = () => {
|
export const DisablePullToRefresh = () => {
|
||||||
return (
|
import("./DisablePullToRefresh.css")
|
||||||
<Helmet>
|
return <></>
|
||||||
<style type="text/css">
|
|
||||||
{`
|
|
||||||
html, body {
|
|
||||||
overscroll-behavior: none;
|
|
||||||
}
|
|
||||||
`}
|
|
||||||
</style>
|
|
||||||
</Helmet>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,26 @@ export function KeyboardShortcutsHelp() {
|
|||||||
<Kbd>K</Kbd>
|
<Kbd>K</Kbd>
|
||||||
</Table.Td>
|
</Table.Td>
|
||||||
</Table.Tr>
|
</Table.Tr>
|
||||||
|
<Table.Tr>
|
||||||
|
<Table.Td>
|
||||||
|
<Trans>Select next unread feed/category</Trans>
|
||||||
|
</Table.Td>
|
||||||
|
<Table.Td>
|
||||||
|
<Kbd>Shift</Kbd>
|
||||||
|
<span> + </span>
|
||||||
|
<Kbd>J</Kbd>
|
||||||
|
</Table.Td>
|
||||||
|
</Table.Tr>
|
||||||
|
<Table.Tr>
|
||||||
|
<Table.Td>
|
||||||
|
<Trans>Select previous unread feed/category</Trans>
|
||||||
|
</Table.Td>
|
||||||
|
<Table.Td>
|
||||||
|
<Kbd>Shift</Kbd>
|
||||||
|
<span> + </span>
|
||||||
|
<Kbd>K</Kbd>
|
||||||
|
</Table.Td>
|
||||||
|
</Table.Tr>
|
||||||
<Table.Tr>
|
<Table.Tr>
|
||||||
<Table.Td>
|
<Table.Td>
|
||||||
<Trans>Set focus on next entry without opening it</Trans>
|
<Trans>Set focus on next entry without opening it</Trans>
|
||||||
|
|||||||
@@ -0,0 +1,77 @@
|
|||||||
|
import { Trans } from "@lingui/react/macro"
|
||||||
|
import { Button, Code, Group, Modal, Slider, Stack, Text } from "@mantine/core"
|
||||||
|
import { setMarkAllAsReadConfirmationDialogOpen } from "app/entries/slice"
|
||||||
|
import { markAllEntries } from "app/entries/thunks"
|
||||||
|
import { useAppDispatch, useAppSelector } from "app/store"
|
||||||
|
import { useState } from "react"
|
||||||
|
|
||||||
|
export function MarkAllAsReadConfirmationDialog() {
|
||||||
|
const [threshold, setThreshold] = useState(0)
|
||||||
|
const open = useAppSelector(state => state.entries.markAllAsReadConfirmationDialogOpen)
|
||||||
|
const source = useAppSelector(state => state.entries.source)
|
||||||
|
const sourceLabel = useAppSelector(state => state.entries.sourceLabel)
|
||||||
|
const entriesTimestamp = useAppSelector(state => state.entries.timestamp) ?? Date.now()
|
||||||
|
const dispatch = useAppDispatch()
|
||||||
|
|
||||||
|
const onConfirm = () => {
|
||||||
|
dispatch(
|
||||||
|
markAllEntries({
|
||||||
|
sourceType: source.type,
|
||||||
|
req: {
|
||||||
|
id: source.id,
|
||||||
|
read: true,
|
||||||
|
olderThan: Date.now() - threshold * 24 * 60 * 60 * 1000,
|
||||||
|
insertedBefore: entriesTimestamp,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
dispatch(setMarkAllAsReadConfirmationDialogOpen(false))
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
opened={open}
|
||||||
|
onClose={() => dispatch(setMarkAllAsReadConfirmationDialogOpen(false))}
|
||||||
|
title={<Trans>Mark all entries as read</Trans>}
|
||||||
|
>
|
||||||
|
<Stack>
|
||||||
|
<Text size="sm">
|
||||||
|
{threshold === 0 && (
|
||||||
|
<Trans>
|
||||||
|
Are you sure you want to mark all entries of <Code>{sourceLabel}</Code> as read?
|
||||||
|
</Trans>
|
||||||
|
)}
|
||||||
|
{threshold > 0 && (
|
||||||
|
<Trans>
|
||||||
|
Are you sure you want to mark entries older than {threshold} days of <Code>{sourceLabel}</Code> as read?
|
||||||
|
</Trans>
|
||||||
|
)}
|
||||||
|
</Text>
|
||||||
|
<Slider
|
||||||
|
py="xl"
|
||||||
|
min={0}
|
||||||
|
max={28}
|
||||||
|
marks={[
|
||||||
|
{ value: 0, label: "0" },
|
||||||
|
{ value: 7, label: "7" },
|
||||||
|
{ value: 14, label: "14" },
|
||||||
|
{ value: 21, label: "21" },
|
||||||
|
{ value: 28, label: "28" },
|
||||||
|
]}
|
||||||
|
value={threshold}
|
||||||
|
onChange={setThreshold}
|
||||||
|
data-autofocus
|
||||||
|
onKeyDown={e => e.key === "Enter" && onConfirm()}
|
||||||
|
/>
|
||||||
|
<Group justify="flex-end">
|
||||||
|
<Button variant="default" onClick={() => dispatch(setMarkAllAsReadConfirmationDialogOpen(false))}>
|
||||||
|
<Trans>Cancel</Trans>
|
||||||
|
</Button>
|
||||||
|
<Button color="red" onClick={onConfirm}>
|
||||||
|
<Trans>Confirm</Trans>
|
||||||
|
</Button>
|
||||||
|
</Group>
|
||||||
|
</Stack>
|
||||||
|
</Modal>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import { useMobile } from "hooks/useMobile"
|
|||||||
import type { ReactNode } from "react"
|
import type { ReactNode } from "react"
|
||||||
|
|
||||||
interface CodeEditorProps {
|
interface CodeEditorProps {
|
||||||
|
label?: ReactNode
|
||||||
description?: ReactNode
|
description?: ReactNode
|
||||||
language: "css" | "javascript"
|
language: "css" | "javascript"
|
||||||
value?: string
|
value?: string
|
||||||
@@ -19,6 +20,7 @@ export function CodeEditor(props: CodeEditorProps) {
|
|||||||
autosize
|
autosize
|
||||||
minRows={4}
|
minRows={4}
|
||||||
maxRows={15}
|
maxRows={15}
|
||||||
|
label={props.label}
|
||||||
description={props.description}
|
description={props.description}
|
||||||
styles={{
|
styles={{
|
||||||
input: {
|
input: {
|
||||||
@@ -29,7 +31,7 @@ export function CodeEditor(props: CodeEditorProps) {
|
|||||||
onChange={e => props.onChange(e.currentTarget.value)}
|
onChange={e => props.onChange(e.currentTarget.value)}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<Input.Wrapper description={props.description}>
|
<Input.Wrapper label={props.label} description={props.description}>
|
||||||
<RichCodeEditor height="30vh" language={props.language} value={props.value} onChange={props.onChange} />
|
<RichCodeEditor height="30vh" language={props.language} value={props.value} onChange={props.onChange} />
|
||||||
</Input.Wrapper>
|
</Input.Wrapper>
|
||||||
)
|
)
|
||||||
|
|||||||
26
commafeed-client/src/components/content/Content.test.tsx
Normal file
26
commafeed-client/src/components/content/Content.test.tsx
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
import { MantineProvider } from "@mantine/core"
|
||||||
|
import { render } from "@testing-library/react"
|
||||||
|
import { Content } from "components/content/Content"
|
||||||
|
import { describe, expect, it } from "vitest"
|
||||||
|
|
||||||
|
describe("Content component", () => {
|
||||||
|
it("renders basic content", () => {
|
||||||
|
const { container } = render(<Content content="<p>Hello World</p>" />, { wrapper: MantineProvider })
|
||||||
|
expect(container.querySelector("p")).toHaveTextContent("Hello World")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("renders highlighted text when highlight prop is provided", () => {
|
||||||
|
const { container } = render(<Content content="Hello World" highlight="World" />, { wrapper: MantineProvider })
|
||||||
|
expect(container.querySelector("mark")).toHaveTextContent("World")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("renders iframe tag when included in content", () => {
|
||||||
|
const { container } = render(<Content content='<iframe src="https://example.com"></iframe>' />, { wrapper: MantineProvider })
|
||||||
|
expect(container.querySelector("iframe")).toHaveAttribute("src", "https://example.com")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("does not render unsupported tags", () => {
|
||||||
|
const { container } = render(<Content content='<script>alert("test")</script>' />, { wrapper: MantineProvider })
|
||||||
|
expect(container.querySelector("script")).toBeNull()
|
||||||
|
})
|
||||||
|
})
|
||||||
@@ -4,7 +4,7 @@ import { calculatePlaceholderSize } from "app/utils"
|
|||||||
import { ImageWithPlaceholderWhileLoading } from "components/ImageWithPlaceholderWhileLoading"
|
import { ImageWithPlaceholderWhileLoading } from "components/ImageWithPlaceholderWhileLoading"
|
||||||
import { BasicHtmlStyles } from "components/content/BasicHtmlStyles"
|
import { BasicHtmlStyles } from "components/content/BasicHtmlStyles"
|
||||||
import escapeStringRegexp from "escape-string-regexp"
|
import escapeStringRegexp from "escape-string-regexp"
|
||||||
import { type ChildrenNode, Interweave, type MatchResponse, Matcher, type Node, type TransformCallback } from "interweave"
|
import { ALLOWED_TAG_LIST, type ChildrenNode, Interweave, type MatchResponse, Matcher, type Node, type TransformCallback } from "interweave"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import styleToObject from "style-to-object"
|
import styleToObject from "style-to-object"
|
||||||
import { tss } from "tss"
|
import { tss } from "tss"
|
||||||
@@ -67,20 +67,19 @@ const transform: TransformCallback = node => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class HighlightMatcher extends Matcher {
|
class HighlightMatcher extends Matcher {
|
||||||
private readonly search: string
|
private readonly regexp: RegExp
|
||||||
|
|
||||||
constructor(search: string) {
|
constructor(search: string) {
|
||||||
super("highlight")
|
super("highlight")
|
||||||
this.search = escapeStringRegexp(search)
|
this.regexp = new RegExp(escapeStringRegexp(search).split(" ").join("|"), "i")
|
||||||
}
|
}
|
||||||
|
|
||||||
match(string: string): MatchResponse<unknown> | null {
|
match(string: string): MatchResponse<unknown> | null {
|
||||||
const pattern = this.search.split(" ").join("|")
|
return this.doMatch(string, this.regexp, () => ({}))
|
||||||
return this.doMatch(string, new RegExp(pattern, "i"), () => ({}))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
replaceWith(children: ChildrenNode): Node {
|
replaceWith(children: ChildrenNode): Node {
|
||||||
return <Mark>{children}</Mark>
|
return <Mark key={0}>{children}</Mark>
|
||||||
}
|
}
|
||||||
|
|
||||||
asTag(): string {
|
asTag(): string {
|
||||||
@@ -88,6 +87,9 @@ class HighlightMatcher extends Matcher {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// allow iframe tag
|
||||||
|
const allowList = [...ALLOWED_TAG_LIST, "iframe"]
|
||||||
|
|
||||||
// memoize component because Interweave is costly
|
// memoize component because Interweave is costly
|
||||||
const Content = React.memo((props: ContentProps) => {
|
const Content = React.memo((props: ContentProps) => {
|
||||||
const { classes } = useStyles()
|
const { classes } = useStyles()
|
||||||
@@ -96,7 +98,7 @@ const Content = React.memo((props: ContentProps) => {
|
|||||||
return (
|
return (
|
||||||
<BasicHtmlStyles>
|
<BasicHtmlStyles>
|
||||||
<Box className={classes.content}>
|
<Box className={classes.content}>
|
||||||
<Interweave content={props.content} transform={transform} matchers={matchers} />
|
<Interweave content={props.content} transform={transform} matchers={matchers} allowList={allowList} />
|
||||||
</Box>
|
</Box>
|
||||||
</BasicHtmlStyles>
|
</BasicHtmlStyles>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ export function Enclosure(props: {
|
|||||||
)}
|
)}
|
||||||
{hasAudio && (
|
{hasAudio && (
|
||||||
// biome-ignore lint/a11y/useMediaCaption: we don't have any captions for audio
|
// biome-ignore lint/a11y/useMediaCaption: we don't have any captions for audio
|
||||||
<audio controls>
|
<audio controls style={{ width: "100%" }}>
|
||||||
<source src={props.enclosureUrl} type={props.enclosureType} />
|
<source src={props.enclosureUrl} type={props.enclosureType} />
|
||||||
</audio>
|
</audio>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { Constants } from "app/constants"
|
|||||||
import type { ExpendableEntry } from "app/entries/slice"
|
import type { ExpendableEntry } from "app/entries/slice"
|
||||||
import {
|
import {
|
||||||
loadMoreEntries,
|
loadMoreEntries,
|
||||||
markAllEntries,
|
markAllAsReadWithConfirmationIfRequired,
|
||||||
markEntry,
|
markEntry,
|
||||||
reloadEntries,
|
reloadEntries,
|
||||||
selectEntry,
|
selectEntry,
|
||||||
@@ -16,6 +16,7 @@ import {
|
|||||||
import { redirectToRootCategory } from "app/redirect/thunks"
|
import { redirectToRootCategory } from "app/redirect/thunks"
|
||||||
import { useAppDispatch, useAppSelector } from "app/store"
|
import { useAppDispatch, useAppSelector } from "app/store"
|
||||||
import { toggleSidebar } from "app/tree/slice"
|
import { toggleSidebar } from "app/tree/slice"
|
||||||
|
import { selectNextUnreadTreeItem } from "app/tree/thunks"
|
||||||
import { KeyboardShortcutsHelp } from "components/KeyboardShortcutsHelp"
|
import { KeyboardShortcutsHelp } from "components/KeyboardShortcutsHelp"
|
||||||
import { Loader } from "components/Loader"
|
import { Loader } from "components/Loader"
|
||||||
import { useBrowserExtension } from "hooks/useBrowserExtension"
|
import { useBrowserExtension } from "hooks/useBrowserExtension"
|
||||||
@@ -27,9 +28,7 @@ import { throttle } from "throttle-debounce"
|
|||||||
import { FeedEntry } from "./FeedEntry"
|
import { FeedEntry } from "./FeedEntry"
|
||||||
|
|
||||||
export function FeedEntries() {
|
export function FeedEntries() {
|
||||||
const source = useAppSelector(state => state.entries.source)
|
|
||||||
const entries = useAppSelector(state => state.entries.entries)
|
const entries = useAppSelector(state => state.entries.entries)
|
||||||
const entriesTimestamp = useAppSelector(state => state.entries.timestamp)
|
|
||||||
const selectedEntryId = useAppSelector(state => state.entries.selectedEntryId)
|
const selectedEntryId = useAppSelector(state => state.entries.selectedEntryId)
|
||||||
const hasMore = useAppSelector(state => state.entries.hasMore)
|
const hasMore = useAppSelector(state => state.entries.hasMore)
|
||||||
const loading = useAppSelector(state => state.entries.loading)
|
const loading = useAppSelector(state => state.entries.loading)
|
||||||
@@ -172,6 +171,8 @@ export function FeedEntries() {
|
|||||||
})
|
})
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
useMousetrap("shift+j", async () => await dispatch(selectNextUnreadTreeItem({ direction: "forward" })))
|
||||||
|
useMousetrap("shift+k", async () => await dispatch(selectNextUnreadTreeItem({ direction: "backward" })))
|
||||||
useMousetrap("space", () => {
|
useMousetrap("space", () => {
|
||||||
if (selectedEntry) {
|
if (selectedEntry) {
|
||||||
if (selectedEntry.expanded) {
|
if (selectedEntry.expanded) {
|
||||||
@@ -272,17 +273,7 @@ export function FeedEntries() {
|
|||||||
})
|
})
|
||||||
useMousetrap("shift+a", () => {
|
useMousetrap("shift+a", () => {
|
||||||
// mark all entries as read
|
// mark all entries as read
|
||||||
dispatch(
|
dispatch(markAllAsReadWithConfirmationIfRequired())
|
||||||
markAllEntries({
|
|
||||||
sourceType: source.type,
|
|
||||||
req: {
|
|
||||||
id: source.id,
|
|
||||||
read: true,
|
|
||||||
olderThan: Date.now(),
|
|
||||||
insertedBefore: entriesTimestamp,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
useMousetrap("g a", async () => await dispatch(redirectToRootCategory()))
|
useMousetrap("g a", async () => await dispatch(redirectToRootCategory()))
|
||||||
useMousetrap("f", () => dispatch(toggleSidebar()))
|
useMousetrap("f", () => dispatch(toggleSidebar()))
|
||||||
@@ -297,32 +288,25 @@ export function FeedEntries() {
|
|||||||
return (
|
return (
|
||||||
<InfiniteScroll
|
<InfiniteScroll
|
||||||
id="entries"
|
id="entries"
|
||||||
className={`view-mode-${viewMode}`}
|
className={`cf-entries cf-view-mode-${viewMode}`}
|
||||||
initialLoad={false}
|
initialLoad={false}
|
||||||
loadMore={async () => await (!loading && dispatch(loadMoreEntries()))}
|
loadMore={async () => await (!loading && dispatch(loadMoreEntries()))}
|
||||||
hasMore={hasMore}
|
hasMore={hasMore}
|
||||||
loader={<Box key={0}>{loading && <Loader />}</Box>}
|
loader={<Box key={0}>{loading && <Loader />}</Box>}
|
||||||
>
|
>
|
||||||
{entries.map(entry => (
|
{entries.map(entry => (
|
||||||
<article
|
<FeedEntry
|
||||||
key={entry.id}
|
key={entry.id}
|
||||||
ref={el => {
|
entry={entry}
|
||||||
if (el) el.id = Constants.dom.entryId(entry)
|
expanded={!!entry.expanded || viewMode === "expanded"}
|
||||||
}}
|
selected={entry.id === selectedEntryId}
|
||||||
data-id={entry.id}
|
showSelectionIndicator={entry.id === selectedEntryId && (!entry.expanded || viewMode === "expanded")}
|
||||||
>
|
maxWidth={sidebarVisible ? Constants.layout.entryMaxWidth : undefined}
|
||||||
<FeedEntry
|
onHeaderClick={event => headerClicked(entry, event)}
|
||||||
entry={entry}
|
onHeaderRightClick={event => headerRightClicked(entry, event)}
|
||||||
expanded={!!entry.expanded || viewMode === "expanded"}
|
onBodyClick={() => bodyClicked(entry)}
|
||||||
selected={entry.id === selectedEntryId}
|
onSwipedLeft={async () => await swipedLeft(entry)}
|
||||||
showSelectionIndicator={entry.id === selectedEntryId && (!entry.expanded || viewMode === "expanded")}
|
/>
|
||||||
maxWidth={sidebarVisible ? Constants.layout.entryMaxWidth : undefined}
|
|
||||||
onHeaderClick={event => headerClicked(entry, event)}
|
|
||||||
onHeaderRightClick={event => headerRightClicked(entry, event)}
|
|
||||||
onBodyClick={() => bodyClicked(entry)}
|
|
||||||
onSwipedLeft={async () => await swipedLeft(entry)}
|
|
||||||
/>
|
|
||||||
</article>
|
|
||||||
))}
|
))}
|
||||||
</InfiniteScroll>
|
</InfiniteScroll>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -32,8 +32,9 @@ const useStyles = tss
|
|||||||
rtl: boolean
|
rtl: boolean
|
||||||
showSelectionIndicator: boolean
|
showSelectionIndicator: boolean
|
||||||
maxWidth?: number
|
maxWidth?: number
|
||||||
|
fontSizePercentage: number
|
||||||
}>()
|
}>()
|
||||||
.create(({ theme, colorScheme, read, expanded, viewMode, rtl, showSelectionIndicator, maxWidth }) => {
|
.create(({ theme, colorScheme, read, expanded, viewMode, rtl, showSelectionIndicator, maxWidth, fontSizePercentage }) => {
|
||||||
let backgroundColor: string
|
let backgroundColor: string
|
||||||
if (colorScheme === "dark") {
|
if (colorScheme === "dark") {
|
||||||
backgroundColor = read ? "inherit" : theme.colors.dark[5]
|
backgroundColor = read ? "inherit" : theme.colors.dark[5]
|
||||||
@@ -83,10 +84,12 @@ const useStyles = tss
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
headerLink: {
|
headerLink: {
|
||||||
|
fontSize: `${fontSizePercentage}%`,
|
||||||
color: "inherit",
|
color: "inherit",
|
||||||
textDecoration: "none",
|
textDecoration: "none",
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
|
fontSize: `${fontSizePercentage}%`,
|
||||||
direction: rtl ? "rtl" : "ltr",
|
direction: rtl ? "rtl" : "ltr",
|
||||||
maxWidth: maxWidth ?? "100%",
|
maxWidth: maxWidth ?? "100%",
|
||||||
},
|
},
|
||||||
@@ -95,6 +98,7 @@ const useStyles = tss
|
|||||||
|
|
||||||
export function FeedEntry(props: FeedEntryProps) {
|
export function FeedEntry(props: FeedEntryProps) {
|
||||||
const viewMode = useAppSelector(state => state.user.localSettings.viewMode)
|
const viewMode = useAppSelector(state => state.user.localSettings.viewMode)
|
||||||
|
const fontSizePercentage = useAppSelector(state => state.user.localSettings.fontSizePercentage)
|
||||||
const { classes, cx } = useStyles({
|
const { classes, cx } = useStyles({
|
||||||
read: props.entry.read,
|
read: props.entry.read,
|
||||||
expanded: props.expanded,
|
expanded: props.expanded,
|
||||||
@@ -102,6 +106,7 @@ export function FeedEntry(props: FeedEntryProps) {
|
|||||||
rtl: props.entry.rtl,
|
rtl: props.entry.rtl,
|
||||||
showSelectionIndicator: props.showSelectionIndicator,
|
showSelectionIndicator: props.showSelectionIndicator,
|
||||||
maxWidth: props.maxWidth,
|
maxWidth: props.maxWidth,
|
||||||
|
fontSizePercentage,
|
||||||
})
|
})
|
||||||
|
|
||||||
const externalLinkDisplayMode = useAppSelector(state => state.user.settings?.externalLinkIconDisplayMode)
|
const externalLinkDisplayMode = useAppSelector(state => state.user.settings?.externalLinkIconDisplayMode)
|
||||||
@@ -137,6 +142,9 @@ export function FeedEntry(props: FeedEntryProps) {
|
|||||||
const compactHeader = !props.expanded && (viewMode === "title" || viewMode === "cozy")
|
const compactHeader = !props.expanded && (viewMode === "title" || viewMode === "cozy")
|
||||||
return (
|
return (
|
||||||
<Paper
|
<Paper
|
||||||
|
component="article"
|
||||||
|
id={Constants.dom.entryId(props.entry)}
|
||||||
|
data-id={props.entry.id}
|
||||||
withBorder
|
withBorder
|
||||||
radius={borderRadius}
|
radius={borderRadius}
|
||||||
className={cx(classes.paper, {
|
className={cx(classes.paper, {
|
||||||
@@ -176,10 +184,10 @@ export function FeedEntry(props: FeedEntryProps) {
|
|||||||
</a>
|
</a>
|
||||||
{props.expanded && (
|
{props.expanded && (
|
||||||
<Box px={paddingX} pb={paddingY} onClick={props.onBodyClick}>
|
<Box px={paddingX} pb={paddingY} onClick={props.onBodyClick}>
|
||||||
<Box className={classes.body}>
|
<Box className={`${classes.body} cf-content`}>
|
||||||
<FeedEntryBody entry={props.entry} />
|
<FeedEntryBody entry={props.entry} />
|
||||||
</Box>
|
</Box>
|
||||||
<Divider variant="dashed" my={paddingY} />
|
<Divider variant="dashed" my={paddingY} className="cf-footer-divider" />
|
||||||
<FeedEntryFooter entry={props.entry} />
|
<FeedEntryFooter entry={props.entry} />
|
||||||
</Box>
|
</Box>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export function FeedEntryFooter(props: FeedEntryFooterProps) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Group justify="space-between">
|
<Group justify="space-between" className="cf-footer">
|
||||||
<Group gap={spacing}>
|
<Group gap={spacing}>
|
||||||
{props.entry.markable && (
|
{props.entry.markable && (
|
||||||
<ActionButton
|
<ActionButton
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ export function Subscribe() {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
const subscribe = useAsyncCallback(client.feed.subscribe, {
|
const subscribe = useAsyncCallback(client.feed.subscribe, {
|
||||||
onSuccess: sub => {
|
onSuccess: async sub => {
|
||||||
dispatch(reloadTree())
|
await dispatch(reloadTree())
|
||||||
dispatch(redirectToFeed(sub.data))
|
dispatch(redirectToFeed(sub.data))
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Box, Text } from "@mantine/core"
|
import { Box } from "@mantine/core"
|
||||||
import type { Entry } from "app/types"
|
import type { Entry } from "app/types"
|
||||||
import { RelativeDate } from "components/RelativeDate"
|
import { RelativeDate } from "components/RelativeDate"
|
||||||
import { FeedFavicon } from "components/content/FeedFavicon"
|
import { FeedFavicon } from "components/content/FeedFavicon"
|
||||||
@@ -54,17 +54,17 @@ export function FeedEntryCompactHeader(props: FeedEntryHeaderProps) {
|
|||||||
<FeedFavicon url={props.entry.iconUrl} />
|
<FeedFavicon url={props.entry.iconUrl} />
|
||||||
</Box>
|
</Box>
|
||||||
<OnDesktop>
|
<OnDesktop>
|
||||||
<Text c="dimmed" className={classes.feedName}>
|
<Box c="dimmed" className={classes.feedName}>
|
||||||
{props.entry.feedName}
|
{props.entry.feedName}
|
||||||
</Text>
|
</Box>
|
||||||
</OnDesktop>
|
</OnDesktop>
|
||||||
<Box className={classes.title}>
|
<Box className={classes.title}>
|
||||||
<FeedEntryTitle entry={props.entry} />
|
<FeedEntryTitle entry={props.entry} />
|
||||||
</Box>
|
</Box>
|
||||||
<OnDesktop>
|
<OnDesktop>
|
||||||
<Text c="dimmed" className={classes.date}>
|
<Box c="dimmed" className={classes.date}>
|
||||||
<RelativeDate date={props.entry.date} />
|
<RelativeDate date={props.entry.date} />
|
||||||
</Text>
|
</Box>
|
||||||
</OnDesktop>
|
</OnDesktop>
|
||||||
{props.showExternalLinkIcon && <OpenExternalLink entry={props.entry} />}
|
{props.showExternalLinkIcon && <OpenExternalLink entry={props.entry} />}
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Box, Flex, Space, Text } from "@mantine/core"
|
import { Box, Flex, Space } from "@mantine/core"
|
||||||
import type { Entry } from "app/types"
|
import type { Entry } from "app/types"
|
||||||
import { RelativeDate } from "components/RelativeDate"
|
import { RelativeDate } from "components/RelativeDate"
|
||||||
import { FeedFavicon } from "components/content/FeedFavicon"
|
import { FeedFavicon } from "components/content/FeedFavicon"
|
||||||
@@ -22,9 +22,6 @@ const useStyles = tss
|
|||||||
main: {
|
main: {
|
||||||
fontWeight: colorScheme === "light" && !read ? "bold" : "inherit",
|
fontWeight: colorScheme === "light" && !read ? "bold" : "inherit",
|
||||||
},
|
},
|
||||||
details: {
|
|
||||||
fontSize: "90%",
|
|
||||||
},
|
|
||||||
}))
|
}))
|
||||||
|
|
||||||
export function FeedEntryHeader(props: FeedEntryHeaderProps) {
|
export function FeedEntryHeader(props: FeedEntryHeaderProps) {
|
||||||
@@ -32,8 +29,8 @@ export function FeedEntryHeader(props: FeedEntryHeaderProps) {
|
|||||||
read: props.entry.read,
|
read: props.entry.read,
|
||||||
})
|
})
|
||||||
return (
|
return (
|
||||||
<Box>
|
<Box className="cf-header">
|
||||||
<Flex align="flex-start" justify="space-between">
|
<Flex align="flex-start" justify="space-between" className="cf-header-title">
|
||||||
<Flex align="flex-start" className={classes.main}>
|
<Flex align="flex-start" className={classes.main}>
|
||||||
{props.showStarIcon && (
|
{props.showStarIcon && (
|
||||||
<Box ml={-5}>
|
<Box ml={-5}>
|
||||||
@@ -44,22 +41,20 @@ export function FeedEntryHeader(props: FeedEntryHeaderProps) {
|
|||||||
</Flex>
|
</Flex>
|
||||||
{props.showExternalLinkIcon && <OpenExternalLink entry={props.entry} />}
|
{props.showExternalLinkIcon && <OpenExternalLink entry={props.entry} />}
|
||||||
</Flex>
|
</Flex>
|
||||||
<Flex align="center" className={classes.details}>
|
<Flex align="center" className="cf-header-subtitle">
|
||||||
<FeedFavicon url={props.entry.iconUrl} />
|
<FeedFavicon url={props.entry.iconUrl} />
|
||||||
<Space w={6} />
|
<Space w={6} />
|
||||||
<Text c="dimmed">
|
<Box c="dimmed">
|
||||||
{props.entry.feedName}
|
{props.entry.feedName}
|
||||||
<span> · </span>
|
<span> · </span>
|
||||||
<RelativeDate date={props.entry.date} />
|
<RelativeDate date={props.entry.date} />
|
||||||
</Text>
|
</Box>
|
||||||
</Flex>
|
</Flex>
|
||||||
{props.expanded && (
|
{props.expanded && (
|
||||||
<Box className={classes.details}>
|
<Box className="cf-header-details">
|
||||||
<Text c="dimmed">
|
{props.entry.author && <span>by {props.entry.author}</span>}
|
||||||
{props.entry.author && <span>by {props.entry.author}</span>}
|
{props.entry.author && props.entry.categories && <span> · </span>}
|
||||||
{props.entry.author && props.entry.categories && <span> · </span>}
|
{props.entry.categories && <span>{props.entry.categories}</span>}
|
||||||
{props.entry.categories && <span>{props.entry.categories}</span>}
|
|
||||||
</Text>
|
|
||||||
</Box>
|
</Box>
|
||||||
)}
|
)}
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { msg } from "@lingui/core/macro"
|
|||||||
import { useLingui } from "@lingui/react"
|
import { useLingui } from "@lingui/react"
|
||||||
import { Box, Center, CloseButton, Divider, Group, Indicator, Popover, TextInput } from "@mantine/core"
|
import { Box, Center, CloseButton, Divider, Group, Indicator, Popover, TextInput } from "@mantine/core"
|
||||||
import { useForm } from "@mantine/form"
|
import { useForm } from "@mantine/form"
|
||||||
import { reloadEntries, search, selectNextEntry, selectPreviousEntry } from "app/entries/thunks"
|
import { markAllAsReadWithConfirmationIfRequired, reloadEntries, search, selectNextEntry, selectPreviousEntry } from "app/entries/thunks"
|
||||||
import { useAppDispatch, useAppSelector } from "app/store"
|
import { useAppDispatch, useAppSelector } from "app/store"
|
||||||
import { changeReadingMode, changeReadingOrder } from "app/user/thunks"
|
import { changeReadingMode, changeReadingOrder } from "app/user/thunks"
|
||||||
import { ActionButton } from "components/ActionButton"
|
import { ActionButton } from "components/ActionButton"
|
||||||
@@ -14,6 +14,7 @@ import { useEffect } from "react"
|
|||||||
import {
|
import {
|
||||||
TbArrowDown,
|
TbArrowDown,
|
||||||
TbArrowUp,
|
TbArrowUp,
|
||||||
|
TbChecks,
|
||||||
TbExternalLink,
|
TbExternalLink,
|
||||||
TbEye,
|
TbEye,
|
||||||
TbEyeOff,
|
TbEyeOff,
|
||||||
@@ -24,7 +25,6 @@ import {
|
|||||||
TbSortDescending,
|
TbSortDescending,
|
||||||
TbUser,
|
TbUser,
|
||||||
} from "react-icons/tb"
|
} from "react-icons/tb"
|
||||||
import { MarkAllAsReadButton } from "./MarkAllAsReadButton"
|
|
||||||
import { ProfileMenu } from "./ProfileMenu"
|
import { ProfileMenu } from "./ProfileMenu"
|
||||||
|
|
||||||
function HeaderDivider() {
|
function HeaderDivider() {
|
||||||
@@ -42,11 +42,14 @@ function HeaderToolbar(props: { children: React.ReactNode }) {
|
|||||||
display: "flex",
|
display: "flex",
|
||||||
justifyContent: "space-between",
|
justifyContent: "space-between",
|
||||||
}}
|
}}
|
||||||
|
className="cf-toolbar"
|
||||||
>
|
>
|
||||||
{props.children}
|
{props.children}
|
||||||
</Box>
|
</Box>
|
||||||
) : (
|
) : (
|
||||||
<Group gap={spacing}>{props.children}</Group>
|
<Group gap={spacing} className="cf-toolbar">
|
||||||
|
{props.children}
|
||||||
|
</Group>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,7 +78,7 @@ export function Header() {
|
|||||||
|
|
||||||
if (!settings) return <Loader />
|
if (!settings) return <Loader />
|
||||||
return (
|
return (
|
||||||
<Center>
|
<Center className="cf-toolbar-wrapper">
|
||||||
<HeaderToolbar>
|
<HeaderToolbar>
|
||||||
<ActionButton
|
<ActionButton
|
||||||
icon={<TbArrowUp size={iconSize} />}
|
icon={<TbArrowUp size={iconSize} />}
|
||||||
@@ -111,7 +114,11 @@ export function Header() {
|
|||||||
label={msg`Refresh`}
|
label={msg`Refresh`}
|
||||||
onClick={async () => await dispatch(reloadEntries())}
|
onClick={async () => await dispatch(reloadEntries())}
|
||||||
/>
|
/>
|
||||||
<MarkAllAsReadButton iconSize={iconSize} />
|
<ActionButton
|
||||||
|
icon={<TbChecks size={iconSize} />}
|
||||||
|
label={msg`Mark all as read`}
|
||||||
|
onClick={() => dispatch(markAllAsReadWithConfirmationIfRequired())}
|
||||||
|
/>
|
||||||
|
|
||||||
<HeaderDivider />
|
<HeaderDivider />
|
||||||
|
|
||||||
|
|||||||
@@ -1,98 +0,0 @@
|
|||||||
import { msg } from "@lingui/core/macro"
|
|
||||||
import { Trans } from "@lingui/react/macro"
|
|
||||||
|
|
||||||
import { Button, Code, Group, Modal, Slider, Stack, Text } from "@mantine/core"
|
|
||||||
import { markAllEntries } from "app/entries/thunks"
|
|
||||||
import { useAppDispatch, useAppSelector } from "app/store"
|
|
||||||
import { ActionButton } from "components/ActionButton"
|
|
||||||
import { useState } from "react"
|
|
||||||
import { TbChecks } from "react-icons/tb"
|
|
||||||
|
|
||||||
export function MarkAllAsReadButton(props: { iconSize: number }) {
|
|
||||||
const [opened, setOpened] = useState(false)
|
|
||||||
const [threshold, setThreshold] = useState(0)
|
|
||||||
const source = useAppSelector(state => state.entries.source)
|
|
||||||
const sourceLabel = useAppSelector(state => state.entries.sourceLabel)
|
|
||||||
const entriesTimestamp = useAppSelector(state => state.entries.timestamp) ?? Date.now()
|
|
||||||
const markAllAsReadConfirmation = useAppSelector(state => state.user.settings?.markAllAsReadConfirmation)
|
|
||||||
const dispatch = useAppDispatch()
|
|
||||||
|
|
||||||
const buttonClicked = () => {
|
|
||||||
if (markAllAsReadConfirmation) {
|
|
||||||
setThreshold(0)
|
|
||||||
setOpened(true)
|
|
||||||
} else {
|
|
||||||
dispatch(
|
|
||||||
markAllEntries({
|
|
||||||
sourceType: source.type,
|
|
||||||
req: {
|
|
||||||
id: source.id,
|
|
||||||
read: true,
|
|
||||||
olderThan: Date.now(),
|
|
||||||
insertedBefore: entriesTimestamp,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Modal opened={opened} onClose={() => setOpened(false)} title={<Trans>Mark all entries as read</Trans>}>
|
|
||||||
<Stack>
|
|
||||||
<Text size="sm">
|
|
||||||
{threshold === 0 && (
|
|
||||||
<Trans>
|
|
||||||
Are you sure you want to mark all entries of <Code>{sourceLabel}</Code> as read?
|
|
||||||
</Trans>
|
|
||||||
)}
|
|
||||||
{threshold > 0 && (
|
|
||||||
<Trans>
|
|
||||||
Are you sure you want to mark entries older than {threshold} days of <Code>{sourceLabel}</Code> as read?
|
|
||||||
</Trans>
|
|
||||||
)}
|
|
||||||
</Text>
|
|
||||||
<Slider
|
|
||||||
py="xl"
|
|
||||||
min={0}
|
|
||||||
max={28}
|
|
||||||
marks={[
|
|
||||||
{ value: 0, label: "0" },
|
|
||||||
{ value: 7, label: "7" },
|
|
||||||
{ value: 14, label: "14" },
|
|
||||||
{ value: 21, label: "21" },
|
|
||||||
{ value: 28, label: "28" },
|
|
||||||
]}
|
|
||||||
value={threshold}
|
|
||||||
onChange={setThreshold}
|
|
||||||
/>
|
|
||||||
<Group justify="flex-end">
|
|
||||||
<Button variant="default" onClick={() => setOpened(false)}>
|
|
||||||
<Trans>Cancel</Trans>
|
|
||||||
</Button>
|
|
||||||
<Button
|
|
||||||
color="red"
|
|
||||||
onClick={() => {
|
|
||||||
setOpened(false)
|
|
||||||
dispatch(
|
|
||||||
markAllEntries({
|
|
||||||
sourceType: source.type,
|
|
||||||
req: {
|
|
||||||
id: source.id,
|
|
||||||
read: true,
|
|
||||||
olderThan: Date.now() - threshold * 24 * 60 * 60 * 1000,
|
|
||||||
insertedBefore: entriesTimestamp,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Trans>Confirm</Trans>
|
|
||||||
</Button>
|
|
||||||
</Group>
|
|
||||||
</Stack>
|
|
||||||
</Modal>
|
|
||||||
<ActionButton icon={<TbChecks size={props.iconSize} />} label={msg`Mark all as read`} onClick={buttonClicked} />
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
Menu,
|
Menu,
|
||||||
SegmentedControl,
|
SegmentedControl,
|
||||||
type SegmentedControlItem,
|
type SegmentedControlItem,
|
||||||
|
Slider,
|
||||||
useMantineColorScheme,
|
useMantineColorScheme,
|
||||||
} from "@mantine/core"
|
} from "@mantine/core"
|
||||||
import { showNotification } from "@mantine/notifications"
|
import { showNotification } from "@mantine/notifications"
|
||||||
@@ -14,7 +15,7 @@ import { client } from "app/client"
|
|||||||
import { redirectToAbout, redirectToAdminUsers, redirectToDonate, redirectToMetrics, redirectToSettings } from "app/redirect/thunks"
|
import { redirectToAbout, redirectToAdminUsers, redirectToDonate, redirectToMetrics, redirectToSettings } from "app/redirect/thunks"
|
||||||
import { useAppDispatch, useAppSelector } from "app/store"
|
import { useAppDispatch, useAppSelector } from "app/store"
|
||||||
import type { ViewMode } from "app/types"
|
import type { ViewMode } from "app/types"
|
||||||
import { setViewMode } from "app/user/slice"
|
import { setFontSizePercentage, setViewMode } from "app/user/slice"
|
||||||
import { reloadProfile } from "app/user/thunks"
|
import { reloadProfile } from "app/user/thunks"
|
||||||
import dayjs from "dayjs"
|
import dayjs from "dayjs"
|
||||||
import { useNow } from "hooks/useNow"
|
import { useNow } from "hooks/useNow"
|
||||||
@@ -100,6 +101,7 @@ export function ProfileMenu(props: ProfileMenuProps) {
|
|||||||
const admin = useAppSelector(state => state.user.profile?.admin)
|
const admin = useAppSelector(state => state.user.profile?.admin)
|
||||||
const viewMode = useAppSelector(state => state.user.localSettings.viewMode)
|
const viewMode = useAppSelector(state => state.user.localSettings.viewMode)
|
||||||
const forceRefreshCooldownDuration = useAppSelector(state => state.server.serverInfos?.forceRefreshCooldownDuration)
|
const forceRefreshCooldownDuration = useAppSelector(state => state.server.serverInfos?.forceRefreshCooldownDuration)
|
||||||
|
const fontSizePercentage = useAppSelector(state => state.user.localSettings.fontSizePercentage)
|
||||||
const dispatch = useAppDispatch()
|
const dispatch = useAppDispatch()
|
||||||
const { colorScheme, setColorScheme } = useMantineColorScheme()
|
const { colorScheme, setColorScheme } = useMantineColorScheme()
|
||||||
|
|
||||||
@@ -143,7 +145,7 @@ export function ProfileMenu(props: ProfileMenuProps) {
|
|||||||
color: "green",
|
color: "green",
|
||||||
autoClose: 1000,
|
autoClose: 1000,
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (_) {
|
||||||
showNotification({
|
showNotification({
|
||||||
message: <Trans>Force fetching feeds is not yet available.</Trans>,
|
message: <Trans>Force fetching feeds is not yet available.</Trans>,
|
||||||
color: "red",
|
color: "red",
|
||||||
@@ -184,6 +186,22 @@ export function ProfileMenu(props: ProfileMenuProps) {
|
|||||||
mb="xs"
|
mb="xs"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<Divider />
|
||||||
|
|
||||||
|
<Menu.Label>
|
||||||
|
<Trans>Font size</Trans>
|
||||||
|
</Menu.Label>
|
||||||
|
<Slider
|
||||||
|
min={50}
|
||||||
|
max={150}
|
||||||
|
step={5}
|
||||||
|
marks={[{ value: 100 }]}
|
||||||
|
label={v => `${v}%`}
|
||||||
|
mb="xs"
|
||||||
|
value={fontSizePercentage}
|
||||||
|
onChange={value => dispatch(setFontSizePercentage(value))}
|
||||||
|
/>
|
||||||
|
|
||||||
{admin && (
|
{admin && (
|
||||||
<>
|
<>
|
||||||
<Divider />
|
<Divider />
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { Trans } from "@lingui/react/macro"
|
import { Trans } from "@lingui/react/macro"
|
||||||
import { Box, Button, Group, Stack } from "@mantine/core"
|
import { Anchor, Box, Button, Group, Stack } from "@mantine/core"
|
||||||
import { useForm } from "@mantine/form"
|
import { useForm } from "@mantine/form"
|
||||||
import { client, errorToStrings } from "app/client"
|
import { client, errorToStrings } from "app/client"
|
||||||
|
import { Constants } from "app/constants"
|
||||||
import { redirectToSelectedSource } from "app/redirect/thunks"
|
import { redirectToSelectedSource } from "app/redirect/thunks"
|
||||||
import { useAppDispatch, useAppSelector } from "app/store"
|
import { useAppDispatch, useAppSelector } from "app/store"
|
||||||
import { Alert } from "components/Alert"
|
import { Alert } from "components/Alert"
|
||||||
@@ -57,13 +58,27 @@ export function CustomCodeSettings() {
|
|||||||
<form onSubmit={form.onSubmit(saveCustomCode.execute)}>
|
<form onSubmit={form.onSubmit(saveCustomCode.execute)}>
|
||||||
<Stack>
|
<Stack>
|
||||||
<CodeEditor
|
<CodeEditor
|
||||||
description={<Trans>Custom CSS rules that will be applied</Trans>}
|
label={<Trans>Custom CSS rules that will be applied</Trans>}
|
||||||
|
description={
|
||||||
|
<Trans>
|
||||||
|
<span>See </span>
|
||||||
|
<Anchor
|
||||||
|
href={Constants.customCssDocumentationUrl}
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
style={{ fontSize: "inherit" }}
|
||||||
|
>
|
||||||
|
here
|
||||||
|
</Anchor>
|
||||||
|
<span> for more information.</span>
|
||||||
|
</Trans>
|
||||||
|
}
|
||||||
language="css"
|
language="css"
|
||||||
{...form.getInputProps("customCss")}
|
{...form.getInputProps("customCss")}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<CodeEditor
|
<CodeEditor
|
||||||
description={<Trans>Custom JS code that will be executed on page load</Trans>}
|
label={<Trans>Custom JS code that will be executed on page load</Trans>}
|
||||||
language="javascript"
|
language="javascript"
|
||||||
{...form.getInputProps("customJs")}
|
{...form.getInputProps("customJs")}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { msg } from "@lingui/core/macro"
|
import { msg } from "@lingui/core/macro"
|
||||||
import { useLingui } from "@lingui/react"
|
import { useLingui } from "@lingui/react"
|
||||||
import { Trans } from "@lingui/react/macro"
|
import { Trans } from "@lingui/react/macro"
|
||||||
import { Divider, Group, NumberInput, Radio, Select, SimpleGrid, Stack, Switch } from "@mantine/core"
|
import { Box, Divider, Group, NumberInput, Radio, Select, type SelectProps, SimpleGrid, Stack, Switch } from "@mantine/core"
|
||||||
import type { ComboboxData } from "@mantine/core/lib/components/Combobox/Combobox.types"
|
import type { ComboboxData } from "@mantine/core/lib/components/Combobox/Combobox.types"
|
||||||
import { Constants } from "app/constants"
|
import { Constants } from "app/constants"
|
||||||
import { useAppDispatch, useAppSelector } from "app/store"
|
import { useAppDispatch, useAppSelector } from "app/store"
|
||||||
@@ -13,6 +13,7 @@ import {
|
|||||||
changeLanguage,
|
changeLanguage,
|
||||||
changeMarkAllAsReadConfirmation,
|
changeMarkAllAsReadConfirmation,
|
||||||
changeMobileFooter,
|
changeMobileFooter,
|
||||||
|
changePrimaryColor,
|
||||||
changeScrollMarks,
|
changeScrollMarks,
|
||||||
changeScrollMode,
|
changeScrollMode,
|
||||||
changeScrollSpeed,
|
changeScrollSpeed,
|
||||||
@@ -40,8 +41,9 @@ export function DisplaySettings() {
|
|||||||
const unreadCountTitle = useAppSelector(state => state.user.settings?.unreadCountTitle)
|
const unreadCountTitle = useAppSelector(state => state.user.settings?.unreadCountTitle)
|
||||||
const unreadCountFavicon = useAppSelector(state => state.user.settings?.unreadCountFavicon)
|
const unreadCountFavicon = useAppSelector(state => state.user.settings?.unreadCountFavicon)
|
||||||
const sharingSettings = useAppSelector(state => state.user.settings?.sharingSettings)
|
const sharingSettings = useAppSelector(state => state.user.settings?.sharingSettings)
|
||||||
const dispatch = useAppDispatch()
|
const primaryColor = useAppSelector(state => state.user.settings?.primaryColor) || Constants.theme.defaultPrimaryColor
|
||||||
const { _ } = useLingui()
|
const { _ } = useLingui()
|
||||||
|
const dispatch = useAppDispatch()
|
||||||
|
|
||||||
const scrollModeOptions: Record<ScrollMode, ReactNode> = {
|
const scrollModeOptions: Record<ScrollMode, ReactNode> = {
|
||||||
always: <Trans>Always</Trans>,
|
always: <Trans>Always</Trans>,
|
||||||
@@ -68,10 +70,35 @@ export function DisplaySettings() {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
const colorData: ComboboxData = [
|
||||||
|
{ value: "dark", label: _(msg`Dark`) },
|
||||||
|
{ value: "gray", label: _(msg`Gray`) },
|
||||||
|
{ value: "red", label: _(msg`Red`) },
|
||||||
|
{ value: "pink", label: _(msg`Pink`) },
|
||||||
|
{ value: "grape", label: _(msg`Grape`) },
|
||||||
|
{ value: "violet", label: _(msg`Violet`) },
|
||||||
|
{ value: "indigo", label: _(msg`Indigo`) },
|
||||||
|
{ value: "blue", label: _(msg`Blue`) },
|
||||||
|
{ value: "cyan", label: _(msg`Cyan`) },
|
||||||
|
{ value: "green", label: _(msg`Green`) },
|
||||||
|
{ value: "lime", label: _(msg`Lime`) },
|
||||||
|
{ value: "yellow", label: _(msg`Yellow`) },
|
||||||
|
{ value: "orange", label: _(msg`Orange`) },
|
||||||
|
{ value: "teal", label: _(msg`Teal`) },
|
||||||
|
].sort((a, b) => a.label.localeCompare(b.label))
|
||||||
|
const colorRenderer: SelectProps["renderOption"] = ({ option }) => (
|
||||||
|
<Group>
|
||||||
|
<Box h={18} w={18} bg={option.value} />
|
||||||
|
<Box>{option.label}</Box>
|
||||||
|
</Group>
|
||||||
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Stack>
|
<Stack>
|
||||||
|
<Divider label={<Trans>Display</Trans>} labelPosition="center" />
|
||||||
|
|
||||||
<Select
|
<Select
|
||||||
description={<Trans>Language</Trans>}
|
label={<Trans>Language</Trans>}
|
||||||
value={language}
|
value={language}
|
||||||
data={locales.map(l => ({
|
data={locales.map(l => ({
|
||||||
value: l.key,
|
value: l.key,
|
||||||
@@ -80,6 +107,14 @@ export function DisplaySettings() {
|
|||||||
onChange={async s => await (s && dispatch(changeLanguage(s)))}
|
onChange={async s => await (s && dispatch(changeLanguage(s)))}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<Select
|
||||||
|
label={<Trans>Primary color</Trans>}
|
||||||
|
data={colorData}
|
||||||
|
value={primaryColor}
|
||||||
|
onChange={async value => value && (await dispatch(changePrimaryColor(value)))}
|
||||||
|
renderOption={colorRenderer}
|
||||||
|
/>
|
||||||
|
|
||||||
<Switch
|
<Switch
|
||||||
label={<Trans>Show feeds and categories with no unread entries</Trans>}
|
label={<Trans>Show feeds and categories with no unread entries</Trans>}
|
||||||
checked={showRead}
|
checked={showRead}
|
||||||
@@ -115,14 +150,14 @@ export function DisplaySettings() {
|
|||||||
<Divider label={<Trans>Entry headers</Trans>} labelPosition="center" />
|
<Divider label={<Trans>Entry headers</Trans>} labelPosition="center" />
|
||||||
|
|
||||||
<Select
|
<Select
|
||||||
description={<Trans>Show star icon</Trans>}
|
label={<Trans>Show star icon</Trans>}
|
||||||
value={starIconDisplayMode}
|
value={starIconDisplayMode}
|
||||||
data={displayModeData}
|
data={displayModeData}
|
||||||
onChange={async s => await dispatch(changeStarIconDisplayMode(s as IconDisplayMode))}
|
onChange={async s => await dispatch(changeStarIconDisplayMode(s as IconDisplayMode))}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Select
|
<Select
|
||||||
description={<Trans>Show external link icon</Trans>}
|
label={<Trans>Show external link icon</Trans>}
|
||||||
value={externalLinkIconDisplayMode}
|
value={externalLinkIconDisplayMode}
|
||||||
data={displayModeData}
|
data={displayModeData}
|
||||||
onChange={async s => await dispatch(changeExternalLinkIconDisplayMode(s as IconDisplayMode))}
|
onChange={async s => await dispatch(changeExternalLinkIconDisplayMode(s as IconDisplayMode))}
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ export function Tree() {
|
|||||||
<OnDesktop>
|
<OnDesktop>
|
||||||
<TreeSearch feeds={feeds} />
|
<TreeSearch feeds={feeds} />
|
||||||
</OnDesktop>
|
</OnDesktop>
|
||||||
<Box>
|
<Box className="cf-tree">
|
||||||
{allCategoryNode()}
|
{allCategoryNode()}
|
||||||
{starredCategoryNode()}
|
{starredCategoryNode()}
|
||||||
{root.children.map(c => recursiveCategoryNode(c))}
|
{root.children.map(c => recursiveCategoryNode(c))}
|
||||||
|
|||||||
@@ -68,18 +68,18 @@ export function TreeNode(props: TreeNodeProps) {
|
|||||||
<Box
|
<Box
|
||||||
py={1}
|
py={1}
|
||||||
pl={props.level * 20}
|
pl={props.level * 20}
|
||||||
className={classes.node}
|
className={`${classes.node} cf-treenode cf-treenode-${props.type}`}
|
||||||
onClick={(e: React.MouseEvent) => props.onClick(e, props.id)}
|
onClick={(e: React.MouseEvent) => props.onClick(e, props.id)}
|
||||||
data-id={props.id}
|
data-id={props.id}
|
||||||
data-type={props.type}
|
data-type={props.type}
|
||||||
data-unread-count={props.unread}
|
data-unread-count={props.unread}
|
||||||
>
|
>
|
||||||
<Box mr={6} onClick={(e: React.MouseEvent) => props.onIconClick?.(e, props.id)}>
|
<Box mr={6} onClick={(e: React.MouseEvent) => props.onIconClick?.(e, props.id)} className="cf-treenode-icon">
|
||||||
<Center>{typeof props.icon === "string" ? <FeedFavicon url={props.icon} /> : props.icon}</Center>
|
<Center>{typeof props.icon === "string" ? <FeedFavicon url={props.icon} /> : props.icon}</Center>
|
||||||
</Box>
|
</Box>
|
||||||
<Box className={classes.nodeText}>{props.name}</Box>
|
<Box className={classes.nodeText}>{props.name}</Box>
|
||||||
{!props.expanded && (
|
{!props.expanded && (
|
||||||
<Box>
|
<Box className="cf-treenode-unread-count">
|
||||||
<UnreadCount unreadCount={props.unread} />
|
<UnreadCount unreadCount={props.unread} />
|
||||||
</Box>
|
</Box>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { msg } from "@lingui/core/macro"
|
import { msg } from "@lingui/core/macro"
|
||||||
import { useLingui } from "@lingui/react"
|
import { useLingui } from "@lingui/react"
|
||||||
import { Trans } from "@lingui/react/macro"
|
import { Trans } from "@lingui/react/macro"
|
||||||
import { TextInput } from "@mantine/core"
|
import { Box, TextInput } from "@mantine/core"
|
||||||
import { Spotlight, type SpotlightActionData, spotlight } from "@mantine/spotlight"
|
import { Spotlight, type SpotlightActionData, spotlight } from "@mantine/spotlight"
|
||||||
import { redirectToFeed } from "app/redirect/thunks"
|
import { redirectToFeed } from "app/redirect/thunks"
|
||||||
import { useAppDispatch } from "app/store"
|
import { useAppDispatch } from "app/store"
|
||||||
@@ -33,7 +33,7 @@ export function TreeSearch(props: TreeSearchProps) {
|
|||||||
useMousetrap("g u", () => spotlight.open())
|
useMousetrap("g u", () => spotlight.open())
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<Box className="cf-treesearch">
|
||||||
<TextInput
|
<TextInput
|
||||||
placeholder={_(msg`Search`)}
|
placeholder={_(msg`Search`)}
|
||||||
leftSection={searchIcon}
|
leftSection={searchIcon}
|
||||||
@@ -58,6 +58,6 @@ export function TreeSearch(props: TreeSearchProps) {
|
|||||||
}}
|
}}
|
||||||
nothingFound={<Trans>Nothing found</Trans>}
|
nothingFound={<Trans>Nothing found</Trans>}
|
||||||
/>
|
/>
|
||||||
</>
|
</Box>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export function UnreadCount(props: { unreadCount: number }) {
|
|||||||
const count = props.unreadCount >= 10000 ? "10k+" : props.unreadCount
|
const count = props.unreadCount >= 10000 ? "10k+" : props.unreadCount
|
||||||
return (
|
return (
|
||||||
<Tooltip label={props.unreadCount} disabled={props.unreadCount === count} openDelay={Constants.tooltip.delay}>
|
<Tooltip label={props.unreadCount} disabled={props.unreadCount === count} openDelay={Constants.tooltip.delay}>
|
||||||
<Badge className={classes.badge} variant="light" fullWidth>
|
<Badge className={`${classes.badge} cf-badge`} variant="light" fullWidth>
|
||||||
{count}
|
{count}
|
||||||
</Badge>
|
</Badge>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { setWebSocketConnected } from "app/server/slice"
|
import { setWebSocketConnected } from "app/server/slice"
|
||||||
import { type AppDispatch, useAppDispatch, useAppSelector } from "app/store"
|
import { type AppDispatch, useAppDispatch, useAppSelector } from "app/store"
|
||||||
import { incrementUnreadCount } from "app/tree/slice"
|
import { newFeedEntriesDiscovered } from "app/tree/thunks"
|
||||||
import { useEffect } from "react"
|
import { useEffect } from "react"
|
||||||
import WebsocketHeartbeatJs from "websocket-heartbeat-js"
|
import WebsocketHeartbeatJs from "websocket-heartbeat-js"
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ const handleMessage = (dispatch: AppDispatch, message: string) => {
|
|||||||
const type = parts[0]
|
const type = parts[0]
|
||||||
if (type === "new-feed-entries") {
|
if (type === "new-feed-entries") {
|
||||||
dispatch(
|
dispatch(
|
||||||
incrementUnreadCount({
|
newFeedEntriesDiscovered({
|
||||||
feedId: +parts[1],
|
feedId: +parts[1],
|
||||||
amount: +parts[2],
|
amount: +parts[2],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -57,8 +57,12 @@ function activateLocale(locale: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const useI18n = () => {
|
export const useI18n = () => {
|
||||||
const locale = useAppSelector(state => state.user.settings?.language)
|
const locale =
|
||||||
|
useAppSelector(state => state.user.settings?.language) ??
|
||||||
|
navigator.languages.map(l => l.split("-")[0]).find(l => locales.some(locale => locale.key === l)) ??
|
||||||
|
"en"
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
activateLocale(locale ?? "en")
|
activateLocale(locale)
|
||||||
}, [locale])
|
}, [locale])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0> هل تحتاج إلى حساب؟ </0> <1> اشترك! </ 1>"
|
msgstr "<0> هل تحتاج إلى حساب؟ </0> <1> اشترك! </ 1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "حول"
|
msgstr "حول"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "إضافة فئة"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "إضافة مستخدم"
|
msgstr "إضافة مستخدم"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "إداري"
|
msgstr "إداري"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "الكل"
|
msgstr "الكل"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "هل أنت متأكد أنك تريد حذف المستخدم <0> {user
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "هل أنت متأكد أنك تريد حذف حسابك؟ "
|
msgstr "هل أنت متأكد أنك تريد حذف حسابك؟ "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "هل أنت متأكد أنك تريد تعليم كافة إدخالات <0> {sourceLabel} </0> كمقروءة؟"
|
msgstr "هل أنت متأكد أنك تريد تعليم كافة إدخالات <0> {sourceLabel} </0> كمقروءة؟"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "هل أنت متأكد أنك تريد وضع علامة على الإدخالات الأقدم من {عتبة} يوم من <0> {sourceLabel} </0> كمقروءة؟"
|
msgstr "هل أنت متأكد أنك تريد وضع علامة على الإدخالات الأقدم من {عتبة} يوم من <0> {sourceLabel} </0> كمقروءة؟"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "العودة"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "العودة لتسجيل الدخول"
|
msgstr "العودة لتسجيل الدخول"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "إلغاء"
|
msgstr "إلغاء"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "الفئة"
|
msgstr "الفئة"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "مضغوط"
|
msgstr "مضغوط"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "تأكيد"
|
msgstr "تأكيد"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "تنازلي"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "عرض"
|
msgstr "عرض"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "تنزيل"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "اسحب الرابط إلى شريط الإشارات"
|
msgstr "اسحب الرابط إلى شريط الإشارات"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "البريد الإلكتروني"
|
msgstr "البريد الإلكتروني"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "عنوان البريد الإلكتروني"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "تحرير المستخدم"
|
msgstr "تحرير المستخدم"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "ممكن"
|
msgstr "ممكن"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "موسع"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "قم بتصدير اشتراكاتك وفئاتك كملف OPML يمكن استيراده في خدمات قراءة الأعلاف الأخرى"
|
msgstr "قم بتصدير اشتراكاتك وفئاتك كملف OPML يمكن استيراده في خدمات قراءة الأعلاف الأخرى"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "اسم الخلاصة"
|
msgstr "اسم الخلاصة"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "موجز URL"
|
msgstr "موجز URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "تصفية التعبير"
|
msgstr "تصفية التعبير"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "هل نسيت كلمة المرور؟"
|
msgstr "هل نسيت كلمة المرور؟"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "قم بإنشاء مفتاح API في ملف التعريف الخاص بك أولاً."
|
msgstr "قم بإنشاء مفتاح API في ملف التعريف الخاص بك أولاً."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "قم بإنشاء مفتاح API في ملف التعريف الخاص
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "إنشاء مفتاح API جديد"
|
msgstr "إنشاء مفتاح API جديد"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "رابط الخلاصة المولدة"
|
msgstr "رابط الخلاصة المولدة"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "انتقل إلى وثائق API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "الأشياء الجيدة"
|
msgstr "الأشياء الجيدة"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "المرجع نفسه"
|
msgstr "المرجع نفسه"
|
||||||
@@ -440,13 +472,17 @@ msgstr "استيراد"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "في العرض الموسع ، التمرير عبر الإدخالات وضع علامة عليها كمقروءة"
|
msgstr "في العرض الموسع ، التمرير عبر الإدخالات وضع علامة عليها كمقروءة"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "إبقاء غير مقروءة"
|
msgstr "إبقاء غير مقروءة"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "اختصارات لوحة المفاتيح"
|
msgstr "اختصارات لوحة المفاتيح"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "آخر رسالة تحديث"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "رابط"
|
msgstr "رابط"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "تحميل الاشتراكات ..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "تحميل العلامات ..."
|
msgstr "تحميل العلامات ..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "تسجيل الدخول"
|
msgstr "تسجيل الدخول"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "تسجيل الخروج"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "إدارة المستخدمين"
|
msgstr "إدارة المستخدمين"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "تعليم الكل كمقروء"
|
msgstr "تعليم الكل كمقروء"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "تعليم كافة الإدخالات كمقروءة"
|
msgstr "تعليم كافة الإدخالات كمقروءة"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "وضع علامة كمقروء"
|
msgstr "وضع علامة كمقروء"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "وضع علامة كمقروءة حتى هنا"
|
msgstr "وضع علامة كمقروءة حتى هنا"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "تحريك الصفحة لأسفل"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "تحريك الصفحة لأعلى"
|
msgstr "تحريك الصفحة لأعلى"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "لا"
|
msgstr "لا"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "الاسم"
|
msgstr "الاسم"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "كلمة مرور جديدة"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "الأحدث أولاً"
|
msgstr "الأحدث أولاً"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "التالي"
|
msgstr "التالي"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "ملف OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "طلب"
|
msgstr "طلب"
|
||||||
@@ -694,11 +738,11 @@ msgstr "والد"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "الفئة الأصل"
|
msgstr "الفئة الأصل"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "كلمة المرور"
|
msgstr "كلمة المرور"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "استعادة كلمة المرور"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "كلمات المرور غير متطابقة"
|
msgstr "كلمات المرور غير متطابقة"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "المنـصب"
|
msgstr "المنـصب"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "المنـصب"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "الملف الشخصي"
|
msgstr "الملف الشخصي"
|
||||||
@@ -727,8 +779,12 @@ msgstr "الملف الشخصي"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "استعادة كلمة السر"
|
msgstr "استعادة كلمة السر"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "تحديث"
|
msgstr "تحديث"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "حفظ"
|
msgstr "حفظ"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "قم بالتمرير بسلاسة عند التنقل بين الإدخ
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "بحث"
|
msgstr "بحث"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "بحث"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "يتطلب البحث 3 أحرف على الأقل"
|
msgstr "يتطلب البحث 3 أحرف على الأقل"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "ضع التركيز على الإدخال التالي دون فتحه"
|
msgstr "ضع التركيز على الإدخال التالي دون فتحه"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "قم بالتسجيل"
|
msgstr "قم بالتسجيل"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "شيء سيء حدث للتو ..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "فضاء"
|
msgstr "فضاء"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "النجم"
|
msgstr "النجم"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "مميز بنجمة"
|
msgstr "مميز بنجمة"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "اشتراك"
|
msgstr "اشتراك"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "الكلمات"
|
msgstr "الكلمات"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "عنوان URL للتغذية التي تريد الاشتراك فيها. "
|
msgstr "عنوان URL للتغذية التي تريد الاشتراك فيها. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "غير مقروءة"
|
msgstr "غير مقروءة"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "إلغاء النجم"
|
msgstr "إلغاء النجم"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "اسم المستخدم"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "اسم المستخدم أو البريد الإلكتروني"
|
msgstr "اسم المستخدم أو البريد الإلكتروني"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "تحذير"
|
msgstr "تحذير"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "تحذير"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "موقع الكتروني"
|
msgstr "موقع الكتروني"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "ليس لديك أي اشتراكات حتى الآن. "
|
msgstr "ليس لديك أي اشتراكات حتى الآن. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr "<0>Ei,</0><1> sóc la Jérémie de Bèlgica i fa més de 10 anys que tre
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Necessites un compte?</0><1>Registreu-vos!</1>"
|
msgstr "<0>Necessites un compte?</0><1>Registreu-vos!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Sobre"
|
msgstr "Sobre"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Afegeix categoria"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Afegeix usuari"
|
msgstr "Afegeix usuari"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrador"
|
msgstr "Administrador"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Tot"
|
msgstr "Tot"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Esteu segur que voleu suprimir l'usuari <0>{userName}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Esteu segur que voleu suprimir el vostre compte? "
|
msgstr "Esteu segur que voleu suprimir el vostre compte? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Esteu segur que voleu marcar totes les entrades de <0>{sourceLabel}</0> com a llegides?"
|
msgstr "Esteu segur que voleu marcar totes les entrades de <0>{sourceLabel}</0> com a llegides?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Esteu segur que voleu marcar les entrades més antigues de {threshold} dies de <0>{sourceLabel}</0> com a llegides?"
|
msgstr "Esteu segur que voleu marcar les entrades més antigues de {threshold} dies de <0>{sourceLabel}</0> com a llegides?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Enrere"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Tornar a iniciar sessió"
|
msgstr "Tornar a iniciar sessió"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr "Extensió del navegador necessària per a Chrome"
|
msgstr "Extensió del navegador necessària per a Chrome"
|
||||||
@@ -144,27 +153,27 @@ msgstr "Extensió del navegador"
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancel·la"
|
msgstr "Cancel·la"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Categoria"
|
msgstr "Categoria"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr "CommaFeed versió {version} ({version})."
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Compacte"
|
msgstr "Compacte"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirma"
|
msgstr "Confirma"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr "Regles CSS personalitzades que s'aplicaran"
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "Codi JS personalitzat que s'executarà en carregar la pàgina"
|
msgstr "Codi JS personalitzat que s'executarà en carregar la pàgina"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Fosc"
|
msgstr "Fosc"
|
||||||
@@ -273,13 +287,14 @@ msgstr "Desc"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr "Detallat"
|
msgstr "Detallat"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Mostra"
|
msgstr "Mostra"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Donar"
|
msgstr "Donar"
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Descarrega"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Arrossegueu l'enllaç a la barra d'adreces d'interès"
|
msgstr "Arrossegueu l'enllaç a la barra d'adreces d'interès"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "Correu electrònic"
|
msgstr "Correu electrònic"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Adreça de correu electrònic"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Edita l'usuari"
|
msgstr "Edita l'usuari"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "activat"
|
msgstr "activat"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Ampliat"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "exporteu les vostres subscripcions i categories com a fitxer OPML que es pot importar a altres serveis de lectura de feeds"
|
msgstr "exporteu les vostres subscripcions i categories com a fitxer OPML que es pot importar a altres serveis de lectura de feeds"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "Opcions de l'extensió"
|
msgstr "Opcions de l'extensió"
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr "Opcions de l'extensió"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Nom del canal"
|
msgstr "Nom del canal"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL del canal"
|
msgstr "URL del canal"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Expressió de filtratge"
|
msgstr "Expressió de filtratge"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Heu oblidat la contrasenya?"
|
msgstr "Heu oblidat la contrasenya?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "primer genereu una clau API al vostre perfil."
|
msgstr "primer genereu una clau API al vostre perfil."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "primer genereu una clau API al vostre perfil."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Genera una nova clau d'API"
|
msgstr "Genera una nova clau d'API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "URL del feed generat"
|
msgstr "URL del feed generat"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "Vés a {0}"
|
msgstr "Vés a {0}"
|
||||||
@@ -416,6 +436,18 @@ msgstr "Vés a la documentació de l'API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Bones"
|
msgstr "Bones"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Id"
|
msgstr "Id"
|
||||||
@@ -440,13 +472,17 @@ msgstr "Importació"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "a la vista ampliada, desplaçant-se per les entrades les marqueu com a llegides"
|
msgstr "a la vista ampliada, desplaçant-se per les entrades les marqueu com a llegides"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Mantenir sense llegir"
|
msgstr "Mantenir sense llegir"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Dreceres de teclat"
|
msgstr "Dreceres de teclat"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "últim missatge d'actualització"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Clar"
|
msgstr "Clar"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Enllaç"
|
msgstr "Enllaç"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "S'estan carregant les subscripcions..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Carregant les etiquetes..."
|
msgstr "Carregant les etiquetes..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Inicia sessió"
|
msgstr "Inicia sessió"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Tanca sessió"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Gestionar usuaris"
|
msgstr "Gestionar usuaris"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Marca-ho tot com a llegit"
|
msgstr "Marca-ho tot com a llegit"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Marqueu totes les entrades com a llegides"
|
msgstr "Marqueu totes les entrades com a llegides"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Marca com a llegit"
|
msgstr "Marca com a llegit"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Marca com a llegit fins aquí"
|
msgstr "Marca com a llegit fins aquí"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Mou la pàgina cap avall"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Mou la pàgina cap amunt"
|
msgstr "Mou la pàgina cap amunt"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Contrasenya nova"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "El més nou primer"
|
msgstr "El més nou primer"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Següent"
|
msgstr "Següent"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "Fitxer OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Ordre"
|
msgstr "Ordre"
|
||||||
@@ -694,11 +738,11 @@ msgstr "pares"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Categoria pare"
|
msgstr "Categoria pare"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Contrasenya"
|
msgstr "Contrasenya"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Recuperació de contrasenya"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Les contrasenyes no coincideixen"
|
msgstr "Les contrasenyes no coincideixen"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Posició"
|
msgstr "Posició"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Posició"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "Anterior"
|
msgstr "Anterior"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Perfil"
|
msgstr "Perfil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Perfil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Recuperar la contrasenya"
|
msgstr "Recuperar la contrasenya"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Actualitzar"
|
msgstr "Actualitzar"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "API REST"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "Clic dret"
|
msgstr "Clic dret"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Desa"
|
msgstr "Desa"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Desplaceu-vos suaument quan navegueu entre entrades"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr "Desplaçament"
|
msgstr "Desplaçament"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Cerca"
|
msgstr "Cerca"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Cerca"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "la cerca requereix almenys 3 caràcters"
|
msgstr "la cerca requereix almenys 3 caràcters"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "posa el focus a la següent entrada sense obrir-la"
|
msgstr "posa el focus a la següent entrada sense obrir-la"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Registra't"
|
msgstr "Registra't"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Acaba de passar una cosa dolenta..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Espai"
|
msgstr "Espai"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Estrella"
|
msgstr "Estrella"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Estrellat"
|
msgstr "Estrellat"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Subscriu-te"
|
msgstr "Subscriu-te"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr "Sistema"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiquetes"
|
msgstr "Etiquetes"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "l'URL del canal al qual us voleu subscriure. "
|
msgstr "l'URL del canal al qual us voleu subscriure. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr "Prova la demostració!"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Sense llegir"
|
msgstr "Sense llegir"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Desestrellar"
|
msgstr "Desestrellar"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Nom d'usuari"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nom d'usuari o correu electrònic"
|
msgstr "Nom d'usuari o correu electrònic"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Avís"
|
msgstr "Avís"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Avís"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Lloc web"
|
msgstr "Lloc web"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Encara no teniu cap subscripció. "
|
msgstr "Encara no teniu cap subscripció. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Potřebujete účet?</0><1>Zaregistrujte se!</1>"
|
msgstr "<0>Potřebujete účet?</0><1>Zaregistrujte se!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Asi"
|
msgstr "Asi"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Přidat kategorii"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Přidat uživatele"
|
msgstr "Přidat uživatele"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Správce"
|
msgstr "Správce"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Všechny"
|
msgstr "Všechny"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Opravdu chcete smazat uživatele <0>{userName}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Opravdu chcete smazat svůj účet? "
|
msgstr "Opravdu chcete smazat svůj účet? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Opravdu chcete označit všechny položky <0>{sourceLabel}</0> jako přečtené?"
|
msgstr "Opravdu chcete označit všechny položky <0>{sourceLabel}</0> jako přečtené?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Opravdu chcete označit záznamy starší než {threshold} dnů <0>{sourceLabel}</0> jako přečtené?"
|
msgstr "Opravdu chcete označit záznamy starší než {threshold} dnů <0>{sourceLabel}</0> jako přečtené?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Zpět"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Zpět k přihlášení"
|
msgstr "Zpět k přihlášení"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Zrušit"
|
msgstr "Zrušit"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategorie"
|
msgstr "Kategorie"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompaktní"
|
msgstr "Kompaktní"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Potvrdit"
|
msgstr "Potvrdit"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Displej"
|
msgstr "Displej"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Stáhnout"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Přetáhněte odkaz na lištu záložek"
|
msgstr "Přetáhněte odkaz na lištu záložek"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-mailová adresa"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Upravit uživatele"
|
msgstr "Upravit uživatele"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Povoleno"
|
msgstr "Povoleno"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Rozbaleno"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exportujte svá předplatná a kategorie jako soubor OPML, který lze importovat do jiných služeb čtení kanálů"
|
msgstr "Exportujte svá předplatná a kategorie jako soubor OPML, který lze importovat do jiných služeb čtení kanálů"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Název zdroje"
|
msgstr "Název zdroje"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL zdroje"
|
msgstr "URL zdroje"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtrování výrazu"
|
msgstr "Filtrování výrazu"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Zapomněli jste heslo?"
|
msgstr "Zapomněli jste heslo?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Nejprve ve svém profilu vygenerujte klíč API."
|
msgstr "Nejprve ve svém profilu vygenerujte klíč API."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Nejprve ve svém profilu vygenerujte klíč API."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Vygenerujte nový klíč API"
|
msgstr "Vygenerujte nový klíč API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Generovaná adresa URL zdroje"
|
msgstr "Generovaná adresa URL zdroje"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Přejděte na dokumentaci API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Dobroty"
|
msgstr "Dobroty"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "V rozšířeném zobrazení je procházením označíte jako přečtené"
|
msgstr "V rozšířeném zobrazení je procházením označíte jako přečtené"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Ponechat nepřečtené"
|
msgstr "Ponechat nepřečtené"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Klávesové zkratky"
|
msgstr "Klávesové zkratky"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Poslední obnovovací zpráva"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Odkaz"
|
msgstr "Odkaz"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Načítání odběrů..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Načítání značek..."
|
msgstr "Načítání značek..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Přihlaste se"
|
msgstr "Přihlaste se"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Odhlášení"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Spravujte uživatele"
|
msgstr "Spravujte uživatele"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Označit vše jako přečtené"
|
msgstr "Označit vše jako přečtené"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Označte všechny položky jako přečtené"
|
msgstr "Označte všechny položky jako přečtené"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Označit jako přečtené"
|
msgstr "Označit jako přečtené"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Označit jako přečtené až sem"
|
msgstr "Označit jako přečtené až sem"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Přesuňte stránku dolů"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Přesuňte stránku nahoru"
|
msgstr "Přesuňte stránku nahoru"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Jméno"
|
msgstr "Jméno"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nové heslo"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Nejnovější jako první"
|
msgstr "Nejnovější jako první"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Další"
|
msgstr "Další"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "soubor OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Objednávka"
|
msgstr "Objednávka"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Rodič"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Rodičovská kategorie"
|
msgstr "Rodičovská kategorie"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Heslo"
|
msgstr "Heslo"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Obnovení hesla"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Hesla se neshodují"
|
msgstr "Hesla se neshodují"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Pozice"
|
msgstr "Pozice"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Pozice"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Obnovte heslo"
|
msgstr "Obnovte heslo"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Obnovit"
|
msgstr "Obnovit"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Uložit"
|
msgstr "Uložit"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Posouvejte plynule při navigaci mezi položkami"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Hledej"
|
msgstr "Hledej"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Hledej"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Hledání vyžaduje alespoň 3 znaky"
|
msgstr "Hledání vyžaduje alespoň 3 znaky"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Zaměřte se na další položku, aniž byste ji otevřeli"
|
msgstr "Zaměřte se na další položku, aniž byste ji otevřeli"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Zaregistrujte se"
|
msgstr "Zaregistrujte se"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Právě se stalo něco špatného..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Vesmír"
|
msgstr "Vesmír"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Hvězda"
|
msgstr "Hvězda"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "S hvězdičkou"
|
msgstr "S hvězdičkou"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Přihlaste se"
|
msgstr "Přihlaste se"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Značky"
|
msgstr "Značky"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "Adresa URL kanálu, k jehož odběru se chcete přihlásit. "
|
msgstr "Adresa URL kanálu, k jehož odběru se chcete přihlásit. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Nepřečteno"
|
msgstr "Nepřečteno"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Odstranit hvězdu"
|
msgstr "Odstranit hvězdu"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Uživatelské jméno"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Uživatelské jméno nebo e-mail"
|
msgstr "Uživatelské jméno nebo e-mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Varování"
|
msgstr "Varování"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Varování"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Webové stránky"
|
msgstr "Webové stránky"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Zatím nemáte žádné předplatné. "
|
msgstr "Zatím nemáte žádné předplatné. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Angen cyfrif?</0><1>Ymunwch!</1>"
|
msgstr "<0>Angen cyfrif?</0><1>Ymunwch!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Ynghylch"
|
msgstr "Ynghylch"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Ychwanegu categori"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Ychwanegu defnyddiwr"
|
msgstr "Ychwanegu defnyddiwr"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Gweinyddol"
|
msgstr "Gweinyddol"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Pawb"
|
msgstr "Pawb"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Ydych chi'n siŵr eich bod am ddileu defnyddiwr <0>{userName}</0> ?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Ydych chi'n siŵr eich bod am ddileu eich cyfrif? "
|
msgstr "Ydych chi'n siŵr eich bod am ddileu eich cyfrif? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Ydych chi'n siŵr eich bod am farcio bod pob cofnod o <0>{sourceLabel}</0> wedi'i ddarllen?"
|
msgstr "Ydych chi'n siŵr eich bod am farcio bod pob cofnod o <0>{sourceLabel}</0> wedi'i ddarllen?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Ydych chi'n siŵr eich bod am farcio cofnodion sy'n hŷn na {trothwy} diwrnod o <0>{sourceLabel}</0> fel rhai sydd wedi'u darllen?"
|
msgstr "Ydych chi'n siŵr eich bod am farcio cofnodion sy'n hŷn na {trothwy} diwrnod o <0>{sourceLabel}</0> fel rhai sydd wedi'u darllen?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Yn ôl"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Yn ôl i fewngofnodi"
|
msgstr "Yn ôl i fewngofnodi"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Diddymu"
|
msgstr "Diddymu"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "categori"
|
msgstr "categori"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "cryno"
|
msgstr "cryno"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Cadarnhau"
|
msgstr "Cadarnhau"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "Rhag"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Arddangos"
|
msgstr "Arddangos"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Lawrlwytho"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Llusgwch y ddolen i'r bar nod tudalen"
|
msgstr "Llusgwch y ddolen i'r bar nod tudalen"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-bost"
|
msgstr "E-bost"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "cyfeiriad e-bost"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Golygu defnyddiwr"
|
msgstr "Golygu defnyddiwr"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Wedi'i alluogi"
|
msgstr "Wedi'i alluogi"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Ehangu"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Allforio eich tanysgrifiadau a'ch categorïau fel ffeil OPML y gellir ei mewnforio i wasanaethau darllen porthiant eraill"
|
msgstr "Allforio eich tanysgrifiadau a'ch categorïau fel ffeil OPML y gellir ei mewnforio i wasanaethau darllen porthiant eraill"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Enw porthiant"
|
msgstr "Enw porthiant"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL porthiant"
|
msgstr "URL porthiant"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Hidlo mynegiant"
|
msgstr "Hidlo mynegiant"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Wedi anghofio cyfrinair?"
|
msgstr "Wedi anghofio cyfrinair?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Cynhyrchu allwedd API yn eich proffil yn gyntaf."
|
msgstr "Cynhyrchu allwedd API yn eich proffil yn gyntaf."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Cynhyrchu allwedd API yn eich proffil yn gyntaf."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Cynhyrchu allwedd API newydd"
|
msgstr "Cynhyrchu allwedd API newydd"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "url porthiant a gynhyrchir"
|
msgstr "url porthiant a gynhyrchir"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Ewch i'r ddogfennaeth API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "nwyddau"
|
msgstr "nwyddau"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr "Mewnforio"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Mewn gwedd estynedig, mae sgrolio trwy gofnodion yn nodi eu bod wedi'u darllen"
|
msgstr "Mewn gwedd estynedig, mae sgrolio trwy gofnodion yn nodi eu bod wedi'u darllen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Cadwch heb ei ddarllen"
|
msgstr "Cadwch heb ei ddarllen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "llwybrau byr bysellfwrdd"
|
msgstr "llwybrau byr bysellfwrdd"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Neges adnewyddu ddiwethaf"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Cyswllt"
|
msgstr "Cyswllt"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Yn llwytho tanysgrifiadau..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Wrthi'n llwytho tagiau..."
|
msgstr "Wrthi'n llwytho tagiau..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Mewngofnodi"
|
msgstr "Mewngofnodi"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Allgofnodi"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Rheoli defnyddwyr"
|
msgstr "Rheoli defnyddwyr"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Marciwch y cyfan wedi'i ddarllen"
|
msgstr "Marciwch y cyfan wedi'i ddarllen"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Marciwch bob cofnod wedi'i ddarllen"
|
msgstr "Marciwch bob cofnod wedi'i ddarllen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Marciwch ei fod wedi'i ddarllen"
|
msgstr "Marciwch ei fod wedi'i ddarllen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Marciwch fel y darllenwyd hyd yma"
|
msgstr "Marciwch fel y darllenwyd hyd yma"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Symudwch y dudalen i lawr"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Symudwch y dudalen i fyny"
|
msgstr "Symudwch y dudalen i fyny"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "Amh"
|
msgstr "Amh"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Enw"
|
msgstr "Enw"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Cyfrinair newydd"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Y diweddaraf yn gyntaf"
|
msgstr "Y diweddaraf yn gyntaf"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Nesaf"
|
msgstr "Nesaf"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "ffeil OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "gorchymyn"
|
msgstr "gorchymyn"
|
||||||
@@ -694,11 +738,11 @@ msgstr "rhiant"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Categori Rhiant"
|
msgstr "Categori Rhiant"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "cyfrinair"
|
msgstr "cyfrinair"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Adfer Cyfrinair"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Nid yw cyfrineiriau yn cyfateb"
|
msgstr "Nid yw cyfrineiriau yn cyfateb"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Swydd"
|
msgstr "Swydd"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Swydd"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Proffil"
|
msgstr "Proffil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Proffil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Adfer cyfrinair"
|
msgstr "Adfer cyfrinair"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Adnewyddu"
|
msgstr "Adnewyddu"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Arbed"
|
msgstr "Arbed"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Sgroliwch yn esmwyth wrth lywio rhwng cofnodion"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Chwilio"
|
msgstr "Chwilio"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Chwilio"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Mae angen o leiaf 3 nod ar gyfer chwilio"
|
msgstr "Mae angen o leiaf 3 nod ar gyfer chwilio"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Gosodwch ffocws ar y cofnod nesaf heb ei agor"
|
msgstr "Gosodwch ffocws ar y cofnod nesaf heb ei agor"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Cofrestrwch"
|
msgstr "Cofrestrwch"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Mae rhywbeth drwg newydd ddigwydd ..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Gofod"
|
msgstr "Gofod"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "seren"
|
msgstr "seren"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "serennog"
|
msgstr "serennog"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Tanysgrifio"
|
msgstr "Tanysgrifio"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tagiau"
|
msgstr "Tagiau"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "Y URL ar gyfer y porthwr rydych chi am danysgrifio iddo. "
|
msgstr "Y URL ar gyfer y porthwr rydych chi am danysgrifio iddo. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Heb ei ddarllen"
|
msgstr "Heb ei ddarllen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "dad-seren"
|
msgstr "dad-seren"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Enw defnyddiwr"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Enw Defnyddiwr neu E-bost"
|
msgstr "Enw Defnyddiwr neu E-bost"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Rhybudd"
|
msgstr "Rhybudd"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Rhybudd"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Gwefan"
|
msgstr "Gwefan"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Nid oes gennych unrhyw danysgrifiadau eto. "
|
msgstr "Nid oes gennych unrhyw danysgrifiadau eto. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Har du brug for en konto?</0><1>Tilmeld dig!</1>"
|
msgstr "<0>Har du brug for en konto?</0><1>Tilmeld dig!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Omkring"
|
msgstr "Omkring"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Tilføj kategori"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Tilføj bruger"
|
msgstr "Tilføj bruger"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alle"
|
msgstr "Alle"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Er du sikker på, at du vil slette bruger <0>{brugernavn}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Er du sikker på, at du vil slette din konto? "
|
msgstr "Er du sikker på, at du vil slette din konto? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Er du sikker på, at du vil markere alle poster i <0>{sourceLabel}</0> som læst?"
|
msgstr "Er du sikker på, at du vil markere alle poster i <0>{sourceLabel}</0> som læst?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Er du sikker på, at du vil markere poster, der er ældre end {threshold} dage af <0>{sourceLabel}</0> som læst?"
|
msgstr "Er du sikker på, at du vil markere poster, der er ældre end {threshold} dage af <0>{sourceLabel}</0> som læst?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Tilbage"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Tilbage for at logge ind"
|
msgstr "Tilbage for at logge ind"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuller"
|
msgstr "Annuller"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategori"
|
msgstr "Kategori"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompakt"
|
msgstr "Kompakt"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bekræft"
|
msgstr "Bekræft"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Skærm"
|
msgstr "Skærm"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr ""
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Træk linket til bogmærkelinjen"
|
msgstr "Træk linket til bogmærkelinjen"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-mailadresse"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Rediger bruger"
|
msgstr "Rediger bruger"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Aktiveret"
|
msgstr "Aktiveret"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Udvidet"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Eksporter dine abonnementer og kategorier som en OPML-fil, der kan importeres i andre feed-læsningstjenester"
|
msgstr "Eksporter dine abonnementer og kategorier som en OPML-fil, der kan importeres i andre feed-læsningstjenester"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Feednavn"
|
msgstr "Feednavn"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtrerende udtryk"
|
msgstr "Filtrerende udtryk"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Glemt adgangskode?"
|
msgstr "Glemt adgangskode?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Generer først en API-nøgle i din profil."
|
msgstr "Generer først en API-nøgle i din profil."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Generer først en API-nøgle i din profil."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Generer ny API-nøgle"
|
msgstr "Generer ny API-nøgle"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Genereret feed-url"
|
msgstr "Genereret feed-url"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Gå til API-dokumentationen."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Godbidder"
|
msgstr "Godbidder"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "I udvidet visning markerer du dem som læst, når du ruller gennem poster"
|
msgstr "I udvidet visning markerer du dem som læst, når du ruller gennem poster"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Forbehold ulæst"
|
msgstr "Forbehold ulæst"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Tastaturgenveje"
|
msgstr "Tastaturgenveje"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Sidste opdateringsmeddelelse"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Indlæser abonnementer..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Indlæser tags..."
|
msgstr "Indlæser tags..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Log ind"
|
msgstr "Log ind"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Log ud"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Administrer brugere"
|
msgstr "Administrer brugere"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Marker alle som læst"
|
msgstr "Marker alle som læst"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Marker alle poster som læst"
|
msgstr "Marker alle poster som læst"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Markér som læst"
|
msgstr "Markér som læst"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Markér som læst indtil her"
|
msgstr "Markér som læst indtil her"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Flyt siden ned"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Flyt siden op"
|
msgstr "Flyt siden op"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Navn"
|
msgstr "Navn"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Ny adgangskode"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Nyeste først"
|
msgstr "Nyeste først"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Næste"
|
msgstr "Næste"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML fil"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Bestilling"
|
msgstr "Bestilling"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Forælder"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Forældrekategori"
|
msgstr "Forældrekategori"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Adgangskode"
|
msgstr "Adgangskode"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Gendannelse af adgangskode"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Adgangskoder stemmer ikke overens"
|
msgstr "Adgangskoder stemmer ikke overens"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr ""
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Gendan adgangskode"
|
msgstr "Gendan adgangskode"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Opdater"
|
msgstr "Opdater"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Gem"
|
msgstr "Gem"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Rul jævnt, når du navigerer mellem poster"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Søg"
|
msgstr "Søg"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Søg"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Søgning kræver mindst 3 tegn"
|
msgstr "Søgning kræver mindst 3 tegn"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Sæt fokus på næste post uden at åbne den"
|
msgstr "Sæt fokus på næste post uden at åbne den"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Tilmeld dig"
|
msgstr "Tilmeld dig"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Der er lige sket noget slemt..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Rum"
|
msgstr "Rum"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Stjerne"
|
msgstr "Stjerne"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Medvirkende"
|
msgstr "Medvirkende"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Tilmeld"
|
msgstr "Tilmeld"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL'en til det feed, du vil abonnere på. "
|
msgstr "URL'en til det feed, du vil abonnere på. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Ulæst"
|
msgstr "Ulæst"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Brugernavn"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Brugernavn eller e-mail"
|
msgstr "Brugernavn eller e-mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Advarsel"
|
msgstr "Advarsel"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Advarsel"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Hjemmeside"
|
msgstr "Hjemmeside"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Du har ingen abonnementer endnu. "
|
msgstr "Du har ingen abonnementer endnu. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr "<0>Hey,</0><1>Ich bin Jérémie aus Belgien und arbeite seit über 10 Ja
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Benötigen Sie ein Konto?</0><1>Hier geht's zur Registrierung!</1>"
|
msgstr "<0>Benötigen Sie ein Konto?</0><1>Hier geht's zur Registrierung!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Über"
|
msgstr "Über"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Kategorie hinzufügen"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Benutzer hinzufügen"
|
msgstr "Benutzer hinzufügen"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Verwaltung"
|
msgstr "Verwaltung"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alle"
|
msgstr "Alle"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Sind Sie sicher, dass Sie Benutzer <0>{userName}</0> löschen möchten?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Sind Sie sicher, dass Sie Ihr Konto löschen möchten?"
|
msgstr "Sind Sie sicher, dass Sie Ihr Konto löschen möchten?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Sind Sie sicher, dass Sie alle Einträge von <0>{sourceLabel}</0> als gelesen markieren möchten?"
|
msgstr "Sind Sie sicher, dass Sie alle Einträge von <0>{sourceLabel}</0> als gelesen markieren möchten?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Sind Sie sicher, dass Sie Einträge, die älter als {threshold} Tage von <0>{sourceLabel}</0> sind, als gelesen markieren möchten?"
|
msgstr "Sind Sie sicher, dass Sie Einträge, die älter als {threshold} Tage von <0>{sourceLabel}</0> sind, als gelesen markieren möchten?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Zurück"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Zurück zum Login"
|
msgstr "Zurück zum Login"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr "Browser-Erweiterung für Chrome benötigt"
|
msgstr "Browser-Erweiterung für Chrome benötigt"
|
||||||
@@ -144,27 +153,27 @@ msgstr "Browser-Erweiterung"
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Abbrechen"
|
msgstr "Abbrechen"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategorie"
|
msgstr "Kategorie"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr "CommaFeed version {version} ({revision})."
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompakt"
|
msgstr "Kompakt"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bestätigen"
|
msgstr "Bestätigen"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr "Eigene CSS Regeln die angewandt werden"
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "Einer JS Code der beim Laden der Seite ausgeführt wird"
|
msgstr "Einer JS Code der beim Laden der Seite ausgeführt wird"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Dunkel"
|
msgstr "Dunkel"
|
||||||
@@ -273,13 +287,14 @@ msgstr "Beschr"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr "Detailliert"
|
msgstr "Detailliert"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Anzeige"
|
msgstr "Anzeige"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Spenden"
|
msgstr "Spenden"
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Herunterladen"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Link in Lesezeichenleiste ziehen"
|
msgstr "Link in Lesezeichenleiste ziehen"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-Mail"
|
msgstr "E-Mail"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-Mail-Adresse"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Benutzer bearbeiten"
|
msgstr "Benutzer bearbeiten"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Aktiviert"
|
msgstr "Aktiviert"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Erweitert"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exportieren Sie Ihre Abonnements und Kategorien als OPML-Datei, die in andere Feed-Lesedienste importiert werden kann"
|
msgstr "Exportieren Sie Ihre Abonnements und Kategorien als OPML-Datei, die in andere Feed-Lesedienste importiert werden kann"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "Erweiterungsoptionen"
|
msgstr "Erweiterungsoptionen"
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr "Erweiterungsoptionen"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Feedname"
|
msgstr "Feedname"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "Feed-URL"
|
msgstr "Feed-URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filterausdruck"
|
msgstr "Filterausdruck"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Passwort vergessen?"
|
msgstr "Passwort vergessen?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Generieren Sie zuerst einen API-Schlüssel in Ihrem Profil."
|
msgstr "Generieren Sie zuerst einen API-Schlüssel in Ihrem Profil."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Generieren Sie zuerst einen API-Schlüssel in Ihrem Profil."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Neuen API-Schlüssel generieren"
|
msgstr "Neuen API-Schlüssel generieren"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Generierte Feed-URL"
|
msgstr "Generierte Feed-URL"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "Gehe zu {0}"
|
msgstr "Gehe zu {0}"
|
||||||
@@ -416,6 +436,18 @@ msgstr "Gehen Sie zur API-Dokumentation."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Goodies"
|
msgstr "Goodies"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr "Importieren"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "In der erweiterten Ansicht werden Einträge beim Scrollen als gelesen markiert"
|
msgstr "In der erweiterten Ansicht werden Einträge beim Scrollen als gelesen markiert"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Ungelesen lassen"
|
msgstr "Ungelesen lassen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Tastaturkürzel"
|
msgstr "Tastaturkürzel"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Letzte Aktualisierungsmeldung"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Hell"
|
msgstr "Hell"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Verbindung"
|
msgstr "Verbindung"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Abonnements werden geladen..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Tags werden geladen..."
|
msgstr "Tags werden geladen..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Einloggen"
|
msgstr "Einloggen"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Abmelden"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr "Langer Tastendruck"
|
msgstr "Langer Tastendruck"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Benutzer verwalten"
|
msgstr "Benutzer verwalten"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Alle als gelesen markieren"
|
msgstr "Alle als gelesen markieren"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Alle Einträge als gelesen markieren"
|
msgstr "Alle Einträge als gelesen markieren"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Als gelesen markieren"
|
msgstr "Als gelesen markieren"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Bis hierhin als gelesen markieren"
|
msgstr "Bis hierhin als gelesen markieren"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Seite nach unten verschieben"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Bewege die Seite nach oben"
|
msgstr "Bewege die Seite nach oben"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "n.v."
|
msgstr "n.v."
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Neues Passwort"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Neueste zuerst"
|
msgstr "Neueste zuerst"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Weiter"
|
msgstr "Weiter"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML-Datei"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Bestellung"
|
msgstr "Bestellung"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Übergeordnet"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Übergeordnete Kategorie"
|
msgstr "Übergeordnete Kategorie"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Passwort"
|
msgstr "Passwort"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Passwortwiederherstellung"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Passwörter stimmen nicht überein"
|
msgstr "Passwörter stimmen nicht überein"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Position"
|
msgstr "Position"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Position"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "Vorheriges"
|
msgstr "Vorheriges"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Kennwort wiederherstellen"
|
msgstr "Kennwort wiederherstellen"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Aktualisieren"
|
msgstr "Aktualisieren"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "REST-API"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "Rechtsklick"
|
msgstr "Rechtsklick"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Speichern"
|
msgstr "Speichern"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Schnelles Scrollen beim Navigieren zwischen Einträgen"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr "Scrollen"
|
msgstr "Scrollen"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Suche"
|
msgstr "Suche"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Suche"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Suche erfordert mindestens 3 Zeichen"
|
msgstr "Suche erfordert mindestens 3 Zeichen"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Fokus auf den nächsten Eintrag setzen, ohne ihn zu öffnen"
|
msgstr "Fokus auf den nächsten Eintrag setzen, ohne ihn zu öffnen"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Melden Sie sich an"
|
msgstr "Melden Sie sich an"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Etwas Schlimmes ist gerade passiert..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Raum"
|
msgstr "Raum"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Stern"
|
msgstr "Stern"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Markiert"
|
msgstr "Markiert"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Abonnieren"
|
msgstr "Abonnieren"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "Die URL für den Feed, den Sie abonnieren möchten. "
|
msgstr "Die URL für den Feed, den Sie abonnieren möchten. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr "Testen Sie die Demo!"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Ungelesen"
|
msgstr "Ungelesen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Stern entfernen"
|
msgstr "Stern entfernen"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Benutzername"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Benutzername oder E-Mail"
|
msgstr "Benutzername oder E-Mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Warnung"
|
msgstr "Warnung"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Warnung"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Webseite"
|
msgstr "Webseite"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Sie haben noch keine Abonnements."
|
msgstr "Sie haben noch keine Abonnements."
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr "<0>Hey,</0><1>I'm Jérémie from Belgium and I've been working on CommaF
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Need an account?</0><1>Sign up!</1>"
|
msgstr "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "About"
|
msgstr "About"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Add category"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Add user"
|
msgstr "Add user"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "All"
|
msgstr "All"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Are you sure you want to delete user <0>{userName}</0> ?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Are you sure you want to delete your account? There's no turning back!"
|
msgstr "Are you sure you want to delete your account? There's no turning back!"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgstr "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgstr "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Back"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Back to log in"
|
msgstr "Back to log in"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr "Blue"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr "Browser extension required for Chrome"
|
msgstr "Browser extension required for Chrome"
|
||||||
@@ -144,27 +153,27 @@ msgstr "Browser extention"
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr "Browser tab"
|
msgstr "Browser tab"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancel"
|
msgstr "Cancel"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Category"
|
msgstr "Category"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr "CommaFeed version {version} ({revision})."
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Compact"
|
msgstr "Compact"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirm"
|
msgstr "Confirm"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr "Custom CSS rules that will be applied"
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "Custom JS code that will be executed on page load"
|
msgstr "Custom JS code that will be executed on page load"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr "Cyan"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Dark"
|
msgstr "Dark"
|
||||||
@@ -273,13 +287,14 @@ msgstr "Desc"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr "Detailed"
|
msgstr "Detailed"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Display"
|
msgstr "Display"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Donate"
|
msgstr "Donate"
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Download"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Drag link to bookmark bar"
|
msgstr "Drag link to bookmark bar"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-mail"
|
msgstr "E-mail"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-mail address"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Edit user"
|
msgstr "Edit user"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Enabled"
|
msgstr "Enabled"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Expanded"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgstr "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "Extension options"
|
msgstr "Extension options"
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr "Extension options"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Feed name"
|
msgstr "Feed name"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "Feed URL"
|
msgstr "Feed URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr "Fever API URL"
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtering expression"
|
msgstr "Filtering expression"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr "Font size"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr "Force fetching feeds is not yet available."
|
msgstr "Force fetching feeds is not yet available."
|
||||||
@@ -384,9 +403,9 @@ msgstr "Force fetching feeds is not yet available."
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Forgot password?"
|
msgstr "Forgot password?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Generate an API key in your profile first."
|
msgstr "Generate an API key in your profile first."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Generate an API key in your profile first."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Generate new API key"
|
msgstr "Generate new API key"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Generated feed url"
|
msgstr "Generated feed url"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "Go to {0}"
|
msgstr "Go to {0}"
|
||||||
@@ -416,6 +436,18 @@ msgstr "Go to the API documentation."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Goodies"
|
msgstr "Goodies"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr "Grape"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr "Gray"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr "Green"
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Id"
|
msgstr "Id"
|
||||||
@@ -440,13 +472,17 @@ msgstr "Import"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "In expanded view, scrolling through entries mark them as read"
|
msgstr "In expanded view, scrolling through entries mark them as read"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr "Indigo"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Keep unread"
|
msgstr "Keep unread"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Keyboard shortcuts"
|
msgstr "Keyboard shortcuts"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Last refresh message"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Light"
|
msgstr "Light"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr "Lime"
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Link"
|
msgstr "Link"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Loading subscriptions..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Loading tags..."
|
msgstr "Loading tags..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Log in"
|
msgstr "Log in"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Logout"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr "Long press"
|
msgstr "Long press"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Manage users"
|
msgstr "Manage users"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Mark all as read"
|
msgstr "Mark all as read"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Mark all entries as read"
|
msgstr "Mark all entries as read"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Mark as read"
|
msgstr "Mark as read"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Mark as read up to here"
|
msgstr "Mark as read up to here"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Move the page down"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Move the page up"
|
msgstr "Move the page up"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "N/A"
|
msgstr "N/A"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Name"
|
msgstr "Name"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "New password"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Newest first"
|
msgstr "Newest first"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Next"
|
msgstr "Next"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML file"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr "OPML file is required"
|
msgstr "OPML file is required"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr "Orange"
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Order"
|
msgstr "Order"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Parent"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Parent Category"
|
msgstr "Parent Category"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Password"
|
msgstr "Password"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Password Recovery"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Passwords do not match"
|
msgstr "Passwords do not match"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr "Pink"
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Position"
|
msgstr "Position"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Position"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "Previous"
|
msgstr "Previous"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr "Primary color"
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profile"
|
msgstr "Profile"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profile"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Recover password"
|
msgstr "Recover password"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr "Red"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Refresh"
|
msgstr "Refresh"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "REST API"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "Right click"
|
msgstr "Right click"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Save"
|
msgstr "Save"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Scroll smoothly when navigating between entries"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr "Scrolling"
|
msgstr "Scrolling"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Search"
|
msgstr "Search"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Search"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Search requires at least 3 characters"
|
msgstr "Search requires at least 3 characters"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr "Select next unread feed/category"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr "Select previous unread feed/category"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Set focus on next entry without opening it"
|
msgstr "Set focus on next entry without opening it"
|
||||||
@@ -850,9 +914,9 @@ msgstr "Show unread count in tab favicon"
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr "Show unread count in tab title"
|
msgstr "Show unread count in tab title"
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Sign up"
|
msgstr "Sign up"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Something bad just happened..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Space"
|
msgstr "Space"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Star"
|
msgstr "Star"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Starred"
|
msgstr "Starred"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Subscribe"
|
msgstr "Subscribe"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr "System"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tags"
|
msgstr "Tags"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr "Teal"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgstr "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
@@ -951,8 +1020,8 @@ msgstr "Try the demo!"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Unread"
|
msgstr "Unread"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Unstar"
|
msgstr "Unstar"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "User name"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "User Name or E-mail"
|
msgstr "User Name or E-mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr "Violet"
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Warning"
|
msgstr "Warning"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Warning"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Website"
|
msgstr "Website"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr "Yellow"
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgstr "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
|
|||||||
@@ -34,8 +34,12 @@ msgstr "<0>Hola,</0><1>Soy Jérémie de Bélgica y he estado trabajando en Comma
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>¿Necesitas una cuenta?</0><1>¡Regístrate!</1>"
|
msgstr "<0>¿Necesitas una cuenta?</0><1>¡Regístrate!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Acerca de"
|
msgstr "Acerca de"
|
||||||
|
|
||||||
@@ -55,16 +59,17 @@ msgstr "Añadir categoría"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Añadir usuario"
|
msgstr "Añadir usuario"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrador"
|
msgstr "Administrador"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todo"
|
msgstr "Todo"
|
||||||
|
|
||||||
@@ -105,11 +110,11 @@ msgstr "¿Estás seguro de que deseas eliminar el usuario <0>{userName}</0> ?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "¿Estás seguro de que quieres eliminar tu cuenta? ¡No hay vuelta atrás!"
|
msgstr "¿Estás seguro de que quieres eliminar tu cuenta? ¡No hay vuelta atrás!"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "¿Estás seguro de que deseas marcar todas las entradas de <0>{sourceLabel}</0> como leídas?"
|
msgstr "¿Estás seguro de que deseas marcar todas las entradas de <0>{sourceLabel}</0> como leídas?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "¿Estás seguro de que deseas marcar las entradas anteriores a {threshold} días de <0>{sourceLabel}</0> como leídas?"
|
msgstr "¿Estás seguro de que deseas marcar las entradas anteriores a {threshold} días de <0>{sourceLabel}</0> como leídas?"
|
||||||
|
|
||||||
@@ -133,6 +138,10 @@ msgstr "Atrás"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Volver a iniciar sesión"
|
msgstr "Volver a iniciar sesión"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr "Se requiere extensión de navegador para Chrome"
|
msgstr "Se requiere extensión de navegador para Chrome"
|
||||||
@@ -145,27 +154,27 @@ msgstr "Extensión del navegador"
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr "Pestaña del navegador"
|
msgstr "Pestaña del navegador"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Categoría"
|
msgstr "Categoría"
|
||||||
|
|
||||||
@@ -205,11 +214,11 @@ msgstr "Versión de CommaFeed {version} ({revision})."
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Compacto"
|
msgstr "Compacto"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
@@ -241,6 +250,11 @@ msgstr "Reglas CSS personalizadas que se aplicarán"
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "Código JS personalizado que se ejecutará al cargar la página"
|
msgstr "Código JS personalizado que se ejecutará al cargar la página"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Oscuro"
|
msgstr "Oscuro"
|
||||||
@@ -274,13 +288,14 @@ msgstr "Desc"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr "Detallado"
|
msgstr "Detallado"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Mostrar"
|
msgstr "Mostrar"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Donar"
|
msgstr "Donar"
|
||||||
|
|
||||||
@@ -292,11 +307,11 @@ msgstr "Descargar"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Arrastra el enlace a la barra de marcadores"
|
msgstr "Arrastra el enlace a la barra de marcadores"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "Correo electrónico"
|
msgstr "Correo electrónico"
|
||||||
|
|
||||||
@@ -309,8 +324,8 @@ msgstr "Dirección de correo electrónico"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Editar usuario"
|
msgstr "Editar usuario"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Habilitado"
|
msgstr "Habilitado"
|
||||||
|
|
||||||
@@ -346,8 +361,8 @@ msgstr "Expandido"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exporta tus suscripciones y categorías como un archivo OPML que se puede importar en otros servicios de lectura de feeds"
|
msgstr "Exporta tus suscripciones y categorías como un archivo OPML que se puede importar en otros servicios de lectura de feeds"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "Opciones de la extensión"
|
msgstr "Opciones de la extensión"
|
||||||
|
|
||||||
@@ -355,9 +370,9 @@ msgstr "Opciones de la extensión"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Nombre del feed"
|
msgstr "Nombre del feed"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL del feed"
|
msgstr "URL del feed"
|
||||||
|
|
||||||
@@ -377,6 +392,10 @@ msgstr "URL de la API de Fever"
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Expresión de filtrado"
|
msgstr "Expresión de filtrado"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -385,9 +404,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "¿Olvidaste la contraseña?"
|
msgstr "¿Olvidaste la contraseña?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Primero genere una clave API en su perfil."
|
msgstr "Primero genere una clave API en su perfil."
|
||||||
|
|
||||||
@@ -395,12 +414,13 @@ msgstr "Primero genere una clave API en su perfil."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Generar nueva clave API"
|
msgstr "Generar nueva clave API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "URL del feed generado"
|
msgstr "URL del feed generado"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "Ir a {0}"
|
msgstr "Ir a {0}"
|
||||||
@@ -417,6 +437,18 @@ msgstr "Ir a la documentación de la API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Golosinas"
|
msgstr "Golosinas"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Identificación"
|
msgstr "Identificación"
|
||||||
@@ -441,13 +473,17 @@ msgstr "Importar"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "En la vista ampliada, al desplazarse por las entradas marcarlas como leídas"
|
msgstr "En la vista ampliada, al desplazarse por las entradas marcarlas como leídas"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Mantener sin leer"
|
msgstr "Mantener sin leer"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Atajos de teclado"
|
msgstr "Atajos de teclado"
|
||||||
|
|
||||||
@@ -471,9 +507,13 @@ msgstr "Último mensaje de actualización"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Claro"
|
msgstr "Claro"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Enlace"
|
msgstr "Enlace"
|
||||||
|
|
||||||
@@ -493,9 +533,9 @@ msgstr "Cargando suscripciones..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Cargando etiquetas..."
|
msgstr "Cargando etiquetas..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Iniciar sesión"
|
msgstr "Iniciar sesión"
|
||||||
|
|
||||||
@@ -507,27 +547,27 @@ msgstr "Cerrar sesión"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr "Pulsación larga"
|
msgstr "Pulsación larga"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Administrar usuarios"
|
msgstr "Administrar usuarios"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Marcar todo como leído"
|
msgstr "Marcar todo como leído"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Marcar todas las entradas como leídas"
|
msgstr "Marcar todas las entradas como leídas"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Marcar como leído"
|
msgstr "Marcar como leído"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Marcar como leído hasta aquí"
|
msgstr "Marcar como leído hasta aquí"
|
||||||
|
|
||||||
@@ -547,15 +587,15 @@ msgstr "Mover la página hacia abajo"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Mover la página hacia arriba"
|
msgstr "Mover la página hacia arriba"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "N/D"
|
msgstr "N/D"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nombre"
|
msgstr "Nombre"
|
||||||
|
|
||||||
@@ -576,8 +616,8 @@ msgstr "Nueva contraseña"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Las más recientes primero"
|
msgstr "Las más recientes primero"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Siguiente"
|
msgstr "Siguiente"
|
||||||
|
|
||||||
@@ -683,6 +723,10 @@ msgstr "Archivo OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr "Es necesario un archivo OPML"
|
msgstr "Es necesario un archivo OPML"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Orden"
|
msgstr "Orden"
|
||||||
@@ -695,11 +739,11 @@ msgstr "Padre"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Categoría principal"
|
msgstr "Categoría principal"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Contraseña"
|
msgstr "Contraseña"
|
||||||
|
|
||||||
@@ -711,8 +755,12 @@ msgstr "Recuperación de contraseña"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Las contraseñas no coinciden"
|
msgstr "Las contraseñas no coinciden"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Posición"
|
msgstr "Posición"
|
||||||
|
|
||||||
@@ -720,6 +768,10 @@ msgstr "Posición"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "Previo"
|
msgstr "Previo"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Perfil"
|
msgstr "Perfil"
|
||||||
@@ -728,8 +780,12 @@ msgstr "Perfil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Recuperar contraseña"
|
msgstr "Recuperar contraseña"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Actualizar"
|
msgstr "Actualizar"
|
||||||
|
|
||||||
@@ -746,11 +802,11 @@ msgstr "API REST"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "Clic derecho"
|
msgstr "Clic derecho"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Guardar"
|
msgstr "Guardar"
|
||||||
|
|
||||||
@@ -766,10 +822,10 @@ msgstr "Desplazarse suavemente al navegar entre entradas"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr "Desplazarse"
|
msgstr "Desplazarse"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Buscar"
|
msgstr "Buscar"
|
||||||
|
|
||||||
@@ -777,6 +833,14 @@ msgstr "Buscar"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "La búsqueda requiere al menos 3 caracteres"
|
msgstr "La búsqueda requiere al menos 3 caracteres"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Establecer el foco en la siguiente entrada sin abrirla"
|
msgstr "Establecer el foco en la siguiente entrada sin abrirla"
|
||||||
@@ -851,9 +915,9 @@ msgstr "Mostrar recuento de no leídos en la pestaña favicon"
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr "Mostrar recuento de no leídos en el título de la pestaña"
|
msgstr "Mostrar recuento de no leídos en el título de la pestaña"
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Registrarse"
|
msgstr "Registrarse"
|
||||||
|
|
||||||
@@ -866,20 +930,21 @@ msgstr "Algo malo acaba de pasar..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Espacio"
|
msgstr "Espacio"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Estrella"
|
msgstr "Estrella"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Destacado"
|
msgstr "Destacado"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Suscribirse"
|
msgstr "Suscribirse"
|
||||||
|
|
||||||
@@ -916,6 +981,10 @@ msgstr "Sistema"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiquetas"
|
msgstr "Etiquetas"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "La URL del feed al que desea suscribirse. También puede utilizar la URL del sitio web directamente y CommaFeed intentará encontrar el feed en la página."
|
msgstr "La URL del feed al que desea suscribirse. También puede utilizar la URL del sitio web directamente y CommaFeed intentará encontrar el feed en la página."
|
||||||
@@ -952,8 +1021,8 @@ msgstr "¡Prueba la demostración!"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "No leído"
|
msgstr "No leído"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Desmarcar"
|
msgstr "Desmarcar"
|
||||||
@@ -972,6 +1041,10 @@ msgstr "Nombre de usuario"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nombre de usuario o correo electrónico"
|
msgstr "Nombre de usuario o correo electrónico"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Advertencia"
|
msgstr "Advertencia"
|
||||||
@@ -980,6 +1053,10 @@ msgstr "Advertencia"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Sitio web"
|
msgstr "Sitio web"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Aún no tienes ninguna suscripción. ¿Por qué no intentas agregar una haciendo clic en el signo + en la parte superior de la página?"
|
msgstr "Aún no tienes ninguna suscripción. ¿Por qué no intentas agregar una haciendo clic en el signo + en la parte superior de la página?"
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>به یک حساب نیاز دارید؟</0><1>ثبت نام کنید!</1>"
|
msgstr "<0>به یک حساب نیاز دارید؟</0><1>ثبت نام کنید!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "در مورد"
|
msgstr "در مورد"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "اضافه کردن دسته"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "افزودن کاربر"
|
msgstr "افزودن کاربر"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "مدیر"
|
msgstr "مدیر"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "همه"
|
msgstr "همه"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "آیا مطمئن هستید که می خواهید کاربر <0>{userN
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "آیا مطمئن هستید که می خواهید حساب خود را حذف کنید؟ "
|
msgstr "آیا مطمئن هستید که می خواهید حساب خود را حذف کنید؟ "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "آیا مطمئن هستید که می خواهید همه ورودی های <0>{sourceLabel}</0> را به عنوان خوانده شده علامت گذاری کنید؟"
|
msgstr "آیا مطمئن هستید که می خواهید همه ورودی های <0>{sourceLabel}</0> را به عنوان خوانده شده علامت گذاری کنید؟"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "آیا مطمئن هستید که می خواهید ورودی های قدیمی تر از {threshold} روز <0>{sourceLabel}</0> را به عنوان خوانده شده علامت گذاری کنید؟"
|
msgstr "آیا مطمئن هستید که می خواهید ورودی های قدیمی تر از {threshold} روز <0>{sourceLabel}</0> را به عنوان خوانده شده علامت گذاری کنید؟"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "برگشت"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "بازگشت برای ورود به سیستم"
|
msgstr "بازگشت برای ورود به سیستم"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "لغو"
|
msgstr "لغو"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "مقوله"
|
msgstr "مقوله"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "فشرده"
|
msgstr "فشرده"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "تأیید کنید"
|
msgstr "تأیید کنید"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "توصیف"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "نمایش"
|
msgstr "نمایش"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "دانلود"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "پیوند را به نوار نشانک بکشید"
|
msgstr "پیوند را به نوار نشانک بکشید"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "ایمیل"
|
msgstr "ایمیل"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "آدرس ایمیل"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "ویرایش کاربر"
|
msgstr "ویرایش کاربر"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "فعال"
|
msgstr "فعال"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "گسترش یافت"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "اشتراک ها و دسته های خود را به عنوان یک فایل OPML صادر کنید که می تواند در سایر خدمات خواندن فید وارد شود"
|
msgstr "اشتراک ها و دسته های خود را به عنوان یک فایل OPML صادر کنید که می تواند در سایر خدمات خواندن فید وارد شود"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "نام فید"
|
msgstr "نام فید"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL فید"
|
msgstr "URL فید"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "بیان فیلتر"
|
msgstr "بیان فیلتر"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "رمز عبور را فراموش کرده اید؟"
|
msgstr "رمز عبور را فراموش کرده اید؟"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "ابتدا یک کلید API در نمایه خود ایجاد کنید."
|
msgstr "ابتدا یک کلید API در نمایه خود ایجاد کنید."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "ابتدا یک کلید API در نمایه خود ایجاد کنید.
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "کلید API جدید ایجاد کنید"
|
msgstr "کلید API جدید ایجاد کنید"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "آدرس اینترنتی فید تولید شده"
|
msgstr "آدرس اینترنتی فید تولید شده"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "به مستندات API بروید."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "خوبی ها"
|
msgstr "خوبی ها"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "شناسه"
|
msgstr "شناسه"
|
||||||
@@ -440,13 +472,17 @@ msgstr "واردات"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "در نمای بازشده، پیمایش در ورودیها، آنها را به عنوان خوانده شده علامتگذاری میکند"
|
msgstr "در نمای بازشده، پیمایش در ورودیها، آنها را به عنوان خوانده شده علامتگذاری میکند"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "خوانده نشده نگه دارید"
|
msgstr "خوانده نشده نگه دارید"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "میانبرهای صفحه کلید"
|
msgstr "میانبرهای صفحه کلید"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "آخرین پیام تازه کردن"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "پیوند"
|
msgstr "پیوند"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "بارگیری اشتراک ها..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "بارگیری برچسب ها..."
|
msgstr "بارگیری برچسب ها..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "وارد شوید"
|
msgstr "وارد شوید"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "خروج"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "کاربران را مدیریت کنید"
|
msgstr "کاربران را مدیریت کنید"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "همه را به عنوان خوانده شده علامت گذاری کنید"
|
msgstr "همه را به عنوان خوانده شده علامت گذاری کنید"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "همه ورودی ها را به عنوان خوانده شده علامت گذاری کنید"
|
msgstr "همه ورودی ها را به عنوان خوانده شده علامت گذاری کنید"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "علامت گذاری به عنوان خوانده شده"
|
msgstr "علامت گذاری به عنوان خوانده شده"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "تا اینجا به عنوان خوانده شده علامت بزنید"
|
msgstr "تا اینجا به عنوان خوانده شده علامت بزنید"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "صفحه را به پایین ببرید"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "صفحه را به بالا ببرید"
|
msgstr "صفحه را به بالا ببرید"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "نام"
|
msgstr "نام"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "رمز عبور جدید"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "ابتدا جدیدترین"
|
msgstr "ابتدا جدیدترین"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "بعد"
|
msgstr "بعد"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "فایل OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "سفارش"
|
msgstr "سفارش"
|
||||||
@@ -694,11 +738,11 @@ msgstr "پدر و مادر"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "دسته والد"
|
msgstr "دسته والد"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "رمز عبور"
|
msgstr "رمز عبور"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "بازیابی رمز عبور"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "گذرواژه ها مطابقت ندارند"
|
msgstr "گذرواژه ها مطابقت ندارند"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "موقعیت"
|
msgstr "موقعیت"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "موقعیت"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "نمایه"
|
msgstr "نمایه"
|
||||||
@@ -727,8 +779,12 @@ msgstr "نمایه"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "بازیابی رمز عبور"
|
msgstr "بازیابی رمز عبور"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "تازه کردن"
|
msgstr "تازه کردن"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "ذخیره کنید"
|
msgstr "ذخیره کنید"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "هنگام پیمایش بین ورودیها به آرامی حرک
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "جستجو"
|
msgstr "جستجو"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "جستجو"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "جستجو به حداقل 3 کاراکتر نیاز دارد"
|
msgstr "جستجو به حداقل 3 کاراکتر نیاز دارد"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "فوکوس را روی ورودی بعدی بدون باز کردن آن تنظیم کنید"
|
msgstr "فوکوس را روی ورودی بعدی بدون باز کردن آن تنظیم کنید"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "ثبت نام کنید"
|
msgstr "ثبت نام کنید"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "اتفاق بدی افتاد..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "فضا"
|
msgstr "فضا"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "ستاره"
|
msgstr "ستاره"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "ستاره دار"
|
msgstr "ستاره دار"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "مشترک شوید"
|
msgstr "مشترک شوید"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "برچسب ها"
|
msgstr "برچسب ها"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL فیدی که می خواهید در آن مشترک شوید. "
|
msgstr "URL فیدی که می خواهید در آن مشترک شوید. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "خوانده نشده"
|
msgstr "خوانده نشده"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -971,6 +1040,10 @@ msgstr "نام کاربری"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "نام کاربری یا ایمیل"
|
msgstr "نام کاربری یا ایمیل"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "هشدار"
|
msgstr "هشدار"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "هشدار"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "وب سایت"
|
msgstr "وب سایت"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "شما هنوز هیچ اشتراکی ندارید. "
|
msgstr "شما هنوز هیچ اشتراکی ندارید. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Tarvitsetko tilin?</0><1>Rekisteröidy!</1>"
|
msgstr "<0>Tarvitsetko tilin?</0><1>Rekisteröidy!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Noin"
|
msgstr "Noin"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Lisää luokka"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Lisää käyttäjä"
|
msgstr "Lisää käyttäjä"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Järjestelmänvalvoja"
|
msgstr "Järjestelmänvalvoja"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Kaikki"
|
msgstr "Kaikki"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Haluatko varmasti poistaa käyttäjän <0>{userName}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Haluatko varmasti poistaa tilisi? "
|
msgstr "Haluatko varmasti poistaa tilisi? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Haluatko varmasti merkitä kaikki kohteen <0>{sourceLabel}</0> merkinnät luetuiksi?"
|
msgstr "Haluatko varmasti merkitä kaikki kohteen <0>{sourceLabel}</0> merkinnät luetuiksi?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Haluatko varmasti merkitä <0>{sourceLabel}</0>:n {threshold} päivää vanhemmat merkinnät luetuiksi?"
|
msgstr "Haluatko varmasti merkitä <0>{sourceLabel}</0>:n {threshold} päivää vanhemmat merkinnät luetuiksi?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Takaisin"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Takaisin sisäänkirjautumiseen"
|
msgstr "Takaisin sisäänkirjautumiseen"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Peruuta"
|
msgstr "Peruuta"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Luokka"
|
msgstr "Luokka"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompakti"
|
msgstr "Kompakti"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Vahvista"
|
msgstr "Vahvista"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Näyttö"
|
msgstr "Näyttö"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Lataa"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Vedä linkki kirjanmerkkipalkkiin"
|
msgstr "Vedä linkki kirjanmerkkipalkkiin"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "Sähköposti"
|
msgstr "Sähköposti"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Sähköpostiosoite"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Muokkaa käyttäjää"
|
msgstr "Muokkaa käyttäjää"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Käytössä"
|
msgstr "Käytössä"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Laajennettu"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Vie tilauksesi ja luokat OPML-tiedostona, joka voidaan tuoda muihin syötteiden lukupalveluihin"
|
msgstr "Vie tilauksesi ja luokat OPML-tiedostona, joka voidaan tuoda muihin syötteiden lukupalveluihin"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Syötteen nimi"
|
msgstr "Syötteen nimi"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "Syötteen URL-osoite"
|
msgstr "Syötteen URL-osoite"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Suodattava lauseke"
|
msgstr "Suodattava lauseke"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Unohditko salasanan?"
|
msgstr "Unohditko salasanan?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Luo ensin API-avain profiiliisi."
|
msgstr "Luo ensin API-avain profiiliisi."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Luo ensin API-avain profiiliisi."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Luo uusi API-avain"
|
msgstr "Luo uusi API-avain"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Luotu syötteen URL-osoite"
|
msgstr "Luotu syötteen URL-osoite"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Siirry API-dokumentaatioon."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Hyvää"
|
msgstr "Hyvää"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr "Tuo"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Merkitse ne luetuiksi laajennetussa näkymässä vierittämällä merkintöjä"
|
msgstr "Merkitse ne luetuiksi laajennetussa näkymässä vierittämällä merkintöjä"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Pidä lukematta"
|
msgstr "Pidä lukematta"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Pikanäppäimet"
|
msgstr "Pikanäppäimet"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Viimeinen päivitysviesti"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Linkki"
|
msgstr "Linkki"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Ladataan tilauksia..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Ladataan tunnisteita..."
|
msgstr "Ladataan tunnisteita..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Kirjaudu sisään"
|
msgstr "Kirjaudu sisään"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Uloskirjautuminen"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Hallitse käyttäjiä"
|
msgstr "Hallitse käyttäjiä"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Merkitse kaikki luetuiksi"
|
msgstr "Merkitse kaikki luetuiksi"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Merkitse kaikki merkinnät luetuiksi"
|
msgstr "Merkitse kaikki merkinnät luetuiksi"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Merkitse luetuksi"
|
msgstr "Merkitse luetuksi"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Merkitse luetuksi tähän asti"
|
msgstr "Merkitse luetuksi tähän asti"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Siirrä sivua alaspäin"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Siirrä sivua ylöspäin"
|
msgstr "Siirrä sivua ylöspäin"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nimi"
|
msgstr "Nimi"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Uusi salasana"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Uusin ensin"
|
msgstr "Uusin ensin"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Seuraava"
|
msgstr "Seuraava"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML-tiedosto"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Tilaus"
|
msgstr "Tilaus"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Vanhempi"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Pääluokka"
|
msgstr "Pääluokka"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Salasana"
|
msgstr "Salasana"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Salasanan palautus"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Salasanat eivät täsmää"
|
msgstr "Salasanat eivät täsmää"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Sijainti"
|
msgstr "Sijainti"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Sijainti"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profiili"
|
msgstr "Profiili"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profiili"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Palauta salasana"
|
msgstr "Palauta salasana"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Päivitä"
|
msgstr "Päivitä"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Tallenna"
|
msgstr "Tallenna"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Selaa sujuvasti navigoidessasi merkintöjen välillä"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Etsi"
|
msgstr "Etsi"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Etsi"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Haku vaatii vähintään 3 merkkiä"
|
msgstr "Haku vaatii vähintään 3 merkkiä"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Keskitä seuraavaan merkintään avaamatta sitä"
|
msgstr "Keskitä seuraavaan merkintään avaamatta sitä"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Rekisteröidy"
|
msgstr "Rekisteröidy"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Jotain pahaa tapahtui juuri..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Avaruus"
|
msgstr "Avaruus"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Tähti"
|
msgstr "Tähti"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Tähdellä merkitty"
|
msgstr "Tähdellä merkitty"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Tilaa"
|
msgstr "Tilaa"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "Sen syötteen URL-osoite, jonka haluat tilata. "
|
msgstr "Sen syötteen URL-osoite, jonka haluat tilata. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Lukematon"
|
msgstr "Lukematon"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Poista tähti"
|
msgstr "Poista tähti"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Käyttäjänimi"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Käyttäjänimi tai sähköpostiosoite"
|
msgstr "Käyttäjänimi tai sähköpostiosoite"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Varoitus"
|
msgstr "Varoitus"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Varoitus"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Verkkosivusto"
|
msgstr "Verkkosivusto"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Sinulla ei ole vielä tilauksia. "
|
msgstr "Sinulla ei ole vielä tilauksia. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr "<0>Salut,</0><1>Je m'appelle Jérémie, je suis belge, et je développe
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Besoin d'un compte ?</0><1>Enregistrez-vous !</1>"
|
msgstr "<0>Besoin d'un compte ?</0><1>Enregistrez-vous !</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "À propos"
|
msgstr "À propos"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Ajouter une catégorie"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Ajouter un utilisateur"
|
msgstr "Ajouter un utilisateur"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrateur"
|
msgstr "Administrateur"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Tout"
|
msgstr "Tout"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Êtes-vous sûr de vouloir supprimer l'utilisateur <0>{userName}</0> ?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Êtes-vous sûr de vouloir supprimer définitivement votre compte ?"
|
msgstr "Êtes-vous sûr de vouloir supprimer définitivement votre compte ?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Êtes-vous sûr de vouloir marquer toutes les entrées de <0>{sourceLabel}</0> comme lues ?"
|
msgstr "Êtes-vous sûr de vouloir marquer toutes les entrées de <0>{sourceLabel}</0> comme lues ?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Êtes-vous sûr de vouloir marquer les entrées de <0>{sourceLabel}</0> plus anciennes que {threshold} jours comme lues ?"
|
msgstr "Êtes-vous sûr de vouloir marquer les entrées de <0>{sourceLabel}</0> plus anciennes que {threshold} jours comme lues ?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Retour"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Retour à la connexion"
|
msgstr "Retour à la connexion"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr "Bleu"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr "L'extension navigateur est nécessaire sur Chrome"
|
msgstr "L'extension navigateur est nécessaire sur Chrome"
|
||||||
@@ -144,27 +153,27 @@ msgstr "Extension navigateur"
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr "Onglet navigateur"
|
msgstr "Onglet navigateur"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuler"
|
msgstr "Annuler"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Catégorie"
|
msgstr "Catégorie"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr "CommaFeed version {version} ({revision})."
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Compact"
|
msgstr "Compact"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmer"
|
msgstr "Confirmer"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr "Code CSS personnalisé qui sera appliqué"
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "Code JS personnalisé qui sera appliqué au chargement des pages"
|
msgstr "Code JS personnalisé qui sera appliqué au chargement des pages"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr "Cyan"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Foncé"
|
msgstr "Foncé"
|
||||||
@@ -273,13 +287,14 @@ msgstr "Descendant"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr "Vue détaillée"
|
msgstr "Vue détaillée"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Affichage"
|
msgstr "Affichage"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Faire un don"
|
msgstr "Faire un don"
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Télécharger"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Déplacez le lien vers la barre de favoris"
|
msgstr "Déplacez le lien vers la barre de favoris"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-mail"
|
msgstr "E-mail"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Adresse e-mail"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Modifier un utilisateur"
|
msgstr "Modifier un utilisateur"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Actif"
|
msgstr "Actif"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Vue étendue"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exporter vos abonnements et catégories en tant que fichier OPML qui peut être importé dans d'autres services de lecture de flux"
|
msgstr "Exporter vos abonnements et catégories en tant que fichier OPML qui peut être importé dans d'autres services de lecture de flux"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "Options de l'extension"
|
msgstr "Options de l'extension"
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr "Options de l'extension"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Nom du flux"
|
msgstr "Nom du flux"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL du flux"
|
msgstr "URL du flux"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr "URL API Fever"
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Expression de filtrage"
|
msgstr "Expression de filtrage"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr "Taille de police"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr "La récupération forcée des flux n'est pas encore disponible."
|
msgstr "La récupération forcée des flux n'est pas encore disponible."
|
||||||
@@ -384,9 +403,9 @@ msgstr "La récupération forcée des flux n'est pas encore disponible."
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Mot de passe oublié ?"
|
msgstr "Mot de passe oublié ?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Générez d'abord une clé API dans votre profil."
|
msgstr "Générez d'abord une clé API dans votre profil."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Générez d'abord une clé API dans votre profil."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Générer une nouvelle clé API"
|
msgstr "Générer une nouvelle clé API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "URL du flux généré"
|
msgstr "URL du flux généré"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "Aller à {0}"
|
msgstr "Aller à {0}"
|
||||||
@@ -416,6 +436,18 @@ msgstr "Aller à la documentation de l'API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Extensions"
|
msgstr "Extensions"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr "Bordeaux"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr "Gris"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr "Vert"
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Identifiant"
|
msgstr "Identifiant"
|
||||||
@@ -440,13 +472,17 @@ msgstr "Importer"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "En mode de lecture étendu, marquer les éléments comme lus lorsque la fenêtre descend."
|
msgstr "En mode de lecture étendu, marquer les éléments comme lus lorsque la fenêtre descend."
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr "Indigo"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Garder non lu"
|
msgstr "Garder non lu"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Raccourcis clavier"
|
msgstr "Raccourcis clavier"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Dernier message de mise à jour"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Clair"
|
msgstr "Clair"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr "Jaune-vert"
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Lien"
|
msgstr "Lien"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Chargement des abonnements..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Chargement des marqueurs..."
|
msgstr "Chargement des marqueurs..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Connexion"
|
msgstr "Connexion"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Déconnexion"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr "Appui long"
|
msgstr "Appui long"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Gestion des utilisateurs"
|
msgstr "Gestion des utilisateurs"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Tout marquer comme lu"
|
msgstr "Tout marquer comme lu"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Marquer toutes les entrées comme lues"
|
msgstr "Marquer toutes les entrées comme lues"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Marquer comme lu"
|
msgstr "Marquer comme lu"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Marquer comme lu jusqu'ici"
|
msgstr "Marquer comme lu jusqu'ici"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Faites défiler la page vers le bas"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Faites défiler la page vers le haut"
|
msgstr "Faites défiler la page vers le haut"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "N/A"
|
msgstr "N/A"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nouveau mot de passe"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Plus récent en premier"
|
msgstr "Plus récent en premier"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Suivant"
|
msgstr "Suivant"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "Fichier OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr "Vous devez fournir un fichier OPML"
|
msgstr "Vous devez fournir un fichier OPML"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr "Orange"
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Ordre"
|
msgstr "Ordre"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Parent"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Catégorie parente"
|
msgstr "Catégorie parente"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Mot de passe"
|
msgstr "Mot de passe"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Récupération de mot de passe"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Les mots de passe ne correspondent pas"
|
msgstr "Les mots de passe ne correspondent pas"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr "Rose"
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Position"
|
msgstr "Position"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Position"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "Précédent"
|
msgstr "Précédent"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr "Couleur d'ambiance"
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Récupérer le mot de passe"
|
msgstr "Récupérer le mot de passe"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr "Rouge"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Rafraîchir"
|
msgstr "Rafraîchir"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "API REST"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "Clic droit"
|
msgstr "Clic droit"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Enregistrer"
|
msgstr "Enregistrer"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Défilement animé lors de la navigation entre les entrées"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr "Défilement"
|
msgstr "Défilement"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Rechercher"
|
msgstr "Rechercher"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Rechercher"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "La recherche requiert au moins 3 caractères"
|
msgstr "La recherche requiert au moins 3 caractères"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr "Sélectionner l'article non lu suivant/la catégorie non lue suivante"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr "Sélectionner l'article non lu précédent/la catégorie non lue précédente"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Sélectionner l'article suivant sans l'ouvrir"
|
msgstr "Sélectionner l'article suivant sans l'ouvrir"
|
||||||
@@ -850,9 +914,9 @@ msgstr "Afficher le nombre d'entrées non lues dans la favicône de l'onglet"
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr "Afficher le nombre d'entrées non lues dans le titre de l'onglet"
|
msgstr "Afficher le nombre d'entrées non lues dans le titre de l'onglet"
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Créer un compte"
|
msgstr "Créer un compte"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Quelque chose s'est mal passé..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Espace"
|
msgstr "Espace"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Ajouter aux favoris"
|
msgstr "Ajouter aux favoris"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Favoris"
|
msgstr "Favoris"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "S'abonner"
|
msgstr "S'abonner"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr "Système"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Marqueurs"
|
msgstr "Marqueurs"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr "Bleu-vert"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "L'URL du flux auquel vous souhaitez vous abonner. Vous pouvez aussi utiliser l'URL du site directement et CommaFeed va essayer de trouver le flux dans la page."
|
msgstr "L'URL du flux auquel vous souhaitez vous abonner. Vous pouvez aussi utiliser l'URL du site directement et CommaFeed va essayer de trouver le flux dans la page."
|
||||||
@@ -951,8 +1020,8 @@ msgstr "Essayez la version de démonstration !"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Non lu"
|
msgstr "Non lu"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Retirer des favoris"
|
msgstr "Retirer des favoris"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Nom"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nom d'utilisateur ou e-mail"
|
msgstr "Nom d'utilisateur ou e-mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr "Violet"
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Attention"
|
msgstr "Attention"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Attention"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Site web"
|
msgstr "Site web"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr "Jaune"
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Vous n'avez pas encore d'abonnements. Pourquoi ne pas essayer d'en ajouter un en cliquant sur le signe + en haut de la page ?"
|
msgstr "Vous n'avez pas encore d'abonnements. Pourquoi ne pas essayer d'en ajouter un en cliquant sur le signe + en haut de la page ?"
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Necesitas unha conta?</0><1>Rexístrate!</1>"
|
msgstr "<0>Necesitas unha conta?</0><1>Rexístrate!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Sobre"
|
msgstr "Sobre"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Engadir categoría"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Engadir usuario"
|
msgstr "Engadir usuario"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administración"
|
msgstr "Administración"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todos"
|
msgstr "Todos"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Estás seguro de que queres eliminar o usuario <0>{userName}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Estás seguro de que queres eliminar a túa conta? "
|
msgstr "Estás seguro de que queres eliminar a túa conta? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Estás seguro de que queres marcar todas as entradas de <0>{sourceLabel}</0> como lidas?"
|
msgstr "Estás seguro de que queres marcar todas as entradas de <0>{sourceLabel}</0> como lidas?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Estás seguro de que queres marcar as entradas anteriores a {threshold} días de <0>{sourceLabel}</0> como lidas?"
|
msgstr "Estás seguro de que queres marcar as entradas anteriores a {threshold} días de <0>{sourceLabel}</0> como lidas?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Atrás"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Volver para iniciar sesión"
|
msgstr "Volver para iniciar sesión"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Categoría"
|
msgstr "Categoría"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Compacto"
|
msgstr "Compacto"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Exhibición"
|
msgstr "Exhibición"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Descargar"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Arrastra a ligazón á barra de marcadores"
|
msgstr "Arrastra a ligazón á barra de marcadores"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "Correo electrónico"
|
msgstr "Correo electrónico"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Enderezo de correo electrónico"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Editar usuario"
|
msgstr "Editar usuario"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Activado"
|
msgstr "Activado"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Ampliado"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exporta as túas subscricións e categorías como ficheiro OPML que se pode importar noutros servizos de lectura de feeds"
|
msgstr "Exporta as túas subscricións e categorías como ficheiro OPML que se pode importar noutros servizos de lectura de feeds"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Nome do feed"
|
msgstr "Nome do feed"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL da fonte"
|
msgstr "URL da fonte"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Expresión de filtrado"
|
msgstr "Expresión de filtrado"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Esqueceches o contrasinal?"
|
msgstr "Esqueceches o contrasinal?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Xera primeiro unha clave API no teu perfil."
|
msgstr "Xera primeiro unha clave API no teu perfil."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Xera primeiro unha clave API no teu perfil."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Xerar nova clave de API"
|
msgstr "Xerar nova clave de API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "URL da fonte xerada"
|
msgstr "URL da fonte xerada"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Ir á documentación da API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "agasallos"
|
msgstr "agasallos"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr "Importación"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Na vista ampliada, ao desprazarse polas entradas márcaas como lidas"
|
msgstr "Na vista ampliada, ao desprazarse polas entradas márcaas como lidas"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Manter sen ler"
|
msgstr "Manter sen ler"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "atallos de teclado"
|
msgstr "atallos de teclado"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Última mensaxe de actualización"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Ligazón"
|
msgstr "Ligazón"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Cargando subscricións..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Cargando etiquetas..."
|
msgstr "Cargando etiquetas..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Iniciar sesión"
|
msgstr "Iniciar sesión"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Pechar sesión"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Xestionar usuarios"
|
msgstr "Xestionar usuarios"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Marcar todo como lido"
|
msgstr "Marcar todo como lido"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Marcar todas as entradas como lidas"
|
msgstr "Marcar todas as entradas como lidas"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Marcar como lido"
|
msgstr "Marcar como lido"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Marcar como lido ata aquí"
|
msgstr "Marcar como lido ata aquí"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Move a páxina cara abaixo"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Move a páxina cara arriba"
|
msgstr "Move a páxina cara arriba"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nome"
|
msgstr "Nome"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "novo contrasinal"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "o máis novo primeiro"
|
msgstr "o máis novo primeiro"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Seguinte"
|
msgstr "Seguinte"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "ficheiro OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Orde"
|
msgstr "Orde"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Pai"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Categoría de pais"
|
msgstr "Categoría de pais"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Contrasinal"
|
msgstr "Contrasinal"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Recuperación de contrasinal"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Os contrasinais non coinciden"
|
msgstr "Os contrasinais non coinciden"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Posición"
|
msgstr "Posición"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Posición"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Perfil"
|
msgstr "Perfil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Perfil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Recuperar o contrasinal"
|
msgstr "Recuperar o contrasinal"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Actualizar"
|
msgstr "Actualizar"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "API REST"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Gardar"
|
msgstr "Gardar"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Desprácese suavemente ao navegar entre as entradas"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Busca"
|
msgstr "Busca"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Busca"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "A busca require polo menos 3 caracteres"
|
msgstr "A busca require polo menos 3 caracteres"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Establece o foco na seguinte entrada sen abrila"
|
msgstr "Establece o foco na seguinte entrada sen abrila"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Rexístrese"
|
msgstr "Rexístrese"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Algo malo pasou..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Espazo"
|
msgstr "Espazo"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "estrela"
|
msgstr "estrela"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "estrela"
|
msgstr "estrela"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Subscríbete"
|
msgstr "Subscríbete"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiquetas"
|
msgstr "Etiquetas"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "O URL do feed ao que quere subscribirse. "
|
msgstr "O URL do feed ao que quere subscribirse. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Sen ler"
|
msgstr "Sen ler"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Desestrela"
|
msgstr "Desestrela"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Nome de usuario"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nome de usuario ou correo electrónico"
|
msgstr "Nome de usuario ou correo electrónico"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Aviso"
|
msgstr "Aviso"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Aviso"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Páxina web"
|
msgstr "Páxina web"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Aínda non tes ningunha subscrición. "
|
msgstr "Aínda non tes ningunha subscrición. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Fiókra van szüksége?</0><1>Regisztráljon!</1>"
|
msgstr "<0>Fiókra van szüksége?</0><1>Regisztráljon!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Kb"
|
msgstr "Kb"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Kategória hozzáadása"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Felhasználó hozzáadása"
|
msgstr "Felhasználó hozzáadása"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Mind"
|
msgstr "Mind"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Biztosan törölni szeretné a(z) <0>{userName}</0> felhasználót?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Biztosan törli a fiókját? "
|
msgstr "Biztosan törli a fiókját? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Biztosan olvasottként szeretné megjelölni a(z) <0>{sourceLabel}</0> összes bejegyzését?"
|
msgstr "Biztosan olvasottként szeretné megjelölni a(z) <0>{sourceLabel}</0> összes bejegyzését?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Biztosan olvasottként szeretné megjelölni a(z) <0>{sourceLabel}</0> {threshold} napjánál régebbi bejegyzéseket?"
|
msgstr "Biztosan olvasottként szeretné megjelölni a(z) <0>{sourceLabel}</0> {threshold} napjánál régebbi bejegyzéseket?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Vissza"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Vissza a bejelentkezéshez"
|
msgstr "Vissza a bejelentkezéshez"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Mégse"
|
msgstr "Mégse"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategória"
|
msgstr "Kategória"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompakt"
|
msgstr "Kompakt"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Erősítse meg"
|
msgstr "Erősítse meg"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Kijelző"
|
msgstr "Kijelző"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Letöltés"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Húzza a hivatkozást a könyvjelzősávra"
|
msgstr "Húzza a hivatkozást a könyvjelzősávra"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-mail cím"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Felhasználó szerkesztése"
|
msgstr "Felhasználó szerkesztése"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Engedélyezve"
|
msgstr "Engedélyezve"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Kiterjesztve"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exportálja előfizetéseit és kategóriáit OPML-fájlként, amely importálható más feedolvasó szolgáltatásokba"
|
msgstr "Exportálja előfizetéseit és kategóriáit OPML-fájlként, amely importálható más feedolvasó szolgáltatásokba"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Hírcsatorna neve"
|
msgstr "Hírcsatorna neve"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Szűrő kifejezés"
|
msgstr "Szűrő kifejezés"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Elfelejtette a jelszavát?"
|
msgstr "Elfelejtette a jelszavát?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Először generáljon API-kulcsot a profiljában."
|
msgstr "Először generáljon API-kulcsot a profiljában."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Először generáljon API-kulcsot a profiljában."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Új API-kulcs létrehozása"
|
msgstr "Új API-kulcs létrehozása"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Hírcsatorna generált URL-je"
|
msgstr "Hírcsatorna generált URL-je"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Nyissa meg az API dokumentációját."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Jók"
|
msgstr "Jók"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr "Importálás"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Kibontott nézetben a bejegyzések görgetése olvasottként jelöli meg őket"
|
msgstr "Kibontott nézetben a bejegyzések görgetése olvasottként jelöli meg őket"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Olvasatlan marad"
|
msgstr "Olvasatlan marad"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Billentyűparancsok"
|
msgstr "Billentyűparancsok"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Utolsó frissítési üzenet"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Előfizetések betöltése..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Címkék betöltése..."
|
msgstr "Címkék betöltése..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Jelentkezzen be"
|
msgstr "Jelentkezzen be"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Kijelentkezés"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Felhasználók kezelése"
|
msgstr "Felhasználók kezelése"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Minden megjelölése olvasottként"
|
msgstr "Minden megjelölése olvasottként"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Minden bejegyzés megjelölése olvasottként"
|
msgstr "Minden bejegyzés megjelölése olvasottként"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Megjelölés olvasottként"
|
msgstr "Megjelölés olvasottként"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Megjelölés idáig olvasottként"
|
msgstr "Megjelölés idáig olvasottként"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Mozgassa le az oldalt"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Mozgassa felfelé az oldalt"
|
msgstr "Mozgassa felfelé az oldalt"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Név"
|
msgstr "Név"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Új jelszó"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "A legújabbak először"
|
msgstr "A legújabbak először"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Következő"
|
msgstr "Következő"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML fájl"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Rendelés"
|
msgstr "Rendelés"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Szülő"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Szülő kategória"
|
msgstr "Szülő kategória"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Jelszó"
|
msgstr "Jelszó"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Jelszó helyreállítás"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "A jelszavak nem egyeznek"
|
msgstr "A jelszavak nem egyeznek"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Pozíció"
|
msgstr "Pozíció"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Pozíció"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Jelszó helyreállítása"
|
msgstr "Jelszó helyreállítása"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Frissítés"
|
msgstr "Frissítés"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Mentés"
|
msgstr "Mentés"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Sima görgetés, amikor a bejegyzések között navigál"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Keresés"
|
msgstr "Keresés"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Keresés"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "A kereséshez legalább 3 karakter szükséges"
|
msgstr "A kereséshez legalább 3 karakter szükséges"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Állítsa a fókuszt a következő bejegyzésre anélkül, hogy megnyitná azt"
|
msgstr "Állítsa a fókuszt a következő bejegyzésre anélkül, hogy megnyitná azt"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Regisztráljon"
|
msgstr "Regisztráljon"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Valami rossz történt..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Csillag"
|
msgstr "Csillag"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Csillaggal megjelölve"
|
msgstr "Csillaggal megjelölve"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Feliratkozás"
|
msgstr "Feliratkozás"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Címkék"
|
msgstr "Címkék"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "Az előfizetni kívánt hírcsatorna URL-je. "
|
msgstr "Az előfizetni kívánt hírcsatorna URL-je. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Olvasatlan"
|
msgstr "Olvasatlan"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Felhasználónév"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Felhasználói név vagy e-mail cím"
|
msgstr "Felhasználói név vagy e-mail cím"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Figyelem"
|
msgstr "Figyelem"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Figyelem"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Webhely"
|
msgstr "Webhely"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Még nincs előfizetése. "
|
msgstr "Még nincs előfizetése. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Butuh akun?</0><1>Daftar!</1>"
|
msgstr "<0>Butuh akun?</0><1>Daftar!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Tentang"
|
msgstr "Tentang"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Tambahkan kategori"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Tambahkan pengguna"
|
msgstr "Tambahkan pengguna"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Semua"
|
msgstr "Semua"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Apakah Anda yakin ingin menghapus pengguna <0>{userName}</0> ?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Apakah Anda yakin ingin menghapus akun Anda? "
|
msgstr "Apakah Anda yakin ingin menghapus akun Anda? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Apakah Anda yakin ingin menandai semua entri <0>{sourceLabel}</0> sebagai telah dibaca?"
|
msgstr "Apakah Anda yakin ingin menandai semua entri <0>{sourceLabel}</0> sebagai telah dibaca?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Apakah Anda yakin ingin menandai entri yang lebih lama dari {threshold} hari <0>{sourceLabel}</0> sebagai telah dibaca?"
|
msgstr "Apakah Anda yakin ingin menandai entri yang lebih lama dari {threshold} hari <0>{sourceLabel}</0> sebagai telah dibaca?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Kembali"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Kembali untuk masuk"
|
msgstr "Kembali untuk masuk"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Batal"
|
msgstr "Batal"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategori"
|
msgstr "Kategori"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Ringkas"
|
msgstr "Ringkas"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Konfirmasi"
|
msgstr "Konfirmasi"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Tampilan"
|
msgstr "Tampilan"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Unduh"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Seret tautan ke bilah bookmark"
|
msgstr "Seret tautan ke bilah bookmark"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "Email"
|
msgstr "Email"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Alamat email"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Edit pengguna"
|
msgstr "Edit pengguna"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Diaktifkan"
|
msgstr "Diaktifkan"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Diperluas"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Ekspor langganan dan kategori Anda sebagai file OPML yang dapat diimpor ke layanan membaca feed lainnya"
|
msgstr "Ekspor langganan dan kategori Anda sebagai file OPML yang dapat diimpor ke layanan membaca feed lainnya"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Nama umpan"
|
msgstr "Nama umpan"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL Umpan"
|
msgstr "URL Umpan"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Memfilter ekspresi"
|
msgstr "Memfilter ekspresi"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Lupa kata sandi?"
|
msgstr "Lupa kata sandi?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Buat kunci API di profil Anda terlebih dahulu."
|
msgstr "Buat kunci API di profil Anda terlebih dahulu."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Buat kunci API di profil Anda terlebih dahulu."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Buat kunci API baru"
|
msgstr "Buat kunci API baru"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Url umpan yang dihasilkan"
|
msgstr "Url umpan yang dihasilkan"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Buka dokumentasi API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Pernak-pernik"
|
msgstr "Pernak-pernik"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr "Impor"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Dalam tampilan yang diperluas, menggulir entri menandainya sebagai telah dibaca"
|
msgstr "Dalam tampilan yang diperluas, menggulir entri menandainya sebagai telah dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Tetap belum dibaca"
|
msgstr "Tetap belum dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Pintasan keyboard"
|
msgstr "Pintasan keyboard"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Pesan penyegaran terakhir"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Tautan"
|
msgstr "Tautan"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Memuat langganan..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Memuat tag..."
|
msgstr "Memuat tag..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Masuk"
|
msgstr "Masuk"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Keluar"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Kelola pengguna"
|
msgstr "Kelola pengguna"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Tandai semua sebagai telah dibaca"
|
msgstr "Tandai semua sebagai telah dibaca"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Tandai semua entri sebagai telah dibaca"
|
msgstr "Tandai semua entri sebagai telah dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Tandai sebagai telah dibaca"
|
msgstr "Tandai sebagai telah dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Tandai sebagai telah dibaca sampai di sini"
|
msgstr "Tandai sebagai telah dibaca sampai di sini"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Pindahkan halaman ke bawah"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Pindahkan halaman ke atas"
|
msgstr "Pindahkan halaman ke atas"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "T/A"
|
msgstr "T/A"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nama"
|
msgstr "Nama"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Kata sandi baru"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Terbaru dulu"
|
msgstr "Terbaru dulu"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Selanjutnya"
|
msgstr "Selanjutnya"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "file OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Pesan"
|
msgstr "Pesan"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Orang tua"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Kategori Induk"
|
msgstr "Kategori Induk"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Kata Sandi"
|
msgstr "Kata Sandi"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Pemulihan Kata Sandi"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Kata sandi tidak cocok"
|
msgstr "Kata sandi tidak cocok"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Posisi"
|
msgstr "Posisi"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Posisi"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Pulihkan kata sandi"
|
msgstr "Pulihkan kata sandi"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Segarkan"
|
msgstr "Segarkan"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Simpan"
|
msgstr "Simpan"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Gulir dengan lancar saat menavigasi antar entri"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Pencarian"
|
msgstr "Pencarian"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Pencarian"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Pencarian membutuhkan setidaknya 3 karakter"
|
msgstr "Pencarian membutuhkan setidaknya 3 karakter"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Tetapkan fokus pada entri berikutnya tanpa membukanya"
|
msgstr "Tetapkan fokus pada entri berikutnya tanpa membukanya"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Daftar"
|
msgstr "Daftar"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Sesuatu yang buruk baru saja terjadi..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Luar Angkasa"
|
msgstr "Luar Angkasa"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Bintang"
|
msgstr "Bintang"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Berbintang"
|
msgstr "Berbintang"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Berlangganan"
|
msgstr "Berlangganan"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tag"
|
msgstr "Tag"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL untuk umpan yang ingin Anda langgani. "
|
msgstr "URL untuk umpan yang ingin Anda langgani. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Belum Dibaca"
|
msgstr "Belum Dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Hapus bintang"
|
msgstr "Hapus bintang"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Nama pengguna"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nama Pengguna atau Email"
|
msgstr "Nama Pengguna atau Email"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Peringatan"
|
msgstr "Peringatan"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Peringatan"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Situs Web"
|
msgstr "Situs Web"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Anda belum memiliki langganan. "
|
msgstr "Anda belum memiliki langganan. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Hai bisogno di un account?</0><1>Registrati!</1>"
|
msgstr "<0>Hai bisogno di un account?</0><1>Registrati!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Circa"
|
msgstr "Circa"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Aggiungi categoria"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Aggiungi utente"
|
msgstr "Aggiungi utente"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Ammin"
|
msgstr "Ammin"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Tutto"
|
msgstr "Tutto"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Sei sicuro di voler eliminare l'utente <0>{userName}</0> ?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Sei sicuro di voler eliminare il tuo account? "
|
msgstr "Sei sicuro di voler eliminare il tuo account? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Sei sicuro di voler contrassegnare tutte le voci di <0>{sourceLabel}</0> come lette?"
|
msgstr "Sei sicuro di voler contrassegnare tutte le voci di <0>{sourceLabel}</0> come lette?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Sei sicuro di voler contrassegnare le voci più vecchie di {threshold} giorni di <0>{sourceLabel}</0> come lette?"
|
msgstr "Sei sicuro di voler contrassegnare le voci più vecchie di {threshold} giorni di <0>{sourceLabel}</0> come lette?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Indietro"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Torna per accedere"
|
msgstr "Torna per accedere"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annulla"
|
msgstr "Annulla"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Categoria"
|
msgstr "Categoria"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Compatto"
|
msgstr "Compatto"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Conferma"
|
msgstr "Conferma"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Visualizzazione"
|
msgstr "Visualizzazione"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Scarica"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Trascina il collegamento sulla barra dei preferiti"
|
msgstr "Trascina il collegamento sulla barra dei preferiti"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Indirizzo e-mail"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Modifica utente"
|
msgstr "Modifica utente"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Abilitato"
|
msgstr "Abilitato"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Espanso"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Esporta le tue iscrizioni e categorie come file OPML che può essere importato in altri servizi di lettura feed"
|
msgstr "Esporta le tue iscrizioni e categorie come file OPML che può essere importato in altri servizi di lettura feed"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Nome del feed"
|
msgstr "Nome del feed"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL feed"
|
msgstr "URL feed"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Espressione filtrante"
|
msgstr "Espressione filtrante"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Password dimenticata?"
|
msgstr "Password dimenticata?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Genera prima una chiave API nel tuo profilo."
|
msgstr "Genera prima una chiave API nel tuo profilo."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Genera prima una chiave API nel tuo profilo."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Genera nuova chiave API"
|
msgstr "Genera nuova chiave API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "URL feed generato"
|
msgstr "URL feed generato"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Vai alla documentazione dell'API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Chicche"
|
msgstr "Chicche"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr "Importa"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Nella vista espansa, scorrendo le voci contrassegnale come lette"
|
msgstr "Nella vista espansa, scorrendo le voci contrassegnale come lette"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Mantieni non letto"
|
msgstr "Mantieni non letto"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Scorciatoie da tastiera"
|
msgstr "Scorciatoie da tastiera"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Ultimo messaggio di aggiornamento"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Collegamento"
|
msgstr "Collegamento"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Caricamento abbonamenti..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Caricamento tag..."
|
msgstr "Caricamento tag..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Accedi"
|
msgstr "Accedi"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Disconnessione"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Gestisci utenti"
|
msgstr "Gestisci utenti"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Contrassegna tutto come letto"
|
msgstr "Contrassegna tutto come letto"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Contrassegna tutte le voci come lette"
|
msgstr "Contrassegna tutte le voci come lette"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Contrassegna come letto"
|
msgstr "Contrassegna come letto"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Contrassegna come letto fino a qui"
|
msgstr "Contrassegna come letto fino a qui"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Sposta la pagina in basso"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Sposta la pagina in alto"
|
msgstr "Sposta la pagina in alto"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nome"
|
msgstr "Nome"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nuova password"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Il più recente prima"
|
msgstr "Il più recente prima"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Avanti"
|
msgstr "Avanti"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "file OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Ordine"
|
msgstr "Ordine"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Genitore"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Categoria padre"
|
msgstr "Categoria padre"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Recupero password"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Le password non corrispondono"
|
msgstr "Le password non corrispondono"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Posizione"
|
msgstr "Posizione"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Posizione"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profilo"
|
msgstr "Profilo"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profilo"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Recupera password"
|
msgstr "Recupera password"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Aggiorna"
|
msgstr "Aggiorna"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "API REST"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Salva"
|
msgstr "Salva"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Scorrere senza problemi durante la navigazione tra le voci"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Cerca"
|
msgstr "Cerca"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Cerca"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "La ricerca richiede almeno 3 caratteri"
|
msgstr "La ricerca richiede almeno 3 caratteri"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Imposta il focus sulla voce successiva senza aprirla"
|
msgstr "Imposta il focus sulla voce successiva senza aprirla"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Iscriviti"
|
msgstr "Iscriviti"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "È appena successo qualcosa di brutto..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Spazio"
|
msgstr "Spazio"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Stella"
|
msgstr "Stella"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Speciali"
|
msgstr "Speciali"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Iscriviti"
|
msgstr "Iscriviti"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tag"
|
msgstr "Tag"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "L'URL del feed a cui vuoi iscriverti. "
|
msgstr "L'URL del feed a cui vuoi iscriverti. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Non letto"
|
msgstr "Non letto"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Elimina le stelle"
|
msgstr "Elimina le stelle"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Nome utente"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nome utente o e-mail"
|
msgstr "Nome utente o e-mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Avviso"
|
msgstr "Avviso"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Avviso"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Sito web"
|
msgstr "Sito web"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Non hai ancora abbonamenti. "
|
msgstr "Non hai ancora abbonamenti. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr "<0>こんにちは、</0><1>私はベルギーのジェレミーです
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>アカウントが必要ですか?</0><1>サインアップ!</1>"
|
msgstr "<0>アカウントが必要ですか?</0><1>サインアップ!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "About"
|
msgstr "About"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "カテゴリを追加"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "ユーザー追加"
|
msgstr "ユーザー追加"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "管理者"
|
msgstr "管理者"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "すべて"
|
msgstr "すべて"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "ユーザー <0>{userName}</0> を削除してもよろしいですか
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "本当にアカウントを削除しますか?元には戻せません!"
|
msgstr "本当にアカウントを削除しますか?元には戻せません!"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "<0>{sourceLabel}</0> のすべてのエントリーを既読にしますか?"
|
msgstr "<0>{sourceLabel}</0> のすべてのエントリーを既読にしますか?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "<0>{sourceLabel}</0> の {threshold} 日より前のエントリーを既読としてマークしてもよろしいですか?"
|
msgstr "<0>{sourceLabel}</0> の {threshold} 日より前のエントリーを既読としてマークしてもよろしいですか?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "戻る"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "ログインに戻る"
|
msgstr "ログインに戻る"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr "Chromeのブラウザー拡張が必要です"
|
msgstr "Chromeのブラウザー拡張が必要です"
|
||||||
@@ -144,27 +153,27 @@ msgstr "ブラウザー拡張"
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr "ブラウザータブ"
|
msgstr "ブラウザータブ"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "キャンセル"
|
msgstr "キャンセル"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "カテゴリー"
|
msgstr "カテゴリー"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr "CommaFeed バージョン {version} ({revision})。"
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "コンパクト"
|
msgstr "コンパクト"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "確認"
|
msgstr "確認"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr "適用されるカスタムCSSルール"
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "ページ読み込み時に実行されるカスタムJSコード"
|
msgstr "ページ読み込み時に実行されるカスタムJSコード"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "ダーク"
|
msgstr "ダーク"
|
||||||
@@ -273,13 +287,14 @@ msgstr "説明"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr "詳細"
|
msgstr "詳細"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "ディスプレイ"
|
msgstr "ディスプレイ"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "寄付"
|
msgstr "寄付"
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "ダウンロード"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "リンクをブックマークバーにドラッグ"
|
msgstr "リンクをブックマークバーにドラッグ"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "メール"
|
msgstr "メール"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "メールアドレス"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "ユーザーの編集"
|
msgstr "ユーザーの編集"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "有効"
|
msgstr "有効"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "拡張"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "サブスクリプションとカテゴリを、他のフィード読み取りサービスにインポートできる OPML ファイルとしてエクスポートします"
|
msgstr "サブスクリプションとカテゴリを、他のフィード読み取りサービスにインポートできる OPML ファイルとしてエクスポートします"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "拡張機能オプション"
|
msgstr "拡張機能オプション"
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr "拡張機能オプション"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "フィード名"
|
msgstr "フィード名"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "フィード URL"
|
msgstr "フィード URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr "Fever API URL"
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "フィルタリング式"
|
msgstr "フィルタリング式"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr "フィードの強制フェッチはまだ利用できません。"
|
msgstr "フィードの強制フェッチはまだ利用できません。"
|
||||||
@@ -384,9 +403,9 @@ msgstr "フィードの強制フェッチはまだ利用できません。"
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "パスワードをお忘れですか?"
|
msgstr "パスワードをお忘れですか?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "最初にプロファイルでAPIキーを生成します。"
|
msgstr "最初にプロファイルでAPIキーを生成します。"
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "最初にプロファイルでAPIキーを生成します。"
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "新しいAPIキーを生成する"
|
msgstr "新しいAPIキーを生成する"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "生成されたフィードURL"
|
msgstr "生成されたフィードURL"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "{0} に移動"
|
msgstr "{0} に移動"
|
||||||
@@ -416,6 +436,18 @@ msgstr "APIドキュメントに移動します。"
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "グッズ"
|
msgstr "グッズ"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "ID"
|
msgstr "ID"
|
||||||
@@ -440,13 +472,17 @@ msgstr "インポート"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "展開ビューでエントリーをスクロールすると、それらが既読としてマークされます"
|
msgstr "展開ビューでエントリーをスクロールすると、それらが既読としてマークされます"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "未読のままにする"
|
msgstr "未読のままにする"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "キーボードショートカット"
|
msgstr "キーボードショートカット"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "最終更新メッセージ"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "ライト"
|
msgstr "ライト"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "リンク"
|
msgstr "リンク"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "サブスクリプションを読み込んでいます..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "タグを読み込んでいます..."
|
msgstr "タグを読み込んでいます..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "ログイン"
|
msgstr "ログイン"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "ログアウト"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr "長押し"
|
msgstr "長押し"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "ユーザーの管理"
|
msgstr "ユーザーの管理"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "すべて既読にする"
|
msgstr "すべて既読にする"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "すべてのエントリーを既読にする"
|
msgstr "すべてのエントリーを既読にする"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "既読にする"
|
msgstr "既読にする"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "ここまで既読にする"
|
msgstr "ここまで既読にする"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "ページを下に移動"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "ページを上に移動"
|
msgstr "ページを上に移動"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "該当なし"
|
msgstr "該当なし"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "名前"
|
msgstr "名前"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "新しいパスワード"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "最新順"
|
msgstr "最新順"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "次へ"
|
msgstr "次へ"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPMLファイル"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr "OPMLファイルは必要です"
|
msgstr "OPMLファイルは必要です"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "オーダー"
|
msgstr "オーダー"
|
||||||
@@ -694,11 +738,11 @@ msgstr "親"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "親カテゴリ"
|
msgstr "親カテゴリ"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "パスワード"
|
msgstr "パスワード"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "パスワード回復"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "パスワードが一致しません"
|
msgstr "パスワードが一致しません"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "位置"
|
msgstr "位置"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "位置"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "前へ"
|
msgstr "前へ"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "プロフィール"
|
msgstr "プロフィール"
|
||||||
@@ -727,8 +779,12 @@ msgstr "プロフィール"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "パスワードの回復"
|
msgstr "パスワードの回復"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "リフレッシュ"
|
msgstr "リフレッシュ"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "REST API"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "右クリック"
|
msgstr "右クリック"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "保存"
|
msgstr "保存"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "エントリー間を移動するときにスムーズにスクロール
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr "スクロール"
|
msgstr "スクロール"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "検索"
|
msgstr "検索"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "検索"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "検索には少なくとも3文字が必要です"
|
msgstr "検索には少なくとも3文字が必要です"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "次のエントリーを開かずにフォーカスする"
|
msgstr "次のエントリーを開かずにフォーカスする"
|
||||||
@@ -850,9 +914,9 @@ msgstr "未読数をタブのアイコンに表示する"
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr "未読数をタブのタイトルに表示する"
|
msgstr "未読数をタブのタイトルに表示する"
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "サインアップ"
|
msgstr "サインアップ"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "何か悪いことが起きました..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Space"
|
msgstr "Space"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "スター"
|
msgstr "スター"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "スター付き"
|
msgstr "スター付き"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "購読する"
|
msgstr "購読する"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr "システム"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "タグ"
|
msgstr "タグ"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "購読したいフィードのURL。ウェブサイトのURLを直接使用して、CommaFeedはページ内のフィードを検索します。"
|
msgstr "購読したいフィードのURL。ウェブサイトのURLを直接使用して、CommaFeedはページ内のフィードを検索します。"
|
||||||
@@ -951,8 +1020,8 @@ msgstr "デモを試す!"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "未読"
|
msgstr "未読"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "スターを外す"
|
msgstr "スターを外す"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "ユーザー名"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "ユーザー名またはメールアドレス"
|
msgstr "ユーザー名またはメールアドレス"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "警告"
|
msgstr "警告"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "警告"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "ウェブサイト"
|
msgstr "ウェブサイト"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "まだサブスクリプションがありません。上部の + 記号をクリックして1つ追加してみませんか?"
|
msgstr "まだサブスクリプションがありません。上部の + 記号をクリックして1つ追加してみませんか?"
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>계정이 필요하십니까?</0><1>가입하세요!</1>"
|
msgstr "<0>계정이 필요하십니까?</0><1>가입하세요!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "정보"
|
msgstr "정보"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "카테고리 추가"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "사용자 추가"
|
msgstr "사용자 추가"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "관리자"
|
msgstr "관리자"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "전체"
|
msgstr "전체"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "<0>{userName}</0> 사용자를 삭제하시겠습니까?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "정말 계정을 삭제하시겠습니까? "
|
msgstr "정말 계정을 삭제하시겠습니까? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "<0>{sourceLabel}</0>의 모든 항목을 읽은 것으로 표시하시겠습니까?"
|
msgstr "<0>{sourceLabel}</0>의 모든 항목을 읽은 것으로 표시하시겠습니까?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "<0>{sourceLabel}</0>의 {threshold}일보다 오래된 항목을 읽은 것으로 표시하시겠습니까?"
|
msgstr "<0>{sourceLabel}</0>의 {threshold}일보다 오래된 항목을 읽은 것으로 표시하시겠습니까?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "뒤로"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "로그인으로 돌아가기"
|
msgstr "로그인으로 돌아가기"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "취소"
|
msgstr "취소"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "카테고리"
|
msgstr "카테고리"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "컴팩트"
|
msgstr "컴팩트"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "확인"
|
msgstr "확인"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "설명"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "디스플레이"
|
msgstr "디스플레이"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "다운로드"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "링크를 북마크바로 드래그"
|
msgstr "링크를 북마크바로 드래그"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "이메일"
|
msgstr "이메일"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "이메일 주소"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "사용자 편집"
|
msgstr "사용자 편집"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "활성화"
|
msgstr "활성화"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "확장"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "구독 및 카테고리를 다른 피드 읽기 서비스에서 가져올 수 있는 OPML 파일로 내보내기"
|
msgstr "구독 및 카테고리를 다른 피드 읽기 서비스에서 가져올 수 있는 OPML 파일로 내보내기"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "피드 이름"
|
msgstr "피드 이름"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "피드 URL"
|
msgstr "피드 URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "필터링 표현식"
|
msgstr "필터링 표현식"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "비밀번호를 잊으셨나요?"
|
msgstr "비밀번호를 잊으셨나요?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "먼저 프로필에서 API 키를 생성하십시오."
|
msgstr "먼저 프로필에서 API 키를 생성하십시오."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "먼저 프로필에서 API 키를 생성하십시오."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "새 API 키 생성"
|
msgstr "새 API 키 생성"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "생성된 피드 URL"
|
msgstr "생성된 피드 URL"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "API 문서로 이동합니다."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "굿즈"
|
msgstr "굿즈"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "아이디"
|
msgstr "아이디"
|
||||||
@@ -440,13 +472,17 @@ msgstr "가져오기"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "확장 보기에서 항목을 스크롤하면 읽은 것으로 표시됩니다."
|
msgstr "확장 보기에서 항목을 스크롤하면 읽은 것으로 표시됩니다."
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "읽지 않은 상태로 유지"
|
msgstr "읽지 않은 상태로 유지"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "키보드 단축키"
|
msgstr "키보드 단축키"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "마지막 새로고침 메시지"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "링크"
|
msgstr "링크"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "구독 로드 중..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "태그 로드 중..."
|
msgstr "태그 로드 중..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "로그인"
|
msgstr "로그인"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "로그아웃"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "사용자 관리"
|
msgstr "사용자 관리"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "모두 읽은 상태로 표시"
|
msgstr "모두 읽은 상태로 표시"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "모든 항목을 읽은 상태로 표시"
|
msgstr "모든 항목을 읽은 상태로 표시"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "읽은 상태로 표시"
|
msgstr "읽은 상태로 표시"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "여기까지 읽은 것으로 표시"
|
msgstr "여기까지 읽은 것으로 표시"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "페이지를 아래로 이동"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "페이지를 위로 이동"
|
msgstr "페이지를 위로 이동"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "해당 없음"
|
msgstr "해당 없음"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "이름"
|
msgstr "이름"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "새 비밀번호"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "최신순"
|
msgstr "최신순"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "다음"
|
msgstr "다음"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML 파일"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "주문"
|
msgstr "주문"
|
||||||
@@ -694,11 +738,11 @@ msgstr "부모"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "부모 카테고리"
|
msgstr "부모 카테고리"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "비밀번호"
|
msgstr "비밀번호"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "비밀번호 복구"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "비밀번호가 일치하지 않습니다"
|
msgstr "비밀번호가 일치하지 않습니다"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "위치"
|
msgstr "위치"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "위치"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "프로필"
|
msgstr "프로필"
|
||||||
@@ -727,8 +779,12 @@ msgstr "프로필"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "비밀번호 복구"
|
msgstr "비밀번호 복구"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "새로 고침"
|
msgstr "새로 고침"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "저장"
|
msgstr "저장"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "항목 간 탐색 시 부드럽게 스크롤"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "검색"
|
msgstr "검색"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "검색"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "검색에 최소 3자가 필요합니다."
|
msgstr "검색에 최소 3자가 필요합니다."
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "열지 않고 다음 항목에 포커스 설정"
|
msgstr "열지 않고 다음 항목에 포커스 설정"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "가입"
|
msgstr "가입"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "뭔가 안 좋은 일이 일어났어..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "우주"
|
msgstr "우주"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "스타"
|
msgstr "스타"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "별표"
|
msgstr "별표"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "구독"
|
msgstr "구독"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "태그"
|
msgstr "태그"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "구독하려는 피드의 URL입니다. "
|
msgstr "구독하려는 피드의 URL입니다. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "읽지 않음"
|
msgstr "읽지 않음"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "별표 제거"
|
msgstr "별표 제거"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "사용자 이름"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "사용자 이름 또는 이메일"
|
msgstr "사용자 이름 또는 이메일"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "경고"
|
msgstr "경고"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "경고"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "웹사이트"
|
msgstr "웹사이트"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "아직 구독이 없습니다. "
|
msgstr "아직 구독이 없습니다. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Perlukan akaun?</0><1>Daftar!</1>"
|
msgstr "<0>Perlukan akaun?</0><1>Daftar!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Mengenai"
|
msgstr "Mengenai"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Tambah kategori"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Tambah pengguna"
|
msgstr "Tambah pengguna"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Pentadbir"
|
msgstr "Pentadbir"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Semua"
|
msgstr "Semua"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Adakah anda pasti mahu memadamkan pengguna <0>{userName}</0> ?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Adakah anda pasti mahu memadamkan akaun anda? "
|
msgstr "Adakah anda pasti mahu memadamkan akaun anda? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Adakah anda pasti mahu menandakan semua entri <0>{sourceLabel}</0> sebagai dibaca?"
|
msgstr "Adakah anda pasti mahu menandakan semua entri <0>{sourceLabel}</0> sebagai dibaca?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Adakah anda pasti mahu menandakan entri yang lebih lama daripada {threshold} hari <0>{sourceLabel}</0> sebagai dibaca?"
|
msgstr "Adakah anda pasti mahu menandakan entri yang lebih lama daripada {threshold} hari <0>{sourceLabel}</0> sebagai dibaca?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Kembali"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Kembali untuk log masuk"
|
msgstr "Kembali untuk log masuk"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Batal"
|
msgstr "Batal"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategori"
|
msgstr "Kategori"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Padat"
|
msgstr "Padat"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Sahkan"
|
msgstr "Sahkan"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "Dec"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Paparan"
|
msgstr "Paparan"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Muat turun"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Seret pautan ke bar penanda halaman"
|
msgstr "Seret pautan ke bar penanda halaman"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-mel"
|
msgstr "E-mel"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Alamat e-mel"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Edit pengguna"
|
msgstr "Edit pengguna"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Didayakan"
|
msgstr "Didayakan"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Dikembangkan"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Eksport langganan dan kategori anda sebagai fail OPML yang boleh diimport dalam perkhidmatan membaca suapan lain"
|
msgstr "Eksport langganan dan kategori anda sebagai fail OPML yang boleh diimport dalam perkhidmatan membaca suapan lain"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Nama suapan"
|
msgstr "Nama suapan"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL Suapan"
|
msgstr "URL Suapan"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Ungkapan penapisan"
|
msgstr "Ungkapan penapisan"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Lupa kata laluan?"
|
msgstr "Lupa kata laluan?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Jana kunci API dalam profil anda dahulu."
|
msgstr "Jana kunci API dalam profil anda dahulu."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Jana kunci API dalam profil anda dahulu."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Jana kunci API baharu"
|
msgstr "Jana kunci API baharu"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Url suapan yang dijana"
|
msgstr "Url suapan yang dijana"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Pergi ke dokumentasi API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Dalam paparan yang diperluas, menatal melalui entri menandakannya sebagai dibaca"
|
msgstr "Dalam paparan yang diperluas, menatal melalui entri menandakannya sebagai dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Teruskan tidak dibaca"
|
msgstr "Teruskan tidak dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Pintasan papan kekunci"
|
msgstr "Pintasan papan kekunci"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Mesej muat semula terakhir"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Pautan"
|
msgstr "Pautan"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Memuatkan langganan..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Memuatkan tag..."
|
msgstr "Memuatkan tag..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Log masuk"
|
msgstr "Log masuk"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Log Keluar"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Urus pengguna"
|
msgstr "Urus pengguna"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Tandai semua sebagai dibaca"
|
msgstr "Tandai semua sebagai dibaca"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Tandai semua entri sebagai dibaca"
|
msgstr "Tandai semua entri sebagai dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Tandakan sebagai dibaca"
|
msgstr "Tandakan sebagai dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Tandai sebagai dibaca sehingga di sini"
|
msgstr "Tandai sebagai dibaca sehingga di sini"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Gerakkan halaman ke bawah"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Alih halaman ke atas"
|
msgstr "Alih halaman ke atas"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "T/A"
|
msgstr "T/A"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nama"
|
msgstr "Nama"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Kata laluan baharu"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Terbaharu dahulu"
|
msgstr "Terbaharu dahulu"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Seterusnya"
|
msgstr "Seterusnya"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "Fail OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Perintah"
|
msgstr "Perintah"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Ibu bapa"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Kategori Induk"
|
msgstr "Kategori Induk"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Kata Laluan"
|
msgstr "Kata Laluan"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Pemulihan Kata Laluan"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Kata laluan tidak sepadan"
|
msgstr "Kata laluan tidak sepadan"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Kedudukan"
|
msgstr "Kedudukan"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Kedudukan"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Pulihkan kata laluan"
|
msgstr "Pulihkan kata laluan"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Muat semula"
|
msgstr "Muat semula"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "REHAT API"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Jimat"
|
msgstr "Jimat"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Tatal dengan lancar apabila menavigasi antara entri"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Cari"
|
msgstr "Cari"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Cari"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Cari memerlukan sekurang-kurangnya 3 aksara"
|
msgstr "Cari memerlukan sekurang-kurangnya 3 aksara"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Tetapkan fokus pada entri seterusnya tanpa membukanya"
|
msgstr "Tetapkan fokus pada entri seterusnya tanpa membukanya"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Daftar"
|
msgstr "Daftar"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Sesuatu yang buruk baru saja berlaku..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Angkasa"
|
msgstr "Angkasa"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Bintang"
|
msgstr "Bintang"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Dibintangi"
|
msgstr "Dibintangi"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Langgan"
|
msgstr "Langgan"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tag"
|
msgstr "Tag"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL untuk suapan yang anda ingin langgan. "
|
msgstr "URL untuk suapan yang anda ingin langgan. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Belum dibaca"
|
msgstr "Belum dibaca"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Nyahbintang"
|
msgstr "Nyahbintang"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Nama pengguna"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nama Pengguna atau E-mel"
|
msgstr "Nama Pengguna atau E-mel"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Amaran"
|
msgstr "Amaran"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Amaran"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Laman web"
|
msgstr "Laman web"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Anda belum mempunyai sebarang langganan lagi. "
|
msgstr "Anda belum mempunyai sebarang langganan lagi. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Trenger du en konto?</0><1>Registrer deg!</1>"
|
msgstr "<0>Trenger du en konto?</0><1>Registrer deg!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Omtrent"
|
msgstr "Omtrent"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Legg til kategori"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Legg til bruker"
|
msgstr "Legg til bruker"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alle"
|
msgstr "Alle"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Er du sikker på at du vil slette bruker <0>{brukernavn}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Er du sikker på at du vil slette kontoen din? "
|
msgstr "Er du sikker på at du vil slette kontoen din? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Er du sikker på at du vil merke alle oppføringer av <0>{sourceLabel}</0> som lest?"
|
msgstr "Er du sikker på at du vil merke alle oppføringer av <0>{sourceLabel}</0> som lest?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Er du sikker på at du vil merke oppføringer eldre enn {threshold} dager av <0>{sourceLabel}</0> som lest?"
|
msgstr "Er du sikker på at du vil merke oppføringer eldre enn {threshold} dager av <0>{sourceLabel}</0> som lest?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Tilbake"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Tilbake for å logge inn"
|
msgstr "Tilbake for å logge inn"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategori"
|
msgstr "Kategori"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompakt"
|
msgstr "Kompakt"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bekreft"
|
msgstr "Bekreft"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Visning"
|
msgstr "Visning"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Last ned"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Dra lenken til bokmerkelinjen"
|
msgstr "Dra lenken til bokmerkelinjen"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-post"
|
msgstr "E-post"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-postadresse"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Rediger bruker"
|
msgstr "Rediger bruker"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Aktivert"
|
msgstr "Aktivert"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Utvidet"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Eksporter abonnementene og kategoriene dine som en OPML-fil som kan importeres i andre feedlesetjenester"
|
msgstr "Eksporter abonnementene og kategoriene dine som en OPML-fil som kan importeres i andre feedlesetjenester"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Feednavn"
|
msgstr "Feednavn"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "Feed-URL"
|
msgstr "Feed-URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtrerende uttrykk"
|
msgstr "Filtrerende uttrykk"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Glemt passord?"
|
msgstr "Glemt passord?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Generer en API-nøkkel i profilen din først."
|
msgstr "Generer en API-nøkkel i profilen din først."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Generer en API-nøkkel i profilen din først."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Generer ny API-nøkkel"
|
msgstr "Generer ny API-nøkkel"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Generert feed-url"
|
msgstr "Generert feed-url"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Gå til API-dokumentasjonen."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Godbiter"
|
msgstr "Godbiter"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "I utvidet visning merker du dem som lest ved å rulle gjennom oppføringer"
|
msgstr "I utvidet visning merker du dem som lest ved å rulle gjennom oppføringer"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Behold ulest"
|
msgstr "Behold ulest"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Tastatursnarveier"
|
msgstr "Tastatursnarveier"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Siste oppdateringsmelding"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Laster abonnementer..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Laster tagger..."
|
msgstr "Laster tagger..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Logg inn"
|
msgstr "Logg inn"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Logg ut"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Administrer brukere"
|
msgstr "Administrer brukere"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Merk alle som lest"
|
msgstr "Merk alle som lest"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Merk alle oppføringer som lest"
|
msgstr "Merk alle oppføringer som lest"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Merk som lest"
|
msgstr "Merk som lest"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Merk som lest frem til her"
|
msgstr "Merk som lest frem til her"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Flytt siden ned"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Flytt siden opp"
|
msgstr "Flytt siden opp"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Navn"
|
msgstr "Navn"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nytt passord"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Nyeste først"
|
msgstr "Nyeste først"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Neste"
|
msgstr "Neste"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML-fil"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Ord"
|
msgstr "Ord"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Foreldre"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Overordnet kategori"
|
msgstr "Overordnet kategori"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Passord"
|
msgstr "Passord"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Passordgjenoppretting"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Passordene samsvarer ikke"
|
msgstr "Passordene samsvarer ikke"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Posisjon"
|
msgstr "Posisjon"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Posisjon"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Gjenopprett passord"
|
msgstr "Gjenopprett passord"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Oppdater"
|
msgstr "Oppdater"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Lagre"
|
msgstr "Lagre"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Rull jevnt når du navigerer mellom oppføringer"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Søk"
|
msgstr "Søk"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Søk"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Søk krever minst 3 tegn"
|
msgstr "Søk krever minst 3 tegn"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Sett fokus på neste oppføring uten å åpne den"
|
msgstr "Sett fokus på neste oppføring uten å åpne den"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Meld deg på"
|
msgstr "Meld deg på"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Noe ille skjedde akkurat..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Stjerne"
|
msgstr "Stjerne"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Stjerne"
|
msgstr "Stjerne"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Abonner"
|
msgstr "Abonner"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL-en til feeden du vil abonnere på. "
|
msgstr "URL-en til feeden du vil abonnere på. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Ulest"
|
msgstr "Ulest"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Fjern stjerne"
|
msgstr "Fjern stjerne"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Brukernavn"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Brukernavn eller e-post"
|
msgstr "Brukernavn eller e-post"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Advarsel"
|
msgstr "Advarsel"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Advarsel"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Nettsted"
|
msgstr "Nettsted"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Du har ingen abonnementer ennå. "
|
msgstr "Du har ingen abonnementer ennå. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Een account nodig?</0><1>Meld je aan!</1>"
|
msgstr "<0>Een account nodig?</0><1>Meld je aan!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Over"
|
msgstr "Over"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Categorie toevoegen"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Gebruiker toevoegen"
|
msgstr "Gebruiker toevoegen"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Beheerder"
|
msgstr "Beheerder"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alles"
|
msgstr "Alles"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Weet u zeker dat u gebruiker <0>{userName}</0> wilt verwijderen?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Weet je zeker dat je je account wilt verwijderen? "
|
msgstr "Weet je zeker dat je je account wilt verwijderen? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Weet je zeker dat je alle items van <0>{sourceLabel}</0> als gelezen wilt markeren?"
|
msgstr "Weet je zeker dat je alle items van <0>{sourceLabel}</0> als gelezen wilt markeren?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Weet u zeker dat u vermeldingen die ouder zijn dan {threshold} dagen van <0>{sourceLabel}</0> als gelezen wilt markeren?"
|
msgstr "Weet u zeker dat u vermeldingen die ouder zijn dan {threshold} dagen van <0>{sourceLabel}</0> als gelezen wilt markeren?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Terug"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Terug naar inloggen"
|
msgstr "Terug naar inloggen"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuleren"
|
msgstr "Annuleren"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Categorie"
|
msgstr "Categorie"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bevestigen"
|
msgstr "Bevestigen"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "Beschrijving"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Weergave"
|
msgstr "Weergave"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Downloaden"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Link naar bladwijzerbalk slepen"
|
msgstr "Link naar bladwijzerbalk slepen"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-mailadres"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Gebruiker bewerken"
|
msgstr "Gebruiker bewerken"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Ingeschakeld"
|
msgstr "Ingeschakeld"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Uitgebreid"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exporteer uw abonnementen en categorieën als een OPML-bestand dat kan worden geïmporteerd in andere feedleesservices"
|
msgstr "Exporteer uw abonnementen en categorieën als een OPML-bestand dat kan worden geïmporteerd in andere feedleesservices"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Feednaam"
|
msgstr "Feednaam"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "Feed-URL"
|
msgstr "Feed-URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Uitdrukking filteren"
|
msgstr "Uitdrukking filteren"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Wachtwoord vergeten?"
|
msgstr "Wachtwoord vergeten?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Genereer eerst een API-sleutel in uw profiel."
|
msgstr "Genereer eerst een API-sleutel in uw profiel."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Genereer eerst een API-sleutel in uw profiel."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Nieuwe API-sleutel genereren"
|
msgstr "Nieuwe API-sleutel genereren"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Gegenereerde feed-url"
|
msgstr "Gegenereerde feed-url"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Ga naar de API-documentatie."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Goederen"
|
msgstr "Goederen"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "In de uitgevouwen weergave markeert het scrollen door items ze als gelezen"
|
msgstr "In de uitgevouwen weergave markeert het scrollen door items ze als gelezen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Ongelezen houden"
|
msgstr "Ongelezen houden"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "sneltoetsen"
|
msgstr "sneltoetsen"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Laatste verversingsbericht"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Abonnementen laden..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Tags laden..."
|
msgstr "Tags laden..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Inloggen"
|
msgstr "Inloggen"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Uitloggen"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Gebruikers beheren"
|
msgstr "Gebruikers beheren"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Alles markeren als gelezen"
|
msgstr "Alles markeren als gelezen"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Markeer alle vermeldingen als gelezen"
|
msgstr "Markeer alle vermeldingen als gelezen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Markeren als gelezen"
|
msgstr "Markeren als gelezen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Markeer als gelezen tot hier"
|
msgstr "Markeer als gelezen tot hier"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Verplaats de pagina naar beneden"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Verplaats de pagina omhoog"
|
msgstr "Verplaats de pagina omhoog"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Naam"
|
msgstr "Naam"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nieuw wachtwoord"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Nieuwste eerst"
|
msgstr "Nieuwste eerst"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Volgende"
|
msgstr "Volgende"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML-bestand"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Bestelling"
|
msgstr "Bestelling"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Ouder"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Oudercategorie"
|
msgstr "Oudercategorie"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Wachtwoord"
|
msgstr "Wachtwoord"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Wachtwoordherstel"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Wachtwoorden komen niet overeen"
|
msgstr "Wachtwoorden komen niet overeen"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Positie"
|
msgstr "Positie"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Positie"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profiel"
|
msgstr "Profiel"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profiel"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "wachtwoord herstellen"
|
msgstr "wachtwoord herstellen"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Vernieuwen"
|
msgstr "Vernieuwen"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "REST-API"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Opslaan"
|
msgstr "Opslaan"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Vloeiend scrollen bij het navigeren tussen items"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Zoeken"
|
msgstr "Zoeken"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Zoeken"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Zoeken vereist minimaal 3 tekens"
|
msgstr "Zoeken vereist minimaal 3 tekens"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Stel de focus in op het volgende item zonder het te openen"
|
msgstr "Stel de focus in op het volgende item zonder het te openen"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Aanmelden"
|
msgstr "Aanmelden"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Er is net iets ergs gebeurd..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Ruimte"
|
msgstr "Ruimte"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Ster"
|
msgstr "Ster"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Met ster"
|
msgstr "Met ster"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Abonneren"
|
msgstr "Abonneren"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "De URL voor de feed waarop u zich wilt abonneren. "
|
msgstr "De URL voor de feed waarop u zich wilt abonneren. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Ongelezen"
|
msgstr "Ongelezen"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Sterren uit"
|
msgstr "Sterren uit"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Gebruikersnaam"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Gebruikersnaam of e-mailadres"
|
msgstr "Gebruikersnaam of e-mailadres"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Waarschuwing"
|
msgstr "Waarschuwing"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Waarschuwing"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Je hebt nog geen abonnementen. "
|
msgstr "Je hebt nog geen abonnementen. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Trenger du en konto?</0><1>Registrer deg!</1>"
|
msgstr "<0>Trenger du en konto?</0><1>Registrer deg!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Omtrent"
|
msgstr "Omtrent"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Legg til kategori"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Legg til bruker"
|
msgstr "Legg til bruker"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alle"
|
msgstr "Alle"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Er du sikker på at du vil slette bruker <0>{brukernavn}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Er du sikker på at du vil slette kontoen din? "
|
msgstr "Er du sikker på at du vil slette kontoen din? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Er du sikker på at du vil merke alle oppføringer av <0>{sourceLabel}</0> som lest?"
|
msgstr "Er du sikker på at du vil merke alle oppføringer av <0>{sourceLabel}</0> som lest?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Er du sikker på at du vil merke oppføringer eldre enn {threshold} dager av <0>{sourceLabel}</0> som lest?"
|
msgstr "Er du sikker på at du vil merke oppføringer eldre enn {threshold} dager av <0>{sourceLabel}</0> som lest?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Tilbake"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Tilbake for å logge inn"
|
msgstr "Tilbake for å logge inn"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategori"
|
msgstr "Kategori"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompakt"
|
msgstr "Kompakt"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bekreft"
|
msgstr "Bekreft"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Visning"
|
msgstr "Visning"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Last ned"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Dra lenken til bokmerkelinjen"
|
msgstr "Dra lenken til bokmerkelinjen"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-post"
|
msgstr "E-post"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-postadresse"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Rediger bruker"
|
msgstr "Rediger bruker"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Aktivert"
|
msgstr "Aktivert"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Utvidet"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Eksporter abonnementene og kategoriene dine som en OPML-fil som kan importeres i andre feedlesetjenester"
|
msgstr "Eksporter abonnementene og kategoriene dine som en OPML-fil som kan importeres i andre feedlesetjenester"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Feednavn"
|
msgstr "Feednavn"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "Feed-URL"
|
msgstr "Feed-URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtrerende uttrykk"
|
msgstr "Filtrerende uttrykk"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Glemt passord?"
|
msgstr "Glemt passord?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Generer en API-nøkkel i profilen din først."
|
msgstr "Generer en API-nøkkel i profilen din først."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Generer en API-nøkkel i profilen din først."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Generer ny API-nøkkel"
|
msgstr "Generer ny API-nøkkel"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Generert feed-url"
|
msgstr "Generert feed-url"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Gå til API-dokumentasjonen."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Godbiter"
|
msgstr "Godbiter"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "I utvidet visning merker du dem som lest ved å rulle gjennom oppføringer"
|
msgstr "I utvidet visning merker du dem som lest ved å rulle gjennom oppføringer"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Behold ulest"
|
msgstr "Behold ulest"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Tastatursnarveier"
|
msgstr "Tastatursnarveier"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Siste oppdateringsmelding"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Laster abonnementer..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Laster tagger..."
|
msgstr "Laster tagger..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Logg inn"
|
msgstr "Logg inn"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Logg ut"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Administrer brukere"
|
msgstr "Administrer brukere"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Merk alle som lest"
|
msgstr "Merk alle som lest"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Merk alle oppføringer som lest"
|
msgstr "Merk alle oppføringer som lest"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Merk som lest"
|
msgstr "Merk som lest"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Merk som lest frem til her"
|
msgstr "Merk som lest frem til her"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Flytt siden ned"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Flytt siden opp"
|
msgstr "Flytt siden opp"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Navn"
|
msgstr "Navn"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nytt passord"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Nyeste først"
|
msgstr "Nyeste først"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Neste"
|
msgstr "Neste"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML-fil"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Ord"
|
msgstr "Ord"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Foreldre"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Overordnet kategori"
|
msgstr "Overordnet kategori"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Passord"
|
msgstr "Passord"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Passordgjenoppretting"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Passordene samsvarer ikke"
|
msgstr "Passordene samsvarer ikke"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Posisjon"
|
msgstr "Posisjon"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Posisjon"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Gjenopprett passord"
|
msgstr "Gjenopprett passord"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Oppdater"
|
msgstr "Oppdater"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Lagre"
|
msgstr "Lagre"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Rull jevnt når du navigerer mellom oppføringer"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Søk"
|
msgstr "Søk"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Søk"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Søk krever minst 3 tegn"
|
msgstr "Søk krever minst 3 tegn"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Sett fokus på neste oppføring uten å åpne den"
|
msgstr "Sett fokus på neste oppføring uten å åpne den"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Meld deg på"
|
msgstr "Meld deg på"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Noe ille skjedde akkurat..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Stjerne"
|
msgstr "Stjerne"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Stjerne"
|
msgstr "Stjerne"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Abonner"
|
msgstr "Abonner"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL-en til feeden du vil abonnere på. "
|
msgstr "URL-en til feeden du vil abonnere på. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Ulest"
|
msgstr "Ulest"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Fjern stjerne"
|
msgstr "Fjern stjerne"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Brukernavn"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Brukernavn eller e-post"
|
msgstr "Brukernavn eller e-post"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Advarsel"
|
msgstr "Advarsel"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Advarsel"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Nettsted"
|
msgstr "Nettsted"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Du har ingen abonnementer ennå. "
|
msgstr "Du har ingen abonnementer ennå. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Potrzebujesz konta?</0><1>Zarejestruj się!</1>"
|
msgstr "<0>Potrzebujesz konta?</0><1>Zarejestruj się!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "O"
|
msgstr "O"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Dodaj kategorię"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Dodaj użytkownika"
|
msgstr "Dodaj użytkownika"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administracja"
|
msgstr "Administracja"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Wszystkie"
|
msgstr "Wszystkie"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Czy na pewno chcesz usunąć użytkownika <0>{userName}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Czy na pewno chcesz usunąć swoje konto? "
|
msgstr "Czy na pewno chcesz usunąć swoje konto? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Czy na pewno chcesz oznaczyć wszystkie wpisy <0>{sourceLabel}</0> jako przeczytane?"
|
msgstr "Czy na pewno chcesz oznaczyć wszystkie wpisy <0>{sourceLabel}</0> jako przeczytane?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Czy na pewno chcesz oznaczyć wpisy starsze niż {threshold} dni z <0>{sourceLabel}</0> jako przeczytane?"
|
msgstr "Czy na pewno chcesz oznaczyć wpisy starsze niż {threshold} dni z <0>{sourceLabel}</0> jako przeczytane?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Powrót"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Powrót do logowania"
|
msgstr "Powrót do logowania"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Anuluj"
|
msgstr "Anuluj"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategoria"
|
msgstr "Kategoria"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompaktowy"
|
msgstr "Kompaktowy"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Potwierdź"
|
msgstr "Potwierdź"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "Opis"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Wyświetlacz"
|
msgstr "Wyświetlacz"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Pobierz"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Przeciągnij link do paska zakładek"
|
msgstr "Przeciągnij link do paska zakładek"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Adres e-mail"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Edytuj użytkownika"
|
msgstr "Edytuj użytkownika"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "włączone"
|
msgstr "włączone"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Rozszerzony"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Eksportuj swoje subskrypcje i kategorie jako plik OPML, który można zaimportować do innych usług odczytu kanałów"
|
msgstr "Eksportuj swoje subskrypcje i kategorie jako plik OPML, który można zaimportować do innych usług odczytu kanałów"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "nazwa kanału"
|
msgstr "nazwa kanału"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL kanału"
|
msgstr "URL kanału"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Wyrażenie filtrujące"
|
msgstr "Wyrażenie filtrujące"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Zapomniałeś hasła?"
|
msgstr "Zapomniałeś hasła?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Najpierw wygeneruj klucz API w swoim profilu."
|
msgstr "Najpierw wygeneruj klucz API w swoim profilu."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Najpierw wygeneruj klucz API w swoim profilu."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Wygeneruj nowy klucz API"
|
msgstr "Wygeneruj nowy klucz API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Wygenerowany adres URL kanału"
|
msgstr "Wygenerowany adres URL kanału"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Przejdź do dokumentacji API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Gadżety"
|
msgstr "Gadżety"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Identyfikator"
|
msgstr "Identyfikator"
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "W widoku rozszerzonym przewijanie wpisów oznacza je jako przeczytane"
|
msgstr "W widoku rozszerzonym przewijanie wpisów oznacza je jako przeczytane"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Nie przeczytaj"
|
msgstr "Nie przeczytaj"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Skróty klawiaturowe"
|
msgstr "Skróty klawiaturowe"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "wiadomość o ostatnim odświeżeniu"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Ładowanie subskrypcji..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Ładowanie tagów..."
|
msgstr "Ładowanie tagów..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Zaloguj się"
|
msgstr "Zaloguj się"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Wyloguj"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Zarządzaj użytkownikami"
|
msgstr "Zarządzaj użytkownikami"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Oznacz wszystko jako przeczytane"
|
msgstr "Oznacz wszystko jako przeczytane"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Oznacz wszystkie wpisy jako przeczytane"
|
msgstr "Oznacz wszystkie wpisy jako przeczytane"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Oznacz jako przeczytane"
|
msgstr "Oznacz jako przeczytane"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Oznacz jako przeczytane do tej pory"
|
msgstr "Oznacz jako przeczytane do tej pory"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Przesuń stronę w dół"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Przesuń stronę w górę"
|
msgstr "Przesuń stronę w górę"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "nie dotyczy"
|
msgstr "nie dotyczy"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nazwa"
|
msgstr "Nazwa"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nowe hasło"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Najnowsze jako pierwsze"
|
msgstr "Najnowsze jako pierwsze"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Dalej"
|
msgstr "Dalej"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "plik OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Porządek"
|
msgstr "Porządek"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Rodzic"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Kategoria nadrzędna"
|
msgstr "Kategoria nadrzędna"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Hasło"
|
msgstr "Hasło"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Odzyskiwanie hasła"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Hasła nie pasują"
|
msgstr "Hasła nie pasują"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Pozycja"
|
msgstr "Pozycja"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Pozycja"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Odzyskaj hasło"
|
msgstr "Odzyskaj hasło"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Odśwież"
|
msgstr "Odśwież"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Zapisz"
|
msgstr "Zapisz"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Przewijaj płynnie podczas nawigowania między wpisami"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Szukaj"
|
msgstr "Szukaj"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Szukaj"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Wyszukiwanie wymaga co najmniej 3 znaków"
|
msgstr "Wyszukiwanie wymaga co najmniej 3 znaków"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Ustaw fokus na następnym wpisie bez otwierania go"
|
msgstr "Ustaw fokus na następnym wpisie bez otwierania go"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Zarejestruj się"
|
msgstr "Zarejestruj się"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Coś złego właśnie się stało..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Przestrzeń"
|
msgstr "Przestrzeń"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Gwiazda"
|
msgstr "Gwiazda"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Oznaczone gwiazdką"
|
msgstr "Oznaczone gwiazdką"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Subskrybuj"
|
msgstr "Subskrybuj"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tagi"
|
msgstr "Tagi"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL kanału, który chcesz subskrybować. "
|
msgstr "URL kanału, który chcesz subskrybować. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Nieprzeczytane"
|
msgstr "Nieprzeczytane"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Nazwa użytkownika"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nazwa użytkownika lub e-mail"
|
msgstr "Nazwa użytkownika lub e-mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Ostrzeżenie"
|
msgstr "Ostrzeżenie"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Ostrzeżenie"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Strona internetowa"
|
msgstr "Strona internetowa"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Nie masz jeszcze żadnych subskrypcji. "
|
msgstr "Nie masz jeszcze żadnych subskrypcji. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Precisa de uma conta?</0><1>Inscreva-se!</1>"
|
msgstr "<0>Precisa de uma conta?</0><1>Inscreva-se!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Sobre"
|
msgstr "Sobre"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Adicionar categoria"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Adicionar usuário"
|
msgstr "Adicionar usuário"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrador"
|
msgstr "Administrador"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todos"
|
msgstr "Todos"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Tem certeza de que deseja excluir o usuário <0>{userName}</0> ?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Tem certeza de que deseja excluir sua conta? "
|
msgstr "Tem certeza de que deseja excluir sua conta? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Tem certeza de que deseja marcar todas as entradas de <0>{sourceLabel}</0> como lidas?"
|
msgstr "Tem certeza de que deseja marcar todas as entradas de <0>{sourceLabel}</0> como lidas?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Tem certeza de que deseja marcar entradas com mais de {threshold} dias de <0>{sourceLabel}</0> como lidas?"
|
msgstr "Tem certeza de que deseja marcar entradas com mais de {threshold} dias de <0>{sourceLabel}</0> como lidas?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Voltar"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Voltar para logar"
|
msgstr "Voltar para logar"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Categoria"
|
msgstr "Categoria"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Compacto"
|
msgstr "Compacto"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "Descrição"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Exibir"
|
msgstr "Exibir"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Baixar"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Arraste o link para a barra de favoritos"
|
msgstr "Arraste o link para a barra de favoritos"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Endereço de e-mail"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Editar usuário"
|
msgstr "Editar usuário"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Ativado"
|
msgstr "Ativado"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Expandido"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exporte suas inscrições e categorias como um arquivo OPML que pode ser importado em outros serviços de leitura de feed"
|
msgstr "Exporte suas inscrições e categorias como um arquivo OPML que pode ser importado em outros serviços de leitura de feed"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Nome do feed"
|
msgstr "Nome do feed"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL do feed"
|
msgstr "URL do feed"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtrando expressão"
|
msgstr "Filtrando expressão"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Esqueceu a senha?"
|
msgstr "Esqueceu a senha?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Gere uma chave de API em seu perfil primeiro."
|
msgstr "Gere uma chave de API em seu perfil primeiro."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Gere uma chave de API em seu perfil primeiro."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Gerar nova chave de API"
|
msgstr "Gerar nova chave de API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "URL do feed gerado"
|
msgstr "URL do feed gerado"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Vá para a documentação da API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Brindes"
|
msgstr "Brindes"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "ID"
|
msgstr "ID"
|
||||||
@@ -440,13 +472,17 @@ msgstr "Importar"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Na visualização expandida, rolar pelas entradas marca-as como lidas"
|
msgstr "Na visualização expandida, rolar pelas entradas marca-as como lidas"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Manter não lido"
|
msgstr "Manter não lido"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Atalhos de teclado"
|
msgstr "Atalhos de teclado"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Última mensagem de atualização"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Carregando assinaturas..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Carregando tags..."
|
msgstr "Carregando tags..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Entrar"
|
msgstr "Entrar"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Sair"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Gerenciar usuários"
|
msgstr "Gerenciar usuários"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Marcar todos como lidos"
|
msgstr "Marcar todos como lidos"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Marcar todas as entradas como lidas"
|
msgstr "Marcar todas as entradas como lidas"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Marcar como lido"
|
msgstr "Marcar como lido"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Marcar como lido até aqui"
|
msgstr "Marcar como lido até aqui"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Mova a página para baixo"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Mover a página para cima"
|
msgstr "Mover a página para cima"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "N/D"
|
msgstr "N/D"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nome"
|
msgstr "Nome"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nova senha"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Mais novo primeiro"
|
msgstr "Mais novo primeiro"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Próximo"
|
msgstr "Próximo"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "Arquivo OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Ordem"
|
msgstr "Ordem"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Pai"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Categoria Pai"
|
msgstr "Categoria Pai"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Senha"
|
msgstr "Senha"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Recuperação de Senha"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Senhas não coincidem"
|
msgstr "Senhas não coincidem"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Posição"
|
msgstr "Posição"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Posição"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Perfil"
|
msgstr "Perfil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Perfil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Recuperar senha"
|
msgstr "Recuperar senha"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Atualizar"
|
msgstr "Atualizar"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "API REST"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Salvar"
|
msgstr "Salvar"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Rolar suavemente ao navegar entre as entradas"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Pesquisar"
|
msgstr "Pesquisar"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Pesquisar"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Pesquisa requer pelo menos 3 caracteres"
|
msgstr "Pesquisa requer pelo menos 3 caracteres"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Definir o foco na próxima entrada sem abri-la"
|
msgstr "Definir o foco na próxima entrada sem abri-la"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Inscreva-se"
|
msgstr "Inscreva-se"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Algo ruim acabou de acontecer..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Espaço"
|
msgstr "Espaço"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Estrela"
|
msgstr "Estrela"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Com estrela"
|
msgstr "Com estrela"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Assinar"
|
msgstr "Assinar"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiquetas"
|
msgstr "Etiquetas"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "A URL do feed que você deseja assinar. "
|
msgstr "A URL do feed que você deseja assinar. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Não lido"
|
msgstr "Não lido"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Desestrelar"
|
msgstr "Desestrelar"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Nome de usuário"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Nome de usuário ou e-mail"
|
msgstr "Nome de usuário ou e-mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Aviso"
|
msgstr "Aviso"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Aviso"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Site"
|
msgstr "Site"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Você ainda não tem nenhuma assinatura. "
|
msgstr "Você ainda não tem nenhuma assinatura. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr "<0>Здравствуйте,</0><1>Я Жереми из Бельгии,
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Нужен аккаунт?</0><1>Зарегистрируйтесь!</1>"
|
msgstr "<0>Нужен аккаунт?</0><1>Зарегистрируйтесь!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "О CommaFeed"
|
msgstr "О CommaFeed"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Добавить категорию"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Добавить пользователя"
|
msgstr "Добавить пользователя"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Админ"
|
msgstr "Админ"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Все"
|
msgstr "Все"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Вы уверены, что хотите удалить пользова
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Вы уверены, что хотите удалить свой аккаунт? "
|
msgstr "Вы уверены, что хотите удалить свой аккаунт? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Вы уверены, что хотите пометить все записи <0>{sourceLabel}</0> как прочитанные?"
|
msgstr "Вы уверены, что хотите пометить все записи <0>{sourceLabel}</0> как прочитанные?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Вы уверены, что хотите пометить записи старше {threshold} дней <0>{sourceLabel}</0> как прочитанные?"
|
msgstr "Вы уверены, что хотите пометить записи старше {threshold} дней <0>{sourceLabel}</0> как прочитанные?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Назад"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Вернуться к входу"
|
msgstr "Вернуться к входу"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr "Для браузера Chrome требуется расширение"
|
msgstr "Для браузера Chrome требуется расширение"
|
||||||
@@ -144,27 +153,27 @@ msgstr "Расширение для браузера"
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Отмена"
|
msgstr "Отмена"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Категория"
|
msgstr "Категория"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr "CommaFeed версии {version} ({revision})."
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Компактный"
|
msgstr "Компактный"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Подтвердить"
|
msgstr "Подтвердить"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr "Пользовательские правила CSS, которые бу
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "Пользовательский JS-код, который будет выполняться при загрузке страницы"
|
msgstr "Пользовательский JS-код, который будет выполняться при загрузке страницы"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Темная"
|
msgstr "Темная"
|
||||||
@@ -273,13 +287,14 @@ msgstr "По убыванию"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr "Подробно"
|
msgstr "Подробно"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Отображение"
|
msgstr "Отображение"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Пожертвование"
|
msgstr "Пожертвование"
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Скачать"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Перетащите ссылку на панель закладок"
|
msgstr "Перетащите ссылку на панель закладок"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "Электронная почта"
|
msgstr "Электронная почта"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "Адрес электронной почты"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Редактировать пользователя"
|
msgstr "Редактировать пользователя"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Включено"
|
msgstr "Включено"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Расширенный"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Экспортируйте свои подписки и категории в виде файла OPML, который можно импортировать в другие службы чтения каналов."
|
msgstr "Экспортируйте свои подписки и категории в виде файла OPML, который можно импортировать в другие службы чтения каналов."
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "Параметры расширения"
|
msgstr "Параметры расширения"
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr "Параметры расширения"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Имя фида"
|
msgstr "Имя фида"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL-адрес фида"
|
msgstr "URL-адрес фида"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr "Ссылка Fever API"
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Выражение фильтрации"
|
msgstr "Выражение фильтрации"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Забыли пароль?"
|
msgstr "Забыли пароль?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Сначала сгенерируйте ключ API в своем профиле."
|
msgstr "Сначала сгенерируйте ключ API в своем профиле."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Сначала сгенерируйте ключ API в своем пр
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Создать новый ключ API"
|
msgstr "Создать новый ключ API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Сгенерированный URL фида"
|
msgstr "Сгенерированный URL фида"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "Перейти к {0}"
|
msgstr "Перейти к {0}"
|
||||||
@@ -416,6 +436,18 @@ msgstr "Перейдите к документации по API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Сладости"
|
msgstr "Сладости"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Идентификатор"
|
msgstr "Идентификатор"
|
||||||
@@ -440,13 +472,17 @@ msgstr "Импорт"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "В развернутом виде прокрутка записей помечает их как прочитанные."
|
msgstr "В развернутом виде прокрутка записей помечает их как прочитанные."
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Оставить непрочитанным"
|
msgstr "Оставить непрочитанным"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Сочетания клавиш"
|
msgstr "Сочетания клавиш"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Последнее сообщение об обновлении"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "Светлая"
|
msgstr "Светлая"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Ссылка"
|
msgstr "Ссылка"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Загрузка подписок..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Загрузка тегов..."
|
msgstr "Загрузка тегов..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Войти"
|
msgstr "Войти"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Выйти"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr "Долгое нажатие"
|
msgstr "Долгое нажатие"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Управление пользователями"
|
msgstr "Управление пользователями"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Отметить все как прочитанное"
|
msgstr "Отметить все как прочитанное"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Отметить все записи как прочитанные"
|
msgstr "Отметить все записи как прочитанные"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Отметить как прочитанное"
|
msgstr "Отметить как прочитанное"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Отметить как прочитанное до этого места"
|
msgstr "Отметить как прочитанное до этого места"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Переместить страницу вниз"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Переместить страницу вверх"
|
msgstr "Переместить страницу вверх"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "Н/Д"
|
msgstr "Н/Д"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Имя"
|
msgstr "Имя"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Новый пароль"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Сначала новые"
|
msgstr "Сначала новые"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Следующий"
|
msgstr "Следующий"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML файл"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr "Необходим файл OPML"
|
msgstr "Необходим файл OPML"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Заказать"
|
msgstr "Заказать"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Родительский"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Родительская категория"
|
msgstr "Родительская категория"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Пароль"
|
msgstr "Пароль"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Восстановление пароля"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Пароли не совпадают"
|
msgstr "Пароли не совпадают"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Позиция"
|
msgstr "Позиция"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Позиция"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "Предыдущий"
|
msgstr "Предыдущий"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Профиль"
|
msgstr "Профиль"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Профиль"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Восстановить пароль"
|
msgstr "Восстановить пароль"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Обновить"
|
msgstr "Обновить"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "REST API"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "Правый клик"
|
msgstr "Правый клик"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Сохранить"
|
msgstr "Сохранить"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Плавная прокрутка при переходе между з
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr "Прокрутка"
|
msgstr "Прокрутка"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Поиск"
|
msgstr "Поиск"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Поиск"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Для поиска требуется не менее 3 символов"
|
msgstr "Для поиска требуется не менее 3 символов"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Установить фокус на следующую запись, не открывая ее."
|
msgstr "Установить фокус на следующую запись, не открывая ее."
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Зарегистрироваться"
|
msgstr "Зарегистрироваться"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Только что случилось что-то плохое..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Пробел"
|
msgstr "Пробел"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "В избранное"
|
msgstr "В избранное"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Избранное"
|
msgstr "Избранное"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Подписаться"
|
msgstr "Подписаться"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr "Системная"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Теги"
|
msgstr "Теги"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL канала, на который вы хотите подписаться. "
|
msgstr "URL канала, на который вы хотите подписаться. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr "Попробуйте демо-версию!"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Не прочитано"
|
msgstr "Не прочитано"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Удалить из избранного"
|
msgstr "Удалить из избранного"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Имя пользователя"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Имя пользователя или адрес электронной почты"
|
msgstr "Имя пользователя или адрес электронной почты"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Предупреждение"
|
msgstr "Предупреждение"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Предупреждение"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Веб-сайт"
|
msgstr "Веб-сайт"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "У вас еще нет подписок. Почему бы не попробовать добавить их, нажав на знак \"+\" в верхней части страницы?"
|
msgstr "У вас еще нет подписок. Почему бы не попробовать добавить их, нажав на знак \"+\" в верхней части страницы?"
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Potrebujete účet?</0><1>Zaregistrujte sa!</1>"
|
msgstr "<0>Potrebujete účet?</0><1>Zaregistrujte sa!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Asi"
|
msgstr "Asi"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Pridať kategóriu"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Pridať užívateľa"
|
msgstr "Pridať užívateľa"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Správca"
|
msgstr "Správca"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Všetky"
|
msgstr "Všetky"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Naozaj chcete odstrániť používateľa <0>{userName}</0>?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Naozaj chcete vymazať svoj účet? "
|
msgstr "Naozaj chcete vymazať svoj účet? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Naozaj chcete označiť všetky položky <0>{sourceLabel}</0> ako prečítané?"
|
msgstr "Naozaj chcete označiť všetky položky <0>{sourceLabel}</0> ako prečítané?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Naozaj chcete označiť záznamy staršie ako {threshold} dní z <0>{sourceLabel}</0> ako prečítané?"
|
msgstr "Naozaj chcete označiť záznamy staršie ako {threshold} dní z <0>{sourceLabel}</0> ako prečítané?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Späť"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Späť na prihlásenie"
|
msgstr "Späť na prihlásenie"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Zrušiť"
|
msgstr "Zrušiť"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategória"
|
msgstr "Kategória"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompaktný"
|
msgstr "Kompaktný"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Potvrdiť"
|
msgstr "Potvrdiť"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Displej"
|
msgstr "Displej"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Stiahnuť"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Presuňte odkaz na lištu so záložkami"
|
msgstr "Presuňte odkaz na lištu so záložkami"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-mailová adresa"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Upravte používateľa"
|
msgstr "Upravte používateľa"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Povolené"
|
msgstr "Povolené"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Rozšírené"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exportujte svoje odbery a kategórie ako súbor OPML, ktorý je možné importovať do iných služieb na čítanie informačných kanálov"
|
msgstr "Exportujte svoje odbery a kategórie ako súbor OPML, ktorý je možné importovať do iných služieb na čítanie informačných kanálov"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Názov informačného kanála"
|
msgstr "Názov informačného kanála"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "URL informačného kanála"
|
msgstr "URL informačného kanála"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtrovanie výrazu"
|
msgstr "Filtrovanie výrazu"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Zabudli ste heslo?"
|
msgstr "Zabudli ste heslo?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Najprv si vo svojom profile vygenerujte kľúč API."
|
msgstr "Najprv si vo svojom profile vygenerujte kľúč API."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Najprv si vo svojom profile vygenerujte kľúč API."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Vygenerujte nový kľúč API"
|
msgstr "Vygenerujte nový kľúč API"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Generovaná adresa URL informačného kanála"
|
msgstr "Generovaná adresa URL informačného kanála"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Prejdite na dokumentáciu API."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Dobrôtky"
|
msgstr "Dobrôtky"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "V rozšírenom zobrazení ich rolovanie cez položky označí ako prečítané"
|
msgstr "V rozšírenom zobrazení ich rolovanie cez položky označí ako prečítané"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Ponechať neprečítané"
|
msgstr "Ponechať neprečítané"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Klávesové skratky"
|
msgstr "Klávesové skratky"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Posledná obnovovacia správa"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Odkaz"
|
msgstr "Odkaz"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Načítavam odbery..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Načítavam značky..."
|
msgstr "Načítavam značky..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Prihláste sa"
|
msgstr "Prihláste sa"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Odhlásenie"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Správa používateľov"
|
msgstr "Správa používateľov"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Označiť všetko ako prečítané"
|
msgstr "Označiť všetko ako prečítané"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Označte všetky položky ako prečítané"
|
msgstr "Označte všetky položky ako prečítané"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Označiť ako prečítané"
|
msgstr "Označiť ako prečítané"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Označiť ako prečítané až sem"
|
msgstr "Označiť ako prečítané až sem"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Posuňte stránku nadol"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Posuňte stránku nahor"
|
msgstr "Posuňte stránku nahor"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Meno"
|
msgstr "Meno"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nové heslo"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Najnovšie ako prvé"
|
msgstr "Najnovšie ako prvé"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Ďalej"
|
msgstr "Ďalej"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "súbor OPML"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Poriadok"
|
msgstr "Poriadok"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Rodič"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Rodičovská kategória"
|
msgstr "Rodičovská kategória"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Heslo"
|
msgstr "Heslo"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Obnovenie hesla"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Heslá sa nezhodujú"
|
msgstr "Heslá sa nezhodujú"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Pozícia"
|
msgstr "Pozícia"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Pozícia"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Obnoviť heslo"
|
msgstr "Obnoviť heslo"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Obnoviť"
|
msgstr "Obnoviť"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Uložiť"
|
msgstr "Uložiť"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Pri navigácii medzi položkami plynulo rolujte"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Hľadaj"
|
msgstr "Hľadaj"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Hľadaj"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Hľadanie vyžaduje aspoň 3 znaky"
|
msgstr "Hľadanie vyžaduje aspoň 3 znaky"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Nastavte zameranie na ďalší záznam bez toho, aby ste ho otvorili"
|
msgstr "Nastavte zameranie na ďalší záznam bez toho, aby ste ho otvorili"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Zaregistrujte sa"
|
msgstr "Zaregistrujte sa"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Práve sa stalo niečo zlé..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Vesmír"
|
msgstr "Vesmír"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Hviezda"
|
msgstr "Hviezda"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "S hviezdičkou"
|
msgstr "S hviezdičkou"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Prihlásiť sa"
|
msgstr "Prihlásiť sa"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Značky"
|
msgstr "Značky"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL zdroja, na odber ktorého sa chcete prihlásiť. "
|
msgstr "URL zdroja, na odber ktorého sa chcete prihlásiť. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Neprečítané"
|
msgstr "Neprečítané"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Odobrať hviezdičku"
|
msgstr "Odobrať hviezdičku"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Meno používateľa"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Meno používateľa alebo e-mail"
|
msgstr "Meno používateľa alebo e-mail"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Varovanie"
|
msgstr "Varovanie"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Varovanie"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Webová stránka"
|
msgstr "Webová stránka"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Zatiaľ nemáte žiadne odbery. "
|
msgstr "Zatiaľ nemáte žiadne odbery. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr ""
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Behöver du ett konto?</0><1>Registrera dig!</1>"
|
msgstr "<0>Behöver du ett konto?</0><1>Registrera dig!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Ungefär"
|
msgstr "Ungefär"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Lägg till kategori"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Lägg till användare"
|
msgstr "Lägg till användare"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alla"
|
msgstr "Alla"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "Är du säker på att du vill ta bort användare <0>{användarnamn}</0>?
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Är du säker på att du vill ta bort ditt konto? "
|
msgstr "Är du säker på att du vill ta bort ditt konto? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Är du säker på att du vill markera alla poster i <0>{sourceLabel}</0> som lästa?"
|
msgstr "Är du säker på att du vill markera alla poster i <0>{sourceLabel}</0> som lästa?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Är du säker på att du vill markera poster äldre än {threshold} dagar av <0>{sourceLabel}</0> som lästa?"
|
msgstr "Är du säker på att du vill markera poster äldre än {threshold} dagar av <0>{sourceLabel}</0> som lästa?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Tillbaka"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Tillbaka för att logga in"
|
msgstr "Tillbaka för att logga in"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr ""
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategori"
|
msgstr "Kategori"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr ""
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompakt"
|
msgstr "Kompakt"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bekräfta"
|
msgstr "Bekräfta"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr ""
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr ""
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Visa"
|
msgstr "Visa"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "Ladda ner"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Dra länken till bokmärkesfältet"
|
msgstr "Dra länken till bokmärkesfältet"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-post"
|
msgstr "E-post"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-postadress"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Redigera användare"
|
msgstr "Redigera användare"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Aktiverad"
|
msgstr "Aktiverad"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Utökad"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Exportera dina prenumerationer och kategorier som en OPML-fil som kan importeras i andra flödesläsningstjänster"
|
msgstr "Exportera dina prenumerationer och kategorier som en OPML-fil som kan importeras i andra flödesläsningstjänster"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr ""
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Flödesnamn"
|
msgstr "Flödesnamn"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "Flödes-URL"
|
msgstr "Flödes-URL"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtrerande uttryck"
|
msgstr "Filtrerande uttryck"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Glömt lösenord?"
|
msgstr "Glömt lösenord?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Generera en API-nyckel i din profil först."
|
msgstr "Generera en API-nyckel i din profil först."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Generera en API-nyckel i din profil först."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Generera ny API-nyckel"
|
msgstr "Generera ny API-nyckel"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Genererad feed-url"
|
msgstr "Genererad feed-url"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -416,6 +436,18 @@ msgstr "Gå till API-dokumentationen."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "Godsaker"
|
msgstr "Godsaker"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -440,13 +472,17 @@ msgstr ""
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "I utökad vy, rullning genom poster markerar dem som lästa"
|
msgstr "I utökad vy, rullning genom poster markerar dem som lästa"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Behåll oläst"
|
msgstr "Behåll oläst"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Kortkommandon"
|
msgstr "Kortkommandon"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Senaste uppdateringsmeddelande"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Länk"
|
msgstr "Länk"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Laddar prenumerationer..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Laddar taggar..."
|
msgstr "Laddar taggar..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Logga in"
|
msgstr "Logga in"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Logga ut"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Hantera användare"
|
msgstr "Hantera användare"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Markera alla som lästa"
|
msgstr "Markera alla som lästa"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Markera alla poster som lästa"
|
msgstr "Markera alla poster som lästa"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Markera som läst"
|
msgstr "Markera som läst"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Markera som läst hit"
|
msgstr "Markera som läst hit"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Flytta sidan nedåt"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Flytta sidan uppåt"
|
msgstr "Flytta sidan uppåt"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Namn"
|
msgstr "Namn"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Nytt lösenord"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Nyast först"
|
msgstr "Nyast först"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Nästa"
|
msgstr "Nästa"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML-fil"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Beställning"
|
msgstr "Beställning"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Förälder"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Föräldrakategori"
|
msgstr "Föräldrakategori"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Lösenord"
|
msgstr "Lösenord"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Lösenordsåterställning"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Lösenorden matchar inte"
|
msgstr "Lösenorden matchar inte"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr ""
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Återställ lösenord"
|
msgstr "Återställ lösenord"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Uppdatera"
|
msgstr "Uppdatera"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr ""
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Spara"
|
msgstr "Spara"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Bläddra mjukt när du navigerar mellan poster"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Sök"
|
msgstr "Sök"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Sök"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Sökning kräver minst 3 tecken"
|
msgstr "Sökning kräver minst 3 tecken"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Sätt fokus på nästa post utan att öppna den"
|
msgstr "Sätt fokus på nästa post utan att öppna den"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Anmäl dig"
|
msgstr "Anmäl dig"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Något dåligt hände precis..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Rymden"
|
msgstr "Rymden"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Stjärna"
|
msgstr "Stjärna"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Starmed"
|
msgstr "Starmed"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Prenumerera"
|
msgstr "Prenumerera"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Taggar"
|
msgstr "Taggar"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "URL:en för flödet du vill prenumerera på. "
|
msgstr "URL:en för flödet du vill prenumerera på. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr ""
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Oläst"
|
msgstr "Oläst"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Användarnamn"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Användarnamn eller e-post"
|
msgstr "Användarnamn eller e-post"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Varning"
|
msgstr "Varning"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Varning"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Webbplats"
|
msgstr "Webbplats"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Du har inga prenumerationer än. "
|
msgstr "Du har inga prenumerationer än. "
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr "<0>Merhaba,</0><1>Ben Belçika'dan Jérémie ve 10 yıldır boş zamanla
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>Bir hesaba mı ihtiyacınız var?</0><1>Kaydolun!</1>"
|
msgstr "<0>Bir hesaba mı ihtiyacınız var?</0><1>Kaydolun!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Hakkında"
|
msgstr "Hakkında"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "Kategori ekle"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "Kullanıcı ekle"
|
msgstr "Kullanıcı ekle"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Yönetici"
|
msgstr "Yönetici"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Tümü"
|
msgstr "Tümü"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "<0>{userName}</0> kullanıcısını silmek istediğinizden emin misiniz?
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "Hesabınızı silmek istediğinizden emin misiniz? "
|
msgstr "Hesabınızı silmek istediğinizden emin misiniz? "
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "Tüm <0>{sourceLabel}</0> girişlerini okundu olarak işaretlemek istediğinizden emin misiniz?"
|
msgstr "Tüm <0>{sourceLabel}</0> girişlerini okundu olarak işaretlemek istediğinizden emin misiniz?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "<0>{sourceLabel}</0> tarihine ait {threshold} günden eski girişleri okundu olarak işaretlemek istediğinizden emin misiniz?"
|
msgstr "<0>{sourceLabel}</0> tarihine ait {threshold} günden eski girişleri okundu olarak işaretlemek istediğinizden emin misiniz?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "Geri"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "Giriş yapmak için geri dön"
|
msgstr "Giriş yapmak için geri dön"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -144,27 +153,27 @@ msgstr "Tarayıcı eklentisi"
|
|||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "İptal"
|
msgstr "İptal"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Kategori"
|
msgstr "Kategori"
|
||||||
|
|
||||||
@@ -204,11 +213,11 @@ msgstr "CommaFeed sürüm {version} ({revision})."
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "Kompakt"
|
msgstr "Kompakt"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Onayla"
|
msgstr "Onayla"
|
||||||
|
|
||||||
@@ -240,6 +249,11 @@ msgstr "Uygulanacak özel CSS kuralları"
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "Sayfa yüklendiğinde çalıştırılacak özel JS kodu"
|
msgstr "Sayfa yüklendiğinde çalıştırılacak özel JS kodu"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -273,13 +287,14 @@ msgstr "Açılış"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "Ekran"
|
msgstr "Ekran"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "İndir"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "Bağlantıyı yer işareti çubuğuna sürükleyin"
|
msgstr "Bağlantıyı yer işareti çubuğuna sürükleyin"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "E-posta"
|
msgstr "E-posta"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "E-posta adresi"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "Kullanıcıyı düzenle"
|
msgstr "Kullanıcıyı düzenle"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "Etkin"
|
msgstr "Etkin"
|
||||||
|
|
||||||
@@ -345,8 +360,8 @@ msgstr "Genişletilmiş"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "Aboneliklerinizi ve kategorilerinizi diğer besleme okuma hizmetlerinde içe aktarılabilen bir OPML dosyası olarak dışa aktarın"
|
msgstr "Aboneliklerinizi ve kategorilerinizi diğer besleme okuma hizmetlerinde içe aktarılabilen bir OPML dosyası olarak dışa aktarın"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "Eklenti ayarları"
|
msgstr "Eklenti ayarları"
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr "Eklenti ayarları"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "Yayın adı"
|
msgstr "Yayın adı"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "Feed URL'si"
|
msgstr "Feed URL'si"
|
||||||
|
|
||||||
@@ -376,6 +391,10 @@ msgstr ""
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "Filtreleme ifadesi"
|
msgstr "Filtreleme ifadesi"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -384,9 +403,9 @@ msgstr ""
|
|||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "Parolanızı mı unuttunuz?"
|
msgstr "Parolanızı mı unuttunuz?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "Önce profilinizde bir API anahtarı oluşturun."
|
msgstr "Önce profilinizde bir API anahtarı oluşturun."
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "Önce profilinizde bir API anahtarı oluşturun."
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "Yeni API anahtarı oluştur"
|
msgstr "Yeni API anahtarı oluştur"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "Oluşturulan besleme url'si"
|
msgstr "Oluşturulan besleme url'si"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "{0}'a git"
|
msgstr "{0}'a git"
|
||||||
@@ -416,6 +436,18 @@ msgstr "API belgelerine gidin."
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "İyilikler"
|
msgstr "İyilikler"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Kimlik"
|
msgstr "Kimlik"
|
||||||
@@ -440,13 +472,17 @@ msgstr "İçe Aktar"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "Genişletilmiş görünümde, girişler arasında gezinmek onları okundu olarak işaretler"
|
msgstr "Genişletilmiş görünümde, girişler arasında gezinmek onları okundu olarak işaretler"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "Okunmadan sakla"
|
msgstr "Okunmadan sakla"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Klavye kısayolları"
|
msgstr "Klavye kısayolları"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "Son yenileme mesajı"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Bağlantı"
|
msgstr "Bağlantı"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "Abonelikler yükleniyor..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "Etiketler yükleniyor..."
|
msgstr "Etiketler yükleniyor..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "Giriş"
|
msgstr "Giriş"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "Çıkış"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr "Uzun bas"
|
msgstr "Uzun bas"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "Kullanıcıları yönet"
|
msgstr "Kullanıcıları yönet"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Tümünü okundu olarak işaretle"
|
msgstr "Tümünü okundu olarak işaretle"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "Tüm girişleri okundu olarak işaretle"
|
msgstr "Tüm girişleri okundu olarak işaretle"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "Okundu olarak işaretle"
|
msgstr "Okundu olarak işaretle"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "Buraya kadar okundu olarak işaretle"
|
msgstr "Buraya kadar okundu olarak işaretle"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "Sayfayı aşağı taşı"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "Sayfayı yukarı taşı"
|
msgstr "Sayfayı yukarı taşı"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "Yok"
|
msgstr "Yok"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "İsim"
|
msgstr "İsim"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "Yeni şifre"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "Önce en yenisi"
|
msgstr "Önce en yenisi"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Sonraki"
|
msgstr "Sonraki"
|
||||||
|
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML dosyası"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "Sipariş"
|
msgstr "Sipariş"
|
||||||
@@ -694,11 +738,11 @@ msgstr "Ebeveyn"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "Üst Kategori"
|
msgstr "Üst Kategori"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Şifre"
|
msgstr "Şifre"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "Parola Kurtarma"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "Parolalar eşleşmiyor"
|
msgstr "Parolalar eşleşmiyor"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "Konum"
|
msgstr "Konum"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "Konum"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "Önceki"
|
msgstr "Önceki"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@@ -727,8 +779,12 @@ msgstr "Profil"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "Şifreyi kurtar"
|
msgstr "Şifreyi kurtar"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Yenile"
|
msgstr "Yenile"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "REST API"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "Sağ tık"
|
msgstr "Sağ tık"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Kaydet"
|
msgstr "Kaydet"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "Girişler arasında gezinirken sorunsuz ilerleyin"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Ara"
|
msgstr "Ara"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "Ara"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "Arama için en az 3 karakter gerekiyor"
|
msgstr "Arama için en az 3 karakter gerekiyor"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "Odağı açmadan sonraki girişe ayarlayın"
|
msgstr "Odağı açmadan sonraki girişe ayarlayın"
|
||||||
@@ -850,9 +914,9 @@ msgstr ""
|
|||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Kaydolun"
|
msgstr "Kaydolun"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "Az önce kötü bir şey oldu..."
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "Uzay"
|
msgstr "Uzay"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "Yıldız"
|
msgstr "Yıldız"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "Yıldızlı"
|
msgstr "Yıldızlı"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "Abone ol"
|
msgstr "Abone ol"
|
||||||
|
|
||||||
@@ -915,6 +980,10 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiketler"
|
msgstr "Etiketler"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "Abone olmak istediğiniz beslemenin URL'si. "
|
msgstr "Abone olmak istediğiniz beslemenin URL'si. "
|
||||||
@@ -951,8 +1020,8 @@ msgstr "Demo'yu deneyin!"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "Okunmamış"
|
msgstr "Okunmamış"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "Yıldızı kaldır"
|
msgstr "Yıldızı kaldır"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "Kullanıcı adı"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "Kullanıcı Adı veya E-posta"
|
msgstr "Kullanıcı Adı veya E-posta"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Uyarı"
|
msgstr "Uyarı"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "Uyarı"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "Web sitesi"
|
msgstr "Web sitesi"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "Henüz aboneliğiniz yok. Sayfanın üstündeki + işaretiyle feed ekleyebilirsiniz."
|
msgstr "Henüz aboneliğiniz yok. Sayfanın üstündeki + işaretiyle feed ekleyebilirsiniz."
|
||||||
|
|||||||
@@ -33,8 +33,12 @@ msgstr "<0>您好,</0><1>我是来自比利时的Jérémie,已经在业余时
|
|||||||
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
msgid "<0>Need an account?</0><1>Sign up!</1>"
|
||||||
msgstr "<0>需要一个帐户?</0><1>注册!</1>"
|
msgstr "<0>需要一个帐户?</0><1>注册!</1>"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
msgid "<0>See </0><1>here</1><2> for more information.</2>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "关于"
|
msgstr "关于"
|
||||||
|
|
||||||
@@ -54,16 +58,17 @@ msgstr "添加类别"
|
|||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr "添加用户"
|
msgstr "添加用户"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "管理员"
|
msgstr "管理员"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
#: src/components/content/add/CategorySelect.tsx
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/CategorySelect.tsx
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "全部"
|
msgstr "全部"
|
||||||
|
|
||||||
@@ -104,11 +109,11 @@ msgstr "您确定要删除用户 <0>{userName}</0> 吗?"
|
|||||||
msgid "Are you sure you want to delete your account? There's no turning back!"
|
msgid "Are you sure you want to delete your account? There's no turning back!"
|
||||||
msgstr "您确定要删除您的帐户吗?这是不可逆的!"
|
msgstr "您确定要删除您的帐户吗?这是不可逆的!"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark all entries of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "您确定要将 <0>{sourceLabel}</0> 的所有条目标记为已读吗?"
|
msgstr "您确定要将 <0>{sourceLabel}</0> 的所有条目标记为已读吗?"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
msgid "Are you sure you want to mark entries older than {threshold} days of <0>{sourceLabel}</0> as read?"
|
||||||
msgstr "您确定要将早于 <0>{sourceLabel}</0> {threshold} 天的条目标记为已读吗?"
|
msgstr "您确定要将早于 <0>{sourceLabel}</0> {threshold} 天的条目标记为已读吗?"
|
||||||
|
|
||||||
@@ -132,6 +137,10 @@ msgstr "返回"
|
|||||||
msgid "Back to log in"
|
msgid "Back to log in"
|
||||||
msgstr "返回登录"
|
msgstr "返回登录"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Blue"
|
||||||
|
msgstr "蓝"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Browser extension required for Chrome"
|
msgid "Browser extension required for Chrome"
|
||||||
msgstr "浏览器扩展"
|
msgstr "浏览器扩展"
|
||||||
@@ -142,29 +151,29 @@ msgstr "浏览器扩展"
|
|||||||
|
|
||||||
#: src/components/settings/DisplaySettings.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
msgid "Browser tab"
|
msgid "Browser tab"
|
||||||
msgstr ""
|
msgstr "浏览器标签页"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/ImportOpml.tsx
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/content/add/ImportOpml.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "取消"
|
msgstr "取消"
|
||||||
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/AddCategory.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
|
#: src/components/content/add/AddCategory.tsx
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "类别"
|
msgstr "类别"
|
||||||
|
|
||||||
@@ -182,7 +191,7 @@ msgstr "关闭菜单"
|
|||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Cmd"
|
msgid "Cmd"
|
||||||
msgstr ""
|
msgstr "Cmd"
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "CommaFeed browser extension version {browserExtensionVersion}."
|
msgid "CommaFeed browser extension version {browserExtensionVersion}."
|
||||||
@@ -204,11 +213,11 @@ msgstr "CommaFeed版本:{version} ({revision})"
|
|||||||
msgid "Compact"
|
msgid "Compact"
|
||||||
msgstr "紧凑"
|
msgstr "紧凑"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "确认"
|
msgstr "确认"
|
||||||
|
|
||||||
@@ -240,9 +249,14 @@ msgstr "将被应用的自定义CSS规则"
|
|||||||
msgid "Custom JS code that will be executed on page load"
|
msgid "Custom JS code that will be executed on page load"
|
||||||
msgstr "将在页面加载时执行的自定义JS代码"
|
msgstr "将在页面加载时执行的自定义JS代码"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Cyan"
|
||||||
|
msgstr "青"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "深色"
|
msgstr "暗黑"
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Date created"
|
msgid "Date created"
|
||||||
@@ -273,13 +287,14 @@ msgstr "降序"
|
|||||||
msgid "Detailed"
|
msgid "Detailed"
|
||||||
msgstr "详细"
|
msgstr "详细"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr "显示"
|
msgstr "显示"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/app/DonatePage.tsx
|
#: src/pages/app/DonatePage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "捐赠"
|
msgstr "捐赠"
|
||||||
|
|
||||||
@@ -291,11 +306,11 @@ msgstr "下载"
|
|||||||
msgid "Drag link to bookmark bar"
|
msgid "Drag link to bookmark bar"
|
||||||
msgstr "拖动链接到书签栏"
|
msgstr "拖动链接到书签栏"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
#: src/pages/auth/PasswordRecoveryPage.tsx
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
#: src/pages/auth/PasswordRecoveryPage.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr "电子邮件"
|
msgstr "电子邮件"
|
||||||
|
|
||||||
@@ -308,8 +323,8 @@ msgstr "电子邮件地址"
|
|||||||
msgid "Edit user"
|
msgid "Edit user"
|
||||||
msgstr "编辑用户"
|
msgstr "编辑用户"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Enabled"
|
msgid "Enabled"
|
||||||
msgstr "已启用"
|
msgstr "已启用"
|
||||||
|
|
||||||
@@ -323,7 +338,7 @@ msgstr "输入您当前的密码以更改配置文件设置"
|
|||||||
|
|
||||||
#: src/components/settings/DisplaySettings.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
msgid "Entries to keep above the selected entry when scrolling"
|
msgid "Entries to keep above the selected entry when scrolling"
|
||||||
msgstr ""
|
msgstr "滚动时固定在顶部的条目"
|
||||||
|
|
||||||
#: src/components/settings/DisplaySettings.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
msgid "Entry headers"
|
msgid "Entry headers"
|
||||||
@@ -345,8 +360,8 @@ msgstr "展开"
|
|||||||
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
msgid "Export your subscriptions and categories as an OPML file that can be imported in other feed reading services"
|
||||||
msgstr "将您的订阅和类别导出为 OPML 文件,可以在其它信息流阅读服务中导入"
|
msgstr "将您的订阅和类别导出为 OPML 文件,可以在其它信息流阅读服务中导入"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Extension options"
|
msgid "Extension options"
|
||||||
msgstr "扩展选项"
|
msgstr "扩展选项"
|
||||||
|
|
||||||
@@ -354,9 +369,9 @@ msgstr "扩展选项"
|
|||||||
msgid "Feed name"
|
msgid "Feed name"
|
||||||
msgstr "信息流名称"
|
msgstr "信息流名称"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Feed URL"
|
msgid "Feed URL"
|
||||||
msgstr "信息流网址"
|
msgstr "信息流网址"
|
||||||
|
|
||||||
@@ -376,17 +391,21 @@ msgstr "Fever API 网址"
|
|||||||
msgid "Filtering expression"
|
msgid "Filtering expression"
|
||||||
msgstr "过滤表达式"
|
msgstr "过滤表达式"
|
||||||
|
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
|
msgid "Font size"
|
||||||
|
msgstr "字号"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Force fetching feeds is not yet available."
|
msgid "Force fetching feeds is not yet available."
|
||||||
msgstr ""
|
msgstr "强制获取订阅源功能不可用。"
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Forgot password?"
|
msgid "Forgot password?"
|
||||||
msgstr "忘记密码?"
|
msgstr "忘记密码?"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generate an API key in your profile first."
|
msgid "Generate an API key in your profile first."
|
||||||
msgstr "首先在您的配置文件中生成一个 API 密钥。"
|
msgstr "首先在您的配置文件中生成一个 API 密钥。"
|
||||||
|
|
||||||
@@ -394,12 +413,13 @@ msgstr "首先在您的配置文件中生成一个 API 密钥。"
|
|||||||
msgid "Generate new API key"
|
msgid "Generate new API key"
|
||||||
msgstr "生成新的 API 密钥"
|
msgstr "生成新的 API 密钥"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Generated feed url"
|
msgid "Generated feed url"
|
||||||
msgstr "生成信息流网址"
|
msgstr "生成信息流网址"
|
||||||
|
|
||||||
|
#. placeholder {0}: truncate(props.entry.feedName, 30)
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Go to {0}"
|
msgid "Go to {0}"
|
||||||
msgstr "转到 {0}"
|
msgstr "转到 {0}"
|
||||||
@@ -416,6 +436,18 @@ msgstr "API 文档"
|
|||||||
msgid "Goodies"
|
msgid "Goodies"
|
||||||
msgstr "好东西"
|
msgstr "好东西"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Grape"
|
||||||
|
msgstr "深紫"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr "灰"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Green"
|
||||||
|
msgstr "绿"
|
||||||
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "序号"
|
msgstr "序号"
|
||||||
@@ -440,13 +472,17 @@ msgstr "导入"
|
|||||||
msgid "In expanded view, scrolling through entries mark them as read"
|
msgid "In expanded view, scrolling through entries mark them as read"
|
||||||
msgstr "在展开视图中,滚动条目将它们标记为已读"
|
msgstr "在展开视图中,滚动条目将它们标记为已读"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Indigo"
|
||||||
|
msgstr "靛蓝"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Keep unread"
|
msgid "Keep unread"
|
||||||
msgstr "保持未读状态"
|
msgstr "保持未读状态"
|
||||||
|
|
||||||
#: src/components/content/FeedEntries.tsx
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
|
#: src/components/content/FeedEntries.tsx
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "键盘快捷键"
|
msgstr "键盘快捷键"
|
||||||
|
|
||||||
@@ -470,9 +506,13 @@ msgstr "上次刷新消息"
|
|||||||
msgid "Light"
|
msgid "Light"
|
||||||
msgstr "浅色"
|
msgstr "浅色"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
msgid "Lime"
|
||||||
|
msgstr "浅黄"
|
||||||
|
|
||||||
#: src/pages/app/TagDetailsPage.tsx
|
#: src/pages/app/TagDetailsPage.tsx
|
||||||
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "链接"
|
msgstr "链接"
|
||||||
|
|
||||||
@@ -492,9 +532,9 @@ msgstr "正在加载订阅..."
|
|||||||
msgid "Loading tags..."
|
msgid "Loading tags..."
|
||||||
msgstr "正在加载标签..."
|
msgstr "正在加载标签..."
|
||||||
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr "登录"
|
msgstr "登录"
|
||||||
|
|
||||||
@@ -506,27 +546,27 @@ msgstr "注销"
|
|||||||
msgid "Long press"
|
msgid "Long press"
|
||||||
msgstr "长按"
|
msgstr "长按"
|
||||||
|
|
||||||
#: src/components/header/ProfileMenu.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/header/ProfileMenu.tsx
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr "管理用户"
|
msgstr "管理用户"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/header/Header.tsx
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "全部标记为已读"
|
msgstr "全部标记为已读"
|
||||||
|
|
||||||
#: src/components/header/MarkAllAsReadButton.tsx
|
#: src/components/MarkAllAsReadConfirmationDialog.tsx
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Mark all entries as read"
|
msgid "Mark all entries as read"
|
||||||
msgstr "将所有条目标记为已读"
|
msgstr "将所有条目标记为已读"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read"
|
msgid "Mark as read"
|
||||||
msgstr "标记为已读"
|
msgstr "标记为已读"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
msgid "Mark as read up to here"
|
msgid "Mark as read up to here"
|
||||||
msgstr "标记为已读到这里"
|
msgstr "标记为已读到这里"
|
||||||
|
|
||||||
@@ -546,15 +586,15 @@ msgstr "下移页面"
|
|||||||
msgid "Move the page up"
|
msgid "Move the page up"
|
||||||
msgstr "上移页面"
|
msgstr "上移页面"
|
||||||
|
|
||||||
#: src/components/RelativeDate.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/components/RelativeDate.tsx
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "不适用"
|
msgstr "不适用"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/pages/admin/AdminUsersPage.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/pages/admin/AdminUsersPage.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "名称"
|
msgstr "名称"
|
||||||
|
|
||||||
@@ -575,8 +615,8 @@ msgstr "新密码"
|
|||||||
msgid "Newest first"
|
msgid "Newest first"
|
||||||
msgstr "最新的优先"
|
msgstr "最新的优先"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "下一个"
|
msgstr "下一个"
|
||||||
|
|
||||||
@@ -618,7 +658,7 @@ msgstr "在移动端,显示屏幕底部的操作按钮"
|
|||||||
|
|
||||||
#: src/components/settings/DisplaySettings.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
msgid "Only applies to compact, cozy and detailed modes"
|
msgid "Only applies to compact, cozy and detailed modes"
|
||||||
msgstr ""
|
msgstr "仅适用于紧凑、宽松和详细模式"
|
||||||
|
|
||||||
#: src/pages/ErrorPage.tsx
|
#: src/pages/ErrorPage.tsx
|
||||||
msgid "Oops!"
|
msgid "Oops!"
|
||||||
@@ -682,6 +722,10 @@ msgstr "OPML 文件"
|
|||||||
msgid "OPML file is required"
|
msgid "OPML file is required"
|
||||||
msgstr "OPML 文件是必需的"
|
msgstr "OPML 文件是必需的"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Orange"
|
||||||
|
msgstr "橙"
|
||||||
|
|
||||||
#: src/pages/app/AboutPage.tsx
|
#: src/pages/app/AboutPage.tsx
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr "顺序"
|
msgstr "顺序"
|
||||||
@@ -694,11 +738,11 @@ msgstr "父类别"
|
|||||||
msgid "Parent Category"
|
msgid "Parent Category"
|
||||||
msgstr "父类别"
|
msgstr "父类别"
|
||||||
|
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
|
#: src/pages/auth/LoginPage.tsx
|
||||||
#: src/components/admin/UserEdit.tsx
|
#: src/components/admin/UserEdit.tsx
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/LoginPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "密码"
|
msgstr "密码"
|
||||||
|
|
||||||
@@ -710,8 +754,12 @@ msgstr "密码恢复"
|
|||||||
msgid "Passwords do not match"
|
msgid "Passwords do not match"
|
||||||
msgstr "密码不匹配"
|
msgstr "密码不匹配"
|
||||||
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Pink"
|
||||||
|
msgstr "粉红"
|
||||||
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
msgid "Position"
|
msgid "Position"
|
||||||
msgstr "位置"
|
msgstr "位置"
|
||||||
|
|
||||||
@@ -719,6 +767,10 @@ msgstr "位置"
|
|||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "上一个"
|
msgstr "上一个"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Primary color"
|
||||||
|
msgstr "主颜色"
|
||||||
|
|
||||||
#: src/pages/app/SettingsPage.tsx
|
#: src/pages/app/SettingsPage.tsx
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "配置文件"
|
msgstr "配置文件"
|
||||||
@@ -727,8 +779,12 @@ msgstr "配置文件"
|
|||||||
msgid "Recover password"
|
msgid "Recover password"
|
||||||
msgstr "找回密码"
|
msgstr "找回密码"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Red"
|
||||||
|
msgstr "红"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "刷新"
|
msgstr "刷新"
|
||||||
|
|
||||||
@@ -745,11 +801,11 @@ msgstr "REST API"
|
|||||||
msgid "Right click"
|
msgid "Right click"
|
||||||
msgstr "右键单击"
|
msgstr "右键单击"
|
||||||
|
|
||||||
#: src/components/admin/UserEdit.tsx
|
|
||||||
#: src/components/settings/CustomCodeSettings.tsx
|
|
||||||
#: src/components/settings/ProfileSettings.tsx
|
|
||||||
#: src/pages/app/CategoryDetailsPage.tsx
|
|
||||||
#: src/pages/app/FeedDetailsPage.tsx
|
#: src/pages/app/FeedDetailsPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
|
#: src/components/settings/ProfileSettings.tsx
|
||||||
|
#: src/components/settings/CustomCodeSettings.tsx
|
||||||
|
#: src/components/admin/UserEdit.tsx
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "保存"
|
msgstr "保存"
|
||||||
|
|
||||||
@@ -765,10 +821,10 @@ msgstr "在条目之间导航时平滑滚动"
|
|||||||
msgid "Scrolling"
|
msgid "Scrolling"
|
||||||
msgstr "滚动"
|
msgstr "滚动"
|
||||||
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/header/Header.tsx
|
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
#: src/components/sidebar/TreeSearch.tsx
|
#: src/components/sidebar/TreeSearch.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
|
#: src/components/header/Header.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "搜索"
|
msgstr "搜索"
|
||||||
|
|
||||||
@@ -776,6 +832,14 @@ msgstr "搜索"
|
|||||||
msgid "Search requires at least 3 characters"
|
msgid "Search requires at least 3 characters"
|
||||||
msgstr "搜索至少需要 3 个字符"
|
msgstr "搜索至少需要 3 个字符"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select next unread feed/category"
|
||||||
|
msgstr "选择下一个未读信息流/类别"
|
||||||
|
|
||||||
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
|
msgid "Select previous unread feed/category"
|
||||||
|
msgstr "选择上一个未读信息流/类别"
|
||||||
|
|
||||||
#: src/components/KeyboardShortcutsHelp.tsx
|
#: src/components/KeyboardShortcutsHelp.tsx
|
||||||
msgid "Set focus on next entry without opening it"
|
msgid "Set focus on next entry without opening it"
|
||||||
msgstr "将焦点放在下一个条目而不打开它"
|
msgstr "将焦点放在下一个条目而不打开它"
|
||||||
@@ -844,15 +908,15 @@ msgstr "显示星标图标"
|
|||||||
|
|
||||||
#: src/components/settings/DisplaySettings.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
msgid "Show unread count in tab favicon"
|
msgid "Show unread count in tab favicon"
|
||||||
msgstr ""
|
msgstr "在标签页图标上显示未读数量"
|
||||||
|
|
||||||
#: src/components/settings/DisplaySettings.tsx
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
msgid "Show unread count in tab title"
|
msgid "Show unread count in tab title"
|
||||||
msgstr ""
|
msgstr "在标签页标题中显示未读数量"
|
||||||
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/auth/RegistrationPage.tsx
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
|
#: src/pages/auth/RegistrationPage.tsx
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "注册"
|
msgstr "注册"
|
||||||
|
|
||||||
@@ -865,20 +929,21 @@ msgstr "刚刚发生了不好的事情……"
|
|||||||
msgid "Space"
|
msgid "Space"
|
||||||
msgstr "空格"
|
msgstr "空格"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Star"
|
msgid "Star"
|
||||||
msgstr "星标"
|
msgstr "星标"
|
||||||
|
|
||||||
#: src/app/constants.ts
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
|
#: src/pages/app/CategoryDetailsPage.tsx
|
||||||
#: src/components/sidebar/Tree.tsx
|
#: src/components/sidebar/Tree.tsx
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr "已加星标"
|
msgstr "已加星标"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
|
||||||
#: src/pages/app/AddPage.tsx
|
#: src/pages/app/AddPage.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "Subscribe"
|
msgid "Subscribe"
|
||||||
msgstr "订阅"
|
msgstr "订阅"
|
||||||
|
|
||||||
@@ -900,7 +965,7 @@ msgstr "向左滑动标题"
|
|||||||
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
msgid "Switch to dark theme"
|
msgid "Switch to dark theme"
|
||||||
msgstr "切换到深色主题"
|
msgstr "切换到暗黑主题"
|
||||||
|
|
||||||
#: src/pages/WelcomePage.tsx
|
#: src/pages/WelcomePage.tsx
|
||||||
msgid "Switch to light theme"
|
msgid "Switch to light theme"
|
||||||
@@ -915,6 +980,10 @@ msgstr "跟随系统"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "标签"
|
msgstr "标签"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Teal"
|
||||||
|
msgstr "青绿"
|
||||||
|
|
||||||
#: src/components/content/add/Subscribe.tsx
|
#: src/components/content/add/Subscribe.tsx
|
||||||
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
msgid "The URL for the feed you want to subscribe to. You can also use the website's url directly and CommaFeed will try to find the feed in the page."
|
||||||
msgstr "您要订阅的信息流的网址。您也可以直接使用网站的网址,CommaFeed 会尝试在页面中找到信息流。"
|
msgstr "您要订阅的信息流的网址。您也可以直接使用网站的网址,CommaFeed 会尝试在页面中找到信息流。"
|
||||||
@@ -951,8 +1020,8 @@ msgstr "尝试 demo!"
|
|||||||
msgid "Unread"
|
msgid "Unread"
|
||||||
msgstr "未读"
|
msgstr "未读"
|
||||||
|
|
||||||
#: src/components/content/FeedEntryContextMenu.tsx
|
|
||||||
#: src/components/content/FeedEntryFooter.tsx
|
#: src/components/content/FeedEntryFooter.tsx
|
||||||
|
#: src/components/content/FeedEntryContextMenu.tsx
|
||||||
#: src/components/content/header/Star.tsx
|
#: src/components/content/header/Star.tsx
|
||||||
msgid "Unstar"
|
msgid "Unstar"
|
||||||
msgstr "取消星标"
|
msgstr "取消星标"
|
||||||
@@ -971,6 +1040,10 @@ msgstr "用户名"
|
|||||||
msgid "User Name or E-mail"
|
msgid "User Name or E-mail"
|
||||||
msgstr "用户名或电子邮件"
|
msgstr "用户名或电子邮件"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Violet"
|
||||||
|
msgstr "蓝紫"
|
||||||
|
|
||||||
#: src/components/Alert.tsx
|
#: src/components/Alert.tsx
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "警告"
|
msgstr "警告"
|
||||||
@@ -979,6 +1052,10 @@ msgstr "警告"
|
|||||||
msgid "Website"
|
msgid "Website"
|
||||||
msgstr "网站"
|
msgstr "网站"
|
||||||
|
|
||||||
|
#: src/components/settings/DisplaySettings.tsx
|
||||||
|
msgid "Yellow"
|
||||||
|
msgstr "黄"
|
||||||
|
|
||||||
#: src/pages/app/FeedEntriesPage.tsx
|
#: src/pages/app/FeedEntriesPage.tsx
|
||||||
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
msgid "You don't have any subscriptions yet. Why not try adding one by clicking on the + sign at the top of the page?"
|
||||||
msgstr "您还没有任何订阅。"
|
msgstr "您还没有任何订阅。"
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ function NextUnreadBookmarklet() {
|
|||||||
const { _ } = useLingui()
|
const { _ } = useLingui()
|
||||||
|
|
||||||
const baseUrl = window.location.href.substring(0, window.location.href.lastIndexOf("#"))
|
const baseUrl = window.location.href.substring(0, window.location.href.lastIndexOf("#"))
|
||||||
const href = `javascript:window.location.href='${baseUrl}next?category=${categoryId}&order=${order}&t='+new Date().getTime();`
|
const href = `${baseUrl}next?category=${categoryId}&order=${order}`
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box>
|
<Box>
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { msg } from "@lingui/core/macro"
|
||||||
|
import { useLingui } from "@lingui/react"
|
||||||
import { Trans } from "@lingui/react/macro"
|
import { Trans } from "@lingui/react/macro"
|
||||||
import { Anchor, Box, Button, Code, Container, Divider, Group, Input, NumberInput, Stack, Text, TextInput, Title } from "@mantine/core"
|
import { Anchor, Box, Button, Code, Container, Divider, Group, Input, NumberInput, Stack, Text, TextInput, Title } from "@mantine/core"
|
||||||
import { useForm } from "@mantine/form"
|
import { useForm } from "@mantine/form"
|
||||||
@@ -7,7 +9,7 @@ import { Constants } from "app/constants"
|
|||||||
import { redirectToRootCategory, redirectToSelectedSource } from "app/redirect/thunks"
|
import { redirectToRootCategory, redirectToSelectedSource } from "app/redirect/thunks"
|
||||||
import { useAppDispatch, useAppSelector } from "app/store"
|
import { useAppDispatch, useAppSelector } from "app/store"
|
||||||
import { reloadTree } from "app/tree/thunks"
|
import { reloadTree } from "app/tree/thunks"
|
||||||
import type { CategoryModificationRequest } from "app/types"
|
import type { Category, CategoryModificationRequest } from "app/types"
|
||||||
import { flattenCategoryTree } from "app/utils"
|
import { flattenCategoryTree } from "app/utils"
|
||||||
import { Alert } from "components/Alert"
|
import { Alert } from "components/Alert"
|
||||||
import { Loader } from "components/Loader"
|
import { Loader } from "components/Loader"
|
||||||
@@ -19,15 +21,21 @@ import { useParams } from "react-router-dom"
|
|||||||
|
|
||||||
export function CategoryDetailsPage() {
|
export function CategoryDetailsPage() {
|
||||||
const { id = Constants.categories.all.id } = useParams()
|
const { id = Constants.categories.all.id } = useParams()
|
||||||
|
const { _ } = useLingui()
|
||||||
|
|
||||||
const apiKey = useAppSelector(state => state.user.profile?.apiKey)
|
const apiKey = useAppSelector(state => state.user.profile?.apiKey)
|
||||||
const dispatch = useAppDispatch()
|
const dispatch = useAppDispatch()
|
||||||
|
|
||||||
const query = useAsync(async () => await client.category.getRoot(), [])
|
const query = useAsync(async () => await client.category.getRoot(), [])
|
||||||
const category =
|
|
||||||
id === Constants.categories.starred.id
|
let category: Category | undefined
|
||||||
? Constants.categories.starred
|
if (id === Constants.categories.all.id) {
|
||||||
: query.result && flattenCategoryTree(query.result.data).find(c => c.id === id)
|
category = { ...Constants.categories.all, name: _(msg`All`) }
|
||||||
|
} else if (id === Constants.categories.starred.id) {
|
||||||
|
category = { ...Constants.categories.starred, name: _(msg`Starred`) }
|
||||||
|
} else {
|
||||||
|
category = query.result && flattenCategoryTree(query.result.data).find(c => c.id === id)
|
||||||
|
}
|
||||||
|
|
||||||
const form = useForm<CategoryModificationRequest>()
|
const form = useForm<CategoryModificationRequest>()
|
||||||
const { setValues } = form
|
const { setValues } = form
|
||||||
@@ -63,14 +71,14 @@ export function CategoryDetailsPage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!category) return
|
if (!category?.id) return
|
||||||
setValues({
|
setValues({
|
||||||
id: +category.id,
|
id: +category.id,
|
||||||
name: category.name,
|
name: category.name,
|
||||||
parentId: category.parentId,
|
parentId: category.parentId,
|
||||||
position: category.position,
|
position: category.position,
|
||||||
})
|
})
|
||||||
}, [setValues, category])
|
}, [setValues, category?.id, category?.name, category?.parentId, category?.position])
|
||||||
|
|
||||||
const editable = id !== Constants.categories.all.id && id !== Constants.categories.starred.id
|
const editable = id !== Constants.categories.all.id && id !== Constants.categories.starred.id
|
||||||
if (!category) return <Loader />
|
if (!category) return <Loader />
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { Trans } from "@lingui/react/macro"
|
import { Trans } from "@lingui/react/macro"
|
||||||
import { Anchor, Box, Code, Container, Group, List, Title } from "@mantine/core"
|
import { Anchor, Box, Code, Container, Group, List, Title } from "@mantine/core"
|
||||||
import { Constants } from "app/constants"
|
import { Constants } from "app/constants"
|
||||||
import React from "react"
|
|
||||||
import { TbBrandGithub, TbBrandPaypal, TbCoinBitcoin, TbHeartFilled } from "react-icons/tb"
|
import { TbBrandGithub, TbBrandPaypal, TbCoinBitcoin, TbHeartFilled } from "react-icons/tb"
|
||||||
|
|
||||||
const iconSize = 24
|
const iconSize = 24
|
||||||
@@ -26,6 +25,11 @@ export function DonatePage() {
|
|||||||
</Trans>
|
</Trans>
|
||||||
|
|
||||||
<List mt="lg">
|
<List mt="lg">
|
||||||
|
<List.Item icon={<TbBrandGithub size={iconSize} />}>
|
||||||
|
<Anchor href="https://github.com/sponsors/Athou" target="_blank" rel="noreferrer">
|
||||||
|
GitHub Sponsors
|
||||||
|
</Anchor>
|
||||||
|
</List.Item>
|
||||||
<List.Item icon={<TbBrandPaypal size={iconSize} />}>
|
<List.Item icon={<TbBrandPaypal size={iconSize} />}>
|
||||||
<Anchor
|
<Anchor
|
||||||
href="https://www.paypal.com/donate/?business=9CNQHMJG2ZJVY&no_recurring=0&item_name=CommaFeed¤cy_code=EUR"
|
href="https://www.paypal.com/donate/?business=9CNQHMJG2ZJVY&no_recurring=0&item_name=CommaFeed¤cy_code=EUR"
|
||||||
@@ -44,11 +48,6 @@ export function DonatePage() {
|
|||||||
Paypal USD
|
Paypal USD
|
||||||
</Anchor>
|
</Anchor>
|
||||||
</List.Item>
|
</List.Item>
|
||||||
<List.Item icon={<TbBrandGithub size={iconSize} />}>
|
|
||||||
<Anchor href="https://github.com/sponsors/Athou" target="_blank" rel="noreferrer">
|
|
||||||
GitHub Sponsors
|
|
||||||
</Anchor>
|
|
||||||
</List.Item>
|
|
||||||
<List.Item icon={<TbCoinBitcoin size={iconSize} />}>
|
<List.Item icon={<TbCoinBitcoin size={iconSize} />}>
|
||||||
Bitcoin: <Code>{Constants.bitcoinWalletAddress}</Code>
|
Bitcoin: <Code>{Constants.bitcoinWalletAddress}</Code>
|
||||||
</List.Item>
|
</List.Item>
|
||||||
|
|||||||
@@ -48,6 +48,13 @@ export function FeedEntriesPage(props: FeedEntriesPageProps) {
|
|||||||
const hasMore = useAppSelector(state => state.entries.hasMore)
|
const hasMore = useAppSelector(state => state.entries.hasMore)
|
||||||
const dispatch = useAppDispatch()
|
const dispatch = useAppDispatch()
|
||||||
|
|
||||||
|
let title: React.ReactNode = sourceLabel
|
||||||
|
if (id === Constants.categories.all.id) {
|
||||||
|
title = <Trans>All</Trans>
|
||||||
|
} else if (id === Constants.categories.starred.id) {
|
||||||
|
title = <Trans>Starred</Trans>
|
||||||
|
}
|
||||||
|
|
||||||
const titleClicked = () => {
|
const titleClicked = () => {
|
||||||
switch (props.sourceType) {
|
switch (props.sourceType) {
|
||||||
case "category":
|
case "category":
|
||||||
@@ -81,18 +88,16 @@ export function FeedEntriesPage(props: FeedEntriesPageProps) {
|
|||||||
return (
|
return (
|
||||||
// add some room at the bottom of the page in order to be able to scroll the current entry at the top of the page when expanding
|
// add some room at the bottom of the page in order to be able to scroll the current entry at the top of the page when expanding
|
||||||
<Box mb={viewport.height * 0.7}>
|
<Box mb={viewport.height * 0.7}>
|
||||||
<Group gap="xl">
|
<Group gap="xl" className="cf-entries-title">
|
||||||
{sourceWebsiteUrl && (
|
{sourceWebsiteUrl && (
|
||||||
<a href={sourceWebsiteUrl} target="_blank" rel="noreferrer" className={classes.sourceWebsiteLink}>
|
<a href={sourceWebsiteUrl} target="_blank" rel="noreferrer" className={classes.sourceWebsiteLink}>
|
||||||
<Title order={3}>{sourceLabel}</Title>
|
<Title order={3}>{title}</Title>
|
||||||
</a>
|
</a>
|
||||||
)}
|
)}
|
||||||
{!sourceWebsiteUrl && <Title order={3}>{sourceLabel}</Title>}
|
{!sourceWebsiteUrl && <Title order={3}>{title}</Title>}
|
||||||
{sourceLabel && (
|
<ActionIcon onClick={titleClicked} variant="subtle" color={theme.primaryColor}>
|
||||||
<ActionIcon onClick={titleClicked} variant="subtle" color={theme.primaryColor}>
|
<TbEdit size={18} />
|
||||||
<TbEdit size={18} />
|
</ActionIcon>
|
||||||
</ActionIcon>
|
|
||||||
)}
|
|
||||||
</Group>
|
</Group>
|
||||||
|
|
||||||
<FeedEntries />
|
<FeedEntries />
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import { ActionButton } from "components/ActionButton"
|
|||||||
import { AnnouncementDialog } from "components/AnnouncementDialog"
|
import { AnnouncementDialog } from "components/AnnouncementDialog"
|
||||||
import { Loader } from "components/Loader"
|
import { Loader } from "components/Loader"
|
||||||
import { Logo } from "components/Logo"
|
import { Logo } from "components/Logo"
|
||||||
|
import { MarkAllAsReadConfirmationDialog } from "components/MarkAllAsReadConfirmationDialog"
|
||||||
import { OnDesktop } from "components/responsive/OnDesktop"
|
import { OnDesktop } from "components/responsive/OnDesktop"
|
||||||
import { OnMobile } from "components/responsive/OnMobile"
|
import { OnMobile } from "components/responsive/OnMobile"
|
||||||
import { useAppLoading } from "hooks/useAppLoading"
|
import { useAppLoading } from "hooks/useAppLoading"
|
||||||
@@ -18,7 +19,7 @@ import { useBrowserExtension } from "hooks/useBrowserExtension"
|
|||||||
import { useMobile } from "hooks/useMobile"
|
import { useMobile } from "hooks/useMobile"
|
||||||
import { useWebSocket } from "hooks/useWebSocket"
|
import { useWebSocket } from "hooks/useWebSocket"
|
||||||
import { LoadingPage } from "pages/LoadingPage"
|
import { LoadingPage } from "pages/LoadingPage"
|
||||||
import { type ReactNode, Suspense, useEffect, useRef } from "react"
|
import { type ReactNode, type RefObject, Suspense, useEffect, useRef } from "react"
|
||||||
import Draggable from "react-draggable"
|
import Draggable from "react-draggable"
|
||||||
import { TbMenu2, TbPlus, TbX } from "react-icons/tb"
|
import { TbMenu2, TbPlus, TbX } from "react-icons/tb"
|
||||||
import { Outlet } from "react-router-dom"
|
import { Outlet } from "react-router-dom"
|
||||||
@@ -34,9 +35,16 @@ interface LayoutProps {
|
|||||||
function LogoAndTitle() {
|
function LogoAndTitle() {
|
||||||
const dispatch = useAppDispatch()
|
const dispatch = useAppDispatch()
|
||||||
return (
|
return (
|
||||||
<Center inline onClick={async () => await dispatch(redirectToRootCategory())} style={{ cursor: "pointer" }}>
|
<Center
|
||||||
<Logo size={24} />
|
className="cf-logo-title"
|
||||||
<Title order={3} pl="md">
|
inline
|
||||||
|
onClick={async () => await dispatch(redirectToRootCategory())}
|
||||||
|
style={{ cursor: "pointer" }}
|
||||||
|
>
|
||||||
|
<Box className="cf-logo">
|
||||||
|
<Logo size={24} />
|
||||||
|
</Box>
|
||||||
|
<Title order={3} pl="md" className="cf-title">
|
||||||
CommaFeed
|
CommaFeed
|
||||||
</Title>
|
</Title>
|
||||||
</Center>
|
</Center>
|
||||||
@@ -185,7 +193,7 @@ export default function Layout(props: LayoutProps) {
|
|||||||
</AppShell.Navbar>
|
</AppShell.Navbar>
|
||||||
<OnDesktop>
|
<OnDesktop>
|
||||||
<Draggable
|
<Draggable
|
||||||
nodeRef={draggableSeparator}
|
nodeRef={draggableSeparator as RefObject<HTMLElement>}
|
||||||
axis="x"
|
axis="x"
|
||||||
defaultPosition={{
|
defaultPosition={{
|
||||||
x: sidebarWidth,
|
x: sidebarWidth,
|
||||||
@@ -216,6 +224,7 @@ export default function Layout(props: LayoutProps) {
|
|||||||
<AppShell.Main id="content">
|
<AppShell.Main id="content">
|
||||||
<Suspense fallback={<Loader />}>
|
<Suspense fallback={<Loader />}>
|
||||||
<AnnouncementDialog />
|
<AnnouncementDialog />
|
||||||
|
<MarkAllAsReadConfirmationDialog />
|
||||||
<Outlet />
|
<Outlet />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
</AppShell.Main>
|
</AppShell.Main>
|
||||||
|
|||||||
22
commafeed-client/src/setupTests.ts
Normal file
22
commafeed-client/src/setupTests.ts
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import "@testing-library/jest-dom"
|
||||||
|
import { Constants } from "app/constants"
|
||||||
|
import { vi } from "vitest"
|
||||||
|
|
||||||
|
// reduce delay for faster tests
|
||||||
|
Constants.tooltip.delay = 10
|
||||||
|
|
||||||
|
// jsdom doesn't mock matchMedia
|
||||||
|
// https://stackoverflow.com/a/53449595/
|
||||||
|
Object.defineProperty(window, "matchMedia", {
|
||||||
|
writable: true,
|
||||||
|
value: vi.fn().mockImplementation(query => ({
|
||||||
|
matches: false,
|
||||||
|
media: query,
|
||||||
|
onchange: null,
|
||||||
|
addListener: vi.fn(), // deprecated
|
||||||
|
removeListener: vi.fn(), // deprecated
|
||||||
|
addEventListener: vi.fn(),
|
||||||
|
removeEventListener: vi.fn(),
|
||||||
|
dispatchEvent: vi.fn(),
|
||||||
|
})),
|
||||||
|
})
|
||||||
@@ -52,5 +52,7 @@ export default defineConfig(() => ({
|
|||||||
},
|
},
|
||||||
test: {
|
test: {
|
||||||
environment: "jsdom",
|
environment: "jsdom",
|
||||||
|
globals: true,
|
||||||
|
setupFiles: "./src/setupTests.ts",
|
||||||
},
|
},
|
||||||
}))
|
}))
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
<module name="AvoidStaticImport" />
|
<module name="AvoidStaticImport" />
|
||||||
<module name="IllegalImport" />
|
<module name="IllegalImport" />
|
||||||
<module name="ImportOrder">
|
<module name="ImportOrder">
|
||||||
<property name="groups" value="/^java\./,javax,org,com" />
|
<property name="groups" value="/^java\./,javax,jakarta,org,com" />
|
||||||
<property name="ordered" value="true" />
|
<property name="ordered" value="true" />
|
||||||
<property name="separated" value="true" />
|
<property name="separated" value="true" />
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
7
commafeed-server/dev/eclipse.importorder
Normal file
7
commafeed-server/dev/eclipse.importorder
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#Organize Import Order
|
||||||
|
#Wed Jan 29 15:15:04 CET 2025
|
||||||
|
0=java
|
||||||
|
1=javax
|
||||||
|
2=jakarta
|
||||||
|
3=org
|
||||||
|
4=com
|
||||||
@@ -1,799 +0,0 @@
|
|||||||
🔒: Configuration property fixed at build time - All other configuration properties are overridable at runtime
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th align="left">Configuration property</th>
|
|
||||||
<th>Type</th>
|
|
||||||
<th>Default</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.hide-from-web-crawlers`
|
|
||||||
|
|
||||||
Whether to expose a robots.txt file that disallows web crawlers and search engine indexers.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HIDE_FROM_WEB_CRAWLERS`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`true`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.image-proxy-enabled`
|
|
||||||
|
|
||||||
If enabled, images in feed entries will be proxied through the server instead of accessed directly by the browser.
|
|
||||||
|
|
||||||
This is useful if commafeed is accessed through a restricting proxy that blocks some feeds that are followed.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_IMAGE_PROXY_ENABLED`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`false`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.password-recovery-enabled`
|
|
||||||
|
|
||||||
Enable password recovery via email.
|
|
||||||
|
|
||||||
Quarkus mailer will need to be configured.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_PASSWORD_RECOVERY_ENABLED`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`false`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.announcement`
|
|
||||||
|
|
||||||
Message displayed in a notification at the bottom of the page.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_ANNOUNCEMENT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
string
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.google-analytics-tracking-code`
|
|
||||||
|
|
||||||
Google Analytics tracking code.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_GOOGLE_ANALYTICS_TRACKING_CODE`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
string
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.google-auth-key`
|
|
||||||
|
|
||||||
Google Auth key for fetching Youtube channel favicons.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_GOOGLE_AUTH_KEY`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
string
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th align="left" colspan="3">
|
|
||||||
HTTP client configuration
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.user-agent`
|
|
||||||
|
|
||||||
User-Agent string that will be used by the http client, leave empty for the default one.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_USER_AGENT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
string
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.connect-timeout`
|
|
||||||
|
|
||||||
Time to wait for a connection to be established.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_CONNECT_TIMEOUT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`5S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.ssl-handshake-timeout`
|
|
||||||
|
|
||||||
Time to wait for SSL handshake to complete.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_SSL_HANDSHAKE_TIMEOUT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`5S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.socket-timeout`
|
|
||||||
|
|
||||||
Time to wait between two packets before timeout.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_SOCKET_TIMEOUT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`10S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.response-timeout`
|
|
||||||
|
|
||||||
Time to wait for the full response to be received.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_RESPONSE_TIMEOUT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`10S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.connection-time-to-live`
|
|
||||||
|
|
||||||
Time to live for a connection in the pool.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_CONNECTION_TIME_TO_LIVE`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`30S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.idle-connections-eviction-interval`
|
|
||||||
|
|
||||||
Time between eviction runs for idle connections.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_IDLE_CONNECTIONS_EVICTION_INTERVAL`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`1M`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.max-response-size`
|
|
||||||
|
|
||||||
If a feed is larger than this, it will be discarded to prevent memory issues while parsing the feed.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_MAX_RESPONSE_SIZE`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
MemorySize [🛈](#memory-size-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`5M`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th align="left" colspan="3">
|
|
||||||
HTTP client cache configuration
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.cache.enabled`
|
|
||||||
|
|
||||||
Whether to enable the cache. This cache is used to avoid spamming feeds in short bursts (e.g. when subscribing to a feed for the
|
|
||||||
first time or when clicking "fetch all my feeds now").
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_CACHE_ENABLED`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`true`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.cache.maximum-memory-size`
|
|
||||||
|
|
||||||
Maximum amount of memory the cache can use.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_CACHE_MAXIMUM_MEMORY_SIZE`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
MemorySize [🛈](#memory-size-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`10M`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.http-client.cache.expiration`
|
|
||||||
|
|
||||||
Duration after which an entry is removed from the cache.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_HTTP_CLIENT_CACHE_EXPIRATION`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`1M`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th align="left" colspan="3">
|
|
||||||
Feed refresh engine settings
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.feed-refresh.interval`
|
|
||||||
|
|
||||||
Amount of time CommaFeed will wait before refreshing the same feed.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_FEED_REFRESH_INTERVAL`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`5M`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.feed-refresh.interval-empirical`
|
|
||||||
|
|
||||||
If true, CommaFeed will calculate the next refresh time based on the feed's average time between entries and the time since the
|
|
||||||
last entry was published. The interval will be somewhere between the default refresh interval and 24h.
|
|
||||||
|
|
||||||
See <code>FeedRefreshIntervalCalculator</code> for details.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_FEED_REFRESH_INTERVAL_EMPIRICAL`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`false`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.feed-refresh.http-threads`
|
|
||||||
|
|
||||||
Amount of http threads used to fetch feeds.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_FEED_REFRESH_HTTP_THREADS`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
int
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`3`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.feed-refresh.database-threads`
|
|
||||||
|
|
||||||
Amount of threads used to insert new entries in the database.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_FEED_REFRESH_DATABASE_THREADS`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
int
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`1`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.feed-refresh.user-inactivity-period`
|
|
||||||
|
|
||||||
Duration after which a user is considered inactive. Feeds for inactive users are not refreshed until they log in again.
|
|
||||||
|
|
||||||
0 to disable.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_FEED_REFRESH_USER_INACTIVITY_PERIOD`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`0S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.feed-refresh.filtering-expression-evaluation-timeout`
|
|
||||||
|
|
||||||
Duration after which the evaluation of a filtering expresion to mark an entry as read is considered to have timed out.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_FEED_REFRESH_FILTERING_EXPRESSION_EVALUATION_TIMEOUT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`500MS`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.feed-refresh.force-refresh-cooldown-duration`
|
|
||||||
|
|
||||||
Duration after which the "Fetch all my feeds now" action is available again after use to avoid spamming feeds.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_FEED_REFRESH_FORCE_REFRESH_COOLDOWN_DURATION`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`0S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th align="left" colspan="3">
|
|
||||||
Database settings
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.database.query-timeout`
|
|
||||||
|
|
||||||
Timeout applied to all database queries.
|
|
||||||
|
|
||||||
0 to disable.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_DATABASE_QUERY_TIMEOUT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`0S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th align="left" colspan="3">
|
|
||||||
Database cleanup settings
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.database.cleanup.entries-max-age`
|
|
||||||
|
|
||||||
Maximum age of feed entries in the database. Older entries will be deleted.
|
|
||||||
|
|
||||||
0 to disable.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_DATABASE_CLEANUP_ENTRIES_MAX_AGE`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`365D`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.database.cleanup.statuses-max-age`
|
|
||||||
|
|
||||||
Maximum age of feed entry statuses (read/unread) in the database. Older statuses will be deleted.
|
|
||||||
|
|
||||||
0 to disable.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_DATABASE_CLEANUP_STATUSES_MAX_AGE`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`0S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.database.cleanup.max-feed-capacity`
|
|
||||||
|
|
||||||
Maximum number of entries per feed to keep in the database.
|
|
||||||
|
|
||||||
0 to disable.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_DATABASE_CLEANUP_MAX_FEED_CAPACITY`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
int
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`500`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.database.cleanup.max-feeds-per-user`
|
|
||||||
|
|
||||||
Limit the number of feeds a user can subscribe to.
|
|
||||||
|
|
||||||
0 to disable.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_DATABASE_CLEANUP_MAX_FEEDS_PER_USER`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
int
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`0`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.database.cleanup.batch-size`
|
|
||||||
|
|
||||||
Rows to delete per query while cleaning up old entries.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_DATABASE_CLEANUP_BATCH_SIZE`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
int
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`100`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th align="left" colspan="3">
|
|
||||||
Users settings
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.users.allow-registrations`
|
|
||||||
|
|
||||||
Whether to let users create accounts for themselves.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_USERS_ALLOW_REGISTRATIONS`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`false`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.users.strict-password-policy`
|
|
||||||
|
|
||||||
Whether to enable strict password validation (1 uppercase char, 1 lowercase char, 1 digit, 1 special char).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_USERS_STRICT_PASSWORD_POLICY`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`true`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.users.create-demo-account`
|
|
||||||
|
|
||||||
Whether to create a demo account the first time the app starts.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_USERS_CREATE_DEMO_ACCOUNT`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`false`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th align="left" colspan="3">
|
|
||||||
Websocket settings
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.websocket.enabled`
|
|
||||||
|
|
||||||
Enable websocket connection so the server can notify web clients that there are new entries for feeds.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_WEBSOCKET_ENABLED`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
boolean
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`true`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.websocket.ping-interval`
|
|
||||||
|
|
||||||
Interval at which the client will send a ping message on the websocket to keep the connection alive.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_WEBSOCKET_PING_INTERVAL`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`15M`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`commafeed.websocket.tree-reload-interval`
|
|
||||||
|
|
||||||
If the websocket connection is disabled or the connection is lost, the client will reload the feed tree at this interval.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variable: `COMMAFEED_WEBSOCKET_TREE_RELOAD_INTERVAL`</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
[Duration](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) [🛈](#duration-note-anchor)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
`30S`
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<a name="duration-note-anchor"></a>
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> ### About the Duration format
|
|
||||||
>
|
|
||||||
> To write duration values, use the standard `java.time.Duration` format.
|
|
||||||
> See the [Duration#parse()](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html#parse(java.lang.CharSequence)) Java API documentation] for more information.
|
|
||||||
>
|
|
||||||
> You can also use a simplified format, starting with a number:
|
|
||||||
>
|
|
||||||
> * If the value is only a number, it represents time in seconds.
|
|
||||||
> * If the value is a number followed by `ms`, it represents time in milliseconds.
|
|
||||||
>
|
|
||||||
> In other cases, the simplified format is translated to the `java.time.Duration` format for parsing:
|
|
||||||
>
|
|
||||||
> * If the value is a number followed by `h`, `m`, or `s`, it is prefixed with `PT`.
|
|
||||||
> * If the value is a number followed by `d`, it is prefixed with `P`.
|
|
||||||
<a name="memory-size-note-anchor"></a>
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> ### About the MemorySize format
|
|
||||||
>
|
|
||||||
> A size configuration option recognizes strings in this format (shown as a regular expression): `[0-9]+[KkMmGgTtPpEeZzYy]?`.
|
|
||||||
>
|
|
||||||
> If no suffix is given, assume bytes.
|
|
||||||
@@ -6,16 +6,16 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.commafeed</groupId>
|
<groupId>com.commafeed</groupId>
|
||||||
<artifactId>commafeed</artifactId>
|
<artifactId>commafeed</artifactId>
|
||||||
<version>5.3.5</version>
|
<version>5.9.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>commafeed-server</artifactId>
|
<artifactId>commafeed-server</artifactId>
|
||||||
<name>CommaFeed Server</name>
|
<name>CommaFeed Server</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<quarkus.version>3.17.2</quarkus.version>
|
<quarkus.version>3.22.2</quarkus.version>
|
||||||
<querydsl.version>6.9</querydsl.version>
|
<querydsl.version>6.11</querydsl.version>
|
||||||
<rome.version>2.1.0</rome.version>
|
<rome.version>2.1.0</rome.version>
|
||||||
<swagger.version>2.2.26</swagger.version>
|
<swagger.version>2.2.31</swagger.version>
|
||||||
|
|
||||||
<build.database>h2</build.database>
|
<build.database>h2</build.database>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -115,6 +115,34 @@
|
|||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
|
<version>3.5.0</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.quarkus</groupId>
|
||||||
|
<artifactId>quarkus-extension-processor</artifactId>
|
||||||
|
<version>${quarkus.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<configuration>
|
||||||
|
<includePluginDependencies>true</includePluginDependencies>
|
||||||
|
<mainClass>com.commafeed.tools.CommaFeedPropertiesGenerator</mainClass>
|
||||||
|
<arguments>
|
||||||
|
<argument>${project.build.directory}</argument>
|
||||||
|
</arguments>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>process-test-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>java</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
@@ -138,7 +166,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<version>3.5.2</version>
|
<version>3.5.3</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<systemPropertyVariables>
|
<systemPropertyVariables>
|
||||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||||
@@ -149,7 +177,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-failsafe-plugin</artifactId>
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
<version>3.5.2</version>
|
<version>3.5.3</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
@@ -241,7 +269,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.puppycrawl.tools</groupId>
|
<groupId>com.puppycrawl.tools</groupId>
|
||||||
<artifactId>checkstyle</artifactId>
|
<artifactId>checkstyle</artifactId>
|
||||||
<version>10.20.2</version>
|
<version>10.23.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<executions>
|
<executions>
|
||||||
@@ -270,7 +298,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>com.diffplug.spotless</groupId>
|
<groupId>com.diffplug.spotless</groupId>
|
||||||
<artifactId>spotless-maven-plugin</artifactId>
|
<artifactId>spotless-maven-plugin</artifactId>
|
||||||
<version>2.43.0</version>
|
<version>2.44.4</version>
|
||||||
<?m2e ignore?>
|
<?m2e ignore?>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
@@ -282,11 +310,13 @@
|
|||||||
</executions>
|
</executions>
|
||||||
<configuration>
|
<configuration>
|
||||||
<encoding>UTF-8</encoding>
|
<encoding>UTF-8</encoding>
|
||||||
<lineEndings>WINDOWS</lineEndings>
|
|
||||||
<java>
|
<java>
|
||||||
<eclipse>
|
<eclipse>
|
||||||
<file>${project.basedir}/dev/EclipseCodeFormatter.xml</file>
|
<file>${project.basedir}/dev/EclipseCodeFormatter.xml</file>
|
||||||
</eclipse>
|
</eclipse>
|
||||||
|
<importOrder>
|
||||||
|
<file>${project.basedir}/dev/eclipse.importorder</file>
|
||||||
|
</importOrder>
|
||||||
</java>
|
</java>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
@@ -297,14 +327,14 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.commafeed</groupId>
|
<groupId>com.commafeed</groupId>
|
||||||
<artifactId>commafeed-client</artifactId>
|
<artifactId>commafeed-client</artifactId>
|
||||||
<version>5.3.5</version>
|
<version>5.9.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- compile-time processors -->
|
<!-- compile-time processors -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.projectlombok</groupId>
|
<groupId>org.projectlombok</groupId>
|
||||||
<artifactId>lombok</artifactId>
|
<artifactId>lombok</artifactId>
|
||||||
<version>1.18.36</version>
|
<version>1.18.38</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -361,7 +391,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.dropwizard.metrics</groupId>
|
<groupId>io.dropwizard.metrics</groupId>
|
||||||
<artifactId>metrics-json</artifactId>
|
<artifactId>metrics-json</artifactId>
|
||||||
<version>4.2.29</version>
|
<version>4.2.30</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.swagger.core.v3</groupId>
|
<groupId>io.swagger.core.v3</groupId>
|
||||||
@@ -387,7 +417,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-collections4</artifactId>
|
<artifactId>commons-collections4</artifactId>
|
||||||
<version>4.4</version>
|
<version>4.5.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
@@ -433,12 +463,12 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jsoup</groupId>
|
<groupId>org.jsoup</groupId>
|
||||||
<artifactId>jsoup</artifactId>
|
<artifactId>jsoup</artifactId>
|
||||||
<version>1.18.3</version>
|
<version>1.20.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.ibm.icu</groupId>
|
<groupId>com.ibm.icu</groupId>
|
||||||
<artifactId>icu4j</artifactId>
|
<artifactId>icu4j</artifactId>
|
||||||
<version>76.1</version>
|
<version>77.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.sourceforge.cssparser</groupId>
|
<groupId>net.sourceforge.cssparser</groupId>
|
||||||
@@ -453,7 +483,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.httpcomponents.client5</groupId>
|
<groupId>org.apache.httpcomponents.client5</groupId>
|
||||||
<artifactId>httpclient5</artifactId>
|
<artifactId>httpclient5</artifactId>
|
||||||
<version>5.4.1</version>
|
<version>5.4.4</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- add brotli support for httpclient5 -->
|
<!-- add brotli support for httpclient5 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -464,7 +494,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.github.hakky54</groupId>
|
<groupId>io.github.hakky54</groupId>
|
||||||
<artifactId>sslcontext-kickstart-for-apache5</artifactId>
|
<artifactId>sslcontext-kickstart-for-apache5</artifactId>
|
||||||
<version>8.3.7</version>
|
<version>9.1.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- test dependencies -->
|
<!-- test dependencies -->
|
||||||
@@ -492,7 +522,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.microsoft.playwright</groupId>
|
<groupId>com.microsoft.playwright</groupId>
|
||||||
<artifactId>playwright</artifactId>
|
<artifactId>playwright</artifactId>
|
||||||
<version>1.49.0</version>
|
<version>1.52.0</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
FROM ibm-semeru-runtimes:open-21.0.5_11-jre
|
FROM ibm-semeru-runtimes:open-21.0.7_6-jre@sha256:81475a86a6abb3b62feae30112f13f7da20b8c6968eba0d3e7c76016200e6b56
|
||||||
EXPOSE 8082
|
EXPOSE 8082
|
||||||
|
|
||||||
RUN mkdir -p /commafeed/data
|
RUN mkdir -p /commafeed/data
|
||||||
VOLUME /commafeed/data
|
VOLUME /commafeed/data
|
||||||
|
|
||||||
COPY commafeed-server/target/quarkus-app/ /commafeed
|
COPY artifacts/extracted-jvm-package/quarkus-app/ /commafeed
|
||||||
WORKDIR /commafeed
|
WORKDIR /commafeed
|
||||||
|
|
||||||
CMD ["java", \
|
CMD ["java", \
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
FROM debian:12.8
|
FROM debian:12.10@sha256:264982ff4d18000fa74540837e2c43ca5137a53a83f8f62c7b3803c0f0bdcd56
|
||||||
|
ARG TARGETARCH
|
||||||
|
|
||||||
EXPOSE 8082
|
EXPOSE 8082
|
||||||
|
|
||||||
RUN mkdir -p /commafeed/data
|
RUN mkdir -p /commafeed/data
|
||||||
VOLUME /commafeed/data
|
VOLUME /commafeed/data
|
||||||
|
|
||||||
COPY commafeed-server/target/commafeed-*-runner /commafeed/application
|
COPY artifacts/commafeed-*-${TARGETARCH}-runner /commafeed/application
|
||||||
WORKDIR /commafeed
|
WORKDIR /commafeed
|
||||||
|
|
||||||
CMD ["./application"]
|
CMD ["./application"]
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ CommaFeed also supports:
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
All [CommaFeed settings](https://github.com/Athou/commafeed/blob/master/commafeed-server/doc/commafeed.md) are
|
All [CommaFeed settings](https://athou.github.io/commafeed/documentation) are
|
||||||
optional and have sensible default values.
|
optional and have sensible default values.
|
||||||
|
|
||||||
Settings are overrideable with environment variables. For instance, `commafeed.feed-refresh.interval-empirical` can be
|
Settings are overrideable with environment variables. For instance, `commafeed.feed-refresh.interval-empirical` can be
|
||||||
@@ -92,5 +92,4 @@ Tags are of the form `<version>-<database>[-jvm]` where:
|
|||||||
- `latest` (always points to the latest version)
|
- `latest` (always points to the latest version)
|
||||||
- `master` (always points to the latest git commit)
|
- `master` (always points to the latest git commit)
|
||||||
- `<database>` is the database to use (`h2`, `postgresql`, `mysql` or `mariadb`)
|
- `<database>` is the database to use (`h2`, `postgresql`, `mysql` or `mariadb`)
|
||||||
- `-jvm` is optional and indicates that CommaFeed is running on a JVM, and not compiled natively. This image supports
|
- `-jvm` is optional and indicates that CommaFeed is running on a JVM, and not compiled natively.
|
||||||
the arm64 platform which is not yet supported by the native image.
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package com.commafeed;
|
package com.commafeed;
|
||||||
|
|
||||||
|
import jakarta.enterprise.event.Observes;
|
||||||
|
import jakarta.inject.Singleton;
|
||||||
|
|
||||||
import com.commafeed.backend.feed.FeedRefreshEngine;
|
import com.commafeed.backend.feed.FeedRefreshEngine;
|
||||||
import com.commafeed.backend.service.db.DatabaseStartupService;
|
import com.commafeed.backend.service.db.DatabaseStartupService;
|
||||||
import com.commafeed.backend.task.TaskScheduler;
|
import com.commafeed.backend.task.TaskScheduler;
|
||||||
@@ -7,8 +10,6 @@ import com.commafeed.security.password.PasswordConstraintValidator;
|
|||||||
|
|
||||||
import io.quarkus.runtime.ShutdownEvent;
|
import io.quarkus.runtime.ShutdownEvent;
|
||||||
import io.quarkus.runtime.StartupEvent;
|
import io.quarkus.runtime.StartupEvent;
|
||||||
import jakarta.enterprise.event.Observes;
|
|
||||||
import jakarta.inject.Singleton;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ import java.time.Duration;
|
|||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.Min;
|
||||||
|
import jakarta.validation.constraints.Positive;
|
||||||
|
|
||||||
import com.commafeed.backend.feed.FeedRefreshIntervalCalculator;
|
import com.commafeed.backend.feed.FeedRefreshIntervalCalculator;
|
||||||
|
|
||||||
import io.quarkus.runtime.annotations.ConfigDocSection;
|
import io.quarkus.runtime.annotations.ConfigDocSection;
|
||||||
@@ -12,8 +15,6 @@ import io.quarkus.runtime.annotations.ConfigRoot;
|
|||||||
import io.quarkus.runtime.configuration.MemorySize;
|
import io.quarkus.runtime.configuration.MemorySize;
|
||||||
import io.smallrye.config.ConfigMapping;
|
import io.smallrye.config.ConfigMapping;
|
||||||
import io.smallrye.config.WithDefault;
|
import io.smallrye.config.WithDefault;
|
||||||
import jakarta.validation.constraints.Min;
|
|
||||||
import jakarta.validation.constraints.Positive;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CommaFeed configuration
|
* CommaFeed configuration
|
||||||
@@ -138,6 +139,16 @@ public interface CommaFeedConfiguration {
|
|||||||
@WithDefault("5M")
|
@WithDefault("5M")
|
||||||
MemorySize maxResponseSize();
|
MemorySize maxResponseSize();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prevent access to local addresses to mitigate server-side request forgery (SSRF) attacks, which could potentially expose internal
|
||||||
|
* resources.
|
||||||
|
*
|
||||||
|
* You may want to disable this if you subscribe to feeds that are only available on your local network and you trust all users of
|
||||||
|
* your CommaFeed instance.
|
||||||
|
*/
|
||||||
|
@WithDefault("true")
|
||||||
|
boolean blockLocalAddresses();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HTTP client cache configuration
|
* HTTP client cache configuration
|
||||||
*/
|
*/
|
||||||
@@ -168,20 +179,39 @@ public interface CommaFeedConfiguration {
|
|||||||
|
|
||||||
interface FeedRefresh {
|
interface FeedRefresh {
|
||||||
/**
|
/**
|
||||||
* Amount of time CommaFeed will wait before refreshing the same feed.
|
* Default amount of time CommaFeed will wait before refreshing a feed.
|
||||||
*/
|
*/
|
||||||
@WithDefault("5m")
|
@WithDefault("5m")
|
||||||
Duration interval();
|
Duration interval();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If true, CommaFeed will calculate the next refresh time based on the feed's average time between entries and the time since the
|
* Maximum amount of time CommaFeed will wait before refreshing a feed. This is used as an upper bound when:
|
||||||
* last entry was published. The interval will be somewhere between the default refresh interval and 24h.
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li>an error occurs while refreshing a feed and we're backing off exponentially</li>
|
||||||
|
* <li>we receive a Cache-Control header from the feed</li>
|
||||||
|
* <li>we receive a Retry-After header from the feed</li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
@WithDefault("4h")
|
||||||
|
Duration maxInterval();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If enabled, CommaFeed will calculate the next refresh time based on the feed's average time between entries and the time since
|
||||||
|
* the last entry was published. The interval will be sometimes between the default refresh interval
|
||||||
|
* (`commafeed.feed-refresh.interval`) and the maximum refresh interval (`commafeed.feed-refresh.max-interval`).
|
||||||
*
|
*
|
||||||
* See {@link FeedRefreshIntervalCalculator} for details.
|
* See {@link FeedRefreshIntervalCalculator} for details.
|
||||||
*/
|
*/
|
||||||
@WithDefault("false")
|
@WithDefault("true")
|
||||||
boolean intervalEmpirical();
|
boolean intervalEmpirical();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feed refresh engine error handling settings.
|
||||||
|
*/
|
||||||
|
@ConfigDocSection
|
||||||
|
FeedRefreshErrorHandling errors();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Amount of http threads used to fetch feeds.
|
* Amount of http threads used to fetch feeds.
|
||||||
*/
|
*/
|
||||||
@@ -217,6 +247,21 @@ public interface CommaFeedConfiguration {
|
|||||||
Duration forceRefreshCooldownDuration();
|
Duration forceRefreshCooldownDuration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface FeedRefreshErrorHandling {
|
||||||
|
/**
|
||||||
|
* Number of retries before backoff is applied.
|
||||||
|
*/
|
||||||
|
@Min(0)
|
||||||
|
@WithDefault("3")
|
||||||
|
int retriesBeforeBackoff();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Duration to wait before retrying after an error. Will be multiplied by the number of errors since the last successful fetch.
|
||||||
|
*/
|
||||||
|
@WithDefault("1h")
|
||||||
|
Duration backoffInterval();
|
||||||
|
}
|
||||||
|
|
||||||
interface Database {
|
interface Database {
|
||||||
/**
|
/**
|
||||||
* Timeout applied to all database queries.
|
* Timeout applied to all database queries.
|
||||||
|
|||||||
@@ -1,16 +1,25 @@
|
|||||||
package com.commafeed;
|
package com.commafeed;
|
||||||
|
|
||||||
import com.codahale.metrics.MetricRegistry;
|
import java.time.InstantSource;
|
||||||
|
|
||||||
import jakarta.enterprise.inject.Produces;
|
import jakarta.enterprise.inject.Produces;
|
||||||
import jakarta.inject.Singleton;
|
import jakarta.inject.Singleton;
|
||||||
|
|
||||||
|
import com.codahale.metrics.MetricRegistry;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class CommaFeedProducers {
|
public class CommaFeedProducers {
|
||||||
|
|
||||||
|
@Produces
|
||||||
|
@Singleton
|
||||||
|
public InstantSource instantSource() {
|
||||||
|
return InstantSource.system();
|
||||||
|
}
|
||||||
|
|
||||||
@Produces
|
@Produces
|
||||||
@Singleton
|
@Singleton
|
||||||
public MetricRegistry metricRegistry() {
|
public MetricRegistry metricRegistry() {
|
||||||
return new MetricRegistry();
|
return new MetricRegistry();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.io.InputStream;
|
|||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import jakarta.inject.Singleton;
|
import jakarta.inject.Singleton;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
package com.commafeed;
|
package com.commafeed;
|
||||||
|
|
||||||
|
import jakarta.annotation.Priority;
|
||||||
|
import jakarta.validation.ValidationException;
|
||||||
|
import jakarta.ws.rs.ext.Provider;
|
||||||
|
|
||||||
import org.jboss.resteasy.reactive.RestResponse;
|
import org.jboss.resteasy.reactive.RestResponse;
|
||||||
import org.jboss.resteasy.reactive.RestResponse.Status;
|
import org.jboss.resteasy.reactive.RestResponse.Status;
|
||||||
import org.jboss.resteasy.reactive.server.ServerExceptionMapper;
|
import org.jboss.resteasy.reactive.server.ServerExceptionMapper;
|
||||||
@@ -7,9 +11,6 @@ import org.jboss.resteasy.reactive.server.ServerExceptionMapper;
|
|||||||
import io.quarkus.runtime.annotations.RegisterForReflection;
|
import io.quarkus.runtime.annotations.RegisterForReflection;
|
||||||
import io.quarkus.security.AuthenticationFailedException;
|
import io.quarkus.security.AuthenticationFailedException;
|
||||||
import io.quarkus.security.UnauthorizedException;
|
import io.quarkus.security.UnauthorizedException;
|
||||||
import jakarta.annotation.Priority;
|
|
||||||
import jakarta.validation.ValidationException;
|
|
||||||
import jakarta.ws.rs.ext.Provider;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package com.commafeed;
|
|||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import jakarta.inject.Singleton;
|
||||||
|
|
||||||
import com.codahale.metrics.json.MetricsModule;
|
import com.codahale.metrics.json.MetricsModule;
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
@@ -9,7 +11,6 @@ import com.fasterxml.jackson.databind.SerializationFeature;
|
|||||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
|
|
||||||
import io.quarkus.jackson.ObjectMapperCustomizer;
|
import io.quarkus.jackson.ObjectMapperCustomizer;
|
||||||
import jakarta.inject.Singleton;
|
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class JacksonCustomizer implements ObjectMapperCustomizer {
|
public class JacksonCustomizer implements ObjectMapperCustomizer {
|
||||||
|
|||||||
@@ -2,15 +2,20 @@ package com.commafeed.backend;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.net.IDN;
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.InstantSource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import jakarta.inject.Singleton;
|
||||||
|
import jakarta.ws.rs.core.CacheControl;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.hc.client5.http.DnsResolver;
|
import org.apache.hc.client5.http.DnsResolver;
|
||||||
@@ -25,6 +30,7 @@ import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuil
|
|||||||
import org.apache.hc.client5.http.io.HttpClientConnectionManager;
|
import org.apache.hc.client5.http.io.HttpClientConnectionManager;
|
||||||
import org.apache.hc.client5.http.protocol.HttpClientContext;
|
import org.apache.hc.client5.http.protocol.HttpClientContext;
|
||||||
import org.apache.hc.client5.http.protocol.RedirectLocations;
|
import org.apache.hc.client5.http.protocol.RedirectLocations;
|
||||||
|
import org.apache.hc.client5.http.utils.DateUtils;
|
||||||
import org.apache.hc.core5.http.ClassicHttpRequest;
|
import org.apache.hc.core5.http.ClassicHttpRequest;
|
||||||
import org.apache.hc.core5.http.Header;
|
import org.apache.hc.core5.http.Header;
|
||||||
import org.apache.hc.core5.http.HttpEntity;
|
import org.apache.hc.core5.http.HttpEntity;
|
||||||
@@ -46,11 +52,10 @@ import com.google.common.collect.Iterables;
|
|||||||
import com.google.common.io.ByteStreams;
|
import com.google.common.io.ByteStreams;
|
||||||
import com.google.common.net.HttpHeaders;
|
import com.google.common.net.HttpHeaders;
|
||||||
|
|
||||||
import jakarta.inject.Singleton;
|
|
||||||
import jakarta.ws.rs.core.CacheControl;
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.Value;
|
import lombok.Value;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import nl.altindag.ssl.SSLFactory;
|
import nl.altindag.ssl.SSLFactory;
|
||||||
@@ -64,11 +69,14 @@ import nl.altindag.ssl.apache5.util.Apache5SslUtils;
|
|||||||
public class HttpGetter {
|
public class HttpGetter {
|
||||||
|
|
||||||
private final CommaFeedConfiguration config;
|
private final CommaFeedConfiguration config;
|
||||||
|
private final InstantSource instantSource;
|
||||||
private final CloseableHttpClient client;
|
private final CloseableHttpClient client;
|
||||||
private final Cache<HttpRequest, HttpResponse> cache;
|
private final Cache<HttpRequest, HttpResponse> cache;
|
||||||
|
private final DnsResolver dnsResolver = SystemDefaultDnsResolver.INSTANCE;
|
||||||
|
|
||||||
public HttpGetter(CommaFeedConfiguration config, CommaFeedVersion version, MetricRegistry metrics) {
|
public HttpGetter(CommaFeedConfiguration config, InstantSource instantSource, CommaFeedVersion version, MetricRegistry metrics) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
|
this.instantSource = instantSource;
|
||||||
|
|
||||||
PoolingHttpClientConnectionManager connectionManager = newConnectionManager(config);
|
PoolingHttpClientConnectionManager connectionManager = newConnectionManager(config);
|
||||||
String userAgent = config.httpClient()
|
String userAgent = config.httpClient()
|
||||||
@@ -88,11 +96,20 @@ public class HttpGetter {
|
|||||||
() -> cache == null ? 0 : cache.asMap().values().stream().mapToInt(e -> e.content != null ? e.content.length : 0).sum());
|
() -> cache == null ? 0 : cache.asMap().values().stream().mapToInt(e -> e.content != null ? e.content.length : 0).sum());
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpResult get(String url) throws IOException, NotModifiedException {
|
public HttpResult get(String url)
|
||||||
|
throws IOException, NotModifiedException, TooManyRequestsException, SchemeNotAllowedException, HostNotAllowedException {
|
||||||
return get(HttpRequest.builder(url).build());
|
return get(HttpRequest.builder(url).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpResult get(HttpRequest request) throws IOException, NotModifiedException {
|
public HttpResult get(HttpRequest request)
|
||||||
|
throws IOException, NotModifiedException, TooManyRequestsException, SchemeNotAllowedException, HostNotAllowedException {
|
||||||
|
URI uri = URI.create(request.getUrl());
|
||||||
|
ensureHttpScheme(uri.getScheme());
|
||||||
|
|
||||||
|
if (config.httpClient().blockLocalAddresses()) {
|
||||||
|
ensurePublicAddress(uri.getHost());
|
||||||
|
}
|
||||||
|
|
||||||
final HttpResponse response;
|
final HttpResponse response;
|
||||||
if (cache == null) {
|
if (cache == null) {
|
||||||
response = invoke(request);
|
response = invoke(request);
|
||||||
@@ -109,21 +126,20 @@ public class HttpGetter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int code = response.getCode();
|
int code = response.getCode();
|
||||||
|
if (code == HttpStatus.SC_TOO_MANY_REQUESTS || code == HttpStatus.SC_SERVICE_UNAVAILABLE && response.getRetryAfter() != null) {
|
||||||
|
throw new TooManyRequestsException(response.getRetryAfter());
|
||||||
|
}
|
||||||
|
|
||||||
if (code == HttpStatus.SC_NOT_MODIFIED) {
|
if (code == HttpStatus.SC_NOT_MODIFIED) {
|
||||||
throw new NotModifiedException("'304 - not modified' http code received");
|
throw new NotModifiedException("'304 - not modified' http code received");
|
||||||
} else if (code >= 300) {
|
}
|
||||||
|
|
||||||
|
if (code >= 300) {
|
||||||
throw new HttpResponseException(code, "Server returned HTTP error code " + code);
|
throw new HttpResponseException(code, "Server returned HTTP error code " + code);
|
||||||
}
|
}
|
||||||
|
|
||||||
String lastModifiedHeader = response.getLastModifiedHeader();
|
String lastModifiedHeader = response.getLastModifiedHeader();
|
||||||
if (lastModifiedHeader != null && lastModifiedHeader.equals(request.getLastModified())) {
|
|
||||||
throw new NotModifiedException("lastModifiedHeader is the same");
|
|
||||||
}
|
|
||||||
|
|
||||||
String eTagHeader = response.getETagHeader();
|
String eTagHeader = response.getETagHeader();
|
||||||
if (eTagHeader != null && eTagHeader.equals(request.getETag())) {
|
|
||||||
throw new NotModifiedException("eTagHeader is the same");
|
|
||||||
}
|
|
||||||
|
|
||||||
Duration validFor = Optional.ofNullable(response.getCacheControl())
|
Duration validFor = Optional.ofNullable(response.getCacheControl())
|
||||||
.filter(cc -> cc.getMaxAge() >= 0)
|
.filter(cc -> cc.getMaxAge() >= 0)
|
||||||
@@ -134,6 +150,28 @@ public class HttpGetter {
|
|||||||
response.getUrlAfterRedirect(), validFor);
|
response.getUrlAfterRedirect(), validFor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ensureHttpScheme(String scheme) throws SchemeNotAllowedException {
|
||||||
|
if (!"http".equals(scheme) && !"https".equals(scheme)) {
|
||||||
|
throw new SchemeNotAllowedException(scheme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ensurePublicAddress(String host) throws HostNotAllowedException, UnknownHostException {
|
||||||
|
if (host == null) {
|
||||||
|
throw new HostNotAllowedException(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
InetAddress[] addresses = dnsResolver.resolve(host);
|
||||||
|
if (Stream.of(addresses).anyMatch(this::isPrivateAddress)) {
|
||||||
|
throw new HostNotAllowedException(host);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isPrivateAddress(InetAddress address) {
|
||||||
|
return address.isSiteLocalAddress() || address.isAnyLocalAddress() || address.isLinkLocalAddress() || address.isLoopbackAddress()
|
||||||
|
|| address.isMulticastAddress();
|
||||||
|
}
|
||||||
|
|
||||||
private HttpResponse invoke(HttpRequest request) throws IOException {
|
private HttpResponse invoke(HttpRequest request) throws IOException {
|
||||||
log.debug("fetching {}", request.getUrl());
|
log.debug("fetching {}", request.getUrl());
|
||||||
|
|
||||||
@@ -162,7 +200,13 @@ public class HttpGetter {
|
|||||||
CacheControl cacheControl = Optional.ofNullable(resp.getFirstHeader(HttpHeaders.CACHE_CONTROL))
|
CacheControl cacheControl = Optional.ofNullable(resp.getFirstHeader(HttpHeaders.CACHE_CONTROL))
|
||||||
.map(NameValuePair::getValue)
|
.map(NameValuePair::getValue)
|
||||||
.map(StringUtils::trimToNull)
|
.map(StringUtils::trimToNull)
|
||||||
.map(CacheControlDelegate.INSTANCE::fromString)
|
.map(HttpGetter::toCacheControl)
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
|
Instant retryAfter = Optional.ofNullable(resp.getFirstHeader(HttpHeaders.RETRY_AFTER))
|
||||||
|
.map(NameValuePair::getValue)
|
||||||
|
.map(StringUtils::trimToNull)
|
||||||
|
.map(this::toInstant)
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
|
|
||||||
String contentType = Optional.ofNullable(resp.getEntity()).map(HttpEntity::getContentType).orElse(null);
|
String contentType = Optional.ofNullable(resp.getEntity()).map(HttpEntity::getContentType).orElse(null);
|
||||||
@@ -172,10 +216,31 @@ public class HttpGetter {
|
|||||||
.map(URI::toString)
|
.map(URI::toString)
|
||||||
.orElse(request.getUrl());
|
.orElse(request.getUrl());
|
||||||
|
|
||||||
return new HttpResponse(code, lastModifiedHeader, eTagHeader, cacheControl, content, contentType, urlAfterRedirect);
|
return new HttpResponse(code, lastModifiedHeader, eTagHeader, cacheControl, retryAfter, content, contentType, urlAfterRedirect);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static CacheControl toCacheControl(String headerValue) {
|
||||||
|
try {
|
||||||
|
return CacheControlDelegate.INSTANCE.fromString(headerValue);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.debug("Invalid Cache-Control header: {}", headerValue);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Instant toInstant(String headerValue) {
|
||||||
|
if (headerValue == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StringUtils.isNumeric(headerValue)) {
|
||||||
|
return instantSource.instant().plusSeconds(Long.parseLong(headerValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
return DateUtils.parseStandardDate(headerValue);
|
||||||
|
}
|
||||||
|
|
||||||
private static byte[] toByteArray(HttpEntity entity, long maxBytes) throws IOException {
|
private static byte[] toByteArray(HttpEntity entity, long maxBytes) throws IOException {
|
||||||
if (entity.getContentLength() > maxBytes) {
|
if (entity.getContentLength() > maxBytes) {
|
||||||
throw new IOException(
|
throw new IOException(
|
||||||
@@ -195,7 +260,7 @@ public class HttpGetter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static PoolingHttpClientConnectionManager newConnectionManager(CommaFeedConfiguration config) {
|
private PoolingHttpClientConnectionManager newConnectionManager(CommaFeedConfiguration config) {
|
||||||
SSLFactory sslFactory = SSLFactory.builder().withUnsafeTrustMaterial().withUnsafeHostnameVerifier().build();
|
SSLFactory sslFactory = SSLFactory.builder().withUnsafeTrustMaterial().withUnsafeHostnameVerifier().build();
|
||||||
|
|
||||||
int poolSize = config.feedRefresh().httpThreads();
|
int poolSize = config.feedRefresh().httpThreads();
|
||||||
@@ -209,7 +274,7 @@ public class HttpGetter {
|
|||||||
.setDefaultTlsConfig(TlsConfig.custom().setHandshakeTimeout(Timeout.of(config.httpClient().sslHandshakeTimeout())).build())
|
.setDefaultTlsConfig(TlsConfig.custom().setHandshakeTimeout(Timeout.of(config.httpClient().sslHandshakeTimeout())).build())
|
||||||
.setMaxConnPerRoute(poolSize)
|
.setMaxConnPerRoute(poolSize)
|
||||||
.setMaxConnTotal(poolSize)
|
.setMaxConnTotal(poolSize)
|
||||||
.setDnsResolver(new InternationalizedDomainNameToAsciiDnsResolver(SystemDefaultDnsResolver.INSTANCE))
|
.setDnsResolver(dnsResolver)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -246,15 +311,19 @@ public class HttpGetter {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private record InternationalizedDomainNameToAsciiDnsResolver(DnsResolver delegate) implements DnsResolver {
|
public static class SchemeNotAllowedException extends Exception {
|
||||||
@Override
|
private static final long serialVersionUID = 1L;
|
||||||
public InetAddress[] resolve(String host) throws UnknownHostException {
|
|
||||||
return delegate.resolve(IDN.toASCII(host));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
public SchemeNotAllowedException(String scheme) {
|
||||||
public String resolveCanonicalHostname(String host) throws UnknownHostException {
|
super("Scheme not allowed: " + scheme);
|
||||||
return delegate.resolveCanonicalHostname(IDN.toASCII(host));
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class HostNotAllowedException extends Exception {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public HostNotAllowedException(String host) {
|
||||||
|
super("Host not allowed: " + host);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,6 +352,14 @@ public class HttpGetter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Getter
|
||||||
|
public static class TooManyRequestsException extends Exception {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private final Instant retryAfter;
|
||||||
|
}
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
public static class HttpResponseException extends IOException {
|
public static class HttpResponseException extends IOException {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@@ -325,6 +402,7 @@ public class HttpGetter {
|
|||||||
String lastModifiedHeader;
|
String lastModifiedHeader;
|
||||||
String eTagHeader;
|
String eTagHeader;
|
||||||
CacheControl cacheControl;
|
CacheControl cacheControl;
|
||||||
|
Instant retryAfter;
|
||||||
byte[] content;
|
byte[] content;
|
||||||
String contentType;
|
String contentType;
|
||||||
String urlAfterRedirect;
|
String urlAfterRedirect;
|
||||||
|
|||||||
@@ -3,15 +3,15 @@ package com.commafeed.backend.dao;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import jakarta.inject.Singleton;
|
||||||
|
import jakarta.persistence.EntityManager;
|
||||||
|
|
||||||
import com.commafeed.backend.model.FeedCategory;
|
import com.commafeed.backend.model.FeedCategory;
|
||||||
import com.commafeed.backend.model.QFeedCategory;
|
import com.commafeed.backend.model.QFeedCategory;
|
||||||
import com.commafeed.backend.model.QUser;
|
import com.commafeed.backend.model.QUser;
|
||||||
import com.commafeed.backend.model.User;
|
import com.commafeed.backend.model.User;
|
||||||
import com.querydsl.core.types.Predicate;
|
import com.querydsl.core.types.Predicate;
|
||||||
|
|
||||||
import jakarta.inject.Singleton;
|
|
||||||
import jakarta.persistence.EntityManager;
|
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class FeedCategoryDAO extends GenericDAO<FeedCategory> {
|
public class FeedCategoryDAO extends GenericDAO<FeedCategory> {
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ package com.commafeed.backend.dao;
|
|||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import jakarta.inject.Singleton;
|
||||||
|
import jakarta.persistence.EntityManager;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import com.commafeed.backend.model.Feed;
|
import com.commafeed.backend.model.Feed;
|
||||||
@@ -11,9 +14,6 @@ import com.commafeed.backend.model.QFeedSubscription;
|
|||||||
import com.querydsl.jpa.JPAExpressions;
|
import com.querydsl.jpa.JPAExpressions;
|
||||||
import com.querydsl.jpa.impl.JPAQuery;
|
import com.querydsl.jpa.impl.JPAQuery;
|
||||||
|
|
||||||
import jakarta.inject.Singleton;
|
|
||||||
import jakarta.persistence.EntityManager;
|
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class FeedDAO extends GenericDAO<Feed> {
|
public class FeedDAO extends GenericDAO<Feed> {
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user