diff options
| author | 2026-01-24 21:33:30 +0100 | |
|---|---|---|
| committer | 2026-01-24 21:33:30 +0100 | |
| commit | bfd071c63826f4d13d48614cedebfb2f8ea20cf6 (patch) | |
| tree | 8cc9b766b88fa66d051e55d65d6694570553a17b | |
| parent | Added a Follow/Unfollow button next to a new follow notification. (diff) | |
| parent | Merge pull request 'add susie-q (qr) to artwork' (#528) from pmjv/snac2:maste... (diff) | |
| download | snac2-bfd071c63826f4d13d48614cedebfb2f8ea20cf6.tar.gz snac2-bfd071c63826f4d13d48614cedebfb2f8ea20cf6.tar.xz snac2-bfd071c63826f4d13d48614cedebfb2f8ea20cf6.zip | |
Merge pull request 'master' (#7) from grunfink/snac2:master into main
Reviewed-on: https://codeberg.org/byte/snac2/pulls/7
| -rw-r--r-- | FEDERATION.md | 2 | ||||
| -rw-r--r-- | LICENSE | 2 | ||||
| -rw-r--r-- | Makefile | 8 | ||||
| -rw-r--r-- | Makefile.NetBSD | 8 | ||||
| -rw-r--r-- | RELEASE_NOTES.md | 52 | ||||
| -rw-r--r-- | TODO.md | 16 | ||||
| -rw-r--r-- | activitypub.c | 209 | ||||
| -rw-r--r-- | artwork/susie-q.png | bin | 0 -> 1305 bytes | |||
| -rw-r--r-- | data.c | 162 | ||||
| -rw-r--r-- | doc/snac.1 | 15 | ||||
| -rw-r--r-- | doc/snac.8 | 18 | ||||
| -rw-r--r-- | doc/style.css | 6 | ||||
| -rw-r--r-- | format.c | 25 | ||||
| -rw-r--r-- | html.c | 781 | ||||
| -rw-r--r-- | http.c | 2 | ||||
| -rw-r--r-- | httpd.c | 6 | ||||
| -rw-r--r-- | main.c | 42 | ||||
| -rw-r--r-- | mastoapi.c | 342 | ||||
| -rw-r--r-- | po/cs.po | 426 | ||||
| -rw-r--r-- | po/de_DE.po | 392 | ||||
| -rw-r--r-- | po/el_GR.po | 392 | ||||
| -rw-r--r-- | po/en.po | 392 | ||||
| -rw-r--r-- | po/es.po | 392 | ||||
| -rw-r--r-- | po/es_AR.po | 392 | ||||
| -rw-r--r-- | po/es_UY.po | 392 | ||||
| -rw-r--r-- | po/fi.po | 392 | ||||
| -rw-r--r-- | po/fr.po | 392 | ||||
| -rw-r--r-- | po/fy_NL.po | 392 | ||||
| -rw-r--r-- | po/it.po | 392 | ||||
| -rw-r--r-- | po/nl_NL.po | 392 | ||||
| -rw-r--r-- | po/pt_BR.po | 396 | ||||
| -rw-r--r-- | po/ru.po | 392 | ||||
| -rw-r--r-- | po/uk.po | 392 | ||||
| -rw-r--r-- | po/zh.po | 392 | ||||
| -rw-r--r-- | rss.c | 14 | ||||
| -rw-r--r-- | snac.c | 153 | ||||
| -rw-r--r-- | snac.h | 23 | ||||
| -rw-r--r-- | upgrade.c | 4 | ||||
| -rw-r--r-- | utils.c | 78 | ||||
| -rw-r--r-- | webfinger.c | 2 | ||||
| -rw-r--r-- | xs.h | 2 | ||||
| -rw-r--r-- | xs_curl.h | 2 | ||||
| -rw-r--r-- | xs_fcgi.h | 2 | ||||
| -rw-r--r-- | xs_glob.h | 2 | ||||
| -rw-r--r-- | xs_hex.h | 2 | ||||
| -rw-r--r-- | xs_html.h | 2 | ||||
| -rw-r--r-- | xs_http.h | 2 | ||||
| -rw-r--r-- | xs_httpd.h | 2 | ||||
| -rw-r--r-- | xs_io.h | 2 | ||||
| -rw-r--r-- | xs_json.h | 4 | ||||
| -rw-r--r-- | xs_list_tools.h | 169 | ||||
| -rw-r--r-- | xs_match.h | 2 | ||||
| -rw-r--r-- | xs_mime.h | 2 | ||||
| -rw-r--r-- | xs_openssl.h | 2 | ||||
| -rw-r--r-- | xs_po.h | 2 | ||||
| -rw-r--r-- | xs_random.h | 2 | ||||
| -rw-r--r-- | xs_regex.h | 2 | ||||
| -rw-r--r-- | xs_set.h | 2 | ||||
| -rw-r--r-- | xs_socket.h | 2 | ||||
| -rw-r--r-- | xs_time.h | 2 | ||||
| -rw-r--r-- | xs_unicode.h | 9 | ||||
| -rw-r--r-- | xs_unix_socket.h | 2 | ||||
| -rw-r--r-- | xs_url.h | 35 | ||||
| -rw-r--r-- | xs_version.h | 2 | ||||
| -rw-r--r-- | xs_webmention.h | 2 |
65 files changed, 5223 insertions, 3316 deletions
diff --git a/FEDERATION.md b/FEDERATION.md index 3e7ea31..02c97c1 100644 --- a/FEDERATION.md +++ b/FEDERATION.md | |||
| @@ -37,7 +37,7 @@ | |||
| 37 | ### Supported activities and objects | 37 | ### Supported activities and objects |
| 38 | 38 | ||
| 39 | - **Inbound**: `Follow`, `Accept`, `Create`, `Update`, `Delete`, `Announce`, `Like`, `EmojiReact`, `Undo` (for Follow/Like/Announce), and `Move` covering `Note`, `Question`, `Page`, `Article`, `Event`, and `Video`. | 39 | - **Inbound**: `Follow`, `Accept`, `Create`, `Update`, `Delete`, `Announce`, `Like`, `EmojiReact`, `Undo` (for Follow/Like/Announce), and `Move` covering `Note`, `Question`, `Page`, `Article`, `Event`, and `Video`. |
| 40 | - **Outbound**: the same set, except for `EmojiReact` (normalised into `Like` internally) and `Create` currently emits `Note` and `Question` objects. | 40 | - **Outbound**: the same set. `Create` currently emits `Note` and `Question` objects. |
| 41 | - Ordered collections: outboxes present the latest entries; follower/following collections hide membership by default. | 41 | - Ordered collections: outboxes present the latest entries; follower/following collections hide membership by default. |
| 42 | 42 | ||
| 43 | ### Delivery and moderation | 43 | ### Delivery and moderation |
| @@ -1,6 +1,6 @@ | |||
| 1 | MIT License | 1 | MIT License |
| 2 | 2 | ||
| 3 | Copyright (c) 2022 - 2025 grunfink et al. (Fediverse: @grunfink@comam.es) | 3 | Copyright (c) 2022 - 2026 grunfink et al. (Fediverse: @grunfink@comam.es) |
| 4 | 4 | ||
| 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: |
| 6 | 6 | ||
| @@ -46,7 +46,7 @@ update-po: | |||
| 46 | xgettext --omit-header -j -o $$a --language=C --keyword=L --from-code=utf-8 *.c ; \ | 46 | xgettext --omit-header -j -o $$a --language=C --keyword=L --from-code=utf-8 *.c ; \ |
| 47 | done | 47 | done |
| 48 | 48 | ||
| 49 | activitypub.o: activitypub.c xs.h xs_json.h xs_curl.h xs_mime.h \ | 49 | activitypub.o: activitypub.c xs.h xs_json.h xs_curl.h xs_url.h xs_mime.h \ |
| 50 | xs_openssl.h xs_regex.h xs_time.h xs_set.h xs_match.h xs_unicode.h \ | 50 | xs_openssl.h xs_regex.h xs_time.h xs_set.h xs_match.h xs_unicode.h \ |
| 51 | xs_webmention.h xs_http.h xs_http_codes.h snac.h | 51 | xs_webmention.h xs_http.h xs_http_codes.h snac.h |
| 52 | data.o: data.c xs.h xs_hex.h xs_io.h xs_json.h xs_openssl.h xs_glob.h \ | 52 | data.o: data.c xs.h xs_hex.h xs_io.h xs_json.h xs_openssl.h xs_glob.h \ |
| @@ -68,16 +68,16 @@ mastoapi.o: mastoapi.c xs.h xs_hex.h xs_openssl.h xs_json.h xs_io.h \ | |||
| 68 | xs_time.h xs_glob.h xs_set.h xs_random.h xs_url.h xs_mime.h xs_match.h \ | 68 | xs_time.h xs_glob.h xs_set.h xs_random.h xs_url.h xs_mime.h xs_match.h \ |
| 69 | xs_unicode.h xs_http.h xs_http_codes.h snac.h | 69 | xs_unicode.h xs_http.h xs_http_codes.h snac.h |
| 70 | rss.o: rss.c xs.h xs_html.h xs_regex.h xs_time.h xs_match.h xs_curl.h \ | 70 | rss.o: rss.c xs.h xs_html.h xs_regex.h xs_time.h xs_match.h xs_curl.h \ |
| 71 | xs_openssl.h xs_json.h xs_http.h xs_http_codes.h snac.h | 71 | xs_openssl.h xs_json.h xs_http.h xs_http_codes.h xs_unicode.h snac.h |
| 72 | sandbox.o: sandbox.c xs.h snac.h | 72 | sandbox.o: sandbox.c xs.h snac.h |
| 73 | snac.o: snac.c xs.h xs_hex.h xs_io.h xs_unicode_tbl.h xs_unicode.h \ | 73 | snac.o: snac.c xs.h xs_hex.h xs_io.h xs_unicode_tbl.h xs_unicode.h \ |
| 74 | xs_json.h xs_curl.h xs_openssl.h xs_socket.h xs_unix_socket.h xs_url.h \ | 74 | xs_json.h xs_curl.h xs_openssl.h xs_socket.h xs_unix_socket.h xs_url.h \ |
| 75 | xs_http.h xs_http_codes.h xs_httpd.h xs_mime.h xs_regex.h xs_set.h \ | 75 | xs_http.h xs_http_codes.h xs_httpd.h xs_mime.h xs_regex.h xs_set.h \ |
| 76 | xs_time.h xs_glob.h xs_random.h xs_match.h xs_fcgi.h xs_html.h xs_po.h \ | 76 | xs_time.h xs_glob.h xs_random.h xs_match.h xs_fcgi.h xs_html.h xs_po.h \ |
| 77 | xs_webmention.h snac.h | 77 | xs_webmention.h xs_list_tools.h snac.h |
| 78 | upgrade.o: upgrade.c xs.h xs_io.h xs_json.h xs_glob.h snac.h | 78 | upgrade.o: upgrade.c xs.h xs_io.h xs_json.h xs_glob.h snac.h |
| 79 | utils.o: utils.c xs.h xs_io.h xs_json.h xs_time.h xs_openssl.h \ | 79 | utils.o: utils.c xs.h xs_io.h xs_json.h xs_time.h xs_openssl.h \ |
| 80 | xs_random.h xs_glob.h xs_curl.h xs_regex.h xs_http.h xs_http_codes.h \ | 80 | xs_random.h xs_glob.h xs_curl.h xs_regex.h xs_http.h xs_http_codes.h \ |
| 81 | snac.h | 81 | xs_list_tools.h xs_set.h snac.h |
| 82 | webfinger.o: webfinger.c xs.h xs_json.h xs_curl.h xs_mime.h xs_http.h \ | 82 | webfinger.o: webfinger.c xs.h xs_json.h xs_curl.h xs_mime.h xs_http.h \ |
| 83 | xs_http_codes.h snac.h | 83 | xs_http_codes.h snac.h |
diff --git a/Makefile.NetBSD b/Makefile.NetBSD index b5005ee..e752910 100644 --- a/Makefile.NetBSD +++ b/Makefile.NetBSD | |||
| @@ -35,7 +35,7 @@ uninstall: | |||
| 35 | rm $(PREFIX_MAN)/man5/snac.5 | 35 | rm $(PREFIX_MAN)/man5/snac.5 |
| 36 | rm $(PREFIX_MAN)/man8/snac.8 | 36 | rm $(PREFIX_MAN)/man8/snac.8 |
| 37 | 37 | ||
| 38 | activitypub.o: activitypub.c xs.h xs_json.h xs_curl.h xs_mime.h \ | 38 | activitypub.o: activitypub.c xs.h xs_json.h xs_curl.h xs_url.h xs_mime.h \ |
| 39 | xs_openssl.h xs_regex.h xs_time.h xs_set.h xs_match.h xs_unicode.h \ | 39 | xs_openssl.h xs_regex.h xs_time.h xs_set.h xs_match.h xs_unicode.h \ |
| 40 | xs_webmention.h xs_http.h xs_http_codes.h snac.h | 40 | xs_webmention.h xs_http.h xs_http_codes.h snac.h |
| 41 | data.o: data.c xs.h xs_hex.h xs_io.h xs_json.h xs_openssl.h xs_glob.h \ | 41 | data.o: data.c xs.h xs_hex.h xs_io.h xs_json.h xs_openssl.h xs_glob.h \ |
| @@ -57,16 +57,16 @@ mastoapi.o: mastoapi.c xs.h xs_hex.h xs_openssl.h xs_json.h xs_io.h \ | |||
| 57 | xs_time.h xs_glob.h xs_set.h xs_random.h xs_url.h xs_mime.h xs_match.h \ | 57 | xs_time.h xs_glob.h xs_set.h xs_random.h xs_url.h xs_mime.h xs_match.h \ |
| 58 | xs_unicode.h xs_http.h xs_http_codes.h snac.h | 58 | xs_unicode.h xs_http.h xs_http_codes.h snac.h |
| 59 | rss.o: rss.c xs.h xs_html.h xs_regex.h xs_time.h xs_match.h xs_curl.h \ | 59 | rss.o: rss.c xs.h xs_html.h xs_regex.h xs_time.h xs_match.h xs_curl.h \ |
| 60 | xs_openssl.h xs_json.h xs_http.h xs_http_codes.h snac.h | 60 | xs_openssl.h xs_json.h xs_http.h xs_http_codes.h xs_unicode.h snac.h |
| 61 | sandbox.o: sandbox.c xs.h snac.h | 61 | sandbox.o: sandbox.c xs.h snac.h |
| 62 | snac.o: snac.c xs.h xs_hex.h xs_io.h xs_unicode_tbl.h xs_unicode.h \ | 62 | snac.o: snac.c xs.h xs_hex.h xs_io.h xs_unicode_tbl.h xs_unicode.h \ |
| 63 | xs_json.h xs_curl.h xs_openssl.h xs_socket.h xs_unix_socket.h xs_url.h \ | 63 | xs_json.h xs_curl.h xs_openssl.h xs_socket.h xs_unix_socket.h xs_url.h \ |
| 64 | xs_http.h xs_http_codes.h xs_httpd.h xs_mime.h xs_regex.h xs_set.h \ | 64 | xs_http.h xs_http_codes.h xs_httpd.h xs_mime.h xs_regex.h xs_set.h \ |
| 65 | xs_time.h xs_glob.h xs_random.h xs_match.h xs_fcgi.h xs_html.h xs_po.h \ | 65 | xs_time.h xs_glob.h xs_random.h xs_match.h xs_fcgi.h xs_html.h xs_po.h \ |
| 66 | xs_webmention.h snac.h | 66 | xs_webmention.h xs_list_tools.h snac.h |
| 67 | upgrade.o: upgrade.c xs.h xs_io.h xs_json.h xs_glob.h snac.h | 67 | upgrade.o: upgrade.c xs.h xs_io.h xs_json.h xs_glob.h snac.h |
| 68 | utils.o: utils.c xs.h xs_io.h xs_json.h xs_time.h xs_openssl.h \ | 68 | utils.o: utils.c xs.h xs_io.h xs_json.h xs_time.h xs_openssl.h \ |
| 69 | xs_random.h xs_glob.h xs_curl.h xs_regex.h xs_http.h xs_http_codes.h \ | 69 | xs_random.h xs_glob.h xs_curl.h xs_regex.h xs_http.h xs_http_codes.h \ |
| 70 | snac.h | 70 | xs_list_tools.h xs_set.h snac.h |
| 71 | webfinger.o: webfinger.c xs.h xs_json.h xs_curl.h xs_mime.h xs_http.h \ | 71 | webfinger.o: webfinger.c xs.h xs_json.h xs_curl.h xs_mime.h xs_http.h \ |
| 72 | xs_http_codes.h snac.h | 72 | xs_http_codes.h snac.h |
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ba86212..9f2ffd6 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md | |||
| @@ -1,13 +1,63 @@ | |||
| 1 | # Release Notes | 1 | # Release Notes |
| 2 | 2 | ||
| 3 | ## UNRELEASED | 3 | ## 2.89 |
| 4 | |||
| 5 | Fixed crash in pronouns processing (contributed by byte). | ||
| 6 | |||
| 7 | Added counters in the people page (contributed by byte). | ||
| 8 | |||
| 9 | New command-line option `refresh`, to refresh all follower and following `Actor` objects, marking them as broken if they are. | ||
| 10 | |||
| 11 | ## 2.88 | ||
| 12 | |||
| 13 | If `disable_emojireact` is set to `true` in `server.json`, EmojiReacts (incoming and outgoing) are totally disabled. | ||
| 14 | |||
| 15 | New command-line option `top_ten`, that returns the top ten most popular posts by a user (ordered by the sum of likes and boosts) (contributed by aov). | ||
| 16 | |||
| 17 | Added a new set of per-user muted words; if a post contains any of them, it's hidden behind a dropdown (contributed by byte). | ||
| 18 | |||
| 19 | If an account has a metadata named `pronouns`, it's shown by the name (contributed by violette). | ||
| 20 | |||
| 21 | Mastodon API: children of a post are returned recursively, not just the first level (contributed by violette). | ||
| 22 | |||
| 23 | Implemented optional metadata stripping for images and videos using external tools (contributed by Stefano Marinelli). | ||
| 24 | |||
| 25 | ## 2.87 | ||
| 26 | |||
| 27 | Hide EmojiReacts from muted actors and blocked instances. | ||
| 28 | |||
| 29 | ## 2.86 | ||
| 30 | |||
| 31 | Truncate RSS titles at UTF-8 character boundaries (contributed by lxo). | ||
| 32 | |||
| 33 | Link contacts to single-user people pages. Also, user's posts are shown (contributed by lxo). | ||
| 34 | |||
| 35 | Added emoji reactions (contributed by violette). | ||
| 36 | |||
| 37 | Mastodon API: Fix for some client notifications (contributed by violette), fix for a status visibility error (contributed by fruye). | ||
| 38 | |||
| 39 | If the query variable `terse` of a public post page is set to anything, no header is shown. | ||
| 40 | |||
| 41 | Fixed search failures when the query string has any leading blank. | ||
| 42 | |||
| 43 | ## 2.85 | ||
| 4 | 44 | ||
| 5 | Quoted posts are now shown. | 45 | Quoted posts are now shown. |
| 6 | 46 | ||
| 47 | Added metadata to remote users in the people page (contributed by dandelions). | ||
| 48 | |||
| 7 | Fixed memory leak (contributed by dandelions). | 49 | Fixed memory leak (contributed by dandelions). |
| 8 | 50 | ||
| 51 | Fixed user matching (contributed by rakoo). | ||
| 52 | |||
| 53 | Rendering visibility conditionally, with lesser reach if needed (contributed by byte). | ||
| 54 | |||
| 55 | Added a button next to a follow notification to follow back. | ||
| 56 | |||
| 9 | Fixed typo in man page (contributed by spky). | 57 | Fixed typo in man page (contributed by spky). |
| 10 | 58 | ||
| 59 | Updated Czech and German translations (contributed by pmjv and zen). | ||
| 60 | |||
| 11 | ## 2.84 | 61 | ## 2.84 |
| 12 | 62 | ||
| 13 | Implemented more scopes to match other ActivityPub implementations (public, unlisted, followers-only and direct message) (contributed by byte). | 63 | Implemented more scopes to match other ActivityPub implementations (public, unlisted, followers-only and direct message) (contributed by byte). |
| @@ -6,10 +6,6 @@ It seems that Microsoft is planning to laminate Basic HTTP Auth, so make a plan, | |||
| 6 | 6 | ||
| 7 | Investigate the problem with boosts inside the same instance (see https://codeberg.org/grunfink/snac2/issues/214). | 7 | Investigate the problem with boosts inside the same instance (see https://codeberg.org/grunfink/snac2/issues/214). |
| 8 | 8 | ||
| 9 | Editing / Updating a post does not index newly added hashtags. | ||
| 10 | |||
| 11 | Unfollowing guppe groups seems to work (http status of 200), but messages continue to arrive as if it didn't. | ||
| 12 | |||
| 13 | Important: deleting a follower should do more that just delete the object, see https://codeberg.org/grunfink/snac2/issues/43#issuecomment-956721 | 9 | Important: deleting a follower should do more that just delete the object, see https://codeberg.org/grunfink/snac2/issues/43#issuecomment-956721 |
| 14 | 10 | ||
| 15 | ## Wishlist | 11 | ## Wishlist |
| @@ -32,10 +28,6 @@ Track "FEP-ef61: Portable Objects" https://codeberg.org/fediverse/fep/src/branch | |||
| 32 | 28 | ||
| 33 | Integrate "Added handling for International Domain Names" PR https://codeberg.org/grunfink/snac2/pulls/104 | 29 | Integrate "Added handling for International Domain Names" PR https://codeberg.org/grunfink/snac2/pulls/104 |
| 34 | 30 | ||
| 35 | Do something about Akkoma and Misskey's quoted replies (they use the `quoteUrl` field instead of `inReplyTo`). | ||
| 36 | |||
| 37 | Take a look at crashes in the brittle Mastodon official app (crashes when hitting the reply button, crashes or 'ownVotes is null' errors when trying to show polls). | ||
| 38 | |||
| 39 | The 'history' pages are just monthly HTML snapshots of the local timeline. This is ok and cheap and easy, but is problematic if you e.g. intentionally delete a post because it will remain there in the history forever. If you activate local timeline purging, purged entries will remain in the history as 'ghosts', which may or may not be what the user wants. | 31 | The 'history' pages are just monthly HTML snapshots of the local timeline. This is ok and cheap and easy, but is problematic if you e.g. intentionally delete a post because it will remain there in the history forever. If you activate local timeline purging, purged entries will remain in the history as 'ghosts', which may or may not be what the user wants. |
| 40 | 32 | ||
| 41 | ## Closed | 33 | ## Closed |
| @@ -381,3 +373,11 @@ Add command-line tools for creating and manipulating lists (2025-04-18T10:04:41+ | |||
| 381 | Do a [Webmention](https://www.w3.org/TR/webmention/) to every link written in a post (2025-05-04T11:16:21+0200). | 373 | Do a [Webmention](https://www.w3.org/TR/webmention/) to every link written in a post (2025-05-04T11:16:21+0200). |
| 382 | 374 | ||
| 383 | The local purge should generate `Delete` activities for local posts (2025-07-25T18:55:16+0200). | 375 | The local purge should generate `Delete` activities for local posts (2025-07-25T18:55:16+0200). |
| 376 | |||
| 377 | Unfollowing guppe groups seems to work (http status of 200), but messages continue to arrive as if it didn't. (No longer relevant, as guppe seems to not exist anymore) (2025-12-09T05:31:56+0100). | ||
| 378 | |||
| 379 | Do something about Akkoma and Misskey's quoted replies (they use the `quoteUrl` field instead of `inReplyTo`) (2025-12-09T05:31:56+0100). | ||
| 380 | |||
| 381 | Take a look at crashes in the brittle Mastodon official app (crashes when hitting the reply button, crashes or 'ownVotes is null' errors when trying to show polls) (2025-12-09T05:31:56+0100). | ||
| 382 | |||
| 383 | Editing / Updating a post does not index newly added hashtags (2025-12-19T15:29:38+0100). | ||
diff --git a/activitypub.c b/activitypub.c index 2c0fa2e..c34e510 100644 --- a/activitypub.c +++ b/activitypub.c | |||
| @@ -1,9 +1,10 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_json.h" | 5 | #include "xs_json.h" |
| 6 | #include "xs_curl.h" | 6 | #include "xs_curl.h" |
| 7 | #include "xs_url.h" | ||
| 7 | #include "xs_mime.h" | 8 | #include "xs_mime.h" |
| 8 | #include "xs_openssl.h" | 9 | #include "xs_openssl.h" |
| 9 | #include "xs_regex.h" | 10 | #include "xs_regex.h" |
| @@ -779,7 +780,7 @@ int is_msg_for_me(snac *snac, const xs_dict *c_msg) | |||
| 779 | object_get(object, &obj); | 780 | object_get(object, &obj); |
| 780 | 781 | ||
| 781 | /* if it's about one of our posts, accept it */ | 782 | /* if it's about one of our posts, accept it */ |
| 782 | if (xs_startswith(object, snac->actor)) | 783 | if (is_msg_mine(snac, object)) |
| 783 | return 2; | 784 | return 2; |
| 784 | 785 | ||
| 785 | /* blocked by hashtag? */ | 786 | /* blocked by hashtag? */ |
| @@ -1242,7 +1243,7 @@ void notify(snac *snac, const char *type, const char *utype, const char *actor, | |||
| 1242 | 1243 | ||
| 1243 | if (xs_match(type, "Like|Announce|EmojiReact")) { | 1244 | if (xs_match(type, "Like|Announce|EmojiReact")) { |
| 1244 | /* if it's not an admiration about something by us, done */ | 1245 | /* if it's not an admiration about something by us, done */ |
| 1245 | if (xs_is_null(objid) || !xs_startswith(objid, snac->actor)) | 1246 | if (xs_is_null(objid) || !is_msg_mine(snac, objid)) |
| 1246 | return; | 1247 | return; |
| 1247 | 1248 | ||
| 1248 | /* if it's an announce by our own relay, done */ | 1249 | /* if it's an announce by our own relay, done */ |
| @@ -1267,7 +1268,7 @@ void notify(snac *snac, const char *type, const char *utype, const char *actor, | |||
| 1267 | return; | 1268 | return; |
| 1268 | 1269 | ||
| 1269 | /* if it's not ours and we didn't vote, discard */ | 1270 | /* if it's not ours and we didn't vote, discard */ |
| 1270 | if (!xs_startswith(poll_id, snac->actor) && !was_question_voted(snac, poll_id)) | 1271 | if (!is_msg_mine(snac, poll_id) && !was_question_voted(snac, poll_id)) |
| 1271 | return; | 1272 | return; |
| 1272 | } | 1273 | } |
| 1273 | 1274 | ||
| @@ -1530,11 +1531,24 @@ xs_dict *msg_update(snac *snac, const xs_dict *object) | |||
| 1530 | 1531 | ||
| 1531 | 1532 | ||
| 1532 | xs_dict *msg_admiration(snac *snac, const char *object, const char *type) | 1533 | xs_dict *msg_admiration(snac *snac, const char *object, const char *type) |
| 1533 | /* creates a Like or Announce message */ | 1534 | /* creates a Like, Announce or EmojiReact message */ |
| 1534 | { | 1535 | { |
| 1535 | xs *a_msg = NULL; | 1536 | xs *a_msg = NULL; |
| 1536 | xs_dict *msg = NULL; | 1537 | xs_dict *msg = NULL; |
| 1537 | xs *wrk = NULL; | 1538 | xs *wrk = NULL; |
| 1539 | char t = 0; | ||
| 1540 | |||
| 1541 | switch (*type) { | ||
| 1542 | case 'L': | ||
| 1543 | t = 'l'; | ||
| 1544 | break; | ||
| 1545 | case 'A': | ||
| 1546 | t = 'a'; | ||
| 1547 | break; | ||
| 1548 | case 'E': | ||
| 1549 | t = 'e'; | ||
| 1550 | break; | ||
| 1551 | } | ||
| 1538 | 1552 | ||
| 1539 | /* call the object */ | 1553 | /* call the object */ |
| 1540 | timeline_request(snac, &object, &wrk, 0); | 1554 | timeline_request(snac, &object, &wrk, 0); |
| @@ -1542,7 +1556,7 @@ xs_dict *msg_admiration(snac *snac, const char *object, const char *type) | |||
| 1542 | if (valid_status(object_get(object, &a_msg))) { | 1556 | if (valid_status(object_get(object, &a_msg))) { |
| 1543 | xs *rcpts = xs_list_new(); | 1557 | xs *rcpts = xs_list_new(); |
| 1544 | xs *o_md5 = xs_md5_hex(object, strlen(object)); | 1558 | xs *o_md5 = xs_md5_hex(object, strlen(object)); |
| 1545 | xs *id = xs_fmt("%s/%s/%s", snac->actor, *type == 'L' ? "l" : "a", o_md5); | 1559 | xs *id = xs_fmt("%s/%c/%s", snac->actor, t, o_md5); |
| 1546 | 1560 | ||
| 1547 | msg = msg_base(snac, type, id, snac->actor, "@now", object); | 1561 | msg = msg_base(snac, type, id, snac->actor, "@now", object); |
| 1548 | 1562 | ||
| @@ -1586,6 +1600,138 @@ xs_dict *msg_repulsion(snac *user, const char *id, const char *type) | |||
| 1586 | return msg; | 1600 | return msg; |
| 1587 | } | 1601 | } |
| 1588 | 1602 | ||
| 1603 | xs_dict *msg_emoji_init(snac *snac, const char *mid, const char *eid_o) | ||
| 1604 | /* creates an emoji reaction from a local user */ | ||
| 1605 | { | ||
| 1606 | xs_dict *n_msg = msg_admiration(snac, mid, "EmojiReact"); | ||
| 1607 | |||
| 1608 | xs *eid = xs_strip_chars_i(xs_dup(eid_o), ":"); | ||
| 1609 | xs *content = NULL; | ||
| 1610 | xs *tag = xs_list_new(); | ||
| 1611 | xs *dict = xs_dict_new(); | ||
| 1612 | xs *icon = xs_dict_new(); | ||
| 1613 | xs *accounts = xs_list_new(); | ||
| 1614 | xs *emjs = emojis_rm_categories(); | ||
| 1615 | |||
| 1616 | /* may be a default emoji */ | ||
| 1617 | xs *eidd = xs_dup(eid); | ||
| 1618 | const char *eidda = eid; | ||
| 1619 | |||
| 1620 | if (xs_is_emoji(xs_utf8_dec(&eidda))) | ||
| 1621 | content = xs_dup(eid); | ||
| 1622 | |||
| 1623 | else if (*eid == '%') { | ||
| 1624 | content = xs_url_dec_emoji(xs_dup(eid)); | ||
| 1625 | if (content == NULL) { | ||
| 1626 | return NULL; | ||
| 1627 | } | ||
| 1628 | } | ||
| 1629 | else { | ||
| 1630 | content = xs_fmt(":%s:", eid); | ||
| 1631 | const char *emo = xs_dict_get(emjs, content); | ||
| 1632 | |||
| 1633 | if (emo == NULL) | ||
| 1634 | return NULL; | ||
| 1635 | |||
| 1636 | if (xs_match(emo, "https://*|http://*")) { /* emoji is an URL to an image */ | ||
| 1637 | icon = xs_dict_set(icon, "type", "Image"); | ||
| 1638 | icon = xs_dict_set(icon, "url", emo); | ||
| 1639 | dict = xs_dict_set(dict, "icon", icon); | ||
| 1640 | |||
| 1641 | dict = xs_dict_set(dict, "id", emo); | ||
| 1642 | dict = xs_dict_set(dict, "name", content); | ||
| 1643 | dict = xs_dict_set(dict, "type", "Emoji"); | ||
| 1644 | tag = xs_list_append(tag, dict); | ||
| 1645 | } | ||
| 1646 | else | ||
| 1647 | if (xs_startswith(emo, "&#")) { | ||
| 1648 | /* snac default emoji as an HTML entity: decode */ | ||
| 1649 | content = xs_free(content); | ||
| 1650 | |||
| 1651 | xs *s1 = xs_strip_chars_i(xs_dup(emo), "&#"); | ||
| 1652 | unsigned int cpoint = 0; | ||
| 1653 | sscanf(s1, "%u;", &cpoint); | ||
| 1654 | |||
| 1655 | if (cpoint) | ||
| 1656 | content = xs_utf8_cat(xs_str_new(NULL), cpoint); | ||
| 1657 | else | ||
| 1658 | content = xs_dup(emo); | ||
| 1659 | } | ||
| 1660 | else { | ||
| 1661 | /* use as it is and hope for the best */ | ||
| 1662 | xs_free(content); | ||
| 1663 | content = xs_dup(emo); | ||
| 1664 | } | ||
| 1665 | } | ||
| 1666 | |||
| 1667 | accounts = xs_list_append(accounts, snac->actor); | ||
| 1668 | |||
| 1669 | n_msg = xs_dict_set(n_msg, "content", content); | ||
| 1670 | n_msg = xs_dict_set(n_msg, "accounts", accounts); | ||
| 1671 | n_msg = xs_dict_set(n_msg, "attributedTo", xs_list_get(xs_dict_get(n_msg, "to"), 1)); | ||
| 1672 | n_msg = xs_dict_set(n_msg, "accountId", snac->uid); | ||
| 1673 | n_msg = xs_dict_set(n_msg, "tag", tag); | ||
| 1674 | |||
| 1675 | int ret = timeline_admire(snac, xs_dict_get(n_msg, "object"), snac->actor, 1, n_msg); | ||
| 1676 | if (ret == 200 || ret == 201) { | ||
| 1677 | enqueue_message(snac, n_msg); | ||
| 1678 | return n_msg; | ||
| 1679 | } | ||
| 1680 | |||
| 1681 | return NULL; | ||
| 1682 | } | ||
| 1683 | |||
| 1684 | xs_dict *msg_emoji_unreact(snac *user, const char *mid, const char *eid) | ||
| 1685 | /* creates an Undo + emoji reaction message */ | ||
| 1686 | { | ||
| 1687 | xs *a_msg = NULL; | ||
| 1688 | xs_dict *msg = NULL; | ||
| 1689 | |||
| 1690 | if (valid_status(object_get(mid, &a_msg))) { | ||
| 1691 | /* create a clone of the original admiration message */ | ||
| 1692 | xs *object = msg_admiration(user, mid, "EmojiReact"); | ||
| 1693 | |||
| 1694 | /* delete the published date */ | ||
| 1695 | object = xs_dict_del(object, "published"); | ||
| 1696 | |||
| 1697 | /* create an undo message for this object */ | ||
| 1698 | msg = msg_undo(user, object); | ||
| 1699 | |||
| 1700 | /* copy the 'to' field */ | ||
| 1701 | msg = xs_dict_set(msg, "to", xs_dict_get(object, "to")); | ||
| 1702 | } | ||
| 1703 | |||
| 1704 | xs *emotes = object_get_emoji_reacts(mid); | ||
| 1705 | const char *v; | ||
| 1706 | int c = 0; | ||
| 1707 | |||
| 1708 | /* may be a default emoji */ | ||
| 1709 | if (strlen(eid) == 12 && *eid == '%') { | ||
| 1710 | eid = xs_url_dec(eid); | ||
| 1711 | if (eid == NULL) { | ||
| 1712 | return NULL; | ||
| 1713 | } | ||
| 1714 | } | ||
| 1715 | |||
| 1716 | /* lets get all emotes for this msg, and compare it to our content */ | ||
| 1717 | while (xs_list_next(emotes, &v, &c)) { | ||
| 1718 | xs_dict *e = NULL; | ||
| 1719 | if (valid_status(object_get_by_md5(v, &e))) { | ||
| 1720 | const char *content = xs_dict_get(e, "content"); | ||
| 1721 | const char *id = xs_dict_get(e, "id"); | ||
| 1722 | const char *actor = xs_dict_get(e, "actor"); | ||
| 1723 | /* maybe formated as :{emoteName}: too */ | ||
| 1724 | if (xs_str_in(eid, content) != -1) | ||
| 1725 | if (strcmp(user->actor, actor) == 0) { | ||
| 1726 | object_rm_emoji_react(mid, id); | ||
| 1727 | return msg; | ||
| 1728 | } | ||
| 1729 | } | ||
| 1730 | } | ||
| 1731 | |||
| 1732 | return NULL; | ||
| 1733 | } | ||
| 1734 | |||
| 1589 | 1735 | ||
| 1590 | xs_dict *msg_actor_place(snac *user, const char *label) | 1736 | xs_dict *msg_actor_place(snac *user, const char *label) |
| 1591 | /* creates a Place object, if the user has a location defined */ | 1737 | /* creates a Place object, if the user has a location defined */ |
| @@ -2432,6 +2578,11 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req) | |||
| 2432 | return -1; | 2578 | return -1; |
| 2433 | } | 2579 | } |
| 2434 | 2580 | ||
| 2581 | if (strcmp(type, "EmojiReact") == 0 && xs_is_true(xs_dict_get(srv_config, "disable_emojireact"))) { | ||
| 2582 | srv_log(xs_fmt("Dropping EmojiReact from %s due to admin configuration", actor)); | ||
| 2583 | return -1; | ||
| 2584 | } | ||
| 2585 | |||
| 2435 | const char *object, *utype; | 2586 | const char *object, *utype; |
| 2436 | 2587 | ||
| 2437 | object = xs_dict_get(msg, "object"); | 2588 | object = xs_dict_get(msg, "object"); |
| @@ -2605,6 +2756,16 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req) | |||
| 2605 | else | 2756 | else |
| 2606 | if (strcmp(type, "Undo") == 0) { /** **/ | 2757 | if (strcmp(type, "Undo") == 0) { /** **/ |
| 2607 | const char *id = xs_dict_get(object, "object"); | 2758 | const char *id = xs_dict_get(object, "object"); |
| 2759 | const char *content = xs_dict_get(object, "content"); | ||
| 2760 | /* misskey sends emojis as like + tag */ | ||
| 2761 | xs *cd = xs_dup(content); | ||
| 2762 | const char *sna = cd; | ||
| 2763 | const xs_dict *tag = xs_dict_get(object, "tag"); | ||
| 2764 | unsigned int utf = xs_utf8_dec((const char **)&sna); | ||
| 2765 | |||
| 2766 | int isEmoji = 0; | ||
| 2767 | if (xs_is_emoji(utf) || (tag && xs_list_len(tag) > 0)) | ||
| 2768 | isEmoji = 1; | ||
| 2608 | 2769 | ||
| 2609 | if (xs_type(object) != XSTYPE_DICT) { | 2770 | if (xs_type(object) != XSTYPE_DICT) { |
| 2610 | snac_debug(snac, 1, xs_fmt("undo: overriding utype %s | %s | %s", | 2771 | snac_debug(snac, 1, xs_fmt("undo: overriding utype %s | %s | %s", |
| @@ -2633,8 +2794,19 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req) | |||
| 2633 | else | 2794 | else |
| 2634 | snac_log(snac, xs_fmt("error deleting follower %s", actor)); | 2795 | snac_log(snac, xs_fmt("error deleting follower %s", actor)); |
| 2635 | } | 2796 | } |
| 2797 | /* *key emojis are like w/ Emoji tag */ | ||
| 2798 | else | ||
| 2799 | if ((isEmoji || strcmp(utype, "EmojiReact") == 0) && | ||
| 2800 | (content && strcmp(content, "♥") != 0)) { | ||
| 2801 | const xs_val *mid = xs_dict_get(object, "id"); | ||
| 2802 | int status = object_rm_emoji_react((char *)id, mid); | ||
| 2803 | /* ensure *key notifications type */ | ||
| 2804 | utype = "EmojiReact"; | ||
| 2805 | |||
| 2806 | snac_log(snac, xs_fmt("Undo 'EmojiReact' for %s %d", id, status)); | ||
| 2807 | } | ||
| 2636 | else | 2808 | else |
| 2637 | if (strcmp(utype, "Like") == 0 || strcmp(utype, "EmojiReact") == 0) { /** **/ | 2809 | if (strcmp(utype, "Like") == 0) { /** **/ |
| 2638 | int status = object_unadmire(id, actor, 1); | 2810 | int status = object_unadmire(id, actor, 1); |
| 2639 | 2811 | ||
| 2640 | snac_log(snac, xs_fmt("Undo '%s' for %s %d", utype, id, status)); | 2812 | snac_log(snac, xs_fmt("Undo '%s' for %s %d", utype, id, status)); |
| @@ -2771,13 +2943,22 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req) | |||
| 2771 | } | 2943 | } |
| 2772 | else | 2944 | else |
| 2773 | if (strcmp(type, "Like") == 0 || strcmp(type, "EmojiReact") == 0) { /** **/ | 2945 | if (strcmp(type, "Like") == 0 || strcmp(type, "EmojiReact") == 0) { /** **/ |
| 2946 | /* misskey sends emojis as Like + tag. | ||
| 2947 | * It is easier to handle them both at the same time. */ | ||
| 2948 | const char *sna = xs_dict_get(msg, "content"); | ||
| 2949 | const xs_dict *tag = xs_dict_get(msg, "tag"); | ||
| 2950 | unsigned int utf = xs_utf8_dec((const char **)&sna); | ||
| 2951 | |||
| 2952 | if (xs_is_emoji(utf) || (tag && xs_list_len(tag) > 0)) | ||
| 2953 | type = "EmojiReact"; | ||
| 2954 | |||
| 2774 | if (xs_type(object) == XSTYPE_DICT) | 2955 | if (xs_type(object) == XSTYPE_DICT) |
| 2775 | object = xs_dict_get(object, "id"); | 2956 | object = xs_dict_get(object, "id"); |
| 2776 | 2957 | ||
| 2777 | if (xs_is_null(object)) | 2958 | if (xs_is_null(object)) |
| 2778 | snac_log(snac, xs_fmt("malformed message: no 'id' field")); | 2959 | snac_log(snac, xs_fmt("malformed message: no 'id' field")); |
| 2779 | else | 2960 | else |
| 2780 | if (timeline_admire(snac, object, actor, 1) == HTTP_STATUS_CREATED) | 2961 | if (timeline_admire(snac, object, actor, 1, msg) == HTTP_STATUS_CREATED) |
| 2781 | snac_log(snac, xs_fmt("new '%s' %s %s", type, actor, object)); | 2962 | snac_log(snac, xs_fmt("new '%s' %s %s", type, actor, object)); |
| 2782 | else | 2963 | else |
| 2783 | snac_log(snac, xs_fmt("repeated '%s' from %s to %s", type, actor, object)); | 2964 | snac_log(snac, xs_fmt("repeated '%s' from %s to %s", type, actor, object)); |
| @@ -2792,10 +2973,10 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req) | |||
| 2792 | if (xs_is_null(object)) | 2973 | if (xs_is_null(object)) |
| 2793 | snac_log(snac, xs_fmt("malformed message: no 'id' field")); | 2974 | snac_log(snac, xs_fmt("malformed message: no 'id' field")); |
| 2794 | else | 2975 | else |
| 2795 | if (is_muted(snac, actor) && !xs_startswith(object, snac->actor)) | 2976 | if (is_muted(snac, actor) && !is_msg_mine(snac, object)) |
| 2796 | snac_log(snac, xs_fmt("dropped 'Announce' from muted actor %s", actor)); | 2977 | snac_log(snac, xs_fmt("dropped 'Announce' from muted actor %s", actor)); |
| 2797 | else | 2978 | else |
| 2798 | if (is_limited(snac, actor) && !xs_startswith(object, snac->actor)) | 2979 | if (is_limited(snac, actor) && !is_msg_mine(snac, object)) |
| 2799 | snac_log(snac, xs_fmt("dropped 'Announce' from limited actor %s", actor)); | 2980 | snac_log(snac, xs_fmt("dropped 'Announce' from limited actor %s", actor)); |
| 2800 | else { | 2981 | else { |
| 2801 | xs *a_msg = NULL; | 2982 | xs *a_msg = NULL; |
| @@ -2818,7 +2999,7 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req) | |||
| 2818 | xs *this_relay = xs_fmt("%s/relay", srv_baseurl); | 2999 | xs *this_relay = xs_fmt("%s/relay", srv_baseurl); |
| 2819 | 3000 | ||
| 2820 | if (strcmp(actor, this_relay) != 0) { | 3001 | if (strcmp(actor, this_relay) != 0) { |
| 2821 | if (valid_status(timeline_admire(snac, object, actor, 0))) | 3002 | if (valid_status(timeline_admire(snac, object, actor, 0, a_msg))) |
| 2822 | snac_log(snac, xs_fmt("new 'Announce' %s %s", actor, object)); | 3003 | snac_log(snac, xs_fmt("new 'Announce' %s %s", actor, object)); |
| 2823 | else | 3004 | else |
| 2824 | snac_log(snac, xs_fmt("repeated 'Announce' from %s to %s", | 3005 | snac_log(snac, xs_fmt("repeated 'Announce' from %s to %s", |
| @@ -2903,7 +3084,7 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req) | |||
| 2903 | snac_log(snac, xs_fmt("malformed message: no 'id' field")); | 3084 | snac_log(snac, xs_fmt("malformed message: no 'id' field")); |
| 2904 | else | 3085 | else |
| 2905 | if (object_here(object)) { | 3086 | if (object_here(object)) { |
| 2906 | if (xs_startswith(object, srv_baseurl) && !xs_startswith(object, actor)) | 3087 | if (xs_startswith(object, srv_baseurl) && !is_msg_mine(snac, object)) |
| 2907 | snac_log(snac, xs_fmt("ignored incorrect 'Delete' %s %s", actor, object)); | 3088 | snac_log(snac, xs_fmt("ignored incorrect 'Delete' %s %s", actor, object)); |
| 2908 | else { | 3089 | else { |
| 2909 | timeline_del(snac, object); | 3090 | timeline_del(snac, object); |
| @@ -3214,7 +3395,7 @@ void process_user_queue_item(snac *user, xs_dict *q_item) | |||
| 3214 | actor_add(actor, actor_o); | 3395 | actor_add(actor, actor_o); |
| 3215 | } | 3396 | } |
| 3216 | else { | 3397 | else { |
| 3217 | if (status == HTTP_STATUS_GONE) { | 3398 | if (status == HTTP_STATUS_GONE || status == HTTP_STATUS_NOT_FOUND) { |
| 3218 | actor_failure(actor, 1); | 3399 | actor_failure(actor, 1); |
| 3219 | snac_log(user, xs_fmt("actor_refresh marking actor %s as broken %d", actor, status)); | 3400 | snac_log(user, xs_fmt("actor_refresh marking actor %s as broken %d", actor, status)); |
| 3220 | } | 3401 | } |
| @@ -3716,7 +3897,7 @@ int activitypub_get_handler(const xs_dict *req, const char *q_path, | |||
| 3716 | const char *type = xs_dict_get(i, "type"); | 3897 | const char *type = xs_dict_get(i, "type"); |
| 3717 | const char *id = xs_dict_get(i, "id"); | 3898 | const char *id = xs_dict_get(i, "id"); |
| 3718 | 3899 | ||
| 3719 | if (type && id && strcmp(type, "Note") == 0 && xs_startswith(id, snac.actor)) { | 3900 | if (type && id && strcmp(type, "Note") == 0 && is_msg_mine(&snac, id)) { |
| 3720 | if (is_msg_public(i)) { | 3901 | if (is_msg_public(i)) { |
| 3721 | xs *c_msg = msg_create(&snac, i); | 3902 | xs *c_msg = msg_create(&snac, i); |
| 3722 | list = xs_list_append(list, c_msg); | 3903 | list = xs_list_append(list, c_msg); |
diff --git a/artwork/susie-q.png b/artwork/susie-q.png new file mode 100644 index 0000000..82fd9fe --- /dev/null +++ b/artwork/susie-q.png | |||
| Binary files differ | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_hex.h" | 5 | #include "xs_hex.h" |
| @@ -89,8 +89,15 @@ int srv_open(const char *basedir, int auto_upgrade) | |||
| 89 | else { | 89 | else { |
| 90 | if (xs_number_get(xs_dict_get(srv_config, "layout")) < disk_layout) | 90 | if (xs_number_get(xs_dict_get(srv_config, "layout")) < disk_layout) |
| 91 | error = xs_fmt("ERROR: disk layout changed - execute 'snac upgrade' first"); | 91 | error = xs_fmt("ERROR: disk layout changed - execute 'snac upgrade' first"); |
| 92 | else | 92 | else { |
| 93 | ret = 1; | 93 | if (!check_strip_tool()) { |
| 94 | const char *mp = xs_dict_get(srv_config, "mogrify_path"); | ||
| 95 | if (mp == NULL) mp = "mogrify"; | ||
| 96 | error = xs_fmt("ERROR: strip_exif enabled but '%s' not found or not working (set 'mogrify_path' in server.json)", mp); | ||
| 97 | } | ||
| 98 | else | ||
| 99 | ret = 1; | ||
| 100 | } | ||
| 94 | } | 101 | } |
| 95 | } | 102 | } |
| 96 | 103 | ||
| @@ -1043,6 +1050,14 @@ xs_list *object_children(const char *id) | |||
| 1043 | } | 1050 | } |
| 1044 | 1051 | ||
| 1045 | 1052 | ||
| 1053 | xs_list *object_get_emoji_reacts(const char *id) | ||
| 1054 | /* returns the list of an object's emoji reactions */ | ||
| 1055 | { | ||
| 1056 | xs *fn = _object_index_fn(id, "_e.idx"); | ||
| 1057 | return index_list(fn, XS_ALL); | ||
| 1058 | } | ||
| 1059 | |||
| 1060 | |||
| 1046 | xs_list *object_likes(const char *id) | 1061 | xs_list *object_likes(const char *id) |
| 1047 | { | 1062 | { |
| 1048 | xs *fn = _object_index_fn(id, "_l.idx"); | 1063 | xs *fn = _object_index_fn(id, "_l.idx"); |
| @@ -1086,12 +1101,26 @@ int object_admire(const char *id, const char *actor, int like) | |||
| 1086 | 1101 | ||
| 1087 | 1102 | ||
| 1088 | int object_unadmire(const char *id, const char *actor, int like) | 1103 | int object_unadmire(const char *id, const char *actor, int like) |
| 1089 | /* actor no longer likes or announces this object */ | 1104 | /* actor retrives their likes, announces or emojis this object */ |
| 1090 | { | 1105 | { |
| 1106 | switch (like) { | ||
| 1107 | case 0: | ||
| 1108 | like = 'a'; | ||
| 1109 | break; | ||
| 1110 | case 1: | ||
| 1111 | like = 'l'; | ||
| 1112 | break; | ||
| 1113 | case 2: | ||
| 1114 | like = 'e'; | ||
| 1115 | break; | ||
| 1116 | } | ||
| 1091 | int status; | 1117 | int status; |
| 1092 | xs *fn = _object_fn(id); | 1118 | xs *fn = _object_fn(id); |
| 1093 | 1119 | ||
| 1094 | fn = xs_replace_i(fn, ".json", like ? "_l.idx" : "_a.idx"); | 1120 | char sfx[7] = "_x.idx"; |
| 1121 | sfx[1] = like; | ||
| 1122 | |||
| 1123 | fn = xs_replace_i(fn, ".json", sfx); | ||
| 1095 | 1124 | ||
| 1096 | status = index_del(fn, actor); | 1125 | status = index_del(fn, actor); |
| 1097 | 1126 | ||
| @@ -1099,7 +1128,46 @@ int object_unadmire(const char *id, const char *actor, int like) | |||
| 1099 | index_gc(fn); | 1128 | index_gc(fn); |
| 1100 | 1129 | ||
| 1101 | srv_debug(0, | 1130 | srv_debug(0, |
| 1102 | xs_fmt("object_unadmire (%s) %s %s %d", like ? "Like" : "Announce", actor, fn, status)); | 1131 | xs_fmt("object_unadmire (%s) %s %s %d", like >= 'e' ? |
| 1132 | (like == 'l' ? "Like" : "EmojiReact") : "Announce" , actor, fn, status)); | ||
| 1133 | |||
| 1134 | return status; | ||
| 1135 | } | ||
| 1136 | |||
| 1137 | int object_emoji_react(const char *mid, const char *eid) | ||
| 1138 | /* actor reacts w/ an emoji */ | ||
| 1139 | { | ||
| 1140 | int status = HTTP_STATUS_OK; | ||
| 1141 | xs *fn = _object_fn(mid); | ||
| 1142 | |||
| 1143 | fn = xs_replace_i(fn, ".json", "_e.idx"); | ||
| 1144 | |||
| 1145 | if (!index_in(fn, eid)) { | ||
| 1146 | status = index_add(fn, eid); | ||
| 1147 | |||
| 1148 | srv_debug(1, xs_fmt("object_emoji_react (%s) added %s to %s", "EmojiReact", eid, fn)); | ||
| 1149 | } | ||
| 1150 | |||
| 1151 | return status; | ||
| 1152 | } | ||
| 1153 | |||
| 1154 | |||
| 1155 | int object_rm_emoji_react(const char *mid, const char *eid) | ||
| 1156 | /* actor retrives their emoji reaction */ | ||
| 1157 | { | ||
| 1158 | int status; | ||
| 1159 | xs *fn = _object_fn(mid); | ||
| 1160 | |||
| 1161 | fn = xs_replace_i(fn, ".json", "_e.idx"); | ||
| 1162 | |||
| 1163 | status = index_del(fn, eid); | ||
| 1164 | object_del(eid); | ||
| 1165 | |||
| 1166 | if (valid_status(status)) | ||
| 1167 | index_gc(fn); | ||
| 1168 | |||
| 1169 | srv_debug(0, | ||
| 1170 | xs_fmt("object_unadmire (EmojiReact) %s %s %d", eid, fn, status)); | ||
| 1103 | 1171 | ||
| 1104 | return status; | 1172 | return status; |
| 1105 | } | 1173 | } |
| @@ -1358,6 +1426,20 @@ int pending_count(snac *user) | |||
| 1358 | } | 1426 | } |
| 1359 | 1427 | ||
| 1360 | 1428 | ||
| 1429 | int is_msg_mine(snac *user, const char *id) | ||
| 1430 | /* returns true if a post id is by the given user */ | ||
| 1431 | { | ||
| 1432 | int ret = 0; | ||
| 1433 | |||
| 1434 | if (xs_is_string(id)) { | ||
| 1435 | xs *s1 = xs_fmt("%s/", user->actor); | ||
| 1436 | ret = xs_startswith(id, s1); | ||
| 1437 | } | ||
| 1438 | |||
| 1439 | return ret; | ||
| 1440 | } | ||
| 1441 | |||
| 1442 | |||
| 1361 | /** timeline **/ | 1443 | /** timeline **/ |
| 1362 | 1444 | ||
| 1363 | double timeline_mtime(snac *snac) | 1445 | double timeline_mtime(snac *snac) |
| @@ -1453,7 +1535,7 @@ void timeline_update_indexes(snac *snac, const char *id) | |||
| 1453 | { | 1535 | { |
| 1454 | object_user_cache_add(snac, id, "private"); | 1536 | object_user_cache_add(snac, id, "private"); |
| 1455 | 1537 | ||
| 1456 | if (xs_startswith(id, snac->actor)) { | 1538 | if (is_msg_mine(snac, id)) { |
| 1457 | xs *msg = NULL; | 1539 | xs *msg = NULL; |
| 1458 | 1540 | ||
| 1459 | if (valid_status(object_get(id, &msg))) { | 1541 | if (valid_status(object_get(id, &msg))) { |
| @@ -1492,19 +1574,48 @@ int timeline_add(snac *snac, const char *id, const xs_dict *o_msg) | |||
| 1492 | } | 1574 | } |
| 1493 | 1575 | ||
| 1494 | 1576 | ||
| 1495 | int timeline_admire(snac *snac, const char *id, const char *admirer, int like) | 1577 | int timeline_emoji_react(const char *act, const char *id, const xs_dict *msg_o) |
| 1496 | /* updates a timeline entry with a new admiration */ | 1578 | /* adds an emoji reaction to a message */ |
| 1497 | { | 1579 | { |
| 1580 | xs *msg = xs_dup(msg_o); | ||
| 1581 | msg = xs_dict_append(msg, "attributedTo", act); | ||
| 1582 | msg = xs_dict_set(msg, "type", "EmojiReact"); | ||
| 1583 | const char *emote_id = xs_dict_get(msg, "id"); | ||
| 1584 | |||
| 1585 | int ret = object_add(emote_id, msg); | ||
| 1586 | if (ret == HTTP_STATUS_OK || ret == HTTP_STATUS_CREATED) | ||
| 1587 | ret = object_emoji_react(id, emote_id); | ||
| 1588 | |||
| 1589 | return ret; | ||
| 1590 | } | ||
| 1591 | |||
| 1592 | |||
| 1593 | int timeline_admire(snac *snac, const char *id, | ||
| 1594 | const char *admirer, int like, const xs_dict *msg) | ||
| 1595 | /* updates a timeline entry with a new admiration or emoji reaction */ | ||
| 1596 | { | ||
| 1597 | int ret; | ||
| 1598 | const char *content = xs_dict_get_path(msg, "content"); | ||
| 1599 | const char *type = xs_dict_get_path(msg, "type"); | ||
| 1600 | |||
| 1498 | /* if we are admiring this, add to both timelines */ | 1601 | /* if we are admiring this, add to both timelines */ |
| 1499 | if (!like && strcmp(admirer, snac->actor) == 0) { | 1602 | if (!like && strcmp(admirer, snac->actor) == 0) { |
| 1500 | object_user_cache_add(snac, id, "public"); | 1603 | object_user_cache_add(snac, id, "public"); |
| 1501 | object_user_cache_add(snac, id, "private"); | 1604 | object_user_cache_add(snac, id, "private"); |
| 1502 | } | 1605 | } |
| 1503 | 1606 | ||
| 1504 | int ret = object_admire(id, admirer, like); | 1607 | /* use utf <3 as a like, as it is ugly */ |
| 1608 | if (type && xs_match(type, "Like|EmojiReact|Emoji") && | ||
| 1609 | content && strcmp(content, "â¤") != 0) { | ||
| 1610 | ret = timeline_emoji_react(snac->actor, id, msg); | ||
| 1611 | snac_debug(snac, 1, xs_fmt("timeline_emoji_react %s", id)); | ||
| 1612 | } | ||
| 1505 | 1613 | ||
| 1506 | snac_debug(snac, 1, xs_fmt("timeline_admire (%s) %s %s", | 1614 | else { |
| 1507 | like ? "Like" : "Announce", id, admirer)); | 1615 | ret = object_admire(id, admirer, like); |
| 1616 | snac_debug(snac, 1, xs_fmt("timeline_admire (%s) %s %s", | ||
| 1617 | like ? "Like" : "Announce", id, admirer)); | ||
| 1618 | } | ||
| 1508 | 1619 | ||
| 1509 | return ret; | 1620 | return ret; |
| 1510 | } | 1621 | } |
| @@ -1853,6 +1964,25 @@ xs_list *muted_list(snac *user) | |||
| 1853 | return l; | 1964 | return l; |
| 1854 | } | 1965 | } |
| 1855 | 1966 | ||
| 1967 | /** emojis react **/ | ||
| 1968 | |||
| 1969 | xs_str *emoji_reacted(snac *user, const char *id) | ||
| 1970 | /* returns the emoji an user reacted to a message */ | ||
| 1971 | { | ||
| 1972 | xs *emojis = object_get_emoji_reacts(id); | ||
| 1973 | int c = 0; | ||
| 1974 | const char *v; | ||
| 1975 | |||
| 1976 | while (xs_list_next(emojis, &v, &c)) { | ||
| 1977 | xs *msg = NULL; | ||
| 1978 | if (object_get_by_md5(v, &msg)) { | ||
| 1979 | const xs_val *act = xs_dict_get(msg, "actor"); | ||
| 1980 | if (act && strcmp(act, user->actor) == 0) | ||
| 1981 | return xs_dup(xs_dict_get(msg, "content")); | ||
| 1982 | } | ||
| 1983 | } | ||
| 1984 | return NULL; | ||
| 1985 | } | ||
| 1856 | 1986 | ||
| 1857 | /** bookmarking **/ | 1987 | /** bookmarking **/ |
| 1858 | 1988 | ||
| @@ -1913,7 +2043,7 @@ int pin(snac *user, const char *id) | |||
| 1913 | { | 2043 | { |
| 1914 | int ret = -2; | 2044 | int ret = -2; |
| 1915 | 2045 | ||
| 1916 | if (xs_startswith(id, user->actor)) { | 2046 | if (is_msg_mine(user, id)) { |
| 1917 | if (is_pinned(user, id)) | 2047 | if (is_pinned(user, id)) |
| 1918 | ret = -3; | 2048 | ret = -3; |
| 1919 | else | 2049 | else |
| @@ -2587,6 +2717,8 @@ void static_put(snac *snac, const char *id, const char *data, int size) | |||
| 2587 | if (fn && (f = fopen(fn, "wb")) != NULL) { | 2717 | if (fn && (f = fopen(fn, "wb")) != NULL) { |
| 2588 | fwrite(data, size, 1, f); | 2718 | fwrite(data, size, 1, f); |
| 2589 | fclose(f); | 2719 | fclose(f); |
| 2720 | |||
| 2721 | strip_media(fn); | ||
| 2590 | } | 2722 | } |
| 2591 | } | 2723 | } |
| 2592 | 2724 | ||
| @@ -3513,7 +3645,7 @@ void enqueue_output(snac *snac, const xs_dict *msg, | |||
| 3513 | const xs_str *inbox, int retries, int p_status) | 3645 | const xs_str *inbox, int retries, int p_status) |
| 3514 | /* enqueues an output message to an inbox */ | 3646 | /* enqueues an output message to an inbox */ |
| 3515 | { | 3647 | { |
| 3516 | if (xs_startswith(inbox, snac->actor)) { | 3648 | if (is_msg_mine(snac, inbox)) { |
| 3517 | snac_debug(snac, 1, xs_str_new("refusing enqueue to myself")); | 3649 | snac_debug(snac, 1, xs_str_new("refusing enqueue to myself")); |
| 3518 | return; | 3650 | return; |
| 3519 | } | 3651 | } |
| @@ -4041,7 +4173,7 @@ void delete_purged_posts(snac *user, int days) | |||
| 4041 | if (xs_is_dict(msg)) { | 4173 | if (xs_is_dict(msg)) { |
| 4042 | const char *id = xs_dict_get(msg, "id"); | 4174 | const char *id = xs_dict_get(msg, "id"); |
| 4043 | 4175 | ||
| 4044 | if (xs_is_string(id) && xs_startswith(id, user->actor)) { | 4176 | if (xs_is_string(id) && is_msg_mine(user, id)) { |
| 4045 | xs *d_msg = msg_delete(user, id); | 4177 | xs *d_msg = msg_delete(user, id); |
| 4046 | 4178 | ||
| 4047 | enqueue_message(user, d_msg); | 4179 | enqueue_message(user, d_msg); |
| @@ -110,6 +110,9 @@ URLs to RSS feeds of ActivityPub objects are also allowed | |||
| 110 | .It Blocked hashtags... | 110 | .It Blocked hashtags... |
| 111 | Enter here the list of hashtags you want to block, one | 111 | Enter here the list of hashtags you want to block, one |
| 112 | per line, with or without the # symbol. | 112 | per line, with or without the # symbol. |
| 113 | .It Muted words... | ||
| 114 | Enter here a list of words to be silenced. If a post includes | ||
| 115 | any of this words, it's hidden behind a dropdown. | ||
| 113 | .El | 116 | .El |
| 114 | .Pp | 117 | .Pp |
| 115 | The user setup dialog allows some user information to be | 118 | The user setup dialog allows some user information to be |
| @@ -218,13 +221,20 @@ also private and cannot be liked nor boosted. | |||
| 218 | For each entry in the timeline, a set of reasonable actions | 221 | For each entry in the timeline, a set of reasonable actions |
| 219 | in the form of buttons will be shown. These can be: | 222 | in the form of buttons will be shown. These can be: |
| 220 | .Bl -tag -offset indent | 223 | .Bl -tag -offset indent |
| 221 | .It Reply | 224 | .It Reply... |
| 222 | Unveils a text area to write your intelligent and acute comment | 225 | Unveils a text area to write your intelligent and acute comment |
| 223 | to an uninformed fellow. This note is sent to the original | 226 | to an uninformed fellow. This note is sent to the original |
| 224 | author as well as to your followers. The note can include | 227 | author as well as to your followers. The note can include |
| 225 | mentions in the @user@format; these people will also become | 228 | mentions in the @user@format; these people will also become |
| 226 | recipients of the message. If you reply to a boost or like, | 229 | recipients of the message. If you reply to a boost or like, |
| 227 | you are really replying to the note, not to the admirer of it. | 230 | you are really replying to the note, not to the admirer of it. |
| 231 | .It Emoji react... | ||
| 232 | Unveils a text area that allows a user to react with an emoji | ||
| 233 | by typing its identifier, that should match one of the emojis | ||
| 234 | defined in the | ||
| 235 | .Pa emojis.json | ||
| 236 | file. By now, only those emoji identifiers surrounded by colons | ||
| 237 | can be used. | ||
| 228 | .It Like | 238 | .It Like |
| 229 | Click this if you admire this post. The poster and your | 239 | Click this if you admire this post. The poster and your |
| 230 | followers will be informed. | 240 | followers will be informed. |
| @@ -405,6 +415,9 @@ Removes an existing list. | |||
| 405 | Adds an account (by its @name@host handle or actor URL) to a list. | 415 | Adds an account (by its @name@host handle or actor URL) to a list. |
| 406 | .It Cm list_del Ar basedir Ar uid Ar name Ar actor_url | 416 | .It Cm list_del Ar basedir Ar uid Ar name Ar actor_url |
| 407 | Deletes an actor (by its actor URL) from a list. | 417 | Deletes an actor (by its actor URL) from a list. |
| 418 | .It Cm top_ten Ar basedir Ar uid Op N | ||
| 419 | Returns the ids of the top ten (or top N) most popular posts (considering the | ||
| 420 | sum of likes and boosts). | ||
| 408 | .El | 421 | .El |
| 409 | .Ss Migrating an account to/from Mastodon | 422 | .Ss Migrating an account to/from Mastodon |
| 410 | See | 423 | See |
| @@ -294,6 +294,22 @@ The URL to a favicon. If it's not set, the default one is used instead. | |||
| 294 | The maximum number of days an instance is considered down after continuous failed | 294 | The maximum number of days an instance is considered down after continuous failed |
| 295 | outgoing messages (default: 15). Anyway, whenever any incoming activity from a | 295 | outgoing messages (default: 15). Anyway, whenever any incoming activity from a |
| 296 | failed instance is detected, this counter is reset for it. | 296 | failed instance is detected, this counter is reset for it. |
| 297 | .It Ic vkey | ||
| 298 | Public vapid key. Used for notification on some client. | ||
| 299 | .It Ic disable_emojireact | ||
| 300 | If set to true, all EmojiReact support (for input and output) is disabled. | ||
| 301 | .It Ic strip_exif | ||
| 302 | If set to true, EXIF and other metadata will be stripped from uploaded images (jpg, png, webp, heic, avif, tiff, gif, bmp) and videos (mp4, m4v, mov, webm, mkv, avi). This requires the | ||
| 303 | .Nm mogrify | ||
| 304 | (from ImageMagick) and | ||
| 305 | .Nm ffmpeg | ||
| 306 | tools to be installed. If | ||
| 307 | .Nm snac | ||
| 308 | cannot find or execute these tools at startup, it will refuse to run. | ||
| 309 | .It Ic mogrify_path | ||
| 310 | Overrides the default "mogrify" command name or path. Use this if the tool is not in the system PATH or has a different name. | ||
| 311 | .It Ic ffmpeg_path | ||
| 312 | Overrides the default "ffmpeg" command name or path. Use this if the tool is not in the system PATH or has a different name. | ||
| 297 | .El | 313 | .El |
| 298 | .Pp | 314 | .Pp |
| 299 | You must restart the server to make effective these changes. | 315 | You must restart the server to make effective these changes. |
| @@ -405,7 +421,7 @@ objects, on input and output. | |||
| 405 | .It Vt EmojiReact | 421 | .It Vt EmojiReact |
| 406 | For | 422 | For |
| 407 | .Vt Note | 423 | .Vt Note |
| 408 | objects, on input. | 424 | objects, on input and output. |
| 409 | .It Vt Announce | 425 | .It Vt Announce |
| 410 | For | 426 | For |
| 411 | .Vt Note | 427 | .Vt Note |
diff --git a/doc/style.css b/doc/style.css index 5289332..9c8764a 100644 --- a/doc/style.css +++ b/doc/style.css | |||
| @@ -32,8 +32,12 @@ blockquote { font-style: italic; } | |||
| 32 | .snac-list-of-lists li { display: inline; border: 1px solid #a0a0a0; border-radius: 25px; | 32 | .snac-list-of-lists li { display: inline; border: 1px solid #a0a0a0; border-radius: 25px; |
| 33 | margin-right: 0.5em; padding-left: 0.5em; padding-right: 0.5em; } | 33 | margin-right: 0.5em; padding-left: 0.5em; padding-right: 0.5em; } |
| 34 | .snac-no-more-unseen-posts { border-top: 1px solid #a0a0a0; border-bottom: 1px solid #a0a0a0; padding: 0.5em 0; margin: 1em 0; } | 34 | .snac-no-more-unseen-posts { border-top: 1px solid #a0a0a0; border-bottom: 1px solid #a0a0a0; padding: 0.5em 0; margin: 1em 0; } |
| 35 | @media (prefers-color-scheme: dark) { | 35 | .snac-reaction { padding:5px; padding-left: 10px; padding-right: 10px; display: inline-flex; margin-right: 5px; font-family: inherit; font-size: medium; height: 2.5rem; vertical-align:middle; align-items:center;} |
| 36 | .snac-reaction-image { max-width: 100%; max-height: 100%; } | ||
| 37 | .snac-reaction-div { border-left: darkgray; border-left-style: solid; margin-bottom: .3em; padding-left: .3em; border-left-width: 2px; } | ||
| 38 | @media (prefers-color-scheme: dark) { | ||
| 36 | body, input, textarea { background-color: #000; color: #fff; } | 39 | body, input, textarea { background-color: #000; color: #fff; } |
| 37 | a { color: #7799dd } | 40 | a { color: #7799dd } |
| 38 | a:visited { color: #aa99dd } | 41 | a:visited { color: #aa99dd } |
| 39 | } | 42 | } |
| 43 | select { max-width: 40%; } | ||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_regex.h" | 5 | #include "xs_regex.h" |
| @@ -79,6 +79,24 @@ xs_dict *emojis(void) | |||
| 79 | return d; | 79 | return d; |
| 80 | } | 80 | } |
| 81 | 81 | ||
| 82 | |||
| 83 | xs_dict *emojis_rm_categories() { | ||
| 84 | xs *emjs = emojis(); | ||
| 85 | char *res = xs_dict_new(); | ||
| 86 | const char *k, *v; | ||
| 87 | xs_dict_foreach(emjs, k, v) { | ||
| 88 | if (xs_type(v) == XSTYPE_DICT) { | ||
| 89 | const char *v2; | ||
| 90 | xs_dict_foreach(v, k, v2) | ||
| 91 | res = xs_dict_append(res, k, v2); | ||
| 92 | } | ||
| 93 | else | ||
| 94 | res = xs_dict_append(res, k, v); | ||
| 95 | } | ||
| 96 | return res; | ||
| 97 | } | ||
| 98 | |||
| 99 | |||
| 82 | /* Non-whitespace without trailing comma, period or closing paren */ | 100 | /* Non-whitespace without trailing comma, period or closing paren */ |
| 83 | #define NOSPACE "([^[:space:],.)]+|[,.)]+[^[:space:],.)])+" | 101 | #define NOSPACE "([^[:space:],.)]+|[,.)]+[^[:space:],.)])+" |
| 84 | 102 | ||
| @@ -405,7 +423,7 @@ xs_str *not_really_markdown(const char *content, xs_list **attach, xs_list **tag | |||
| 405 | 423 | ||
| 406 | { | 424 | { |
| 407 | /* traditional emoticons */ | 425 | /* traditional emoticons */ |
| 408 | xs *d = emojis(); | 426 | xs *d = emojis_rm_categories(); |
| 409 | int c = 0; | 427 | int c = 0; |
| 410 | const char *k, *v; | 428 | const char *k, *v; |
| 411 | 429 | ||
| @@ -459,6 +477,9 @@ xs_str *sanitize(const char *content) | |||
| 459 | char *p; | 477 | char *p; |
| 460 | const char *v; | 478 | const char *v; |
| 461 | 479 | ||
| 480 | if (!content) | ||
| 481 | return NULL; | ||
| 482 | |||
| 462 | sl = xs_regex_split(content, "</?[^>]+>"); | 483 | sl = xs_regex_split(content, "</?[^>]+>"); |
| 463 | 484 | ||
| 464 | p = sl; | 485 | p = sl; |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_io.h" | 5 | #include "xs_io.h" |
| @@ -16,6 +16,7 @@ | |||
| 16 | #include "xs_url.h" | 16 | #include "xs_url.h" |
| 17 | #include "xs_random.h" | 17 | #include "xs_random.h" |
| 18 | #include "xs_http.h" | 18 | #include "xs_http.h" |
| 19 | #include "xs_list_tools.h" | ||
| 19 | 20 | ||
| 20 | #include "snac.h" | 21 | #include "snac.h" |
| 21 | 22 | ||
| @@ -54,9 +55,10 @@ int login(snac *user, const xs_dict *headers) | |||
| 54 | return logged_in; | 55 | return logged_in; |
| 55 | } | 56 | } |
| 56 | 57 | ||
| 57 | 58 | xs_str *_replace_shortnames(xs_str *s, const xs_list *tag, int ems, | |
| 58 | xs_str *replace_shortnames(xs_str *s, const xs_list *tag, int ems, const char *proxy) | 59 | const char *proxy, const xs_list *cl, const char *act_o) |
| 59 | /* replaces all the :shortnames: with the emojis in tag */ | 60 | /* replace but also adds a class list and an actor in its alt text. |
| 61 | * Used for emoji reactions */ | ||
| 60 | { | 62 | { |
| 61 | if (!xs_is_null(tag)) { | 63 | if (!xs_is_null(tag)) { |
| 62 | xs *tag_list = NULL; | 64 | xs *tag_list = NULL; |
| @@ -69,11 +71,17 @@ xs_str *replace_shortnames(xs_str *s, const xs_list *tag, int ems, const char *p | |||
| 69 | tag_list = xs_dup(tag); | 71 | tag_list = xs_dup(tag); |
| 70 | } | 72 | } |
| 71 | 73 | ||
| 72 | xs *style = xs_fmt("height: %dem; width: %dem; vertical-align: middle;", ems, ems); | 74 | xs *style = xs_fmt("max-height: %dem; max-width: %dem;", ems, ems); |
| 73 | xs *class = xs_fmt("snac-emoji snac-emoji-%d-em", ems); | 75 | xs *class = xs_fmt("snac-emoji snac-emoji-%d-em", ems); |
| 76 | if (cl) { | ||
| 77 | xs *l = xs_join(cl, " "); | ||
| 78 | class = xs_str_cat(class, " ", l); | ||
| 79 | } | ||
| 74 | 80 | ||
| 75 | const xs_dict *v; | ||
| 76 | int c = 0; | 81 | int c = 0; |
| 82 | const xs_val *v; | ||
| 83 | |||
| 84 | c = 0; | ||
| 77 | 85 | ||
| 78 | xs_set rep_emoji; | 86 | xs_set rep_emoji; |
| 79 | xs_set_init(&rep_emoji); | 87 | xs_set_init(&rep_emoji); |
| @@ -100,6 +108,8 @@ xs_str *replace_shortnames(xs_str *s, const xs_list *tag, int ems, const char *p | |||
| 100 | if (!xs_is_string(mt)) | 108 | if (!xs_is_string(mt)) |
| 101 | mt = xs_mime_by_ext(u); | 109 | mt = xs_mime_by_ext(u); |
| 102 | 110 | ||
| 111 | xs *act = act_o ? xs_fmt("%s\n%s", n, act_o) : xs_fmt("%s", n); | ||
| 112 | |||
| 103 | if (strcmp(mt, "image/svg+xml") == 0 && !xs_is_true(xs_dict_get(srv_config, "enable_svg"))) | 113 | if (strcmp(mt, "image/svg+xml") == 0 && !xs_is_true(xs_dict_get(srv_config, "enable_svg"))) |
| 104 | s = xs_replace_i(s, n, ""); | 114 | s = xs_replace_i(s, n, ""); |
| 105 | else { | 115 | else { |
| @@ -108,8 +118,8 @@ xs_str *replace_shortnames(xs_str *s, const xs_list *tag, int ems, const char *p | |||
| 108 | xs_html *img = xs_html_sctag("img", | 118 | xs_html *img = xs_html_sctag("img", |
| 109 | xs_html_attr("loading", "lazy"), | 119 | xs_html_attr("loading", "lazy"), |
| 110 | xs_html_attr("src", url), | 120 | xs_html_attr("src", url), |
| 111 | xs_html_attr("alt", n), | 121 | xs_html_attr("alt", act), |
| 112 | xs_html_attr("title", n), | 122 | xs_html_attr("title", act), |
| 113 | xs_html_attr("class", class), | 123 | xs_html_attr("class", class), |
| 114 | xs_html_attr("style", style)); | 124 | xs_html_attr("style", style)); |
| 115 | 125 | ||
| @@ -130,6 +140,13 @@ xs_str *replace_shortnames(xs_str *s, const xs_list *tag, int ems, const char *p | |||
| 130 | } | 140 | } |
| 131 | 141 | ||
| 132 | 142 | ||
| 143 | xs_str *replace_shortnames(xs_str *s, const xs_list *tag, int ems, const char *proxy) | ||
| 144 | /* replaces all the :shortnames: with the emojis in tag */ | ||
| 145 | { | ||
| 146 | return _replace_shortnames(s, tag, ems, proxy, NULL, NULL); | ||
| 147 | } | ||
| 148 | |||
| 149 | |||
| 133 | xs_str *actor_name(xs_dict *actor, const char *proxy) | 150 | xs_str *actor_name(xs_dict *actor, const char *proxy) |
| 134 | /* gets the actor name */ | 151 | /* gets the actor name */ |
| 135 | { | 152 | { |
| @@ -145,6 +162,34 @@ xs_str *actor_name(xs_dict *actor, const char *proxy) | |||
| 145 | } | 162 | } |
| 146 | 163 | ||
| 147 | 164 | ||
| 165 | xs_str *actor_pronouns(xs_dict *actor) | ||
| 166 | /* gets the actor name */ | ||
| 167 | { | ||
| 168 | const xs_list *attachment; | ||
| 169 | const xs_dict *d; | ||
| 170 | const char *v; | ||
| 171 | const char *pronouns = ""; | ||
| 172 | xs_str *ret; | ||
| 173 | |||
| 174 | if (xs_is_list((attachment = xs_dict_get(actor, "attachment")))) { | ||
| 175 | xs_list_foreach(attachment, d) { | ||
| 176 | xs *prop = xs_utf8_to_lower(xs_dict_get(d, "name")); | ||
| 177 | /* make sure that we are reading the correct metadata */ | ||
| 178 | if (strlen(prop) == 8 && strcmp(prop, "pronouns") == 0) { | ||
| 179 | /* safeguard from NULL values */ | ||
| 180 | v = xs_dict_get(d, "value"); | ||
| 181 | pronouns = v ? v : pronouns; | ||
| 182 | break; | ||
| 183 | } | ||
| 184 | } | ||
| 185 | } | ||
| 186 | |||
| 187 | /* strip all HTML tags */ | ||
| 188 | ret = xs_regex_replace(pronouns, "</?[^>]+>", ""); | ||
| 189 | return ret; | ||
| 190 | } | ||
| 191 | |||
| 192 | |||
| 148 | xs_str *format_text_with_emoji(snac *user, const char *text, int ems, const char *proxy) | 193 | xs_str *format_text_with_emoji(snac *user, const char *text, int ems, const char *proxy) |
| 149 | /* needed when we have local text with no tags attached */ | 194 | /* needed when we have local text with no tags attached */ |
| 150 | { | 195 | { |
| @@ -178,6 +223,7 @@ xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date, | |||
| 178 | int fwer = 0; | 223 | int fwer = 0; |
| 179 | 224 | ||
| 180 | xs *name = actor_name(actor, proxy); | 225 | xs *name = actor_name(actor, proxy); |
| 226 | xs *pronouns = actor_pronouns(actor); | ||
| 181 | 227 | ||
| 182 | /* get the avatar */ | 228 | /* get the avatar */ |
| 183 | if ((v = xs_dict_get(actor, "icon")) != NULL) { | 229 | if ((v = xs_dict_get(actor, "icon")) != NULL) { |
| @@ -205,23 +251,35 @@ xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date, | |||
| 205 | anchored link to the people page instead of the actor url */ | 251 | anchored link to the people page instead of the actor url */ |
| 206 | if (fwer || fwing) { | 252 | if (fwer || fwing) { |
| 207 | xs *md5 = xs_md5_hex(actor_id, strlen(actor_id)); | 253 | xs *md5 = xs_md5_hex(actor_id, strlen(actor_id)); |
| 208 | href = xs_fmt("%s/people#%s", user->actor, md5); | 254 | href = xs_fmt("%s/people/%s", user->actor, md5); |
| 209 | } | 255 | } |
| 210 | } | 256 | } |
| 211 | 257 | ||
| 212 | if (href == NULL) | 258 | if (href == NULL) |
| 213 | href = xs_dup(actor_id); | 259 | href = xs_dup(actor_id); |
| 214 | 260 | ||
| 261 | xs_html *name_link = xs_html_tag("a", | ||
| 262 | xs_html_attr("href", href), | ||
| 263 | xs_html_attr("class", "p-author h-card snac-author"), | ||
| 264 | xs_html_raw(name)); /* name is already html-escaped */ | ||
| 265 | |||
| 266 | if (*pronouns) { | ||
| 267 | xs_html_add(name_link, | ||
| 268 | xs_html_text(" ["), | ||
| 269 | xs_html_tag("span", | ||
| 270 | xs_html_attr("class", "snac-pronouns"), | ||
| 271 | xs_html_attr("title", "user's pronouns"), | ||
| 272 | xs_html_raw(pronouns)), | ||
| 273 | xs_html_text("]")); | ||
| 274 | } | ||
| 275 | |||
| 215 | xs_html_add(actor_icon, | 276 | xs_html_add(actor_icon, |
| 216 | xs_html_sctag("img", | 277 | xs_html_sctag("img", |
| 217 | xs_html_attr("loading", "lazy"), | 278 | xs_html_attr("loading", "lazy"), |
| 218 | xs_html_attr("class", "snac-avatar"), | 279 | xs_html_attr("class", "snac-avatar"), |
| 219 | xs_html_attr("src", avatar), | 280 | xs_html_attr("src", avatar), |
| 220 | xs_html_attr("alt", "[?]")), | 281 | xs_html_attr("alt", "[?]")), |
| 221 | xs_html_tag("a", | 282 | name_link); |
| 222 | xs_html_attr("href", href), | ||
| 223 | xs_html_attr("class", "p-author h-card snac-author"), | ||
| 224 | xs_html_raw(name))); /* name is already html-escaped */ | ||
| 225 | 283 | ||
| 226 | if (!xs_is_null(url)) { | 284 | if (!xs_is_null(url)) { |
| 227 | xs *md5 = xs_md5_hex(url, strlen(url)); | 285 | xs *md5 = xs_md5_hex(url, strlen(url)); |
| @@ -234,6 +292,7 @@ xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date, | |||
| 234 | xs_html_text("»"))); | 292 | xs_html_text("»"))); |
| 235 | } | 293 | } |
| 236 | 294 | ||
| 295 | |||
| 237 | if (strcmp(xs_dict_get(actor, "type"), "Service") == 0) { | 296 | if (strcmp(xs_dict_get(actor, "type"), "Service") == 0) { |
| 238 | xs_html_add(actor_icon, | 297 | xs_html_add(actor_icon, |
| 239 | xs_html_text(" "), | 298 | xs_html_text(" "), |
| @@ -398,6 +457,83 @@ xs_html *html_msg_icon(snac *user, const char *actor_id, const xs_dict *msg, | |||
| 398 | return actor_icon; | 457 | return actor_icon; |
| 399 | } | 458 | } |
| 400 | 459 | ||
| 460 | void html_note_render_visibility(snac* user, xs_html *form, const int scope) | ||
| 461 | { | ||
| 462 | // scopes aren't sorted by value unfortunately, so simple math won't work to limit them. using map-like thing here | ||
| 463 | static const int public_scopes[5] = {SCOPE_PUBLIC, SCOPE_UNLISTED, SCOPE_FOLLOWERS, SCOPE_MENTIONED, -1}; | ||
| 464 | static const int unlisted_scopes[4] = {SCOPE_UNLISTED, SCOPE_FOLLOWERS, SCOPE_MENTIONED, -1}; | ||
| 465 | static const int followers_scopes[3] = {SCOPE_FOLLOWERS, SCOPE_MENTIONED, -1}; | ||
| 466 | static const int mentioned_scopes[2] = {SCOPE_MENTIONED, -1}; | ||
| 467 | static const int * const scopes[4] = { public_scopes, mentioned_scopes, unlisted_scopes, followers_scopes}; | ||
| 468 | static const char * const scopes_tags[4] = { "public", "mentioned", "unlisted", "followers"}; | ||
| 469 | static const char * const scopes_names[4] = { "Public", "Direct Message", "Unlisted", "Followers-only"}; | ||
| 470 | |||
| 471 | xs_html *paragraph = xs_html_tag("p", xs_html_text(L("Visibility: "))); | ||
| 472 | const int* to_render = scopes[scope]; | ||
| 473 | for( int i = 0; to_render[i] != -1; i++ ){ | ||
| 474 | const int scope_i = to_render[i]; | ||
| 475 | const char* value = scopes_tags[scope_i]; | ||
| 476 | const char* name = scopes_names[scope_i]; | ||
| 477 | xs_html_add(paragraph, | ||
| 478 | xs_html_tag("label", | ||
| 479 | xs_html_sctag("input", | ||
| 480 | xs_html_attr("type", "radio"), | ||
| 481 | xs_html_attr("name", "visibility"), | ||
| 482 | xs_html_attr("value", value), | ||
| 483 | xs_html_attr(scope == scope_i ? "checked" : "", NULL)), | ||
| 484 | xs_html_text(" "), | ||
| 485 | xs_html_text(L(name)), | ||
| 486 | xs_html_text(" ")) | ||
| 487 | ); | ||
| 488 | } | ||
| 489 | xs_html_add(form, paragraph); | ||
| 490 | } | ||
| 491 | |||
| 492 | /* html_note but moddled for emoji's needs. here and not bellow, since the | ||
| 493 | * other one is already so complex. */ | ||
| 494 | xs_html *html_emoji(snac *user, const char *summary, | ||
| 495 | const char *div_id, const char *form_id, | ||
| 496 | const char* placeholder, const char *post_id, | ||
| 497 | const char* eid) | ||
| 498 | { | ||
| 499 | xs *action = xs_fmt("%s/admin/action", user->actor); | ||
| 500 | |||
| 501 | xs_html *form; | ||
| 502 | const int react = eid == NULL ? 0 : 1; | ||
| 503 | |||
| 504 | xs_html *note = xs_html_tag("div", | ||
| 505 | xs_html_tag("details", | ||
| 506 | xs_html_tag("summary", | ||
| 507 | xs_html_text(summary)), | ||
| 508 | xs_html_tag("p", NULL), | ||
| 509 | xs_html_tag("div", | ||
| 510 | xs_html_attr("class", "snac-note"), | ||
| 511 | xs_html_attr("id", div_id), | ||
| 512 | form = xs_html_tag("form", | ||
| 513 | xs_html_attr("autocomplete", "off"), | ||
| 514 | xs_html_attr("method", "post"), | ||
| 515 | xs_html_attr("action", action), | ||
| 516 | xs_html_attr("enctype", "multipart/form-data"), | ||
| 517 | xs_html_attr("id", form_id), | ||
| 518 | xs_html_sctag("input", | ||
| 519 | xs_html_attr("type", "hidden"), | ||
| 520 | xs_html_attr("name", "id"), | ||
| 521 | xs_html_attr("value", post_id)), | ||
| 522 | xs_html_sctag("input", | ||
| 523 | xs_html_attr("type", react ? "hidden" : "text"), | ||
| 524 | xs_html_attr("name", "eid"), | ||
| 525 | xs_html_attr(react ? "value" : "placeholder", react ? eid : placeholder)), | ||
| 526 | xs_html_text(" "), | ||
| 527 | xs_html_sctag("input", | ||
| 528 | xs_html_attr("type", "submit"), | ||
| 529 | xs_html_attr("name", "action"), | ||
| 530 | xs_html_attr("eid", "action"), | ||
| 531 | xs_html_attr("value", react ? L("EmojiUnreact") : L("EmojiReact"))), | ||
| 532 | xs_html_text(" "), | ||
| 533 | xs_html_tag("p", NULL))))); | ||
| 534 | |||
| 535 | return note; | ||
| 536 | } | ||
| 401 | 537 | ||
| 402 | xs_html *html_note(snac *user, const char *summary, | 538 | xs_html *html_note(snac *user, const char *summary, |
| 403 | const char *div_id, const char *form_id, | 539 | const char *div_id, const char *form_id, |
| @@ -455,46 +591,8 @@ xs_html *html_note(snac *user, const char *summary, | |||
| 455 | xs_html_attr("type", "hidden"), | 591 | xs_html_attr("type", "hidden"), |
| 456 | xs_html_attr("name", "to"), | 592 | xs_html_attr("name", "to"), |
| 457 | xs_html_attr("value", actor_id))); | 593 | xs_html_attr("value", actor_id))); |
| 458 | else { | 594 | if (edit_id == NULL) |
| 459 | xs_html_add(form, | 595 | html_note_render_visibility(user, form, scope); |
| 460 | xs_html_tag("p", | ||
| 461 | xs_html_text(L("Visibility: ")), | ||
| 462 | xs_html_tag("label", | ||
| 463 | xs_html_sctag("input", | ||
| 464 | xs_html_attr("type", "radio"), | ||
| 465 | xs_html_attr("name", "visibility"), | ||
| 466 | xs_html_attr("value", "public"), | ||
| 467 | xs_html_attr(scope == SCOPE_PUBLIC ? "checked" : "", NULL)), | ||
| 468 | xs_html_text(" "), | ||
| 469 | xs_html_text(L("Public"))), | ||
| 470 | xs_html_text(" "), | ||
| 471 | xs_html_tag("label", | ||
| 472 | xs_html_sctag("input", | ||
| 473 | xs_html_attr("type", "radio"), | ||
| 474 | xs_html_attr("name", "visibility"), | ||
| 475 | xs_html_attr("value", "unlisted"), | ||
| 476 | xs_html_attr(scope == SCOPE_UNLISTED ? "checked" : "", NULL)), | ||
| 477 | xs_html_text(" "), | ||
| 478 | xs_html_text(L("Unlisted"))), | ||
| 479 | xs_html_text(" "), | ||
| 480 | xs_html_tag("label", | ||
| 481 | xs_html_sctag("input", | ||
| 482 | xs_html_attr("type", "radio"), | ||
| 483 | xs_html_attr("name", "visibility"), | ||
| 484 | xs_html_attr("value", "followers"), | ||
| 485 | xs_html_attr(scope == SCOPE_FOLLOWERS ? "checked" : "", NULL)), | ||
| 486 | xs_html_text(" "), | ||
| 487 | xs_html_text(L("Followers-only"))), | ||
| 488 | xs_html_text(" "), | ||
| 489 | xs_html_tag("label", | ||
| 490 | xs_html_sctag("input", | ||
| 491 | xs_html_attr("type", "radio"), | ||
| 492 | xs_html_attr("name", "visibility"), | ||
| 493 | xs_html_attr("value", "mentioned"), | ||
| 494 | xs_html_attr(scope == SCOPE_MENTIONED ? "checked" : "", NULL)), | ||
| 495 | xs_html_text(" "), | ||
| 496 | xs_html_text(L("Direct Message"))))); | ||
| 497 | } | ||
| 498 | 596 | ||
| 499 | if (redir) | 597 | if (redir) |
| 500 | xs_html_add(form, | 598 | xs_html_add(form, |
| @@ -1363,6 +1461,28 @@ xs_html *html_top_controls(snac *user) | |||
| 1363 | xs_html_attr("value", L("Like"))), | 1461 | xs_html_attr("value", L("Like"))), |
| 1364 | xs_html_text(" "), | 1462 | xs_html_text(" "), |
| 1365 | xs_html_text(L("(by URL)"))), | 1463 | xs_html_text(L("(by URL)"))), |
| 1464 | xs_html_tag("form", | ||
| 1465 | xs_html_attr("autocomplete", "off"), | ||
| 1466 | xs_html_attr("method", "post"), | ||
| 1467 | xs_html_attr("action", ops_action), | ||
| 1468 | xs_html_sctag("input", | ||
| 1469 | xs_html_attr("type", "text"), | ||
| 1470 | xs_html_attr("name", "eid"), | ||
| 1471 | xs_html_attr("required", "required"), | ||
| 1472 | xs_html_attr("placeholder", ":neocat:")), | ||
| 1473 | xs_html_text(" "), | ||
| 1474 | xs_html_sctag("input", | ||
| 1475 | xs_html_attr("type", "text"), | ||
| 1476 | xs_html_attr("name", "id"), | ||
| 1477 | xs_html_attr("required", "required"), | ||
| 1478 | xs_html_attr("placeholder", "https:/" "/fedi.example.com/bob/...")), | ||
| 1479 | xs_html_text(" "), | ||
| 1480 | xs_html_sctag("input", | ||
| 1481 | xs_html_attr("type", "submit"), | ||
| 1482 | xs_html_attr("name", "action"), | ||
| 1483 | xs_html_attr("value", L("EmojiReact"))), | ||
| 1484 | xs_html_text(" "), | ||
| 1485 | xs_html_text(L("(by URL)"))), | ||
| 1366 | xs_html_tag("p", NULL))); | 1486 | xs_html_tag("p", NULL))); |
| 1367 | 1487 | ||
| 1368 | /** user settings **/ | 1488 | /** user settings **/ |
| @@ -1787,6 +1907,38 @@ xs_html *html_top_controls(snac *user) | |||
| 1787 | xs_html_attr("class", "button"), | 1907 | xs_html_attr("class", "button"), |
| 1788 | xs_html_attr("value", L("Update hashtags"))))))); | 1908 | xs_html_attr("value", L("Update hashtags"))))))); |
| 1789 | 1909 | ||
| 1910 | xs *muted_words_action = xs_fmt("%s/admin/muted-words", user->actor); | ||
| 1911 | xs *muted_words = xs_join(xs_dict_get_def(user->config, | ||
| 1912 | "muted_words", xs_stock(XSTYPE_LIST)), "\n"); | ||
| 1913 | |||
| 1914 | xs_html_add(top_controls, | ||
| 1915 | xs_html_tag("details", | ||
| 1916 | xs_html_tag("summary", | ||
| 1917 | xs_html_text(L("Muted words..."))), | ||
| 1918 | xs_html_tag("p", | ||
| 1919 | xs_html_text(L("One word per line, partial matches count"))), | ||
| 1920 | xs_html_tag("div", | ||
| 1921 | xs_html_attr("class", "snac-muted-words"), | ||
| 1922 | xs_html_tag("form", | ||
| 1923 | xs_html_attr("autocomplete", "off"), | ||
| 1924 | xs_html_attr("method", "post"), | ||
| 1925 | xs_html_attr("action", muted_words_action), | ||
| 1926 | xs_html_attr("enctype", "multipart/form-data"), | ||
| 1927 | |||
| 1928 | xs_html_tag("textarea", | ||
| 1929 | xs_html_attr("name", "muted_words"), | ||
| 1930 | xs_html_attr("cols", "40"), | ||
| 1931 | xs_html_attr("rows", "4"), | ||
| 1932 | xs_html_attr("placeholder", "nascar\nsuperbowl\nFIFA"), | ||
| 1933 | xs_html_text(muted_words)), | ||
| 1934 | |||
| 1935 | xs_html_tag("br", NULL), | ||
| 1936 | |||
| 1937 | xs_html_sctag("input", | ||
| 1938 | xs_html_attr("type", "submit"), | ||
| 1939 | xs_html_attr("class", "button"), | ||
| 1940 | xs_html_attr("value", L("Update muted words"))))))); | ||
| 1941 | |||
| 1790 | return top_controls; | 1942 | return top_controls; |
| 1791 | } | 1943 | } |
| 1792 | 1944 | ||
| @@ -1898,7 +2050,7 @@ xs_html *html_entry_controls(snac *user, const char *actor, | |||
| 1898 | xs_html_attr("name", "redir"), | 2050 | xs_html_attr("name", "redir"), |
| 1899 | xs_html_attr("value", redir)))); | 2051 | xs_html_attr("value", redir)))); |
| 1900 | 2052 | ||
| 1901 | if (!xs_startswith(id, user->actor)) { | 2053 | if (!is_msg_mine(user, id)) { |
| 1902 | if (xs_list_in(likes, user->md5) == -1) { | 2054 | if (xs_list_in(likes, user->md5) == -1) { |
| 1903 | /* not already liked; add button */ | 2055 | /* not already liked; add button */ |
| 1904 | xs_html_add(form, | 2056 | xs_html_add(form, |
| @@ -2026,6 +2178,22 @@ xs_html *html_entry_controls(snac *user, const char *actor, | |||
| 2026 | xs_html_tag("p", NULL)); | 2178 | xs_html_tag("p", NULL)); |
| 2027 | } | 2179 | } |
| 2028 | 2180 | ||
| 2181 | if (!xs_is_true(xs_dict_get(srv_config, "disable_emojireact"))) { /** emoji react **/ | ||
| 2182 | /* the post textarea */ | ||
| 2183 | xs *div_id = xs_fmt("%s_reply", md5); | ||
| 2184 | xs *form_id = xs_fmt("%s_reply_form", md5); | ||
| 2185 | xs *e_react = emoji_reacted(user, id); | ||
| 2186 | |||
| 2187 | xs_html_add(controls, xs_html_tag("div", | ||
| 2188 | xs_html_tag("p", NULL), | ||
| 2189 | html_emoji( | ||
| 2190 | user, L("Emoji react..."), | ||
| 2191 | div_id, form_id, | ||
| 2192 | ":neocat:", id, | ||
| 2193 | e_react)), | ||
| 2194 | xs_html_tag("p", NULL)); | ||
| 2195 | } | ||
| 2196 | |||
| 2029 | { /** reply **/ | 2197 | { /** reply **/ |
| 2030 | /* the post textarea */ | 2198 | /* the post textarea */ |
| 2031 | xs *ct = build_mentions(user, msg); | 2199 | xs *ct = build_mentions(user, msg); |
| @@ -2051,6 +2219,30 @@ xs_html *html_entry_controls(snac *user, const char *actor, | |||
| 2051 | } | 2219 | } |
| 2052 | 2220 | ||
| 2053 | 2221 | ||
| 2222 | static const xs_str* words_in_content(const xs_list *words, const xs_val *content) | ||
| 2223 | /* returns a word that matches any of the words in content */ | ||
| 2224 | { | ||
| 2225 | if (!xs_is_list(words) || !xs_is_string(content)) { | ||
| 2226 | return NULL; | ||
| 2227 | } | ||
| 2228 | xs *c = xs_split(content, " "); | ||
| 2229 | xs *sc = xs_list_sort(c, NULL); | ||
| 2230 | |||
| 2231 | const xs_str *wv; | ||
| 2232 | const xs_str *cv; | ||
| 2233 | xs_list_foreach(words, wv) { | ||
| 2234 | xs_list_foreach(sc, cv) { | ||
| 2235 | xs_tolower_i((xs_str*)cv); | ||
| 2236 | if(xs_str_in(cv, wv) != -1){ | ||
| 2237 | return wv; | ||
| 2238 | } | ||
| 2239 | } | ||
| 2240 | } | ||
| 2241 | |||
| 2242 | return NULL; | ||
| 2243 | } | ||
| 2244 | |||
| 2245 | |||
| 2054 | xs_html *html_entry(snac *user, xs_dict *msg, int read_only, | 2246 | xs_html *html_entry(snac *user, xs_dict *msg, int read_only, |
| 2055 | int level, const char *md5, int hide_children) | 2247 | int level, const char *md5, int hide_children) |
| 2056 | { | 2248 | { |
| @@ -2262,7 +2454,7 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, | |||
| 2262 | } | 2454 | } |
| 2263 | 2455 | ||
| 2264 | if (!read_only && (fwers || fwing)) | 2456 | if (!read_only && (fwers || fwing)) |
| 2265 | href = xs_fmt("%s/people#%s", user->actor, p); | 2457 | href = xs_fmt("%s/people/%s", user->actor, p); |
| 2266 | else | 2458 | else |
| 2267 | href = xs_dup(id); | 2459 | href = xs_dup(id); |
| 2268 | 2460 | ||
| @@ -2345,6 +2537,17 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, | |||
| 2345 | xs_html_text(v), | 2537 | xs_html_text(v), |
| 2346 | xs_html_text(L(" [SENSITIVE CONTENT]")))); | 2538 | xs_html_text(L(" [SENSITIVE CONTENT]")))); |
| 2347 | } | 2539 | } |
| 2540 | else | ||
| 2541 | if (user && | ||
| 2542 | /* muted_words is all lowercase and sorted for performance */ | ||
| 2543 | (v = words_in_content(xs_dict_get(user->config, "muted_words"), | ||
| 2544 | xs_dict_get(msg, "content"))) != NULL) { | ||
| 2545 | snac_debug(user, 1, xs_fmt("word %s muted by user preferences: %s", v, id)); | ||
| 2546 | snac_content = xs_html_tag("details", | ||
| 2547 | xs_html_tag("summary", | ||
| 2548 | xs_html_text(L("Muted: ")), | ||
| 2549 | xs_html_text(v))); | ||
| 2550 | } | ||
| 2348 | else { | 2551 | else { |
| 2349 | snac_content = xs_html_tag("div", NULL); | 2552 | snac_content = xs_html_tag("div", NULL); |
| 2350 | } | 2553 | } |
| @@ -2352,6 +2555,182 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, | |||
| 2352 | xs_html_add(snac_content_wrap, | 2555 | xs_html_add(snac_content_wrap, |
| 2353 | snac_content); | 2556 | snac_content); |
| 2354 | 2557 | ||
| 2558 | /* add all emoji reacts */ | ||
| 2559 | int is_emoji = 0; | ||
| 2560 | if (!xs_is_true(xs_dict_get(srv_config, "disable_emojireact"))) { | ||
| 2561 | int c = 0; | ||
| 2562 | const xs_dict *k; | ||
| 2563 | xs *ls = xs_list_new(); | ||
| 2564 | xs *sfrl = xs_dict_new(); | ||
| 2565 | xs *rl = object_get_emoji_reacts(id); | ||
| 2566 | |||
| 2567 | while (xs_list_next(rl, &v, &c)) { | ||
| 2568 | xs *m = NULL; | ||
| 2569 | if (valid_status(object_get_by_md5(v, &m))) { | ||
| 2570 | const char *content = xs_dict_get(m, "content"); | ||
| 2571 | const char *actor = xs_dict_get(m, "actor"); | ||
| 2572 | const xs_list *contentl = xs_dict_get(sfrl, content); | ||
| 2573 | |||
| 2574 | if ((user && is_muted(user, actor)) || is_instance_blocked(actor)) | ||
| 2575 | continue; | ||
| 2576 | |||
| 2577 | xs *actors = xs_list_new(); | ||
| 2578 | actors = xs_list_append(actors, actor); | ||
| 2579 | char me = actor && user && strcmp(actor, user->actor) == 0; | ||
| 2580 | int count = 1; | ||
| 2581 | |||
| 2582 | if (contentl) { | ||
| 2583 | count = atoi(xs_list_get(contentl, 0)) + 1; | ||
| 2584 | const xs_list *actorsc = xs_list_get(contentl, 1); | ||
| 2585 | if (strncmp(xs_list_get(contentl, 2), "1", 1) == 0) | ||
| 2586 | me = 1; | ||
| 2587 | |||
| 2588 | if (xs_list_in(actorsc, actor) != -1) { | ||
| 2589 | xs_free(actors); | ||
| 2590 | actors = xs_dup(actorsc); | ||
| 2591 | } | ||
| 2592 | else | ||
| 2593 | actors = xs_list_cat(actors, actorsc); | ||
| 2594 | } | ||
| 2595 | |||
| 2596 | xs *fl = xs_list_new(); | ||
| 2597 | xs *c1 = xs_fmt("%d", count); | ||
| 2598 | xs *c2 = xs_fmt("%d", me); | ||
| 2599 | fl = xs_list_append(fl, c1, actors, c2); | ||
| 2600 | sfrl = xs_dict_append(sfrl, content, fl); | ||
| 2601 | } | ||
| 2602 | } | ||
| 2603 | |||
| 2604 | c = 0; | ||
| 2605 | |||
| 2606 | while (xs_list_next(rl, &k, &c)) { | ||
| 2607 | xs *m = NULL; | ||
| 2608 | if (valid_status(object_get_by_md5(k, &m))) { | ||
| 2609 | const xs_dict *tag = xs_dict_get(m, "tag"); | ||
| 2610 | const xs_dict *ide = xs_dict_get(m, "id"); | ||
| 2611 | |||
| 2612 | const char *content = xs_dict_get(m, "content"); | ||
| 2613 | const char *shortname; | ||
| 2614 | shortname = xs_dict_get(m, "content"); | ||
| 2615 | |||
| 2616 | const xs_list *items = xs_dict_get(sfrl, content); | ||
| 2617 | |||
| 2618 | if (!xs_is_null(items)) { | ||
| 2619 | const char *nb = xs_list_get(items, 0); | ||
| 2620 | const xs_list *actors = xs_list_get(items, 1); | ||
| 2621 | const char me = *xs_list_get(items, 2) == '1'; | ||
| 2622 | |||
| 2623 | is_emoji = 1; | ||
| 2624 | |||
| 2625 | xs *al = xs_join(actors, ",\n\t"); | ||
| 2626 | xs *act = atoi(nb) > 1 ? | ||
| 2627 | xs_fmt("%d different actors \n\t%s", atoi(nb), al) : | ||
| 2628 | xs_dup(xs_dict_get(m, "actor")); | ||
| 2629 | |||
| 2630 | xs *class = xs_list_new(); | ||
| 2631 | class = xs_list_append(class, "snac-reaction"); | ||
| 2632 | |||
| 2633 | xs_html *ret = NULL; | ||
| 2634 | if (tag && shortname) { | ||
| 2635 | xs *cl = xs_list_new(); | ||
| 2636 | cl = xs_list_append(cl, "snac-reaction-image"); | ||
| 2637 | xs *emoji = _replace_shortnames(xs_dup(shortname), tag, 2, proxy, cl, act); | ||
| 2638 | |||
| 2639 | emoji = xs_strip_chars_i(emoji, ":"); | ||
| 2640 | |||
| 2641 | if (me) | ||
| 2642 | class = xs_list_append(class, "snac-reacted"); | ||
| 2643 | |||
| 2644 | xs *l1 = xs_join(class, " "); | ||
| 2645 | ret = xs_html_tag("button", | ||
| 2646 | xs_html_attr("type", "submit"), | ||
| 2647 | xs_html_attr("name", "action"), | ||
| 2648 | xs_html_attr("value", me ? L("EmojiReact") : L("EmojiUnreact")), | ||
| 2649 | xs_html_raw(emoji), | ||
| 2650 | xs_html_tag("span", | ||
| 2651 | xs_html_raw(nb), | ||
| 2652 | xs_html_attr("style", "padding-left: 5px;")), | ||
| 2653 | xs_html_attr("title", act), | ||
| 2654 | xs_html_attr("class", l1)); | ||
| 2655 | |||
| 2656 | if (!(ide && xs_startswith(ide, srv_baseurl))) | ||
| 2657 | xs_html_add(ret, xs_html_attr("disabled", "true")); | ||
| 2658 | } | ||
| 2659 | else if (shortname) { | ||
| 2660 | xs *sn = xs_dup(shortname); | ||
| 2661 | const char *sna = sn; | ||
| 2662 | unsigned int utf = xs_utf8_dec((const char **)&sna); | ||
| 2663 | |||
| 2664 | if (xs_is_emoji(utf)) { | ||
| 2665 | const char *style = "font-size: large;"; | ||
| 2666 | if (me) | ||
| 2667 | class = xs_list_append(class, "snac-reacted"); | ||
| 2668 | xs *l1 = xs_join(class, " "); | ||
| 2669 | xs *s1 = xs_fmt("&#%d", utf); | ||
| 2670 | ret = xs_html_tag("button", | ||
| 2671 | xs_html_attr("type", "submit"), | ||
| 2672 | xs_html_attr("name", "action"), | ||
| 2673 | xs_html_attr("value", me ? L("EmojiUnreact") : L("EmojiReact")), | ||
| 2674 | xs_html_raw(s1), | ||
| 2675 | xs_html_tag("span", | ||
| 2676 | xs_html_raw(nb), | ||
| 2677 | xs_html_attr("style", "font-size: initial; padding-left: 5px;")), | ||
| 2678 | xs_html_attr("title", act), | ||
| 2679 | xs_html_attr("class", l1), | ||
| 2680 | xs_html_attr("style", style)); | ||
| 2681 | } | ||
| 2682 | } | ||
| 2683 | if (ret) { | ||
| 2684 | xs *s1; | ||
| 2685 | if (user) { | ||
| 2686 | xs *action = xs_fmt("%s/admin/action", user->actor); | ||
| 2687 | xs *form_id = xs_fmt("%s_reply_form", md5); | ||
| 2688 | |||
| 2689 | xs_html *form = | ||
| 2690 | xs_html_tag("form", | ||
| 2691 | xs_html_attr("autocomplete", "off"), | ||
| 2692 | xs_html_attr("method", "post"), | ||
| 2693 | xs_html_attr("action", action), | ||
| 2694 | xs_html_attr("enctype", "multipart/form-data"), | ||
| 2695 | xs_html_attr("style", "display: inline-flex;" | ||
| 2696 | "vertical-align: middle;"), | ||
| 2697 | xs_html_attr("id", form_id), | ||
| 2698 | xs_html_sctag("input", | ||
| 2699 | xs_html_attr("type", "hidden"), | ||
| 2700 | xs_html_attr("name", "id"), | ||
| 2701 | xs_html_attr("value", id)), | ||
| 2702 | xs_html_sctag("input", | ||
| 2703 | xs_html_attr("type", "hidden"), | ||
| 2704 | xs_html_attr("name", "eid"), | ||
| 2705 | xs_html_attr("value", shortname)), | ||
| 2706 | ret); | ||
| 2707 | s1 = xs_html_render(form); | ||
| 2708 | } | ||
| 2709 | else | ||
| 2710 | s1 = xs_html_render(ret); | ||
| 2711 | |||
| 2712 | ls = xs_list_append(ls, s1); | ||
| 2713 | sfrl = xs_dict_del(sfrl, content); | ||
| 2714 | } | ||
| 2715 | } | ||
| 2716 | } | ||
| 2717 | } | ||
| 2718 | |||
| 2719 | c = 0; | ||
| 2720 | |||
| 2721 | xs_html *emoji_div; | ||
| 2722 | if (xs_list_len(ls) > 0) { | ||
| 2723 | emoji_div = xs_html_tag("div", xs_html_text(L("Emoji reactions: ")), | ||
| 2724 | xs_html_attr("class", "snac-reaction-div")); | ||
| 2725 | |||
| 2726 | while (ls != NULL && xs_list_next(ls, &k, &c)) | ||
| 2727 | xs_html_add(emoji_div, xs_html_raw(k)); | ||
| 2728 | |||
| 2729 | xs_html_add(snac_content_wrap, emoji_div); | ||
| 2730 | } | ||
| 2731 | |||
| 2732 | } | ||
| 2733 | |||
| 2355 | { | 2734 | { |
| 2356 | /** build the content string **/ | 2735 | /** build the content string **/ |
| 2357 | const char *content = xs_dict_get(msg, "content"); | 2736 | const char *content = xs_dict_get(msg, "content"); |
| @@ -2378,7 +2757,8 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, | |||
| 2378 | 2757 | ||
| 2379 | c = xs_replace_i(c, "<br><br>", "<p>"); | 2758 | c = xs_replace_i(c, "<br><br>", "<p>"); |
| 2380 | 2759 | ||
| 2381 | c = xs_str_cat(c, "<p>"); | 2760 | if (is_emoji == 0) |
| 2761 | c = xs_str_cat(c, "<p>"); | ||
| 2382 | 2762 | ||
| 2383 | /* replace the :shortnames: */ | 2763 | /* replace the :shortnames: */ |
| 2384 | c = replace_shortnames(c, xs_dict_get(msg, "tag"), 2, proxy); | 2764 | c = replace_shortnames(c, xs_dict_get(msg, "tag"), 2, proxy); |
| @@ -2426,7 +2806,7 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, | |||
| 2426 | if (read_only) | 2806 | if (read_only) |
| 2427 | closed = 1; /* non-identified page; show as closed */ | 2807 | closed = 1; /* non-identified page; show as closed */ |
| 2428 | else | 2808 | else |
| 2429 | if (user && xs_startswith(id, user->actor)) | 2809 | if (user && is_msg_mine(user, id)) |
| 2430 | closed = 1; /* we questioned; closed for us */ | 2810 | closed = 1; /* we questioned; closed for us */ |
| 2431 | else | 2811 | else |
| 2432 | if (user && was_question_voted(user, id)) | 2812 | if (user && was_question_voted(user, id)) |
| @@ -2634,7 +3014,7 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, | |||
| 2634 | xs_html_attr("title", name)))); | 3014 | xs_html_attr("title", name)))); |
| 2635 | } | 3015 | } |
| 2636 | else | 3016 | else |
| 2637 | if (xs_startswith(type, "video/")) { | 3017 | if (xs_startswith(type, "video/") || strcmp(type, "Video") == 0) { |
| 2638 | xs_html_add(content_attachments, | 3018 | xs_html_add(content_attachments, |
| 2639 | xs_html_tag("video", | 3019 | xs_html_tag("video", |
| 2640 | xs_html_attr("preload", "none"), | 3020 | xs_html_attr("preload", "none"), |
| @@ -3003,7 +3383,7 @@ xs_html *html_footer(const snac *user) | |||
| 3003 | xs_str *html_timeline(snac *user, const xs_list *list, int read_only, | 3383 | xs_str *html_timeline(snac *user, const xs_list *list, int read_only, |
| 3004 | int skip, int show, int show_more, | 3384 | int skip, int show, int show_more, |
| 3005 | const char *title, const char *page, | 3385 | const char *title, const char *page, |
| 3006 | int utl, const char *error) | 3386 | int utl, const char *error, int terse) |
| 3007 | /* returns the HTML for the timeline */ | 3387 | /* returns the HTML for the timeline */ |
| 3008 | { | 3388 | { |
| 3009 | xs_list *p = (xs_list *)list; | 3389 | xs_list *p = (xs_list *)list; |
| @@ -3031,7 +3411,11 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only, | |||
| 3031 | 3411 | ||
| 3032 | if (user) { | 3412 | if (user) { |
| 3033 | head = html_user_head(user, desc, alternate); | 3413 | head = html_user_head(user, desc, alternate); |
| 3034 | body = html_user_body(user, read_only); | 3414 | |
| 3415 | if (terse) | ||
| 3416 | body = xs_html_tag("body", NULL); | ||
| 3417 | else | ||
| 3418 | body = html_user_body(user, read_only); | ||
| 3035 | } | 3419 | } |
| 3036 | else { | 3420 | else { |
| 3037 | head = html_instance_head(); | 3421 | head = html_instance_head(); |
| @@ -3251,7 +3635,7 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only, | |||
| 3251 | 3635 | ||
| 3252 | if (list && user && read_only) { | 3636 | if (list && user && read_only) { |
| 3253 | /** history **/ | 3637 | /** history **/ |
| 3254 | if (xs_type(xs_dict_get(srv_config, "disable_history")) != XSTYPE_TRUE) { | 3638 | if (xs_type(xs_dict_get(srv_config, "disable_history")) != XSTYPE_TRUE && !terse) { |
| 3255 | xs_html *ul = xs_html_tag("ul", NULL); | 3639 | xs_html *ul = xs_html_tag("ul", NULL); |
| 3256 | 3640 | ||
| 3257 | xs_html *history = xs_html_tag("div", | 3641 | xs_html *history = xs_html_tag("div", |
| @@ -3323,13 +3707,19 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only, | |||
| 3323 | } | 3707 | } |
| 3324 | 3708 | ||
| 3325 | 3709 | ||
| 3326 | xs_html *html_people_list(snac *user, xs_list *list, const char *header, const char *t, const char *proxy) | 3710 | xs_html *html_people_list(snac *user, xs_list *list, const char *header, const char *t, const char *proxy, int do_count) |
| 3327 | { | 3711 | { |
| 3328 | xs_html *snac_posts; | 3712 | xs_html *snac_posts; |
| 3713 | xs *header_cnt; | ||
| 3714 | if (do_count) | ||
| 3715 | header_cnt = xs_fmt("%s - %d\n", header, xs_list_len(list)); | ||
| 3716 | else | ||
| 3717 | header_cnt = xs_fmt("%s\n", header); | ||
| 3718 | |||
| 3329 | xs_html *people = xs_html_tag("div", | 3719 | xs_html *people = xs_html_tag("div", |
| 3330 | xs_html_tag("h2", | 3720 | xs_html_tag("h2", |
| 3331 | xs_html_attr("class", "snac-header"), | 3721 | xs_html_attr("class", "snac-header"), |
| 3332 | xs_html_text(header)), | 3722 | xs_html_text(header_cnt)), |
| 3333 | snac_posts = xs_html_tag("details", | 3723 | snac_posts = xs_html_tag("details", |
| 3334 | xs_html_attr("open", NULL), | 3724 | xs_html_attr("open", NULL), |
| 3335 | xs_html_tag("summary", | 3725 | xs_html_tag("summary", |
| @@ -3570,12 +3960,12 @@ xs_str *html_people(snac *user) | |||
| 3570 | 3960 | ||
| 3571 | if (xs_list_len(pending) || xs_is_true(xs_dict_get(user->config, "approve_followers"))) { | 3961 | if (xs_list_len(pending) || xs_is_true(xs_dict_get(user->config, "approve_followers"))) { |
| 3572 | xs_html_add(lists, | 3962 | xs_html_add(lists, |
| 3573 | html_people_list(user, pending, L("Pending follow confirmations"), "p", proxy)); | 3963 | html_people_list(user, pending, L("Pending follow confirmations"), "p", proxy, 1)); |
| 3574 | } | 3964 | } |
| 3575 | 3965 | ||
| 3576 | xs_html_add(lists, | 3966 | xs_html_add(lists, |
| 3577 | html_people_list(user, wing, L("People you follow"), "i", proxy), | 3967 | html_people_list(user, wing, L("People you follow"), "i", proxy, 1), |
| 3578 | html_people_list(user, wers, L("People that follow you"), "e", proxy)); | 3968 | html_people_list(user, wers, L("People that follow you"), "e", proxy, 1)); |
| 3579 | 3969 | ||
| 3580 | xs_html *html = xs_html_tag("html", | 3970 | xs_html *html = xs_html_tag("html", |
| 3581 | html_user_head(user, NULL, NULL), | 3971 | html_user_head(user, NULL, NULL), |
| @@ -3586,6 +3976,108 @@ xs_str *html_people(snac *user) | |||
| 3586 | return xs_html_render_s(html, "<!DOCTYPE html>\n"); | 3976 | return xs_html_render_s(html, "<!DOCTYPE html>\n"); |
| 3587 | } | 3977 | } |
| 3588 | 3978 | ||
| 3979 | /* Filter list to display only posts by actor. We'll probably show | ||
| 3980 | fewer than show posts. Should we try harder to find some? */ | ||
| 3981 | xs_str *html_people_one(snac *user, const char *actor, const xs_list *list, | ||
| 3982 | int skip, int show, int show_more, const char *page) | ||
| 3983 | { | ||
| 3984 | const char *proxy = NULL; | ||
| 3985 | xs_list *p = (xs_list *)list; | ||
| 3986 | const char *v; | ||
| 3987 | |||
| 3988 | if (xs_is_true(xs_dict_get(srv_config, "proxy_media"))) | ||
| 3989 | proxy = user->actor; | ||
| 3990 | |||
| 3991 | xs_html *body = html_user_body(user, 0); | ||
| 3992 | |||
| 3993 | xs_html *lists = xs_html_tag("div", | ||
| 3994 | xs_html_attr("class", "snac-posts")); | ||
| 3995 | |||
| 3996 | xs *foll = xs_list_append(xs_list_new(), actor); | ||
| 3997 | |||
| 3998 | xs_html_add(lists, | ||
| 3999 | html_people_list(user, foll, L("Contact's posts"), "p", proxy, 0)); | ||
| 4000 | |||
| 4001 | xs_html_add(body, lists); | ||
| 4002 | |||
| 4003 | while (xs_list_iter(&p, &v)) { | ||
| 4004 | xs *msg = NULL; | ||
| 4005 | int status; | ||
| 4006 | |||
| 4007 | status = timeline_get_by_md5(user, v, &msg); | ||
| 4008 | |||
| 4009 | if (!valid_status(status)) | ||
| 4010 | continue; | ||
| 4011 | |||
| 4012 | const char *id = xs_dict_get(msg, "id"); | ||
| 4013 | const char *by = get_atto(msg); | ||
| 4014 | xs *actor_md5 = NULL; | ||
| 4015 | xs_list *boosts = NULL; | ||
| 4016 | xs_list *likes = NULL; | ||
| 4017 | xs_list *reacts = NULL; | ||
| 4018 | /* Besides actor's posts, also show actor's boosts, and also | ||
| 4019 | posts by user with likes or reacts by actor. I.e., any | ||
| 4020 | actor's actions that user could have seen in the timeline | ||
| 4021 | or in notifications. */ | ||
| 4022 | if (!(by && strcmp(actor, by) == 0) && | ||
| 4023 | xs_list_in((boosts = object_announces(id)), | ||
| 4024 | (actor_md5 = xs_md5_hex(actor, strlen(actor)))) == -1 && | ||
| 4025 | (!(by && strcmp(user->actor, by) == 0) || | ||
| 4026 | (xs_list_in((likes = object_likes(id)), actor_md5) == -1 && | ||
| 4027 | xs_list_in((reacts = object_get_emoji_reacts(id)), actor_md5) == -1))) | ||
| 4028 | continue; | ||
| 4029 | |||
| 4030 | xs_html *entry = html_entry(user, msg, 0, 0, v, 1); | ||
| 4031 | |||
| 4032 | if (entry != NULL) | ||
| 4033 | xs_html_add(lists, | ||
| 4034 | entry); | ||
| 4035 | } | ||
| 4036 | |||
| 4037 | if (show_more) { | ||
| 4038 | xs *m = NULL; | ||
| 4039 | xs *m10 = NULL; | ||
| 4040 | xs *ss = xs_fmt("skip=%d&show=%d", skip + show, show); | ||
| 4041 | |||
| 4042 | xs *url = xs_dup(user == NULL ? srv_baseurl : user->actor); | ||
| 4043 | |||
| 4044 | if (page != NULL) | ||
| 4045 | url = xs_str_cat(url, page); | ||
| 4046 | |||
| 4047 | if (xs_str_in(url, "?") != -1) | ||
| 4048 | m = xs_fmt("%s&%s", url, ss); | ||
| 4049 | else | ||
| 4050 | m = xs_fmt("%s?%s", url, ss); | ||
| 4051 | |||
| 4052 | m10 = xs_fmt("%s0", m); | ||
| 4053 | |||
| 4054 | xs_html *more_links = xs_html_tag("p", | ||
| 4055 | xs_html_tag("a", | ||
| 4056 | xs_html_attr("href", url), | ||
| 4057 | xs_html_attr("name", "snac-more"), | ||
| 4058 | xs_html_text(L("Back to top"))), | ||
| 4059 | xs_html_text(" - "), | ||
| 4060 | xs_html_tag("a", | ||
| 4061 | xs_html_attr("href", m), | ||
| 4062 | xs_html_attr("name", "snac-more"), | ||
| 4063 | xs_html_text(L("More..."))), | ||
| 4064 | xs_html_text(" - "), | ||
| 4065 | xs_html_tag("a", | ||
| 4066 | xs_html_attr("href", m10), | ||
| 4067 | xs_html_attr("name", "snac-more"), | ||
| 4068 | xs_html_text(L("More (x 10)...")))); | ||
| 4069 | |||
| 4070 | xs_html_add(body, | ||
| 4071 | more_links); | ||
| 4072 | } | ||
| 4073 | |||
| 4074 | xs_html *html = xs_html_tag("html", | ||
| 4075 | html_user_head(user, NULL, NULL), | ||
| 4076 | xs_html_add(body, | ||
| 4077 | html_footer(user))); | ||
| 4078 | |||
| 4079 | return xs_html_render_s(html, "<!DOCTYPE html>\n"); | ||
| 4080 | } | ||
| 3589 | 4081 | ||
| 3590 | xs_str *html_notifications(snac *user, int skip, int show) | 4082 | xs_str *html_notifications(snac *user, int skip, int show) |
| 3591 | { | 4083 | { |
| @@ -3654,6 +4146,9 @@ xs_str *html_notifications(snac *user, int skip, int show) | |||
| 3654 | if (xs_is_string(id2) && xs_set_add(&rep, id2) != 1) | 4146 | if (xs_is_string(id2) && xs_set_add(&rep, id2) != 1) |
| 3655 | continue; | 4147 | continue; |
| 3656 | 4148 | ||
| 4149 | if (strcmp(type, "EmojiReact") == 0 && xs_is_true(xs_dict_get(srv_config, "disable_emojireact"))) | ||
| 4150 | continue; | ||
| 4151 | |||
| 3657 | object_get(id, &obj); | 4152 | object_get(id, &obj); |
| 3658 | 4153 | ||
| 3659 | const char *msg_id = NULL; | 4154 | const char *msg_id = NULL; |
| @@ -3689,9 +4184,18 @@ xs_str *html_notifications(snac *user, int skip, int show) | |||
| 3689 | if (strcmp(type, "EmojiReact") == 0 || strcmp(type, "Like") == 0) { | 4184 | if (strcmp(type, "EmojiReact") == 0 || strcmp(type, "Like") == 0) { |
| 3690 | const char *content = xs_dict_get_path(noti, "msg.content"); | 4185 | const char *content = xs_dict_get_path(noti, "msg.content"); |
| 3691 | 4186 | ||
| 4187 | xs *cd = xs_dup(content); | ||
| 4188 | const char *sna = cd; | ||
| 4189 | const xs_dict *tag = xs_dict_get_path(noti, "msg.tag"); | ||
| 4190 | unsigned int utf = xs_utf8_dec((const char **)&sna); | ||
| 4191 | |||
| 4192 | int isEmoji = 0; | ||
| 4193 | if (xs_is_emoji(utf) || (tag && xs_list_len(tag) > 0)) | ||
| 4194 | isEmoji = 1; | ||
| 4195 | |||
| 3692 | if (xs_type(content) == XSTYPE_STRING) { | 4196 | if (xs_type(content) == XSTYPE_STRING) { |
| 3693 | xs *emoji = replace_shortnames(xs_dup(content), xs_dict_get_path(noti, "msg.tag"), 1, proxy); | 4197 | xs *emoji = replace_shortnames(xs_dup(content), xs_dict_get_path(noti, "msg.tag"), 1, proxy); |
| 3694 | wrk = xs_fmt("%s (%s️)", type, emoji); | 4198 | wrk = xs_fmt("%s (%s️)", isEmoji ? "EmojiReact" : "Like", emoji); |
| 3695 | label = wrk; | 4199 | label = wrk; |
| 3696 | } | 4200 | } |
| 3697 | } | 4201 | } |
| @@ -3909,6 +4413,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 3909 | int cache = 1; | 4413 | int cache = 1; |
| 3910 | int save = 1; | 4414 | int save = 1; |
| 3911 | int proxy = 0; | 4415 | int proxy = 0; |
| 4416 | int terse = 0; | ||
| 3912 | const char *v; | 4417 | const char *v; |
| 3913 | 4418 | ||
| 3914 | const xs_dict *q_vars = xs_dict_get(req, "q_vars"); | 4419 | const xs_dict *q_vars = xs_dict_get(req, "q_vars"); |
| @@ -3921,6 +4426,9 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 3921 | return HTTP_STATUS_NOT_FOUND; | 4426 | return HTTP_STATUS_NOT_FOUND; |
| 3922 | } | 4427 | } |
| 3923 | 4428 | ||
| 4429 | if (!xs_is_null(xs_dict_get(q_vars, "terse"))) | ||
| 4430 | terse = 1; | ||
| 4431 | |||
| 3924 | if (strcmp(v, "share-bridge") == 0) { | 4432 | if (strcmp(v, "share-bridge") == 0) { |
| 3925 | /* temporary redirect for a post */ | 4433 | /* temporary redirect for a post */ |
| 3926 | const char *login = xs_dict_get(q_vars, "login"); | 4434 | const char *login = xs_dict_get(q_vars, "login"); |
| @@ -3988,8 +4496,12 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 3988 | cache = 0; | 4496 | cache = 0; |
| 3989 | 4497 | ||
| 3990 | int skip = 0; | 4498 | int skip = 0; |
| 4499 | const char *max_show_default = "50"; | ||
| 4500 | int max_show = xs_number_get(xs_dict_get_def(srv_config, "max_timeline_entries", | ||
| 4501 | max_show_default)); | ||
| 3991 | int def_show = xs_number_get(xs_dict_get_def(srv_config, "def_timeline_entries", | 4502 | int def_show = xs_number_get(xs_dict_get_def(srv_config, "def_timeline_entries", |
| 3992 | xs_dict_get_def(srv_config, "max_timeline_entries", "50"))); | 4503 | xs_dict_get_def(srv_config, "max_timeline_entries", |
| 4504 | max_show_default))); | ||
| 3993 | int show = def_show; | 4505 | int show = def_show; |
| 3994 | 4506 | ||
| 3995 | if ((v = xs_dict_get(q_vars, "skip")) != NULL) | 4507 | if ((v = xs_dict_get(q_vars, "skip")) != NULL) |
| @@ -4015,13 +4527,15 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4015 | /* a show of 0 has no sense */ | 4527 | /* a show of 0 has no sense */ |
| 4016 | if (show == 0) | 4528 | if (show == 0) |
| 4017 | show = def_show; | 4529 | show = def_show; |
| 4530 | if (show > max_show) | ||
| 4531 | show = max_show; | ||
| 4018 | 4532 | ||
| 4019 | if (p_path == NULL) { /** public timeline **/ | 4533 | if (p_path == NULL) { /** public timeline **/ |
| 4020 | xs *h = xs_str_localtime(0, "%Y-%m.html"); | 4534 | xs *h = xs_str_localtime(0, "%Y-%m.html"); |
| 4021 | 4535 | ||
| 4022 | if (xs_type(xs_dict_get(snac.config, "private")) == XSTYPE_TRUE) { | 4536 | if (xs_type(xs_dict_get(snac.config, "private")) == XSTYPE_TRUE) { |
| 4023 | /** empty public timeline for private users **/ | 4537 | /** empty public timeline for private users **/ |
| 4024 | *body = html_timeline(&snac, NULL, 1, 0, 0, 0, NULL, "", 1, error); | 4538 | *body = html_timeline(&snac, NULL, 1, 0, 0, 0, NULL, "", 1, error, terse); |
| 4025 | *b_size = strlen(*body); | 4539 | *b_size = strlen(*body); |
| 4026 | status = HTTP_STATUS_OK; | 4540 | status = HTTP_STATUS_OK; |
| 4027 | } | 4541 | } |
| @@ -4044,7 +4558,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4044 | xs *pins = pinned_list(&snac); | 4558 | xs *pins = pinned_list(&snac); |
| 4045 | pins = xs_list_cat(pins, list); | 4559 | pins = xs_list_cat(pins, list); |
| 4046 | 4560 | ||
| 4047 | *body = html_timeline(&snac, pins, 1, skip, show, more, NULL, "", 1, error); | 4561 | *body = html_timeline(&snac, pins, 1, skip, show, more, NULL, "", 1, error, terse); |
| 4048 | 4562 | ||
| 4049 | *b_size = strlen(*body); | 4563 | *b_size = strlen(*body); |
| 4050 | status = HTTP_STATUS_OK; | 4564 | status = HTTP_STATUS_OK; |
| @@ -4060,9 +4574,15 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4060 | status = HTTP_STATUS_UNAUTHORIZED; | 4574 | status = HTTP_STATUS_UNAUTHORIZED; |
| 4061 | } | 4575 | } |
| 4062 | else { | 4576 | else { |
| 4063 | const char *q = xs_dict_get(q_vars, "q"); | 4577 | const char *q = NULL; |
| 4578 | xs *cq = xs_dup(xs_dict_get(q_vars, "q")); | ||
| 4064 | xs *url_acct = NULL; | 4579 | xs *url_acct = NULL; |
| 4065 | 4580 | ||
| 4581 | if (xs_is_string(cq)) { | ||
| 4582 | cq = xs_strip_i(cq); | ||
| 4583 | q = cq; | ||
| 4584 | } | ||
| 4585 | |||
| 4066 | /* searching for an URL? */ | 4586 | /* searching for an URL? */ |
| 4067 | if (q && xs_match(q, "https://*|http://*")) { | 4587 | if (q && xs_match(q, "https://*|http://*")) { |
| 4068 | /* may by an actor; try a webfinger */ | 4588 | /* may by an actor; try a webfinger */ |
| @@ -4126,11 +4646,11 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4126 | actor_add(actor, actor_obj); | 4646 | actor_add(actor, actor_obj); |
| 4127 | 4647 | ||
| 4128 | /* create a people list with only one element */ | 4648 | /* create a people list with only one element */ |
| 4129 | l = xs_list_append(xs_list_new(), actor); | 4649 | l = xs_list_append(l, actor); |
| 4130 | 4650 | ||
| 4131 | xs *title = xs_fmt(L("Search results for account %s"), q); | 4651 | xs *title = xs_fmt(L("Search results for account %s"), q); |
| 4132 | 4652 | ||
| 4133 | page = html_people_list(&snac, l, title, "wf", NULL); | 4653 | page = html_people_list(&snac, l, title, "wf", NULL, 1); |
| 4134 | } | 4654 | } |
| 4135 | } | 4655 | } |
| 4136 | 4656 | ||
| @@ -4168,7 +4688,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4168 | xs *title = xs_fmt(xs_list_len(tl) ? | 4688 | xs *title = xs_fmt(xs_list_len(tl) ? |
| 4169 | L("Search results for tag %s") : L("Nothing found for tag %s"), q); | 4689 | L("Search results for tag %s") : L("Nothing found for tag %s"), q); |
| 4170 | 4690 | ||
| 4171 | *body = html_timeline(&snac, tl, 0, skip, show, more, title, page, 0, error); | 4691 | *body = html_timeline(&snac, tl, 0, skip, show, more, title, page, 0, error, terse); |
| 4172 | *b_size = strlen(*body); | 4692 | *b_size = strlen(*body); |
| 4173 | status = HTTP_STATUS_OK; | 4693 | status = HTTP_STATUS_OK; |
| 4174 | } | 4694 | } |
| @@ -4193,7 +4713,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4193 | title = xs_fmt(L("Nothing found for '%s'"), q); | 4713 | title = xs_fmt(L("Nothing found for '%s'"), q); |
| 4194 | 4714 | ||
| 4195 | *body = html_timeline(&snac, tl, 0, skip, tl_len, to || tl_len == show, | 4715 | *body = html_timeline(&snac, tl, 0, skip, tl_len, to || tl_len == show, |
| 4196 | title, page, 0, error); | 4716 | title, page, 0, error, terse); |
| 4197 | *b_size = strlen(*body); | 4717 | *b_size = strlen(*body); |
| 4198 | status = HTTP_STATUS_OK; | 4718 | status = HTTP_STATUS_OK; |
| 4199 | } | 4719 | } |
| @@ -4220,7 +4740,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4220 | xs *list = timeline_list(&snac, "private", skip, show, &more); | 4740 | xs *list = timeline_list(&snac, "private", skip, show, &more); |
| 4221 | 4741 | ||
| 4222 | *body = html_timeline(&snac, list, 0, skip, show, | 4742 | *body = html_timeline(&snac, list, 0, skip, show, |
| 4223 | more, NULL, "/admin", 1, error); | 4743 | more, NULL, "/admin", 1, error, terse); |
| 4224 | 4744 | ||
| 4225 | *b_size = strlen(*body); | 4745 | *b_size = strlen(*body); |
| 4226 | status = HTTP_STATUS_OK; | 4746 | status = HTTP_STATUS_OK; |
| @@ -4247,7 +4767,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4247 | xs *list0 = xs_list_append(xs_list_new(), md5); | 4767 | xs *list0 = xs_list_append(xs_list_new(), md5); |
| 4248 | xs *list = timeline_top_level(&snac, list0); | 4768 | xs *list = timeline_top_level(&snac, list0); |
| 4249 | 4769 | ||
| 4250 | *body = html_timeline(&snac, list, 0, 0, 0, 0, NULL, "/admin", 1, error); | 4770 | *body = html_timeline(&snac, list, 0, 0, 0, 0, NULL, "/admin", 1, error, terse); |
| 4251 | *b_size = strlen(*body); | 4771 | *b_size = strlen(*body); |
| 4252 | status = HTTP_STATUS_OK; | 4772 | status = HTTP_STATUS_OK; |
| 4253 | } | 4773 | } |
| @@ -4266,6 +4786,37 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4266 | } | 4786 | } |
| 4267 | } | 4787 | } |
| 4268 | else | 4788 | else |
| 4789 | if (xs_startswith(p_path, "people/")) { /** a single actor **/ | ||
| 4790 | if (!login(&snac, req)) { | ||
| 4791 | *body = xs_dup(uid); | ||
| 4792 | status = HTTP_STATUS_UNAUTHORIZED; | ||
| 4793 | } | ||
| 4794 | else { | ||
| 4795 | xs *actor_dict = NULL; | ||
| 4796 | const char *actor_id = NULL; | ||
| 4797 | xs *actor = NULL; | ||
| 4798 | xs_list *page_lst = xs_split_n(p_path, "?", 2); | ||
| 4799 | xs *page = xs_str_cat(xs_str_new("/"), xs_list_get(page_lst, 0)); | ||
| 4800 | xs_list *l = xs_split_n(page, "/", 3); | ||
| 4801 | const char *actor_md5 = xs_list_get(l, 2); | ||
| 4802 | |||
| 4803 | if (valid_status(object_get_by_md5(actor_md5, &actor_dict)) && | ||
| 4804 | (actor_id = xs_dict_get(actor_dict, "id")) != NULL && | ||
| 4805 | valid_status(actor_get(actor_id, &actor))) { | ||
| 4806 | int more = 0; | ||
| 4807 | xs *list = timeline_simple_list(&snac, "private", skip, show, &more); | ||
| 4808 | |||
| 4809 | *body = html_people_one(&snac, actor_id, list, skip, show, more, page); | ||
| 4810 | *b_size = strlen(*body); | ||
| 4811 | status = HTTP_STATUS_OK; | ||
| 4812 | } | ||
| 4813 | else { | ||
| 4814 | *body = xs_dup(uid); | ||
| 4815 | status = HTTP_STATUS_NOT_FOUND; | ||
| 4816 | } | ||
| 4817 | } | ||
| 4818 | } | ||
| 4819 | else | ||
| 4269 | if (strcmp(p_path, "notifications") == 0) { /** the list of notifications **/ | 4820 | if (strcmp(p_path, "notifications") == 0) { /** the list of notifications **/ |
| 4270 | if (!login(&snac, req)) { | 4821 | if (!login(&snac, req)) { |
| 4271 | *body = xs_dup(uid); | 4822 | *body = xs_dup(uid); |
| @@ -4288,7 +4839,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4288 | xs *next = timeline_instance_list(skip + show, 1); | 4839 | xs *next = timeline_instance_list(skip + show, 1); |
| 4289 | 4840 | ||
| 4290 | *body = html_timeline(&snac, list, 0, skip, show, | 4841 | *body = html_timeline(&snac, list, 0, skip, show, |
| 4291 | xs_list_len(next), L("Showing instance timeline"), "/instance", 0, error); | 4842 | xs_list_len(next), L("Showing instance timeline"), "/instance", 0, error, terse); |
| 4292 | *b_size = strlen(*body); | 4843 | *b_size = strlen(*body); |
| 4293 | status = HTTP_STATUS_OK; | 4844 | status = HTTP_STATUS_OK; |
| 4294 | } | 4845 | } |
| @@ -4303,7 +4854,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4303 | xs *list = pinned_list(&snac); | 4854 | xs *list = pinned_list(&snac); |
| 4304 | 4855 | ||
| 4305 | *body = html_timeline(&snac, list, 0, skip, show, | 4856 | *body = html_timeline(&snac, list, 0, skip, show, |
| 4306 | 0, L("Pinned posts"), "", 0, error); | 4857 | 0, L("Pinned posts"), "", 0, error, terse); |
| 4307 | *b_size = strlen(*body); | 4858 | *b_size = strlen(*body); |
| 4308 | status = HTTP_STATUS_OK; | 4859 | status = HTTP_STATUS_OK; |
| 4309 | } | 4860 | } |
| @@ -4318,7 +4869,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4318 | xs *list = bookmark_list(&snac); | 4869 | xs *list = bookmark_list(&snac); |
| 4319 | 4870 | ||
| 4320 | *body = html_timeline(&snac, list, 0, skip, show, | 4871 | *body = html_timeline(&snac, list, 0, skip, show, |
| 4321 | 0, L("Bookmarked posts"), "", 0, error); | 4872 | 0, L("Bookmarked posts"), "", 0, error, terse); |
| 4322 | *b_size = strlen(*body); | 4873 | *b_size = strlen(*body); |
| 4323 | status = HTTP_STATUS_OK; | 4874 | status = HTTP_STATUS_OK; |
| 4324 | } | 4875 | } |
| @@ -4333,7 +4884,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4333 | xs *list = draft_list(&snac); | 4884 | xs *list = draft_list(&snac); |
| 4334 | 4885 | ||
| 4335 | *body = html_timeline(&snac, list, 0, skip, show, | 4886 | *body = html_timeline(&snac, list, 0, skip, show, |
| 4336 | 0, L("Post drafts"), "", 0, error); | 4887 | 0, L("Post drafts"), "", 0, error, terse); |
| 4337 | *b_size = strlen(*body); | 4888 | *b_size = strlen(*body); |
| 4338 | status = HTTP_STATUS_OK; | 4889 | status = HTTP_STATUS_OK; |
| 4339 | } | 4890 | } |
| @@ -4348,7 +4899,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4348 | xs *list = scheduled_list(&snac); | 4899 | xs *list = scheduled_list(&snac); |
| 4349 | 4900 | ||
| 4350 | *body = html_timeline(&snac, list, 0, skip, show, | 4901 | *body = html_timeline(&snac, list, 0, skip, show, |
| 4351 | 0, L("Scheduled posts"), "", 0, error); | 4902 | 0, L("Scheduled posts"), "", 0, error, terse); |
| 4352 | *b_size = strlen(*body); | 4903 | *b_size = strlen(*body); |
| 4353 | status = HTTP_STATUS_OK; | 4904 | status = HTTP_STATUS_OK; |
| 4354 | } | 4905 | } |
| @@ -4374,7 +4925,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4374 | xs *title = xs_fmt(L("Showing timeline for list '%s'"), name); | 4925 | xs *title = xs_fmt(L("Showing timeline for list '%s'"), name); |
| 4375 | 4926 | ||
| 4376 | *body = html_timeline(&snac, ttl, 0, skip, show, | 4927 | *body = html_timeline(&snac, ttl, 0, skip, show, |
| 4377 | xs_list_len(next), title, base, 1, error); | 4928 | xs_list_len(next), title, base, 1, error, terse); |
| 4378 | *b_size = strlen(*body); | 4929 | *b_size = strlen(*body); |
| 4379 | status = HTTP_STATUS_OK; | 4930 | status = HTTP_STATUS_OK; |
| 4380 | } | 4931 | } |
| @@ -4394,7 +4945,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4394 | 4945 | ||
| 4395 | list = xs_list_append(list, md5); | 4946 | list = xs_list_append(list, md5); |
| 4396 | 4947 | ||
| 4397 | *body = html_timeline(&snac, list, 1, 0, 0, 0, NULL, "", 1, error); | 4948 | *body = html_timeline(&snac, list, 1, 0, 0, 0, NULL, "", 1, error, terse); |
| 4398 | *b_size = strlen(*body); | 4949 | *b_size = strlen(*body); |
| 4399 | status = HTTP_STATUS_OK; | 4950 | status = HTTP_STATUS_OK; |
| 4400 | } | 4951 | } |
| @@ -4582,8 +5133,8 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 4582 | xs *msg = msg_admiration(&snac, id, *action == 'L' ? "Like" : "Announce"); | 5133 | xs *msg = msg_admiration(&snac, id, *action == 'L' ? "Like" : "Announce"); |
| 4583 | 5134 | ||
| 4584 | if (msg != NULL) { | 5135 | if (msg != NULL) { |
| 5136 | timeline_admire(&snac, xs_dict_get(msg, "object"), snac.actor, *action == 'L' ? 1 : 0, msg); | ||
| 4585 | enqueue_message(&snac, msg); | 5137 | enqueue_message(&snac, msg); |
| 4586 | timeline_admire(&snac, xs_dict_get(msg, "object"), snac.actor, *action == 'L' ? 1 : 0); | ||
| 4587 | 5138 | ||
| 4588 | status = HTTP_STATUS_SEE_OTHER; | 5139 | status = HTTP_STATUS_SEE_OTHER; |
| 4589 | } | 5140 | } |
| @@ -4858,6 +5409,9 @@ int html_post_handler(const xs_dict *req, const char *q_path, | |||
| 4858 | /* overwrite object, not updating the indexes */ | 5409 | /* overwrite object, not updating the indexes */ |
| 4859 | object_add_ow(edit_id, msg); | 5410 | object_add_ow(edit_id, msg); |
| 4860 | 5411 | ||
| 5412 | /* index tags */ | ||
| 5413 | tag_index(edit_id, msg); | ||
| 5414 | |||
| 4861 | /* update message */ | 5415 | /* update message */ |
| 4862 | c_msg = msg_update(&snac, msg); | 5416 | c_msg = msg_update(&snac, msg); |
| 4863 | } | 5417 | } |
| @@ -4891,12 +5445,36 @@ int html_post_handler(const xs_dict *req, const char *q_path, | |||
| 4891 | 5445 | ||
| 4892 | status = HTTP_STATUS_SEE_OTHER; | 5446 | status = HTTP_STATUS_SEE_OTHER; |
| 4893 | 5447 | ||
| 5448 | if (strcmp(action, L("EmojiUnreact")) == 0) { /** **/ | ||
| 5449 | const char *eid = xs_dict_get(p_vars, "eid"); | ||
| 5450 | |||
| 5451 | if (eid != NULL) { | ||
| 5452 | xs *n_msg = msg_emoji_unreact(&snac, id, eid); | ||
| 5453 | |||
| 5454 | if (n_msg != NULL) | ||
| 5455 | enqueue_message(&snac, n_msg); | ||
| 5456 | } | ||
| 5457 | } | ||
| 5458 | else | ||
| 5459 | if (strcmp(action, L("EmojiReact")) == 0) { /** **/ | ||
| 5460 | xs *eid = xs_dup(xs_dict_get(p_vars, "eid")); | ||
| 5461 | |||
| 5462 | eid = xs_strip_chars_i(eid, ":"); | ||
| 5463 | |||
| 5464 | const xs_dict *ret = msg_emoji_init(&snac, id, eid); | ||
| 5465 | /* fails if either invalid or already reacted */ | ||
| 5466 | if (!ret) | ||
| 5467 | ret = msg_emoji_unreact(&snac, id, eid); | ||
| 5468 | if (!ret) | ||
| 5469 | status = HTTP_STATUS_NOT_FOUND; | ||
| 5470 | } | ||
| 5471 | else | ||
| 4894 | if (strcmp(action, L("Like")) == 0) { /** **/ | 5472 | if (strcmp(action, L("Like")) == 0) { /** **/ |
| 4895 | xs *msg = msg_admiration(&snac, id, "Like"); | 5473 | xs *msg = msg_admiration(&snac, id, "Like"); |
| 4896 | 5474 | ||
| 4897 | if (msg != NULL) { | 5475 | if (msg != NULL) { |
| 5476 | timeline_admire(&snac, xs_dict_get(msg, "object"), snac.actor, 1, msg); | ||
| 4898 | enqueue_message(&snac, msg); | 5477 | enqueue_message(&snac, msg); |
| 4899 | timeline_admire(&snac, xs_dict_get(msg, "object"), snac.actor, 1); | ||
| 4900 | } | 5478 | } |
| 4901 | } | 5479 | } |
| 4902 | else | 5480 | else |
| @@ -4904,8 +5482,8 @@ int html_post_handler(const xs_dict *req, const char *q_path, | |||
| 4904 | xs *msg = msg_admiration(&snac, id, "Announce"); | 5482 | xs *msg = msg_admiration(&snac, id, "Announce"); |
| 4905 | 5483 | ||
| 4906 | if (msg != NULL) { | 5484 | if (msg != NULL) { |
| 5485 | timeline_admire(&snac, xs_dict_get(msg, "object"), snac.actor, 0, msg); | ||
| 4907 | enqueue_message(&snac, msg); | 5486 | enqueue_message(&snac, msg); |
| 4908 | timeline_admire(&snac, xs_dict_get(msg, "object"), snac.actor, 0); | ||
| 4909 | } | 5487 | } |
| 4910 | } | 5488 | } |
| 4911 | else | 5489 | else |
| @@ -5022,7 +5600,7 @@ int html_post_handler(const xs_dict *req, const char *q_path, | |||
| 5022 | } | 5600 | } |
| 5023 | else { | 5601 | else { |
| 5024 | /* delete an entry */ | 5602 | /* delete an entry */ |
| 5025 | if (xs_startswith(id, snac.actor) && !is_draft(&snac, id)) { | 5603 | if (is_msg_mine(&snac, id) && !is_draft(&snac, id)) { |
| 5026 | /* it's a post by us: generate a delete */ | 5604 | /* it's a post by us: generate a delete */ |
| 5027 | xs *msg = msg_delete(&snac, id); | 5605 | xs *msg = msg_delete(&snac, id); |
| 5028 | 5606 | ||
| @@ -5351,6 +5929,33 @@ int html_post_handler(const xs_dict *req, const char *q_path, | |||
| 5351 | 5929 | ||
| 5352 | status = HTTP_STATUS_SEE_OTHER; | 5930 | status = HTTP_STATUS_SEE_OTHER; |
| 5353 | } | 5931 | } |
| 5932 | else | ||
| 5933 | if (p_path && strcmp(p_path, "admin/muted-words") == 0) { | ||
| 5934 | const char *words = xs_dict_get(p_vars, "muted_words"); | ||
| 5935 | |||
| 5936 | if (xs_is_string(words)) { | ||
| 5937 | xs *new_words = xs_list_new(); | ||
| 5938 | xs *l = xs_split(words, "\n"); | ||
| 5939 | const char *v; | ||
| 5940 | |||
| 5941 | xs_list_foreach(l, v) { | ||
| 5942 | xs *s1 = xs_strip_i(xs_dup(v)); | ||
| 5943 | s1 = xs_replace_i(s1, " ", ""); | ||
| 5944 | |||
| 5945 | if (*s1 == '\0') | ||
| 5946 | continue; | ||
| 5947 | |||
| 5948 | xs *s2 = xs_utf8_to_lower(s1); | ||
| 5949 | |||
| 5950 | new_words = xs_list_insert_sorted(new_words, s2); | ||
| 5951 | } | ||
| 5952 | |||
| 5953 | snac.config = xs_dict_set(snac.config, "muted_words", new_words); | ||
| 5954 | user_persist(&snac, 0); | ||
| 5955 | } | ||
| 5956 | |||
| 5957 | status = HTTP_STATUS_SEE_OTHER; | ||
| 5958 | } | ||
| 5354 | 5959 | ||
| 5355 | if (status == HTTP_STATUS_SEE_OTHER) { | 5960 | if (status == HTTP_STATUS_SEE_OTHER) { |
| 5356 | const char *hard_redir = xs_dict_get(p_vars, "hard-redir"); | 5961 | const char *hard_redir = xs_dict_get(p_vars, "hard-redir"); |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_io.h" | 5 | #include "xs_io.h" |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_io.h" | 5 | #include "xs_io.h" |
| @@ -257,7 +257,7 @@ int server_get_handler(xs_dict *req, const char *q_path, | |||
| 257 | else { | 257 | else { |
| 258 | xs *page = xs_fmt("?t=%s", t); | 258 | xs *page = xs_fmt("?t=%s", t); |
| 259 | xs *title = xs_fmt(L("Search results for tag #%s"), t); | 259 | xs *title = xs_fmt(L("Search results for tag #%s"), t); |
| 260 | *body = html_timeline(NULL, tl, 0, skip, show, more, title, page, 0, NULL); | 260 | *body = html_timeline(NULL, tl, 0, skip, show, more, title, page, 0, NULL, 0); |
| 261 | } | 261 | } |
| 262 | } | 262 | } |
| 263 | else | 263 | else |
| @@ -265,7 +265,7 @@ int server_get_handler(xs_dict *req, const char *q_path, | |||
| 265 | /** instance timeline **/ | 265 | /** instance timeline **/ |
| 266 | xs *tl = timeline_instance_list(0, 30); | 266 | xs *tl = timeline_instance_list(0, 30); |
| 267 | *body = html_timeline(NULL, tl, 0, 0, 0, 0, | 267 | *body = html_timeline(NULL, tl, 0, 0, 0, 0, |
| 268 | L("Recent posts by users in this instance"), NULL, 0, NULL); | 268 | L("Recent posts by users in this instance"), NULL, 0, NULL, 0); |
| 269 | } | 269 | } |
| 270 | else | 270 | else |
| 271 | *body = greeting_html(); | 271 | *body = greeting_html(); |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_io.h" | 5 | #include "xs_io.h" |
| @@ -18,7 +18,7 @@ | |||
| 18 | int usage(const char *cmd) | 18 | int usage(const char *cmd) |
| 19 | { | 19 | { |
| 20 | printf("snac " VERSION " - A simple, minimalistic ActivityPub instance\n"); | 20 | printf("snac " VERSION " - A simple, minimalistic ActivityPub instance\n"); |
| 21 | printf("Copyright (c) 2022 - 2025 grunfink et al. / MIT license\n"); | 21 | printf("Copyright (c) 2022 - 2026 grunfink et al. / MIT license\n"); |
| 22 | printf("\n"); | 22 | printf("\n"); |
| 23 | 23 | ||
| 24 | if (cmd == NULL) { | 24 | if (cmd == NULL) { |
| @@ -76,7 +76,9 @@ int usage(const char *cmd) | |||
| 76 | "list_create {basedir} {uid} {name} Creates a new list\n" | 76 | "list_create {basedir} {uid} {name} Creates a new list\n" |
| 77 | "list_remove {basedir} {uid} {name} Removes an existing list\n" | 77 | "list_remove {basedir} {uid} {name} Removes an existing list\n" |
| 78 | "list_add {basedir} {uid} {name} {acct} Adds an account (@user@host or actor url) to a list\n" | 78 | "list_add {basedir} {uid} {name} {acct} Adds an account (@user@host or actor url) to a list\n" |
| 79 | "list_del {basedir} {uid} {name} {actor} Deletes an actor URL from a list\n"; | 79 | "list_del {basedir} {uid} {name} {actor} Deletes an actor URL from a list\n" |
| 80 | "top_ten {basedir} {uid} [{N}] Prints the most popular posts\n" | ||
| 81 | "refresh {basedir} {uid} Refreshes all actors\n"; | ||
| 80 | 82 | ||
| 81 | if (cmd == NULL) | 83 | if (cmd == NULL) |
| 82 | printf("%s", cmds); | 84 | printf("%s", cmds); |
| @@ -350,6 +352,38 @@ int main(int argc, char *argv[]) | |||
| 350 | return 0; | 352 | return 0; |
| 351 | } | 353 | } |
| 352 | 354 | ||
| 355 | if (strcmp(cmd, "top_ten") == 0) { /** **/ | ||
| 356 | int count = 10; | ||
| 357 | const char *n = GET_ARGV(); | ||
| 358 | if (xs_is_string(n)) | ||
| 359 | count = atoi(n); | ||
| 360 | |||
| 361 | xs *l = user_top_ten(&snac, count); | ||
| 362 | const xs_list *i; | ||
| 363 | |||
| 364 | xs_list_foreach(l, i) { | ||
| 365 | printf("%s %ld★ %ld↺\n", xs_list_get(i, 0), | ||
| 366 | xs_number_get_l(xs_list_get(i, 1)), | ||
| 367 | xs_number_get_l(xs_list_get(i, 2))); | ||
| 368 | } | ||
| 369 | |||
| 370 | return 0; | ||
| 371 | } | ||
| 372 | |||
| 373 | if (strcmp(cmd, "refresh") == 0) { /** **/ | ||
| 374 | xs *fwers = follower_list(&snac); | ||
| 375 | xs *fwing = following_list(&snac); | ||
| 376 | const char *id; | ||
| 377 | |||
| 378 | xs_list_foreach(fwers, id) | ||
| 379 | enqueue_actor_refresh(&snac, id, 0); | ||
| 380 | |||
| 381 | xs_list_foreach(fwing, id) | ||
| 382 | enqueue_actor_refresh(&snac, id, 0); | ||
| 383 | |||
| 384 | return 0; | ||
| 385 | } | ||
| 386 | |||
| 353 | if ((url = GET_ARGV()) == NULL) | 387 | if ((url = GET_ARGV()) == NULL) |
| 354 | return usage(cmd); | 388 | return usage(cmd); |
| 355 | 389 | ||
| @@ -498,7 +532,7 @@ int main(int argc, char *argv[]) | |||
| 498 | 532 | ||
| 499 | if (msg != NULL) { | 533 | if (msg != NULL) { |
| 500 | enqueue_message(&snac, msg); | 534 | enqueue_message(&snac, msg); |
| 501 | timeline_admire(&snac, xs_dict_get(msg, "object"), snac.actor, 0); | 535 | timeline_admire(&snac, xs_dict_get(msg, "object"), snac.actor, 0, ""); |
| 502 | 536 | ||
| 503 | if (dbglevel) { | 537 | if (dbglevel) { |
| 504 | xs_json_dump(msg, 4, stdout); | 538 | xs_json_dump(msg, 4, stdout); |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #ifndef NO_MASTODON_API | 4 | #ifndef NO_MASTODON_API |
| 5 | 5 | ||
| @@ -1158,6 +1158,103 @@ xs_dict *mastoapi_status(snac *snac, const xs_dict *msg) | |||
| 1158 | st = xs_dict_append(st, "tags", htl); | 1158 | st = xs_dict_append(st, "tags", htl); |
| 1159 | st = xs_dict_append(st, "emojis", eml); | 1159 | st = xs_dict_append(st, "emojis", eml); |
| 1160 | } | 1160 | } |
| 1161 | { | ||
| 1162 | xs *rl = object_get_emoji_reacts(id); | ||
| 1163 | xs *frl = xs_list_new(); /* final */ | ||
| 1164 | xs *sfrl = xs_dict_new(); /* seen */ | ||
| 1165 | int c = 0; | ||
| 1166 | const char *v; | ||
| 1167 | |||
| 1168 | while (xs_list_next(rl, &v, &c)) { | ||
| 1169 | xs *msg = NULL; | ||
| 1170 | if (valid_status(object_get_by_md5(v, &msg))) { | ||
| 1171 | const char *content = xs_dict_get(msg, "content"); | ||
| 1172 | const char *actor = xs_dict_get(msg, "actor"); | ||
| 1173 | const xs_list *contentl = xs_dict_get(sfrl, content); | ||
| 1174 | |||
| 1175 | if ((snac && is_muted(snac, actor)) || is_instance_blocked(actor)) | ||
| 1176 | continue; | ||
| 1177 | |||
| 1178 | /* NOTE: idk when there are no actor, but i encountered that bug. | ||
| 1179 | * Probably because of one of my previous attempts. | ||
| 1180 | * Keeping this just in case, can remove later */ | ||
| 1181 | const char *me = actor && snac && strcmp(actor, snac->actor) == 0 ? | ||
| 1182 | xs_stock(XSTYPE_TRUE) : xs_stock(XSTYPE_FALSE); | ||
| 1183 | int count = 1; | ||
| 1184 | |||
| 1185 | if (contentl) { | ||
| 1186 | count = atoi(xs_list_get(contentl, 0)) + 1; | ||
| 1187 | if (strncmp(xs_list_get(contentl, 1), xs_stock(XSTYPE_TRUE), 1) == 0) | ||
| 1188 | me = xs_stock(XSTYPE_TRUE); | ||
| 1189 | } | ||
| 1190 | |||
| 1191 | xs *fl = xs_list_new(); | ||
| 1192 | xs *c1 = xs_fmt("%d", count); | ||
| 1193 | fl = xs_list_append(fl, c1, me); | ||
| 1194 | sfrl = xs_dict_append(sfrl, content, fl); | ||
| 1195 | } | ||
| 1196 | } | ||
| 1197 | |||
| 1198 | c = 0; | ||
| 1199 | |||
| 1200 | while (xs_list_next(rl, &v, &c)) { | ||
| 1201 | xs *msg = NULL; | ||
| 1202 | if (valid_status(object_get_by_md5(v, &msg))) { | ||
| 1203 | xs *d1 = xs_dict_new(); | ||
| 1204 | |||
| 1205 | const xs_dict *icon = xs_dict_get(xs_list_get(xs_dict_get(msg, "tag"), 0), "icon"); | ||
| 1206 | const char *o_url = xs_dict_get(icon, "url"); | ||
| 1207 | const char *name = xs_dict_get(msg, "content"); | ||
| 1208 | const char *actor = xs_dict_get(msg, "actor"); | ||
| 1209 | |||
| 1210 | xs *nm = xs_dup(name); | ||
| 1211 | xs *url = NULL; | ||
| 1212 | |||
| 1213 | if (!xs_is_null(o_url)) { | ||
| 1214 | if (actor && snac && !strcmp(actor, snac->actor)) | ||
| 1215 | url = make_url(o_url, NULL, 1); | ||
| 1216 | else | ||
| 1217 | url = xs_dup(o_url); | ||
| 1218 | } | ||
| 1219 | |||
| 1220 | xs *accounts = xs_list_new(); | ||
| 1221 | if (actor) { | ||
| 1222 | xs *d2 = xs_dict_new(); | ||
| 1223 | object_get(actor, &d2); | ||
| 1224 | xs *e_acct = mastoapi_account(snac, d2); | ||
| 1225 | accounts = xs_list_append(accounts, e_acct); | ||
| 1226 | } | ||
| 1227 | |||
| 1228 | const xs_list *item = xs_dict_get(sfrl, nm); | ||
| 1229 | const xs_str *nb = xs_list_get(item, 0); | ||
| 1230 | const xs_val *me = xs_list_get(item, 1); | ||
| 1231 | if (item == NULL) | ||
| 1232 | continue; | ||
| 1233 | |||
| 1234 | if (nm && strcmp(nm, "")) { | ||
| 1235 | if (url && strcmp(url, "")) { | ||
| 1236 | d1 = xs_dict_append(d1, "name", nm); | ||
| 1237 | d1 = xs_dict_append(d1, "shortcode", nm); | ||
| 1238 | d1 = xs_dict_append(d1, "accounts", accounts); | ||
| 1239 | d1 = xs_dict_append(d1, "me", me); | ||
| 1240 | d1 = xs_dict_append(d1, "url", url); | ||
| 1241 | d1 = xs_dict_append(d1, "static_url", url); | ||
| 1242 | d1 = xs_dict_append(d1, "visible_in_picker", xs_stock(XSTYPE_TRUE)); | ||
| 1243 | d1 = xs_dict_append(d1, "count", nb); | ||
| 1244 | } else { | ||
| 1245 | d1 = xs_dict_append(d1, "name", nm); | ||
| 1246 | d1 = xs_dict_append(d1, "count", nb); | ||
| 1247 | d1 = xs_dict_append(d1, "me", me); | ||
| 1248 | d1 = xs_dict_append(d1, "visible_in_picker", xs_stock(XSTYPE_TRUE)); | ||
| 1249 | } | ||
| 1250 | sfrl = xs_dict_del(sfrl, nm); | ||
| 1251 | frl = xs_list_append(frl, d1); | ||
| 1252 | } | ||
| 1253 | } | ||
| 1254 | } | ||
| 1255 | |||
| 1256 | st = xs_dict_append(st, "reactions", frl); | ||
| 1257 | } | ||
| 1161 | 1258 | ||
| 1162 | xs_free(idx); | 1259 | xs_free(idx); |
| 1163 | xs_free(ixc); | 1260 | xs_free(ixc); |
| @@ -1712,6 +1809,37 @@ xs_list *mastoapi_account_lists(snac *user, const char *uid) | |||
| 1712 | } | 1809 | } |
| 1713 | 1810 | ||
| 1714 | 1811 | ||
| 1812 | xs_list *build_childrens(const xs_dict *msg, snac *snac1) { | ||
| 1813 | xs_list *ret = xs_list_new(); | ||
| 1814 | xs *children = object_children(xs_dict_get(msg, "id")); | ||
| 1815 | char *p = children; | ||
| 1816 | const xs_str *v; | ||
| 1817 | |||
| 1818 | while (xs_list_iter(&p, &v)) { | ||
| 1819 | xs *m2 = NULL; | ||
| 1820 | |||
| 1821 | if (valid_status(timeline_get_by_md5(snac1, v, &m2))) { | ||
| 1822 | if (xs_is_null(xs_dict_get(m2, "name"))) { | ||
| 1823 | xs *st = mastoapi_status(snac1, m2); | ||
| 1824 | |||
| 1825 | if (st) { | ||
| 1826 | /* childrens children */ | ||
| 1827 | xs *childs = build_childrens(m2, snac1); | ||
| 1828 | ret = xs_list_append(ret, st); | ||
| 1829 | if (xs_list_len(childs)) { | ||
| 1830 | char *p2 = childs; | ||
| 1831 | while (xs_list_iter(&p2, &v)) | ||
| 1832 | ret = xs_list_append(ret, v); | ||
| 1833 | |||
| 1834 | } | ||
| 1835 | } | ||
| 1836 | } | ||
| 1837 | } | ||
| 1838 | } | ||
| 1839 | return ret; | ||
| 1840 | } | ||
| 1841 | |||
| 1842 | |||
| 1715 | int mastoapi_get_handler(const xs_dict *req, const char *q_path, | 1843 | int mastoapi_get_handler(const xs_dict *req, const char *q_path, |
| 1716 | char **body, int *b_size, char **ctype, xs_str **link) | 1844 | char **body, int *b_size, char **ctype, xs_str **link) |
| 1717 | { | 1845 | { |
| @@ -1892,60 +2020,64 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 1892 | } | 2020 | } |
| 1893 | else | 2021 | else |
| 1894 | if (strcmp(opt, "statuses") == 0) { /** **/ | 2022 | if (strcmp(opt, "statuses") == 0) { /** **/ |
| 1895 | /* the public list of posts of a user */ | 2023 | if (logged_in || xs_type(xs_dict_get(snac2.config, "private")) == XSTYPE_FALSE) { |
| 1896 | const char *limit_s = xs_dict_get(args, "limit"); | 2024 | /* the public list of posts of a user */ |
| 1897 | const char *o_max_id = xs_dict_get(args, "max_id"); | 2025 | const char *limit_s = xs_dict_get(args, "limit"); |
| 1898 | int limit = limit_s ? atoi(limit_s) : 20; | 2026 | const char *o_max_id = xs_dict_get(args, "max_id"); |
| 1899 | xs *max_id = o_max_id ? xs_tolower_i(xs_dup(o_max_id)) : NULL; | 2027 | int limit = limit_s ? atoi(limit_s) : 20; |
| 2028 | xs *max_id = o_max_id ? xs_tolower_i(xs_dup(o_max_id)) : NULL; | ||
| 1900 | 2029 | ||
| 1901 | srv_debug(1, xs_fmt("account statuses: max_id=%s limit=%d", max_id ? max_id : "(null)", limit)); | 2030 | srv_debug(1, xs_fmt("account statuses: max_id=%s limit=%d", max_id ? max_id : "(null)", limit)); |
| 1902 | 2031 | ||
| 1903 | xs *timeline = timeline_simple_list(&snac2, "public", 0, 256, NULL); | 2032 | xs *timeline = timeline_simple_list(&snac2, "public", 0, 256, NULL); |
| 1904 | xs_list *p = timeline; | 2033 | xs_list *p = timeline; |
| 1905 | const xs_str *v; | 2034 | const xs_str *v; |
| 1906 | xs_set seen; | 2035 | xs_set seen; |
| 1907 | int cnt = 0; | 2036 | int cnt = 0; |
| 1908 | int skip_until_max = max_id != NULL; | 2037 | int skip_until_max = max_id != NULL; |
| 1909 | 2038 | ||
| 1910 | out = xs_list_new(); | 2039 | out = xs_list_new(); |
| 1911 | xs_set_init(&seen); | 2040 | xs_set_init(&seen); |
| 1912 | 2041 | ||
| 1913 | while (xs_list_iter(&p, &v) && cnt < limit) { | 2042 | while (xs_list_iter(&p, &v) && cnt < limit) { |
| 1914 | xs *msg = NULL; | 2043 | xs *msg = NULL; |
| 1915 | 2044 | ||
| 1916 | if (valid_status(timeline_get_by_md5(&snac2, v, &msg))) { | 2045 | if (valid_status(timeline_get_by_md5(&snac2, v, &msg))) { |
| 1917 | const char *msg_id = xs_dict_get(msg, "id"); | 2046 | const char *msg_id = xs_dict_get(msg, "id"); |
| 1918 | 2047 | ||
| 1919 | /* add only posts by the author */ | 2048 | /* add only posts by the author */ |
| 1920 | if (!xs_is_null(msg_id) && | 2049 | if (!xs_is_null(msg_id) && |
| 1921 | strcmp(xs_dict_get(msg, "type"), "Note") == 0 && | 2050 | strcmp(xs_dict_get(msg, "type"), "Note") == 0 && |
| 1922 | xs_startswith(xs_dict_get(msg, "id"), snac2.actor) && is_msg_public(msg)) { | 2051 | is_msg_mine(&snac2, xs_dict_get(msg, "id")) && is_msg_public(msg)) { |
| 1923 | 2052 | ||
| 1924 | /* if max_id is set, skip entries until we find it */ | 2053 | /* if max_id is set, skip entries until we find it */ |
| 1925 | if (skip_until_max) { | 2054 | if (skip_until_max) { |
| 1926 | xs *mid = mastoapi_id(msg); | 2055 | xs *mid = mastoapi_id(msg); |
| 1927 | if (strcmp(mid, max_id) == 0) { | 2056 | if (strcmp(mid, max_id) == 0) { |
| 1928 | skip_until_max = 0; | 2057 | skip_until_max = 0; |
| 1929 | srv_debug(2, xs_fmt("account statuses: found max_id, starting from next post")); | 2058 | srv_debug(2, xs_fmt("account statuses: found max_id, starting from next post")); |
| 2059 | } | ||
| 2060 | continue; | ||
| 1930 | } | 2061 | } |
| 1931 | continue; | ||
| 1932 | } | ||
| 1933 | 2062 | ||
| 1934 | /* deduplicate by message id */ | 2063 | /* deduplicate by message id */ |
| 1935 | if (xs_set_add(&seen, msg_id) == 1) { | 2064 | if (xs_set_add(&seen, msg_id) == 1) { |
| 1936 | xs *st = mastoapi_status(&snac2, msg); | 2065 | xs *st = mastoapi_status(&snac2, msg); |
| 1937 | 2066 | ||
| 1938 | if (st) { | 2067 | if (st) { |
| 1939 | out = xs_list_append(out, st); | 2068 | out = xs_list_append(out, st); |
| 1940 | cnt++; | 2069 | cnt++; |
| 2070 | } | ||
| 1941 | } | 2071 | } |
| 1942 | } | 2072 | } |
| 1943 | } | 2073 | } |
| 1944 | } | 2074 | } |
| 1945 | } | ||
| 1946 | 2075 | ||
| 1947 | srv_debug(1, xs_fmt("account statuses: returning %d posts (requested %d)", cnt, limit)); | 2076 | srv_debug(1, xs_fmt("account statuses: returning %d posts (requested %d)", cnt, limit)); |
| 1948 | xs_set_free(&seen); | 2077 | xs_set_free(&seen); |
| 2078 | } | ||
| 2079 | else | ||
| 2080 | status = HTTP_STATUS_UNAUTHORIZED; | ||
| 1949 | } | 2081 | } |
| 1950 | else | 2082 | else |
| 1951 | if (strcmp(opt, "featured_tags") == 0) { | 2083 | if (strcmp(opt, "featured_tags") == 0) { |
| @@ -2202,15 +2334,24 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 2202 | if (noti == NULL) | 2334 | if (noti == NULL) |
| 2203 | continue; | 2335 | continue; |
| 2204 | 2336 | ||
| 2337 | const xs_dict *tag = xs_list_get(xs_dict_get_path(noti, "msg.tag"), 0); | ||
| 2338 | |||
| 2205 | const char *type = xs_dict_get(noti, "type"); | 2339 | const char *type = xs_dict_get(noti, "type"); |
| 2206 | const char *utype = xs_dict_get(noti, "utype"); | 2340 | const char *utype = xs_dict_get(noti, "utype"); |
| 2207 | const char *objid = xs_dict_get(noti, "objid"); | 2341 | const char *objid = xs_dict_get(noti, "objid"); |
| 2208 | const char *id = xs_dict_get(noti, "id"); | 2342 | const char *id = xs_dict_get(noti, "id"); |
| 2209 | const char *actid = xs_dict_get(noti, "actor"); | 2343 | const char *actid = xs_dict_get(noti, "actor"); |
| 2344 | |||
| 2345 | int isEmoji = 0; | ||
| 2346 | |||
| 2210 | xs *fid = xs_replace(id, ".", ""); | 2347 | xs *fid = xs_replace(id, ".", ""); |
| 2211 | xs *actor = NULL; | 2348 | xs *actor = NULL; |
| 2212 | xs *entry = NULL; | 2349 | xs *entry = NULL; |
| 2213 | 2350 | ||
| 2351 | if (tag) { | ||
| 2352 | isEmoji = strcmp(xs_dict_get(tag, "type"), "Emoji") ? 0 : 1; | ||
| 2353 | } | ||
| 2354 | |||
| 2214 | if (!valid_status(actor_get(actid, &actor))) | 2355 | if (!valid_status(actor_get(actid, &actor))) |
| 2215 | continue; | 2356 | continue; |
| 2216 | 2357 | ||
| @@ -2234,9 +2375,12 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 2234 | } | 2375 | } |
| 2235 | 2376 | ||
| 2236 | /* convert the type */ | 2377 | /* convert the type */ |
| 2237 | if (strcmp(type, "Like") == 0 || strcmp(type, "EmojiReact") == 0) | 2378 | if (strcmp(type, "Like") == 0 && !isEmoji) |
| 2238 | type = "favourite"; | 2379 | type = "favourite"; |
| 2239 | else | 2380 | else |
| 2381 | if (isEmoji || strcmp(type, "EmojiReact") == 0) | ||
| 2382 | type = "reaction"; | ||
| 2383 | else | ||
| 2240 | if (strcmp(type, "Announce") == 0) | 2384 | if (strcmp(type, "Announce") == 0) |
| 2241 | type = "reblog"; | 2385 | type = "reblog"; |
| 2242 | else | 2386 | else |
| @@ -2277,8 +2421,31 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 2277 | if (strcmp(type, "follow") != 0 && !xs_is_null(objid)) { | 2421 | if (strcmp(type, "follow") != 0 && !xs_is_null(objid)) { |
| 2278 | xs *st = mastoapi_status(&snac1, entry); | 2422 | xs *st = mastoapi_status(&snac1, entry); |
| 2279 | 2423 | ||
| 2280 | if (st) | 2424 | if (st) { |
| 2281 | mn = xs_dict_append(mn, "status", st); | 2425 | mn = xs_dict_append(mn, "status", st); |
| 2426 | |||
| 2427 | if (strcmp(type, "reaction") == 0 && !xs_is_null(objid)) { | ||
| 2428 | const char *eid = NULL; | ||
| 2429 | const char *url = NULL; | ||
| 2430 | int utf = 0; | ||
| 2431 | |||
| 2432 | const xs_dict *tag = xs_list_get(xs_dict_get_path(noti, "msg.tag"), 0); | ||
| 2433 | const char *content = xs_dict_get_path(noti, "msg.content"); | ||
| 2434 | |||
| 2435 | url = xs_dict_get(xs_dict_get(tag, "icon"), "url"); | ||
| 2436 | eid = xs_dict_get(tag, "name"); | ||
| 2437 | |||
| 2438 | if (eid && url) { | ||
| 2439 | mn = xs_dict_append(mn, "emoji", eid); | ||
| 2440 | mn = xs_dict_append(mn, "emoji_url", url); | ||
| 2441 | } | ||
| 2442 | |||
| 2443 | if (xs_is_emoji((utf = xs_utf8_dec(&content)))) { | ||
| 2444 | xs *s1 = xs_fmt("&#%d;", utf); | ||
| 2445 | mn = xs_dict_append(mn, "name", s1); | ||
| 2446 | } | ||
| 2447 | } | ||
| 2448 | } | ||
| 2282 | } | 2449 | } |
| 2283 | 2450 | ||
| 2284 | out = xs_list_append(out, mn); | 2451 | out = xs_list_append(out, mn); |
| @@ -2480,19 +2647,33 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 2480 | if (strcmp(cmd, "/v1/custom_emojis") == 0) { /** **/ | 2647 | if (strcmp(cmd, "/v1/custom_emojis") == 0) { /** **/ |
| 2481 | xs *emo = emojis(); | 2648 | xs *emo = emojis(); |
| 2482 | xs *list = xs_list_new(); | 2649 | xs *list = xs_list_new(); |
| 2483 | int c = 0; | ||
| 2484 | const xs_str *k; | 2650 | const xs_str *k; |
| 2485 | const xs_val *v; | 2651 | const xs_val *v; |
| 2486 | while(xs_dict_next(emo, &k, &v, &c)) { | 2652 | xs_dict_foreach(emo, k, v) { |
| 2487 | xs *current = xs_dict_new(); | 2653 | xs *current = xs_dict_new(); |
| 2488 | if (xs_startswith(v, "https://") && xs_startswith((xs_mime_by_ext(v)), "image/")) { | 2654 | if ((xs_startswith(v, "https://") && xs_startswith((xs_mime_by_ext(v)), "image/")) || xs_type(v) == XSTYPE_DICT) { |
| 2489 | /* remove first and last colon */ | 2655 | /* remove first and last colon */ |
| 2490 | xs *shortcode = xs_replace(k, ":", ""); | 2656 | if (xs_type(v) == XSTYPE_DICT) { |
| 2491 | current = xs_dict_append(current, "shortcode", shortcode); | 2657 | const char *v2; |
| 2492 | current = xs_dict_append(current, "url", v); | 2658 | const char *cat = k; |
| 2493 | current = xs_dict_append(current, "static_url", v); | 2659 | xs_dict_foreach(v, k, v2) { |
| 2494 | current = xs_dict_append(current, "visible_in_picker", xs_stock(XSTYPE_TRUE)); | 2660 | xs *shortcode = xs_replace(k, ":", ""); |
| 2495 | list = xs_list_append(list, current); | 2661 | current = xs_dict_append(current, "shortcode", shortcode); |
| 2662 | current = xs_dict_append(current, "url", v2); | ||
| 2663 | current = xs_dict_append(current, "static_url", v2); | ||
| 2664 | current = xs_dict_append(current, "visible_in_picker", xs_stock(XSTYPE_TRUE)); | ||
| 2665 | current = xs_dict_append(current, "category", cat); | ||
| 2666 | list = xs_list_append(list, current); | ||
| 2667 | } | ||
| 2668 | } | ||
| 2669 | else { | ||
| 2670 | xs *shortcode = xs_replace(k, ":", ""); | ||
| 2671 | current = xs_dict_append(current, "shortcode", shortcode); | ||
| 2672 | current = xs_dict_append(current, "url", v); | ||
| 2673 | current = xs_dict_append(current, "static_url", v); | ||
| 2674 | current = xs_dict_append(current, "visible_in_picker", xs_stock(XSTYPE_TRUE)); | ||
| 2675 | list = xs_list_append(list, current); | ||
| 2676 | } | ||
| 2496 | } | 2677 | } |
| 2497 | } | 2678 | } |
| 2498 | *body = xs_json_dumps(list, 0); | 2679 | *body = xs_json_dumps(list, 0); |
| @@ -2594,6 +2775,11 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 2594 | "\"max_expiration\":2629746," | 2775 | "\"max_expiration\":2629746," |
| 2595 | "\"max_options\":8,\"min_expiration\":300}"); | 2776 | "\"max_options\":8,\"min_expiration\":300}"); |
| 2596 | cfg = xs_dict_append(cfg, "polls", d14); | 2777 | cfg = xs_dict_append(cfg, "polls", d14); |
| 2778 | |||
| 2779 | |||
| 2780 | xs *d15 = xs_json_loads("{\"max_reactions\":50}"); | ||
| 2781 | cfg = xs_dict_append(cfg, "reactions", d15); | ||
| 2782 | |||
| 2597 | } | 2783 | } |
| 2598 | 2784 | ||
| 2599 | ins = xs_dict_append(ins, "configuration", cfg); | 2785 | ins = xs_dict_append(ins, "configuration", cfg); |
| @@ -2680,8 +2866,6 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 2680 | /* return ancestors and children */ | 2866 | /* return ancestors and children */ |
| 2681 | xs *anc = xs_list_new(); | 2867 | xs *anc = xs_list_new(); |
| 2682 | xs *des = xs_list_new(); | 2868 | xs *des = xs_list_new(); |
| 2683 | xs_list *p; | ||
| 2684 | const xs_str *v; | ||
| 2685 | char pid[MD5_HEX_SIZE]; | 2869 | char pid[MD5_HEX_SIZE]; |
| 2686 | 2870 | ||
| 2687 | /* build the [grand]parent list, moving up */ | 2871 | /* build the [grand]parent list, moving up */ |
| @@ -2701,21 +2885,9 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 2701 | } | 2885 | } |
| 2702 | 2886 | ||
| 2703 | /* build the children list */ | 2887 | /* build the children list */ |
| 2704 | xs *children = object_children(xs_dict_get(msg, "id")); | 2888 | xs *childs = build_childrens(msg, &snac1); |
| 2705 | p = children; | 2889 | if (xs_list_len(childs) > 0) |
| 2706 | 2890 | des = xs_list_cat(des, childs); | |
| 2707 | while (xs_list_iter(&p, &v)) { | ||
| 2708 | xs *m2 = NULL; | ||
| 2709 | |||
| 2710 | if (valid_status(timeline_get_by_md5(&snac1, v, &m2))) { | ||
| 2711 | if (xs_is_null(xs_dict_get(m2, "name"))) { | ||
| 2712 | xs *st = mastoapi_status(&snac1, m2); | ||
| 2713 | |||
| 2714 | if (st) | ||
| 2715 | des = xs_list_append(des, st); | ||
| 2716 | } | ||
| 2717 | } | ||
| 2718 | } | ||
| 2719 | 2891 | ||
| 2720 | out = xs_dict_new(); | 2892 | out = xs_dict_new(); |
| 2721 | out = xs_dict_append(out, "ancestors", anc); | 2893 | out = xs_dict_append(out, "ancestors", anc); |
| @@ -3044,7 +3216,10 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, | |||
| 3044 | xs *app = xs_dict_new(); | 3216 | xs *app = xs_dict_new(); |
| 3045 | xs *id = xs_replace_i(tid(0), ".", ""); | 3217 | xs *id = xs_replace_i(tid(0), ".", ""); |
| 3046 | xs *csec = random_str(); | 3218 | xs *csec = random_str(); |
| 3047 | xs *vkey = random_str(); | 3219 | xs *vkey = xs_dup(xs_dict_get(srv_config, "vkey")); |
| 3220 | if (vkey == NULL) | ||
| 3221 | vkey = random_str(); | ||
| 3222 | |||
| 3048 | xs *cid = NULL; | 3223 | xs *cid = NULL; |
| 3049 | 3224 | ||
| 3050 | /* pick a non-existent random cid */ | 3225 | /* pick a non-existent random cid */ |
| @@ -3216,7 +3391,7 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, | |||
| 3216 | 3391 | ||
| 3217 | if (n_msg != NULL) { | 3392 | if (n_msg != NULL) { |
| 3218 | enqueue_message(&snac, n_msg); | 3393 | enqueue_message(&snac, n_msg); |
| 3219 | timeline_admire(&snac, xs_dict_get(n_msg, "object"), snac.actor, 1); | 3394 | timeline_admire(&snac, xs_dict_get(n_msg, "object"), snac.actor, 1, msg); |
| 3220 | 3395 | ||
| 3221 | out = mastoapi_status(&snac, msg); | 3396 | out = mastoapi_status(&snac, msg); |
| 3222 | } | 3397 | } |
| @@ -3232,12 +3407,35 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, | |||
| 3232 | } | 3407 | } |
| 3233 | } | 3408 | } |
| 3234 | else | 3409 | else |
| 3410 | if (strcmp(op, "react") == 0) { /** **/ | ||
| 3411 | const char *eid = xs_list_get(l, 5); | ||
| 3412 | xs *n_msg = msg_emoji_init(&snac, id, eid); | ||
| 3413 | if (n_msg) | ||
| 3414 | out = mastoapi_status(&snac, n_msg); | ||
| 3415 | } | ||
| 3416 | else | ||
| 3417 | if (strcmp(op, "unreact") == 0) { /** **/ | ||
| 3418 | const char *eid = xs_list_get(l, 5); | ||
| 3419 | xs *content = xs_fmt("%s", eid); | ||
| 3420 | |||
| 3421 | if (eid) { | ||
| 3422 | xs *n_msg = msg_emoji_unreact(&snac, id, content); | ||
| 3423 | |||
| 3424 | if (n_msg != NULL) { | ||
| 3425 | enqueue_message(&snac, n_msg); | ||
| 3426 | |||
| 3427 | out = mastoapi_status(&snac, msg); | ||
| 3428 | } | ||
| 3429 | } | ||
| 3430 | } | ||
| 3431 | |||
| 3432 | else | ||
| 3235 | if (strcmp(op, "reblog") == 0) { /** **/ | 3433 | if (strcmp(op, "reblog") == 0) { /** **/ |
| 3236 | xs *n_msg = msg_admiration(&snac, id, "Announce"); | 3434 | xs *n_msg = msg_admiration(&snac, id, "Announce"); |
| 3237 | 3435 | ||
| 3238 | if (n_msg != NULL) { | 3436 | if (n_msg != NULL) { |
| 3239 | enqueue_message(&snac, n_msg); | 3437 | enqueue_message(&snac, n_msg); |
| 3240 | timeline_admire(&snac, xs_dict_get(n_msg, "object"), snac.actor, 0); | 3438 | timeline_admire(&snac, xs_dict_get(n_msg, "object"), snac.actor, 0, msg); |
| 3241 | 3439 | ||
| 3242 | out = mastoapi_status(&snac, msg); | 3440 | out = mastoapi_status(&snac, msg); |
| 3243 | } | 3441 | } |
| @@ -3824,7 +4022,7 @@ int mastoapi_delete_handler(const xs_dict *req, const char *q_path, | |||
| 3824 | if (valid_status(object_get_by_md5(p, &obj))) { | 4022 | if (valid_status(object_get_by_md5(p, &obj))) { |
| 3825 | const char *id = xs_dict_get(obj, "id"); | 4023 | const char *id = xs_dict_get(obj, "id"); |
| 3826 | 4024 | ||
| 3827 | if (xs_is_string(id) && xs_startswith(id, snac.actor)) { | 4025 | if (xs_is_string(id) && is_msg_mine(&snac, id)) { |
| 3828 | xs *out = mastoapi_status(&snac, obj); | 4026 | xs *out = mastoapi_status(&snac, obj); |
| 3829 | 4027 | ||
| 3830 | xs *msg = msg_delete(&snac, id); | 4028 | xs *msg = msg_delete(&snac, id); |
| @@ -8,694 +8,694 @@ msgstr "" | |||
| 8 | "Language: cs\n" | 8 | "Language: cs\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Citlivý obsah: " | 13 | msgstr "Citlivý obsah: " |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Varovánà k citlivému obsahu" | 17 | msgstr "Varovánà o citlivém obsahu" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Pouze pro zmÃnÄ›né osoby:" | 20 | msgstr "Pouze pro zmÃnÄ›né osoby:" |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Odpovědět na (URL):" | 24 | msgstr "Odpovědět na (URL):" |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "NesdÃlet, pouze uložit do rozepsaných" | 28 | msgstr "NesdÃlet, pouze uložit do rozepsaných" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Rozepsané:" | 32 | msgstr "Rozepsané:" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "PÅ™Ãlohy..." | 36 | msgstr "PÅ™Ãlohy..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "Soubor:" | 40 | msgstr "Soubor:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Pro smazánà přilohy vymažte toto pole" | 44 | msgstr "Pro smazánà přilohy vymažte toto pole" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Popisek pÅ™Ãlohy" | 48 | msgstr "Popisek pÅ™Ãlohy" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Anketa..." | 52 | msgstr "Anketa..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Možnosti ankety (jedna na řádek, max 8):" | 56 | msgstr "Možnosti ankety (jedna na řádek, max 8):" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Vyber jednu" | 60 | msgstr "Vyber jednu" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Vyber vÃce možnostÃ" | 64 | msgstr "Vyber vÃce možnostÃ" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Konec za 5 minut" | 68 | msgstr "Konec za 5 minut" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Konec za 1 hodinu" | 72 | msgstr "Konec za 1 hodinu" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Konec za 1 den" | 76 | msgstr "Konec za 1 den" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Poslat" | 80 | msgstr "Poslat" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Popisek stránky" | 84 | msgstr "Popisek stránky" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Email administrátora" | 88 | msgstr "Email administrátora" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "ÚÄet adminitrátora" | 92 | msgstr "ÚÄet adminitrátora" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d sledovaných, %d sledujÃcÃch" | 97 | msgstr "%d sledovaných, %d sledujÃcÃch" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "soukromé" | 105 | msgstr "soukromé" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "veřejné" | 109 | msgstr "veřejné" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "upozornÄ›nÃ" | 113 | msgstr "upozornÄ›nÃ" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "lidé" | 117 | msgstr "lidé" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "instance" | 121 | msgstr "instance" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| 127 | msgstr "" | 127 | msgstr "" |
| 128 | "Vyhledat pÅ™ÃspÄ›vek podle URL (regex), @uživatel@instance úÄtu, nebo #tagu" | 128 | "Vyhledat pÅ™ÃspÄ›vek podle URL (regex), @uživatel@instance úÄtu, nebo #tagu" |
| 129 | 129 | ||
| 130 | #: html.c:1087 | 130 | #: html.c:1143 |
| 131 | msgid "Content search" | 131 | msgid "Content search" |
| 132 | msgstr "Hledánà obsahu" | 132 | msgstr "Hledánà obsahu" |
| 133 | 133 | ||
| 134 | #: html.c:1213 | 134 | #: html.c:1269 |
| 135 | msgid "verified link" | 135 | msgid "verified link" |
| 136 | msgstr "ověřený odkaz" | 136 | msgstr "ověřený odkaz" |
| 137 | 137 | ||
| 138 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 138 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 139 | msgid "Location: " | 139 | msgid "Location: " |
| 140 | msgstr "MÃsto: " | 140 | msgstr "MÃsto: " |
| 141 | 141 | ||
| 142 | #: html.c:1302 | 142 | #: html.c:1358 |
| 143 | msgid "New Post..." | 143 | msgid "New Post..." |
| 144 | msgstr "Nový pÅ™ÃspÄ›vek..." | 144 | msgstr "Nový pÅ™ÃspÄ›vek..." |
| 145 | 145 | ||
| 146 | #: html.c:1304 | 146 | #: html.c:1360 |
| 147 | msgid "What's on your mind?" | 147 | msgid "What's on your mind?" |
| 148 | msgstr "Co se vám honà hlavou?" | 148 | msgstr "Co se vám honà hlavou?" |
| 149 | 149 | ||
| 150 | #: html.c:1313 | 150 | #: html.c:1369 |
| 151 | msgid "Operations..." | 151 | msgid "Operations..." |
| 152 | msgstr "Operace..." | 152 | msgstr "Operace..." |
| 153 | 153 | ||
| 154 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 154 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 155 | msgid "Follow" | 155 | msgid "Follow" |
| 156 | msgstr "Sledovat" | 156 | msgstr "Sledovat" |
| 157 | 157 | ||
| 158 | #: html.c:1330 | 158 | #: html.c:1386 |
| 159 | msgid "(by URL or user@host)" | 159 | msgid "(by URL or user@host)" |
| 160 | msgstr "(podle URL nebo @uživatel@instance)" | 160 | msgstr "(podle URL nebo @uživatel@instance)" |
| 161 | 161 | ||
| 162 | #: html.c:1345 html.c:1925 html.c:4766 | 162 | #: html.c:1401 html.c:2003 html.c:5210 |
| 163 | msgid "Boost" | 163 | msgid "Boost" |
| 164 | msgstr "Boostit" | 164 | msgstr "Boostit" |
| 165 | 165 | ||
| 166 | #: html.c:1347 html.c:1364 | 166 | #: html.c:1403 html.c:1420 html.c:1442 |
| 167 | msgid "(by URL)" | 167 | msgid "(by URL)" |
| 168 | msgstr "(podle URL)" | 168 | msgstr "(podle URL)" |
| 169 | 169 | ||
| 170 | #: html.c:1362 html.c:1904 html.c:4757 | 170 | #: html.c:1418 html.c:1982 html.c:5201 |
| 171 | msgid "Like" | 171 | msgid "Like" |
| 172 | msgstr "LÃbÃ" | 172 | msgstr "LÃbÃ" |
| 173 | 173 | ||
| 174 | #: html.c:1490 | 174 | #: html.c:1568 |
| 175 | msgid "User Settings..." | 175 | msgid "User Settings..." |
| 176 | msgstr "NastavenÃ..." | 176 | msgstr "NastavenÃ..." |
| 177 | 177 | ||
| 178 | #: html.c:1499 | 178 | #: html.c:1577 |
| 179 | msgid "Display name:" | 179 | msgid "Display name:" |
| 180 | msgstr "Jméno:" | 180 | msgstr "Jméno:" |
| 181 | 181 | ||
| 182 | #: html.c:1505 | 182 | #: html.c:1583 |
| 183 | msgid "Your name" | 183 | msgid "Your name" |
| 184 | msgstr "Vaše jméno" | 184 | msgstr "Vaše jméno" |
| 185 | 185 | ||
| 186 | #: html.c:1507 | 186 | #: html.c:1585 |
| 187 | msgid "Avatar: " | 187 | msgid "Avatar: " |
| 188 | msgstr "Avatar: " | 188 | msgstr "Profilový obrázek: " |
| 189 | 189 | ||
| 190 | #: html.c:1515 | 190 | #: html.c:1593 |
| 191 | msgid "Delete current avatar" | 191 | msgid "Delete current avatar" |
| 192 | msgstr "Smazat souÄasný avatar" | 192 | msgstr "Smazat profilový obrázek" |
| 193 | 193 | ||
| 194 | #: html.c:1517 | 194 | #: html.c:1595 |
| 195 | msgid "Header image (banner): " | 195 | msgid "Header image (banner): " |
| 196 | msgstr "Obrázek v záhlavà profilu: " | 196 | msgstr "Obrázek v záhlavà profilu: " |
| 197 | 197 | ||
| 198 | #: html.c:1525 | 198 | #: html.c:1603 |
| 199 | msgid "Delete current header image" | 199 | msgid "Delete current header image" |
| 200 | msgstr "Smazat souÄasný obrázek v záhlavÃ" | 200 | msgstr "Smazat obrázek v záhlavÃ" |
| 201 | 201 | ||
| 202 | #: html.c:1527 | 202 | #: html.c:1605 |
| 203 | msgid "Bio:" | 203 | msgid "Bio:" |
| 204 | msgstr "Bio:" | 204 | msgstr "Bio:" |
| 205 | 205 | ||
| 206 | #: html.c:1533 | 206 | #: html.c:1611 |
| 207 | msgid "Write about yourself here..." | 207 | msgid "Write about yourself here..." |
| 208 | msgstr "Napište sem něco o sobě..." | 208 | msgstr "Napište něco o sobě..." |
| 209 | 209 | ||
| 210 | #: html.c:1542 | 210 | #: html.c:1620 |
| 211 | msgid "Always show sensitive content" | 211 | msgid "Always show sensitive content" |
| 212 | msgstr "Vždy zobrazit pÅ™ÃspÄ›vky s varovánÃm o citlivém obsahu" | 212 | msgstr "Rozbalit citlivé pÅ™ÃspÄ›vky" |
| 213 | 213 | ||
| 214 | #: html.c:1544 | 214 | #: html.c:1622 |
| 215 | msgid "Email address for notifications:" | 215 | msgid "Email address for notifications:" |
| 216 | msgstr "Emailová adresa pro upozornÄ›nÃ" | 216 | msgstr "Emailová adresa pro upozornÄ›nÃ" |
| 217 | 217 | ||
| 218 | #: html.c:1552 | 218 | #: html.c:1630 |
| 219 | msgid "Telegram notifications (bot key and chat id):" | 219 | msgid "Telegram notifications (bot key and chat id):" |
| 220 | msgstr "UpozornÄ›nà na Telegram (bot klÃÄ a chat id):" | 220 | msgstr "UpozornÄ›nà na Telegram (bot klÃÄ a chat id):" |
| 221 | 221 | ||
| 222 | #: html.c:1566 | 222 | #: html.c:1644 |
| 223 | msgid "ntfy notifications (ntfy server and token):" | 223 | msgid "ntfy notifications (ntfy server and token):" |
| 224 | msgstr "ntfy notifikace (ntfy server a token):" | 224 | msgstr "ntfy notifikace (ntfy server a token):" |
| 225 | 225 | ||
| 226 | #: html.c:1588 | 226 | #: html.c:1666 |
| 227 | msgid "Maximum days to keep posts (0: server settings):" | 227 | msgid "Maximum days to keep posts (0: server settings):" |
| 228 | msgstr "Životnost pÅ™ÃspÄ›vků ve dnech (0: nastavenà serveru):" | 228 | msgstr "Životnost pÅ™ÃspÄ›vků ve dnech (0: nastavenà serveru):" |
| 229 | 229 | ||
| 230 | #: html.c:1602 | 230 | #: html.c:1680 |
| 231 | msgid "Drop direct messages from people you don't follow" | 231 | msgid "Drop direct messages from people you don't follow" |
| 232 | msgstr "Zahodit soukromé zprávy od lidÃ, které nesledujete" | 232 | msgstr "Zahodit soukromé zprávy od lidÃ, které nesledujete" |
| 233 | 233 | ||
| 234 | #: html.c:1611 | 234 | #: html.c:1689 |
| 235 | msgid "This account is a bot" | 235 | msgid "This account is a bot" |
| 236 | msgstr "Tenhle úÄet je robot" | 236 | msgstr "Tento úÄet je robotem" |
| 237 | 237 | ||
| 238 | #: html.c:1620 | 238 | #: html.c:1698 |
| 239 | msgid "Auto-boost all mentions to this account" | 239 | msgid "Auto-boost all mentions to this account" |
| 240 | msgstr "Automaticky boostovat vÅ¡echny zmÃňky o tomto úÄtu" | 240 | msgstr "Automaticky boostit vÅ¡echna zmÃnÄ›nà tohoto úÄtu" |
| 241 | 241 | ||
| 242 | #: html.c:1629 | 242 | #: html.c:1707 |
| 243 | msgid "This account is private (posts are not shown through the web)" | 243 | msgid "This account is private (posts are not shown through the web)" |
| 244 | msgstr "" | 244 | msgstr "" |
| 245 | "Tento úÄet je soukromý (pÅ™ÃspÄ›vky nejsou zobrazitelné napÅ™ÃÄ internetem)" | 245 | "Tento úÄet je soukromý (pÅ™ÃspÄ›vky nejsou zobrazitelné napÅ™ÃÄ internetem)" |
| 246 | 246 | ||
| 247 | #: html.c:1639 | 247 | #: html.c:1717 |
| 248 | msgid "Collapse top threads by default" | 248 | msgid "Collapse top threads by default" |
| 249 | msgstr "Zobrazovat vlákna složená" | 249 | msgstr "Složit vlákna" |
| 250 | 250 | ||
| 251 | #: html.c:1648 | 251 | #: html.c:1726 |
| 252 | msgid "Follow requests must be approved" | 252 | msgid "Follow requests must be approved" |
| 253 | msgstr "Žádosti o sledovánà je nutno manuálně potvrdit" | 253 | msgstr "Žádosti o sledovánà je nutné manuálně potvrdit" |
| 254 | 254 | ||
| 255 | #: html.c:1657 | 255 | #: html.c:1735 |
| 256 | msgid "Publish follower and following metrics" | 256 | msgid "Publish follower and following metrics" |
| 257 | msgstr "Zobrazit údaje o poÄtu sledovaných a sledujÃcÃch" | 257 | msgstr "Zobrazit údaje o poÄtu sledovaných a sledujÃcÃch" |
| 258 | 258 | ||
| 259 | #: html.c:1659 | 259 | #: html.c:1737 |
| 260 | msgid "Current location:" | 260 | msgid "Current location:" |
| 261 | msgstr "Geolokace:" | 261 | msgstr "Geolokace:" |
| 262 | 262 | ||
| 263 | #: html.c:1673 | 263 | #: html.c:1751 |
| 264 | msgid "Profile metadata (key=value pairs in each line):" | 264 | msgid "Profile metadata (key=value pairs in each line):" |
| 265 | msgstr "Metadata profilu (klÃÄ=hodnota na jeden řádek):" | 265 | msgstr "Metadata profilu (klÃÄ=hodnota na jeden řádek):" |
| 266 | 266 | ||
| 267 | #: html.c:1684 | 267 | #: html.c:1762 |
| 268 | msgid "Web interface language:" | 268 | msgid "Web interface language:" |
| 269 | msgstr "Jazyk rozhranÃ:" | 269 | msgstr "Jazyk rozhranÃ:" |
| 270 | 270 | ||
| 271 | #: html.c:1703 | 271 | #: html.c:1781 |
| 272 | msgid "New password:" | 272 | msgid "New password:" |
| 273 | msgstr "Nové heslo:" | 273 | msgstr "Nové heslo:" |
| 274 | 274 | ||
| 275 | #: html.c:1710 | 275 | #: html.c:1788 |
| 276 | msgid "Repeat new password:" | 276 | msgid "Repeat new password:" |
| 277 | msgstr "Zopakujte nové heslo:" | 277 | msgstr "Nové heslo znovu:" |
| 278 | 278 | ||
| 279 | #: html.c:1720 | 279 | #: html.c:1798 |
| 280 | msgid "Update user info" | 280 | msgid "Update user info" |
| 281 | msgstr "Uložit" | 281 | msgstr "Uložit" |
| 282 | 282 | ||
| 283 | #: html.c:1731 | 283 | #: html.c:1809 |
| 284 | msgid "Followed hashtags..." | 284 | msgid "Followed hashtags..." |
| 285 | msgstr "Sledované hashtagy..." | 285 | msgstr "Sledované hashtagy..." |
| 286 | 286 | ||
| 287 | #: html.c:1733 html.c:1766 | 287 | #: html.c:1811 html.c:1844 |
| 288 | msgid "One hashtag per line" | 288 | msgid "One hashtag per line" |
| 289 | msgstr "Jeden hashtag na řádek" | 289 | msgstr "Jeden hashtag na řádek" |
| 290 | 290 | ||
| 291 | #: html.c:1755 html.c:1787 | 291 | #: html.c:1833 html.c:1865 |
| 292 | msgid "Update hashtags" | 292 | msgid "Update hashtags" |
| 293 | msgstr "Aktualizovat hashtagy" | 293 | msgstr "Aktualizovat hashtagy" |
| 294 | 294 | ||
| 295 | #: html.c:1904 | 295 | #: html.c:1982 |
| 296 | msgid "Say you like this post" | 296 | msgid "Say you like this post" |
| 297 | msgstr "Dát najevo, že se vám pÅ™ÃspÄ›vek lÃbÃ" | 297 | msgstr "Dát najevo, že se vám pÅ™ÃspÄ›vek lÃbÃ" |
| 298 | 298 | ||
| 299 | #: html.c:1909 html.c:4775 | 299 | #: html.c:1987 html.c:5219 |
| 300 | msgid "Unlike" | 300 | msgid "Unlike" |
| 301 | msgstr "NelÃbÃ" | 301 | msgstr "NelÃbÃ" |
| 302 | 302 | ||
| 303 | #: html.c:1909 | 303 | #: html.c:1987 |
| 304 | msgid "Nah don't like it that much" | 304 | msgid "Nah don't like it that much" |
| 305 | msgstr "VlastnÄ› se mi to zas tak nelÃbÃ" | 305 | msgstr "VlastnÄ› se mi to zas tak nelÃbÃ" |
| 306 | 306 | ||
| 307 | #: html.c:1915 html.c:4912 | 307 | #: html.c:1993 html.c:5356 |
| 308 | msgid "Unpin" | 308 | msgid "Unpin" |
| 309 | msgstr "Odepnout" | 309 | msgstr "Odepnout" |
| 310 | 310 | ||
| 311 | #: html.c:1915 | 311 | #: html.c:1993 |
| 312 | msgid "Unpin this post from your timeline" | 312 | msgid "Unpin this post from your timeline" |
| 313 | msgstr "Odepnout tento pÅ™ÃspÄ›vek z vašà osy" | 313 | msgstr "Odepnout tento pÅ™ÃspÄ›vek z vašà osy" |
| 314 | 314 | ||
| 315 | #: html.c:1918 html.c:4907 | 315 | #: html.c:1996 html.c:5351 |
| 316 | msgid "Pin" | 316 | msgid "Pin" |
| 317 | msgstr "Připnout" | 317 | msgstr "Připnout" |
| 318 | 318 | ||
| 319 | #: html.c:1918 | 319 | #: html.c:1996 |
| 320 | msgid "Pin this post to the top of your timeline" | 320 | msgid "Pin this post to the top of your timeline" |
| 321 | msgstr "PÅ™ipnout tento pÅ™ÃspÄ›vÄ›k na zaÄátek vašà osy" | 321 | msgstr "PÅ™ipnout tento pÅ™ÃspÄ›vÄ›k na zaÄátek vašà osy" |
| 322 | 322 | ||
| 323 | #: html.c:1925 | 323 | #: html.c:2003 |
| 324 | msgid "Announce this post to your followers" | 324 | msgid "Announce this post to your followers" |
| 325 | msgstr "Ukázat tento pÅ™ÃspÄ›vek vaÅ¡Ãm sledujÃcÃm" | 325 | msgstr "Ukázat tento pÅ™ÃspÄ›vek vaÅ¡Ãm sledujÃcÃm" |
| 326 | 326 | ||
| 327 | #: html.c:1930 html.c:4783 | 327 | #: html.c:2008 html.c:5227 |
| 328 | msgid "Unboost" | 328 | msgid "Unboost" |
| 329 | msgstr "Odboostit" | 329 | msgstr "Odboostit" |
| 330 | 330 | ||
| 331 | #: html.c:1930 | 331 | #: html.c:2008 |
| 332 | msgid "I regret I boosted this" | 332 | msgid "I regret I boosted this" |
| 333 | msgstr "Boostit to byl blbej nápad" | 333 | msgstr "Boostit to byl špatný nápad" |
| 334 | 334 | ||
| 335 | #: html.c:1936 html.c:4922 | 335 | #: html.c:2014 html.c:5366 |
| 336 | msgid "Unbookmark" | 336 | msgid "Unbookmark" |
| 337 | msgstr "Zahodit" | 337 | msgstr "Zahodit" |
| 338 | 338 | ||
| 339 | #: html.c:1936 | 339 | #: html.c:2014 |
| 340 | msgid "Delete this post from your bookmarks" | 340 | msgid "Delete this post from your bookmarks" |
| 341 | msgstr "Odstranit tento pÅ™ÃspÄ›vÄ›k ze záložek" | 341 | msgstr "Odstranit tento pÅ™ÃspÄ›vÄ›k ze záložek" |
| 342 | 342 | ||
| 343 | #: html.c:1939 html.c:4917 | 343 | #: html.c:2017 html.c:5361 |
| 344 | msgid "Bookmark" | 344 | msgid "Bookmark" |
| 345 | msgstr "Uložit" | 345 | msgstr "Uložit" |
| 346 | 346 | ||
| 347 | #: html.c:1939 | 347 | #: html.c:2017 |
| 348 | msgid "Add this post to your bookmarks" | 348 | msgid "Add this post to your bookmarks" |
| 349 | msgstr "Uložit tento pÅ™ÃspÄ›vek do záložek" | 349 | msgstr "Uložit tento pÅ™ÃspÄ›vek do záložek" |
| 350 | 350 | ||
| 351 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 351 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 352 | msgid "Unfollow" | 352 | msgid "Unfollow" |
| 353 | msgstr "Přestat sledovat" | 353 | msgstr "Přestat sledovat" |
| 354 | 354 | ||
| 355 | #: html.c:1945 html.c:3387 | 355 | #: html.c:2023 html.c:3763 html.c:4042 |
| 356 | msgid "Stop following this user's activity" | 356 | msgid "Stop following this user's activity" |
| 357 | msgstr "Přestat sledovat tohoto uživatele" | 357 | msgstr "Přestat sledovat tohoto uživatele" |
| 358 | 358 | ||
| 359 | #: html.c:1949 html.c:3401 | 359 | #: html.c:2027 html.c:3777 html.c:4044 |
| 360 | msgid "Start following this user's activity" | 360 | msgid "Start following this user's activity" |
| 361 | msgstr "ZaÄÃt sledovat tohoto uživatele" | 361 | msgstr "ZaÄÃt sledovat tohoto uživatele" |
| 362 | 362 | ||
| 363 | #: html.c:1955 html.c:4860 | 363 | #: html.c:2033 html.c:5304 |
| 364 | msgid "Unfollow Group" | 364 | msgid "Unfollow Group" |
| 365 | msgstr "Přestat Sledovat Skupinu" | 365 | msgstr "Přestat Sledovat Skupinu" |
| 366 | 366 | ||
| 367 | #: html.c:1956 | 367 | #: html.c:2034 |
| 368 | msgid "Stop following this group or channel" | 368 | msgid "Stop following this group or channel" |
| 369 | msgstr "Přestat sledovat tuto skupinu nebo kanál" | 369 | msgstr "Přestat sledovat tuto skupinu nebo kanál" |
| 370 | 370 | ||
| 371 | #: html.c:1960 html.c:4847 | 371 | #: html.c:2038 html.c:5291 |
| 372 | msgid "Follow Group" | 372 | msgid "Follow Group" |
| 373 | msgstr "Sledovat Skupinu" | 373 | msgstr "Sledovat Skupinu" |
| 374 | 374 | ||
| 375 | #: html.c:1961 | 375 | #: html.c:2039 |
| 376 | msgid "Start following this group or channel" | 376 | msgid "Start following this group or channel" |
| 377 | msgstr "ZaÄÃt sledovat tuto skupinu nebo kanál" | 377 | msgstr "ZaÄÃt sledovat tuto skupinu nebo kanál" |
| 378 | 378 | ||
| 379 | #: html.c:1966 html.c:3423 html.c:4791 | 379 | #: html.c:2044 html.c:3799 html.c:5235 |
| 380 | msgid "MUTE" | 380 | msgid "MUTE" |
| 381 | msgstr "ZTIÅ IT" | 381 | msgstr "ZTIÅ IT" |
| 382 | 382 | ||
| 383 | #: html.c:1967 | 383 | #: html.c:2045 |
| 384 | msgid "Block any activity from this user forever" | 384 | msgid "Block any activity from this user forever" |
| 385 | msgstr "Jednou provždy zablokovat všechno od tohoto uživatele" | 385 | msgstr "Jednou provždy zablokovat všechno od tohoto uživatele" |
| 386 | 386 | ||
| 387 | #: html.c:1972 html.c:3405 html.c:4877 | 387 | #: html.c:2050 html.c:3781 html.c:5321 |
| 388 | msgid "Delete" | 388 | msgid "Delete" |
| 389 | msgstr "Smazat" | 389 | msgstr "Smazat" |
| 390 | 390 | ||
| 391 | #: html.c:1972 | 391 | #: html.c:2050 |
| 392 | msgid "Delete this post" | 392 | msgid "Delete this post" |
| 393 | msgstr "Smazat tento pÅ™ÃspÄ›vek" | 393 | msgstr "Smazat tento pÅ™ÃspÄ›vek" |
| 394 | 394 | ||
| 395 | #: html.c:1975 html.c:4799 | 395 | #: html.c:2053 html.c:5243 |
| 396 | msgid "Hide" | 396 | msgid "Hide" |
| 397 | msgstr "Schovat" | 397 | msgstr "Schovat" |
| 398 | 398 | ||
| 399 | #: html.c:1975 | 399 | #: html.c:2053 |
| 400 | msgid "Hide this post and its children" | 400 | msgid "Hide this post and its children" |
| 401 | msgstr "Schovat tento pÅ™ÃspÄ›vek a pÅ™ÃspÄ›vky pod nÃm" | 401 | msgstr "Schovat tento pÅ™ÃspÄ›vek a pÅ™ÃspÄ›vky pod nÃm" |
| 402 | 402 | ||
| 403 | #: html.c:2017 | 403 | #: html.c:2095 |
| 404 | msgid "Edit..." | 404 | msgid "Edit..." |
| 405 | msgstr "Editovat..." | 405 | msgstr "Editovat..." |
| 406 | 406 | ||
| 407 | #: html.c:2039 | 407 | #: html.c:2133 |
| 408 | msgid "Reply..." | 408 | msgid "Reply..." |
| 409 | msgstr "Odpovědět..." | 409 | msgstr "Odpovědět..." |
| 410 | 410 | ||
| 411 | #: html.c:2090 | 411 | #: html.c:2184 |
| 412 | msgid "Truncated (too deep)" | 412 | msgid "Truncated (too deep)" |
| 413 | msgstr "Ořezáno (moc hluboké)" | 413 | msgstr "Ořezáno (moc hluboké)" |
| 414 | 414 | ||
| 415 | #: html.c:2108 | 415 | #: html.c:2202 |
| 416 | msgid "follows you" | 416 | msgid "follows you" |
| 417 | msgstr "sleduje vás" | 417 | msgstr "sleduje vás" |
| 418 | 418 | ||
| 419 | #: html.c:2182 | 419 | #: html.c:2276 |
| 420 | msgid "Pinned" | 420 | msgid "Pinned" |
| 421 | msgstr "Připnuto" | 421 | msgstr "Připnuto" |
| 422 | 422 | ||
| 423 | #: html.c:2190 | 423 | #: html.c:2284 |
| 424 | msgid "Bookmarked" | 424 | msgid "Bookmarked" |
| 425 | msgstr "Zazáložkováno" | 425 | msgstr "Zazáložkováno" |
| 426 | 426 | ||
| 427 | #: html.c:2198 | 427 | #: html.c:2292 |
| 428 | msgid "Poll" | 428 | msgid "Poll" |
| 429 | msgstr "Anketa" | 429 | msgstr "Anketa" |
| 430 | 430 | ||
| 431 | #: html.c:2205 | 431 | #: html.c:2299 |
| 432 | msgid "Voted" | 432 | msgid "Voted" |
| 433 | msgstr "Odhlasováno" | 433 | msgstr "Odhlasováno" |
| 434 | 434 | ||
| 435 | #: html.c:2214 | 435 | #: html.c:2308 |
| 436 | msgid "Event" | 436 | msgid "Event" |
| 437 | msgstr "Událost" | 437 | msgstr "Událost" |
| 438 | 438 | ||
| 439 | #: html.c:2246 html.c:2275 | 439 | #: html.c:2340 html.c:2369 |
| 440 | msgid "boosted" | 440 | msgid "boosted" |
| 441 | msgstr "boostuje" | 441 | msgstr "boostÃ" |
| 442 | 442 | ||
| 443 | #: html.c:2289 | 443 | #: html.c:2383 |
| 444 | msgid "in reply to" | 444 | msgid "in reply to" |
| 445 | msgstr "odpovÄ›Ä pro" | 445 | msgstr "odpovÄ›Ä pro" |
| 446 | 446 | ||
| 447 | #: html.c:2345 | 447 | #: html.c:2439 |
| 448 | msgid " [SENSITIVE CONTENT]" | 448 | msgid " [SENSITIVE CONTENT]" |
| 449 | msgstr "[CITLIVÃ OBSAH]" | 449 | msgstr "[CITLIVÃ OBSAH]" |
| 450 | 450 | ||
| 451 | #: html.c:2512 | 451 | #: html.c:2796 |
| 452 | msgid "Vote" | 452 | msgid "Vote" |
| 453 | msgstr "Hlasuj" | 453 | msgstr "Hlasuj" |
| 454 | 454 | ||
| 455 | #: html.c:2522 | 455 | #: html.c:2806 |
| 456 | msgid "Closed" | 456 | msgid "Closed" |
| 457 | msgstr "Uzavřeno" | 457 | msgstr "Uzavřeno" |
| 458 | 458 | ||
| 459 | #: html.c:2547 | 459 | #: html.c:2831 |
| 460 | msgid "Closes in" | 460 | msgid "Closes in" |
| 461 | msgstr "KonÄÃ za" | 461 | msgstr "KonÄÃ za" |
| 462 | 462 | ||
| 463 | #: html.c:2627 | 463 | #: html.c:2911 |
| 464 | msgid "Video" | 464 | msgid "Video" |
| 465 | msgstr "Video" | 465 | msgstr "Video" |
| 466 | 466 | ||
| 467 | #: html.c:2642 | 467 | #: html.c:2926 |
| 468 | msgid "Audio" | 468 | msgid "Audio" |
| 469 | msgstr "Audio" | 469 | msgstr "Audio" |
| 470 | 470 | ||
| 471 | #: html.c:2670 | 471 | #: html.c:2954 |
| 472 | msgid "Attachment" | 472 | msgid "Attachment" |
| 473 | msgstr "PÅ™Ãloha" | 473 | msgstr "PÅ™Ãloha" |
| 474 | 474 | ||
| 475 | #: html.c:2684 | 475 | #: html.c:2968 |
| 476 | msgid "Alt..." | 476 | msgid "Alt..." |
| 477 | msgstr "Popisek..." | 477 | msgstr "Popisek..." |
| 478 | 478 | ||
| 479 | #: html.c:2697 | 479 | #: html.c:2981 |
| 480 | msgid "Source channel or community" | 480 | msgid "Source channel or community" |
| 481 | msgstr "" | 481 | msgstr "Původnà kanál nebo komunita" |
| 482 | 482 | ||
| 483 | #: html.c:2791 | 483 | #: html.c:3075 |
| 484 | msgid "Time: " | 484 | msgid "Time: " |
| 485 | msgstr "ÄŒas:" | 485 | msgstr "ÄŒas:" |
| 486 | 486 | ||
| 487 | #: html.c:2872 | 487 | #: html.c:3156 |
| 488 | msgid "Older..." | 488 | msgid "Older..." |
| 489 | msgstr "StarÅ¡Ã..." | 489 | msgstr "StarÅ¡Ã..." |
| 490 | 490 | ||
| 491 | #: html.c:2974 | 491 | #: html.c:3258 |
| 492 | msgid "about this site" | 492 | msgid "about this site" |
| 493 | msgstr "o této stránce" | 493 | msgstr "o této stránce" |
| 494 | 494 | ||
| 495 | #: html.c:2976 | 495 | #: html.c:3260 |
| 496 | msgid "powered by " | 496 | msgid "powered by " |
| 497 | msgstr "pohánà " | 497 | msgstr "pohánà " |
| 498 | 498 | ||
| 499 | #: html.c:3041 | 499 | #: html.c:3329 |
| 500 | msgid "Dismiss" | 500 | msgid "Dismiss" |
| 501 | msgstr "Zahodit" | 501 | msgstr "Zahodit" |
| 502 | 502 | ||
| 503 | #: html.c:3058 | 503 | #: html.c:3346 |
| 504 | #, c-format | 504 | #, c-format |
| 505 | msgid "Timeline for list '%s'" | 505 | msgid "Timeline for list '%s'" |
| 506 | msgstr "Časová osa pro seznam '%s'" | 506 | msgstr "Časová osa pro seznam '%s'" |
| 507 | 507 | ||
| 508 | #: html.c:3077 html.c:4169 | 508 | #: html.c:3365 html.c:4589 |
| 509 | msgid "Pinned posts" | 509 | msgid "Pinned posts" |
| 510 | msgstr "PÅ™ipnuté pÅ™ÃspÄ›vky" | 510 | msgstr "PÅ™ipnuté pÅ™ÃspÄ›vky" |
| 511 | 511 | ||
| 512 | #: html.c:3089 html.c:4184 | 512 | #: html.c:3377 html.c:4604 |
| 513 | msgid "Bookmarked posts" | 513 | msgid "Bookmarked posts" |
| 514 | msgstr "Záložky" | 514 | msgstr "Záložky" |
| 515 | 515 | ||
| 516 | #: html.c:3101 html.c:4199 | 516 | #: html.c:3389 html.c:4619 |
| 517 | msgid "Post drafts" | 517 | msgid "Post drafts" |
| 518 | msgstr "Rozepsané pÅ™ÃspÄ›vky" | 518 | msgstr "Rozepsané pÅ™ÃspÄ›vky" |
| 519 | 519 | ||
| 520 | #: html.c:3177 | 520 | #: html.c:3465 |
| 521 | msgid "No more unseen posts" | 521 | msgid "No more unseen posts" |
| 522 | msgstr "Nic vÃc nového" | 522 | msgstr "Nic nového" |
| 523 | 523 | ||
| 524 | #: html.c:3181 html.c:3290 | 524 | #: html.c:3469 html.c:3578 |
| 525 | msgid "Back to top" | 525 | msgid "Back to top" |
| 526 | msgstr "Zpátky nahoru" | 526 | msgstr "Zpátky nahoru" |
| 527 | 527 | ||
| 528 | #: html.c:3243 | 528 | #: html.c:3531 |
| 529 | msgid "History" | 529 | msgid "History" |
| 530 | msgstr "Historie" | 530 | msgstr "Historie" |
| 531 | 531 | ||
| 532 | #: html.c:3295 html.c:3734 | 532 | #: html.c:3583 html.c:4149 |
| 533 | msgid "More..." | 533 | msgid "More..." |
| 534 | msgstr "VÃce..." | 534 | msgstr "VÃce..." |
| 535 | 535 | ||
| 536 | #: html.c:3391 html.c:4813 | 536 | #: html.c:3767 html.c:5257 |
| 537 | msgid "Unlimit" | 537 | msgid "Unlimit" |
| 538 | msgstr "Povolit boosty" | 538 | msgstr "Povolit boosty" |
| 539 | 539 | ||
| 540 | #: html.c:3392 | 540 | #: html.c:3768 |
| 541 | msgid "Allow announces (boosts) from this user" | 541 | msgid "Allow announces (boosts) from this user" |
| 542 | msgstr "Zobrazovat boosty od tohoto uživatele" | 542 | msgstr "Zobrazovat boosty od tohoto uživatele" |
| 543 | 543 | ||
| 544 | #: html.c:3395 html.c:4809 | 544 | #: html.c:3771 html.c:5253 |
| 545 | msgid "Limit" | 545 | msgid "Limit" |
| 546 | msgstr "Skrýt boosty" | 546 | msgstr "Skrýt boosty" |
| 547 | 547 | ||
| 548 | #: html.c:3396 | 548 | #: html.c:3772 |
| 549 | msgid "Block announces (boosts) from this user" | 549 | msgid "Block announces (boosts) from this user" |
| 550 | msgstr "Ztišit boosty od tohoto uživatele" | 550 | msgstr "Ztišit boosty od tohoto uživatele" |
| 551 | 551 | ||
| 552 | #: html.c:3405 | 552 | #: html.c:3781 |
| 553 | msgid "Delete this user" | 553 | msgid "Delete this user" |
| 554 | msgstr "Smazat tohoto uživatele" | 554 | msgstr "Smazat tohoto uživatele" |
| 555 | 555 | ||
| 556 | #: html.c:3410 html.c:4927 | 556 | #: html.c:3786 html.c:5371 |
| 557 | msgid "Approve" | 557 | msgid "Approve" |
| 558 | msgstr "Schválit" | 558 | msgstr "Schválit" |
| 559 | 559 | ||
| 560 | #: html.c:3411 | 560 | #: html.c:3787 |
| 561 | msgid "Approve this follow request" | 561 | msgid "Approve this follow request" |
| 562 | msgstr "Schválit žádost o sledovánÃ" | 562 | msgstr "Schválit žádost o sledovánÃ" |
| 563 | 563 | ||
| 564 | #: html.c:3414 html.c:4951 | 564 | #: html.c:3790 html.c:5395 |
| 565 | msgid "Discard" | 565 | msgid "Discard" |
| 566 | msgstr "Zahodit" | 566 | msgstr "Zahodit" |
| 567 | 567 | ||
| 568 | #: html.c:3414 | 568 | #: html.c:3790 |
| 569 | msgid "Discard this follow request" | 569 | msgid "Discard this follow request" |
| 570 | msgstr "Zahodit žádost o sledovánÃ" | 570 | msgstr "Zahodit žádost o sledovánÃ" |
| 571 | 571 | ||
| 572 | #: html.c:3419 html.c:4795 | 572 | #: html.c:3795 html.c:5239 |
| 573 | msgid "Unmute" | 573 | msgid "Unmute" |
| 574 | msgstr "ZruÅ¡it ztiÅ¡enÃ" | 574 | msgstr "ZruÅ¡it ztiÅ¡enÃ" |
| 575 | 575 | ||
| 576 | #: html.c:3420 | 576 | #: html.c:3796 |
| 577 | msgid "Stop blocking activities from this user" | 577 | msgid "Stop blocking activities from this user" |
| 578 | msgstr "Přestat blokovat tohoto uživatele" | 578 | msgstr "Přestat blokovat tohoto uživatele" |
| 579 | 579 | ||
| 580 | #: html.c:3424 | 580 | #: html.c:3800 |
| 581 | msgid "Block any activity from this user" | 581 | msgid "Block any activity from this user" |
| 582 | msgstr "Zablokovat všechno od tohoto uživatele" | 582 | msgstr "Zablokovat všechno od tohoto uživatele" |
| 583 | 583 | ||
| 584 | #: html.c:3432 | 584 | #: html.c:3808 |
| 585 | msgid "Direct Message..." | 585 | msgid "Direct Message..." |
| 586 | msgstr "Soukomá zpráva..." | 586 | msgstr "Soukomá zpráva..." |
| 587 | 587 | ||
| 588 | #: html.c:3467 | 588 | #: html.c:3843 |
| 589 | msgid "Pending follow confirmations" | 589 | msgid "Pending follow confirmations" |
| 590 | msgstr "Dosud nepotvrzené žádosti o sledovánÃ" | 590 | msgstr "Dosud nepotvrzené žádosti o sledovánÃ" |
| 591 | 591 | ||
| 592 | #: html.c:3471 | 592 | #: html.c:3847 |
| 593 | msgid "People you follow" | 593 | msgid "People you follow" |
| 594 | msgstr "Lidé, které sledujete" | 594 | msgstr "Lidé, které sledujete" |
| 595 | 595 | ||
| 596 | #: html.c:3472 | 596 | #: html.c:3848 |
| 597 | msgid "People that follow you" | 597 | msgid "People that follow you" |
| 598 | msgstr "Lidé, kteřà vás sledujÃ" | 598 | msgstr "Lidé, kteřà vás sledujÃ" |
| 599 | 599 | ||
| 600 | #: html.c:3511 | 600 | #: html.c:3887 |
| 601 | msgid "Clear all" | 601 | msgid "Clear all" |
| 602 | msgstr "Smazat vše" | 602 | msgstr "Smazat vše" |
| 603 | 603 | ||
| 604 | #: html.c:3571 | 604 | #: html.c:3951 |
| 605 | msgid "Mention" | 605 | msgid "Mention" |
| 606 | msgstr "ZmÃnil vás" | 606 | msgstr "ZmÃnil vás" |
| 607 | 607 | ||
| 608 | #: html.c:3574 | 608 | #: html.c:3954 |
| 609 | msgid "Finished poll" | 609 | msgid "Finished poll" |
| 610 | msgstr "UkonÄená anketa" | 610 | msgstr "UkonÄená anketa" |
| 611 | 611 | ||
| 612 | #: html.c:3590 | 612 | #: html.c:3979 |
| 613 | msgid "Follow Request" | 613 | msgid "Follow Request" |
| 614 | msgstr "Žádost o sledovánÃ" | 614 | msgstr "Žádost o sledovánÃ" |
| 615 | 615 | ||
| 616 | #: html.c:3674 | 616 | #: html.c:4089 |
| 617 | msgid "Context" | 617 | msgid "Context" |
| 618 | msgstr "Kontext" | 618 | msgstr "Kontext" |
| 619 | 619 | ||
| 620 | #: html.c:3692 | 620 | #: html.c:4107 |
| 621 | msgid "New" | 621 | msgid "New" |
| 622 | msgstr "Nové" | 622 | msgstr "Nové" |
| 623 | 623 | ||
| 624 | #: html.c:3707 | 624 | #: html.c:4122 |
| 625 | msgid "Already seen" | 625 | msgid "Already seen" |
| 626 | msgstr "Zobrazeno dÅ™Ãve" | 626 | msgstr "Již vidÄ›no" |
| 627 | 627 | ||
| 628 | #: html.c:3722 | 628 | #: html.c:4137 |
| 629 | msgid "None" | 629 | msgid "None" |
| 630 | msgstr "Nic" | 630 | msgstr "Nic" |
| 631 | 631 | ||
| 632 | #: html.c:3994 | 632 | #: html.c:4414 |
| 633 | #, c-format | 633 | #, c-format |
| 634 | msgid "Search results for account %s" | 634 | msgid "Search results for account %s" |
| 635 | msgstr "Výsledky vyhledávánà úÄtu %s" | 635 | msgstr "Výsledky vyhledávánà úÄtu %s" |
| 636 | 636 | ||
| 637 | #: html.c:4001 | 637 | #: html.c:4421 |
| 638 | #, c-format | 638 | #, c-format |
| 639 | msgid "Account %s not found" | 639 | msgid "Account %s not found" |
| 640 | msgstr "ÚÄet %s nenalezen" | 640 | msgstr "ÚÄet %s nenalezen" |
| 641 | 641 | ||
| 642 | #: html.c:4032 | 642 | #: html.c:4452 |
| 643 | #, c-format | 643 | #, c-format |
| 644 | msgid "Search results for tag %s" | 644 | msgid "Search results for tag %s" |
| 645 | msgstr "Výsledky k tagu %s" | 645 | msgstr "Výsledky k tagu %s" |
| 646 | 646 | ||
| 647 | #: html.c:4032 | 647 | #: html.c:4452 |
| 648 | #, c-format | 648 | #, c-format |
| 649 | msgid "Nothing found for tag %s" | 649 | msgid "Nothing found for tag %s" |
| 650 | msgstr "Nic k tagu %s" | 650 | msgstr "Nic k tagu %s" |
| 651 | 651 | ||
| 652 | #: html.c:4048 | 652 | #: html.c:4468 |
| 653 | #, c-format | 653 | #, c-format |
| 654 | msgid "Search results for '%s' (may be more)" | 654 | msgid "Search results for '%s' (may be more)" |
| 655 | msgstr "Výsledky vyhledávánà pro '%s' (může toho být vÃc)" | 655 | msgstr "Výsledky vyhledávánà pro '%s' (může toho být vÃc)" |
| 656 | 656 | ||
| 657 | #: html.c:4051 | 657 | #: html.c:4471 |
| 658 | #, c-format | 658 | #, c-format |
| 659 | msgid "Search results for '%s'" | 659 | msgid "Search results for '%s'" |
| 660 | msgstr "Výsledky vyhledávánà pro '%s'" | 660 | msgstr "Výsledky vyhledávánà pro '%s'" |
| 661 | 661 | ||
| 662 | #: html.c:4054 | 662 | #: html.c:4474 |
| 663 | #, c-format | 663 | #, c-format |
| 664 | msgid "No more matches for '%s'" | 664 | msgid "No more matches for '%s'" |
| 665 | msgstr "Nic vÃc pro '%s'" | 665 | msgstr "Nic vÃc pro '%s'" |
| 666 | 666 | ||
| 667 | #: html.c:4056 | 667 | #: html.c:4476 |
| 668 | #, c-format | 668 | #, c-format |
| 669 | msgid "Nothing found for '%s'" | 669 | msgid "Nothing found for '%s'" |
| 670 | msgstr "Žádný výsledek pro '%s'" | 670 | msgstr "Žádný výsledek pro '%s'" |
| 671 | 671 | ||
| 672 | #: html.c:4154 | 672 | #: html.c:4574 |
| 673 | msgid "Showing instance timeline" | 673 | msgid "Showing instance timeline" |
| 674 | msgstr "ÄŒasová osa mÃstnà instance" | 674 | msgstr "ÄŒasová osa mÃstnà instance" |
| 675 | 675 | ||
| 676 | #: html.c:4237 | 676 | #: html.c:4657 |
| 677 | #, c-format | 677 | #, c-format |
| 678 | msgid "Showing timeline for list '%s'" | 678 | msgid "Showing timeline for list '%s'" |
| 679 | msgstr "Časová osa pro seznam '%s'" | 679 | msgstr "Časová osa pro seznam '%s'" |
| 680 | 680 | ||
| 681 | #: httpd.c:258 | 681 | #: httpd.c:259 |
| 682 | #, c-format | 682 | #, c-format |
| 683 | msgid "Search results for tag #%s" | 683 | msgid "Search results for tag #%s" |
| 684 | msgstr "Výsledky vyhledávánà tagu #%s" | 684 | msgstr "Výsledky vyhledávánà tagu #%s" |
| 685 | 685 | ||
| 686 | #: httpd.c:267 | 686 | #: httpd.c:268 |
| 687 | msgid "Recent posts by users in this instance" | 687 | msgid "Recent posts by users in this instance" |
| 688 | msgstr "Nedávné pÅ™ÃspÄ›vky od uživatelů této instance" | 688 | msgstr "Nedávné pÅ™ÃspÄ›vky od uživatelů této instance" |
| 689 | 689 | ||
| 690 | #: html.c:1764 | 690 | #: html.c:1842 |
| 691 | msgid "Blocked hashtags..." | 691 | msgid "Blocked hashtags..." |
| 692 | msgstr "Blokované hashtagy..." | 692 | msgstr "Blokované hashtagy..." |
| 693 | 693 | ||
| 694 | #: html.c:518 | 694 | #: html.c:574 |
| 695 | msgid "Optional URL to reply to" | 695 | msgid "Optional URL to reply to" |
| 696 | msgstr "URL adresa pÅ™ÃspÄ›vku, na který odpovÄ›dÄ›t" | 696 | msgstr "URL adresa pÅ™ÃspÄ›vku, na který odpovÄ›dÄ›t" |
| 697 | 697 | ||
| 698 | #: html.c:695 | 698 | #: html.c:751 |
| 699 | msgid "" | 699 | msgid "" |
| 700 | "Option 1...\n" | 700 | "Option 1...\n" |
| 701 | "Option 2...\n" | 701 | "Option 2...\n" |
| @@ -707,94 +707,106 @@ msgstr "" | |||
| 707 | "Možnost 3...\n" | 707 | "Možnost 3...\n" |
| 708 | "..." | 708 | "..." |
| 709 | 709 | ||
| 710 | #: html.c:1558 | 710 | #: html.c:1636 |
| 711 | msgid "Bot API key" | 711 | msgid "Bot API key" |
| 712 | msgstr "API klÃÄ Bota" | 712 | msgstr "API klÃÄ Bota" |
| 713 | 713 | ||
| 714 | #: html.c:1564 | 714 | #: html.c:1642 |
| 715 | msgid "Chat id" | 715 | msgid "Chat id" |
| 716 | msgstr "Chat id" | 716 | msgstr "Chat id" |
| 717 | 717 | ||
| 718 | #: html.c:1572 | 718 | #: html.c:1650 |
| 719 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 719 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 720 | msgstr "ntfy server - celá URL adresa (např: https://ntfy.sh/VaseTema)" | 720 | msgstr "ntfy server - celá URL adresa (např: https://ntfy.sh/VaseTema)" |
| 721 | 721 | ||
| 722 | #: html.c:1578 | 722 | #: html.c:1656 |
| 723 | msgid "ntfy token - if needed" | 723 | msgid "ntfy token - if needed" |
| 724 | msgstr "ntfy token - pokud je zapotÅ™ebÃ" | 724 | msgstr "ntfy token - pokud je zapotÅ™ebÃ" |
| 725 | 725 | ||
| 726 | #: html.c:3078 | 726 | #: html.c:3366 |
| 727 | msgid "pinned" | 727 | msgid "pinned" |
| 728 | msgstr "připnuté" | 728 | msgstr "připnuté" |
| 729 | 729 | ||
| 730 | #: html.c:3090 | 730 | #: html.c:3378 |
| 731 | msgid "bookmarks" | 731 | msgid "bookmarks" |
| 732 | msgstr "záložky" | 732 | msgstr "záložky" |
| 733 | 733 | ||
| 734 | #: html.c:3102 | 734 | #: html.c:3390 |
| 735 | msgid "drafts" | 735 | msgid "drafts" |
| 736 | msgstr "rozepsané" | 736 | msgstr "rozepsané" |
| 737 | 737 | ||
| 738 | #: html.c:584 | 738 | #: html.c:640 |
| 739 | msgid "Scheduled post..." | 739 | msgid "Scheduled post..." |
| 740 | msgstr "Naplánovat pÅ™ÃspÄ›vek..." | 740 | msgstr "Naplánovat pÅ™ÃspÄ›vek..." |
| 741 | 741 | ||
| 742 | msgid "Post date and time:" | 742 | msgid "Post date and time:" |
| 743 | msgstr "Den a Äas:" | 743 | msgstr "Den a Äas:" |
| 744 | 744 | ||
| 745 | #: html.c:3113 html.c:4214 | 745 | #: html.c:3401 html.c:4634 |
| 746 | msgid "Scheduled posts" | 746 | msgid "Scheduled posts" |
| 747 | msgstr "Naplánované pÅ™ÃspÄ›vky" | 747 | msgstr "Naplánované pÅ™ÃspÄ›vky" |
| 748 | 748 | ||
| 749 | #: html.c:3114 | 749 | #: html.c:3402 |
| 750 | msgid "scheduled posts" | 750 | msgid "scheduled posts" |
| 751 | msgstr "naplánované pÅ™ÃspÄ›vky" | 751 | msgstr "naplánované pÅ™ÃspÄ›vky" |
| 752 | 752 | ||
| 753 | #: html.c:578 | 753 | #: html.c:634 |
| 754 | #, c-format | 754 | #, c-format |
| 755 | msgid "Post date and time (timezone: %s):" | 755 | msgid "Post date and time (timezone: %s):" |
| 756 | msgstr "Den a Äas (Äasové pásmo: %s)" | 756 | msgstr "Den a Äas (Äasové pásmo: %s)" |
| 757 | 757 | ||
| 758 | #: html.c:1689 | 758 | #: html.c:1767 |
| 759 | msgid "Time zone:" | 759 | msgid "Time zone:" |
| 760 | msgstr "Časové pásmo:" | 760 | msgstr "Časové pásmo:" |
| 761 | 761 | ||
| 762 | #: html.c:559 | 762 | #: html.c:615 |
| 763 | msgid "Language:" | 763 | msgid "Language:" |
| 764 | msgstr "Jazyk:" | 764 | msgstr "Jazyk:" |
| 765 | 765 | ||
| 766 | #: html.c:1580 | 766 | #: html.c:1658 |
| 767 | msgid "Notify webhook:" | 767 | msgid "Notify webhook:" |
| 768 | msgstr "Notify webhook:" | 768 | msgstr "Notify webhook:" |
| 769 | 769 | ||
| 770 | #: html.c:1586 | 770 | #: html.c:1664 |
| 771 | msgid "http://example.com/webhook" | 771 | msgid "http://example.com/webhook" |
| 772 | msgstr "http://priklad.cz/webhook" | 772 | msgstr "http://priklad.cz/webhook" |
| 773 | 773 | ||
| 774 | #: html.c:1694 | 774 | #: html.c:1772 |
| 775 | msgid "Languages you usually post in:" | 775 | msgid "Languages you usually post in:" |
| 776 | msgstr "Jazyky ve kterých pÃÅ¡ete:" | 776 | msgstr "Jazyky ve kterých pÃÅ¡ete:" |
| 777 | 777 | ||
| 778 | #: html.c:1700 | 778 | #: html.c:1778 |
| 779 | msgid "en fr es de_AT" | 779 | msgid "en fr es de_AT" |
| 780 | msgstr "cs en fr de_AT" | 780 | msgstr "cs en fr de_AT" |
| 781 | 781 | ||
| 782 | #: html.c:460 | 782 | #: html.c:428 |
| 783 | msgid "Visibility: " | 783 | msgid "Visibility: " |
| 784 | msgstr "Viditelnost" | 784 | msgstr "Viditelnost: " |
| 785 | 785 | ||
| 786 | #: html.c:468 | ||
| 787 | msgid "Public" | 786 | msgid "Public" |
| 788 | msgstr "Veřejné" | 787 | msgstr "Veřejné" |
| 789 | 788 | ||
| 790 | #: html.c:477 | ||
| 791 | msgid "Unlisted" | 789 | msgid "Unlisted" |
| 792 | msgstr "Neveřejné" | 790 | msgstr "Neveřejné" |
| 793 | 791 | ||
| 794 | #: html.c:486 | ||
| 795 | msgid "Followers-only" | 792 | msgid "Followers-only" |
| 796 | msgstr "Pouze pro sledujÃcÃ" | 793 | msgstr "Pouze pro sledujÃcÃ" |
| 797 | 794 | ||
| 798 | #: html.c:495 | ||
| 799 | msgid "Direct Message" | 795 | msgid "Direct Message" |
| 800 | msgstr "Soukromá Zpráva" | 796 | msgstr "Soukromá Zpráva" |
| 797 | |||
| 798 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 799 | msgid "EmojiUnreact" | ||
| 800 | msgstr "EmojiOdebrat" | ||
| 801 | |||
| 802 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 803 | msgid "EmojiReact" | ||
| 804 | msgstr "EmojiReakce" | ||
| 805 | |||
| 806 | #: html.c:2115 | ||
| 807 | msgid "Emoji react..." | ||
| 808 | msgstr "Reagovat emoji..." | ||
| 809 | |||
| 810 | #: html.c:2609 | ||
| 811 | msgid "Emoji reactions: " | ||
| 812 | msgstr "Emoji reakce: " | ||
diff --git a/po/de_DE.po b/po/de_DE.po index bb6876c..2db7ca3 100644 --- a/po/de_DE.po +++ b/po/de_DE.po | |||
| @@ -7,119 +7,119 @@ msgstr "" | |||
| 7 | "Language: de_DE\n" | 7 | "Language: de_DE\n" |
| 8 | "Content-Type: text/plain; charset=UTF-8\n" | 8 | "Content-Type: text/plain; charset=UTF-8\n" |
| 9 | 9 | ||
| 10 | #: html.c:440 | 10 | #: html.c:534 |
| 11 | msgid "Sensitive content: " | 11 | msgid "Sensitive content: " |
| 12 | msgstr "Sensibler Inhalt: " | 12 | msgstr "Sensibler Inhalt: " |
| 13 | 13 | ||
| 14 | #: html.c:448 | 14 | #: html.c:542 |
| 15 | msgid "Sensitive content description" | 15 | msgid "Sensitive content description" |
| 16 | msgstr "Beschreibung des sensiblen Inhalts" | 16 | msgstr "Beschreibung des sensiblen Inhalts" |
| 17 | 17 | ||
| 18 | msgid "Only for mentioned people: " | 18 | msgid "Only for mentioned people: " |
| 19 | msgstr "Nur für erwähnte Personen: " | 19 | msgstr "Nur für erwähnte Personen: " |
| 20 | 20 | ||
| 21 | #: html.c:514 | 21 | #: html.c:570 |
| 22 | msgid "Reply to (URL): " | 22 | msgid "Reply to (URL): " |
| 23 | msgstr "Antwort an (URL): " | 23 | msgstr "Antwort an (URL): " |
| 24 | 24 | ||
| 25 | #: html.c:523 | 25 | #: html.c:579 |
| 26 | msgid "Don't send, but store as a draft" | 26 | msgid "Don't send, but store as a draft" |
| 27 | msgstr "Nicht senden, aber als Entwurf speichern" | 27 | msgstr "Nicht senden, aber als Entwurf speichern" |
| 28 | 28 | ||
| 29 | #: html.c:524 | 29 | #: html.c:580 |
| 30 | msgid "Draft:" | 30 | msgid "Draft:" |
| 31 | msgstr "Entwurf: " | 31 | msgstr "Entwurf: " |
| 32 | 32 | ||
| 33 | #: html.c:614 | 33 | #: html.c:670 |
| 34 | msgid "Attachments..." | 34 | msgid "Attachments..." |
| 35 | msgstr "Anhänge..." | 35 | msgstr "Anhänge..." |
| 36 | 36 | ||
| 37 | #: html.c:637 | 37 | #: html.c:693 |
| 38 | msgid "File:" | 38 | msgid "File:" |
| 39 | msgstr "Datei:" | 39 | msgstr "Datei:" |
| 40 | 40 | ||
| 41 | #: html.c:641 | 41 | #: html.c:697 |
| 42 | msgid "Clear this field to delete the attachment" | 42 | msgid "Clear this field to delete the attachment" |
| 43 | msgstr "Feld löschen, um den Anhang zu löschen" | 43 | msgstr "Feld löschen, um den Anhang zu löschen" |
| 44 | 44 | ||
| 45 | #: html.c:650 html.c:675 | 45 | #: html.c:706 html.c:731 |
| 46 | msgid "Attachment description" | 46 | msgid "Attachment description" |
| 47 | msgstr "Beschreibung des Anhangs" | 47 | msgstr "Beschreibung des Anhangs" |
| 48 | 48 | ||
| 49 | #: html.c:686 | 49 | #: html.c:742 |
| 50 | msgid "Poll..." | 50 | msgid "Poll..." |
| 51 | msgstr "Umfrage..." | 51 | msgstr "Umfrage..." |
| 52 | 52 | ||
| 53 | #: html.c:688 | 53 | #: html.c:744 |
| 54 | msgid "Poll options (one per line, up to 8):" | 54 | msgid "Poll options (one per line, up to 8):" |
| 55 | msgstr "Umfrageoptionen (eine pro Zeile, bis zu 8):" | 55 | msgstr "Umfrageoptionen (eine pro Zeile, bis zu 8):" |
| 56 | 56 | ||
| 57 | #: html.c:700 | 57 | #: html.c:756 |
| 58 | msgid "One choice" | 58 | msgid "One choice" |
| 59 | msgstr "Einfachauswahl" | 59 | msgstr "Einfachauswahl" |
| 60 | 60 | ||
| 61 | #: html.c:703 | 61 | #: html.c:759 |
| 62 | msgid "Multiple choices" | 62 | msgid "Multiple choices" |
| 63 | msgstr "Mehrfachauswahl" | 63 | msgstr "Mehrfachauswahl" |
| 64 | 64 | ||
| 65 | #: html.c:709 | 65 | #: html.c:765 |
| 66 | msgid "End in 5 minutes" | 66 | msgid "End in 5 minutes" |
| 67 | msgstr "Endet in 5 Minuten" | 67 | msgstr "Endet in 5 Minuten" |
| 68 | 68 | ||
| 69 | #: html.c:713 | 69 | #: html.c:769 |
| 70 | msgid "End in 1 hour" | 70 | msgid "End in 1 hour" |
| 71 | msgstr "Endet in 1 Stunde" | 71 | msgstr "Endet in 1 Stunde" |
| 72 | 72 | ||
| 73 | #: html.c:716 | 73 | #: html.c:772 |
| 74 | msgid "End in 1 day" | 74 | msgid "End in 1 day" |
| 75 | msgstr "Endet in 1 Tag" | 75 | msgstr "Endet in 1 Tag" |
| 76 | 76 | ||
| 77 | #: html.c:724 | 77 | #: html.c:780 |
| 78 | msgid "Post" | 78 | msgid "Post" |
| 79 | msgstr "Beitrag veröffentlichen" | 79 | msgstr "Beitrag veröffentlichen" |
| 80 | 80 | ||
| 81 | #: html.c:826 html.c:833 | 81 | #: html.c:882 html.c:889 |
| 82 | msgid "Site description" | 82 | msgid "Site description" |
| 83 | msgstr "Seitenbeschreibung" | 83 | msgstr "Seitenbeschreibung" |
| 84 | 84 | ||
| 85 | #: html.c:844 | 85 | #: html.c:900 |
| 86 | msgid "Admin email" | 86 | msgid "Admin email" |
| 87 | msgstr "Admin E-Mail" | 87 | msgstr "Admin E-Mail" |
| 88 | 88 | ||
| 89 | #: html.c:857 | 89 | #: html.c:913 |
| 90 | msgid "Admin account" | 90 | msgid "Admin account" |
| 91 | msgstr "Admin-Konto" | 91 | msgstr "Admin-Konto" |
| 92 | 92 | ||
| 93 | #: html.c:922 html.c:1278 | 93 | #: html.c:978 html.c:1334 |
| 94 | #, c-format | 94 | #, c-format |
| 95 | msgid "%d following, %d followers" | 95 | msgid "%d following, %d followers" |
| 96 | msgstr "%d Gefolgte, %d Folgende" | 96 | msgstr "%d Gefolgte, %d Folgende" |
| 97 | 97 | ||
| 98 | #: html.c:1019 | 98 | #: html.c:1075 |
| 99 | msgid "RSS" | 99 | msgid "RSS" |
| 100 | msgstr "RSS" | 100 | msgstr "RSS" |
| 101 | 101 | ||
| 102 | #: html.c:1024 html.c:1063 | 102 | #: html.c:1080 html.c:1119 |
| 103 | msgid "private" | 103 | msgid "private" |
| 104 | msgstr "Privat" | 104 | msgstr "Privat" |
| 105 | 105 | ||
| 106 | #: html.c:1059 | 106 | #: html.c:1115 |
| 107 | msgid "public" | 107 | msgid "public" |
| 108 | msgstr "Öffentlich" | 108 | msgstr "Öffentlich" |
| 109 | 109 | ||
| 110 | #: html.c:1067 | 110 | #: html.c:1123 |
| 111 | msgid "notifications" | 111 | msgid "notifications" |
| 112 | msgstr "Benachrichtigungen" | 112 | msgstr "Benachrichtigungen" |
| 113 | 113 | ||
| 114 | #: html.c:1072 | 114 | #: html.c:1128 |
| 115 | msgid "people" | 115 | msgid "people" |
| 116 | msgstr "Personen" | 116 | msgstr "Personen" |
| 117 | 117 | ||
| 118 | #: html.c:1077 | 118 | #: html.c:1133 |
| 119 | msgid "instance" | 119 | msgid "instance" |
| 120 | msgstr "Instanz" | 120 | msgstr "Instanz" |
| 121 | 121 | ||
| 122 | #: html.c:1086 | 122 | #: html.c:1142 |
| 123 | msgid "" | 123 | msgid "" |
| 124 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 124 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 125 | "#tag" | 125 | "#tag" |
| @@ -127,576 +127,576 @@ msgstr "" | |||
| 127 | "Durchsuche Beiträge nach URL oder Inhalt (regulärer Ausdruck), @user@host " | 127 | "Durchsuche Beiträge nach URL oder Inhalt (regulärer Ausdruck), @user@host " |
| 128 | "Konten, oder #tag" | 128 | "Konten, oder #tag" |
| 129 | 129 | ||
| 130 | #: html.c:1087 | 130 | #: html.c:1143 |
| 131 | msgid "Content search" | 131 | msgid "Content search" |
| 132 | msgstr "Inhaltssuche" | 132 | msgstr "Inhaltssuche" |
| 133 | 133 | ||
| 134 | #: html.c:1213 | 134 | #: html.c:1269 |
| 135 | msgid "verified link" | 135 | msgid "verified link" |
| 136 | msgstr "verifizierter Link" | 136 | msgstr "verifizierter Link" |
| 137 | 137 | ||
| 138 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 138 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 139 | msgid "Location: " | 139 | msgid "Location: " |
| 140 | msgstr "Standort: " | 140 | msgstr "Standort: " |
| 141 | 141 | ||
| 142 | #: html.c:1302 | 142 | #: html.c:1358 |
| 143 | msgid "New Post..." | 143 | msgid "New Post..." |
| 144 | msgstr "Neuer Beitrag..." | 144 | msgstr "Neuer Beitrag..." |
| 145 | 145 | ||
| 146 | #: html.c:1304 | 146 | #: html.c:1360 |
| 147 | msgid "What's on your mind?" | 147 | msgid "What's on your mind?" |
| 148 | msgstr "Was beschäftigt dich?" | 148 | msgstr "Was beschäftigt dich?" |
| 149 | 149 | ||
| 150 | #: html.c:1313 | 150 | #: html.c:1369 |
| 151 | msgid "Operations..." | 151 | msgid "Operations..." |
| 152 | msgstr "Aktionen..." | 152 | msgstr "Aktionen..." |
| 153 | 153 | ||
| 154 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 154 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 155 | msgid "Follow" | 155 | msgid "Follow" |
| 156 | msgstr "Folgen" | 156 | msgstr "Folgen" |
| 157 | 157 | ||
| 158 | #: html.c:1330 | 158 | #: html.c:1386 |
| 159 | msgid "(by URL or user@host)" | 159 | msgid "(by URL or user@host)" |
| 160 | msgstr "(mit URL oder user@host)" | 160 | msgstr "(mit URL oder user@host)" |
| 161 | 161 | ||
| 162 | #: html.c:1345 html.c:1925 html.c:4766 | 162 | #: html.c:1401 html.c:2003 html.c:5210 |
| 163 | msgid "Boost" | 163 | msgid "Boost" |
| 164 | msgstr "Boosten" | 164 | msgstr "Boosten" |
| 165 | 165 | ||
| 166 | #: html.c:1347 html.c:1364 | 166 | #: html.c:1403 html.c:1420 html.c:1442 |
| 167 | msgid "(by URL)" | 167 | msgid "(by URL)" |
| 168 | msgstr "(mit URL)" | 168 | msgstr "(mit URL)" |
| 169 | 169 | ||
| 170 | #: html.c:1362 html.c:1904 html.c:4757 | 170 | #: html.c:1418 html.c:1982 html.c:5201 |
| 171 | msgid "Like" | 171 | msgid "Like" |
| 172 | msgstr "Gefällt mir" | 172 | msgstr "Gefällt mir" |
| 173 | 173 | ||
| 174 | #: html.c:1490 | 174 | #: html.c:1568 |
| 175 | msgid "User Settings..." | 175 | msgid "User Settings..." |
| 176 | msgstr "Einstellungen..." | 176 | msgstr "Einstellungen..." |
| 177 | 177 | ||
| 178 | #: html.c:1499 | 178 | #: html.c:1577 |
| 179 | msgid "Display name:" | 179 | msgid "Display name:" |
| 180 | msgstr "Anzeigename:" | 180 | msgstr "Anzeigename:" |
| 181 | 181 | ||
| 182 | #: html.c:1505 | 182 | #: html.c:1583 |
| 183 | msgid "Your name" | 183 | msgid "Your name" |
| 184 | msgstr "Dein Name" | 184 | msgstr "Dein Name" |
| 185 | 185 | ||
| 186 | #: html.c:1507 | 186 | #: html.c:1585 |
| 187 | msgid "Avatar: " | 187 | msgid "Avatar: " |
| 188 | msgstr "Avatar: " | 188 | msgstr "Avatar: " |
| 189 | 189 | ||
| 190 | #: html.c:1515 | 190 | #: html.c:1593 |
| 191 | msgid "Delete current avatar" | 191 | msgid "Delete current avatar" |
| 192 | msgstr "Aktuellen Avatar löschen" | 192 | msgstr "Aktuellen Avatar löschen" |
| 193 | 193 | ||
| 194 | #: html.c:1517 | 194 | #: html.c:1595 |
| 195 | msgid "Header image (banner): " | 195 | msgid "Header image (banner): " |
| 196 | msgstr "Titelbild (Banner): " | 196 | msgstr "Titelbild (Banner): " |
| 197 | 197 | ||
| 198 | #: html.c:1525 | 198 | #: html.c:1603 |
| 199 | msgid "Delete current header image" | 199 | msgid "Delete current header image" |
| 200 | msgstr "Aktuelles Titelbild löschen" | 200 | msgstr "Aktuelles Titelbild löschen" |
| 201 | 201 | ||
| 202 | #: html.c:1527 | 202 | #: html.c:1605 |
| 203 | msgid "Bio:" | 203 | msgid "Bio:" |
| 204 | msgstr "Über dich:" | 204 | msgstr "Über dich:" |
| 205 | 205 | ||
| 206 | #: html.c:1533 | 206 | #: html.c:1611 |
| 207 | msgid "Write about yourself here..." | 207 | msgid "Write about yourself here..." |
| 208 | msgstr "Erzähle etwas von dir..." | 208 | msgstr "Erzähle etwas von dir..." |
| 209 | 209 | ||
| 210 | #: html.c:1542 | 210 | #: html.c:1620 |
| 211 | msgid "Always show sensitive content" | 211 | msgid "Always show sensitive content" |
| 212 | msgstr "Sensible Inhalte immer anzeigen" | 212 | msgstr "Sensible Inhalte immer anzeigen" |
| 213 | 213 | ||
| 214 | #: html.c:1544 | 214 | #: html.c:1622 |
| 215 | msgid "Email address for notifications:" | 215 | msgid "Email address for notifications:" |
| 216 | msgstr "E-Mail Adresse für Benachrichtigungen:" | 216 | msgstr "E-Mail Adresse für Benachrichtigungen:" |
| 217 | 217 | ||
| 218 | #: html.c:1552 | 218 | #: html.c:1630 |
| 219 | msgid "Telegram notifications (bot key and chat id):" | 219 | msgid "Telegram notifications (bot key and chat id):" |
| 220 | msgstr "Telegram Benachrichtigungen (Bot Schlüssel und Chat ID):" | 220 | msgstr "Telegram Benachrichtigungen (Bot Schlüssel und Chat ID):" |
| 221 | 221 | ||
| 222 | #: html.c:1566 | 222 | #: html.c:1644 |
| 223 | msgid "ntfy notifications (ntfy server and token):" | 223 | msgid "ntfy notifications (ntfy server and token):" |
| 224 | msgstr "NTFY Benachrichtigungen (ntfy Server und Token):" | 224 | msgstr "NTFY Benachrichtigungen (ntfy Server und Token):" |
| 225 | 225 | ||
| 226 | #: html.c:1588 | 226 | #: html.c:1666 |
| 227 | msgid "Maximum days to keep posts (0: server settings):" | 227 | msgid "Maximum days to keep posts (0: server settings):" |
| 228 | msgstr "Aufbewahrungsfrist der Beiträge in Tagen (0 = Serverstandard):" | 228 | msgstr "Aufbewahrungsfrist der Beiträge in Tagen (0 = Serverstandard):" |
| 229 | 229 | ||
| 230 | #: html.c:1602 | 230 | #: html.c:1680 |
| 231 | msgid "Drop direct messages from people you don't follow" | 231 | msgid "Drop direct messages from people you don't follow" |
| 232 | msgstr "Blocke Direktnachrichten von Personen denen du nicht folgst" | 232 | msgstr "Blocke Direktnachrichten von Personen denen du nicht folgst" |
| 233 | 233 | ||
| 234 | #: html.c:1611 | 234 | #: html.c:1689 |
| 235 | msgid "This account is a bot" | 235 | msgid "This account is a bot" |
| 236 | msgstr "Dieses Konto ist ein Bot" | 236 | msgstr "Dieses Konto ist ein Bot" |
| 237 | 237 | ||
| 238 | #: html.c:1620 | 238 | #: html.c:1698 |
| 239 | msgid "Auto-boost all mentions to this account" | 239 | msgid "Auto-boost all mentions to this account" |
| 240 | msgstr "Automatisches Boosten bei Erwähnungen dieses Kontos" | 240 | msgstr "Automatisches Boosten bei Erwähnungen dieses Kontos" |
| 241 | 241 | ||
| 242 | #: html.c:1629 | 242 | #: html.c:1707 |
| 243 | msgid "This account is private (posts are not shown through the web)" | 243 | msgid "This account is private (posts are not shown through the web)" |
| 244 | msgstr "" | 244 | msgstr "" |
| 245 | "Dieses Konto ist privat (Beiträge werden nicht in der Weboberfläche " | 245 | "Dieses Konto ist privat (Beiträge werden nicht in der Weboberfläche " |
| 246 | "angezeigt)" | 246 | "angezeigt)" |
| 247 | 247 | ||
| 248 | #: html.c:1639 | 248 | #: html.c:1717 |
| 249 | msgid "Collapse top threads by default" | 249 | msgid "Collapse top threads by default" |
| 250 | msgstr "Themen standardmäßig einklappen" | 250 | msgstr "Themen standardmäßig einklappen" |
| 251 | 251 | ||
| 252 | #: html.c:1648 | 252 | #: html.c:1726 |
| 253 | msgid "Follow requests must be approved" | 253 | msgid "Follow requests must be approved" |
| 254 | msgstr "Folgeanfragen müssen genehmigt werden" | 254 | msgstr "Folgeanfragen müssen genehmigt werden" |
| 255 | 255 | ||
| 256 | #: html.c:1657 | 256 | #: html.c:1735 |
| 257 | msgid "Publish follower and following metrics" | 257 | msgid "Publish follower and following metrics" |
| 258 | msgstr "Veröffentliche die Anzahl von Followern und Gefolgten." | 258 | msgstr "Veröffentliche die Anzahl von Followern und Gefolgten." |
| 259 | 259 | ||
| 260 | #: html.c:1659 | 260 | #: html.c:1737 |
| 261 | msgid "Current location:" | 261 | msgid "Current location:" |
| 262 | msgstr "Standort:" | 262 | msgstr "Standort:" |
| 263 | 263 | ||
| 264 | #: html.c:1673 | 264 | #: html.c:1751 |
| 265 | msgid "Profile metadata (key=value pairs in each line):" | 265 | msgid "Profile metadata (key=value pairs in each line):" |
| 266 | msgstr "Profil-Metadaten (Begriff=Wert Paare, einer pro Zeile):" | 266 | msgstr "Profil-Metadaten (Begriff=Wert Paare, einer pro Zeile):" |
| 267 | 267 | ||
| 268 | #: html.c:1684 | 268 | #: html.c:1762 |
| 269 | msgid "Web interface language:" | 269 | msgid "Web interface language:" |
| 270 | msgstr "Sprache der Weboberfläche:" | 270 | msgstr "Sprache der Weboberfläche:" |
| 271 | 271 | ||
| 272 | #: html.c:1703 | 272 | #: html.c:1781 |
| 273 | msgid "New password:" | 273 | msgid "New password:" |
| 274 | msgstr "Neues Passwort:" | 274 | msgstr "Neues Passwort:" |
| 275 | 275 | ||
| 276 | #: html.c:1710 | 276 | #: html.c:1788 |
| 277 | msgid "Repeat new password:" | 277 | msgid "Repeat new password:" |
| 278 | msgstr "Neues Passwort wiederholen:" | 278 | msgstr "Neues Passwort wiederholen:" |
| 279 | 279 | ||
| 280 | #: html.c:1720 | 280 | #: html.c:1798 |
| 281 | msgid "Update user info" | 281 | msgid "Update user info" |
| 282 | msgstr "Benutzerinformationen aktualisieren" | 282 | msgstr "Benutzerinformationen aktualisieren" |
| 283 | 283 | ||
| 284 | #: html.c:1731 | 284 | #: html.c:1809 |
| 285 | msgid "Followed hashtags..." | 285 | msgid "Followed hashtags..." |
| 286 | msgstr "Gefolgte Hashtags..." | 286 | msgstr "Gefolgte Hashtags..." |
| 287 | 287 | ||
| 288 | #: html.c:1733 html.c:1766 | 288 | #: html.c:1811 html.c:1844 |
| 289 | msgid "One hashtag per line" | 289 | msgid "One hashtag per line" |
| 290 | msgstr "Ein Hashtag pro Zeile" | 290 | msgstr "Ein Hashtag pro Zeile" |
| 291 | 291 | ||
| 292 | #: html.c:1755 html.c:1787 | 292 | #: html.c:1833 html.c:1865 |
| 293 | msgid "Update hashtags" | 293 | msgid "Update hashtags" |
| 294 | msgstr "Hashtags aktualisieren" | 294 | msgstr "Hashtags aktualisieren" |
| 295 | 295 | ||
| 296 | #: html.c:1904 | 296 | #: html.c:1982 |
| 297 | msgid "Say you like this post" | 297 | msgid "Say you like this post" |
| 298 | msgstr "Sag, dass dir dieser Beiträg gefällt" | 298 | msgstr "Sag, dass dir dieser Beiträg gefällt" |
| 299 | 299 | ||
| 300 | #: html.c:1909 html.c:4775 | 300 | #: html.c:1987 html.c:5219 |
| 301 | msgid "Unlike" | 301 | msgid "Unlike" |
| 302 | msgstr "Gefällt mir zurücknehmen" | 302 | msgstr "Gefällt mir zurücknehmen" |
| 303 | 303 | ||
| 304 | #: html.c:1909 | 304 | #: html.c:1987 |
| 305 | msgid "Nah don't like it that much" | 305 | msgid "Nah don't like it that much" |
| 306 | msgstr "Nee, gefällt mir nicht so gut" | 306 | msgstr "Nee, gefällt mir nicht so gut" |
| 307 | 307 | ||
| 308 | #: html.c:1915 html.c:4912 | 308 | #: html.c:1993 html.c:5356 |
| 309 | msgid "Unpin" | 309 | msgid "Unpin" |
| 310 | msgstr "Pin entfernen" | 310 | msgstr "Pin entfernen" |
| 311 | 311 | ||
| 312 | #: html.c:1915 | 312 | #: html.c:1993 |
| 313 | msgid "Unpin this post from your timeline" | 313 | msgid "Unpin this post from your timeline" |
| 314 | msgstr "Pin für diesen Beitrag aus deiner Zeitleiste entfernen" | 314 | msgstr "Pin für diesen Beitrag aus deiner Zeitleiste entfernen" |
| 315 | 315 | ||
| 316 | #: html.c:1918 html.c:4907 | 316 | #: html.c:1996 html.c:5351 |
| 317 | msgid "Pin" | 317 | msgid "Pin" |
| 318 | msgstr "Anpinnen" | 318 | msgstr "Anpinnen" |
| 319 | 319 | ||
| 320 | #: html.c:1918 | 320 | #: html.c:1996 |
| 321 | msgid "Pin this post to the top of your timeline" | 321 | msgid "Pin this post to the top of your timeline" |
| 322 | msgstr "Pinne diesen Beitrag an den Anfang deiner Zeitleiste" | 322 | msgstr "Pinne diesen Beitrag an den Anfang deiner Zeitleiste" |
| 323 | 323 | ||
| 324 | #: html.c:1925 | 324 | #: html.c:2003 |
| 325 | msgid "Announce this post to your followers" | 325 | msgid "Announce this post to your followers" |
| 326 | msgstr "Diesen Beitrag an deine Follower weiterschicken" | 326 | msgstr "Diesen Beitrag an deine Follower weiterschicken" |
| 327 | 327 | ||
| 328 | #: html.c:1930 html.c:4783 | 328 | #: html.c:2008 html.c:5227 |
| 329 | msgid "Unboost" | 329 | msgid "Unboost" |
| 330 | msgstr "Boost zurücknehmen" | 330 | msgstr "Boost zurücknehmen" |
| 331 | 331 | ||
| 332 | #: html.c:1930 | 332 | #: html.c:2008 |
| 333 | msgid "I regret I boosted this" | 333 | msgid "I regret I boosted this" |
| 334 | msgstr "Ich bedauere, dass ich das weiterverschickt habe" | 334 | msgstr "Ich bedauere, dass ich das weiterverschickt habe" |
| 335 | 335 | ||
| 336 | #: html.c:1936 html.c:4922 | 336 | #: html.c:2014 html.c:5366 |
| 337 | msgid "Unbookmark" | 337 | msgid "Unbookmark" |
| 338 | msgstr "Lesezeichen entfernen" | 338 | msgstr "Lesezeichen entfernen" |
| 339 | 339 | ||
| 340 | #: html.c:1936 | 340 | #: html.c:2014 |
| 341 | msgid "Delete this post from your bookmarks" | 341 | msgid "Delete this post from your bookmarks" |
| 342 | msgstr "Diesen Beitrag aus den Lesezeichen entfernen" | 342 | msgstr "Diesen Beitrag aus den Lesezeichen entfernen" |
| 343 | 343 | ||
| 344 | #: html.c:1939 html.c:4917 | 344 | #: html.c:2017 html.c:5361 |
| 345 | msgid "Bookmark" | 345 | msgid "Bookmark" |
| 346 | msgstr "Lesezeichen" | 346 | msgstr "Lesezeichen" |
| 347 | 347 | ||
| 348 | #: html.c:1939 | 348 | #: html.c:2017 |
| 349 | msgid "Add this post to your bookmarks" | 349 | msgid "Add this post to your bookmarks" |
| 350 | msgstr "Diesen Beitrag zu deinen Lesezeichen hinzufügen" | 350 | msgstr "Diesen Beitrag zu deinen Lesezeichen hinzufügen" |
| 351 | 351 | ||
| 352 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 352 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 353 | msgid "Unfollow" | 353 | msgid "Unfollow" |
| 354 | msgstr "Nicht mehr folgen" | 354 | msgstr "Nicht mehr folgen" |
| 355 | 355 | ||
| 356 | #: html.c:1945 html.c:3387 | 356 | #: html.c:2023 html.c:3763 html.c:4042 |
| 357 | msgid "Stop following this user's activity" | 357 | msgid "Stop following this user's activity" |
| 358 | msgstr "Aktivitäten dieses Benutzers nicht mehr folgen" | 358 | msgstr "Aktivitäten dieses Benutzers nicht mehr folgen" |
| 359 | 359 | ||
| 360 | #: html.c:1949 html.c:3401 | 360 | #: html.c:2027 html.c:3777 html.c:4044 |
| 361 | msgid "Start following this user's activity" | 361 | msgid "Start following this user's activity" |
| 362 | msgstr "Folge den Aktivitäten dieses Benutzers" | 362 | msgstr "Folge den Aktivitäten dieses Benutzers" |
| 363 | 363 | ||
| 364 | #: html.c:1955 html.c:4860 | 364 | #: html.c:2033 html.c:5304 |
| 365 | msgid "Unfollow Group" | 365 | msgid "Unfollow Group" |
| 366 | msgstr "Der Gruppe nicht mehr folgen" | 366 | msgstr "Der Gruppe nicht mehr folgen" |
| 367 | 367 | ||
| 368 | #: html.c:1956 | 368 | #: html.c:2034 |
| 369 | msgid "Stop following this group or channel" | 369 | msgid "Stop following this group or channel" |
| 370 | msgstr "Der Gruppe oder dem Kanal nicht mehr folgen" | 370 | msgstr "Der Gruppe oder dem Kanal nicht mehr folgen" |
| 371 | 371 | ||
| 372 | #: html.c:1960 html.c:4847 | 372 | #: html.c:2038 html.c:5291 |
| 373 | msgid "Follow Group" | 373 | msgid "Follow Group" |
| 374 | msgstr "Der Gruppe folgen" | 374 | msgstr "Der Gruppe folgen" |
| 375 | 375 | ||
| 376 | #: html.c:1961 | 376 | #: html.c:2039 |
| 377 | msgid "Start following this group or channel" | 377 | msgid "Start following this group or channel" |
| 378 | msgstr "Der Gruppe oder dem Kanal folgen" | 378 | msgstr "Der Gruppe oder dem Kanal folgen" |
| 379 | 379 | ||
| 380 | #: html.c:1966 html.c:3423 html.c:4791 | 380 | #: html.c:2044 html.c:3799 html.c:5235 |
| 381 | msgid "MUTE" | 381 | msgid "MUTE" |
| 382 | msgstr "Stummschalten" | 382 | msgstr "Stummschalten" |
| 383 | 383 | ||
| 384 | #: html.c:1967 | 384 | #: html.c:2045 |
| 385 | msgid "Block any activity from this user forever" | 385 | msgid "Block any activity from this user forever" |
| 386 | msgstr "Alle Aktivitäten dieses Benutzers für immer blockieren" | 386 | msgstr "Alle Aktivitäten dieses Benutzers für immer blockieren" |
| 387 | 387 | ||
| 388 | #: html.c:1972 html.c:3405 html.c:4877 | 388 | #: html.c:2050 html.c:3781 html.c:5321 |
| 389 | msgid "Delete" | 389 | msgid "Delete" |
| 390 | msgstr "Löschen" | 390 | msgstr "Löschen" |
| 391 | 391 | ||
| 392 | #: html.c:1972 | 392 | #: html.c:2050 |
| 393 | msgid "Delete this post" | 393 | msgid "Delete this post" |
| 394 | msgstr "Diesen Beitrag löschen" | 394 | msgstr "Diesen Beitrag löschen" |
| 395 | 395 | ||
| 396 | #: html.c:1975 html.c:4799 | 396 | #: html.c:2053 html.c:5243 |
| 397 | msgid "Hide" | 397 | msgid "Hide" |
| 398 | msgstr "Verstecken" | 398 | msgstr "Verstecken" |
| 399 | 399 | ||
| 400 | #: html.c:1975 | 400 | #: html.c:2053 |
| 401 | msgid "Hide this post and its children" | 401 | msgid "Hide this post and its children" |
| 402 | msgstr "Verstecke diesen Beitrag und seine Kommentare" | 402 | msgstr "Verstecke diesen Beitrag und seine Kommentare" |
| 403 | 403 | ||
| 404 | #: html.c:2017 | 404 | #: html.c:2095 |
| 405 | msgid "Edit..." | 405 | msgid "Edit..." |
| 406 | msgstr "Bearbeiten..." | 406 | msgstr "Bearbeiten..." |
| 407 | 407 | ||
| 408 | #: html.c:2039 | 408 | #: html.c:2133 |
| 409 | msgid "Reply..." | 409 | msgid "Reply..." |
| 410 | msgstr "Antworten..." | 410 | msgstr "Antworten..." |
| 411 | 411 | ||
| 412 | #: html.c:2090 | 412 | #: html.c:2184 |
| 413 | msgid "Truncated (too deep)" | 413 | msgid "Truncated (too deep)" |
| 414 | msgstr "Abgeschnitten (zu tief)" | 414 | msgstr "Abgeschnitten (zu tief)" |
| 415 | 415 | ||
| 416 | #: html.c:2108 | 416 | #: html.c:2202 |
| 417 | msgid "follows you" | 417 | msgid "follows you" |
| 418 | msgstr "folgt dir" | 418 | msgstr "folgt dir" |
| 419 | 419 | ||
| 420 | #: html.c:2182 | 420 | #: html.c:2276 |
| 421 | msgid "Pinned" | 421 | msgid "Pinned" |
| 422 | msgstr "Angeheftet" | 422 | msgstr "Angeheftet" |
| 423 | 423 | ||
| 424 | #: html.c:2190 | 424 | #: html.c:2284 |
| 425 | msgid "Bookmarked" | 425 | msgid "Bookmarked" |
| 426 | msgstr "Lesezeichen gesetzt" | 426 | msgstr "Lesezeichen gesetzt" |
| 427 | 427 | ||
| 428 | #: html.c:2198 | 428 | #: html.c:2292 |
| 429 | msgid "Poll" | 429 | msgid "Poll" |
| 430 | msgstr "Umfrage" | 430 | msgstr "Umfrage" |
| 431 | 431 | ||
| 432 | #: html.c:2205 | 432 | #: html.c:2299 |
| 433 | msgid "Voted" | 433 | msgid "Voted" |
| 434 | msgstr "Abgestimmt" | 434 | msgstr "Abgestimmt" |
| 435 | 435 | ||
| 436 | #: html.c:2214 | 436 | #: html.c:2308 |
| 437 | msgid "Event" | 437 | msgid "Event" |
| 438 | msgstr "Ereignis" | 438 | msgstr "Ereignis" |
| 439 | 439 | ||
| 440 | #: html.c:2246 html.c:2275 | 440 | #: html.c:2340 html.c:2369 |
| 441 | msgid "boosted" | 441 | msgid "boosted" |
| 442 | msgstr "teilte" | 442 | msgstr "teilte" |
| 443 | 443 | ||
| 444 | #: html.c:2289 | 444 | #: html.c:2383 |
| 445 | msgid "in reply to" | 445 | msgid "in reply to" |
| 446 | msgstr "als Antwort auf" | 446 | msgstr "als Antwort auf" |
| 447 | 447 | ||
| 448 | #: html.c:2345 | 448 | #: html.c:2439 |
| 449 | msgid " [SENSITIVE CONTENT]" | 449 | msgid " [SENSITIVE CONTENT]" |
| 450 | msgstr " [SENSIBLER INHALT]" | 450 | msgstr " [SENSIBLER INHALT]" |
| 451 | 451 | ||
| 452 | #: html.c:2512 | 452 | #: html.c:2796 |
| 453 | msgid "Vote" | 453 | msgid "Vote" |
| 454 | msgstr "Abstimmen" | 454 | msgstr "Abstimmen" |
| 455 | 455 | ||
| 456 | #: html.c:2522 | 456 | #: html.c:2806 |
| 457 | msgid "Closed" | 457 | msgid "Closed" |
| 458 | msgstr "Geschlossen" | 458 | msgstr "Geschlossen" |
| 459 | 459 | ||
| 460 | #: html.c:2547 | 460 | #: html.c:2831 |
| 461 | msgid "Closes in" | 461 | msgid "Closes in" |
| 462 | msgstr "Beendet in" | 462 | msgstr "Beendet in" |
| 463 | 463 | ||
| 464 | #: html.c:2627 | 464 | #: html.c:2911 |
| 465 | msgid "Video" | 465 | msgid "Video" |
| 466 | msgstr "Video" | 466 | msgstr "Video" |
| 467 | 467 | ||
| 468 | #: html.c:2642 | 468 | #: html.c:2926 |
| 469 | msgid "Audio" | 469 | msgid "Audio" |
| 470 | msgstr "Audio" | 470 | msgstr "Audio" |
| 471 | 471 | ||
| 472 | #: html.c:2670 | 472 | #: html.c:2954 |
| 473 | msgid "Attachment" | 473 | msgid "Attachment" |
| 474 | msgstr "Anhang" | 474 | msgstr "Anhang" |
| 475 | 475 | ||
| 476 | #: html.c:2684 | 476 | #: html.c:2968 |
| 477 | msgid "Alt..." | 477 | msgid "Alt..." |
| 478 | msgstr "Alt.-Text..." | 478 | msgstr "Alt.-Text..." |
| 479 | 479 | ||
| 480 | #: html.c:2697 | 480 | #: html.c:2981 |
| 481 | msgid "Source channel or community" | 481 | msgid "Source channel or community" |
| 482 | msgstr "Ursprungskanal oder -gemeinschaft" | 482 | msgstr "Ursprungskanal oder -gemeinschaft" |
| 483 | 483 | ||
| 484 | #: html.c:2791 | 484 | #: html.c:3075 |
| 485 | msgid "Time: " | 485 | msgid "Time: " |
| 486 | msgstr "Zeit: " | 486 | msgstr "Zeit: " |
| 487 | 487 | ||
| 488 | #: html.c:2872 | 488 | #: html.c:3156 |
| 489 | msgid "Older..." | 489 | msgid "Older..." |
| 490 | msgstr "Älter..." | 490 | msgstr "Älter..." |
| 491 | 491 | ||
| 492 | #: html.c:2974 | 492 | #: html.c:3258 |
| 493 | msgid "about this site" | 493 | msgid "about this site" |
| 494 | msgstr "Über diese Seite" | 494 | msgstr "Über diese Seite" |
| 495 | 495 | ||
| 496 | #: html.c:2976 | 496 | #: html.c:3260 |
| 497 | msgid "powered by " | 497 | msgid "powered by " |
| 498 | msgstr "powered by " | 498 | msgstr "powered by " |
| 499 | 499 | ||
| 500 | #: html.c:3041 | 500 | #: html.c:3329 |
| 501 | msgid "Dismiss" | 501 | msgid "Dismiss" |
| 502 | msgstr "Ablehnen" | 502 | msgstr "Ablehnen" |
| 503 | 503 | ||
| 504 | #: html.c:3058 | 504 | #: html.c:3346 |
| 505 | #, c-format | 505 | #, c-format |
| 506 | msgid "Timeline for list '%s'" | 506 | msgid "Timeline for list '%s'" |
| 507 | msgstr "Zeitleiste für Liste '%s'" | 507 | msgstr "Zeitleiste für Liste '%s'" |
| 508 | 508 | ||
| 509 | #: html.c:3077 html.c:4169 | 509 | #: html.c:3365 html.c:4589 |
| 510 | msgid "Pinned posts" | 510 | msgid "Pinned posts" |
| 511 | msgstr "Angeheftete Beiträge" | 511 | msgstr "Angeheftete Beiträge" |
| 512 | 512 | ||
| 513 | #: html.c:3089 html.c:4184 | 513 | #: html.c:3377 html.c:4604 |
| 514 | msgid "Bookmarked posts" | 514 | msgid "Bookmarked posts" |
| 515 | msgstr "Beiträge mit Lesezeichen" | 515 | msgstr "Beiträge mit Lesezeichen" |
| 516 | 516 | ||
| 517 | #: html.c:3101 html.c:4199 | 517 | #: html.c:3389 html.c:4619 |
| 518 | msgid "Post drafts" | 518 | msgid "Post drafts" |
| 519 | msgstr "Entwurf veröffentlichen" | 519 | msgstr "Entwurf veröffentlichen" |
| 520 | 520 | ||
| 521 | #: html.c:3177 | 521 | #: html.c:3465 |
| 522 | msgid "No more unseen posts" | 522 | msgid "No more unseen posts" |
| 523 | msgstr "Keine weiteren ungesehenen Beiträge" | 523 | msgstr "Keine weiteren ungesehenen Beiträge" |
| 524 | 524 | ||
| 525 | #: html.c:3181 html.c:3290 | 525 | #: html.c:3469 html.c:3578 |
| 526 | msgid "Back to top" | 526 | msgid "Back to top" |
| 527 | msgstr "Nach oben" | 527 | msgstr "Nach oben" |
| 528 | 528 | ||
| 529 | #: html.c:3243 | 529 | #: html.c:3531 |
| 530 | msgid "History" | 530 | msgid "History" |
| 531 | msgstr "Historie" | 531 | msgstr "Historie" |
| 532 | 532 | ||
| 533 | #: html.c:3295 html.c:3734 | 533 | #: html.c:3583 html.c:4149 |
| 534 | msgid "More..." | 534 | msgid "More..." |
| 535 | msgstr "Mehr..." | 535 | msgstr "Mehr..." |
| 536 | 536 | ||
| 537 | #: html.c:3391 html.c:4813 | 537 | #: html.c:3767 html.c:5257 |
| 538 | msgid "Unlimit" | 538 | msgid "Unlimit" |
| 539 | msgstr "Nicht mehr limitieren" | 539 | msgstr "Nicht mehr limitieren" |
| 540 | 540 | ||
| 541 | #: html.c:3392 | 541 | #: html.c:3768 |
| 542 | msgid "Allow announces (boosts) from this user" | 542 | msgid "Allow announces (boosts) from this user" |
| 543 | msgstr "Erlaube Boosts dieses Benutzers" | 543 | msgstr "Erlaube Boosts dieses Benutzers" |
| 544 | 544 | ||
| 545 | #: html.c:3395 html.c:4809 | 545 | #: html.c:3771 html.c:5253 |
| 546 | msgid "Limit" | 546 | msgid "Limit" |
| 547 | msgstr "Limitieren" | 547 | msgstr "Limitieren" |
| 548 | 548 | ||
| 549 | #: html.c:3396 | 549 | #: html.c:3772 |
| 550 | msgid "Block announces (boosts) from this user" | 550 | msgid "Block announces (boosts) from this user" |
| 551 | msgstr "Blocke Boosts dieses Benutzers" | 551 | msgstr "Blocke Boosts dieses Benutzers" |
| 552 | 552 | ||
| 553 | #: html.c:3405 | 553 | #: html.c:3781 |
| 554 | msgid "Delete this user" | 554 | msgid "Delete this user" |
| 555 | msgstr "Benutzer löschen" | 555 | msgstr "Benutzer löschen" |
| 556 | 556 | ||
| 557 | #: html.c:3410 html.c:4927 | 557 | #: html.c:3786 html.c:5371 |
| 558 | msgid "Approve" | 558 | msgid "Approve" |
| 559 | msgstr "Bestätigen" | 559 | msgstr "Bestätigen" |
| 560 | 560 | ||
| 561 | #: html.c:3411 | 561 | #: html.c:3787 |
| 562 | msgid "Approve this follow request" | 562 | msgid "Approve this follow request" |
| 563 | msgstr "Diese Folgeanfrage bestätigen" | 563 | msgstr "Diese Folgeanfrage bestätigen" |
| 564 | 564 | ||
| 565 | #: html.c:3414 html.c:4951 | 565 | #: html.c:3790 html.c:5395 |
| 566 | msgid "Discard" | 566 | msgid "Discard" |
| 567 | msgstr "Verwerfen" | 567 | msgstr "Verwerfen" |
| 568 | 568 | ||
| 569 | #: html.c:3414 | 569 | #: html.c:3790 |
| 570 | msgid "Discard this follow request" | 570 | msgid "Discard this follow request" |
| 571 | msgstr "Diese Folgeanfrage verwerfen" | 571 | msgstr "Diese Folgeanfrage verwerfen" |
| 572 | 572 | ||
| 573 | #: html.c:3419 html.c:4795 | 573 | #: html.c:3795 html.c:5239 |
| 574 | msgid "Unmute" | 574 | msgid "Unmute" |
| 575 | msgstr "Stummschaltung aufheben" | 575 | msgstr "Stummschaltung aufheben" |
| 576 | 576 | ||
| 577 | #: html.c:3420 | 577 | #: html.c:3796 |
| 578 | msgid "Stop blocking activities from this user" | 578 | msgid "Stop blocking activities from this user" |
| 579 | msgstr "Aktivitäten dieses Benutzers nicht mehr blockieren" | 579 | msgstr "Aktivitäten dieses Benutzers nicht mehr blockieren" |
| 580 | 580 | ||
| 581 | #: html.c:3424 | 581 | #: html.c:3800 |
| 582 | msgid "Block any activity from this user" | 582 | msgid "Block any activity from this user" |
| 583 | msgstr "Alle Aktivitäten dieses Benutzers blockieren" | 583 | msgstr "Alle Aktivitäten dieses Benutzers blockieren" |
| 584 | 584 | ||
| 585 | #: html.c:3432 | 585 | #: html.c:3808 |
| 586 | msgid "Direct Message..." | 586 | msgid "Direct Message..." |
| 587 | msgstr "Direktnachricht..." | 587 | msgstr "Direktnachricht..." |
| 588 | 588 | ||
| 589 | #: html.c:3467 | 589 | #: html.c:3843 |
| 590 | msgid "Pending follow confirmations" | 590 | msgid "Pending follow confirmations" |
| 591 | msgstr "Ausstehende Folgebestätigungen" | 591 | msgstr "Ausstehende Folgebestätigungen" |
| 592 | 592 | ||
| 593 | #: html.c:3471 | 593 | #: html.c:3847 |
| 594 | msgid "People you follow" | 594 | msgid "People you follow" |
| 595 | msgstr "Personen denen du folgst" | 595 | msgstr "Personen denen du folgst" |
| 596 | 596 | ||
| 597 | #: html.c:3472 | 597 | #: html.c:3848 |
| 598 | msgid "People that follow you" | 598 | msgid "People that follow you" |
| 599 | msgstr "Personen die dir folgen" | 599 | msgstr "Personen die dir folgen" |
| 600 | 600 | ||
| 601 | #: html.c:3511 | 601 | #: html.c:3887 |
| 602 | msgid "Clear all" | 602 | msgid "Clear all" |
| 603 | msgstr "Aufräumen" | 603 | msgstr "Aufräumen" |
| 604 | 604 | ||
| 605 | #: html.c:3571 | 605 | #: html.c:3951 |
| 606 | msgid "Mention" | 606 | msgid "Mention" |
| 607 | msgstr "Erwähnung" | 607 | msgstr "Erwähnung" |
| 608 | 608 | ||
| 609 | #: html.c:3574 | 609 | #: html.c:3954 |
| 610 | msgid "Finished poll" | 610 | msgid "Finished poll" |
| 611 | msgstr "Beendete Umfrage" | 611 | msgstr "Beendete Umfrage" |
| 612 | 612 | ||
| 613 | #: html.c:3590 | 613 | #: html.c:3979 |
| 614 | msgid "Follow Request" | 614 | msgid "Follow Request" |
| 615 | msgstr "Folge-Anfrage" | 615 | msgstr "Folge-Anfrage" |
| 616 | 616 | ||
| 617 | #: html.c:3674 | 617 | #: html.c:4089 |
| 618 | msgid "Context" | 618 | msgid "Context" |
| 619 | msgstr "Zusammenhang anzeigen" | 619 | msgstr "Zusammenhang anzeigen" |
| 620 | 620 | ||
| 621 | #: html.c:3692 | 621 | #: html.c:4107 |
| 622 | msgid "New" | 622 | msgid "New" |
| 623 | msgstr "Neu" | 623 | msgstr "Neu" |
| 624 | 624 | ||
| 625 | #: html.c:3707 | 625 | #: html.c:4122 |
| 626 | msgid "Already seen" | 626 | msgid "Already seen" |
| 627 | msgstr "Bereits gesehen" | 627 | msgstr "Bereits gesehen" |
| 628 | 628 | ||
| 629 | #: html.c:3722 | 629 | #: html.c:4137 |
| 630 | msgid "None" | 630 | msgid "None" |
| 631 | msgstr "Nichts" | 631 | msgstr "Nichts" |
| 632 | 632 | ||
| 633 | #: html.c:3994 | 633 | #: html.c:4414 |
| 634 | #, c-format | 634 | #, c-format |
| 635 | msgid "Search results for account %s" | 635 | msgid "Search results for account %s" |
| 636 | msgstr "Suchergebnisse für Konto %s" | 636 | msgstr "Suchergebnisse für Konto %s" |
| 637 | 637 | ||
| 638 | #: html.c:4001 | 638 | #: html.c:4421 |
| 639 | #, c-format | 639 | #, c-format |
| 640 | msgid "Account %s not found" | 640 | msgid "Account %s not found" |
| 641 | msgstr "Konto %s wurde nicht gefunden" | 641 | msgstr "Konto %s wurde nicht gefunden" |
| 642 | 642 | ||
| 643 | #: html.c:4032 | 643 | #: html.c:4452 |
| 644 | #, c-format | 644 | #, c-format |
| 645 | msgid "Search results for tag %s" | 645 | msgid "Search results for tag %s" |
| 646 | msgstr "Suchergebnisse für Hashtag %s" | 646 | msgstr "Suchergebnisse für Hashtag %s" |
| 647 | 647 | ||
| 648 | #: html.c:4032 | 648 | #: html.c:4452 |
| 649 | #, c-format | 649 | #, c-format |
| 650 | msgid "Nothing found for tag %s" | 650 | msgid "Nothing found for tag %s" |
| 651 | msgstr "Nicht gefunden zu Hashtag %s" | 651 | msgstr "Nicht gefunden zu Hashtag %s" |
| 652 | 652 | ||
| 653 | #: html.c:4048 | 653 | #: html.c:4468 |
| 654 | #, c-format | 654 | #, c-format |
| 655 | msgid "Search results for '%s' (may be more)" | 655 | msgid "Search results for '%s' (may be more)" |
| 656 | msgstr "Suchergebnisse für '%s' (könnten mehr sein)" | 656 | msgstr "Suchergebnisse für '%s' (könnten mehr sein)" |
| 657 | 657 | ||
| 658 | #: html.c:4051 | 658 | #: html.c:4471 |
| 659 | #, c-format | 659 | #, c-format |
| 660 | msgid "Search results for '%s'" | 660 | msgid "Search results for '%s'" |
| 661 | msgstr "Keine Suchergebnisse für '%s'" | 661 | msgstr "Keine Suchergebnisse für '%s'" |
| 662 | 662 | ||
| 663 | #: html.c:4054 | 663 | #: html.c:4474 |
| 664 | #, c-format | 664 | #, c-format |
| 665 | msgid "No more matches for '%s'" | 665 | msgid "No more matches for '%s'" |
| 666 | msgstr "Keine weiteren Treffer für '%s'" | 666 | msgstr "Keine weiteren Treffer für '%s'" |
| 667 | 667 | ||
| 668 | #: html.c:4056 | 668 | #: html.c:4476 |
| 669 | #, c-format | 669 | #, c-format |
| 670 | msgid "Nothing found for '%s'" | 670 | msgid "Nothing found for '%s'" |
| 671 | msgstr "Nichts gefunden für '%s'" | 671 | msgstr "Nichts gefunden für '%s'" |
| 672 | 672 | ||
| 673 | #: html.c:4154 | 673 | #: html.c:4574 |
| 674 | msgid "Showing instance timeline" | 674 | msgid "Showing instance timeline" |
| 675 | msgstr "Zeitleiste der Instanz anzeigen" | 675 | msgstr "Zeitleiste der Instanz anzeigen" |
| 676 | 676 | ||
| 677 | #: html.c:4237 | 677 | #: html.c:4657 |
| 678 | #, c-format | 678 | #, c-format |
| 679 | msgid "Showing timeline for list '%s'" | 679 | msgid "Showing timeline for list '%s'" |
| 680 | msgstr "Zeitleiste der Liste '%s' anzeigen" | 680 | msgstr "Zeitleiste der Liste '%s' anzeigen" |
| 681 | 681 | ||
| 682 | #: httpd.c:258 | 682 | #: httpd.c:259 |
| 683 | #, c-format | 683 | #, c-format |
| 684 | msgid "Search results for tag #%s" | 684 | msgid "Search results for tag #%s" |
| 685 | msgstr "Suchergebnisse für Hashtag #%s" | 685 | msgstr "Suchergebnisse für Hashtag #%s" |
| 686 | 686 | ||
| 687 | #: httpd.c:267 | 687 | #: httpd.c:268 |
| 688 | msgid "Recent posts by users in this instance" | 688 | msgid "Recent posts by users in this instance" |
| 689 | msgstr "Neueste Beiträge von Benutzern dieser Instanz" | 689 | msgstr "Neueste Beiträge von Benutzern dieser Instanz" |
| 690 | 690 | ||
| 691 | #: html.c:1764 | 691 | #: html.c:1842 |
| 692 | msgid "Blocked hashtags..." | 692 | msgid "Blocked hashtags..." |
| 693 | msgstr "Geblockte Hashtags..." | 693 | msgstr "Geblockte Hashtags..." |
| 694 | 694 | ||
| 695 | #: html.c:518 | 695 | #: html.c:574 |
| 696 | msgid "Optional URL to reply to" | 696 | msgid "Optional URL to reply to" |
| 697 | msgstr "Optionale URL zum Antworten" | 697 | msgstr "Optionale URL zum Antworten" |
| 698 | 698 | ||
| 699 | #: html.c:695 | 699 | #: html.c:751 |
| 700 | msgid "" | 700 | msgid "" |
| 701 | "Option 1...\n" | 701 | "Option 1...\n" |
| 702 | "Option 2...\n" | 702 | "Option 2...\n" |
| @@ -708,94 +708,106 @@ msgstr "" | |||
| 708 | "Option 3...\n" | 708 | "Option 3...\n" |
| 709 | "..." | 709 | "..." |
| 710 | 710 | ||
| 711 | #: html.c:1558 | 711 | #: html.c:1636 |
| 712 | msgid "Bot API key" | 712 | msgid "Bot API key" |
| 713 | msgstr "Bot API Schlüssel" | 713 | msgstr "Bot API Schlüssel" |
| 714 | 714 | ||
| 715 | #: html.c:1564 | 715 | #: html.c:1642 |
| 716 | msgid "Chat id" | 716 | msgid "Chat id" |
| 717 | msgstr "Chat ID" | 717 | msgstr "Chat ID" |
| 718 | 718 | ||
| 719 | #: html.c:1572 | 719 | #: html.c:1650 |
| 720 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 720 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 721 | msgstr "ntfy Server - vollständige URL (Bsp.: https://ntfy.sh/YourTopic)" | 721 | msgstr "ntfy Server - vollständige URL (Bsp.: https://ntfy.sh/YourTopic)" |
| 722 | 722 | ||
| 723 | #: html.c:1578 | 723 | #: html.c:1656 |
| 724 | msgid "ntfy token - if needed" | 724 | msgid "ntfy token - if needed" |
| 725 | msgstr "ntfy Token - falls nötig" | 725 | msgstr "ntfy Token - falls nötig" |
| 726 | 726 | ||
| 727 | #: html.c:3078 | 727 | #: html.c:3366 |
| 728 | msgid "pinned" | 728 | msgid "pinned" |
| 729 | msgstr "Angeheftet" | 729 | msgstr "Angeheftet" |
| 730 | 730 | ||
| 731 | #: html.c:3090 | 731 | #: html.c:3378 |
| 732 | msgid "bookmarks" | 732 | msgid "bookmarks" |
| 733 | msgstr "Lesezeichen" | 733 | msgstr "Lesezeichen" |
| 734 | 734 | ||
| 735 | #: html.c:3102 | 735 | #: html.c:3390 |
| 736 | msgid "drafts" | 736 | msgid "drafts" |
| 737 | msgstr "Entwürfe" | 737 | msgstr "Entwürfe" |
| 738 | 738 | ||
| 739 | #: html.c:584 | 739 | #: html.c:640 |
| 740 | msgid "Scheduled post..." | 740 | msgid "Scheduled post..." |
| 741 | msgstr "Geplanter Beitrag..." | 741 | msgstr "Geplanter Beitrag..." |
| 742 | 742 | ||
| 743 | msgid "Post date and time:" | 743 | msgid "Post date and time:" |
| 744 | msgstr "Datum und Uhrzeit des Beitrags:" | 744 | msgstr "Datum und Uhrzeit des Beitrags:" |
| 745 | 745 | ||
| 746 | #: html.c:3113 html.c:4214 | 746 | #: html.c:3401 html.c:4634 |
| 747 | msgid "Scheduled posts" | 747 | msgid "Scheduled posts" |
| 748 | msgstr "Geplante Beiträge" | 748 | msgstr "Geplante Beiträge" |
| 749 | 749 | ||
| 750 | #: html.c:3114 | 750 | #: html.c:3402 |
| 751 | msgid "scheduled posts" | 751 | msgid "scheduled posts" |
| 752 | msgstr "Geplante Beiträge" | 752 | msgstr "Geplante Beiträge" |
| 753 | 753 | ||
| 754 | #: html.c:578 | 754 | #: html.c:634 |
| 755 | #, c-format | 755 | #, c-format |
| 756 | msgid "Post date and time (timezone: %s):" | 756 | msgid "Post date and time (timezone: %s):" |
| 757 | msgstr "Datum und Uhrzeit des Beitrags (Zeitzone: %s):" | 757 | msgstr "Datum und Uhrzeit des Beitrags (Zeitzone: %s):" |
| 758 | 758 | ||
| 759 | #: html.c:1689 | 759 | #: html.c:1767 |
| 760 | msgid "Time zone:" | 760 | msgid "Time zone:" |
| 761 | msgstr "Zeitzone:" | 761 | msgstr "Zeitzone:" |
| 762 | 762 | ||
| 763 | #: html.c:559 | 763 | #: html.c:615 |
| 764 | msgid "Language:" | 764 | msgid "Language:" |
| 765 | msgstr "Sprache:" | 765 | msgstr "Sprache:" |
| 766 | 766 | ||
| 767 | #: html.c:1580 | 767 | #: html.c:1658 |
| 768 | msgid "Notify webhook:" | 768 | msgid "Notify webhook:" |
| 769 | msgstr "Notify webhook:" | 769 | msgstr "Notify webhook:" |
| 770 | 770 | ||
| 771 | #: html.c:1586 | 771 | #: html.c:1664 |
| 772 | msgid "http://example.com/webhook" | 772 | msgid "http://example.com/webhook" |
| 773 | msgstr "http://example.com/webhook" | 773 | msgstr "http://example.com/webhook" |
| 774 | 774 | ||
| 775 | #: html.c:1694 | 775 | #: html.c:1772 |
| 776 | msgid "Languages you usually post in:" | 776 | msgid "Languages you usually post in:" |
| 777 | msgstr "Sprache, in der du normalerweise schreibst:" | 777 | msgstr "Sprache, in der du normalerweise schreibst:" |
| 778 | 778 | ||
| 779 | #: html.c:1700 | 779 | #: html.c:1778 |
| 780 | msgid "en fr es de_AT" | 780 | msgid "en fr es de_AT" |
| 781 | msgstr "en fr es de_DE" | 781 | msgstr "en fr es de_DE" |
| 782 | 782 | ||
| 783 | #: html.c:460 | 783 | #: html.c:428 |
| 784 | msgid "Visibility: " | 784 | msgid "Visibility: " |
| 785 | msgstr "Sichtbarkeit" | 785 | msgstr "Sichtbarkeit" |
| 786 | 786 | ||
| 787 | #: html.c:468 | ||
| 788 | msgid "Public" | 787 | msgid "Public" |
| 789 | msgstr "Öffentlich" | 788 | msgstr "Öffentlich" |
| 790 | 789 | ||
| 791 | #: html.c:477 | ||
| 792 | msgid "Unlisted" | 790 | msgid "Unlisted" |
| 793 | msgstr "Ungelistete" | 791 | msgstr "Ungelistete" |
| 794 | 792 | ||
| 795 | #: html.c:486 | ||
| 796 | msgid "Followers-only" | 793 | msgid "Followers-only" |
| 797 | msgstr "Nur Follower" | 794 | msgstr "Nur Follower" |
| 798 | 795 | ||
| 799 | #: html.c:495 | ||
| 800 | msgid "Direct Message" | 796 | msgid "Direct Message" |
| 801 | msgstr "Direktnachricht" | 797 | msgstr "Direktnachricht" |
| 798 | |||
| 799 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 800 | msgid "EmojiUnreact" | ||
| 801 | msgstr "Emoji-Reaktion löschen" | ||
| 802 | |||
| 803 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 804 | msgid "EmojiReact" | ||
| 805 | msgstr "Emoji-Reaktion" | ||
| 806 | |||
| 807 | #: html.c:2115 | ||
| 808 | msgid "Emoji react..." | ||
| 809 | msgstr "Emoji-Reaktion..." | ||
| 810 | |||
| 811 | #: html.c:2609 | ||
| 812 | msgid "Emoji reactions: " | ||
| 813 | msgstr "Emoji-Reaktionen:" | ||
diff --git a/po/el_GR.po b/po/el_GR.po index 84239f4..76e6d9d 100644 --- a/po/el_GR.po +++ b/po/el_GR.po | |||
| @@ -14,119 +14,119 @@ msgstr "" | |||
| 14 | "Content-Transfer-Encoding: 8bit\n" | 14 | "Content-Transfer-Encoding: 8bit\n" |
| 15 | "X-Generator: Poedit 3.5\n" | 15 | "X-Generator: Poedit 3.5\n" |
| 16 | 16 | ||
| 17 | #: html.c:440 | 17 | #: html.c:534 |
| 18 | msgid "Sensitive content: " | 18 | msgid "Sensitive content: " |
| 19 | msgstr "Ευαίσθητο πεÏιεχόμενο: " | 19 | msgstr "Ευαίσθητο πεÏιεχόμενο: " |
| 20 | 20 | ||
| 21 | #: html.c:448 | 21 | #: html.c:542 |
| 22 | msgid "Sensitive content description" | 22 | msgid "Sensitive content description" |
| 23 | msgstr "ΠεÏιγÏαφή ευαίσθητου πεÏιεχομÎνου" | 23 | msgstr "ΠεÏιγÏαφή ευαίσθητου πεÏιεχομÎνου" |
| 24 | 24 | ||
| 25 | msgid "Only for mentioned people: " | 25 | msgid "Only for mentioned people: " |
| 26 | msgstr "Μόνο για αναφεÏόμενα άτομα: " | 26 | msgstr "Μόνο για αναφεÏόμενα άτομα: " |
| 27 | 27 | ||
| 28 | #: html.c:514 | 28 | #: html.c:570 |
| 29 | msgid "Reply to (URL): " | 29 | msgid "Reply to (URL): " |
| 30 | msgstr "Απάντηση σε (URL): " | 30 | msgstr "Απάντηση σε (URL): " |
| 31 | 31 | ||
| 32 | #: html.c:523 | 32 | #: html.c:579 |
| 33 | msgid "Don't send, but store as a draft" | 33 | msgid "Don't send, but store as a draft" |
| 34 | msgstr "Μη δημοσιεÏσεις, αλλά αποθήκευσε σαν Ï€ÏοσχÎδιο" | 34 | msgstr "Μη δημοσιεÏσεις, αλλά αποθήκευσε σαν Ï€ÏοσχÎδιο" |
| 35 | 35 | ||
| 36 | #: html.c:524 | 36 | #: html.c:580 |
| 37 | msgid "Draft:" | 37 | msgid "Draft:" |
| 38 | msgstr "Î ÏοσχÎδιο:" | 38 | msgstr "Î ÏοσχÎδιο:" |
| 39 | 39 | ||
| 40 | #: html.c:614 | 40 | #: html.c:670 |
| 41 | msgid "Attachments..." | 41 | msgid "Attachments..." |
| 42 | msgstr "Επισυνάψεις..." | 42 | msgstr "Επισυνάψεις..." |
| 43 | 43 | ||
| 44 | #: html.c:637 | 44 | #: html.c:693 |
| 45 | msgid "File:" | 45 | msgid "File:" |
| 46 | msgstr "ΑÏχείο:" | 46 | msgstr "ΑÏχείο:" |
| 47 | 47 | ||
| 48 | #: html.c:641 | 48 | #: html.c:697 |
| 49 | msgid "Clear this field to delete the attachment" | 49 | msgid "Clear this field to delete the attachment" |
| 50 | msgstr "ΚαθάÏισε αυτό το πεδίο για να διαγÏάψεις την επισÏναψη" | 50 | msgstr "ΚαθάÏισε αυτό το πεδίο για να διαγÏάψεις την επισÏναψη" |
| 51 | 51 | ||
| 52 | #: html.c:650 html.c:675 | 52 | #: html.c:706 html.c:731 |
| 53 | msgid "Attachment description" | 53 | msgid "Attachment description" |
| 54 | msgstr "ΠεÏιγÏαφή επισÏναψης" | 54 | msgstr "ΠεÏιγÏαφή επισÏναψης" |
| 55 | 55 | ||
| 56 | #: html.c:686 | 56 | #: html.c:742 |
| 57 | msgid "Poll..." | 57 | msgid "Poll..." |
| 58 | msgstr "Δημοσκόπηση..." | 58 | msgstr "Δημοσκόπηση..." |
| 59 | 59 | ||
| 60 | #: html.c:688 | 60 | #: html.c:744 |
| 61 | msgid "Poll options (one per line, up to 8):" | 61 | msgid "Poll options (one per line, up to 8):" |
| 62 | msgstr "ΕπιλογÎÏ‚ δημοσκόπησης (μία ανά σειÏά, μÎχÏι 8):" | 62 | msgstr "ΕπιλογÎÏ‚ δημοσκόπησης (μία ανά σειÏά, μÎχÏι 8):" |
| 63 | 63 | ||
| 64 | #: html.c:700 | 64 | #: html.c:756 |
| 65 | msgid "One choice" | 65 | msgid "One choice" |
| 66 | msgstr "Μία επιλογή" | 66 | msgstr "Μία επιλογή" |
| 67 | 67 | ||
| 68 | #: html.c:703 | 68 | #: html.c:759 |
| 69 | msgid "Multiple choices" | 69 | msgid "Multiple choices" |
| 70 | msgstr "ΠολλαπλÎÏ‚ επιλογÎÏ‚" | 70 | msgstr "ΠολλαπλÎÏ‚ επιλογÎÏ‚" |
| 71 | 71 | ||
| 72 | #: html.c:709 | 72 | #: html.c:765 |
| 73 | msgid "End in 5 minutes" | 73 | msgid "End in 5 minutes" |
| 74 | msgstr "Τελειώνει σε 5 λεπτά" | 74 | msgstr "Τελειώνει σε 5 λεπτά" |
| 75 | 75 | ||
| 76 | #: html.c:713 | 76 | #: html.c:769 |
| 77 | msgid "End in 1 hour" | 77 | msgid "End in 1 hour" |
| 78 | msgstr "Τελειώνει σε 1 ÏŽÏα" | 78 | msgstr "Τελειώνει σε 1 ÏŽÏα" |
| 79 | 79 | ||
| 80 | #: html.c:716 | 80 | #: html.c:772 |
| 81 | msgid "End in 1 day" | 81 | msgid "End in 1 day" |
| 82 | msgstr "Τελειώνει σε 1 ημÎÏα" | 82 | msgstr "Τελειώνει σε 1 ημÎÏα" |
| 83 | 83 | ||
| 84 | #: html.c:724 | 84 | #: html.c:780 |
| 85 | msgid "Post" | 85 | msgid "Post" |
| 86 | msgstr "Δημοσίευση" | 86 | msgstr "Δημοσίευση" |
| 87 | 87 | ||
| 88 | #: html.c:826 html.c:833 | 88 | #: html.c:882 html.c:889 |
| 89 | msgid "Site description" | 89 | msgid "Site description" |
| 90 | msgstr "ΠεÏιγÏαφή ιστότοπου" | 90 | msgstr "ΠεÏιγÏαφή ιστότοπου" |
| 91 | 91 | ||
| 92 | #: html.c:844 | 92 | #: html.c:900 |
| 93 | msgid "Admin email" | 93 | msgid "Admin email" |
| 94 | msgstr "Email διαχειÏιστή" | 94 | msgstr "Email διαχειÏιστή" |
| 95 | 95 | ||
| 96 | #: html.c:857 | 96 | #: html.c:913 |
| 97 | msgid "Admin account" | 97 | msgid "Admin account" |
| 98 | msgstr "ΔιαχειÏιστής" | 98 | msgstr "ΔιαχειÏιστής" |
| 99 | 99 | ||
| 100 | #: html.c:922 html.c:1278 | 100 | #: html.c:978 html.c:1334 |
| 101 | #, c-format | 101 | #, c-format |
| 102 | msgid "%d following, %d followers" | 102 | msgid "%d following, %d followers" |
| 103 | msgstr "%d ακολουθείτε, %d ακόλουθοι" | 103 | msgstr "%d ακολουθείτε, %d ακόλουθοι" |
| 104 | 104 | ||
| 105 | #: html.c:1019 | 105 | #: html.c:1075 |
| 106 | msgid "RSS" | 106 | msgid "RSS" |
| 107 | msgstr "RSS" | 107 | msgstr "RSS" |
| 108 | 108 | ||
| 109 | #: html.c:1024 html.c:1063 | 109 | #: html.c:1080 html.c:1119 |
| 110 | msgid "private" | 110 | msgid "private" |
| 111 | msgstr "ιδιωτικό" | 111 | msgstr "ιδιωτικό" |
| 112 | 112 | ||
| 113 | #: html.c:1059 | 113 | #: html.c:1115 |
| 114 | msgid "public" | 114 | msgid "public" |
| 115 | msgstr "δημόσιο" | 115 | msgstr "δημόσιο" |
| 116 | 116 | ||
| 117 | #: html.c:1067 | 117 | #: html.c:1123 |
| 118 | msgid "notifications" | 118 | msgid "notifications" |
| 119 | msgstr "ειδοποιήσεις" | 119 | msgstr "ειδοποιήσεις" |
| 120 | 120 | ||
| 121 | #: html.c:1072 | 121 | #: html.c:1128 |
| 122 | msgid "people" | 122 | msgid "people" |
| 123 | msgstr "άνθÏωποι" | 123 | msgstr "άνθÏωποι" |
| 124 | 124 | ||
| 125 | #: html.c:1077 | 125 | #: html.c:1133 |
| 126 | msgid "instance" | 126 | msgid "instance" |
| 127 | msgstr "διακομιστής" | 127 | msgstr "διακομιστής" |
| 128 | 128 | ||
| 129 | #: html.c:1086 | 129 | #: html.c:1142 |
| 130 | msgid "" | 130 | msgid "" |
| 131 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 131 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 132 | "#tag" | 132 | "#tag" |
| @@ -134,576 +134,576 @@ msgstr "" | |||
| 134 | "Αναζήτηση δημοσιεÏσεων με URL ή πεÏιεχόμενο (κανονική ÎκφÏαση), " | 134 | "Αναζήτηση δημοσιεÏσεων με URL ή πεÏιεχόμενο (κανονική ÎκφÏαση), " |
| 135 | "@χÏήστης@διακομιστής, ή #ετικÎτα" | 135 | "@χÏήστης@διακομιστής, ή #ετικÎτα" |
| 136 | 136 | ||
| 137 | #: html.c:1087 | 137 | #: html.c:1143 |
| 138 | msgid "Content search" | 138 | msgid "Content search" |
| 139 | msgstr "Αναζήτηση πεÏιεχομÎνου" | 139 | msgstr "Αναζήτηση πεÏιεχομÎνου" |
| 140 | 140 | ||
| 141 | #: html.c:1213 | 141 | #: html.c:1269 |
| 142 | msgid "verified link" | 142 | msgid "verified link" |
| 143 | msgstr "πιστοποιημÎνος σÏνδεσμος" | 143 | msgstr "πιστοποιημÎνος σÏνδεσμος" |
| 144 | 144 | ||
| 145 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 145 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 146 | msgid "Location: " | 146 | msgid "Location: " |
| 147 | msgstr "Τοποθεσία: " | 147 | msgstr "Τοποθεσία: " |
| 148 | 148 | ||
| 149 | #: html.c:1302 | 149 | #: html.c:1358 |
| 150 | msgid "New Post..." | 150 | msgid "New Post..." |
| 151 | msgstr "ÎÎα Δημοσίευση..." | 151 | msgstr "ÎÎα Δημοσίευση..." |
| 152 | 152 | ||
| 153 | #: html.c:1304 | 153 | #: html.c:1360 |
| 154 | msgid "What's on your mind?" | 154 | msgid "What's on your mind?" |
| 155 | msgstr "Τι Îχεις στο μυαλό σου;" | 155 | msgstr "Τι Îχεις στο μυαλό σου;" |
| 156 | 156 | ||
| 157 | #: html.c:1313 | 157 | #: html.c:1369 |
| 158 | msgid "Operations..." | 158 | msgid "Operations..." |
| 159 | msgstr "ΛειτουÏγίες..." | 159 | msgstr "ΛειτουÏγίες..." |
| 160 | 160 | ||
| 161 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 161 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 162 | msgid "Follow" | 162 | msgid "Follow" |
| 163 | msgstr "ΑκολοÏθησε" | 163 | msgstr "ΑκολοÏθησε" |
| 164 | 164 | ||
| 165 | #: html.c:1330 | 165 | #: html.c:1386 |
| 166 | msgid "(by URL or user@host)" | 166 | msgid "(by URL or user@host)" |
| 167 | msgstr "(με URL ή user@host)" | 167 | msgstr "(με URL ή user@host)" |
| 168 | 168 | ||
| 169 | #: html.c:1345 html.c:1925 html.c:4766 | 169 | #: html.c:1401 html.c:2003 html.c:5210 |
| 170 | msgid "Boost" | 170 | msgid "Boost" |
| 171 | msgstr "Ενίσχυση" | 171 | msgstr "Ενίσχυση" |
| 172 | 172 | ||
| 173 | #: html.c:1347 html.c:1364 | 173 | #: html.c:1403 html.c:1420 html.c:1442 |
| 174 | msgid "(by URL)" | 174 | msgid "(by URL)" |
| 175 | msgstr "(από URL)" | 175 | msgstr "(από URL)" |
| 176 | 176 | ||
| 177 | #: html.c:1362 html.c:1904 html.c:4757 | 177 | #: html.c:1418 html.c:1982 html.c:5201 |
| 178 | msgid "Like" | 178 | msgid "Like" |
| 179 | msgstr "Μου αÏÎσει" | 179 | msgstr "Μου αÏÎσει" |
| 180 | 180 | ||
| 181 | #: html.c:1490 | 181 | #: html.c:1568 |
| 182 | msgid "User Settings..." | 182 | msgid "User Settings..." |
| 183 | msgstr "Ρυθμίσεις ΧÏήστη..." | 183 | msgstr "Ρυθμίσεις ΧÏήστη..." |
| 184 | 184 | ||
| 185 | #: html.c:1499 | 185 | #: html.c:1577 |
| 186 | msgid "Display name:" | 186 | msgid "Display name:" |
| 187 | msgstr "Î Ïοβαλλόμενο όνομα:" | 187 | msgstr "Î Ïοβαλλόμενο όνομα:" |
| 188 | 188 | ||
| 189 | #: html.c:1505 | 189 | #: html.c:1583 |
| 190 | msgid "Your name" | 190 | msgid "Your name" |
| 191 | msgstr "Το όνομα σου" | 191 | msgstr "Το όνομα σου" |
| 192 | 192 | ||
| 193 | #: html.c:1507 | 193 | #: html.c:1585 |
| 194 | msgid "Avatar: " | 194 | msgid "Avatar: " |
| 195 | msgstr "Εικόνα Ï€Ïοφίλ: " | 195 | msgstr "Εικόνα Ï€Ïοφίλ: " |
| 196 | 196 | ||
| 197 | #: html.c:1515 | 197 | #: html.c:1593 |
| 198 | msgid "Delete current avatar" | 198 | msgid "Delete current avatar" |
| 199 | msgstr "ΔιαγÏαφή Ï„ÏÎχουσας εικόνας Ï€Ïοφίλ" | 199 | msgstr "ΔιαγÏαφή Ï„ÏÎχουσας εικόνας Ï€Ïοφίλ" |
| 200 | 200 | ||
| 201 | #: html.c:1517 | 201 | #: html.c:1595 |
| 202 | msgid "Header image (banner): " | 202 | msgid "Header image (banner): " |
| 203 | msgstr "Εικόνα κεφαλίδας (banner): " | 203 | msgstr "Εικόνα κεφαλίδας (banner): " |
| 204 | 204 | ||
| 205 | #: html.c:1525 | 205 | #: html.c:1603 |
| 206 | msgid "Delete current header image" | 206 | msgid "Delete current header image" |
| 207 | msgstr "ΔιαγÏαφή Ï„ÏÎχουσας εικόνας κεφαλίδας" | 207 | msgstr "ΔιαγÏαφή Ï„ÏÎχουσας εικόνας κεφαλίδας" |
| 208 | 208 | ||
| 209 | #: html.c:1527 | 209 | #: html.c:1605 |
| 210 | msgid "Bio:" | 210 | msgid "Bio:" |
| 211 | msgstr "ΒιογÏαφικό:" | 211 | msgstr "ΒιογÏαφικό:" |
| 212 | 212 | ||
| 213 | #: html.c:1533 | 213 | #: html.c:1611 |
| 214 | msgid "Write about yourself here..." | 214 | msgid "Write about yourself here..." |
| 215 | msgstr "ΓÏάψε για τον εαυτό σου εδώ..." | 215 | msgstr "ΓÏάψε για τον εαυτό σου εδώ..." |
| 216 | 216 | ||
| 217 | #: html.c:1542 | 217 | #: html.c:1620 |
| 218 | msgid "Always show sensitive content" | 218 | msgid "Always show sensitive content" |
| 219 | msgstr "Πάντα Ï€Ïόβαλε ευαίσθητο πεÏιεχόμενο" | 219 | msgstr "Πάντα Ï€Ïόβαλε ευαίσθητο πεÏιεχόμενο" |
| 220 | 220 | ||
| 221 | #: html.c:1544 | 221 | #: html.c:1622 |
| 222 | msgid "Email address for notifications:" | 222 | msgid "Email address for notifications:" |
| 223 | msgstr "ΔιεÏθυνση email για ειδοποιήσεις:" | 223 | msgstr "ΔιεÏθυνση email για ειδοποιήσεις:" |
| 224 | 224 | ||
| 225 | #: html.c:1552 | 225 | #: html.c:1630 |
| 226 | msgid "Telegram notifications (bot key and chat id):" | 226 | msgid "Telegram notifications (bot key and chat id):" |
| 227 | msgstr "Ειδοποιήσεις Telegram (κλειδί bot και chat id):" | 227 | msgstr "Ειδοποιήσεις Telegram (κλειδί bot και chat id):" |
| 228 | 228 | ||
| 229 | #: html.c:1566 | 229 | #: html.c:1644 |
| 230 | msgid "ntfy notifications (ntfy server and token):" | 230 | msgid "ntfy notifications (ntfy server and token):" |
| 231 | msgstr "ειδοποιήσεις ntfy (διακομιστής ntfy και token):" | 231 | msgstr "ειδοποιήσεις ntfy (διακομιστής ntfy και token):" |
| 232 | 232 | ||
| 233 | #: html.c:1588 | 233 | #: html.c:1666 |
| 234 | msgid "Maximum days to keep posts (0: server settings):" | 234 | msgid "Maximum days to keep posts (0: server settings):" |
| 235 | msgstr "ΔιατήÏηση δημοσιεÏσεων για ημÎÏες (0: Ïυθμίσεις διακομιστή):" | 235 | msgstr "ΔιατήÏηση δημοσιεÏσεων για ημÎÏες (0: Ïυθμίσεις διακομιστή):" |
| 236 | 236 | ||
| 237 | #: html.c:1602 | 237 | #: html.c:1680 |
| 238 | msgid "Drop direct messages from people you don't follow" | 238 | msgid "Drop direct messages from people you don't follow" |
| 239 | msgstr "ΑπόÏÏιψη άμεσων μηνυμάτων από άτομα που δεν ακολουθείτε" | 239 | msgstr "ΑπόÏÏιψη άμεσων μηνυμάτων από άτομα που δεν ακολουθείτε" |
| 240 | 240 | ||
| 241 | #: html.c:1611 | 241 | #: html.c:1689 |
| 242 | msgid "This account is a bot" | 242 | msgid "This account is a bot" |
| 243 | msgstr "Αυτός ο λογαÏιασμός είναι αυτοματοποιημÎνος (bot)" | 243 | msgstr "Αυτός ο λογαÏιασμός είναι αυτοματοποιημÎνος (bot)" |
| 244 | 244 | ||
| 245 | #: html.c:1620 | 245 | #: html.c:1698 |
| 246 | msgid "Auto-boost all mentions to this account" | 246 | msgid "Auto-boost all mentions to this account" |
| 247 | msgstr "Αυτόματη ενίσχυση όλων των αναφοÏών σε αυτό το λογαÏιασμό" | 247 | msgstr "Αυτόματη ενίσχυση όλων των αναφοÏών σε αυτό το λογαÏιασμό" |
| 248 | 248 | ||
| 249 | #: html.c:1629 | 249 | #: html.c:1707 |
| 250 | msgid "This account is private (posts are not shown through the web)" | 250 | msgid "This account is private (posts are not shown through the web)" |
| 251 | msgstr "" | 251 | msgstr "" |
| 252 | "Αυτός ο λογαÏιασμός είναι ιδιωτικός (οι δημοσιεÏσεις δεν εμφανίζονται στο " | 252 | "Αυτός ο λογαÏιασμός είναι ιδιωτικός (οι δημοσιεÏσεις δεν εμφανίζονται στο " |
| 253 | "διαδίκτυο)" | 253 | "διαδίκτυο)" |
| 254 | 254 | ||
| 255 | #: html.c:1639 | 255 | #: html.c:1717 |
| 256 | msgid "Collapse top threads by default" | 256 | msgid "Collapse top threads by default" |
| 257 | msgstr "Αναδίπλωση κοÏυφαίων συζητήσεων εξ'οÏισμοÏ" | 257 | msgstr "Αναδίπλωση κοÏυφαίων συζητήσεων εξ'οÏισμοÏ" |
| 258 | 258 | ||
| 259 | #: html.c:1648 | 259 | #: html.c:1726 |
| 260 | msgid "Follow requests must be approved" | 260 | msgid "Follow requests must be approved" |
| 261 | msgstr "Τα αιτήματα ακόλουθων Ï€ÏÎπει να εγκÏίνονται" | 261 | msgstr "Τα αιτήματα ακόλουθων Ï€ÏÎπει να εγκÏίνονται" |
| 262 | 262 | ||
| 263 | #: html.c:1657 | 263 | #: html.c:1735 |
| 264 | msgid "Publish follower and following metrics" | 264 | msgid "Publish follower and following metrics" |
| 265 | msgstr "Δημοσίευση στατιστικών ακόλουθων και ακολουθοÏμενων" | 265 | msgstr "Δημοσίευση στατιστικών ακόλουθων και ακολουθοÏμενων" |
| 266 | 266 | ||
| 267 | #: html.c:1659 | 267 | #: html.c:1737 |
| 268 | msgid "Current location:" | 268 | msgid "Current location:" |
| 269 | msgstr "ΤÏÎχουσα τοποθεσία:" | 269 | msgstr "ΤÏÎχουσα τοποθεσία:" |
| 270 | 270 | ||
| 271 | #: html.c:1673 | 271 | #: html.c:1751 |
| 272 | msgid "Profile metadata (key=value pairs in each line):" | 272 | msgid "Profile metadata (key=value pairs in each line):" |
| 273 | msgstr "Μεταστοιχεία Ï€Ïοφίλ (κλειδί=τιμή ζευγάÏια σε κάθε γÏαμμή):" | 273 | msgstr "Μεταστοιχεία Ï€Ïοφίλ (κλειδί=τιμή ζευγάÏια σε κάθε γÏαμμή):" |
| 274 | 274 | ||
| 275 | #: html.c:1684 | 275 | #: html.c:1762 |
| 276 | msgid "Web interface language:" | 276 | msgid "Web interface language:" |
| 277 | msgstr "Γλώσσα πεÏιβάλλοντος web:" | 277 | msgstr "Γλώσσα πεÏιβάλλοντος web:" |
| 278 | 278 | ||
| 279 | #: html.c:1703 | 279 | #: html.c:1781 |
| 280 | msgid "New password:" | 280 | msgid "New password:" |
| 281 | msgstr "ÎÎος κωδικός:" | 281 | msgstr "ÎÎος κωδικός:" |
| 282 | 282 | ||
| 283 | #: html.c:1710 | 283 | #: html.c:1788 |
| 284 | msgid "Repeat new password:" | 284 | msgid "Repeat new password:" |
| 285 | msgstr "Επανάληψη νÎου κωδικοÏ:" | 285 | msgstr "Επανάληψη νÎου κωδικοÏ:" |
| 286 | 286 | ||
| 287 | #: html.c:1720 | 287 | #: html.c:1798 |
| 288 | msgid "Update user info" | 288 | msgid "Update user info" |
| 289 | msgstr "ΕνημÎÏωση στοιχείων χÏήστη" | 289 | msgstr "ΕνημÎÏωση στοιχείων χÏήστη" |
| 290 | 290 | ||
| 291 | #: html.c:1731 | 291 | #: html.c:1809 |
| 292 | msgid "Followed hashtags..." | 292 | msgid "Followed hashtags..." |
| 293 | msgstr "ΕτικÎτες που ακολουθείτε..." | 293 | msgstr "ΕτικÎτες που ακολουθείτε..." |
| 294 | 294 | ||
| 295 | #: html.c:1733 html.c:1766 | 295 | #: html.c:1811 html.c:1844 |
| 296 | msgid "One hashtag per line" | 296 | msgid "One hashtag per line" |
| 297 | msgstr "Μία ετικÎτα ανά γÏαμμή" | 297 | msgstr "Μία ετικÎτα ανά γÏαμμή" |
| 298 | 298 | ||
| 299 | #: html.c:1755 html.c:1787 | 299 | #: html.c:1833 html.c:1865 |
| 300 | msgid "Update hashtags" | 300 | msgid "Update hashtags" |
| 301 | msgstr "ΕνημÎÏωση ετικετών" | 301 | msgstr "ΕνημÎÏωση ετικετών" |
| 302 | 302 | ||
| 303 | #: html.c:1904 | 303 | #: html.c:1982 |
| 304 | msgid "Say you like this post" | 304 | msgid "Say you like this post" |
| 305 | msgstr "ΑνάφεÏε ότι σου αÏÎσει αυτή η δημοσίευση" | 305 | msgstr "ΑνάφεÏε ότι σου αÏÎσει αυτή η δημοσίευση" |
| 306 | 306 | ||
| 307 | #: html.c:1909 html.c:4775 | 307 | #: html.c:1987 html.c:5219 |
| 308 | msgid "Unlike" | 308 | msgid "Unlike" |
| 309 | msgstr "ΑναίÏεση μου αÏÎσει" | 309 | msgstr "ΑναίÏεση μου αÏÎσει" |
| 310 | 310 | ||
| 311 | #: html.c:1909 | 311 | #: html.c:1987 |
| 312 | msgid "Nah don't like it that much" | 312 | msgid "Nah don't like it that much" |
| 313 | msgstr "Μπα δεν μ' αÏÎσει τόσο" | 313 | msgstr "Μπα δεν μ' αÏÎσει τόσο" |
| 314 | 314 | ||
| 315 | #: html.c:1915 html.c:4912 | 315 | #: html.c:1993 html.c:5356 |
| 316 | msgid "Unpin" | 316 | msgid "Unpin" |
| 317 | msgstr "ΞεκαÏφίτσωμα" | 317 | msgstr "ΞεκαÏφίτσωμα" |
| 318 | 318 | ||
| 319 | #: html.c:1915 | 319 | #: html.c:1993 |
| 320 | msgid "Unpin this post from your timeline" | 320 | msgid "Unpin this post from your timeline" |
| 321 | msgstr "ΞεκαÏφίτσωμα αυτής της δημοσίευσης από τη Ïοή σας" | 321 | msgstr "ΞεκαÏφίτσωμα αυτής της δημοσίευσης από τη Ïοή σας" |
| 322 | 322 | ||
| 323 | #: html.c:1918 html.c:4907 | 323 | #: html.c:1996 html.c:5351 |
| 324 | msgid "Pin" | 324 | msgid "Pin" |
| 325 | msgstr "ΚαÏφίτσωμα" | 325 | msgstr "ΚαÏφίτσωμα" |
| 326 | 326 | ||
| 327 | #: html.c:1918 | 327 | #: html.c:1996 |
| 328 | msgid "Pin this post to the top of your timeline" | 328 | msgid "Pin this post to the top of your timeline" |
| 329 | msgstr "ΚαÏφίτσωμα αυτής της δημοσίευσης στη κοÏυφή της Ïοής σας" | 329 | msgstr "ΚαÏφίτσωμα αυτής της δημοσίευσης στη κοÏυφή της Ïοής σας" |
| 330 | 330 | ||
| 331 | #: html.c:1925 | 331 | #: html.c:2003 |
| 332 | msgid "Announce this post to your followers" | 332 | msgid "Announce this post to your followers" |
| 333 | msgstr "Ανακοίνωση αυτής της δημοσίευσης στους ακόλουθους σας" | 333 | msgstr "Ανακοίνωση αυτής της δημοσίευσης στους ακόλουθους σας" |
| 334 | 334 | ||
| 335 | #: html.c:1930 html.c:4783 | 335 | #: html.c:2008 html.c:5227 |
| 336 | msgid "Unboost" | 336 | msgid "Unboost" |
| 337 | msgstr "ΑφαίÏεση ενίσχυσης" | 337 | msgstr "ΑφαίÏεση ενίσχυσης" |
| 338 | 338 | ||
| 339 | #: html.c:1930 | 339 | #: html.c:2008 |
| 340 | msgid "I regret I boosted this" | 340 | msgid "I regret I boosted this" |
| 341 | msgstr "Μετάνιωσα που το ενίσχυσα" | 341 | msgstr "Μετάνιωσα που το ενίσχυσα" |
| 342 | 342 | ||
| 343 | #: html.c:1936 html.c:4922 | 343 | #: html.c:2014 html.c:5366 |
| 344 | msgid "Unbookmark" | 344 | msgid "Unbookmark" |
| 345 | msgstr "ΑφαίÏεση σελιδοδείκτη" | 345 | msgstr "ΑφαίÏεση σελιδοδείκτη" |
| 346 | 346 | ||
| 347 | #: html.c:1936 | 347 | #: html.c:2014 |
| 348 | msgid "Delete this post from your bookmarks" | 348 | msgid "Delete this post from your bookmarks" |
| 349 | msgstr "ΔιαγÏαφή αυτής της δημοσίευσης από τους σελιδοδείκτες σου" | 349 | msgstr "ΔιαγÏαφή αυτής της δημοσίευσης από τους σελιδοδείκτες σου" |
| 350 | 350 | ||
| 351 | #: html.c:1939 html.c:4917 | 351 | #: html.c:2017 html.c:5361 |
| 352 | msgid "Bookmark" | 352 | msgid "Bookmark" |
| 353 | msgstr "Εισαγωγή σελιδοδείκτη" | 353 | msgstr "Εισαγωγή σελιδοδείκτη" |
| 354 | 354 | ||
| 355 | #: html.c:1939 | 355 | #: html.c:2017 |
| 356 | msgid "Add this post to your bookmarks" | 356 | msgid "Add this post to your bookmarks" |
| 357 | msgstr "Î Ïοσθήκη αυτής της δημοσίευσης στους σελιδοδείκτες σου" | 357 | msgstr "Î Ïοσθήκη αυτής της δημοσίευσης στους σελιδοδείκτες σου" |
| 358 | 358 | ||
| 359 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 359 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 360 | msgid "Unfollow" | 360 | msgid "Unfollow" |
| 361 | msgstr "ΑναίÏεση ακολουθίας" | 361 | msgstr "ΑναίÏεση ακολουθίας" |
| 362 | 362 | ||
| 363 | #: html.c:1945 html.c:3387 | 363 | #: html.c:2023 html.c:3763 html.c:4042 |
| 364 | msgid "Stop following this user's activity" | 364 | msgid "Stop following this user's activity" |
| 365 | msgstr "Σταμάτα να ακολουθείς τη δÏαστηÏιότητα Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… χÏήστη" | 365 | msgstr "Σταμάτα να ακολουθείς τη δÏαστηÏιότητα Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… χÏήστη" |
| 366 | 366 | ||
| 367 | #: html.c:1949 html.c:3401 | 367 | #: html.c:2027 html.c:3777 html.c:4044 |
| 368 | msgid "Start following this user's activity" | 368 | msgid "Start following this user's activity" |
| 369 | msgstr "Ξεκίνα να ακολουθείς τη δÏαστηÏιότητα Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… χÏήστη" | 369 | msgstr "Ξεκίνα να ακολουθείς τη δÏαστηÏιότητα Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… χÏήστη" |
| 370 | 370 | ||
| 371 | #: html.c:1955 html.c:4860 | 371 | #: html.c:2033 html.c:5304 |
| 372 | msgid "Unfollow Group" | 372 | msgid "Unfollow Group" |
| 373 | msgstr "ΑναίÏεση ακολουθίας ομάδας" | 373 | msgstr "ΑναίÏεση ακολουθίας ομάδας" |
| 374 | 374 | ||
| 375 | #: html.c:1956 | 375 | #: html.c:2034 |
| 376 | msgid "Stop following this group or channel" | 376 | msgid "Stop following this group or channel" |
| 377 | msgstr "Σταμάτα να ακολουθείς αυτή την ομάδα ή κανάλι" | 377 | msgstr "Σταμάτα να ακολουθείς αυτή την ομάδα ή κανάλι" |
| 378 | 378 | ||
| 379 | #: html.c:1960 html.c:4847 | 379 | #: html.c:2038 html.c:5291 |
| 380 | msgid "Follow Group" | 380 | msgid "Follow Group" |
| 381 | msgstr "ΑκολοÏθησε την Ομάδα" | 381 | msgstr "ΑκολοÏθησε την Ομάδα" |
| 382 | 382 | ||
| 383 | #: html.c:1961 | 383 | #: html.c:2039 |
| 384 | msgid "Start following this group or channel" | 384 | msgid "Start following this group or channel" |
| 385 | msgstr "Ξεκίνα να ακολουθείς αυτή την ομάδα ή κανάλι" | 385 | msgstr "Ξεκίνα να ακολουθείς αυτή την ομάδα ή κανάλι" |
| 386 | 386 | ||
| 387 | #: html.c:1966 html.c:3423 html.c:4791 | 387 | #: html.c:2044 html.c:3799 html.c:5235 |
| 388 | msgid "MUTE" | 388 | msgid "MUTE" |
| 389 | msgstr "ΣΙΓΑΣΗ" | 389 | msgstr "ΣΙΓΑΣΗ" |
| 390 | 390 | ||
| 391 | #: html.c:1967 | 391 | #: html.c:2045 |
| 392 | msgid "Block any activity from this user forever" | 392 | msgid "Block any activity from this user forever" |
| 393 | msgstr "Αποκλεισμός οποιασδήποτε δÏαστηÏιότητας από αυτόν τον χÏήστη για πάντα" | 393 | msgstr "Αποκλεισμός οποιασδήποτε δÏαστηÏιότητας από αυτόν τον χÏήστη για πάντα" |
| 394 | 394 | ||
| 395 | #: html.c:1972 html.c:3405 html.c:4877 | 395 | #: html.c:2050 html.c:3781 html.c:5321 |
| 396 | msgid "Delete" | 396 | msgid "Delete" |
| 397 | msgstr "ΔιαγÏαφή" | 397 | msgstr "ΔιαγÏαφή" |
| 398 | 398 | ||
| 399 | #: html.c:1972 | 399 | #: html.c:2050 |
| 400 | msgid "Delete this post" | 400 | msgid "Delete this post" |
| 401 | msgstr "ΔιαγÏαφή αυτής της δημοσίευσης" | 401 | msgstr "ΔιαγÏαφή αυτής της δημοσίευσης" |
| 402 | 402 | ||
| 403 | #: html.c:1975 html.c:4799 | 403 | #: html.c:2053 html.c:5243 |
| 404 | msgid "Hide" | 404 | msgid "Hide" |
| 405 | msgstr "ΑπόκÏυψη" | 405 | msgstr "ΑπόκÏυψη" |
| 406 | 406 | ||
| 407 | #: html.c:1975 | 407 | #: html.c:2053 |
| 408 | msgid "Hide this post and its children" | 408 | msgid "Hide this post and its children" |
| 409 | msgstr "ΑπόκÏυψη αυτής της δημοσίευσης και των απαντήσεων της" | 409 | msgstr "ΑπόκÏυψη αυτής της δημοσίευσης και των απαντήσεων της" |
| 410 | 410 | ||
| 411 | #: html.c:2017 | 411 | #: html.c:2095 |
| 412 | msgid "Edit..." | 412 | msgid "Edit..." |
| 413 | msgstr "ΕπεξεÏγασία..." | 413 | msgstr "ΕπεξεÏγασία..." |
| 414 | 414 | ||
| 415 | #: html.c:2039 | 415 | #: html.c:2133 |
| 416 | msgid "Reply..." | 416 | msgid "Reply..." |
| 417 | msgstr "Απάντηση..." | 417 | msgstr "Απάντηση..." |
| 418 | 418 | ||
| 419 | #: html.c:2090 | 419 | #: html.c:2184 |
| 420 | msgid "Truncated (too deep)" | 420 | msgid "Truncated (too deep)" |
| 421 | msgstr "Έγινε πεÏικοπή (Ï€Î¿Î»Ï Î²Î±Î¸Ï)" | 421 | msgstr "Έγινε πεÏικοπή (Ï€Î¿Î»Ï Î²Î±Î¸Ï)" |
| 422 | 422 | ||
| 423 | #: html.c:2108 | 423 | #: html.c:2202 |
| 424 | msgid "follows you" | 424 | msgid "follows you" |
| 425 | msgstr "σε ακολουθεί" | 425 | msgstr "σε ακολουθεί" |
| 426 | 426 | ||
| 427 | #: html.c:2182 | 427 | #: html.c:2276 |
| 428 | msgid "Pinned" | 428 | msgid "Pinned" |
| 429 | msgstr "ΚαÏφιτσωμÎνο" | 429 | msgstr "ΚαÏφιτσωμÎνο" |
| 430 | 430 | ||
| 431 | #: html.c:2190 | 431 | #: html.c:2284 |
| 432 | msgid "Bookmarked" | 432 | msgid "Bookmarked" |
| 433 | msgstr "Εισήχθηκε σελιδοδείκτης" | 433 | msgstr "Εισήχθηκε σελιδοδείκτης" |
| 434 | 434 | ||
| 435 | #: html.c:2198 | 435 | #: html.c:2292 |
| 436 | msgid "Poll" | 436 | msgid "Poll" |
| 437 | msgstr "Δημοσκόπηση" | 437 | msgstr "Δημοσκόπηση" |
| 438 | 438 | ||
| 439 | #: html.c:2205 | 439 | #: html.c:2299 |
| 440 | msgid "Voted" | 440 | msgid "Voted" |
| 441 | msgstr "Ψήφισες" | 441 | msgstr "Ψήφισες" |
| 442 | 442 | ||
| 443 | #: html.c:2214 | 443 | #: html.c:2308 |
| 444 | msgid "Event" | 444 | msgid "Event" |
| 445 | msgstr "Εκδήλωση" | 445 | msgstr "Εκδήλωση" |
| 446 | 446 | ||
| 447 | #: html.c:2246 html.c:2275 | 447 | #: html.c:2340 html.c:2369 |
| 448 | msgid "boosted" | 448 | msgid "boosted" |
| 449 | msgstr "ενισχÏθηκε" | 449 | msgstr "ενισχÏθηκε" |
| 450 | 450 | ||
| 451 | #: html.c:2289 | 451 | #: html.c:2383 |
| 452 | msgid "in reply to" | 452 | msgid "in reply to" |
| 453 | msgstr "σε απάντηση του" | 453 | msgstr "σε απάντηση του" |
| 454 | 454 | ||
| 455 | #: html.c:2345 | 455 | #: html.c:2439 |
| 456 | msgid " [SENSITIVE CONTENT]" | 456 | msgid " [SENSITIVE CONTENT]" |
| 457 | msgstr " [ΕΥΑΙΣΘΗΤΟ ΠΕΡΙΕΧΟΜΕÎΟ]" | 457 | msgstr " [ΕΥΑΙΣΘΗΤΟ ΠΕΡΙΕΧΟΜΕÎΟ]" |
| 458 | 458 | ||
| 459 | #: html.c:2512 | 459 | #: html.c:2796 |
| 460 | msgid "Vote" | 460 | msgid "Vote" |
| 461 | msgstr "Ψήφισε" | 461 | msgstr "Ψήφισε" |
| 462 | 462 | ||
| 463 | #: html.c:2522 | 463 | #: html.c:2806 |
| 464 | msgid "Closed" | 464 | msgid "Closed" |
| 465 | msgstr "Έκλεισε" | 465 | msgstr "Έκλεισε" |
| 466 | 466 | ||
| 467 | #: html.c:2547 | 467 | #: html.c:2831 |
| 468 | msgid "Closes in" | 468 | msgid "Closes in" |
| 469 | msgstr "Κλείνει σε" | 469 | msgstr "Κλείνει σε" |
| 470 | 470 | ||
| 471 | #: html.c:2627 | 471 | #: html.c:2911 |
| 472 | msgid "Video" | 472 | msgid "Video" |
| 473 | msgstr "Βίντεο" | 473 | msgstr "Βίντεο" |
| 474 | 474 | ||
| 475 | #: html.c:2642 | 475 | #: html.c:2926 |
| 476 | msgid "Audio" | 476 | msgid "Audio" |
| 477 | msgstr "Ήχος" | 477 | msgstr "Ήχος" |
| 478 | 478 | ||
| 479 | #: html.c:2670 | 479 | #: html.c:2954 |
| 480 | msgid "Attachment" | 480 | msgid "Attachment" |
| 481 | msgstr "ΕπισÏναψη" | 481 | msgstr "ΕπισÏναψη" |
| 482 | 482 | ||
| 483 | #: html.c:2684 | 483 | #: html.c:2968 |
| 484 | msgid "Alt..." | 484 | msgid "Alt..." |
| 485 | msgstr "Εναλλακτικό κείμενο..." | 485 | msgstr "Εναλλακτικό κείμενο..." |
| 486 | 486 | ||
| 487 | #: html.c:2697 | 487 | #: html.c:2981 |
| 488 | msgid "Source channel or community" | 488 | msgid "Source channel or community" |
| 489 | msgstr "Πηγή κανάλι ή κοινότητα" | 489 | msgstr "Πηγή κανάλι ή κοινότητα" |
| 490 | 490 | ||
| 491 | #: html.c:2791 | 491 | #: html.c:3075 |
| 492 | msgid "Time: " | 492 | msgid "Time: " |
| 493 | msgstr "ÎÏα: " | 493 | msgstr "ÎÏα: " |
| 494 | 494 | ||
| 495 | #: html.c:2872 | 495 | #: html.c:3156 |
| 496 | msgid "Older..." | 496 | msgid "Older..." |
| 497 | msgstr "ΠαλαιότεÏα..." | 497 | msgstr "ΠαλαιότεÏα..." |
| 498 | 498 | ||
| 499 | #: html.c:2974 | 499 | #: html.c:3258 |
| 500 | msgid "about this site" | 500 | msgid "about this site" |
| 501 | msgstr "σχετικά με αυτό τον ιστότοπο" | 501 | msgstr "σχετικά με αυτό τον ιστότοπο" |
| 502 | 502 | ||
| 503 | #: html.c:2976 | 503 | #: html.c:3260 |
| 504 | msgid "powered by " | 504 | msgid "powered by " |
| 505 | msgstr "λειτουÏγεί με " | 505 | msgstr "λειτουÏγεί με " |
| 506 | 506 | ||
| 507 | #: html.c:3041 | 507 | #: html.c:3329 |
| 508 | msgid "Dismiss" | 508 | msgid "Dismiss" |
| 509 | msgstr "ΑπόÏÏιψη" | 509 | msgstr "ΑπόÏÏιψη" |
| 510 | 510 | ||
| 511 | #: html.c:3058 | 511 | #: html.c:3346 |
| 512 | #, c-format | 512 | #, c-format |
| 513 | msgid "Timeline for list '%s'" | 513 | msgid "Timeline for list '%s'" |
| 514 | msgstr "Ροή για λίστα '%s'" | 514 | msgstr "Ροή για λίστα '%s'" |
| 515 | 515 | ||
| 516 | #: html.c:3077 html.c:4169 | 516 | #: html.c:3365 html.c:4589 |
| 517 | msgid "Pinned posts" | 517 | msgid "Pinned posts" |
| 518 | msgstr "ΚαÏφιτσωμÎνες δημοσιεÏσεις" | 518 | msgstr "ΚαÏφιτσωμÎνες δημοσιεÏσεις" |
| 519 | 519 | ||
| 520 | #: html.c:3089 html.c:4184 | 520 | #: html.c:3377 html.c:4604 |
| 521 | msgid "Bookmarked posts" | 521 | msgid "Bookmarked posts" |
| 522 | msgstr "Σελιδοδείκτες" | 522 | msgstr "Σελιδοδείκτες" |
| 523 | 523 | ||
| 524 | #: html.c:3101 html.c:4199 | 524 | #: html.c:3389 html.c:4619 |
| 525 | msgid "Post drafts" | 525 | msgid "Post drafts" |
| 526 | msgstr "Î ÏοσχÎδια δημοσιεÏσεων" | 526 | msgstr "Î ÏοσχÎδια δημοσιεÏσεων" |
| 527 | 527 | ||
| 528 | #: html.c:3177 | 528 | #: html.c:3465 |
| 529 | msgid "No more unseen posts" | 529 | msgid "No more unseen posts" |
| 530 | msgstr "Δεν υπάÏχουν άλλες αδιάβαστες δημοσιεÏσεις" | 530 | msgstr "Δεν υπάÏχουν άλλες αδιάβαστες δημοσιεÏσεις" |
| 531 | 531 | ||
| 532 | #: html.c:3181 html.c:3290 | 532 | #: html.c:3469 html.c:3578 |
| 533 | msgid "Back to top" | 533 | msgid "Back to top" |
| 534 | msgstr "Πίσω στη κοÏυφή" | 534 | msgstr "Πίσω στη κοÏυφή" |
| 535 | 535 | ||
| 536 | #: html.c:3243 | 536 | #: html.c:3531 |
| 537 | msgid "History" | 537 | msgid "History" |
| 538 | msgstr "ΙστοÏικό" | 538 | msgstr "ΙστοÏικό" |
| 539 | 539 | ||
| 540 | #: html.c:3295 html.c:3734 | 540 | #: html.c:3583 html.c:4149 |
| 541 | msgid "More..." | 541 | msgid "More..." |
| 542 | msgstr "ΠεÏισσότεÏα..." | 542 | msgstr "ΠεÏισσότεÏα..." |
| 543 | 543 | ||
| 544 | #: html.c:3391 html.c:4813 | 544 | #: html.c:3767 html.c:5257 |
| 545 | msgid "Unlimit" | 545 | msgid "Unlimit" |
| 546 | msgstr "ΑφαίÏεση πεÏιοÏισμοÏ" | 546 | msgstr "ΑφαίÏεση πεÏιοÏισμοÏ" |
| 547 | 547 | ||
| 548 | #: html.c:3392 | 548 | #: html.c:3768 |
| 549 | msgid "Allow announces (boosts) from this user" | 549 | msgid "Allow announces (boosts) from this user" |
| 550 | msgstr "ΕπÎÏ„Ïεψε ανακοινώσεις (ενισχÏσεις) από αυτό το χÏήστη" | 550 | msgstr "ΕπÎÏ„Ïεψε ανακοινώσεις (ενισχÏσεις) από αυτό το χÏήστη" |
| 551 | 551 | ||
| 552 | #: html.c:3395 html.c:4809 | 552 | #: html.c:3771 html.c:5253 |
| 553 | msgid "Limit" | 553 | msgid "Limit" |
| 554 | msgstr "ΠεÏιοÏισμός" | 554 | msgstr "ΠεÏιοÏισμός" |
| 555 | 555 | ||
| 556 | #: html.c:3396 | 556 | #: html.c:3772 |
| 557 | msgid "Block announces (boosts) from this user" | 557 | msgid "Block announces (boosts) from this user" |
| 558 | msgstr "ΑπÎκλεισε ανακοινώσεις (ενισχÏσεις) από αυτό το χÏήστη" | 558 | msgstr "ΑπÎκλεισε ανακοινώσεις (ενισχÏσεις) από αυτό το χÏήστη" |
| 559 | 559 | ||
| 560 | #: html.c:3405 | 560 | #: html.c:3781 |
| 561 | msgid "Delete this user" | 561 | msgid "Delete this user" |
| 562 | msgstr "ΔιαγÏαφή Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… χÏήστη" | 562 | msgstr "ΔιαγÏαφή Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… χÏήστη" |
| 563 | 563 | ||
| 564 | #: html.c:3410 html.c:4927 | 564 | #: html.c:3786 html.c:5371 |
| 565 | msgid "Approve" | 565 | msgid "Approve" |
| 566 | msgstr "ΈγκÏιση" | 566 | msgstr "ΈγκÏιση" |
| 567 | 567 | ||
| 568 | #: html.c:3411 | 568 | #: html.c:3787 |
| 569 | msgid "Approve this follow request" | 569 | msgid "Approve this follow request" |
| 570 | msgstr "ΈγκÏιση Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… αιτήματος ακόλουθου" | 570 | msgstr "ΈγκÏιση Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… αιτήματος ακόλουθου" |
| 571 | 571 | ||
| 572 | #: html.c:3414 html.c:4951 | 572 | #: html.c:3790 html.c:5395 |
| 573 | msgid "Discard" | 573 | msgid "Discard" |
| 574 | msgstr "ΑπόÏÏιψη" | 574 | msgstr "ΑπόÏÏιψη" |
| 575 | 575 | ||
| 576 | #: html.c:3414 | 576 | #: html.c:3790 |
| 577 | msgid "Discard this follow request" | 577 | msgid "Discard this follow request" |
| 578 | msgstr "ΑπόÏÏιψη Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… αιτήματος ακόλουθου" | 578 | msgstr "ΑπόÏÏιψη Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… αιτήματος ακόλουθου" |
| 579 | 579 | ||
| 580 | #: html.c:3419 html.c:4795 | 580 | #: html.c:3795 html.c:5239 |
| 581 | msgid "Unmute" | 581 | msgid "Unmute" |
| 582 | msgstr "ΑφαίÏεση σίγασης" | 582 | msgstr "ΑφαίÏεση σίγασης" |
| 583 | 583 | ||
| 584 | #: html.c:3420 | 584 | #: html.c:3796 |
| 585 | msgid "Stop blocking activities from this user" | 585 | msgid "Stop blocking activities from this user" |
| 586 | msgstr "Διακοπή Î±Ï€Î¿ÎºÎ»ÎµÎ¹ÏƒÎ¼Î¿Ï Î´ÏαστηÏιοτήτων από αυτό το χÏήστη" | 586 | msgstr "Διακοπή Î±Ï€Î¿ÎºÎ»ÎµÎ¹ÏƒÎ¼Î¿Ï Î´ÏαστηÏιοτήτων από αυτό το χÏήστη" |
| 587 | 587 | ||
| 588 | #: html.c:3424 | 588 | #: html.c:3800 |
| 589 | msgid "Block any activity from this user" | 589 | msgid "Block any activity from this user" |
| 590 | msgstr "Αποκλεισμός οποιασδήποτε δÏαστηÏιότητας από αυτό τον χÏήστη" | 590 | msgstr "Αποκλεισμός οποιασδήποτε δÏαστηÏιότητας από αυτό τον χÏήστη" |
| 591 | 591 | ||
| 592 | #: html.c:3432 | 592 | #: html.c:3808 |
| 593 | msgid "Direct Message..." | 593 | msgid "Direct Message..." |
| 594 | msgstr "Απευθείας Μήνυμα..." | 594 | msgstr "Απευθείας Μήνυμα..." |
| 595 | 595 | ||
| 596 | #: html.c:3467 | 596 | #: html.c:3843 |
| 597 | msgid "Pending follow confirmations" | 597 | msgid "Pending follow confirmations" |
| 598 | msgstr "Εκκεμείς επιβεβαιώσεις ακολουθήσεων" | 598 | msgstr "Εκκεμείς επιβεβαιώσεις ακολουθήσεων" |
| 599 | 599 | ||
| 600 | #: html.c:3471 | 600 | #: html.c:3847 |
| 601 | msgid "People you follow" | 601 | msgid "People you follow" |
| 602 | msgstr "ΆνθÏωποι που ακολουθείτε" | 602 | msgstr "ΆνθÏωποι που ακολουθείτε" |
| 603 | 603 | ||
| 604 | #: html.c:3472 | 604 | #: html.c:3848 |
| 605 | msgid "People that follow you" | 605 | msgid "People that follow you" |
| 606 | msgstr "ΆνθÏωποι που σας ακολουθοÏν" | 606 | msgstr "ΆνθÏωποι που σας ακολουθοÏν" |
| 607 | 607 | ||
| 608 | #: html.c:3511 | 608 | #: html.c:3887 |
| 609 | msgid "Clear all" | 609 | msgid "Clear all" |
| 610 | msgstr "ΕκκαθάÏιση όλων" | 610 | msgstr "ΕκκαθάÏιση όλων" |
| 611 | 611 | ||
| 612 | #: html.c:3571 | 612 | #: html.c:3951 |
| 613 | msgid "Mention" | 613 | msgid "Mention" |
| 614 | msgstr "ΑναφοÏά" | 614 | msgstr "ΑναφοÏά" |
| 615 | 615 | ||
| 616 | #: html.c:3574 | 616 | #: html.c:3954 |
| 617 | msgid "Finished poll" | 617 | msgid "Finished poll" |
| 618 | msgstr "ΟλοκληÏωμÎνη δημοσκόπηση" | 618 | msgstr "ΟλοκληÏωμÎνη δημοσκόπηση" |
| 619 | 619 | ||
| 620 | #: html.c:3590 | 620 | #: html.c:3979 |
| 621 | msgid "Follow Request" | 621 | msgid "Follow Request" |
| 622 | msgstr "Αίτημα Ακόλουθου" | 622 | msgstr "Αίτημα Ακόλουθου" |
| 623 | 623 | ||
| 624 | #: html.c:3674 | 624 | #: html.c:4089 |
| 625 | msgid "Context" | 625 | msgid "Context" |
| 626 | msgstr "ΠεÏιεχόμενο" | 626 | msgstr "ΠεÏιεχόμενο" |
| 627 | 627 | ||
| 628 | #: html.c:3692 | 628 | #: html.c:4107 |
| 629 | msgid "New" | 629 | msgid "New" |
| 630 | msgstr "ÎÎο" | 630 | msgstr "ÎÎο" |
| 631 | 631 | ||
| 632 | #: html.c:3707 | 632 | #: html.c:4122 |
| 633 | msgid "Already seen" | 633 | msgid "Already seen" |
| 634 | msgstr "Έχει ήδη Ï€Ïοβληθεί" | 634 | msgstr "Έχει ήδη Ï€Ïοβληθεί" |
| 635 | 635 | ||
| 636 | #: html.c:3722 | 636 | #: html.c:4137 |
| 637 | msgid "None" | 637 | msgid "None" |
| 638 | msgstr "ΚανÎνα" | 638 | msgstr "ΚανÎνα" |
| 639 | 639 | ||
| 640 | #: html.c:3994 | 640 | #: html.c:4414 |
| 641 | #, c-format | 641 | #, c-format |
| 642 | msgid "Search results for account %s" | 642 | msgid "Search results for account %s" |
| 643 | msgstr "ΑποτελÎσματα αναζήτηση για λογαÏιασμό %s" | 643 | msgstr "ΑποτελÎσματα αναζήτηση για λογαÏιασμό %s" |
| 644 | 644 | ||
| 645 | #: html.c:4001 | 645 | #: html.c:4421 |
| 646 | #, c-format | 646 | #, c-format |
| 647 | msgid "Account %s not found" | 647 | msgid "Account %s not found" |
| 648 | msgstr "Ο λογαÏιασμός %s δεν βÏÎθηκε" | 648 | msgstr "Ο λογαÏιασμός %s δεν βÏÎθηκε" |
| 649 | 649 | ||
| 650 | #: html.c:4032 | 650 | #: html.c:4452 |
| 651 | #, c-format | 651 | #, c-format |
| 652 | msgid "Search results for tag %s" | 652 | msgid "Search results for tag %s" |
| 653 | msgstr "ΑποτελÎσματα αναζήτησης για ετικÎτα %s" | 653 | msgstr "ΑποτελÎσματα αναζήτησης για ετικÎτα %s" |
| 654 | 654 | ||
| 655 | #: html.c:4032 | 655 | #: html.c:4452 |
| 656 | #, c-format | 656 | #, c-format |
| 657 | msgid "Nothing found for tag %s" | 657 | msgid "Nothing found for tag %s" |
| 658 | msgstr "Δε βÏÎθηκε κάτι για ετικÎτα %s" | 658 | msgstr "Δε βÏÎθηκε κάτι για ετικÎτα %s" |
| 659 | 659 | ||
| 660 | #: html.c:4048 | 660 | #: html.c:4468 |
| 661 | #, c-format | 661 | #, c-format |
| 662 | msgid "Search results for '%s' (may be more)" | 662 | msgid "Search results for '%s' (may be more)" |
| 663 | msgstr "ΑποτελÎσματα αναζήτησης για '%s' (μποÏεί να υπάÏχουν πεÏισσότεÏα)" | 663 | msgstr "ΑποτελÎσματα αναζήτησης για '%s' (μποÏεί να υπάÏχουν πεÏισσότεÏα)" |
| 664 | 664 | ||
| 665 | #: html.c:4051 | 665 | #: html.c:4471 |
| 666 | #, c-format | 666 | #, c-format |
| 667 | msgid "Search results for '%s'" | 667 | msgid "Search results for '%s'" |
| 668 | msgstr "ΑποτελÎσματα αναζήτησης για '%s'" | 668 | msgstr "ΑποτελÎσματα αναζήτησης για '%s'" |
| 669 | 669 | ||
| 670 | #: html.c:4054 | 670 | #: html.c:4474 |
| 671 | #, c-format | 671 | #, c-format |
| 672 | msgid "No more matches for '%s'" | 672 | msgid "No more matches for '%s'" |
| 673 | msgstr "Δεν υπάÏχουν άλλα αποτελÎσματα για '%s'" | 673 | msgstr "Δεν υπάÏχουν άλλα αποτελÎσματα για '%s'" |
| 674 | 674 | ||
| 675 | #: html.c:4056 | 675 | #: html.c:4476 |
| 676 | #, c-format | 676 | #, c-format |
| 677 | msgid "Nothing found for '%s'" | 677 | msgid "Nothing found for '%s'" |
| 678 | msgstr "Δε βÏÎθηκε κάτι για '%s'" | 678 | msgstr "Δε βÏÎθηκε κάτι για '%s'" |
| 679 | 679 | ||
| 680 | #: html.c:4154 | 680 | #: html.c:4574 |
| 681 | msgid "Showing instance timeline" | 681 | msgid "Showing instance timeline" |
| 682 | msgstr "Î Ïοβάλλεται η Ïοή του διακομιστή" | 682 | msgstr "Î Ïοβάλλεται η Ïοή του διακομιστή" |
| 683 | 683 | ||
| 684 | #: html.c:4237 | 684 | #: html.c:4657 |
| 685 | #, c-format | 685 | #, c-format |
| 686 | msgid "Showing timeline for list '%s'" | 686 | msgid "Showing timeline for list '%s'" |
| 687 | msgstr "Î Ïοβάλετε η Ïοή της λίστας '%s'" | 687 | msgstr "Î Ïοβάλετε η Ïοή της λίστας '%s'" |
| 688 | 688 | ||
| 689 | #: httpd.c:258 | 689 | #: httpd.c:259 |
| 690 | #, c-format | 690 | #, c-format |
| 691 | msgid "Search results for tag #%s" | 691 | msgid "Search results for tag #%s" |
| 692 | msgstr "ΑποτελÎσματα αναζήτησης για ετικÎτα #%s" | 692 | msgstr "ΑποτελÎσματα αναζήτησης για ετικÎτα #%s" |
| 693 | 693 | ||
| 694 | #: httpd.c:267 | 694 | #: httpd.c:268 |
| 695 | msgid "Recent posts by users in this instance" | 695 | msgid "Recent posts by users in this instance" |
| 696 | msgstr "Î Ïόσφατες αναÏτήσεις από χÏήστες σε αυτό τον ιστότοπο" | 696 | msgstr "Î Ïόσφατες αναÏτήσεις από χÏήστες σε αυτό τον ιστότοπο" |
| 697 | 697 | ||
| 698 | #: html.c:1764 | 698 | #: html.c:1842 |
| 699 | msgid "Blocked hashtags..." | 699 | msgid "Blocked hashtags..." |
| 700 | msgstr "ΑποκλεισμÎνες ετικÎτες..." | 700 | msgstr "ΑποκλεισμÎνες ετικÎτες..." |
| 701 | 701 | ||
| 702 | #: html.c:518 | 702 | #: html.c:574 |
| 703 | msgid "Optional URL to reply to" | 703 | msgid "Optional URL to reply to" |
| 704 | msgstr "" | 704 | msgstr "" |
| 705 | 705 | ||
| 706 | #: html.c:695 | 706 | #: html.c:751 |
| 707 | msgid "" | 707 | msgid "" |
| 708 | "Option 1...\n" | 708 | "Option 1...\n" |
| 709 | "Option 2...\n" | 709 | "Option 2...\n" |
| @@ -711,94 +711,106 @@ msgid "" | |||
| 711 | "..." | 711 | "..." |
| 712 | msgstr "" | 712 | msgstr "" |
| 713 | 713 | ||
| 714 | #: html.c:1558 | 714 | #: html.c:1636 |
| 715 | msgid "Bot API key" | 715 | msgid "Bot API key" |
| 716 | msgstr "" | 716 | msgstr "" |
| 717 | 717 | ||
| 718 | #: html.c:1564 | 718 | #: html.c:1642 |
| 719 | msgid "Chat id" | 719 | msgid "Chat id" |
| 720 | msgstr "" | 720 | msgstr "" |
| 721 | 721 | ||
| 722 | #: html.c:1572 | 722 | #: html.c:1650 |
| 723 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 723 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 724 | msgstr "" | 724 | msgstr "" |
| 725 | 725 | ||
| 726 | #: html.c:1578 | 726 | #: html.c:1656 |
| 727 | msgid "ntfy token - if needed" | 727 | msgid "ntfy token - if needed" |
| 728 | msgstr "" | 728 | msgstr "" |
| 729 | 729 | ||
| 730 | #: html.c:3078 | 730 | #: html.c:3366 |
| 731 | msgid "pinned" | 731 | msgid "pinned" |
| 732 | msgstr "" | 732 | msgstr "" |
| 733 | 733 | ||
| 734 | #: html.c:3090 | 734 | #: html.c:3378 |
| 735 | msgid "bookmarks" | 735 | msgid "bookmarks" |
| 736 | msgstr "" | 736 | msgstr "" |
| 737 | 737 | ||
| 738 | #: html.c:3102 | 738 | #: html.c:3390 |
| 739 | msgid "drafts" | 739 | msgid "drafts" |
| 740 | msgstr "" | 740 | msgstr "" |
| 741 | 741 | ||
| 742 | #: html.c:584 | 742 | #: html.c:640 |
| 743 | msgid "Scheduled post..." | 743 | msgid "Scheduled post..." |
| 744 | msgstr "" | 744 | msgstr "" |
| 745 | 745 | ||
| 746 | msgid "Post date and time:" | 746 | msgid "Post date and time:" |
| 747 | msgstr "" | 747 | msgstr "" |
| 748 | 748 | ||
| 749 | #: html.c:3113 html.c:4214 | 749 | #: html.c:3401 html.c:4634 |
| 750 | msgid "Scheduled posts" | 750 | msgid "Scheduled posts" |
| 751 | msgstr "" | 751 | msgstr "" |
| 752 | 752 | ||
| 753 | #: html.c:3114 | 753 | #: html.c:3402 |
| 754 | msgid "scheduled posts" | 754 | msgid "scheduled posts" |
| 755 | msgstr "" | 755 | msgstr "" |
| 756 | 756 | ||
| 757 | #: html.c:578 | 757 | #: html.c:634 |
| 758 | #, c-format | 758 | #, c-format |
| 759 | msgid "Post date and time (timezone: %s):" | 759 | msgid "Post date and time (timezone: %s):" |
| 760 | msgstr "" | 760 | msgstr "" |
| 761 | 761 | ||
| 762 | #: html.c:1689 | 762 | #: html.c:1767 |
| 763 | msgid "Time zone:" | 763 | msgid "Time zone:" |
| 764 | msgstr "" | 764 | msgstr "" |
| 765 | 765 | ||
| 766 | #: html.c:559 | 766 | #: html.c:615 |
| 767 | msgid "Language:" | 767 | msgid "Language:" |
| 768 | msgstr "" | 768 | msgstr "" |
| 769 | 769 | ||
| 770 | #: html.c:1580 | 770 | #: html.c:1658 |
| 771 | msgid "Notify webhook:" | 771 | msgid "Notify webhook:" |
| 772 | msgstr "" | 772 | msgstr "" |
| 773 | 773 | ||
| 774 | #: html.c:1586 | 774 | #: html.c:1664 |
| 775 | msgid "http://example.com/webhook" | 775 | msgid "http://example.com/webhook" |
| 776 | msgstr "" | 776 | msgstr "" |
| 777 | 777 | ||
| 778 | #: html.c:1694 | 778 | #: html.c:1772 |
| 779 | msgid "Languages you usually post in:" | 779 | msgid "Languages you usually post in:" |
| 780 | msgstr "" | 780 | msgstr "" |
| 781 | 781 | ||
| 782 | #: html.c:1700 | 782 | #: html.c:1778 |
| 783 | msgid "en fr es de_AT" | 783 | msgid "en fr es de_AT" |
| 784 | msgstr "" | 784 | msgstr "" |
| 785 | 785 | ||
| 786 | #: html.c:460 | 786 | #: html.c:428 |
| 787 | msgid "Visibility: " | 787 | msgid "Visibility: " |
| 788 | msgstr "" | 788 | msgstr "" |
| 789 | 789 | ||
| 790 | #: html.c:468 | ||
| 791 | msgid "Public" | 790 | msgid "Public" |
| 792 | msgstr "" | 791 | msgstr "" |
| 793 | 792 | ||
| 794 | #: html.c:477 | ||
| 795 | msgid "Unlisted" | 793 | msgid "Unlisted" |
| 796 | msgstr "" | 794 | msgstr "" |
| 797 | 795 | ||
| 798 | #: html.c:486 | ||
| 799 | msgid "Followers-only" | 796 | msgid "Followers-only" |
| 800 | msgstr "" | 797 | msgstr "" |
| 801 | 798 | ||
| 802 | #: html.c:495 | ||
| 803 | msgid "Direct Message" | 799 | msgid "Direct Message" |
| 804 | msgstr "" | 800 | msgstr "" |
| 801 | |||
| 802 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 803 | msgid "EmojiUnreact" | ||
| 804 | msgstr "" | ||
| 805 | |||
| 806 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 807 | msgid "EmojiReact" | ||
| 808 | msgstr "" | ||
| 809 | |||
| 810 | #: html.c:2115 | ||
| 811 | msgid "Emoji react..." | ||
| 812 | msgstr "" | ||
| 813 | |||
| 814 | #: html.c:2609 | ||
| 815 | msgid "Emoji reactions: " | ||
| 816 | msgstr "" | ||
| @@ -8,692 +8,692 @@ msgstr "" | |||
| 8 | "Language: en\n" | 8 | "Language: en\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "" | 13 | msgstr "" |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "" | 17 | msgstr "" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "" | 20 | msgstr "" |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "" | 24 | msgstr "" |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "" | 28 | msgstr "" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "" | 32 | msgstr "" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "" | 36 | msgstr "" |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "" | 40 | msgstr "" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "" | 44 | msgstr "" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "" | 48 | msgstr "" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "" | 52 | msgstr "" |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "" | 56 | msgstr "" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "" | 60 | msgstr "" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "" | 64 | msgstr "" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "" | 68 | msgstr "" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "" | 72 | msgstr "" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "" | 76 | msgstr "" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "" | 80 | msgstr "" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "" | 84 | msgstr "" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "" | 88 | msgstr "" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "" | 92 | msgstr "" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "" | 97 | msgstr "" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "" | 101 | msgstr "" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "" | 105 | msgstr "" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "" | 109 | msgstr "" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "" | 113 | msgstr "" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "" | 117 | msgstr "" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "" | 121 | msgstr "" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| 127 | msgstr "" | 127 | msgstr "" |
| 128 | 128 | ||
| 129 | #: html.c:1087 | 129 | #: html.c:1143 |
| 130 | msgid "Content search" | 130 | msgid "Content search" |
| 131 | msgstr "" | 131 | msgstr "" |
| 132 | 132 | ||
| 133 | #: html.c:1213 | 133 | #: html.c:1269 |
| 134 | msgid "verified link" | 134 | msgid "verified link" |
| 135 | msgstr "" | 135 | msgstr "" |
| 136 | 136 | ||
| 137 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 137 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 138 | msgid "Location: " | 138 | msgid "Location: " |
| 139 | msgstr "" | 139 | msgstr "" |
| 140 | 140 | ||
| 141 | #: html.c:1302 | 141 | #: html.c:1358 |
| 142 | msgid "New Post..." | 142 | msgid "New Post..." |
| 143 | msgstr "" | 143 | msgstr "" |
| 144 | 144 | ||
| 145 | #: html.c:1304 | 145 | #: html.c:1360 |
| 146 | msgid "What's on your mind?" | 146 | msgid "What's on your mind?" |
| 147 | msgstr "" | 147 | msgstr "" |
| 148 | 148 | ||
| 149 | #: html.c:1313 | 149 | #: html.c:1369 |
| 150 | msgid "Operations..." | 150 | msgid "Operations..." |
| 151 | msgstr "" | 151 | msgstr "" |
| 152 | 152 | ||
| 153 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 153 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 154 | msgid "Follow" | 154 | msgid "Follow" |
| 155 | msgstr "" | 155 | msgstr "" |
| 156 | 156 | ||
| 157 | #: html.c:1330 | 157 | #: html.c:1386 |
| 158 | msgid "(by URL or user@host)" | 158 | msgid "(by URL or user@host)" |
| 159 | msgstr "" | 159 | msgstr "" |
| 160 | 160 | ||
| 161 | #: html.c:1345 html.c:1925 html.c:4766 | 161 | #: html.c:1401 html.c:2003 html.c:5210 |
| 162 | msgid "Boost" | 162 | msgid "Boost" |
| 163 | msgstr "" | 163 | msgstr "" |
| 164 | 164 | ||
| 165 | #: html.c:1347 html.c:1364 | 165 | #: html.c:1403 html.c:1420 html.c:1442 |
| 166 | msgid "(by URL)" | 166 | msgid "(by URL)" |
| 167 | msgstr "" | 167 | msgstr "" |
| 168 | 168 | ||
| 169 | #: html.c:1362 html.c:1904 html.c:4757 | 169 | #: html.c:1418 html.c:1982 html.c:5201 |
| 170 | msgid "Like" | 170 | msgid "Like" |
| 171 | msgstr "" | 171 | msgstr "" |
| 172 | 172 | ||
| 173 | #: html.c:1490 | 173 | #: html.c:1568 |
| 174 | msgid "User Settings..." | 174 | msgid "User Settings..." |
| 175 | msgstr "" | 175 | msgstr "" |
| 176 | 176 | ||
| 177 | #: html.c:1499 | 177 | #: html.c:1577 |
| 178 | msgid "Display name:" | 178 | msgid "Display name:" |
| 179 | msgstr "" | 179 | msgstr "" |
| 180 | 180 | ||
| 181 | #: html.c:1505 | 181 | #: html.c:1583 |
| 182 | msgid "Your name" | 182 | msgid "Your name" |
| 183 | msgstr "" | 183 | msgstr "" |
| 184 | 184 | ||
| 185 | #: html.c:1507 | 185 | #: html.c:1585 |
| 186 | msgid "Avatar: " | 186 | msgid "Avatar: " |
| 187 | msgstr "" | 187 | msgstr "" |
| 188 | 188 | ||
| 189 | #: html.c:1515 | 189 | #: html.c:1593 |
| 190 | msgid "Delete current avatar" | 190 | msgid "Delete current avatar" |
| 191 | msgstr "" | 191 | msgstr "" |
| 192 | 192 | ||
| 193 | #: html.c:1517 | 193 | #: html.c:1595 |
| 194 | msgid "Header image (banner): " | 194 | msgid "Header image (banner): " |
| 195 | msgstr "" | 195 | msgstr "" |
| 196 | 196 | ||
| 197 | #: html.c:1525 | 197 | #: html.c:1603 |
| 198 | msgid "Delete current header image" | 198 | msgid "Delete current header image" |
| 199 | msgstr "" | 199 | msgstr "" |
| 200 | 200 | ||
| 201 | #: html.c:1527 | 201 | #: html.c:1605 |
| 202 | msgid "Bio:" | 202 | msgid "Bio:" |
| 203 | msgstr "" | 203 | msgstr "" |
| 204 | 204 | ||
| 205 | #: html.c:1533 | 205 | #: html.c:1611 |
| 206 | msgid "Write about yourself here..." | 206 | msgid "Write about yourself here..." |
| 207 | msgstr "" | 207 | msgstr "" |
| 208 | 208 | ||
| 209 | #: html.c:1542 | 209 | #: html.c:1620 |
| 210 | msgid "Always show sensitive content" | 210 | msgid "Always show sensitive content" |
| 211 | msgstr "" | 211 | msgstr "" |
| 212 | 212 | ||
| 213 | #: html.c:1544 | 213 | #: html.c:1622 |
| 214 | msgid "Email address for notifications:" | 214 | msgid "Email address for notifications:" |
| 215 | msgstr "" | 215 | msgstr "" |
| 216 | 216 | ||
| 217 | #: html.c:1552 | 217 | #: html.c:1630 |
| 218 | msgid "Telegram notifications (bot key and chat id):" | 218 | msgid "Telegram notifications (bot key and chat id):" |
| 219 | msgstr "" | 219 | msgstr "" |
| 220 | 220 | ||
| 221 | #: html.c:1566 | 221 | #: html.c:1644 |
| 222 | msgid "ntfy notifications (ntfy server and token):" | 222 | msgid "ntfy notifications (ntfy server and token):" |
| 223 | msgstr "" | 223 | msgstr "" |
| 224 | 224 | ||
| 225 | #: html.c:1588 | 225 | #: html.c:1666 |
| 226 | msgid "Maximum days to keep posts (0: server settings):" | 226 | msgid "Maximum days to keep posts (0: server settings):" |
| 227 | msgstr "" | 227 | msgstr "" |
| 228 | 228 | ||
| 229 | #: html.c:1602 | 229 | #: html.c:1680 |
| 230 | msgid "Drop direct messages from people you don't follow" | 230 | msgid "Drop direct messages from people you don't follow" |
| 231 | msgstr "" | 231 | msgstr "" |
| 232 | 232 | ||
| 233 | #: html.c:1611 | 233 | #: html.c:1689 |
| 234 | msgid "This account is a bot" | 234 | msgid "This account is a bot" |
| 235 | msgstr "" | 235 | msgstr "" |
| 236 | 236 | ||
| 237 | #: html.c:1620 | 237 | #: html.c:1698 |
| 238 | msgid "Auto-boost all mentions to this account" | 238 | msgid "Auto-boost all mentions to this account" |
| 239 | msgstr "" | 239 | msgstr "" |
| 240 | 240 | ||
| 241 | #: html.c:1629 | 241 | #: html.c:1707 |
| 242 | msgid "This account is private (posts are not shown through the web)" | 242 | msgid "This account is private (posts are not shown through the web)" |
| 243 | msgstr "" | 243 | msgstr "" |
| 244 | 244 | ||
| 245 | #: html.c:1639 | 245 | #: html.c:1717 |
| 246 | msgid "Collapse top threads by default" | 246 | msgid "Collapse top threads by default" |
| 247 | msgstr "" | 247 | msgstr "" |
| 248 | 248 | ||
| 249 | #: html.c:1648 | 249 | #: html.c:1726 |
| 250 | msgid "Follow requests must be approved" | 250 | msgid "Follow requests must be approved" |
| 251 | msgstr "" | 251 | msgstr "" |
| 252 | 252 | ||
| 253 | #: html.c:1657 | 253 | #: html.c:1735 |
| 254 | msgid "Publish follower and following metrics" | 254 | msgid "Publish follower and following metrics" |
| 255 | msgstr "" | 255 | msgstr "" |
| 256 | 256 | ||
| 257 | #: html.c:1659 | 257 | #: html.c:1737 |
| 258 | msgid "Current location:" | 258 | msgid "Current location:" |
| 259 | msgstr "" | 259 | msgstr "" |
| 260 | 260 | ||
| 261 | #: html.c:1673 | 261 | #: html.c:1751 |
| 262 | msgid "Profile metadata (key=value pairs in each line):" | 262 | msgid "Profile metadata (key=value pairs in each line):" |
| 263 | msgstr "" | 263 | msgstr "" |
| 264 | 264 | ||
| 265 | #: html.c:1684 | 265 | #: html.c:1762 |
| 266 | msgid "Web interface language:" | 266 | msgid "Web interface language:" |
| 267 | msgstr "" | 267 | msgstr "" |
| 268 | 268 | ||
| 269 | #: html.c:1703 | 269 | #: html.c:1781 |
| 270 | msgid "New password:" | 270 | msgid "New password:" |
| 271 | msgstr "" | 271 | msgstr "" |
| 272 | 272 | ||
| 273 | #: html.c:1710 | 273 | #: html.c:1788 |
| 274 | msgid "Repeat new password:" | 274 | msgid "Repeat new password:" |
| 275 | msgstr "" | 275 | msgstr "" |
| 276 | 276 | ||
| 277 | #: html.c:1720 | 277 | #: html.c:1798 |
| 278 | msgid "Update user info" | 278 | msgid "Update user info" |
| 279 | msgstr "" | 279 | msgstr "" |
| 280 | 280 | ||
| 281 | #: html.c:1731 | 281 | #: html.c:1809 |
| 282 | msgid "Followed hashtags..." | 282 | msgid "Followed hashtags..." |
| 283 | msgstr "" | 283 | msgstr "" |
| 284 | 284 | ||
| 285 | #: html.c:1733 html.c:1766 | 285 | #: html.c:1811 html.c:1844 |
| 286 | msgid "One hashtag per line" | 286 | msgid "One hashtag per line" |
| 287 | msgstr "" | 287 | msgstr "" |
| 288 | 288 | ||
| 289 | #: html.c:1755 html.c:1787 | 289 | #: html.c:1833 html.c:1865 |
| 290 | msgid "Update hashtags" | 290 | msgid "Update hashtags" |
| 291 | msgstr "" | 291 | msgstr "" |
| 292 | 292 | ||
| 293 | #: html.c:1904 | 293 | #: html.c:1982 |
| 294 | msgid "Say you like this post" | 294 | msgid "Say you like this post" |
| 295 | msgstr "" | 295 | msgstr "" |
| 296 | 296 | ||
| 297 | #: html.c:1909 html.c:4775 | 297 | #: html.c:1987 html.c:5219 |
| 298 | msgid "Unlike" | 298 | msgid "Unlike" |
| 299 | msgstr "" | 299 | msgstr "" |
| 300 | 300 | ||
| 301 | #: html.c:1909 | 301 | #: html.c:1987 |
| 302 | msgid "Nah don't like it that much" | 302 | msgid "Nah don't like it that much" |
| 303 | msgstr "" | 303 | msgstr "" |
| 304 | 304 | ||
| 305 | #: html.c:1915 html.c:4912 | 305 | #: html.c:1993 html.c:5356 |
| 306 | msgid "Unpin" | 306 | msgid "Unpin" |
| 307 | msgstr "" | 307 | msgstr "" |
| 308 | 308 | ||
| 309 | #: html.c:1915 | 309 | #: html.c:1993 |
| 310 | msgid "Unpin this post from your timeline" | 310 | msgid "Unpin this post from your timeline" |
| 311 | msgstr "" | 311 | msgstr "" |
| 312 | 312 | ||
| 313 | #: html.c:1918 html.c:4907 | 313 | #: html.c:1996 html.c:5351 |
| 314 | msgid "Pin" | 314 | msgid "Pin" |
| 315 | msgstr "" | 315 | msgstr "" |
| 316 | 316 | ||
| 317 | #: html.c:1918 | 317 | #: html.c:1996 |
| 318 | msgid "Pin this post to the top of your timeline" | 318 | msgid "Pin this post to the top of your timeline" |
| 319 | msgstr "" | 319 | msgstr "" |
| 320 | 320 | ||
| 321 | #: html.c:1925 | 321 | #: html.c:2003 |
| 322 | msgid "Announce this post to your followers" | 322 | msgid "Announce this post to your followers" |
| 323 | msgstr "" | 323 | msgstr "" |
| 324 | 324 | ||
| 325 | #: html.c:1930 html.c:4783 | 325 | #: html.c:2008 html.c:5227 |
| 326 | msgid "Unboost" | 326 | msgid "Unboost" |
| 327 | msgstr "" | 327 | msgstr "" |
| 328 | 328 | ||
| 329 | #: html.c:1930 | 329 | #: html.c:2008 |
| 330 | msgid "I regret I boosted this" | 330 | msgid "I regret I boosted this" |
| 331 | msgstr "" | 331 | msgstr "" |
| 332 | 332 | ||
| 333 | #: html.c:1936 html.c:4922 | 333 | #: html.c:2014 html.c:5366 |
| 334 | msgid "Unbookmark" | 334 | msgid "Unbookmark" |
| 335 | msgstr "" | 335 | msgstr "" |
| 336 | 336 | ||
| 337 | #: html.c:1936 | 337 | #: html.c:2014 |
| 338 | msgid "Delete this post from your bookmarks" | 338 | msgid "Delete this post from your bookmarks" |
| 339 | msgstr "" | 339 | msgstr "" |
| 340 | 340 | ||
| 341 | #: html.c:1939 html.c:4917 | 341 | #: html.c:2017 html.c:5361 |
| 342 | msgid "Bookmark" | 342 | msgid "Bookmark" |
| 343 | msgstr "" | 343 | msgstr "" |
| 344 | 344 | ||
| 345 | #: html.c:1939 | 345 | #: html.c:2017 |
| 346 | msgid "Add this post to your bookmarks" | 346 | msgid "Add this post to your bookmarks" |
| 347 | msgstr "" | 347 | msgstr "" |
| 348 | 348 | ||
| 349 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 349 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 350 | msgid "Unfollow" | 350 | msgid "Unfollow" |
| 351 | msgstr "" | 351 | msgstr "" |
| 352 | 352 | ||
| 353 | #: html.c:1945 html.c:3387 | 353 | #: html.c:2023 html.c:3763 html.c:4042 |
| 354 | msgid "Stop following this user's activity" | 354 | msgid "Stop following this user's activity" |
| 355 | msgstr "" | 355 | msgstr "" |
| 356 | 356 | ||
| 357 | #: html.c:1949 html.c:3401 | 357 | #: html.c:2027 html.c:3777 html.c:4044 |
| 358 | msgid "Start following this user's activity" | 358 | msgid "Start following this user's activity" |
| 359 | msgstr "" | 359 | msgstr "" |
| 360 | 360 | ||
| 361 | #: html.c:1955 html.c:4860 | 361 | #: html.c:2033 html.c:5304 |
| 362 | msgid "Unfollow Group" | 362 | msgid "Unfollow Group" |
| 363 | msgstr "" | 363 | msgstr "" |
| 364 | 364 | ||
| 365 | #: html.c:1956 | 365 | #: html.c:2034 |
| 366 | msgid "Stop following this group or channel" | 366 | msgid "Stop following this group or channel" |
| 367 | msgstr "" | 367 | msgstr "" |
| 368 | 368 | ||
| 369 | #: html.c:1960 html.c:4847 | 369 | #: html.c:2038 html.c:5291 |
| 370 | msgid "Follow Group" | 370 | msgid "Follow Group" |
| 371 | msgstr "" | 371 | msgstr "" |
| 372 | 372 | ||
| 373 | #: html.c:1961 | 373 | #: html.c:2039 |
| 374 | msgid "Start following this group or channel" | 374 | msgid "Start following this group or channel" |
| 375 | msgstr "" | 375 | msgstr "" |
| 376 | 376 | ||
| 377 | #: html.c:1966 html.c:3423 html.c:4791 | 377 | #: html.c:2044 html.c:3799 html.c:5235 |
| 378 | msgid "MUTE" | 378 | msgid "MUTE" |
| 379 | msgstr "" | 379 | msgstr "" |
| 380 | 380 | ||
| 381 | #: html.c:1967 | 381 | #: html.c:2045 |
| 382 | msgid "Block any activity from this user forever" | 382 | msgid "Block any activity from this user forever" |
| 383 | msgstr "" | 383 | msgstr "" |
| 384 | 384 | ||
| 385 | #: html.c:1972 html.c:3405 html.c:4877 | 385 | #: html.c:2050 html.c:3781 html.c:5321 |
| 386 | msgid "Delete" | 386 | msgid "Delete" |
| 387 | msgstr "" | 387 | msgstr "" |
| 388 | 388 | ||
| 389 | #: html.c:1972 | 389 | #: html.c:2050 |
| 390 | msgid "Delete this post" | 390 | msgid "Delete this post" |
| 391 | msgstr "" | 391 | msgstr "" |
| 392 | 392 | ||
| 393 | #: html.c:1975 html.c:4799 | 393 | #: html.c:2053 html.c:5243 |
| 394 | msgid "Hide" | 394 | msgid "Hide" |
| 395 | msgstr "" | 395 | msgstr "" |
| 396 | 396 | ||
| 397 | #: html.c:1975 | 397 | #: html.c:2053 |
| 398 | msgid "Hide this post and its children" | 398 | msgid "Hide this post and its children" |
| 399 | msgstr "" | 399 | msgstr "" |
| 400 | 400 | ||
| 401 | #: html.c:2017 | 401 | #: html.c:2095 |
| 402 | msgid "Edit..." | 402 | msgid "Edit..." |
| 403 | msgstr "" | 403 | msgstr "" |
| 404 | 404 | ||
| 405 | #: html.c:2039 | 405 | #: html.c:2133 |
| 406 | msgid "Reply..." | 406 | msgid "Reply..." |
| 407 | msgstr "" | 407 | msgstr "" |
| 408 | 408 | ||
| 409 | #: html.c:2090 | 409 | #: html.c:2184 |
| 410 | msgid "Truncated (too deep)" | 410 | msgid "Truncated (too deep)" |
| 411 | msgstr "" | 411 | msgstr "" |
| 412 | 412 | ||
| 413 | #: html.c:2108 | 413 | #: html.c:2202 |
| 414 | msgid "follows you" | 414 | msgid "follows you" |
| 415 | msgstr "" | 415 | msgstr "" |
| 416 | 416 | ||
| 417 | #: html.c:2182 | 417 | #: html.c:2276 |
| 418 | msgid "Pinned" | 418 | msgid "Pinned" |
| 419 | msgstr "" | 419 | msgstr "" |
| 420 | 420 | ||
| 421 | #: html.c:2190 | 421 | #: html.c:2284 |
| 422 | msgid "Bookmarked" | 422 | msgid "Bookmarked" |
| 423 | msgstr "" | 423 | msgstr "" |
| 424 | 424 | ||
| 425 | #: html.c:2198 | 425 | #: html.c:2292 |
| 426 | msgid "Poll" | 426 | msgid "Poll" |
| 427 | msgstr "" | 427 | msgstr "" |
| 428 | 428 | ||
| 429 | #: html.c:2205 | 429 | #: html.c:2299 |
| 430 | msgid "Voted" | 430 | msgid "Voted" |
| 431 | msgstr "" | 431 | msgstr "" |
| 432 | 432 | ||
| 433 | #: html.c:2214 | 433 | #: html.c:2308 |
| 434 | msgid "Event" | 434 | msgid "Event" |
| 435 | msgstr "" | 435 | msgstr "" |
| 436 | 436 | ||
| 437 | #: html.c:2246 html.c:2275 | 437 | #: html.c:2340 html.c:2369 |
| 438 | msgid "boosted" | 438 | msgid "boosted" |
| 439 | msgstr "" | 439 | msgstr "" |
| 440 | 440 | ||
| 441 | #: html.c:2289 | 441 | #: html.c:2383 |
| 442 | msgid "in reply to" | 442 | msgid "in reply to" |
| 443 | msgstr "" | 443 | msgstr "" |
| 444 | 444 | ||
| 445 | #: html.c:2345 | 445 | #: html.c:2439 |
| 446 | msgid " [SENSITIVE CONTENT]" | 446 | msgid " [SENSITIVE CONTENT]" |
| 447 | msgstr "" | 447 | msgstr "" |
| 448 | 448 | ||
| 449 | #: html.c:2512 | 449 | #: html.c:2796 |
| 450 | msgid "Vote" | 450 | msgid "Vote" |
| 451 | msgstr "" | 451 | msgstr "" |
| 452 | 452 | ||
| 453 | #: html.c:2522 | 453 | #: html.c:2806 |
| 454 | msgid "Closed" | 454 | msgid "Closed" |
| 455 | msgstr "" | 455 | msgstr "" |
| 456 | 456 | ||
| 457 | #: html.c:2547 | 457 | #: html.c:2831 |
| 458 | msgid "Closes in" | 458 | msgid "Closes in" |
| 459 | msgstr "" | 459 | msgstr "" |
| 460 | 460 | ||
| 461 | #: html.c:2627 | 461 | #: html.c:2911 |
| 462 | msgid "Video" | 462 | msgid "Video" |
| 463 | msgstr "" | 463 | msgstr "" |
| 464 | 464 | ||
| 465 | #: html.c:2642 | 465 | #: html.c:2926 |
| 466 | msgid "Audio" | 466 | msgid "Audio" |
| 467 | msgstr "" | 467 | msgstr "" |
| 468 | 468 | ||
| 469 | #: html.c:2670 | 469 | #: html.c:2954 |
| 470 | msgid "Attachment" | 470 | msgid "Attachment" |
| 471 | msgstr "" | 471 | msgstr "" |
| 472 | 472 | ||
| 473 | #: html.c:2684 | 473 | #: html.c:2968 |
| 474 | msgid "Alt..." | 474 | msgid "Alt..." |
| 475 | msgstr "" | 475 | msgstr "" |
| 476 | 476 | ||
| 477 | #: html.c:2697 | 477 | #: html.c:2981 |
| 478 | msgid "Source channel or community" | 478 | msgid "Source channel or community" |
| 479 | msgstr "" | 479 | msgstr "" |
| 480 | 480 | ||
| 481 | #: html.c:2791 | 481 | #: html.c:3075 |
| 482 | msgid "Time: " | 482 | msgid "Time: " |
| 483 | msgstr "" | 483 | msgstr "" |
| 484 | 484 | ||
| 485 | #: html.c:2872 | 485 | #: html.c:3156 |
| 486 | msgid "Older..." | 486 | msgid "Older..." |
| 487 | msgstr "" | 487 | msgstr "" |
| 488 | 488 | ||
| 489 | #: html.c:2974 | 489 | #: html.c:3258 |
| 490 | msgid "about this site" | 490 | msgid "about this site" |
| 491 | msgstr "" | 491 | msgstr "" |
| 492 | 492 | ||
| 493 | #: html.c:2976 | 493 | #: html.c:3260 |
| 494 | msgid "powered by " | 494 | msgid "powered by " |
| 495 | msgstr "" | 495 | msgstr "" |
| 496 | 496 | ||
| 497 | #: html.c:3041 | 497 | #: html.c:3329 |
| 498 | msgid "Dismiss" | 498 | msgid "Dismiss" |
| 499 | msgstr "" | 499 | msgstr "" |
| 500 | 500 | ||
| 501 | #: html.c:3058 | 501 | #: html.c:3346 |
| 502 | #, c-format | 502 | #, c-format |
| 503 | msgid "Timeline for list '%s'" | 503 | msgid "Timeline for list '%s'" |
| 504 | msgstr "" | 504 | msgstr "" |
| 505 | 505 | ||
| 506 | #: html.c:3077 html.c:4169 | 506 | #: html.c:3365 html.c:4589 |
| 507 | msgid "Pinned posts" | 507 | msgid "Pinned posts" |
| 508 | msgstr "" | 508 | msgstr "" |
| 509 | 509 | ||
| 510 | #: html.c:3089 html.c:4184 | 510 | #: html.c:3377 html.c:4604 |
| 511 | msgid "Bookmarked posts" | 511 | msgid "Bookmarked posts" |
| 512 | msgstr "" | 512 | msgstr "" |
| 513 | 513 | ||
| 514 | #: html.c:3101 html.c:4199 | 514 | #: html.c:3389 html.c:4619 |
| 515 | msgid "Post drafts" | 515 | msgid "Post drafts" |
| 516 | msgstr "" | 516 | msgstr "" |
| 517 | 517 | ||
| 518 | #: html.c:3177 | 518 | #: html.c:3465 |
| 519 | msgid "No more unseen posts" | 519 | msgid "No more unseen posts" |
| 520 | msgstr "" | 520 | msgstr "" |
| 521 | 521 | ||
| 522 | #: html.c:3181 html.c:3290 | 522 | #: html.c:3469 html.c:3578 |
| 523 | msgid "Back to top" | 523 | msgid "Back to top" |
| 524 | msgstr "" | 524 | msgstr "" |
| 525 | 525 | ||
| 526 | #: html.c:3243 | 526 | #: html.c:3531 |
| 527 | msgid "History" | 527 | msgid "History" |
| 528 | msgstr "" | 528 | msgstr "" |
| 529 | 529 | ||
| 530 | #: html.c:3295 html.c:3734 | 530 | #: html.c:3583 html.c:4149 |
| 531 | msgid "More..." | 531 | msgid "More..." |
| 532 | msgstr "" | 532 | msgstr "" |
| 533 | 533 | ||
| 534 | #: html.c:3391 html.c:4813 | 534 | #: html.c:3767 html.c:5257 |
| 535 | msgid "Unlimit" | 535 | msgid "Unlimit" |
| 536 | msgstr "" | 536 | msgstr "" |
| 537 | 537 | ||
| 538 | #: html.c:3392 | 538 | #: html.c:3768 |
| 539 | msgid "Allow announces (boosts) from this user" | 539 | msgid "Allow announces (boosts) from this user" |
| 540 | msgstr "" | 540 | msgstr "" |
| 541 | 541 | ||
| 542 | #: html.c:3395 html.c:4809 | 542 | #: html.c:3771 html.c:5253 |
| 543 | msgid "Limit" | 543 | msgid "Limit" |
| 544 | msgstr "" | 544 | msgstr "" |
| 545 | 545 | ||
| 546 | #: html.c:3396 | 546 | #: html.c:3772 |
| 547 | msgid "Block announces (boosts) from this user" | 547 | msgid "Block announces (boosts) from this user" |
| 548 | msgstr "" | 548 | msgstr "" |
| 549 | 549 | ||
| 550 | #: html.c:3405 | 550 | #: html.c:3781 |
| 551 | msgid "Delete this user" | 551 | msgid "Delete this user" |
| 552 | msgstr "" | 552 | msgstr "" |
| 553 | 553 | ||
| 554 | #: html.c:3410 html.c:4927 | 554 | #: html.c:3786 html.c:5371 |
| 555 | msgid "Approve" | 555 | msgid "Approve" |
| 556 | msgstr "" | 556 | msgstr "" |
| 557 | 557 | ||
| 558 | #: html.c:3411 | 558 | #: html.c:3787 |
| 559 | msgid "Approve this follow request" | 559 | msgid "Approve this follow request" |
| 560 | msgstr "" | 560 | msgstr "" |
| 561 | 561 | ||
| 562 | #: html.c:3414 html.c:4951 | 562 | #: html.c:3790 html.c:5395 |
| 563 | msgid "Discard" | 563 | msgid "Discard" |
| 564 | msgstr "" | 564 | msgstr "" |
| 565 | 565 | ||
| 566 | #: html.c:3414 | 566 | #: html.c:3790 |
| 567 | msgid "Discard this follow request" | 567 | msgid "Discard this follow request" |
| 568 | msgstr "" | 568 | msgstr "" |
| 569 | 569 | ||
| 570 | #: html.c:3419 html.c:4795 | 570 | #: html.c:3795 html.c:5239 |
| 571 | msgid "Unmute" | 571 | msgid "Unmute" |
| 572 | msgstr "" | 572 | msgstr "" |
| 573 | 573 | ||
| 574 | #: html.c:3420 | 574 | #: html.c:3796 |
| 575 | msgid "Stop blocking activities from this user" | 575 | msgid "Stop blocking activities from this user" |
| 576 | msgstr "" | 576 | msgstr "" |
| 577 | 577 | ||
| 578 | #: html.c:3424 | 578 | #: html.c:3800 |
| 579 | msgid "Block any activity from this user" | 579 | msgid "Block any activity from this user" |
| 580 | msgstr "" | 580 | msgstr "" |
| 581 | 581 | ||
| 582 | #: html.c:3432 | 582 | #: html.c:3808 |
| 583 | msgid "Direct Message..." | 583 | msgid "Direct Message..." |
| 584 | msgstr "" | 584 | msgstr "" |
| 585 | 585 | ||
| 586 | #: html.c:3467 | 586 | #: html.c:3843 |
| 587 | msgid "Pending follow confirmations" | 587 | msgid "Pending follow confirmations" |
| 588 | msgstr "" | 588 | msgstr "" |
| 589 | 589 | ||
| 590 | #: html.c:3471 | 590 | #: html.c:3847 |
| 591 | msgid "People you follow" | 591 | msgid "People you follow" |
| 592 | msgstr "" | 592 | msgstr "" |
| 593 | 593 | ||
| 594 | #: html.c:3472 | 594 | #: html.c:3848 |
| 595 | msgid "People that follow you" | 595 | msgid "People that follow you" |
| 596 | msgstr "" | 596 | msgstr "" |
| 597 | 597 | ||
| 598 | #: html.c:3511 | 598 | #: html.c:3887 |
| 599 | msgid "Clear all" | 599 | msgid "Clear all" |
| 600 | msgstr "" | 600 | msgstr "" |
| 601 | 601 | ||
| 602 | #: html.c:3571 | 602 | #: html.c:3951 |
| 603 | msgid "Mention" | 603 | msgid "Mention" |
| 604 | msgstr "" | 604 | msgstr "" |
| 605 | 605 | ||
| 606 | #: html.c:3574 | 606 | #: html.c:3954 |
| 607 | msgid "Finished poll" | 607 | msgid "Finished poll" |
| 608 | msgstr "" | 608 | msgstr "" |
| 609 | 609 | ||
| 610 | #: html.c:3590 | 610 | #: html.c:3979 |
| 611 | msgid "Follow Request" | 611 | msgid "Follow Request" |
| 612 | msgstr "" | 612 | msgstr "" |
| 613 | 613 | ||
| 614 | #: html.c:3674 | 614 | #: html.c:4089 |
| 615 | msgid "Context" | 615 | msgid "Context" |
| 616 | msgstr "" | 616 | msgstr "" |
| 617 | 617 | ||
| 618 | #: html.c:3692 | 618 | #: html.c:4107 |
| 619 | msgid "New" | 619 | msgid "New" |
| 620 | msgstr "" | 620 | msgstr "" |
| 621 | 621 | ||
| 622 | #: html.c:3707 | 622 | #: html.c:4122 |
| 623 | msgid "Already seen" | 623 | msgid "Already seen" |
| 624 | msgstr "" | 624 | msgstr "" |
| 625 | 625 | ||
| 626 | #: html.c:3722 | 626 | #: html.c:4137 |
| 627 | msgid "None" | 627 | msgid "None" |
| 628 | msgstr "" | 628 | msgstr "" |
| 629 | 629 | ||
| 630 | #: html.c:3994 | 630 | #: html.c:4414 |
| 631 | #, c-format | 631 | #, c-format |
| 632 | msgid "Search results for account %s" | 632 | msgid "Search results for account %s" |
| 633 | msgstr "" | 633 | msgstr "" |
| 634 | 634 | ||
| 635 | #: html.c:4001 | 635 | #: html.c:4421 |
| 636 | #, c-format | 636 | #, c-format |
| 637 | msgid "Account %s not found" | 637 | msgid "Account %s not found" |
| 638 | msgstr "" | 638 | msgstr "" |
| 639 | 639 | ||
| 640 | #: html.c:4032 | 640 | #: html.c:4452 |
| 641 | #, c-format | 641 | #, c-format |
| 642 | msgid "Search results for tag %s" | 642 | msgid "Search results for tag %s" |
| 643 | msgstr "" | 643 | msgstr "" |
| 644 | 644 | ||
| 645 | #: html.c:4032 | 645 | #: html.c:4452 |
| 646 | #, c-format | 646 | #, c-format |
| 647 | msgid "Nothing found for tag %s" | 647 | msgid "Nothing found for tag %s" |
| 648 | msgstr "" | 648 | msgstr "" |
| 649 | 649 | ||
| 650 | #: html.c:4048 | 650 | #: html.c:4468 |
| 651 | #, c-format | 651 | #, c-format |
| 652 | msgid "Search results for '%s' (may be more)" | 652 | msgid "Search results for '%s' (may be more)" |
| 653 | msgstr "" | 653 | msgstr "" |
| 654 | 654 | ||
| 655 | #: html.c:4051 | 655 | #: html.c:4471 |
| 656 | #, c-format | 656 | #, c-format |
| 657 | msgid "Search results for '%s'" | 657 | msgid "Search results for '%s'" |
| 658 | msgstr "" | 658 | msgstr "" |
| 659 | 659 | ||
| 660 | #: html.c:4054 | 660 | #: html.c:4474 |
| 661 | #, c-format | 661 | #, c-format |
| 662 | msgid "No more matches for '%s'" | 662 | msgid "No more matches for '%s'" |
| 663 | msgstr "" | 663 | msgstr "" |
| 664 | 664 | ||
| 665 | #: html.c:4056 | 665 | #: html.c:4476 |
| 666 | #, c-format | 666 | #, c-format |
| 667 | msgid "Nothing found for '%s'" | 667 | msgid "Nothing found for '%s'" |
| 668 | msgstr "" | 668 | msgstr "" |
| 669 | 669 | ||
| 670 | #: html.c:4154 | 670 | #: html.c:4574 |
| 671 | msgid "Showing instance timeline" | 671 | msgid "Showing instance timeline" |
| 672 | msgstr "" | 672 | msgstr "" |
| 673 | 673 | ||
| 674 | #: html.c:4237 | 674 | #: html.c:4657 |
| 675 | #, c-format | 675 | #, c-format |
| 676 | msgid "Showing timeline for list '%s'" | 676 | msgid "Showing timeline for list '%s'" |
| 677 | msgstr "" | 677 | msgstr "" |
| 678 | 678 | ||
| 679 | #: httpd.c:258 | 679 | #: httpd.c:259 |
| 680 | #, c-format | 680 | #, c-format |
| 681 | msgid "Search results for tag #%s" | 681 | msgid "Search results for tag #%s" |
| 682 | msgstr "" | 682 | msgstr "" |
| 683 | 683 | ||
| 684 | #: httpd.c:267 | 684 | #: httpd.c:268 |
| 685 | msgid "Recent posts by users in this instance" | 685 | msgid "Recent posts by users in this instance" |
| 686 | msgstr "" | 686 | msgstr "" |
| 687 | 687 | ||
| 688 | #: html.c:1764 | 688 | #: html.c:1842 |
| 689 | msgid "Blocked hashtags..." | 689 | msgid "Blocked hashtags..." |
| 690 | msgstr "" | 690 | msgstr "" |
| 691 | 691 | ||
| 692 | #: html.c:518 | 692 | #: html.c:574 |
| 693 | msgid "Optional URL to reply to" | 693 | msgid "Optional URL to reply to" |
| 694 | msgstr "" | 694 | msgstr "" |
| 695 | 695 | ||
| 696 | #: html.c:695 | 696 | #: html.c:751 |
| 697 | msgid "" | 697 | msgid "" |
| 698 | "Option 1...\n" | 698 | "Option 1...\n" |
| 699 | "Option 2...\n" | 699 | "Option 2...\n" |
| @@ -701,94 +701,106 @@ msgid "" | |||
| 701 | "..." | 701 | "..." |
| 702 | msgstr "" | 702 | msgstr "" |
| 703 | 703 | ||
| 704 | #: html.c:1558 | 704 | #: html.c:1636 |
| 705 | msgid "Bot API key" | 705 | msgid "Bot API key" |
| 706 | msgstr "" | 706 | msgstr "" |
| 707 | 707 | ||
| 708 | #: html.c:1564 | 708 | #: html.c:1642 |
| 709 | msgid "Chat id" | 709 | msgid "Chat id" |
| 710 | msgstr "" | 710 | msgstr "" |
| 711 | 711 | ||
| 712 | #: html.c:1572 | 712 | #: html.c:1650 |
| 713 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 713 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 714 | msgstr "" | 714 | msgstr "" |
| 715 | 715 | ||
| 716 | #: html.c:1578 | 716 | #: html.c:1656 |
| 717 | msgid "ntfy token - if needed" | 717 | msgid "ntfy token - if needed" |
| 718 | msgstr "" | 718 | msgstr "" |
| 719 | 719 | ||
| 720 | #: html.c:3078 | 720 | #: html.c:3366 |
| 721 | msgid "pinned" | 721 | msgid "pinned" |
| 722 | msgstr "" | 722 | msgstr "" |
| 723 | 723 | ||
| 724 | #: html.c:3090 | 724 | #: html.c:3378 |
| 725 | msgid "bookmarks" | 725 | msgid "bookmarks" |
| 726 | msgstr "" | 726 | msgstr "" |
| 727 | 727 | ||
| 728 | #: html.c:3102 | 728 | #: html.c:3390 |
| 729 | msgid "drafts" | 729 | msgid "drafts" |
| 730 | msgstr "" | 730 | msgstr "" |
| 731 | 731 | ||
| 732 | #: html.c:584 | 732 | #: html.c:640 |
| 733 | msgid "Scheduled post..." | 733 | msgid "Scheduled post..." |
| 734 | msgstr "" | 734 | msgstr "" |
| 735 | 735 | ||
| 736 | msgid "Post date and time:" | 736 | msgid "Post date and time:" |
| 737 | msgstr "" | 737 | msgstr "" |
| 738 | 738 | ||
| 739 | #: html.c:3113 html.c:4214 | 739 | #: html.c:3401 html.c:4634 |
| 740 | msgid "Scheduled posts" | 740 | msgid "Scheduled posts" |
| 741 | msgstr "" | 741 | msgstr "" |
| 742 | 742 | ||
| 743 | #: html.c:3114 | 743 | #: html.c:3402 |
| 744 | msgid "scheduled posts" | 744 | msgid "scheduled posts" |
| 745 | msgstr "" | 745 | msgstr "" |
| 746 | 746 | ||
| 747 | #: html.c:578 | 747 | #: html.c:634 |
| 748 | #, c-format | 748 | #, c-format |
| 749 | msgid "Post date and time (timezone: %s):" | 749 | msgid "Post date and time (timezone: %s):" |
| 750 | msgstr "" | 750 | msgstr "" |
| 751 | 751 | ||
| 752 | #: html.c:1689 | 752 | #: html.c:1767 |
| 753 | msgid "Time zone:" | 753 | msgid "Time zone:" |
| 754 | msgstr "" | 754 | msgstr "" |
| 755 | 755 | ||
| 756 | #: html.c:559 | 756 | #: html.c:615 |
| 757 | msgid "Language:" | 757 | msgid "Language:" |
| 758 | msgstr "" | 758 | msgstr "" |
| 759 | 759 | ||
| 760 | #: html.c:1580 | 760 | #: html.c:1658 |
| 761 | msgid "Notify webhook:" | 761 | msgid "Notify webhook:" |
| 762 | msgstr "" | 762 | msgstr "" |
| 763 | 763 | ||
| 764 | #: html.c:1586 | 764 | #: html.c:1664 |
| 765 | msgid "http://example.com/webhook" | 765 | msgid "http://example.com/webhook" |
| 766 | msgstr "" | 766 | msgstr "" |
| 767 | 767 | ||
| 768 | #: html.c:1694 | 768 | #: html.c:1772 |
| 769 | msgid "Languages you usually post in:" | 769 | msgid "Languages you usually post in:" |
| 770 | msgstr "" | 770 | msgstr "" |
| 771 | 771 | ||
| 772 | #: html.c:1700 | 772 | #: html.c:1778 |
| 773 | msgid "en fr es de_AT" | 773 | msgid "en fr es de_AT" |
| 774 | msgstr "" | 774 | msgstr "" |
| 775 | 775 | ||
| 776 | #: html.c:460 | 776 | #: html.c:428 |
| 777 | msgid "Visibility: " | 777 | msgid "Visibility: " |
| 778 | msgstr "" | 778 | msgstr "" |
| 779 | 779 | ||
| 780 | #: html.c:468 | ||
| 781 | msgid "Public" | 780 | msgid "Public" |
| 782 | msgstr "" | 781 | msgstr "" |
| 783 | 782 | ||
| 784 | #: html.c:477 | ||
| 785 | msgid "Unlisted" | 783 | msgid "Unlisted" |
| 786 | msgstr "" | 784 | msgstr "" |
| 787 | 785 | ||
| 788 | #: html.c:486 | ||
| 789 | msgid "Followers-only" | 786 | msgid "Followers-only" |
| 790 | msgstr "" | 787 | msgstr "" |
| 791 | 788 | ||
| 792 | #: html.c:495 | ||
| 793 | msgid "Direct Message" | 789 | msgid "Direct Message" |
| 794 | msgstr "" | 790 | msgstr "" |
| 791 | |||
| 792 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 793 | msgid "EmojiUnreact" | ||
| 794 | msgstr "" | ||
| 795 | |||
| 796 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 797 | msgid "EmojiReact" | ||
| 798 | msgstr "" | ||
| 799 | |||
| 800 | #: html.c:2115 | ||
| 801 | msgid "Emoji react..." | ||
| 802 | msgstr "" | ||
| 803 | |||
| 804 | #: html.c:2609 | ||
| 805 | msgid "Emoji reactions: " | ||
| 806 | msgstr "" | ||
| @@ -8,119 +8,119 @@ msgstr "" | |||
| 8 | "Language: es\n" | 8 | "Language: es\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Contenido sensible: " | 13 | msgstr "Contenido sensible: " |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Descripción del contenido sensible" | 17 | msgstr "Descripción del contenido sensible" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Solo personas mencionadas: " | 20 | msgstr "Solo personas mencionadas: " |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Responder a (URL): " | 24 | msgstr "Responder a (URL): " |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "No enviar. Guardar como borrador" | 28 | msgstr "No enviar. Guardar como borrador" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Borrador:" | 32 | msgstr "Borrador:" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "Adjuntos..." | 36 | msgstr "Adjuntos..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "Archivo:" | 40 | msgstr "Archivo:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Limpiar este campo para eliminar el adjunto" | 44 | msgstr "Limpiar este campo para eliminar el adjunto" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Descripción del adjunto" | 48 | msgstr "Descripción del adjunto" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Encuesta..." | 52 | msgstr "Encuesta..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Opciones de encuesta (una por lÃnea, hasta 8):" | 56 | msgstr "Opciones de encuesta (una por lÃnea, hasta 8):" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Una opción" | 60 | msgstr "Una opción" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Opciones múltiples" | 64 | msgstr "Opciones múltiples" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Finalizar en 5 minutos" | 68 | msgstr "Finalizar en 5 minutos" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Finalizar en 1 hora" | 72 | msgstr "Finalizar en 1 hora" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Finalizar en 1 dÃa" | 76 | msgstr "Finalizar en 1 dÃa" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Publicar" | 80 | msgstr "Publicar" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Descripción del sitio" | 84 | msgstr "Descripción del sitio" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Email del Administrador" | 88 | msgstr "Email del Administrador" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "Cuenta del Administrador" | 92 | msgstr "Cuenta del Administrador" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d siguiendo, %d seguidores" | 97 | msgstr "%d siguiendo, %d seguidores" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "privado" | 105 | msgstr "privado" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "público" | 109 | msgstr "público" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "notificaciones" | 113 | msgstr "notificaciones" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "personas" | 117 | msgstr "personas" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "instancia" | 121 | msgstr "instancia" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| @@ -128,576 +128,576 @@ msgstr "" | |||
| 128 | "Buscar publicaciones por URL o contenido (expresiones regulares), cuenta " | 128 | "Buscar publicaciones por URL o contenido (expresiones regulares), cuenta " |
| 129 | "@usuario@host , ó #etiqueta" | 129 | "@usuario@host , ó #etiqueta" |
| 130 | 130 | ||
| 131 | #: html.c:1087 | 131 | #: html.c:1143 |
| 132 | msgid "Content search" | 132 | msgid "Content search" |
| 133 | msgstr "Buscar contenido" | 133 | msgstr "Buscar contenido" |
| 134 | 134 | ||
| 135 | #: html.c:1213 | 135 | #: html.c:1269 |
| 136 | msgid "verified link" | 136 | msgid "verified link" |
| 137 | msgstr "link verificado" | 137 | msgstr "link verificado" |
| 138 | 138 | ||
| 139 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 139 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 140 | msgid "Location: " | 140 | msgid "Location: " |
| 141 | msgstr "Ubicación: " | 141 | msgstr "Ubicación: " |
| 142 | 142 | ||
| 143 | #: html.c:1302 | 143 | #: html.c:1358 |
| 144 | msgid "New Post..." | 144 | msgid "New Post..." |
| 145 | msgstr "Nueva Publicación..." | 145 | msgstr "Nueva Publicación..." |
| 146 | 146 | ||
| 147 | #: html.c:1304 | 147 | #: html.c:1360 |
| 148 | msgid "What's on your mind?" | 148 | msgid "What's on your mind?" |
| 149 | msgstr "¿En qué estás pensando?" | 149 | msgstr "¿En qué estás pensando?" |
| 150 | 150 | ||
| 151 | #: html.c:1313 | 151 | #: html.c:1369 |
| 152 | msgid "Operations..." | 152 | msgid "Operations..." |
| 153 | msgstr "Operaciones..." | 153 | msgstr "Operaciones..." |
| 154 | 154 | ||
| 155 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 155 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 156 | msgid "Follow" | 156 | msgid "Follow" |
| 157 | msgstr "Seguir" | 157 | msgstr "Seguir" |
| 158 | 158 | ||
| 159 | #: html.c:1330 | 159 | #: html.c:1386 |
| 160 | msgid "(by URL or user@host)" | 160 | msgid "(by URL or user@host)" |
| 161 | msgstr "(por URL o usuario@host)" | 161 | msgstr "(por URL o usuario@host)" |
| 162 | 162 | ||
| 163 | #: html.c:1345 html.c:1925 html.c:4766 | 163 | #: html.c:1401 html.c:2003 html.c:5210 |
| 164 | msgid "Boost" | 164 | msgid "Boost" |
| 165 | msgstr "Impulsar" | 165 | msgstr "Impulsar" |
| 166 | 166 | ||
| 167 | #: html.c:1347 html.c:1364 | 167 | #: html.c:1403 html.c:1420 html.c:1442 |
| 168 | msgid "(by URL)" | 168 | msgid "(by URL)" |
| 169 | msgstr "(por URL)" | 169 | msgstr "(por URL)" |
| 170 | 170 | ||
| 171 | #: html.c:1362 html.c:1904 html.c:4757 | 171 | #: html.c:1418 html.c:1982 html.c:5201 |
| 172 | msgid "Like" | 172 | msgid "Like" |
| 173 | msgstr "Me gusta" | 173 | msgstr "Me gusta" |
| 174 | 174 | ||
| 175 | #: html.c:1490 | 175 | #: html.c:1568 |
| 176 | msgid "User Settings..." | 176 | msgid "User Settings..." |
| 177 | msgstr "Configuración de usuario..." | 177 | msgstr "Configuración de usuario..." |
| 178 | 178 | ||
| 179 | #: html.c:1499 | 179 | #: html.c:1577 |
| 180 | msgid "Display name:" | 180 | msgid "Display name:" |
| 181 | msgstr "Nombre para mostrar:" | 181 | msgstr "Nombre para mostrar:" |
| 182 | 182 | ||
| 183 | #: html.c:1505 | 183 | #: html.c:1583 |
| 184 | msgid "Your name" | 184 | msgid "Your name" |
| 185 | msgstr "Su nombre" | 185 | msgstr "Su nombre" |
| 186 | 186 | ||
| 187 | #: html.c:1507 | 187 | #: html.c:1585 |
| 188 | msgid "Avatar: " | 188 | msgid "Avatar: " |
| 189 | msgstr "Avatar: " | 189 | msgstr "Avatar: " |
| 190 | 190 | ||
| 191 | #: html.c:1515 | 191 | #: html.c:1593 |
| 192 | msgid "Delete current avatar" | 192 | msgid "Delete current avatar" |
| 193 | msgstr "Eliminar avatar" | 193 | msgstr "Eliminar avatar" |
| 194 | 194 | ||
| 195 | #: html.c:1517 | 195 | #: html.c:1595 |
| 196 | msgid "Header image (banner): " | 196 | msgid "Header image (banner): " |
| 197 | msgstr "Imagen de cabecera (banner): " | 197 | msgstr "Imagen de cabecera (banner): " |
| 198 | 198 | ||
| 199 | #: html.c:1525 | 199 | #: html.c:1603 |
| 200 | msgid "Delete current header image" | 200 | msgid "Delete current header image" |
| 201 | msgstr "Eliminar imagen de cabecera" | 201 | msgstr "Eliminar imagen de cabecera" |
| 202 | 202 | ||
| 203 | #: html.c:1527 | 203 | #: html.c:1605 |
| 204 | msgid "Bio:" | 204 | msgid "Bio:" |
| 205 | msgstr "Bio:" | 205 | msgstr "Bio:" |
| 206 | 206 | ||
| 207 | #: html.c:1533 | 207 | #: html.c:1611 |
| 208 | msgid "Write about yourself here..." | 208 | msgid "Write about yourself here..." |
| 209 | msgstr "Escriba algo sobre usted aquÃ..." | 209 | msgstr "Escriba algo sobre usted aquÃ..." |
| 210 | 210 | ||
| 211 | #: html.c:1542 | 211 | #: html.c:1620 |
| 212 | msgid "Always show sensitive content" | 212 | msgid "Always show sensitive content" |
| 213 | msgstr "Siempre mostrar contenido sensible" | 213 | msgstr "Siempre mostrar contenido sensible" |
| 214 | 214 | ||
| 215 | #: html.c:1544 | 215 | #: html.c:1622 |
| 216 | msgid "Email address for notifications:" | 216 | msgid "Email address for notifications:" |
| 217 | msgstr "Cuenta de email para las notificaciones:" | 217 | msgstr "Cuenta de email para las notificaciones:" |
| 218 | 218 | ||
| 219 | #: html.c:1552 | 219 | #: html.c:1630 |
| 220 | msgid "Telegram notifications (bot key and chat id):" | 220 | msgid "Telegram notifications (bot key and chat id):" |
| 221 | msgstr "Notificaciones en Telegram (llave del bot e id del chat):" | 221 | msgstr "Notificaciones en Telegram (llave del bot e id del chat):" |
| 222 | 222 | ||
| 223 | #: html.c:1566 | 223 | #: html.c:1644 |
| 224 | msgid "ntfy notifications (ntfy server and token):" | 224 | msgid "ntfy notifications (ntfy server and token):" |
| 225 | msgstr "Notificaciones en ntfy (servidor ntfy y token):" | 225 | msgstr "Notificaciones en ntfy (servidor ntfy y token):" |
| 226 | 226 | ||
| 227 | #: html.c:1588 | 227 | #: html.c:1666 |
| 228 | msgid "Maximum days to keep posts (0: server settings):" | 228 | msgid "Maximum days to keep posts (0: server settings):" |
| 229 | msgstr "" | 229 | msgstr "" |
| 230 | "Plazo máximo de conservación de publicaciones en dÃas (0: usar configuración " | 230 | "Plazo máximo de conservación de publicaciones en dÃas (0: usar configuración " |
| 231 | "del servidor):" | 231 | "del servidor):" |
| 232 | 232 | ||
| 233 | #: html.c:1602 | 233 | #: html.c:1680 |
| 234 | msgid "Drop direct messages from people you don't follow" | 234 | msgid "Drop direct messages from people you don't follow" |
| 235 | msgstr "Descartar mensajes directos de personas a las que no sigue" | 235 | msgstr "Descartar mensajes directos de personas a las que no sigue" |
| 236 | 236 | ||
| 237 | #: html.c:1611 | 237 | #: html.c:1689 |
| 238 | msgid "This account is a bot" | 238 | msgid "This account is a bot" |
| 239 | msgstr "Esta cuenta es un bot" | 239 | msgstr "Esta cuenta es un bot" |
| 240 | 240 | ||
| 241 | #: html.c:1620 | 241 | #: html.c:1698 |
| 242 | msgid "Auto-boost all mentions to this account" | 242 | msgid "Auto-boost all mentions to this account" |
| 243 | msgstr "Impulsar automáticamente todas las menciones a esta cuenta" | 243 | msgstr "Impulsar automáticamente todas las menciones a esta cuenta" |
| 244 | 244 | ||
| 245 | #: html.c:1629 | 245 | #: html.c:1707 |
| 246 | msgid "This account is private (posts are not shown through the web)" | 246 | msgid "This account is private (posts are not shown through the web)" |
| 247 | msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)" | 247 | msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)" |
| 248 | 248 | ||
| 249 | #: html.c:1639 | 249 | #: html.c:1717 |
| 250 | msgid "Collapse top threads by default" | 250 | msgid "Collapse top threads by default" |
| 251 | msgstr "Contraer hilo de publicaciones por defecto" | 251 | msgstr "Contraer hilo de publicaciones por defecto" |
| 252 | 252 | ||
| 253 | #: html.c:1648 | 253 | #: html.c:1726 |
| 254 | msgid "Follow requests must be approved" | 254 | msgid "Follow requests must be approved" |
| 255 | msgstr "Las solicitudes de seguimiento deben ser aprobadas" | 255 | msgstr "Las solicitudes de seguimiento deben ser aprobadas" |
| 256 | 256 | ||
| 257 | #: html.c:1657 | 257 | #: html.c:1735 |
| 258 | msgid "Publish follower and following metrics" | 258 | msgid "Publish follower and following metrics" |
| 259 | msgstr "Mostrar cantidad de seguidores y seguidos" | 259 | msgstr "Mostrar cantidad de seguidores y seguidos" |
| 260 | 260 | ||
| 261 | #: html.c:1659 | 261 | #: html.c:1737 |
| 262 | msgid "Current location:" | 262 | msgid "Current location:" |
| 263 | msgstr "Ubicación actual:" | 263 | msgstr "Ubicación actual:" |
| 264 | 264 | ||
| 265 | #: html.c:1673 | 265 | #: html.c:1751 |
| 266 | msgid "Profile metadata (key=value pairs in each line):" | 266 | msgid "Profile metadata (key=value pairs in each line):" |
| 267 | msgstr "Metadata del perfil (pares llave=valor en cada lÃnea):" | 267 | msgstr "Metadata del perfil (pares llave=valor en cada lÃnea):" |
| 268 | 268 | ||
| 269 | #: html.c:1684 | 269 | #: html.c:1762 |
| 270 | msgid "Web interface language:" | 270 | msgid "Web interface language:" |
| 271 | msgstr "Idioma de la interfaz Web:" | 271 | msgstr "Idioma de la interfaz Web:" |
| 272 | 272 | ||
| 273 | #: html.c:1703 | 273 | #: html.c:1781 |
| 274 | msgid "New password:" | 274 | msgid "New password:" |
| 275 | msgstr "Nueva contraseña:" | 275 | msgstr "Nueva contraseña:" |
| 276 | 276 | ||
| 277 | #: html.c:1710 | 277 | #: html.c:1788 |
| 278 | msgid "Repeat new password:" | 278 | msgid "Repeat new password:" |
| 279 | msgstr "Repetir nueva contraseña:" | 279 | msgstr "Repetir nueva contraseña:" |
| 280 | 280 | ||
| 281 | #: html.c:1720 | 281 | #: html.c:1798 |
| 282 | msgid "Update user info" | 282 | msgid "Update user info" |
| 283 | msgstr "Actualizar información de usuario" | 283 | msgstr "Actualizar información de usuario" |
| 284 | 284 | ||
| 285 | #: html.c:1731 | 285 | #: html.c:1809 |
| 286 | msgid "Followed hashtags..." | 286 | msgid "Followed hashtags..." |
| 287 | msgstr "Etiquetas en seguimiento..." | 287 | msgstr "Etiquetas en seguimiento..." |
| 288 | 288 | ||
| 289 | #: html.c:1733 html.c:1766 | 289 | #: html.c:1811 html.c:1844 |
| 290 | msgid "One hashtag per line" | 290 | msgid "One hashtag per line" |
| 291 | msgstr "Una etiqueta por lÃnea" | 291 | msgstr "Una etiqueta por lÃnea" |
| 292 | 292 | ||
| 293 | #: html.c:1755 html.c:1787 | 293 | #: html.c:1833 html.c:1865 |
| 294 | msgid "Update hashtags" | 294 | msgid "Update hashtags" |
| 295 | msgstr "Actualizar etiquetas" | 295 | msgstr "Actualizar etiquetas" |
| 296 | 296 | ||
| 297 | #: html.c:1904 | 297 | #: html.c:1982 |
| 298 | msgid "Say you like this post" | 298 | msgid "Say you like this post" |
| 299 | msgstr "Decir que te gusta esta publicación" | 299 | msgstr "Decir que te gusta esta publicación" |
| 300 | 300 | ||
| 301 | #: html.c:1909 html.c:4775 | 301 | #: html.c:1987 html.c:5219 |
| 302 | msgid "Unlike" | 302 | msgid "Unlike" |
| 303 | msgstr "No me gusta" | 303 | msgstr "No me gusta" |
| 304 | 304 | ||
| 305 | #: html.c:1909 | 305 | #: html.c:1987 |
| 306 | msgid "Nah don't like it that much" | 306 | msgid "Nah don't like it that much" |
| 307 | msgstr "Nah, no me gusta tanto" | 307 | msgstr "Nah, no me gusta tanto" |
| 308 | 308 | ||
| 309 | #: html.c:1915 html.c:4912 | 309 | #: html.c:1993 html.c:5356 |
| 310 | msgid "Unpin" | 310 | msgid "Unpin" |
| 311 | msgstr "Desanclar" | 311 | msgstr "Desanclar" |
| 312 | 312 | ||
| 313 | #: html.c:1915 | 313 | #: html.c:1993 |
| 314 | msgid "Unpin this post from your timeline" | 314 | msgid "Unpin this post from your timeline" |
| 315 | msgstr "Desanclar esta publicación de su lÃnea de tiempo" | 315 | msgstr "Desanclar esta publicación de su lÃnea de tiempo" |
| 316 | 316 | ||
| 317 | #: html.c:1918 html.c:4907 | 317 | #: html.c:1996 html.c:5351 |
| 318 | msgid "Pin" | 318 | msgid "Pin" |
| 319 | msgstr "Anclar" | 319 | msgstr "Anclar" |
| 320 | 320 | ||
| 321 | #: html.c:1918 | 321 | #: html.c:1996 |
| 322 | msgid "Pin this post to the top of your timeline" | 322 | msgid "Pin this post to the top of your timeline" |
| 323 | msgstr "Anclar esta publicación al inicio de su lÃnea de tiempo" | 323 | msgstr "Anclar esta publicación al inicio de su lÃnea de tiempo" |
| 324 | 324 | ||
| 325 | #: html.c:1925 | 325 | #: html.c:2003 |
| 326 | msgid "Announce this post to your followers" | 326 | msgid "Announce this post to your followers" |
| 327 | msgstr "Anunciar esta publicación a sus seguidores" | 327 | msgstr "Anunciar esta publicación a sus seguidores" |
| 328 | 328 | ||
| 329 | #: html.c:1930 html.c:4783 | 329 | #: html.c:2008 html.c:5227 |
| 330 | msgid "Unboost" | 330 | msgid "Unboost" |
| 331 | msgstr "Eliminar impulso" | 331 | msgstr "Eliminar impulso" |
| 332 | 332 | ||
| 333 | #: html.c:1930 | 333 | #: html.c:2008 |
| 334 | msgid "I regret I boosted this" | 334 | msgid "I regret I boosted this" |
| 335 | msgstr "Me arrepiento de haber impulsado esto" | 335 | msgstr "Me arrepiento de haber impulsado esto" |
| 336 | 336 | ||
| 337 | #: html.c:1936 html.c:4922 | 337 | #: html.c:2014 html.c:5366 |
| 338 | msgid "Unbookmark" | 338 | msgid "Unbookmark" |
| 339 | msgstr "Eliminar marcador" | 339 | msgstr "Eliminar marcador" |
| 340 | 340 | ||
| 341 | #: html.c:1936 | 341 | #: html.c:2014 |
| 342 | msgid "Delete this post from your bookmarks" | 342 | msgid "Delete this post from your bookmarks" |
| 343 | msgstr "Eliminar marcador de esta publicación" | 343 | msgstr "Eliminar marcador de esta publicación" |
| 344 | 344 | ||
| 345 | #: html.c:1939 html.c:4917 | 345 | #: html.c:2017 html.c:5361 |
| 346 | msgid "Bookmark" | 346 | msgid "Bookmark" |
| 347 | msgstr "Marcador" | 347 | msgstr "Marcador" |
| 348 | 348 | ||
| 349 | #: html.c:1939 | 349 | #: html.c:2017 |
| 350 | msgid "Add this post to your bookmarks" | 350 | msgid "Add this post to your bookmarks" |
| 351 | msgstr "Agregar esta publicación a mis marcadores" | 351 | msgstr "Agregar esta publicación a mis marcadores" |
| 352 | 352 | ||
| 353 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 353 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 354 | msgid "Unfollow" | 354 | msgid "Unfollow" |
| 355 | msgstr "Dejar de seguir" | 355 | msgstr "Dejar de seguir" |
| 356 | 356 | ||
| 357 | #: html.c:1945 html.c:3387 | 357 | #: html.c:2023 html.c:3763 html.c:4042 |
| 358 | msgid "Stop following this user's activity" | 358 | msgid "Stop following this user's activity" |
| 359 | msgstr "Dejar de seguir la actividad de este usuario" | 359 | msgstr "Dejar de seguir la actividad de este usuario" |
| 360 | 360 | ||
| 361 | #: html.c:1949 html.c:3401 | 361 | #: html.c:2027 html.c:3777 html.c:4044 |
| 362 | msgid "Start following this user's activity" | 362 | msgid "Start following this user's activity" |
| 363 | msgstr "Seguir la actividad de este usuario" | 363 | msgstr "Seguir la actividad de este usuario" |
| 364 | 364 | ||
| 365 | #: html.c:1955 html.c:4860 | 365 | #: html.c:2033 html.c:5304 |
| 366 | msgid "Unfollow Group" | 366 | msgid "Unfollow Group" |
| 367 | msgstr "Dejar de seguir este Grupo" | 367 | msgstr "Dejar de seguir este Grupo" |
| 368 | 368 | ||
| 369 | #: html.c:1956 | 369 | #: html.c:2034 |
| 370 | msgid "Stop following this group or channel" | 370 | msgid "Stop following this group or channel" |
| 371 | msgstr "Dejar de seguir este grupo o canal" | 371 | msgstr "Dejar de seguir este grupo o canal" |
| 372 | 372 | ||
| 373 | #: html.c:1960 html.c:4847 | 373 | #: html.c:2038 html.c:5291 |
| 374 | msgid "Follow Group" | 374 | msgid "Follow Group" |
| 375 | msgstr "Seguir Grupo" | 375 | msgstr "Seguir Grupo" |
| 376 | 376 | ||
| 377 | #: html.c:1961 | 377 | #: html.c:2039 |
| 378 | msgid "Start following this group or channel" | 378 | msgid "Start following this group or channel" |
| 379 | msgstr "Seguir grupo o canal" | 379 | msgstr "Seguir grupo o canal" |
| 380 | 380 | ||
| 381 | #: html.c:1966 html.c:3423 html.c:4791 | 381 | #: html.c:2044 html.c:3799 html.c:5235 |
| 382 | msgid "MUTE" | 382 | msgid "MUTE" |
| 383 | msgstr "SILENCIAR" | 383 | msgstr "SILENCIAR" |
| 384 | 384 | ||
| 385 | #: html.c:1967 | 385 | #: html.c:2045 |
| 386 | msgid "Block any activity from this user forever" | 386 | msgid "Block any activity from this user forever" |
| 387 | msgstr "Bloquear toda la actividad de este usuario para siempre" | 387 | msgstr "Bloquear toda la actividad de este usuario para siempre" |
| 388 | 388 | ||
| 389 | #: html.c:1972 html.c:3405 html.c:4877 | 389 | #: html.c:2050 html.c:3781 html.c:5321 |
| 390 | msgid "Delete" | 390 | msgid "Delete" |
| 391 | msgstr "Eliminar" | 391 | msgstr "Eliminar" |
| 392 | 392 | ||
| 393 | #: html.c:1972 | 393 | #: html.c:2050 |
| 394 | msgid "Delete this post" | 394 | msgid "Delete this post" |
| 395 | msgstr "Eliminar esta publicación" | 395 | msgstr "Eliminar esta publicación" |
| 396 | 396 | ||
| 397 | #: html.c:1975 html.c:4799 | 397 | #: html.c:2053 html.c:5243 |
| 398 | msgid "Hide" | 398 | msgid "Hide" |
| 399 | msgstr "Ocultar" | 399 | msgstr "Ocultar" |
| 400 | 400 | ||
| 401 | #: html.c:1975 | 401 | #: html.c:2053 |
| 402 | msgid "Hide this post and its children" | 402 | msgid "Hide this post and its children" |
| 403 | msgstr "Ocultar esta publicación y sus respuestas" | 403 | msgstr "Ocultar esta publicación y sus respuestas" |
| 404 | 404 | ||
| 405 | #: html.c:2017 | 405 | #: html.c:2095 |
| 406 | msgid "Edit..." | 406 | msgid "Edit..." |
| 407 | msgstr "Editar..." | 407 | msgstr "Editar..." |
| 408 | 408 | ||
| 409 | #: html.c:2039 | 409 | #: html.c:2133 |
| 410 | msgid "Reply..." | 410 | msgid "Reply..." |
| 411 | msgstr "Responder..." | 411 | msgstr "Responder..." |
| 412 | 412 | ||
| 413 | #: html.c:2090 | 413 | #: html.c:2184 |
| 414 | msgid "Truncated (too deep)" | 414 | msgid "Truncated (too deep)" |
| 415 | msgstr "Truncado (demasiado profundo)" | 415 | msgstr "Truncado (demasiado profundo)" |
| 416 | 416 | ||
| 417 | #: html.c:2108 | 417 | #: html.c:2202 |
| 418 | msgid "follows you" | 418 | msgid "follows you" |
| 419 | msgstr "te sigue" | 419 | msgstr "te sigue" |
| 420 | 420 | ||
| 421 | #: html.c:2182 | 421 | #: html.c:2276 |
| 422 | msgid "Pinned" | 422 | msgid "Pinned" |
| 423 | msgstr "Anclado" | 423 | msgstr "Anclado" |
| 424 | 424 | ||
| 425 | #: html.c:2190 | 425 | #: html.c:2284 |
| 426 | msgid "Bookmarked" | 426 | msgid "Bookmarked" |
| 427 | msgstr "Marcado" | 427 | msgstr "Marcado" |
| 428 | 428 | ||
| 429 | #: html.c:2198 | 429 | #: html.c:2292 |
| 430 | msgid "Poll" | 430 | msgid "Poll" |
| 431 | msgstr "Encuesta" | 431 | msgstr "Encuesta" |
| 432 | 432 | ||
| 433 | #: html.c:2205 | 433 | #: html.c:2299 |
| 434 | msgid "Voted" | 434 | msgid "Voted" |
| 435 | msgstr "Votado" | 435 | msgstr "Votado" |
| 436 | 436 | ||
| 437 | #: html.c:2214 | 437 | #: html.c:2308 |
| 438 | msgid "Event" | 438 | msgid "Event" |
| 439 | msgstr "Evento" | 439 | msgstr "Evento" |
| 440 | 440 | ||
| 441 | #: html.c:2246 html.c:2275 | 441 | #: html.c:2340 html.c:2369 |
| 442 | msgid "boosted" | 442 | msgid "boosted" |
| 443 | msgstr "impulsado" | 443 | msgstr "impulsado" |
| 444 | 444 | ||
| 445 | #: html.c:2289 | 445 | #: html.c:2383 |
| 446 | msgid "in reply to" | 446 | msgid "in reply to" |
| 447 | msgstr "en respuesta a" | 447 | msgstr "en respuesta a" |
| 448 | 448 | ||
| 449 | #: html.c:2345 | 449 | #: html.c:2439 |
| 450 | msgid " [SENSITIVE CONTENT]" | 450 | msgid " [SENSITIVE CONTENT]" |
| 451 | msgstr " [CONTENIDO SENSIBLE]" | 451 | msgstr " [CONTENIDO SENSIBLE]" |
| 452 | 452 | ||
| 453 | #: html.c:2512 | 453 | #: html.c:2796 |
| 454 | msgid "Vote" | 454 | msgid "Vote" |
| 455 | msgstr "Votar" | 455 | msgstr "Votar" |
| 456 | 456 | ||
| 457 | #: html.c:2522 | 457 | #: html.c:2806 |
| 458 | msgid "Closed" | 458 | msgid "Closed" |
| 459 | msgstr "Cerrado" | 459 | msgstr "Cerrado" |
| 460 | 460 | ||
| 461 | #: html.c:2547 | 461 | #: html.c:2831 |
| 462 | msgid "Closes in" | 462 | msgid "Closes in" |
| 463 | msgstr "Cierra en" | 463 | msgstr "Cierra en" |
| 464 | 464 | ||
| 465 | #: html.c:2627 | 465 | #: html.c:2911 |
| 466 | msgid "Video" | 466 | msgid "Video" |
| 467 | msgstr "Video" | 467 | msgstr "Video" |
| 468 | 468 | ||
| 469 | #: html.c:2642 | 469 | #: html.c:2926 |
| 470 | msgid "Audio" | 470 | msgid "Audio" |
| 471 | msgstr "Audio" | 471 | msgstr "Audio" |
| 472 | 472 | ||
| 473 | #: html.c:2670 | 473 | #: html.c:2954 |
| 474 | msgid "Attachment" | 474 | msgid "Attachment" |
| 475 | msgstr "Adjunto" | 475 | msgstr "Adjunto" |
| 476 | 476 | ||
| 477 | #: html.c:2684 | 477 | #: html.c:2968 |
| 478 | msgid "Alt..." | 478 | msgid "Alt..." |
| 479 | msgstr "Alt..." | 479 | msgstr "Alt..." |
| 480 | 480 | ||
| 481 | #: html.c:2697 | 481 | #: html.c:2981 |
| 482 | msgid "Source channel or community" | 482 | msgid "Source channel or community" |
| 483 | msgstr "Canal o comunidad de origen" | 483 | msgstr "Canal o comunidad de origen" |
| 484 | 484 | ||
| 485 | #: html.c:2791 | 485 | #: html.c:3075 |
| 486 | msgid "Time: " | 486 | msgid "Time: " |
| 487 | msgstr "Hora: " | 487 | msgstr "Hora: " |
| 488 | 488 | ||
| 489 | #: html.c:2872 | 489 | #: html.c:3156 |
| 490 | msgid "Older..." | 490 | msgid "Older..." |
| 491 | msgstr "Más antiguo..." | 491 | msgstr "Más antiguo..." |
| 492 | 492 | ||
| 493 | #: html.c:2974 | 493 | #: html.c:3258 |
| 494 | msgid "about this site" | 494 | msgid "about this site" |
| 495 | msgstr "acerca de este sitio" | 495 | msgstr "acerca de este sitio" |
| 496 | 496 | ||
| 497 | #: html.c:2976 | 497 | #: html.c:3260 |
| 498 | msgid "powered by " | 498 | msgid "powered by " |
| 499 | msgstr "provisto por " | 499 | msgstr "provisto por " |
| 500 | 500 | ||
| 501 | #: html.c:3041 | 501 | #: html.c:3329 |
| 502 | msgid "Dismiss" | 502 | msgid "Dismiss" |
| 503 | msgstr "Descartar" | 503 | msgstr "Descartar" |
| 504 | 504 | ||
| 505 | #: html.c:3058 | 505 | #: html.c:3346 |
| 506 | #, c-format | 506 | #, c-format |
| 507 | msgid "Timeline for list '%s'" | 507 | msgid "Timeline for list '%s'" |
| 508 | msgstr "LÃnea de tiempo de la lista '%s'" | 508 | msgstr "LÃnea de tiempo de la lista '%s'" |
| 509 | 509 | ||
| 510 | #: html.c:3077 html.c:4169 | 510 | #: html.c:3365 html.c:4589 |
| 511 | msgid "Pinned posts" | 511 | msgid "Pinned posts" |
| 512 | msgstr "Publicaciones ancladas" | 512 | msgstr "Publicaciones ancladas" |
| 513 | 513 | ||
| 514 | #: html.c:3089 html.c:4184 | 514 | #: html.c:3377 html.c:4604 |
| 515 | msgid "Bookmarked posts" | 515 | msgid "Bookmarked posts" |
| 516 | msgstr "Publicaciones marcadas" | 516 | msgstr "Publicaciones marcadas" |
| 517 | 517 | ||
| 518 | #: html.c:3101 html.c:4199 | 518 | #: html.c:3389 html.c:4619 |
| 519 | msgid "Post drafts" | 519 | msgid "Post drafts" |
| 520 | msgstr "Borradores de publicaciones" | 520 | msgstr "Borradores de publicaciones" |
| 521 | 521 | ||
| 522 | #: html.c:3177 | 522 | #: html.c:3465 |
| 523 | msgid "No more unseen posts" | 523 | msgid "No more unseen posts" |
| 524 | msgstr "No quedan publicaciones sin ver" | 524 | msgstr "No quedan publicaciones sin ver" |
| 525 | 525 | ||
| 526 | #: html.c:3181 html.c:3290 | 526 | #: html.c:3469 html.c:3578 |
| 527 | msgid "Back to top" | 527 | msgid "Back to top" |
| 528 | msgstr "Volver al inicio" | 528 | msgstr "Volver al inicio" |
| 529 | 529 | ||
| 530 | #: html.c:3243 | 530 | #: html.c:3531 |
| 531 | msgid "History" | 531 | msgid "History" |
| 532 | msgstr "Historia" | 532 | msgstr "Historia" |
| 533 | 533 | ||
| 534 | #: html.c:3295 html.c:3734 | 534 | #: html.c:3583 html.c:4149 |
| 535 | msgid "More..." | 535 | msgid "More..." |
| 536 | msgstr "Más..." | 536 | msgstr "Más..." |
| 537 | 537 | ||
| 538 | #: html.c:3391 html.c:4813 | 538 | #: html.c:3767 html.c:5257 |
| 539 | msgid "Unlimit" | 539 | msgid "Unlimit" |
| 540 | msgstr "Sin lÃmite" | 540 | msgstr "Sin lÃmite" |
| 541 | 541 | ||
| 542 | #: html.c:3392 | 542 | #: html.c:3768 |
| 543 | msgid "Allow announces (boosts) from this user" | 543 | msgid "Allow announces (boosts) from this user" |
| 544 | msgstr "Permitir anuncios (impulsos) de este usuario" | 544 | msgstr "Permitir anuncios (impulsos) de este usuario" |
| 545 | 545 | ||
| 546 | #: html.c:3395 html.c:4809 | 546 | #: html.c:3771 html.c:5253 |
| 547 | msgid "Limit" | 547 | msgid "Limit" |
| 548 | msgstr "LÃmite" | 548 | msgstr "LÃmite" |
| 549 | 549 | ||
| 550 | #: html.c:3396 | 550 | #: html.c:3772 |
| 551 | msgid "Block announces (boosts) from this user" | 551 | msgid "Block announces (boosts) from this user" |
| 552 | msgstr "Bloquear anuncios (impulsos) de este usuario" | 552 | msgstr "Bloquear anuncios (impulsos) de este usuario" |
| 553 | 553 | ||
| 554 | #: html.c:3405 | 554 | #: html.c:3781 |
| 555 | msgid "Delete this user" | 555 | msgid "Delete this user" |
| 556 | msgstr "Eliminar este usuario" | 556 | msgstr "Eliminar este usuario" |
| 557 | 557 | ||
| 558 | #: html.c:3410 html.c:4927 | 558 | #: html.c:3786 html.c:5371 |
| 559 | msgid "Approve" | 559 | msgid "Approve" |
| 560 | msgstr "Aprobar" | 560 | msgstr "Aprobar" |
| 561 | 561 | ||
| 562 | #: html.c:3411 | 562 | #: html.c:3787 |
| 563 | msgid "Approve this follow request" | 563 | msgid "Approve this follow request" |
| 564 | msgstr "Aprobar solicitud de seguimiento" | 564 | msgstr "Aprobar solicitud de seguimiento" |
| 565 | 565 | ||
| 566 | #: html.c:3414 html.c:4951 | 566 | #: html.c:3790 html.c:5395 |
| 567 | msgid "Discard" | 567 | msgid "Discard" |
| 568 | msgstr "Descartar" | 568 | msgstr "Descartar" |
| 569 | 569 | ||
| 570 | #: html.c:3414 | 570 | #: html.c:3790 |
| 571 | msgid "Discard this follow request" | 571 | msgid "Discard this follow request" |
| 572 | msgstr "Descartar solicitud de seguimiento" | 572 | msgstr "Descartar solicitud de seguimiento" |
| 573 | 573 | ||
| 574 | #: html.c:3419 html.c:4795 | 574 | #: html.c:3795 html.c:5239 |
| 575 | msgid "Unmute" | 575 | msgid "Unmute" |
| 576 | msgstr "Dejar de SILENCIAR" | 576 | msgstr "Dejar de SILENCIAR" |
| 577 | 577 | ||
| 578 | #: html.c:3420 | 578 | #: html.c:3796 |
| 579 | msgid "Stop blocking activities from this user" | 579 | msgid "Stop blocking activities from this user" |
| 580 | msgstr "Dejar de bloquear actividad de este usuario" | 580 | msgstr "Dejar de bloquear actividad de este usuario" |
| 581 | 581 | ||
| 582 | #: html.c:3424 | 582 | #: html.c:3800 |
| 583 | msgid "Block any activity from this user" | 583 | msgid "Block any activity from this user" |
| 584 | msgstr "Bloquear toda actividad de este usuario" | 584 | msgstr "Bloquear toda actividad de este usuario" |
| 585 | 585 | ||
| 586 | #: html.c:3432 | 586 | #: html.c:3808 |
| 587 | msgid "Direct Message..." | 587 | msgid "Direct Message..." |
| 588 | msgstr "Mensaje Directo..." | 588 | msgstr "Mensaje Directo..." |
| 589 | 589 | ||
| 590 | #: html.c:3467 | 590 | #: html.c:3843 |
| 591 | msgid "Pending follow confirmations" | 591 | msgid "Pending follow confirmations" |
| 592 | msgstr "Confirmaciones de seguimiento pendientes" | 592 | msgstr "Confirmaciones de seguimiento pendientes" |
| 593 | 593 | ||
| 594 | #: html.c:3471 | 594 | #: html.c:3847 |
| 595 | msgid "People you follow" | 595 | msgid "People you follow" |
| 596 | msgstr "Personas que sigues" | 596 | msgstr "Personas que sigues" |
| 597 | 597 | ||
| 598 | #: html.c:3472 | 598 | #: html.c:3848 |
| 599 | msgid "People that follow you" | 599 | msgid "People that follow you" |
| 600 | msgstr "Personas que te siguen" | 600 | msgstr "Personas que te siguen" |
| 601 | 601 | ||
| 602 | #: html.c:3511 | 602 | #: html.c:3887 |
| 603 | msgid "Clear all" | 603 | msgid "Clear all" |
| 604 | msgstr "Limpiar todo" | 604 | msgstr "Limpiar todo" |
| 605 | 605 | ||
| 606 | #: html.c:3571 | 606 | #: html.c:3951 |
| 607 | msgid "Mention" | 607 | msgid "Mention" |
| 608 | msgstr "Mención" | 608 | msgstr "Mención" |
| 609 | 609 | ||
| 610 | #: html.c:3574 | 610 | #: html.c:3954 |
| 611 | msgid "Finished poll" | 611 | msgid "Finished poll" |
| 612 | msgstr "Encuesta finalizada" | 612 | msgstr "Encuesta finalizada" |
| 613 | 613 | ||
| 614 | #: html.c:3590 | 614 | #: html.c:3979 |
| 615 | msgid "Follow Request" | 615 | msgid "Follow Request" |
| 616 | msgstr "Solicitud de Seguimiento" | 616 | msgstr "Solicitud de Seguimiento" |
| 617 | 617 | ||
| 618 | #: html.c:3674 | 618 | #: html.c:4089 |
| 619 | msgid "Context" | 619 | msgid "Context" |
| 620 | msgstr "Contexto" | 620 | msgstr "Contexto" |
| 621 | 621 | ||
| 622 | #: html.c:3692 | 622 | #: html.c:4107 |
| 623 | msgid "New" | 623 | msgid "New" |
| 624 | msgstr "Nuevo" | 624 | msgstr "Nuevo" |
| 625 | 625 | ||
| 626 | #: html.c:3707 | 626 | #: html.c:4122 |
| 627 | msgid "Already seen" | 627 | msgid "Already seen" |
| 628 | msgstr "Ya visto" | 628 | msgstr "Ya visto" |
| 629 | 629 | ||
| 630 | #: html.c:3722 | 630 | #: html.c:4137 |
| 631 | msgid "None" | 631 | msgid "None" |
| 632 | msgstr "Ninguno" | 632 | msgstr "Ninguno" |
| 633 | 633 | ||
| 634 | #: html.c:3994 | 634 | #: html.c:4414 |
| 635 | #, c-format | 635 | #, c-format |
| 636 | msgid "Search results for account %s" | 636 | msgid "Search results for account %s" |
| 637 | msgstr "Buscar resultados para la cuenta %s" | 637 | msgstr "Buscar resultados para la cuenta %s" |
| 638 | 638 | ||
| 639 | #: html.c:4001 | 639 | #: html.c:4421 |
| 640 | #, c-format | 640 | #, c-format |
| 641 | msgid "Account %s not found" | 641 | msgid "Account %s not found" |
| 642 | msgstr "No se encontró la cuenta %s" | 642 | msgstr "No se encontró la cuenta %s" |
| 643 | 643 | ||
| 644 | #: html.c:4032 | 644 | #: html.c:4452 |
| 645 | #, c-format | 645 | #, c-format |
| 646 | msgid "Search results for tag %s" | 646 | msgid "Search results for tag %s" |
| 647 | msgstr "Buscar resultados para la etiqueta %s" | 647 | msgstr "Buscar resultados para la etiqueta %s" |
| 648 | 648 | ||
| 649 | #: html.c:4032 | 649 | #: html.c:4452 |
| 650 | #, c-format | 650 | #, c-format |
| 651 | msgid "Nothing found for tag %s" | 651 | msgid "Nothing found for tag %s" |
| 652 | msgstr "No se encontró nada con la etiqueta %s" | 652 | msgstr "No se encontró nada con la etiqueta %s" |
| 653 | 653 | ||
| 654 | #: html.c:4048 | 654 | #: html.c:4468 |
| 655 | #, c-format | 655 | #, c-format |
| 656 | msgid "Search results for '%s' (may be more)" | 656 | msgid "Search results for '%s' (may be more)" |
| 657 | msgstr "Resultados de búsqueda para '%s' (puede haber más)" | 657 | msgstr "Resultados de búsqueda para '%s' (puede haber más)" |
| 658 | 658 | ||
| 659 | #: html.c:4051 | 659 | #: html.c:4471 |
| 660 | #, c-format | 660 | #, c-format |
| 661 | msgid "Search results for '%s'" | 661 | msgid "Search results for '%s'" |
| 662 | msgstr "Resultados de búsqueda para '%s'" | 662 | msgstr "Resultados de búsqueda para '%s'" |
| 663 | 663 | ||
| 664 | #: html.c:4054 | 664 | #: html.c:4474 |
| 665 | #, c-format | 665 | #, c-format |
| 666 | msgid "No more matches for '%s'" | 666 | msgid "No more matches for '%s'" |
| 667 | msgstr "No hay más coincidencias para '%s'" | 667 | msgstr "No hay más coincidencias para '%s'" |
| 668 | 668 | ||
| 669 | #: html.c:4056 | 669 | #: html.c:4476 |
| 670 | #, c-format | 670 | #, c-format |
| 671 | msgid "Nothing found for '%s'" | 671 | msgid "Nothing found for '%s'" |
| 672 | msgstr "No se encontró nada para '%s'" | 672 | msgstr "No se encontró nada para '%s'" |
| 673 | 673 | ||
| 674 | #: html.c:4154 | 674 | #: html.c:4574 |
| 675 | msgid "Showing instance timeline" | 675 | msgid "Showing instance timeline" |
| 676 | msgstr "Mostrando lÃnea de tiempo de la instancia" | 676 | msgstr "Mostrando lÃnea de tiempo de la instancia" |
| 677 | 677 | ||
| 678 | #: html.c:4237 | 678 | #: html.c:4657 |
| 679 | #, c-format | 679 | #, c-format |
| 680 | msgid "Showing timeline for list '%s'" | 680 | msgid "Showing timeline for list '%s'" |
| 681 | msgstr "Mostrando lÃnea de tiempo de la lista '%s'" | 681 | msgstr "Mostrando lÃnea de tiempo de la lista '%s'" |
| 682 | 682 | ||
| 683 | #: httpd.c:258 | 683 | #: httpd.c:259 |
| 684 | #, c-format | 684 | #, c-format |
| 685 | msgid "Search results for tag #%s" | 685 | msgid "Search results for tag #%s" |
| 686 | msgstr "Resultado de búsqueda para la etiqueta #%s" | 686 | msgstr "Resultado de búsqueda para la etiqueta #%s" |
| 687 | 687 | ||
| 688 | #: httpd.c:267 | 688 | #: httpd.c:268 |
| 689 | msgid "Recent posts by users in this instance" | 689 | msgid "Recent posts by users in this instance" |
| 690 | msgstr "Publicaciones recientes de los usuarios de esta instancia" | 690 | msgstr "Publicaciones recientes de los usuarios de esta instancia" |
| 691 | 691 | ||
| 692 | #: html.c:1764 | 692 | #: html.c:1842 |
| 693 | msgid "Blocked hashtags..." | 693 | msgid "Blocked hashtags..." |
| 694 | msgstr "Etiquetas bloqueadas..." | 694 | msgstr "Etiquetas bloqueadas..." |
| 695 | 695 | ||
| 696 | #: html.c:518 | 696 | #: html.c:574 |
| 697 | msgid "Optional URL to reply to" | 697 | msgid "Optional URL to reply to" |
| 698 | msgstr "URL opcional a la que responder" | 698 | msgstr "URL opcional a la que responder" |
| 699 | 699 | ||
| 700 | #: html.c:695 | 700 | #: html.c:751 |
| 701 | msgid "" | 701 | msgid "" |
| 702 | "Option 1...\n" | 702 | "Option 1...\n" |
| 703 | "Option 2...\n" | 703 | "Option 2...\n" |
| @@ -709,91 +709,103 @@ msgstr "" | |||
| 709 | "Opción 3...\n" | 709 | "Opción 3...\n" |
| 710 | "..." | 710 | "..." |
| 711 | 711 | ||
| 712 | #: html.c:1558 | 712 | #: html.c:1636 |
| 713 | msgid "Bot API key" | 713 | msgid "Bot API key" |
| 714 | msgstr "Clave del API del Bot" | 714 | msgstr "Clave del API del Bot" |
| 715 | 715 | ||
| 716 | #: html.c:1564 | 716 | #: html.c:1642 |
| 717 | msgid "Chat id" | 717 | msgid "Chat id" |
| 718 | msgstr "Identificador de chat" | 718 | msgstr "Identificador de chat" |
| 719 | 719 | ||
| 720 | #: html.c:1572 | 720 | #: html.c:1650 |
| 721 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 721 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 722 | msgstr "Servidor ntfy - URL completa (example: https://ntfy.sh/YourTopic)" | 722 | msgstr "Servidor ntfy - URL completa (example: https://ntfy.sh/YourTopic)" |
| 723 | 723 | ||
| 724 | #: html.c:1578 | 724 | #: html.c:1656 |
| 725 | msgid "ntfy token - if needed" | 725 | msgid "ntfy token - if needed" |
| 726 | msgstr "Token ntft - si es necesario" | 726 | msgstr "Token ntft - si es necesario" |
| 727 | 727 | ||
| 728 | #: html.c:3078 | 728 | #: html.c:3366 |
| 729 | msgid "pinned" | 729 | msgid "pinned" |
| 730 | msgstr "Anclados" | 730 | msgstr "Anclados" |
| 731 | 731 | ||
| 732 | #: html.c:3090 | 732 | #: html.c:3378 |
| 733 | msgid "bookmarks" | 733 | msgid "bookmarks" |
| 734 | msgstr "Marcados" | 734 | msgstr "Marcados" |
| 735 | 735 | ||
| 736 | #: html.c:3102 | 736 | #: html.c:3390 |
| 737 | msgid "drafts" | 737 | msgid "drafts" |
| 738 | msgstr "Borradores" | 738 | msgstr "Borradores" |
| 739 | 739 | ||
| 740 | #: html.c:584 | 740 | #: html.c:640 |
| 741 | msgid "Scheduled post..." | 741 | msgid "Scheduled post..." |
| 742 | msgstr "EnvÃo programado..." | 742 | msgstr "EnvÃo programado..." |
| 743 | 743 | ||
| 744 | #: html.c:3113 html.c:4214 | 744 | #: html.c:3401 html.c:4634 |
| 745 | msgid "Scheduled posts" | 745 | msgid "Scheduled posts" |
| 746 | msgstr "EnvÃos programados" | 746 | msgstr "EnvÃos programados" |
| 747 | 747 | ||
| 748 | #: html.c:3114 | 748 | #: html.c:3402 |
| 749 | msgid "scheduled posts" | 749 | msgid "scheduled posts" |
| 750 | msgstr "envÃos programados" | 750 | msgstr "envÃos programados" |
| 751 | 751 | ||
| 752 | #: html.c:578 | 752 | #: html.c:634 |
| 753 | #, c-format | 753 | #, c-format |
| 754 | msgid "Post date and time (timezone: %s):" | 754 | msgid "Post date and time (timezone: %s):" |
| 755 | msgstr "Fecha y hora de publicación (zona horaria: %s):" | 755 | msgstr "Fecha y hora de publicación (zona horaria: %s):" |
| 756 | 756 | ||
| 757 | #: html.c:1689 | 757 | #: html.c:1767 |
| 758 | msgid "Time zone:" | 758 | msgid "Time zone:" |
| 759 | msgstr "Zona horaria:" | 759 | msgstr "Zona horaria:" |
| 760 | 760 | ||
| 761 | #: html.c:559 | 761 | #: html.c:615 |
| 762 | msgid "Language:" | 762 | msgid "Language:" |
| 763 | msgstr "Idioma:" | 763 | msgstr "Idioma:" |
| 764 | 764 | ||
| 765 | #: html.c:1580 | 765 | #: html.c:1658 |
| 766 | msgid "Notify webhook:" | 766 | msgid "Notify webhook:" |
| 767 | msgstr "Webhook de notificación:" | 767 | msgstr "Webhook de notificación:" |
| 768 | 768 | ||
| 769 | #: html.c:1586 | 769 | #: html.c:1664 |
| 770 | msgid "http://example.com/webhook" | 770 | msgid "http://example.com/webhook" |
| 771 | msgstr "" | 771 | msgstr "" |
| 772 | 772 | ||
| 773 | #: html.c:1694 | 773 | #: html.c:1772 |
| 774 | msgid "Languages you usually post in:" | 774 | msgid "Languages you usually post in:" |
| 775 | msgstr "Idiomas en los que sueles escribir:" | 775 | msgstr "Idiomas en los que sueles escribir:" |
| 776 | 776 | ||
| 777 | #: html.c:1700 | 777 | #: html.c:1778 |
| 778 | msgid "en fr es de_AT" | 778 | msgid "en fr es de_AT" |
| 779 | msgstr "" | 779 | msgstr "" |
| 780 | 780 | ||
| 781 | #: html.c:460 | 781 | #: html.c:428 |
| 782 | msgid "Visibility: " | 782 | msgid "Visibility: " |
| 783 | msgstr "Visibilidad: " | 783 | msgstr "Visibilidad: " |
| 784 | 784 | ||
| 785 | #: html.c:468 | ||
| 786 | msgid "Public" | 785 | msgid "Public" |
| 787 | msgstr "Público" | 786 | msgstr "Público" |
| 788 | 787 | ||
| 789 | #: html.c:477 | ||
| 790 | msgid "Unlisted" | 788 | msgid "Unlisted" |
| 791 | msgstr "No listado" | 789 | msgstr "No listado" |
| 792 | 790 | ||
| 793 | #: html.c:486 | ||
| 794 | msgid "Followers-only" | 791 | msgid "Followers-only" |
| 795 | msgstr "Solo seguidores" | 792 | msgstr "Solo seguidores" |
| 796 | 793 | ||
| 797 | #: html.c:495 | ||
| 798 | msgid "Direct Message" | 794 | msgid "Direct Message" |
| 799 | msgstr "Mensaje directo" | 795 | msgstr "Mensaje directo" |
| 796 | |||
| 797 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 798 | msgid "EmojiUnreact" | ||
| 799 | msgstr "" | ||
| 800 | |||
| 801 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 802 | msgid "EmojiReact" | ||
| 803 | msgstr "" | ||
| 804 | |||
| 805 | #: html.c:2115 | ||
| 806 | msgid "Emoji react..." | ||
| 807 | msgstr "Reaccionar con un emoji..." | ||
| 808 | |||
| 809 | #: html.c:2609 | ||
| 810 | msgid "Emoji reactions: " | ||
| 811 | msgstr "Reacciones con emoji: " | ||
diff --git a/po/es_AR.po b/po/es_AR.po index 2579865..3b43fe5 100644 --- a/po/es_AR.po +++ b/po/es_AR.po | |||
| @@ -8,119 +8,119 @@ msgstr "" | |||
| 8 | "Language: es_AR\n" | 8 | "Language: es_AR\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Contenido sensible: " | 13 | msgstr "Contenido sensible: " |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Descripción del contenido sensible" | 17 | msgstr "Descripción del contenido sensible" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Solo personas mencionadas: " | 20 | msgstr "Solo personas mencionadas: " |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Responder a (URL): " | 24 | msgstr "Responder a (URL): " |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "No enviar. Guardar como borrador" | 28 | msgstr "No enviar. Guardar como borrador" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Borrador:" | 32 | msgstr "Borrador:" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "Adjuntos..." | 36 | msgstr "Adjuntos..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "Archivo:" | 40 | msgstr "Archivo:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Limpiar este campo para eliminar el adjunto" | 44 | msgstr "Limpiar este campo para eliminar el adjunto" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Descripción del adjunto" | 48 | msgstr "Descripción del adjunto" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Encuesta..." | 52 | msgstr "Encuesta..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Opciones de encuesta (una por lÃnea, hasta 8):" | 56 | msgstr "Opciones de encuesta (una por lÃnea, hasta 8):" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Una opción" | 60 | msgstr "Una opción" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Opciones múltiples" | 64 | msgstr "Opciones múltiples" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Finalizar en 5 minutos" | 68 | msgstr "Finalizar en 5 minutos" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Finalizar en 1 hora" | 72 | msgstr "Finalizar en 1 hora" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Finalizar en 1 dÃa" | 76 | msgstr "Finalizar en 1 dÃa" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Publicar" | 80 | msgstr "Publicar" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Descripción del sitio" | 84 | msgstr "Descripción del sitio" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Email del Administrador" | 88 | msgstr "Email del Administrador" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "Cuenta del Administrador" | 92 | msgstr "Cuenta del Administrador" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d siguiendo, %d seguidores" | 97 | msgstr "%d siguiendo, %d seguidores" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "privado" | 105 | msgstr "privado" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "público" | 109 | msgstr "público" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "notificaciones" | 113 | msgstr "notificaciones" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "personas" | 117 | msgstr "personas" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "instancia" | 121 | msgstr "instancia" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| @@ -128,576 +128,576 @@ msgstr "" | |||
| 128 | "Buscar publicaciones por URL o contenido (expresiones regulares), cuenta " | 128 | "Buscar publicaciones por URL o contenido (expresiones regulares), cuenta " |
| 129 | "@usuario@host , ó #etiqueta" | 129 | "@usuario@host , ó #etiqueta" |
| 130 | 130 | ||
| 131 | #: html.c:1087 | 131 | #: html.c:1143 |
| 132 | msgid "Content search" | 132 | msgid "Content search" |
| 133 | msgstr "Buscar contenido" | 133 | msgstr "Buscar contenido" |
| 134 | 134 | ||
| 135 | #: html.c:1213 | 135 | #: html.c:1269 |
| 136 | msgid "verified link" | 136 | msgid "verified link" |
| 137 | msgstr "link verificado" | 137 | msgstr "link verificado" |
| 138 | 138 | ||
| 139 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 139 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 140 | msgid "Location: " | 140 | msgid "Location: " |
| 141 | msgstr "Ubicación: " | 141 | msgstr "Ubicación: " |
| 142 | 142 | ||
| 143 | #: html.c:1302 | 143 | #: html.c:1358 |
| 144 | msgid "New Post..." | 144 | msgid "New Post..." |
| 145 | msgstr "Nueva Publicación..." | 145 | msgstr "Nueva Publicación..." |
| 146 | 146 | ||
| 147 | #: html.c:1304 | 147 | #: html.c:1360 |
| 148 | msgid "What's on your mind?" | 148 | msgid "What's on your mind?" |
| 149 | msgstr "¿En qué estás pensando?" | 149 | msgstr "¿En qué estás pensando?" |
| 150 | 150 | ||
| 151 | #: html.c:1313 | 151 | #: html.c:1369 |
| 152 | msgid "Operations..." | 152 | msgid "Operations..." |
| 153 | msgstr "Operaciones..." | 153 | msgstr "Operaciones..." |
| 154 | 154 | ||
| 155 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 155 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 156 | msgid "Follow" | 156 | msgid "Follow" |
| 157 | msgstr "Seguir" | 157 | msgstr "Seguir" |
| 158 | 158 | ||
| 159 | #: html.c:1330 | 159 | #: html.c:1386 |
| 160 | msgid "(by URL or user@host)" | 160 | msgid "(by URL or user@host)" |
| 161 | msgstr "(por URL o usuario@host)" | 161 | msgstr "(por URL o usuario@host)" |
| 162 | 162 | ||
| 163 | #: html.c:1345 html.c:1925 html.c:4766 | 163 | #: html.c:1401 html.c:2003 html.c:5210 |
| 164 | msgid "Boost" | 164 | msgid "Boost" |
| 165 | msgstr "Impulsar" | 165 | msgstr "Impulsar" |
| 166 | 166 | ||
| 167 | #: html.c:1347 html.c:1364 | 167 | #: html.c:1403 html.c:1420 html.c:1442 |
| 168 | msgid "(by URL)" | 168 | msgid "(by URL)" |
| 169 | msgstr "(por URL)" | 169 | msgstr "(por URL)" |
| 170 | 170 | ||
| 171 | #: html.c:1362 html.c:1904 html.c:4757 | 171 | #: html.c:1418 html.c:1982 html.c:5201 |
| 172 | msgid "Like" | 172 | msgid "Like" |
| 173 | msgstr "Me gusta" | 173 | msgstr "Me gusta" |
| 174 | 174 | ||
| 175 | #: html.c:1490 | 175 | #: html.c:1568 |
| 176 | msgid "User Settings..." | 176 | msgid "User Settings..." |
| 177 | msgstr "Configuración de usuario..." | 177 | msgstr "Configuración de usuario..." |
| 178 | 178 | ||
| 179 | #: html.c:1499 | 179 | #: html.c:1577 |
| 180 | msgid "Display name:" | 180 | msgid "Display name:" |
| 181 | msgstr "Nombre para mostrar:" | 181 | msgstr "Nombre para mostrar:" |
| 182 | 182 | ||
| 183 | #: html.c:1505 | 183 | #: html.c:1583 |
| 184 | msgid "Your name" | 184 | msgid "Your name" |
| 185 | msgstr "Su nombre" | 185 | msgstr "Su nombre" |
| 186 | 186 | ||
| 187 | #: html.c:1507 | 187 | #: html.c:1585 |
| 188 | msgid "Avatar: " | 188 | msgid "Avatar: " |
| 189 | msgstr "Avatar: " | 189 | msgstr "Avatar: " |
| 190 | 190 | ||
| 191 | #: html.c:1515 | 191 | #: html.c:1593 |
| 192 | msgid "Delete current avatar" | 192 | msgid "Delete current avatar" |
| 193 | msgstr "Eliminar avatar" | 193 | msgstr "Eliminar avatar" |
| 194 | 194 | ||
| 195 | #: html.c:1517 | 195 | #: html.c:1595 |
| 196 | msgid "Header image (banner): " | 196 | msgid "Header image (banner): " |
| 197 | msgstr "Imagen de cabecera (banner): " | 197 | msgstr "Imagen de cabecera (banner): " |
| 198 | 198 | ||
| 199 | #: html.c:1525 | 199 | #: html.c:1603 |
| 200 | msgid "Delete current header image" | 200 | msgid "Delete current header image" |
| 201 | msgstr "Eliminar imagen de cabecera" | 201 | msgstr "Eliminar imagen de cabecera" |
| 202 | 202 | ||
| 203 | #: html.c:1527 | 203 | #: html.c:1605 |
| 204 | msgid "Bio:" | 204 | msgid "Bio:" |
| 205 | msgstr "Bio:" | 205 | msgstr "Bio:" |
| 206 | 206 | ||
| 207 | #: html.c:1533 | 207 | #: html.c:1611 |
| 208 | msgid "Write about yourself here..." | 208 | msgid "Write about yourself here..." |
| 209 | msgstr "Escriba algo sobre usted aquÃ..." | 209 | msgstr "Escriba algo sobre usted aquÃ..." |
| 210 | 210 | ||
| 211 | #: html.c:1542 | 211 | #: html.c:1620 |
| 212 | msgid "Always show sensitive content" | 212 | msgid "Always show sensitive content" |
| 213 | msgstr "Siempre mostrar contenido sensible" | 213 | msgstr "Siempre mostrar contenido sensible" |
| 214 | 214 | ||
| 215 | #: html.c:1544 | 215 | #: html.c:1622 |
| 216 | msgid "Email address for notifications:" | 216 | msgid "Email address for notifications:" |
| 217 | msgstr "Cuenta de email para las notificaciones:" | 217 | msgstr "Cuenta de email para las notificaciones:" |
| 218 | 218 | ||
| 219 | #: html.c:1552 | 219 | #: html.c:1630 |
| 220 | msgid "Telegram notifications (bot key and chat id):" | 220 | msgid "Telegram notifications (bot key and chat id):" |
| 221 | msgstr "Notificaciones en Telegram (llave del bot e id del chat):" | 221 | msgstr "Notificaciones en Telegram (llave del bot e id del chat):" |
| 222 | 222 | ||
| 223 | #: html.c:1566 | 223 | #: html.c:1644 |
| 224 | msgid "ntfy notifications (ntfy server and token):" | 224 | msgid "ntfy notifications (ntfy server and token):" |
| 225 | msgstr "Notificaciones en ntfy (servidor ntfy y token):" | 225 | msgstr "Notificaciones en ntfy (servidor ntfy y token):" |
| 226 | 226 | ||
| 227 | #: html.c:1588 | 227 | #: html.c:1666 |
| 228 | msgid "Maximum days to keep posts (0: server settings):" | 228 | msgid "Maximum days to keep posts (0: server settings):" |
| 229 | msgstr "" | 229 | msgstr "" |
| 230 | "Plazo máximo de conservación de publicaciones en dÃas (0: usar configuración " | 230 | "Plazo máximo de conservación de publicaciones en dÃas (0: usar configuración " |
| 231 | "del servidor):" | 231 | "del servidor):" |
| 232 | 232 | ||
| 233 | #: html.c:1602 | 233 | #: html.c:1680 |
| 234 | msgid "Drop direct messages from people you don't follow" | 234 | msgid "Drop direct messages from people you don't follow" |
| 235 | msgstr "Descartar mensajes directos de personas a las que no sigue" | 235 | msgstr "Descartar mensajes directos de personas a las que no sigue" |
| 236 | 236 | ||
| 237 | #: html.c:1611 | 237 | #: html.c:1689 |
| 238 | msgid "This account is a bot" | 238 | msgid "This account is a bot" |
| 239 | msgstr "Esta cuenta es un bot" | 239 | msgstr "Esta cuenta es un bot" |
| 240 | 240 | ||
| 241 | #: html.c:1620 | 241 | #: html.c:1698 |
| 242 | msgid "Auto-boost all mentions to this account" | 242 | msgid "Auto-boost all mentions to this account" |
| 243 | msgstr "Impulsar automáticamente todas las menciones a esta cuenta" | 243 | msgstr "Impulsar automáticamente todas las menciones a esta cuenta" |
| 244 | 244 | ||
| 245 | #: html.c:1629 | 245 | #: html.c:1707 |
| 246 | msgid "This account is private (posts are not shown through the web)" | 246 | msgid "This account is private (posts are not shown through the web)" |
| 247 | msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)" | 247 | msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)" |
| 248 | 248 | ||
| 249 | #: html.c:1639 | 249 | #: html.c:1717 |
| 250 | msgid "Collapse top threads by default" | 250 | msgid "Collapse top threads by default" |
| 251 | msgstr "Contraer hilo de publicaciones por defecto" | 251 | msgstr "Contraer hilo de publicaciones por defecto" |
| 252 | 252 | ||
| 253 | #: html.c:1648 | 253 | #: html.c:1726 |
| 254 | msgid "Follow requests must be approved" | 254 | msgid "Follow requests must be approved" |
| 255 | msgstr "Las solicitudes de seguimiento deben ser aprobadas" | 255 | msgstr "Las solicitudes de seguimiento deben ser aprobadas" |
| 256 | 256 | ||
| 257 | #: html.c:1657 | 257 | #: html.c:1735 |
| 258 | msgid "Publish follower and following metrics" | 258 | msgid "Publish follower and following metrics" |
| 259 | msgstr "Mostrar cantidad de seguidores y seguidos" | 259 | msgstr "Mostrar cantidad de seguidores y seguidos" |
| 260 | 260 | ||
| 261 | #: html.c:1659 | 261 | #: html.c:1737 |
| 262 | msgid "Current location:" | 262 | msgid "Current location:" |
| 263 | msgstr "Ubicación actual:" | 263 | msgstr "Ubicación actual:" |
| 264 | 264 | ||
| 265 | #: html.c:1673 | 265 | #: html.c:1751 |
| 266 | msgid "Profile metadata (key=value pairs in each line):" | 266 | msgid "Profile metadata (key=value pairs in each line):" |
| 267 | msgstr "Metadata del perfil (pares llave=valor en cada lÃnea):" | 267 | msgstr "Metadata del perfil (pares llave=valor en cada lÃnea):" |
| 268 | 268 | ||
| 269 | #: html.c:1684 | 269 | #: html.c:1762 |
| 270 | msgid "Web interface language:" | 270 | msgid "Web interface language:" |
| 271 | msgstr "Idioma de la interfaz Web:" | 271 | msgstr "Idioma de la interfaz Web:" |
| 272 | 272 | ||
| 273 | #: html.c:1703 | 273 | #: html.c:1781 |
| 274 | msgid "New password:" | 274 | msgid "New password:" |
| 275 | msgstr "Nueva contraseña:" | 275 | msgstr "Nueva contraseña:" |
| 276 | 276 | ||
| 277 | #: html.c:1710 | 277 | #: html.c:1788 |
| 278 | msgid "Repeat new password:" | 278 | msgid "Repeat new password:" |
| 279 | msgstr "Repetir nueva contraseña:" | 279 | msgstr "Repetir nueva contraseña:" |
| 280 | 280 | ||
| 281 | #: html.c:1720 | 281 | #: html.c:1798 |
| 282 | msgid "Update user info" | 282 | msgid "Update user info" |
| 283 | msgstr "Actualizar información de usuario" | 283 | msgstr "Actualizar información de usuario" |
| 284 | 284 | ||
| 285 | #: html.c:1731 | 285 | #: html.c:1809 |
| 286 | msgid "Followed hashtags..." | 286 | msgid "Followed hashtags..." |
| 287 | msgstr "Etiquetas en seguimiento..." | 287 | msgstr "Etiquetas en seguimiento..." |
| 288 | 288 | ||
| 289 | #: html.c:1733 html.c:1766 | 289 | #: html.c:1811 html.c:1844 |
| 290 | msgid "One hashtag per line" | 290 | msgid "One hashtag per line" |
| 291 | msgstr "Una etiqueta por lÃnea" | 291 | msgstr "Una etiqueta por lÃnea" |
| 292 | 292 | ||
| 293 | #: html.c:1755 html.c:1787 | 293 | #: html.c:1833 html.c:1865 |
| 294 | msgid "Update hashtags" | 294 | msgid "Update hashtags" |
| 295 | msgstr "Actualizar etiquetas" | 295 | msgstr "Actualizar etiquetas" |
| 296 | 296 | ||
| 297 | #: html.c:1904 | 297 | #: html.c:1982 |
| 298 | msgid "Say you like this post" | 298 | msgid "Say you like this post" |
| 299 | msgstr "Decir que te gusta esta publicación" | 299 | msgstr "Decir que te gusta esta publicación" |
| 300 | 300 | ||
| 301 | #: html.c:1909 html.c:4775 | 301 | #: html.c:1987 html.c:5219 |
| 302 | msgid "Unlike" | 302 | msgid "Unlike" |
| 303 | msgstr "No me gusta" | 303 | msgstr "No me gusta" |
| 304 | 304 | ||
| 305 | #: html.c:1909 | 305 | #: html.c:1987 |
| 306 | msgid "Nah don't like it that much" | 306 | msgid "Nah don't like it that much" |
| 307 | msgstr "Nah, no me gusta tanto" | 307 | msgstr "Nah, no me gusta tanto" |
| 308 | 308 | ||
| 309 | #: html.c:1915 html.c:4912 | 309 | #: html.c:1993 html.c:5356 |
| 310 | msgid "Unpin" | 310 | msgid "Unpin" |
| 311 | msgstr "Desanclar" | 311 | msgstr "Desanclar" |
| 312 | 312 | ||
| 313 | #: html.c:1915 | 313 | #: html.c:1993 |
| 314 | msgid "Unpin this post from your timeline" | 314 | msgid "Unpin this post from your timeline" |
| 315 | msgstr "Desanclar esta publicación de su lÃnea de tiempo" | 315 | msgstr "Desanclar esta publicación de su lÃnea de tiempo" |
| 316 | 316 | ||
| 317 | #: html.c:1918 html.c:4907 | 317 | #: html.c:1996 html.c:5351 |
| 318 | msgid "Pin" | 318 | msgid "Pin" |
| 319 | msgstr "Anclar" | 319 | msgstr "Anclar" |
| 320 | 320 | ||
| 321 | #: html.c:1918 | 321 | #: html.c:1996 |
| 322 | msgid "Pin this post to the top of your timeline" | 322 | msgid "Pin this post to the top of your timeline" |
| 323 | msgstr "Anclar esta publicación al inicio de su lÃnea de tiempo" | 323 | msgstr "Anclar esta publicación al inicio de su lÃnea de tiempo" |
| 324 | 324 | ||
| 325 | #: html.c:1925 | 325 | #: html.c:2003 |
| 326 | msgid "Announce this post to your followers" | 326 | msgid "Announce this post to your followers" |
| 327 | msgstr "Anunciar esta publicación a sus seguidores" | 327 | msgstr "Anunciar esta publicación a sus seguidores" |
| 328 | 328 | ||
| 329 | #: html.c:1930 html.c:4783 | 329 | #: html.c:2008 html.c:5227 |
| 330 | msgid "Unboost" | 330 | msgid "Unboost" |
| 331 | msgstr "Eliminar impulso" | 331 | msgstr "Eliminar impulso" |
| 332 | 332 | ||
| 333 | #: html.c:1930 | 333 | #: html.c:2008 |
| 334 | msgid "I regret I boosted this" | 334 | msgid "I regret I boosted this" |
| 335 | msgstr "Me arrepiento de haber impulsado esto" | 335 | msgstr "Me arrepiento de haber impulsado esto" |
| 336 | 336 | ||
| 337 | #: html.c:1936 html.c:4922 | 337 | #: html.c:2014 html.c:5366 |
| 338 | msgid "Unbookmark" | 338 | msgid "Unbookmark" |
| 339 | msgstr "Eliminar marcador" | 339 | msgstr "Eliminar marcador" |
| 340 | 340 | ||
| 341 | #: html.c:1936 | 341 | #: html.c:2014 |
| 342 | msgid "Delete this post from your bookmarks" | 342 | msgid "Delete this post from your bookmarks" |
| 343 | msgstr "Eliminar marcador de esta publicación" | 343 | msgstr "Eliminar marcador de esta publicación" |
| 344 | 344 | ||
| 345 | #: html.c:1939 html.c:4917 | 345 | #: html.c:2017 html.c:5361 |
| 346 | msgid "Bookmark" | 346 | msgid "Bookmark" |
| 347 | msgstr "Marcador" | 347 | msgstr "Marcador" |
| 348 | 348 | ||
| 349 | #: html.c:1939 | 349 | #: html.c:2017 |
| 350 | msgid "Add this post to your bookmarks" | 350 | msgid "Add this post to your bookmarks" |
| 351 | msgstr "Agregar esta publicación a mis marcadores" | 351 | msgstr "Agregar esta publicación a mis marcadores" |
| 352 | 352 | ||
| 353 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 353 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 354 | msgid "Unfollow" | 354 | msgid "Unfollow" |
| 355 | msgstr "Dejar de seguir" | 355 | msgstr "Dejar de seguir" |
| 356 | 356 | ||
| 357 | #: html.c:1945 html.c:3387 | 357 | #: html.c:2023 html.c:3763 html.c:4042 |
| 358 | msgid "Stop following this user's activity" | 358 | msgid "Stop following this user's activity" |
| 359 | msgstr "Dejar de seguir la actividad de este usuario" | 359 | msgstr "Dejar de seguir la actividad de este usuario" |
| 360 | 360 | ||
| 361 | #: html.c:1949 html.c:3401 | 361 | #: html.c:2027 html.c:3777 html.c:4044 |
| 362 | msgid "Start following this user's activity" | 362 | msgid "Start following this user's activity" |
| 363 | msgstr "Seguir la actividad de este usuario" | 363 | msgstr "Seguir la actividad de este usuario" |
| 364 | 364 | ||
| 365 | #: html.c:1955 html.c:4860 | 365 | #: html.c:2033 html.c:5304 |
| 366 | msgid "Unfollow Group" | 366 | msgid "Unfollow Group" |
| 367 | msgstr "Dejar de seguir este Grupo" | 367 | msgstr "Dejar de seguir este Grupo" |
| 368 | 368 | ||
| 369 | #: html.c:1956 | 369 | #: html.c:2034 |
| 370 | msgid "Stop following this group or channel" | 370 | msgid "Stop following this group or channel" |
| 371 | msgstr "Dejar de seguir este grupo o canal" | 371 | msgstr "Dejar de seguir este grupo o canal" |
| 372 | 372 | ||
| 373 | #: html.c:1960 html.c:4847 | 373 | #: html.c:2038 html.c:5291 |
| 374 | msgid "Follow Group" | 374 | msgid "Follow Group" |
| 375 | msgstr "Seguir Grupo" | 375 | msgstr "Seguir Grupo" |
| 376 | 376 | ||
| 377 | #: html.c:1961 | 377 | #: html.c:2039 |
| 378 | msgid "Start following this group or channel" | 378 | msgid "Start following this group or channel" |
| 379 | msgstr "Seguir grupo o canal" | 379 | msgstr "Seguir grupo o canal" |
| 380 | 380 | ||
| 381 | #: html.c:1966 html.c:3423 html.c:4791 | 381 | #: html.c:2044 html.c:3799 html.c:5235 |
| 382 | msgid "MUTE" | 382 | msgid "MUTE" |
| 383 | msgstr "SILENCIAR" | 383 | msgstr "SILENCIAR" |
| 384 | 384 | ||
| 385 | #: html.c:1967 | 385 | #: html.c:2045 |
| 386 | msgid "Block any activity from this user forever" | 386 | msgid "Block any activity from this user forever" |
| 387 | msgstr "Bloquear toda la actividad de este usuario para siempre" | 387 | msgstr "Bloquear toda la actividad de este usuario para siempre" |
| 388 | 388 | ||
| 389 | #: html.c:1972 html.c:3405 html.c:4877 | 389 | #: html.c:2050 html.c:3781 html.c:5321 |
| 390 | msgid "Delete" | 390 | msgid "Delete" |
| 391 | msgstr "Eliminar" | 391 | msgstr "Eliminar" |
| 392 | 392 | ||
| 393 | #: html.c:1972 | 393 | #: html.c:2050 |
| 394 | msgid "Delete this post" | 394 | msgid "Delete this post" |
| 395 | msgstr "Eliminar esta publicación" | 395 | msgstr "Eliminar esta publicación" |
| 396 | 396 | ||
| 397 | #: html.c:1975 html.c:4799 | 397 | #: html.c:2053 html.c:5243 |
| 398 | msgid "Hide" | 398 | msgid "Hide" |
| 399 | msgstr "Ocultar" | 399 | msgstr "Ocultar" |
| 400 | 400 | ||
| 401 | #: html.c:1975 | 401 | #: html.c:2053 |
| 402 | msgid "Hide this post and its children" | 402 | msgid "Hide this post and its children" |
| 403 | msgstr "Ocultar esta publicación y sus respuestas" | 403 | msgstr "Ocultar esta publicación y sus respuestas" |
| 404 | 404 | ||
| 405 | #: html.c:2017 | 405 | #: html.c:2095 |
| 406 | msgid "Edit..." | 406 | msgid "Edit..." |
| 407 | msgstr "Editar..." | 407 | msgstr "Editar..." |
| 408 | 408 | ||
| 409 | #: html.c:2039 | 409 | #: html.c:2133 |
| 410 | msgid "Reply..." | 410 | msgid "Reply..." |
| 411 | msgstr "Responder..." | 411 | msgstr "Responder..." |
| 412 | 412 | ||
| 413 | #: html.c:2090 | 413 | #: html.c:2184 |
| 414 | msgid "Truncated (too deep)" | 414 | msgid "Truncated (too deep)" |
| 415 | msgstr "Truncado (demasiado profundo)" | 415 | msgstr "Truncado (demasiado profundo)" |
| 416 | 416 | ||
| 417 | #: html.c:2108 | 417 | #: html.c:2202 |
| 418 | msgid "follows you" | 418 | msgid "follows you" |
| 419 | msgstr "te sigue" | 419 | msgstr "te sigue" |
| 420 | 420 | ||
| 421 | #: html.c:2182 | 421 | #: html.c:2276 |
| 422 | msgid "Pinned" | 422 | msgid "Pinned" |
| 423 | msgstr "Anclado" | 423 | msgstr "Anclado" |
| 424 | 424 | ||
| 425 | #: html.c:2190 | 425 | #: html.c:2284 |
| 426 | msgid "Bookmarked" | 426 | msgid "Bookmarked" |
| 427 | msgstr "Marcado" | 427 | msgstr "Marcado" |
| 428 | 428 | ||
| 429 | #: html.c:2198 | 429 | #: html.c:2292 |
| 430 | msgid "Poll" | 430 | msgid "Poll" |
| 431 | msgstr "Encuesta" | 431 | msgstr "Encuesta" |
| 432 | 432 | ||
| 433 | #: html.c:2205 | 433 | #: html.c:2299 |
| 434 | msgid "Voted" | 434 | msgid "Voted" |
| 435 | msgstr "Votado" | 435 | msgstr "Votado" |
| 436 | 436 | ||
| 437 | #: html.c:2214 | 437 | #: html.c:2308 |
| 438 | msgid "Event" | 438 | msgid "Event" |
| 439 | msgstr "Evento" | 439 | msgstr "Evento" |
| 440 | 440 | ||
| 441 | #: html.c:2246 html.c:2275 | 441 | #: html.c:2340 html.c:2369 |
| 442 | msgid "boosted" | 442 | msgid "boosted" |
| 443 | msgstr "impulsado" | 443 | msgstr "impulsado" |
| 444 | 444 | ||
| 445 | #: html.c:2289 | 445 | #: html.c:2383 |
| 446 | msgid "in reply to" | 446 | msgid "in reply to" |
| 447 | msgstr "en respuesta a" | 447 | msgstr "en respuesta a" |
| 448 | 448 | ||
| 449 | #: html.c:2345 | 449 | #: html.c:2439 |
| 450 | msgid " [SENSITIVE CONTENT]" | 450 | msgid " [SENSITIVE CONTENT]" |
| 451 | msgstr " [CONTENIDO SENSIBLE]" | 451 | msgstr " [CONTENIDO SENSIBLE]" |
| 452 | 452 | ||
| 453 | #: html.c:2512 | 453 | #: html.c:2796 |
| 454 | msgid "Vote" | 454 | msgid "Vote" |
| 455 | msgstr "Votar" | 455 | msgstr "Votar" |
| 456 | 456 | ||
| 457 | #: html.c:2522 | 457 | #: html.c:2806 |
| 458 | msgid "Closed" | 458 | msgid "Closed" |
| 459 | msgstr "Cerrado" | 459 | msgstr "Cerrado" |
| 460 | 460 | ||
| 461 | #: html.c:2547 | 461 | #: html.c:2831 |
| 462 | msgid "Closes in" | 462 | msgid "Closes in" |
| 463 | msgstr "Cierra en" | 463 | msgstr "Cierra en" |
| 464 | 464 | ||
| 465 | #: html.c:2627 | 465 | #: html.c:2911 |
| 466 | msgid "Video" | 466 | msgid "Video" |
| 467 | msgstr "Video" | 467 | msgstr "Video" |
| 468 | 468 | ||
| 469 | #: html.c:2642 | 469 | #: html.c:2926 |
| 470 | msgid "Audio" | 470 | msgid "Audio" |
| 471 | msgstr "Audio" | 471 | msgstr "Audio" |
| 472 | 472 | ||
| 473 | #: html.c:2670 | 473 | #: html.c:2954 |
| 474 | msgid "Attachment" | 474 | msgid "Attachment" |
| 475 | msgstr "Adjunto" | 475 | msgstr "Adjunto" |
| 476 | 476 | ||
| 477 | #: html.c:2684 | 477 | #: html.c:2968 |
| 478 | msgid "Alt..." | 478 | msgid "Alt..." |
| 479 | msgstr "Alt..." | 479 | msgstr "Alt..." |
| 480 | 480 | ||
| 481 | #: html.c:2697 | 481 | #: html.c:2981 |
| 482 | msgid "Source channel or community" | 482 | msgid "Source channel or community" |
| 483 | msgstr "Canal o comunidad de origen" | 483 | msgstr "Canal o comunidad de origen" |
| 484 | 484 | ||
| 485 | #: html.c:2791 | 485 | #: html.c:3075 |
| 486 | msgid "Time: " | 486 | msgid "Time: " |
| 487 | msgstr "Hora: " | 487 | msgstr "Hora: " |
| 488 | 488 | ||
| 489 | #: html.c:2872 | 489 | #: html.c:3156 |
| 490 | msgid "Older..." | 490 | msgid "Older..." |
| 491 | msgstr "Más antiguo..." | 491 | msgstr "Más antiguo..." |
| 492 | 492 | ||
| 493 | #: html.c:2974 | 493 | #: html.c:3258 |
| 494 | msgid "about this site" | 494 | msgid "about this site" |
| 495 | msgstr "acerca de este sitio" | 495 | msgstr "acerca de este sitio" |
| 496 | 496 | ||
| 497 | #: html.c:2976 | 497 | #: html.c:3260 |
| 498 | msgid "powered by " | 498 | msgid "powered by " |
| 499 | msgstr "provisto por " | 499 | msgstr "provisto por " |
| 500 | 500 | ||
| 501 | #: html.c:3041 | 501 | #: html.c:3329 |
| 502 | msgid "Dismiss" | 502 | msgid "Dismiss" |
| 503 | msgstr "Descartar" | 503 | msgstr "Descartar" |
| 504 | 504 | ||
| 505 | #: html.c:3058 | 505 | #: html.c:3346 |
| 506 | #, c-format | 506 | #, c-format |
| 507 | msgid "Timeline for list '%s'" | 507 | msgid "Timeline for list '%s'" |
| 508 | msgstr "LÃnea de tiempo de la lista '%s'" | 508 | msgstr "LÃnea de tiempo de la lista '%s'" |
| 509 | 509 | ||
| 510 | #: html.c:3077 html.c:4169 | 510 | #: html.c:3365 html.c:4589 |
| 511 | msgid "Pinned posts" | 511 | msgid "Pinned posts" |
| 512 | msgstr "Publicaciones ancladas" | 512 | msgstr "Publicaciones ancladas" |
| 513 | 513 | ||
| 514 | #: html.c:3089 html.c:4184 | 514 | #: html.c:3377 html.c:4604 |
| 515 | msgid "Bookmarked posts" | 515 | msgid "Bookmarked posts" |
| 516 | msgstr "Publicaciones marcadas" | 516 | msgstr "Publicaciones marcadas" |
| 517 | 517 | ||
| 518 | #: html.c:3101 html.c:4199 | 518 | #: html.c:3389 html.c:4619 |
| 519 | msgid "Post drafts" | 519 | msgid "Post drafts" |
| 520 | msgstr "Borradores de publicaciones" | 520 | msgstr "Borradores de publicaciones" |
| 521 | 521 | ||
| 522 | #: html.c:3177 | 522 | #: html.c:3465 |
| 523 | msgid "No more unseen posts" | 523 | msgid "No more unseen posts" |
| 524 | msgstr "No quedan publicaciones sin ver" | 524 | msgstr "No quedan publicaciones sin ver" |
| 525 | 525 | ||
| 526 | #: html.c:3181 html.c:3290 | 526 | #: html.c:3469 html.c:3578 |
| 527 | msgid "Back to top" | 527 | msgid "Back to top" |
| 528 | msgstr "Volver al inicio" | 528 | msgstr "Volver al inicio" |
| 529 | 529 | ||
| 530 | #: html.c:3243 | 530 | #: html.c:3531 |
| 531 | msgid "History" | 531 | msgid "History" |
| 532 | msgstr "Historia" | 532 | msgstr "Historia" |
| 533 | 533 | ||
| 534 | #: html.c:3295 html.c:3734 | 534 | #: html.c:3583 html.c:4149 |
| 535 | msgid "More..." | 535 | msgid "More..." |
| 536 | msgstr "Más..." | 536 | msgstr "Más..." |
| 537 | 537 | ||
| 538 | #: html.c:3391 html.c:4813 | 538 | #: html.c:3767 html.c:5257 |
| 539 | msgid "Unlimit" | 539 | msgid "Unlimit" |
| 540 | msgstr "Sin lÃmite" | 540 | msgstr "Sin lÃmite" |
| 541 | 541 | ||
| 542 | #: html.c:3392 | 542 | #: html.c:3768 |
| 543 | msgid "Allow announces (boosts) from this user" | 543 | msgid "Allow announces (boosts) from this user" |
| 544 | msgstr "Permitir anuncios (impulsos) de este usuario" | 544 | msgstr "Permitir anuncios (impulsos) de este usuario" |
| 545 | 545 | ||
| 546 | #: html.c:3395 html.c:4809 | 546 | #: html.c:3771 html.c:5253 |
| 547 | msgid "Limit" | 547 | msgid "Limit" |
| 548 | msgstr "LÃmite" | 548 | msgstr "LÃmite" |
| 549 | 549 | ||
| 550 | #: html.c:3396 | 550 | #: html.c:3772 |
| 551 | msgid "Block announces (boosts) from this user" | 551 | msgid "Block announces (boosts) from this user" |
| 552 | msgstr "Bloquear anuncios (impulsos) de este usuario" | 552 | msgstr "Bloquear anuncios (impulsos) de este usuario" |
| 553 | 553 | ||
| 554 | #: html.c:3405 | 554 | #: html.c:3781 |
| 555 | msgid "Delete this user" | 555 | msgid "Delete this user" |
| 556 | msgstr "Eliminar este usuario" | 556 | msgstr "Eliminar este usuario" |
| 557 | 557 | ||
| 558 | #: html.c:3410 html.c:4927 | 558 | #: html.c:3786 html.c:5371 |
| 559 | msgid "Approve" | 559 | msgid "Approve" |
| 560 | msgstr "Aprobar" | 560 | msgstr "Aprobar" |
| 561 | 561 | ||
| 562 | #: html.c:3411 | 562 | #: html.c:3787 |
| 563 | msgid "Approve this follow request" | 563 | msgid "Approve this follow request" |
| 564 | msgstr "Aprobar solicitud de seguimiento" | 564 | msgstr "Aprobar solicitud de seguimiento" |
| 565 | 565 | ||
| 566 | #: html.c:3414 html.c:4951 | 566 | #: html.c:3790 html.c:5395 |
| 567 | msgid "Discard" | 567 | msgid "Discard" |
| 568 | msgstr "Descartar" | 568 | msgstr "Descartar" |
| 569 | 569 | ||
| 570 | #: html.c:3414 | 570 | #: html.c:3790 |
| 571 | msgid "Discard this follow request" | 571 | msgid "Discard this follow request" |
| 572 | msgstr "Descartar solicitud de seguimiento" | 572 | msgstr "Descartar solicitud de seguimiento" |
| 573 | 573 | ||
| 574 | #: html.c:3419 html.c:4795 | 574 | #: html.c:3795 html.c:5239 |
| 575 | msgid "Unmute" | 575 | msgid "Unmute" |
| 576 | msgstr "Dejar de SILENCIAR" | 576 | msgstr "Dejar de SILENCIAR" |
| 577 | 577 | ||
| 578 | #: html.c:3420 | 578 | #: html.c:3796 |
| 579 | msgid "Stop blocking activities from this user" | 579 | msgid "Stop blocking activities from this user" |
| 580 | msgstr "Dejar de bloquear actividad de este usuario" | 580 | msgstr "Dejar de bloquear actividad de este usuario" |
| 581 | 581 | ||
| 582 | #: html.c:3424 | 582 | #: html.c:3800 |
| 583 | msgid "Block any activity from this user" | 583 | msgid "Block any activity from this user" |
| 584 | msgstr "Bloquear toda actividad de este usuario" | 584 | msgstr "Bloquear toda actividad de este usuario" |
| 585 | 585 | ||
| 586 | #: html.c:3432 | 586 | #: html.c:3808 |
| 587 | msgid "Direct Message..." | 587 | msgid "Direct Message..." |
| 588 | msgstr "Mensaje Directo..." | 588 | msgstr "Mensaje Directo..." |
| 589 | 589 | ||
| 590 | #: html.c:3467 | 590 | #: html.c:3843 |
| 591 | msgid "Pending follow confirmations" | 591 | msgid "Pending follow confirmations" |
| 592 | msgstr "Confirmaciones de seguimiento pendientes" | 592 | msgstr "Confirmaciones de seguimiento pendientes" |
| 593 | 593 | ||
| 594 | #: html.c:3471 | 594 | #: html.c:3847 |
| 595 | msgid "People you follow" | 595 | msgid "People you follow" |
| 596 | msgstr "Personas que sigues" | 596 | msgstr "Personas que sigues" |
| 597 | 597 | ||
| 598 | #: html.c:3472 | 598 | #: html.c:3848 |
| 599 | msgid "People that follow you" | 599 | msgid "People that follow you" |
| 600 | msgstr "Personas que te siguen" | 600 | msgstr "Personas que te siguen" |
| 601 | 601 | ||
| 602 | #: html.c:3511 | 602 | #: html.c:3887 |
| 603 | msgid "Clear all" | 603 | msgid "Clear all" |
| 604 | msgstr "Limpiar todo" | 604 | msgstr "Limpiar todo" |
| 605 | 605 | ||
| 606 | #: html.c:3571 | 606 | #: html.c:3951 |
| 607 | msgid "Mention" | 607 | msgid "Mention" |
| 608 | msgstr "Mención" | 608 | msgstr "Mención" |
| 609 | 609 | ||
| 610 | #: html.c:3574 | 610 | #: html.c:3954 |
| 611 | msgid "Finished poll" | 611 | msgid "Finished poll" |
| 612 | msgstr "Encuesta finalizada" | 612 | msgstr "Encuesta finalizada" |
| 613 | 613 | ||
| 614 | #: html.c:3590 | 614 | #: html.c:3979 |
| 615 | msgid "Follow Request" | 615 | msgid "Follow Request" |
| 616 | msgstr "Solicitud de Seguimiento" | 616 | msgstr "Solicitud de Seguimiento" |
| 617 | 617 | ||
| 618 | #: html.c:3674 | 618 | #: html.c:4089 |
| 619 | msgid "Context" | 619 | msgid "Context" |
| 620 | msgstr "Contexto" | 620 | msgstr "Contexto" |
| 621 | 621 | ||
| 622 | #: html.c:3692 | 622 | #: html.c:4107 |
| 623 | msgid "New" | 623 | msgid "New" |
| 624 | msgstr "Nuevo" | 624 | msgstr "Nuevo" |
| 625 | 625 | ||
| 626 | #: html.c:3707 | 626 | #: html.c:4122 |
| 627 | msgid "Already seen" | 627 | msgid "Already seen" |
| 628 | msgstr "Ya visto" | 628 | msgstr "Ya visto" |
| 629 | 629 | ||
| 630 | #: html.c:3722 | 630 | #: html.c:4137 |
| 631 | msgid "None" | 631 | msgid "None" |
| 632 | msgstr "Ninguno" | 632 | msgstr "Ninguno" |
| 633 | 633 | ||
| 634 | #: html.c:3994 | 634 | #: html.c:4414 |
| 635 | #, c-format | 635 | #, c-format |
| 636 | msgid "Search results for account %s" | 636 | msgid "Search results for account %s" |
| 637 | msgstr "Buscar resultados para la cuenta %s" | 637 | msgstr "Buscar resultados para la cuenta %s" |
| 638 | 638 | ||
| 639 | #: html.c:4001 | 639 | #: html.c:4421 |
| 640 | #, c-format | 640 | #, c-format |
| 641 | msgid "Account %s not found" | 641 | msgid "Account %s not found" |
| 642 | msgstr "No se encontró la cuenta %s" | 642 | msgstr "No se encontró la cuenta %s" |
| 643 | 643 | ||
| 644 | #: html.c:4032 | 644 | #: html.c:4452 |
| 645 | #, c-format | 645 | #, c-format |
| 646 | msgid "Search results for tag %s" | 646 | msgid "Search results for tag %s" |
| 647 | msgstr "Buscar resultados para la etiqueta %s" | 647 | msgstr "Buscar resultados para la etiqueta %s" |
| 648 | 648 | ||
| 649 | #: html.c:4032 | 649 | #: html.c:4452 |
| 650 | #, c-format | 650 | #, c-format |
| 651 | msgid "Nothing found for tag %s" | 651 | msgid "Nothing found for tag %s" |
| 652 | msgstr "No se encontró nada con la etiqueta %s" | 652 | msgstr "No se encontró nada con la etiqueta %s" |
| 653 | 653 | ||
| 654 | #: html.c:4048 | 654 | #: html.c:4468 |
| 655 | #, c-format | 655 | #, c-format |
| 656 | msgid "Search results for '%s' (may be more)" | 656 | msgid "Search results for '%s' (may be more)" |
| 657 | msgstr "Resultados de búsqueda para '%s' (puede haber más)" | 657 | msgstr "Resultados de búsqueda para '%s' (puede haber más)" |
| 658 | 658 | ||
| 659 | #: html.c:4051 | 659 | #: html.c:4471 |
| 660 | #, c-format | 660 | #, c-format |
| 661 | msgid "Search results for '%s'" | 661 | msgid "Search results for '%s'" |
| 662 | msgstr "Resultados de búsqueda para '%s'" | 662 | msgstr "Resultados de búsqueda para '%s'" |
| 663 | 663 | ||
| 664 | #: html.c:4054 | 664 | #: html.c:4474 |
| 665 | #, c-format | 665 | #, c-format |
| 666 | msgid "No more matches for '%s'" | 666 | msgid "No more matches for '%s'" |
| 667 | msgstr "No hay más coincidencias para '%s'" | 667 | msgstr "No hay más coincidencias para '%s'" |
| 668 | 668 | ||
| 669 | #: html.c:4056 | 669 | #: html.c:4476 |
| 670 | #, c-format | 670 | #, c-format |
| 671 | msgid "Nothing found for '%s'" | 671 | msgid "Nothing found for '%s'" |
| 672 | msgstr "No se encontró nada para '%s'" | 672 | msgstr "No se encontró nada para '%s'" |
| 673 | 673 | ||
| 674 | #: html.c:4154 | 674 | #: html.c:4574 |
| 675 | msgid "Showing instance timeline" | 675 | msgid "Showing instance timeline" |
| 676 | msgstr "Mostrando lÃnea de tiempo de la instancia" | 676 | msgstr "Mostrando lÃnea de tiempo de la instancia" |
| 677 | 677 | ||
| 678 | #: html.c:4237 | 678 | #: html.c:4657 |
| 679 | #, c-format | 679 | #, c-format |
| 680 | msgid "Showing timeline for list '%s'" | 680 | msgid "Showing timeline for list '%s'" |
| 681 | msgstr "Mostrando lÃnea de tiempo de la lista '%s'" | 681 | msgstr "Mostrando lÃnea de tiempo de la lista '%s'" |
| 682 | 682 | ||
| 683 | #: httpd.c:258 | 683 | #: httpd.c:259 |
| 684 | #, c-format | 684 | #, c-format |
| 685 | msgid "Search results for tag #%s" | 685 | msgid "Search results for tag #%s" |
| 686 | msgstr "Resultado de búsqueda para la etiqueta #%s" | 686 | msgstr "Resultado de búsqueda para la etiqueta #%s" |
| 687 | 687 | ||
| 688 | #: httpd.c:267 | 688 | #: httpd.c:268 |
| 689 | msgid "Recent posts by users in this instance" | 689 | msgid "Recent posts by users in this instance" |
| 690 | msgstr "Publicaciones recientes de los usuarios de esta instancia" | 690 | msgstr "Publicaciones recientes de los usuarios de esta instancia" |
| 691 | 691 | ||
| 692 | #: html.c:1764 | 692 | #: html.c:1842 |
| 693 | msgid "Blocked hashtags..." | 693 | msgid "Blocked hashtags..." |
| 694 | msgstr "Etiquetas bloqueadas..." | 694 | msgstr "Etiquetas bloqueadas..." |
| 695 | 695 | ||
| 696 | #: html.c:518 | 696 | #: html.c:574 |
| 697 | msgid "Optional URL to reply to" | 697 | msgid "Optional URL to reply to" |
| 698 | msgstr "URL opcional a la que responder" | 698 | msgstr "URL opcional a la que responder" |
| 699 | 699 | ||
| 700 | #: html.c:695 | 700 | #: html.c:751 |
| 701 | msgid "" | 701 | msgid "" |
| 702 | "Option 1...\n" | 702 | "Option 1...\n" |
| 703 | "Option 2...\n" | 703 | "Option 2...\n" |
| @@ -709,91 +709,103 @@ msgstr "" | |||
| 709 | "Opción 3...\n" | 709 | "Opción 3...\n" |
| 710 | "..." | 710 | "..." |
| 711 | 711 | ||
| 712 | #: html.c:1558 | 712 | #: html.c:1636 |
| 713 | msgid "Bot API key" | 713 | msgid "Bot API key" |
| 714 | msgstr "Clave del API del Bot" | 714 | msgstr "Clave del API del Bot" |
| 715 | 715 | ||
| 716 | #: html.c:1564 | 716 | #: html.c:1642 |
| 717 | msgid "Chat id" | 717 | msgid "Chat id" |
| 718 | msgstr "Identificador de chat" | 718 | msgstr "Identificador de chat" |
| 719 | 719 | ||
| 720 | #: html.c:1572 | 720 | #: html.c:1650 |
| 721 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 721 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 722 | msgstr "Servidor ntfy - URL completa (example: https://ntfy.sh/YourTopic)" | 722 | msgstr "Servidor ntfy - URL completa (example: https://ntfy.sh/YourTopic)" |
| 723 | 723 | ||
| 724 | #: html.c:1578 | 724 | #: html.c:1656 |
| 725 | msgid "ntfy token - if needed" | 725 | msgid "ntfy token - if needed" |
| 726 | msgstr "Token ntft - si es necesario" | 726 | msgstr "Token ntft - si es necesario" |
| 727 | 727 | ||
| 728 | #: html.c:3078 | 728 | #: html.c:3366 |
| 729 | msgid "pinned" | 729 | msgid "pinned" |
| 730 | msgstr "Anclados" | 730 | msgstr "Anclados" |
| 731 | 731 | ||
| 732 | #: html.c:3090 | 732 | #: html.c:3378 |
| 733 | msgid "bookmarks" | 733 | msgid "bookmarks" |
| 734 | msgstr "Marcados" | 734 | msgstr "Marcados" |
| 735 | 735 | ||
| 736 | #: html.c:3102 | 736 | #: html.c:3390 |
| 737 | msgid "drafts" | 737 | msgid "drafts" |
| 738 | msgstr "Borradores" | 738 | msgstr "Borradores" |
| 739 | 739 | ||
| 740 | #: html.c:584 | 740 | #: html.c:640 |
| 741 | msgid "Scheduled post..." | 741 | msgid "Scheduled post..." |
| 742 | msgstr "EnvÃo programado..." | 742 | msgstr "EnvÃo programado..." |
| 743 | 743 | ||
| 744 | #: html.c:3113 html.c:4214 | 744 | #: html.c:3401 html.c:4634 |
| 745 | msgid "Scheduled posts" | 745 | msgid "Scheduled posts" |
| 746 | msgstr "EnvÃos programados" | 746 | msgstr "EnvÃos programados" |
| 747 | 747 | ||
| 748 | #: html.c:3114 | 748 | #: html.c:3402 |
| 749 | msgid "scheduled posts" | 749 | msgid "scheduled posts" |
| 750 | msgstr "envÃos programados" | 750 | msgstr "envÃos programados" |
| 751 | 751 | ||
| 752 | #: html.c:578 | 752 | #: html.c:634 |
| 753 | #, c-format | 753 | #, c-format |
| 754 | msgid "Post date and time (timezone: %s):" | 754 | msgid "Post date and time (timezone: %s):" |
| 755 | msgstr "Fecha y hora de publicación (zona horaria: %s):" | 755 | msgstr "Fecha y hora de publicación (zona horaria: %s):" |
| 756 | 756 | ||
| 757 | #: html.c:1689 | 757 | #: html.c:1767 |
| 758 | msgid "Time zone:" | 758 | msgid "Time zone:" |
| 759 | msgstr "Zona horaria:" | 759 | msgstr "Zona horaria:" |
| 760 | 760 | ||
| 761 | #: html.c:559 | 761 | #: html.c:615 |
| 762 | msgid "Language:" | 762 | msgid "Language:" |
| 763 | msgstr "Idioma:" | 763 | msgstr "Idioma:" |
| 764 | 764 | ||
| 765 | #: html.c:1580 | 765 | #: html.c:1658 |
| 766 | msgid "Notify webhook:" | 766 | msgid "Notify webhook:" |
| 767 | msgstr "Webhook de notificación:" | 767 | msgstr "Webhook de notificación:" |
| 768 | 768 | ||
| 769 | #: html.c:1586 | 769 | #: html.c:1664 |
| 770 | msgid "http://example.com/webhook" | 770 | msgid "http://example.com/webhook" |
| 771 | msgstr "" | 771 | msgstr "" |
| 772 | 772 | ||
| 773 | #: html.c:1694 | 773 | #: html.c:1772 |
| 774 | msgid "Languages you usually post in:" | 774 | msgid "Languages you usually post in:" |
| 775 | msgstr "Idiomas en los que sueles escribir:" | 775 | msgstr "Idiomas en los que sueles escribir:" |
| 776 | 776 | ||
| 777 | #: html.c:1700 | 777 | #: html.c:1778 |
| 778 | msgid "en fr es de_AT" | 778 | msgid "en fr es de_AT" |
| 779 | msgstr "" | 779 | msgstr "" |
| 780 | 780 | ||
| 781 | #: html.c:460 | 781 | #: html.c:428 |
| 782 | msgid "Visibility: " | 782 | msgid "Visibility: " |
| 783 | msgstr "Visibilidad: " | 783 | msgstr "Visibilidad: " |
| 784 | 784 | ||
| 785 | #: html.c:468 | ||
| 786 | msgid "Public" | 785 | msgid "Public" |
| 787 | msgstr "Público" | 786 | msgstr "Público" |
| 788 | 787 | ||
| 789 | #: html.c:477 | ||
| 790 | msgid "Unlisted" | 788 | msgid "Unlisted" |
| 791 | msgstr "No listado" | 789 | msgstr "No listado" |
| 792 | 790 | ||
| 793 | #: html.c:486 | ||
| 794 | msgid "Followers-only" | 791 | msgid "Followers-only" |
| 795 | msgstr "Solo seguidores" | 792 | msgstr "Solo seguidores" |
| 796 | 793 | ||
| 797 | #: html.c:495 | ||
| 798 | msgid "Direct Message" | 794 | msgid "Direct Message" |
| 799 | msgstr "Mensaje directo" | 795 | msgstr "Mensaje directo" |
| 796 | |||
| 797 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 798 | msgid "EmojiUnreact" | ||
| 799 | msgstr "" | ||
| 800 | |||
| 801 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 802 | msgid "EmojiReact" | ||
| 803 | msgstr "" | ||
| 804 | |||
| 805 | #: html.c:2115 | ||
| 806 | msgid "Emoji react..." | ||
| 807 | msgstr "Reaccionar con un emoji..." | ||
| 808 | |||
| 809 | #: html.c:2609 | ||
| 810 | msgid "Emoji reactions: " | ||
| 811 | msgstr "Reacciones con emoji: " | ||
diff --git a/po/es_UY.po b/po/es_UY.po index d4d9918..68cfa06 100644 --- a/po/es_UY.po +++ b/po/es_UY.po | |||
| @@ -8,119 +8,119 @@ msgstr "" | |||
| 8 | "Language: es_UY\n" | 8 | "Language: es_UY\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Contenido sensible: " | 13 | msgstr "Contenido sensible: " |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Descripción del contenido sensible" | 17 | msgstr "Descripción del contenido sensible" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Solo personas mencionadas: " | 20 | msgstr "Solo personas mencionadas: " |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Responder a (URL): " | 24 | msgstr "Responder a (URL): " |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "No enviar. Guardar como borrador" | 28 | msgstr "No enviar. Guardar como borrador" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Borrador:" | 32 | msgstr "Borrador:" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "Adjuntos..." | 36 | msgstr "Adjuntos..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "Archivo:" | 40 | msgstr "Archivo:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Limpiar este campo para eliminar el adjunto" | 44 | msgstr "Limpiar este campo para eliminar el adjunto" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Descripción del adjunto" | 48 | msgstr "Descripción del adjunto" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Encuesta..." | 52 | msgstr "Encuesta..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Opciones de encuesta (una por lÃnea, hasta 8):" | 56 | msgstr "Opciones de encuesta (una por lÃnea, hasta 8):" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Una opción" | 60 | msgstr "Una opción" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Opciones múltiples" | 64 | msgstr "Opciones múltiples" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Finalizar en 5 minutos" | 68 | msgstr "Finalizar en 5 minutos" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Finalizar en 1 hora" | 72 | msgstr "Finalizar en 1 hora" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Finalizar en 1 dÃa" | 76 | msgstr "Finalizar en 1 dÃa" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Publicar" | 80 | msgstr "Publicar" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Descripción del sitio" | 84 | msgstr "Descripción del sitio" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Email del Administrador" | 88 | msgstr "Email del Administrador" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "Cuenta del Administrador" | 92 | msgstr "Cuenta del Administrador" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d siguiendo, %d seguidores" | 97 | msgstr "%d siguiendo, %d seguidores" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "privado" | 105 | msgstr "privado" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "público" | 109 | msgstr "público" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "notificaciones" | 113 | msgstr "notificaciones" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "personas" | 117 | msgstr "personas" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "instancia" | 121 | msgstr "instancia" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| @@ -128,576 +128,576 @@ msgstr "" | |||
| 128 | "Buscar publicaciones por URL o contenido (expresiones regulares), cuenta " | 128 | "Buscar publicaciones por URL o contenido (expresiones regulares), cuenta " |
| 129 | "@usuario@host , ó #etiqueta" | 129 | "@usuario@host , ó #etiqueta" |
| 130 | 130 | ||
| 131 | #: html.c:1087 | 131 | #: html.c:1143 |
| 132 | msgid "Content search" | 132 | msgid "Content search" |
| 133 | msgstr "Buscar contenido" | 133 | msgstr "Buscar contenido" |
| 134 | 134 | ||
| 135 | #: html.c:1213 | 135 | #: html.c:1269 |
| 136 | msgid "verified link" | 136 | msgid "verified link" |
| 137 | msgstr "link verificado" | 137 | msgstr "link verificado" |
| 138 | 138 | ||
| 139 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 139 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 140 | msgid "Location: " | 140 | msgid "Location: " |
| 141 | msgstr "Ubicación: " | 141 | msgstr "Ubicación: " |
| 142 | 142 | ||
| 143 | #: html.c:1302 | 143 | #: html.c:1358 |
| 144 | msgid "New Post..." | 144 | msgid "New Post..." |
| 145 | msgstr "Nueva Publicación..." | 145 | msgstr "Nueva Publicación..." |
| 146 | 146 | ||
| 147 | #: html.c:1304 | 147 | #: html.c:1360 |
| 148 | msgid "What's on your mind?" | 148 | msgid "What's on your mind?" |
| 149 | msgstr "¿En qué estás pensando?" | 149 | msgstr "¿En qué estás pensando?" |
| 150 | 150 | ||
| 151 | #: html.c:1313 | 151 | #: html.c:1369 |
| 152 | msgid "Operations..." | 152 | msgid "Operations..." |
| 153 | msgstr "Operaciones..." | 153 | msgstr "Operaciones..." |
| 154 | 154 | ||
| 155 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 155 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 156 | msgid "Follow" | 156 | msgid "Follow" |
| 157 | msgstr "Seguir" | 157 | msgstr "Seguir" |
| 158 | 158 | ||
| 159 | #: html.c:1330 | 159 | #: html.c:1386 |
| 160 | msgid "(by URL or user@host)" | 160 | msgid "(by URL or user@host)" |
| 161 | msgstr "(por URL o usuario@host)" | 161 | msgstr "(por URL o usuario@host)" |
| 162 | 162 | ||
| 163 | #: html.c:1345 html.c:1925 html.c:4766 | 163 | #: html.c:1401 html.c:2003 html.c:5210 |
| 164 | msgid "Boost" | 164 | msgid "Boost" |
| 165 | msgstr "Impulsar" | 165 | msgstr "Impulsar" |
| 166 | 166 | ||
| 167 | #: html.c:1347 html.c:1364 | 167 | #: html.c:1403 html.c:1420 html.c:1442 |
| 168 | msgid "(by URL)" | 168 | msgid "(by URL)" |
| 169 | msgstr "(por URL)" | 169 | msgstr "(por URL)" |
| 170 | 170 | ||
| 171 | #: html.c:1362 html.c:1904 html.c:4757 | 171 | #: html.c:1418 html.c:1982 html.c:5201 |
| 172 | msgid "Like" | 172 | msgid "Like" |
| 173 | msgstr "Me gusta" | 173 | msgstr "Me gusta" |
| 174 | 174 | ||
| 175 | #: html.c:1490 | 175 | #: html.c:1568 |
| 176 | msgid "User Settings..." | 176 | msgid "User Settings..." |
| 177 | msgstr "Configuración de usuario..." | 177 | msgstr "Configuración de usuario..." |
| 178 | 178 | ||
| 179 | #: html.c:1499 | 179 | #: html.c:1577 |
| 180 | msgid "Display name:" | 180 | msgid "Display name:" |
| 181 | msgstr "Nombre para mostrar:" | 181 | msgstr "Nombre para mostrar:" |
| 182 | 182 | ||
| 183 | #: html.c:1505 | 183 | #: html.c:1583 |
| 184 | msgid "Your name" | 184 | msgid "Your name" |
| 185 | msgstr "Su nombre" | 185 | msgstr "Su nombre" |
| 186 | 186 | ||
| 187 | #: html.c:1507 | 187 | #: html.c:1585 |
| 188 | msgid "Avatar: " | 188 | msgid "Avatar: " |
| 189 | msgstr "Avatar: " | 189 | msgstr "Avatar: " |
| 190 | 190 | ||
| 191 | #: html.c:1515 | 191 | #: html.c:1593 |
| 192 | msgid "Delete current avatar" | 192 | msgid "Delete current avatar" |
| 193 | msgstr "Eliminar avatar" | 193 | msgstr "Eliminar avatar" |
| 194 | 194 | ||
| 195 | #: html.c:1517 | 195 | #: html.c:1595 |
| 196 | msgid "Header image (banner): " | 196 | msgid "Header image (banner): " |
| 197 | msgstr "Imagen de cabecera (banner): " | 197 | msgstr "Imagen de cabecera (banner): " |
| 198 | 198 | ||
| 199 | #: html.c:1525 | 199 | #: html.c:1603 |
| 200 | msgid "Delete current header image" | 200 | msgid "Delete current header image" |
| 201 | msgstr "Eliminar imagen de cabecera" | 201 | msgstr "Eliminar imagen de cabecera" |
| 202 | 202 | ||
| 203 | #: html.c:1527 | 203 | #: html.c:1605 |
| 204 | msgid "Bio:" | 204 | msgid "Bio:" |
| 205 | msgstr "Bio:" | 205 | msgstr "Bio:" |
| 206 | 206 | ||
| 207 | #: html.c:1533 | 207 | #: html.c:1611 |
| 208 | msgid "Write about yourself here..." | 208 | msgid "Write about yourself here..." |
| 209 | msgstr "Escriba algo sobre usted aquÃ..." | 209 | msgstr "Escriba algo sobre usted aquÃ..." |
| 210 | 210 | ||
| 211 | #: html.c:1542 | 211 | #: html.c:1620 |
| 212 | msgid "Always show sensitive content" | 212 | msgid "Always show sensitive content" |
| 213 | msgstr "Siempre mostrar contenido sensible" | 213 | msgstr "Siempre mostrar contenido sensible" |
| 214 | 214 | ||
| 215 | #: html.c:1544 | 215 | #: html.c:1622 |
| 216 | msgid "Email address for notifications:" | 216 | msgid "Email address for notifications:" |
| 217 | msgstr "Cuenta de email para las notificaciones:" | 217 | msgstr "Cuenta de email para las notificaciones:" |
| 218 | 218 | ||
| 219 | #: html.c:1552 | 219 | #: html.c:1630 |
| 220 | msgid "Telegram notifications (bot key and chat id):" | 220 | msgid "Telegram notifications (bot key and chat id):" |
| 221 | msgstr "Notificaciones en Telegram (llave del bot e id del chat):" | 221 | msgstr "Notificaciones en Telegram (llave del bot e id del chat):" |
| 222 | 222 | ||
| 223 | #: html.c:1566 | 223 | #: html.c:1644 |
| 224 | msgid "ntfy notifications (ntfy server and token):" | 224 | msgid "ntfy notifications (ntfy server and token):" |
| 225 | msgstr "Notificaciones en ntfy (servidor ntfy y token):" | 225 | msgstr "Notificaciones en ntfy (servidor ntfy y token):" |
| 226 | 226 | ||
| 227 | #: html.c:1588 | 227 | #: html.c:1666 |
| 228 | msgid "Maximum days to keep posts (0: server settings):" | 228 | msgid "Maximum days to keep posts (0: server settings):" |
| 229 | msgstr "" | 229 | msgstr "" |
| 230 | "Plazo máximo de conservación de publicaciones en dÃas (0: usar configuración " | 230 | "Plazo máximo de conservación de publicaciones en dÃas (0: usar configuración " |
| 231 | "del servidor):" | 231 | "del servidor):" |
| 232 | 232 | ||
| 233 | #: html.c:1602 | 233 | #: html.c:1680 |
| 234 | msgid "Drop direct messages from people you don't follow" | 234 | msgid "Drop direct messages from people you don't follow" |
| 235 | msgstr "Descartar mensajes directos de personas a las que no sigue" | 235 | msgstr "Descartar mensajes directos de personas a las que no sigue" |
| 236 | 236 | ||
| 237 | #: html.c:1611 | 237 | #: html.c:1689 |
| 238 | msgid "This account is a bot" | 238 | msgid "This account is a bot" |
| 239 | msgstr "Esta cuenta es un bot" | 239 | msgstr "Esta cuenta es un bot" |
| 240 | 240 | ||
| 241 | #: html.c:1620 | 241 | #: html.c:1698 |
| 242 | msgid "Auto-boost all mentions to this account" | 242 | msgid "Auto-boost all mentions to this account" |
| 243 | msgstr "Impulsar automáticamente todas las menciones a esta cuenta" | 243 | msgstr "Impulsar automáticamente todas las menciones a esta cuenta" |
| 244 | 244 | ||
| 245 | #: html.c:1629 | 245 | #: html.c:1707 |
| 246 | msgid "This account is private (posts are not shown through the web)" | 246 | msgid "This account is private (posts are not shown through the web)" |
| 247 | msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)" | 247 | msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)" |
| 248 | 248 | ||
| 249 | #: html.c:1639 | 249 | #: html.c:1717 |
| 250 | msgid "Collapse top threads by default" | 250 | msgid "Collapse top threads by default" |
| 251 | msgstr "Contraer hilo de publicaciones por defecto" | 251 | msgstr "Contraer hilo de publicaciones por defecto" |
| 252 | 252 | ||
| 253 | #: html.c:1648 | 253 | #: html.c:1726 |
| 254 | msgid "Follow requests must be approved" | 254 | msgid "Follow requests must be approved" |
| 255 | msgstr "Las solicitudes de seguimiento deben ser aprobadas" | 255 | msgstr "Las solicitudes de seguimiento deben ser aprobadas" |
| 256 | 256 | ||
| 257 | #: html.c:1657 | 257 | #: html.c:1735 |
| 258 | msgid "Publish follower and following metrics" | 258 | msgid "Publish follower and following metrics" |
| 259 | msgstr "Mostrar cantidad de seguidores y seguidos" | 259 | msgstr "Mostrar cantidad de seguidores y seguidos" |
| 260 | 260 | ||
| 261 | #: html.c:1659 | 261 | #: html.c:1737 |
| 262 | msgid "Current location:" | 262 | msgid "Current location:" |
| 263 | msgstr "Ubicación actual:" | 263 | msgstr "Ubicación actual:" |
| 264 | 264 | ||
| 265 | #: html.c:1673 | 265 | #: html.c:1751 |
| 266 | msgid "Profile metadata (key=value pairs in each line):" | 266 | msgid "Profile metadata (key=value pairs in each line):" |
| 267 | msgstr "Metadata del perfil (pares llave=valor en cada lÃnea):" | 267 | msgstr "Metadata del perfil (pares llave=valor en cada lÃnea):" |
| 268 | 268 | ||
| 269 | #: html.c:1684 | 269 | #: html.c:1762 |
| 270 | msgid "Web interface language:" | 270 | msgid "Web interface language:" |
| 271 | msgstr "Idioma de la interfaz Web:" | 271 | msgstr "Idioma de la interfaz Web:" |
| 272 | 272 | ||
| 273 | #: html.c:1703 | 273 | #: html.c:1781 |
| 274 | msgid "New password:" | 274 | msgid "New password:" |
| 275 | msgstr "Nueva contraseña:" | 275 | msgstr "Nueva contraseña:" |
| 276 | 276 | ||
| 277 | #: html.c:1710 | 277 | #: html.c:1788 |
| 278 | msgid "Repeat new password:" | 278 | msgid "Repeat new password:" |
| 279 | msgstr "Repetir nueva contraseña:" | 279 | msgstr "Repetir nueva contraseña:" |
| 280 | 280 | ||
| 281 | #: html.c:1720 | 281 | #: html.c:1798 |
| 282 | msgid "Update user info" | 282 | msgid "Update user info" |
| 283 | msgstr "Actualizar información de usuario" | 283 | msgstr "Actualizar información de usuario" |
| 284 | 284 | ||
| 285 | #: html.c:1731 | 285 | #: html.c:1809 |
| 286 | msgid "Followed hashtags..." | 286 | msgid "Followed hashtags..." |
| 287 | msgstr "Etiquetas en seguimiento..." | 287 | msgstr "Etiquetas en seguimiento..." |
| 288 | 288 | ||
| 289 | #: html.c:1733 html.c:1766 | 289 | #: html.c:1811 html.c:1844 |
| 290 | msgid "One hashtag per line" | 290 | msgid "One hashtag per line" |
| 291 | msgstr "Una etiqueta por lÃnea" | 291 | msgstr "Una etiqueta por lÃnea" |
| 292 | 292 | ||
| 293 | #: html.c:1755 html.c:1787 | 293 | #: html.c:1833 html.c:1865 |
| 294 | msgid "Update hashtags" | 294 | msgid "Update hashtags" |
| 295 | msgstr "Actualizar etiquetas" | 295 | msgstr "Actualizar etiquetas" |
| 296 | 296 | ||
| 297 | #: html.c:1904 | 297 | #: html.c:1982 |
| 298 | msgid "Say you like this post" | 298 | msgid "Say you like this post" |
| 299 | msgstr "Decir que te gusta esta publicación" | 299 | msgstr "Decir que te gusta esta publicación" |
| 300 | 300 | ||
| 301 | #: html.c:1909 html.c:4775 | 301 | #: html.c:1987 html.c:5219 |
| 302 | msgid "Unlike" | 302 | msgid "Unlike" |
| 303 | msgstr "No me gusta" | 303 | msgstr "No me gusta" |
| 304 | 304 | ||
| 305 | #: html.c:1909 | 305 | #: html.c:1987 |
| 306 | msgid "Nah don't like it that much" | 306 | msgid "Nah don't like it that much" |
| 307 | msgstr "Nah, no me gusta tanto" | 307 | msgstr "Nah, no me gusta tanto" |
| 308 | 308 | ||
| 309 | #: html.c:1915 html.c:4912 | 309 | #: html.c:1993 html.c:5356 |
| 310 | msgid "Unpin" | 310 | msgid "Unpin" |
| 311 | msgstr "Desanclar" | 311 | msgstr "Desanclar" |
| 312 | 312 | ||
| 313 | #: html.c:1915 | 313 | #: html.c:1993 |
| 314 | msgid "Unpin this post from your timeline" | 314 | msgid "Unpin this post from your timeline" |
| 315 | msgstr "Desanclar esta publicación de su lÃnea de tiempo" | 315 | msgstr "Desanclar esta publicación de su lÃnea de tiempo" |
| 316 | 316 | ||
| 317 | #: html.c:1918 html.c:4907 | 317 | #: html.c:1996 html.c:5351 |
| 318 | msgid "Pin" | 318 | msgid "Pin" |
| 319 | msgstr "Anclar" | 319 | msgstr "Anclar" |
| 320 | 320 | ||
| 321 | #: html.c:1918 | 321 | #: html.c:1996 |
| 322 | msgid "Pin this post to the top of your timeline" | 322 | msgid "Pin this post to the top of your timeline" |
| 323 | msgstr "Anclar esta publicación al inicio de su lÃnea de tiempo" | 323 | msgstr "Anclar esta publicación al inicio de su lÃnea de tiempo" |
| 324 | 324 | ||
| 325 | #: html.c:1925 | 325 | #: html.c:2003 |
| 326 | msgid "Announce this post to your followers" | 326 | msgid "Announce this post to your followers" |
| 327 | msgstr "Anunciar esta publicación a sus seguidores" | 327 | msgstr "Anunciar esta publicación a sus seguidores" |
| 328 | 328 | ||
| 329 | #: html.c:1930 html.c:4783 | 329 | #: html.c:2008 html.c:5227 |
| 330 | msgid "Unboost" | 330 | msgid "Unboost" |
| 331 | msgstr "Eliminar impulso" | 331 | msgstr "Eliminar impulso" |
| 332 | 332 | ||
| 333 | #: html.c:1930 | 333 | #: html.c:2008 |
| 334 | msgid "I regret I boosted this" | 334 | msgid "I regret I boosted this" |
| 335 | msgstr "Me arrepiento de haber impulsado esto" | 335 | msgstr "Me arrepiento de haber impulsado esto" |
| 336 | 336 | ||
| 337 | #: html.c:1936 html.c:4922 | 337 | #: html.c:2014 html.c:5366 |
| 338 | msgid "Unbookmark" | 338 | msgid "Unbookmark" |
| 339 | msgstr "Eliminar marcador" | 339 | msgstr "Eliminar marcador" |
| 340 | 340 | ||
| 341 | #: html.c:1936 | 341 | #: html.c:2014 |
| 342 | msgid "Delete this post from your bookmarks" | 342 | msgid "Delete this post from your bookmarks" |
| 343 | msgstr "Eliminar marcador de esta publicación" | 343 | msgstr "Eliminar marcador de esta publicación" |
| 344 | 344 | ||
| 345 | #: html.c:1939 html.c:4917 | 345 | #: html.c:2017 html.c:5361 |
| 346 | msgid "Bookmark" | 346 | msgid "Bookmark" |
| 347 | msgstr "Marcador" | 347 | msgstr "Marcador" |
| 348 | 348 | ||
| 349 | #: html.c:1939 | 349 | #: html.c:2017 |
| 350 | msgid "Add this post to your bookmarks" | 350 | msgid "Add this post to your bookmarks" |
| 351 | msgstr "Agregar esta publicación a mis marcadores" | 351 | msgstr "Agregar esta publicación a mis marcadores" |
| 352 | 352 | ||
| 353 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 353 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 354 | msgid "Unfollow" | 354 | msgid "Unfollow" |
| 355 | msgstr "Dejar de seguir" | 355 | msgstr "Dejar de seguir" |
| 356 | 356 | ||
| 357 | #: html.c:1945 html.c:3387 | 357 | #: html.c:2023 html.c:3763 html.c:4042 |
| 358 | msgid "Stop following this user's activity" | 358 | msgid "Stop following this user's activity" |
| 359 | msgstr "Dejar de seguir la actividad de este usuario" | 359 | msgstr "Dejar de seguir la actividad de este usuario" |
| 360 | 360 | ||
| 361 | #: html.c:1949 html.c:3401 | 361 | #: html.c:2027 html.c:3777 html.c:4044 |
| 362 | msgid "Start following this user's activity" | 362 | msgid "Start following this user's activity" |
| 363 | msgstr "Seguir la actividad de este usuario" | 363 | msgstr "Seguir la actividad de este usuario" |
| 364 | 364 | ||
| 365 | #: html.c:1955 html.c:4860 | 365 | #: html.c:2033 html.c:5304 |
| 366 | msgid "Unfollow Group" | 366 | msgid "Unfollow Group" |
| 367 | msgstr "Dejar de seguir este Grupo" | 367 | msgstr "Dejar de seguir este Grupo" |
| 368 | 368 | ||
| 369 | #: html.c:1956 | 369 | #: html.c:2034 |
| 370 | msgid "Stop following this group or channel" | 370 | msgid "Stop following this group or channel" |
| 371 | msgstr "Dejar de seguir este grupo o canal" | 371 | msgstr "Dejar de seguir este grupo o canal" |
| 372 | 372 | ||
| 373 | #: html.c:1960 html.c:4847 | 373 | #: html.c:2038 html.c:5291 |
| 374 | msgid "Follow Group" | 374 | msgid "Follow Group" |
| 375 | msgstr "Seguir Grupo" | 375 | msgstr "Seguir Grupo" |
| 376 | 376 | ||
| 377 | #: html.c:1961 | 377 | #: html.c:2039 |
| 378 | msgid "Start following this group or channel" | 378 | msgid "Start following this group or channel" |
| 379 | msgstr "Seguir grupo o canal" | 379 | msgstr "Seguir grupo o canal" |
| 380 | 380 | ||
| 381 | #: html.c:1966 html.c:3423 html.c:4791 | 381 | #: html.c:2044 html.c:3799 html.c:5235 |
| 382 | msgid "MUTE" | 382 | msgid "MUTE" |
| 383 | msgstr "SILENCIAR" | 383 | msgstr "SILENCIAR" |
| 384 | 384 | ||
| 385 | #: html.c:1967 | 385 | #: html.c:2045 |
| 386 | msgid "Block any activity from this user forever" | 386 | msgid "Block any activity from this user forever" |
| 387 | msgstr "Bloquear toda la actividad de este usuario para siempre" | 387 | msgstr "Bloquear toda la actividad de este usuario para siempre" |
| 388 | 388 | ||
| 389 | #: html.c:1972 html.c:3405 html.c:4877 | 389 | #: html.c:2050 html.c:3781 html.c:5321 |
| 390 | msgid "Delete" | 390 | msgid "Delete" |
| 391 | msgstr "Eliminar" | 391 | msgstr "Eliminar" |
| 392 | 392 | ||
| 393 | #: html.c:1972 | 393 | #: html.c:2050 |
| 394 | msgid "Delete this post" | 394 | msgid "Delete this post" |
| 395 | msgstr "Eliminar esta publicación" | 395 | msgstr "Eliminar esta publicación" |
| 396 | 396 | ||
| 397 | #: html.c:1975 html.c:4799 | 397 | #: html.c:2053 html.c:5243 |
| 398 | msgid "Hide" | 398 | msgid "Hide" |
| 399 | msgstr "Ocultar" | 399 | msgstr "Ocultar" |
| 400 | 400 | ||
| 401 | #: html.c:1975 | 401 | #: html.c:2053 |
| 402 | msgid "Hide this post and its children" | 402 | msgid "Hide this post and its children" |
| 403 | msgstr "Ocultar esta publicación y sus respuestas" | 403 | msgstr "Ocultar esta publicación y sus respuestas" |
| 404 | 404 | ||
| 405 | #: html.c:2017 | 405 | #: html.c:2095 |
| 406 | msgid "Edit..." | 406 | msgid "Edit..." |
| 407 | msgstr "Editar..." | 407 | msgstr "Editar..." |
| 408 | 408 | ||
| 409 | #: html.c:2039 | 409 | #: html.c:2133 |
| 410 | msgid "Reply..." | 410 | msgid "Reply..." |
| 411 | msgstr "Responder..." | 411 | msgstr "Responder..." |
| 412 | 412 | ||
| 413 | #: html.c:2090 | 413 | #: html.c:2184 |
| 414 | msgid "Truncated (too deep)" | 414 | msgid "Truncated (too deep)" |
| 415 | msgstr "Truncado (demasiado profundo)" | 415 | msgstr "Truncado (demasiado profundo)" |
| 416 | 416 | ||
| 417 | #: html.c:2108 | 417 | #: html.c:2202 |
| 418 | msgid "follows you" | 418 | msgid "follows you" |
| 419 | msgstr "te sigue" | 419 | msgstr "te sigue" |
| 420 | 420 | ||
| 421 | #: html.c:2182 | 421 | #: html.c:2276 |
| 422 | msgid "Pinned" | 422 | msgid "Pinned" |
| 423 | msgstr "Anclado" | 423 | msgstr "Anclado" |
| 424 | 424 | ||
| 425 | #: html.c:2190 | 425 | #: html.c:2284 |
| 426 | msgid "Bookmarked" | 426 | msgid "Bookmarked" |
| 427 | msgstr "Marcado" | 427 | msgstr "Marcado" |
| 428 | 428 | ||
| 429 | #: html.c:2198 | 429 | #: html.c:2292 |
| 430 | msgid "Poll" | 430 | msgid "Poll" |
| 431 | msgstr "Encuesta" | 431 | msgstr "Encuesta" |
| 432 | 432 | ||
| 433 | #: html.c:2205 | 433 | #: html.c:2299 |
| 434 | msgid "Voted" | 434 | msgid "Voted" |
| 435 | msgstr "Votado" | 435 | msgstr "Votado" |
| 436 | 436 | ||
| 437 | #: html.c:2214 | 437 | #: html.c:2308 |
| 438 | msgid "Event" | 438 | msgid "Event" |
| 439 | msgstr "Evento" | 439 | msgstr "Evento" |
| 440 | 440 | ||
| 441 | #: html.c:2246 html.c:2275 | 441 | #: html.c:2340 html.c:2369 |
| 442 | msgid "boosted" | 442 | msgid "boosted" |
| 443 | msgstr "impulsado" | 443 | msgstr "impulsado" |
| 444 | 444 | ||
| 445 | #: html.c:2289 | 445 | #: html.c:2383 |
| 446 | msgid "in reply to" | 446 | msgid "in reply to" |
| 447 | msgstr "en respuesta a" | 447 | msgstr "en respuesta a" |
| 448 | 448 | ||
| 449 | #: html.c:2345 | 449 | #: html.c:2439 |
| 450 | msgid " [SENSITIVE CONTENT]" | 450 | msgid " [SENSITIVE CONTENT]" |
| 451 | msgstr " [CONTENIDO SENSIBLE]" | 451 | msgstr " [CONTENIDO SENSIBLE]" |
| 452 | 452 | ||
| 453 | #: html.c:2512 | 453 | #: html.c:2796 |
| 454 | msgid "Vote" | 454 | msgid "Vote" |
| 455 | msgstr "Votar" | 455 | msgstr "Votar" |
| 456 | 456 | ||
| 457 | #: html.c:2522 | 457 | #: html.c:2806 |
| 458 | msgid "Closed" | 458 | msgid "Closed" |
| 459 | msgstr "Cerrado" | 459 | msgstr "Cerrado" |
| 460 | 460 | ||
| 461 | #: html.c:2547 | 461 | #: html.c:2831 |
| 462 | msgid "Closes in" | 462 | msgid "Closes in" |
| 463 | msgstr "Cierra en" | 463 | msgstr "Cierra en" |
| 464 | 464 | ||
| 465 | #: html.c:2627 | 465 | #: html.c:2911 |
| 466 | msgid "Video" | 466 | msgid "Video" |
| 467 | msgstr "Video" | 467 | msgstr "Video" |
| 468 | 468 | ||
| 469 | #: html.c:2642 | 469 | #: html.c:2926 |
| 470 | msgid "Audio" | 470 | msgid "Audio" |
| 471 | msgstr "Audio" | 471 | msgstr "Audio" |
| 472 | 472 | ||
| 473 | #: html.c:2670 | 473 | #: html.c:2954 |
| 474 | msgid "Attachment" | 474 | msgid "Attachment" |
| 475 | msgstr "Adjunto" | 475 | msgstr "Adjunto" |
| 476 | 476 | ||
| 477 | #: html.c:2684 | 477 | #: html.c:2968 |
| 478 | msgid "Alt..." | 478 | msgid "Alt..." |
| 479 | msgstr "Alt..." | 479 | msgstr "Alt..." |
| 480 | 480 | ||
| 481 | #: html.c:2697 | 481 | #: html.c:2981 |
| 482 | msgid "Source channel or community" | 482 | msgid "Source channel or community" |
| 483 | msgstr "Canal o comunidad de origen" | 483 | msgstr "Canal o comunidad de origen" |
| 484 | 484 | ||
| 485 | #: html.c:2791 | 485 | #: html.c:3075 |
| 486 | msgid "Time: " | 486 | msgid "Time: " |
| 487 | msgstr "Hora: " | 487 | msgstr "Hora: " |
| 488 | 488 | ||
| 489 | #: html.c:2872 | 489 | #: html.c:3156 |
| 490 | msgid "Older..." | 490 | msgid "Older..." |
| 491 | msgstr "Más antiguo..." | 491 | msgstr "Más antiguo..." |
| 492 | 492 | ||
| 493 | #: html.c:2974 | 493 | #: html.c:3258 |
| 494 | msgid "about this site" | 494 | msgid "about this site" |
| 495 | msgstr "acerca de este sitio" | 495 | msgstr "acerca de este sitio" |
| 496 | 496 | ||
| 497 | #: html.c:2976 | 497 | #: html.c:3260 |
| 498 | msgid "powered by " | 498 | msgid "powered by " |
| 499 | msgstr "provisto por " | 499 | msgstr "provisto por " |
| 500 | 500 | ||
| 501 | #: html.c:3041 | 501 | #: html.c:3329 |
| 502 | msgid "Dismiss" | 502 | msgid "Dismiss" |
| 503 | msgstr "Descartar" | 503 | msgstr "Descartar" |
| 504 | 504 | ||
| 505 | #: html.c:3058 | 505 | #: html.c:3346 |
| 506 | #, c-format | 506 | #, c-format |
| 507 | msgid "Timeline for list '%s'" | 507 | msgid "Timeline for list '%s'" |
| 508 | msgstr "LÃnea de tiempo de la lista '%s'" | 508 | msgstr "LÃnea de tiempo de la lista '%s'" |
| 509 | 509 | ||
| 510 | #: html.c:3077 html.c:4169 | 510 | #: html.c:3365 html.c:4589 |
| 511 | msgid "Pinned posts" | 511 | msgid "Pinned posts" |
| 512 | msgstr "Publicaciones ancladas" | 512 | msgstr "Publicaciones ancladas" |
| 513 | 513 | ||
| 514 | #: html.c:3089 html.c:4184 | 514 | #: html.c:3377 html.c:4604 |
| 515 | msgid "Bookmarked posts" | 515 | msgid "Bookmarked posts" |
| 516 | msgstr "Publicaciones marcadas" | 516 | msgstr "Publicaciones marcadas" |
| 517 | 517 | ||
| 518 | #: html.c:3101 html.c:4199 | 518 | #: html.c:3389 html.c:4619 |
| 519 | msgid "Post drafts" | 519 | msgid "Post drafts" |
| 520 | msgstr "Borradores de publicaciones" | 520 | msgstr "Borradores de publicaciones" |
| 521 | 521 | ||
| 522 | #: html.c:3177 | 522 | #: html.c:3465 |
| 523 | msgid "No more unseen posts" | 523 | msgid "No more unseen posts" |
| 524 | msgstr "No quedan publicaciones sin ver" | 524 | msgstr "No quedan publicaciones sin ver" |
| 525 | 525 | ||
| 526 | #: html.c:3181 html.c:3290 | 526 | #: html.c:3469 html.c:3578 |
| 527 | msgid "Back to top" | 527 | msgid "Back to top" |
| 528 | msgstr "Volver al inicio" | 528 | msgstr "Volver al inicio" |
| 529 | 529 | ||
| 530 | #: html.c:3243 | 530 | #: html.c:3531 |
| 531 | msgid "History" | 531 | msgid "History" |
| 532 | msgstr "Historia" | 532 | msgstr "Historia" |
| 533 | 533 | ||
| 534 | #: html.c:3295 html.c:3734 | 534 | #: html.c:3583 html.c:4149 |
| 535 | msgid "More..." | 535 | msgid "More..." |
| 536 | msgstr "Más..." | 536 | msgstr "Más..." |
| 537 | 537 | ||
| 538 | #: html.c:3391 html.c:4813 | 538 | #: html.c:3767 html.c:5257 |
| 539 | msgid "Unlimit" | 539 | msgid "Unlimit" |
| 540 | msgstr "Sin lÃmite" | 540 | msgstr "Sin lÃmite" |
| 541 | 541 | ||
| 542 | #: html.c:3392 | 542 | #: html.c:3768 |
| 543 | msgid "Allow announces (boosts) from this user" | 543 | msgid "Allow announces (boosts) from this user" |
| 544 | msgstr "Permitir anuncios (impulsos) de este usuario" | 544 | msgstr "Permitir anuncios (impulsos) de este usuario" |
| 545 | 545 | ||
| 546 | #: html.c:3395 html.c:4809 | 546 | #: html.c:3771 html.c:5253 |
| 547 | msgid "Limit" | 547 | msgid "Limit" |
| 548 | msgstr "LÃmite" | 548 | msgstr "LÃmite" |
| 549 | 549 | ||
| 550 | #: html.c:3396 | 550 | #: html.c:3772 |
| 551 | msgid "Block announces (boosts) from this user" | 551 | msgid "Block announces (boosts) from this user" |
| 552 | msgstr "Bloquear anuncios (impulsos) de este usuario" | 552 | msgstr "Bloquear anuncios (impulsos) de este usuario" |
| 553 | 553 | ||
| 554 | #: html.c:3405 | 554 | #: html.c:3781 |
| 555 | msgid "Delete this user" | 555 | msgid "Delete this user" |
| 556 | msgstr "Eliminar este usuario" | 556 | msgstr "Eliminar este usuario" |
| 557 | 557 | ||
| 558 | #: html.c:3410 html.c:4927 | 558 | #: html.c:3786 html.c:5371 |
| 559 | msgid "Approve" | 559 | msgid "Approve" |
| 560 | msgstr "Aprobar" | 560 | msgstr "Aprobar" |
| 561 | 561 | ||
| 562 | #: html.c:3411 | 562 | #: html.c:3787 |
| 563 | msgid "Approve this follow request" | 563 | msgid "Approve this follow request" |
| 564 | msgstr "Aprobar solicitud de seguimiento" | 564 | msgstr "Aprobar solicitud de seguimiento" |
| 565 | 565 | ||
| 566 | #: html.c:3414 html.c:4951 | 566 | #: html.c:3790 html.c:5395 |
| 567 | msgid "Discard" | 567 | msgid "Discard" |
| 568 | msgstr "Descartar" | 568 | msgstr "Descartar" |
| 569 | 569 | ||
| 570 | #: html.c:3414 | 570 | #: html.c:3790 |
| 571 | msgid "Discard this follow request" | 571 | msgid "Discard this follow request" |
| 572 | msgstr "Descartar solicitud de seguimiento" | 572 | msgstr "Descartar solicitud de seguimiento" |
| 573 | 573 | ||
| 574 | #: html.c:3419 html.c:4795 | 574 | #: html.c:3795 html.c:5239 |
| 575 | msgid "Unmute" | 575 | msgid "Unmute" |
| 576 | msgstr "Dejar de SILENCIAR" | 576 | msgstr "Dejar de SILENCIAR" |
| 577 | 577 | ||
| 578 | #: html.c:3420 | 578 | #: html.c:3796 |
| 579 | msgid "Stop blocking activities from this user" | 579 | msgid "Stop blocking activities from this user" |
| 580 | msgstr "Dejar de bloquear actividad de este usuario" | 580 | msgstr "Dejar de bloquear actividad de este usuario" |
| 581 | 581 | ||
| 582 | #: html.c:3424 | 582 | #: html.c:3800 |
| 583 | msgid "Block any activity from this user" | 583 | msgid "Block any activity from this user" |
| 584 | msgstr "Bloquear toda actividad de este usuario" | 584 | msgstr "Bloquear toda actividad de este usuario" |
| 585 | 585 | ||
| 586 | #: html.c:3432 | 586 | #: html.c:3808 |
| 587 | msgid "Direct Message..." | 587 | msgid "Direct Message..." |
| 588 | msgstr "Mensaje Directo..." | 588 | msgstr "Mensaje Directo..." |
| 589 | 589 | ||
| 590 | #: html.c:3467 | 590 | #: html.c:3843 |
| 591 | msgid "Pending follow confirmations" | 591 | msgid "Pending follow confirmations" |
| 592 | msgstr "Confirmaciones de seguimiento pendientes" | 592 | msgstr "Confirmaciones de seguimiento pendientes" |
| 593 | 593 | ||
| 594 | #: html.c:3471 | 594 | #: html.c:3847 |
| 595 | msgid "People you follow" | 595 | msgid "People you follow" |
| 596 | msgstr "Personas que sigues" | 596 | msgstr "Personas que sigues" |
| 597 | 597 | ||
| 598 | #: html.c:3472 | 598 | #: html.c:3848 |
| 599 | msgid "People that follow you" | 599 | msgid "People that follow you" |
| 600 | msgstr "Personas que te siguen" | 600 | msgstr "Personas que te siguen" |
| 601 | 601 | ||
| 602 | #: html.c:3511 | 602 | #: html.c:3887 |
| 603 | msgid "Clear all" | 603 | msgid "Clear all" |
| 604 | msgstr "Limpiar todo" | 604 | msgstr "Limpiar todo" |
| 605 | 605 | ||
| 606 | #: html.c:3571 | 606 | #: html.c:3951 |
| 607 | msgid "Mention" | 607 | msgid "Mention" |
| 608 | msgstr "Mención" | 608 | msgstr "Mención" |
| 609 | 609 | ||
| 610 | #: html.c:3574 | 610 | #: html.c:3954 |
| 611 | msgid "Finished poll" | 611 | msgid "Finished poll" |
| 612 | msgstr "Encuesta finalizada" | 612 | msgstr "Encuesta finalizada" |
| 613 | 613 | ||
| 614 | #: html.c:3590 | 614 | #: html.c:3979 |
| 615 | msgid "Follow Request" | 615 | msgid "Follow Request" |
| 616 | msgstr "Solicitud de Seguimiento" | 616 | msgstr "Solicitud de Seguimiento" |
| 617 | 617 | ||
| 618 | #: html.c:3674 | 618 | #: html.c:4089 |
| 619 | msgid "Context" | 619 | msgid "Context" |
| 620 | msgstr "Contexto" | 620 | msgstr "Contexto" |
| 621 | 621 | ||
| 622 | #: html.c:3692 | 622 | #: html.c:4107 |
| 623 | msgid "New" | 623 | msgid "New" |
| 624 | msgstr "Nuevo" | 624 | msgstr "Nuevo" |
| 625 | 625 | ||
| 626 | #: html.c:3707 | 626 | #: html.c:4122 |
| 627 | msgid "Already seen" | 627 | msgid "Already seen" |
| 628 | msgstr "Ya visto" | 628 | msgstr "Ya visto" |
| 629 | 629 | ||
| 630 | #: html.c:3722 | 630 | #: html.c:4137 |
| 631 | msgid "None" | 631 | msgid "None" |
| 632 | msgstr "Ninguno" | 632 | msgstr "Ninguno" |
| 633 | 633 | ||
| 634 | #: html.c:3994 | 634 | #: html.c:4414 |
| 635 | #, c-format | 635 | #, c-format |
| 636 | msgid "Search results for account %s" | 636 | msgid "Search results for account %s" |
| 637 | msgstr "Buscar resultados para la cuenta %s" | 637 | msgstr "Buscar resultados para la cuenta %s" |
| 638 | 638 | ||
| 639 | #: html.c:4001 | 639 | #: html.c:4421 |
| 640 | #, c-format | 640 | #, c-format |
| 641 | msgid "Account %s not found" | 641 | msgid "Account %s not found" |
| 642 | msgstr "No se encontró la cuenta %s" | 642 | msgstr "No se encontró la cuenta %s" |
| 643 | 643 | ||
| 644 | #: html.c:4032 | 644 | #: html.c:4452 |
| 645 | #, c-format | 645 | #, c-format |
| 646 | msgid "Search results for tag %s" | 646 | msgid "Search results for tag %s" |
| 647 | msgstr "Buscar resultados para la etiqueta %s" | 647 | msgstr "Buscar resultados para la etiqueta %s" |
| 648 | 648 | ||
| 649 | #: html.c:4032 | 649 | #: html.c:4452 |
| 650 | #, c-format | 650 | #, c-format |
| 651 | msgid "Nothing found for tag %s" | 651 | msgid "Nothing found for tag %s" |
| 652 | msgstr "No se encontró nada con la etiqueta %s" | 652 | msgstr "No se encontró nada con la etiqueta %s" |
| 653 | 653 | ||
| 654 | #: html.c:4048 | 654 | #: html.c:4468 |
| 655 | #, c-format | 655 | #, c-format |
| 656 | msgid "Search results for '%s' (may be more)" | 656 | msgid "Search results for '%s' (may be more)" |
| 657 | msgstr "Resultados de búsqueda para '%s' (puede haber más)" | 657 | msgstr "Resultados de búsqueda para '%s' (puede haber más)" |
| 658 | 658 | ||
| 659 | #: html.c:4051 | 659 | #: html.c:4471 |
| 660 | #, c-format | 660 | #, c-format |
| 661 | msgid "Search results for '%s'" | 661 | msgid "Search results for '%s'" |
| 662 | msgstr "Resultados de búsqueda para '%s'" | 662 | msgstr "Resultados de búsqueda para '%s'" |
| 663 | 663 | ||
| 664 | #: html.c:4054 | 664 | #: html.c:4474 |
| 665 | #, c-format | 665 | #, c-format |
| 666 | msgid "No more matches for '%s'" | 666 | msgid "No more matches for '%s'" |
| 667 | msgstr "No hay más coincidencias para '%s'" | 667 | msgstr "No hay más coincidencias para '%s'" |
| 668 | 668 | ||
| 669 | #: html.c:4056 | 669 | #: html.c:4476 |
| 670 | #, c-format | 670 | #, c-format |
| 671 | msgid "Nothing found for '%s'" | 671 | msgid "Nothing found for '%s'" |
| 672 | msgstr "No se encontró nada para '%s'" | 672 | msgstr "No se encontró nada para '%s'" |
| 673 | 673 | ||
| 674 | #: html.c:4154 | 674 | #: html.c:4574 |
| 675 | msgid "Showing instance timeline" | 675 | msgid "Showing instance timeline" |
| 676 | msgstr "Mostrando lÃnea de tiempo de la instancia" | 676 | msgstr "Mostrando lÃnea de tiempo de la instancia" |
| 677 | 677 | ||
| 678 | #: html.c:4237 | 678 | #: html.c:4657 |
| 679 | #, c-format | 679 | #, c-format |
| 680 | msgid "Showing timeline for list '%s'" | 680 | msgid "Showing timeline for list '%s'" |
| 681 | msgstr "Mostrando lÃnea de tiempo de la lista '%s'" | 681 | msgstr "Mostrando lÃnea de tiempo de la lista '%s'" |
| 682 | 682 | ||
| 683 | #: httpd.c:258 | 683 | #: httpd.c:259 |
| 684 | #, c-format | 684 | #, c-format |
| 685 | msgid "Search results for tag #%s" | 685 | msgid "Search results for tag #%s" |
| 686 | msgstr "Resultado de búsqueda para la etiqueta #%s" | 686 | msgstr "Resultado de búsqueda para la etiqueta #%s" |
| 687 | 687 | ||
| 688 | #: httpd.c:267 | 688 | #: httpd.c:268 |
| 689 | msgid "Recent posts by users in this instance" | 689 | msgid "Recent posts by users in this instance" |
| 690 | msgstr "Publicaciones recientes de los usuarios de esta instancia" | 690 | msgstr "Publicaciones recientes de los usuarios de esta instancia" |
| 691 | 691 | ||
| 692 | #: html.c:1764 | 692 | #: html.c:1842 |
| 693 | msgid "Blocked hashtags..." | 693 | msgid "Blocked hashtags..." |
| 694 | msgstr "Etiquetas bloqueadas..." | 694 | msgstr "Etiquetas bloqueadas..." |
| 695 | 695 | ||
| 696 | #: html.c:518 | 696 | #: html.c:574 |
| 697 | msgid "Optional URL to reply to" | 697 | msgid "Optional URL to reply to" |
| 698 | msgstr "URL opcional a la que responder" | 698 | msgstr "URL opcional a la que responder" |
| 699 | 699 | ||
| 700 | #: html.c:695 | 700 | #: html.c:751 |
| 701 | msgid "" | 701 | msgid "" |
| 702 | "Option 1...\n" | 702 | "Option 1...\n" |
| 703 | "Option 2...\n" | 703 | "Option 2...\n" |
| @@ -709,91 +709,103 @@ msgstr "" | |||
| 709 | "Opción 3...\n" | 709 | "Opción 3...\n" |
| 710 | "..." | 710 | "..." |
| 711 | 711 | ||
| 712 | #: html.c:1558 | 712 | #: html.c:1636 |
| 713 | msgid "Bot API key" | 713 | msgid "Bot API key" |
| 714 | msgstr "Clave del API del Bot" | 714 | msgstr "Clave del API del Bot" |
| 715 | 715 | ||
| 716 | #: html.c:1564 | 716 | #: html.c:1642 |
| 717 | msgid "Chat id" | 717 | msgid "Chat id" |
| 718 | msgstr "Identificador de chat" | 718 | msgstr "Identificador de chat" |
| 719 | 719 | ||
| 720 | #: html.c:1572 | 720 | #: html.c:1650 |
| 721 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 721 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 722 | msgstr "Servidor ntfy - URL completa (example: https://ntfy.sh/YourTopic)" | 722 | msgstr "Servidor ntfy - URL completa (example: https://ntfy.sh/YourTopic)" |
| 723 | 723 | ||
| 724 | #: html.c:1578 | 724 | #: html.c:1656 |
| 725 | msgid "ntfy token - if needed" | 725 | msgid "ntfy token - if needed" |
| 726 | msgstr "Token ntft - si es necesario" | 726 | msgstr "Token ntft - si es necesario" |
| 727 | 727 | ||
| 728 | #: html.c:3078 | 728 | #: html.c:3366 |
| 729 | msgid "pinned" | 729 | msgid "pinned" |
| 730 | msgstr "Anclados" | 730 | msgstr "Anclados" |
| 731 | 731 | ||
| 732 | #: html.c:3090 | 732 | #: html.c:3378 |
| 733 | msgid "bookmarks" | 733 | msgid "bookmarks" |
| 734 | msgstr "Marcados" | 734 | msgstr "Marcados" |
| 735 | 735 | ||
| 736 | #: html.c:3102 | 736 | #: html.c:3390 |
| 737 | msgid "drafts" | 737 | msgid "drafts" |
| 738 | msgstr "Borradores" | 738 | msgstr "Borradores" |
| 739 | 739 | ||
| 740 | #: html.c:584 | 740 | #: html.c:640 |
| 741 | msgid "Scheduled post..." | 741 | msgid "Scheduled post..." |
| 742 | msgstr "EnvÃo programado..." | 742 | msgstr "EnvÃo programado..." |
| 743 | 743 | ||
| 744 | #: html.c:3113 html.c:4214 | 744 | #: html.c:3401 html.c:4634 |
| 745 | msgid "Scheduled posts" | 745 | msgid "Scheduled posts" |
| 746 | msgstr "EnvÃos programados" | 746 | msgstr "EnvÃos programados" |
| 747 | 747 | ||
| 748 | #: html.c:3114 | 748 | #: html.c:3402 |
| 749 | msgid "scheduled posts" | 749 | msgid "scheduled posts" |
| 750 | msgstr "envÃos programados" | 750 | msgstr "envÃos programados" |
| 751 | 751 | ||
| 752 | #: html.c:578 | 752 | #: html.c:634 |
| 753 | #, c-format | 753 | #, c-format |
| 754 | msgid "Post date and time (timezone: %s):" | 754 | msgid "Post date and time (timezone: %s):" |
| 755 | msgstr "Fecha y hora de publicación (zona horaria: %s):" | 755 | msgstr "Fecha y hora de publicación (zona horaria: %s):" |
| 756 | 756 | ||
| 757 | #: html.c:1689 | 757 | #: html.c:1767 |
| 758 | msgid "Time zone:" | 758 | msgid "Time zone:" |
| 759 | msgstr "Zona horaria:" | 759 | msgstr "Zona horaria:" |
| 760 | 760 | ||
| 761 | #: html.c:559 | 761 | #: html.c:615 |
| 762 | msgid "Language:" | 762 | msgid "Language:" |
| 763 | msgstr "Idioma:" | 763 | msgstr "Idioma:" |
| 764 | 764 | ||
| 765 | #: html.c:1580 | 765 | #: html.c:1658 |
| 766 | msgid "Notify webhook:" | 766 | msgid "Notify webhook:" |
| 767 | msgstr "Webhook de notificación:" | 767 | msgstr "Webhook de notificación:" |
| 768 | 768 | ||
| 769 | #: html.c:1586 | 769 | #: html.c:1664 |
| 770 | msgid "http://example.com/webhook" | 770 | msgid "http://example.com/webhook" |
| 771 | msgstr "" | 771 | msgstr "" |
| 772 | 772 | ||
| 773 | #: html.c:1694 | 773 | #: html.c:1772 |
| 774 | msgid "Languages you usually post in:" | 774 | msgid "Languages you usually post in:" |
| 775 | msgstr "Idiomas en los que sueles escribir:" | 775 | msgstr "Idiomas en los que sueles escribir:" |
| 776 | 776 | ||
| 777 | #: html.c:1700 | 777 | #: html.c:1778 |
| 778 | msgid "en fr es de_AT" | 778 | msgid "en fr es de_AT" |
| 779 | msgstr "" | 779 | msgstr "" |
| 780 | 780 | ||
| 781 | #: html.c:460 | 781 | #: html.c:428 |
| 782 | msgid "Visibility: " | 782 | msgid "Visibility: " |
| 783 | msgstr "Visibilidad: " | 783 | msgstr "Visibilidad: " |
| 784 | 784 | ||
| 785 | #: html.c:468 | ||
| 786 | msgid "Public" | 785 | msgid "Public" |
| 787 | msgstr "Público" | 786 | msgstr "Público" |
| 788 | 787 | ||
| 789 | #: html.c:477 | ||
| 790 | msgid "Unlisted" | 788 | msgid "Unlisted" |
| 791 | msgstr "No listado" | 789 | msgstr "No listado" |
| 792 | 790 | ||
| 793 | #: html.c:486 | ||
| 794 | msgid "Followers-only" | 791 | msgid "Followers-only" |
| 795 | msgstr "Solo seguidores" | 792 | msgstr "Solo seguidores" |
| 796 | 793 | ||
| 797 | #: html.c:495 | ||
| 798 | msgid "Direct Message" | 794 | msgid "Direct Message" |
| 799 | msgstr "Mensaje directo" | 795 | msgstr "Mensaje directo" |
| 796 | |||
| 797 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 798 | msgid "EmojiUnreact" | ||
| 799 | msgstr "" | ||
| 800 | |||
| 801 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 802 | msgid "EmojiReact" | ||
| 803 | msgstr "" | ||
| 804 | |||
| 805 | #: html.c:2115 | ||
| 806 | msgid "Emoji react..." | ||
| 807 | msgstr "Reaccionar con un emoji..." | ||
| 808 | |||
| 809 | #: html.c:2609 | ||
| 810 | msgid "Emoji reactions: " | ||
| 811 | msgstr "Reacciones con emoji: " | ||
| @@ -8,119 +8,119 @@ msgstr "" | |||
| 8 | "Language: fi\n" | 8 | "Language: fi\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Arkaluontoista sisältöä: " | 13 | msgstr "Arkaluontoista sisältöä: " |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Arkaluontoisen sisällön kuvaus" | 17 | msgstr "Arkaluontoisen sisällön kuvaus" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Vain mainituille: " | 20 | msgstr "Vain mainituille: " |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Vastaus (osoite): " | 24 | msgstr "Vastaus (osoite): " |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "Älä lähetä, tallenna luonnoksena" | 28 | msgstr "Älä lähetä, tallenna luonnoksena" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Luonnos:" | 32 | msgstr "Luonnos:" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "Liitteet..." | 36 | msgstr "Liitteet..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "Tiedosto:" | 40 | msgstr "Tiedosto:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Tyhjennä kenttä poistaaksesi liiteen" | 44 | msgstr "Tyhjennä kenttä poistaaksesi liiteen" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Liitteen kuvaus" | 48 | msgstr "Liitteen kuvaus" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Kysely..." | 52 | msgstr "Kysely..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Kyselyn vaihtoehdot (riveittäin, korkeintaan 8):" | 56 | msgstr "Kyselyn vaihtoehdot (riveittäin, korkeintaan 8):" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Yksi valinta" | 60 | msgstr "Yksi valinta" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Monta valintaa" | 64 | msgstr "Monta valintaa" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Päättyy viiden minuutin päästä" | 68 | msgstr "Päättyy viiden minuutin päästä" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Päättyy tunnin päästä" | 72 | msgstr "Päättyy tunnin päästä" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Päättyy päivän päästä" | 76 | msgstr "Päättyy päivän päästä" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Julkaise" | 80 | msgstr "Julkaise" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Sivuston kuvaus" | 84 | msgstr "Sivuston kuvaus" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Ylläpitäjän sähköposti" | 88 | msgstr "Ylläpitäjän sähköposti" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "Ylläpitäjän tili" | 92 | msgstr "Ylläpitäjän tili" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "Seuraa %d, %d seuraajaa" | 97 | msgstr "Seuraa %d, %d seuraajaa" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "yksityinen" | 105 | msgstr "yksityinen" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "julkinen" | 109 | msgstr "julkinen" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "ilmoitukset" | 113 | msgstr "ilmoitukset" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "ihmiset" | 117 | msgstr "ihmiset" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "palvelin" | 121 | msgstr "palvelin" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| @@ -128,574 +128,574 @@ msgstr "" | |||
| 128 | "Etsi julkaisuja osoitteella tai sisällön perusteella, @käyttäjä@palvelin " | 128 | "Etsi julkaisuja osoitteella tai sisällön perusteella, @käyttäjä@palvelin " |
| 129 | "tai #tagi" | 129 | "tai #tagi" |
| 130 | 130 | ||
| 131 | #: html.c:1087 | 131 | #: html.c:1143 |
| 132 | msgid "Content search" | 132 | msgid "Content search" |
| 133 | msgstr "Sisälöhaku" | 133 | msgstr "Sisälöhaku" |
| 134 | 134 | ||
| 135 | #: html.c:1213 | 135 | #: html.c:1269 |
| 136 | msgid "verified link" | 136 | msgid "verified link" |
| 137 | msgstr "varmistettu linkki" | 137 | msgstr "varmistettu linkki" |
| 138 | 138 | ||
| 139 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 139 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 140 | msgid "Location: " | 140 | msgid "Location: " |
| 141 | msgstr "Sijainti: " | 141 | msgstr "Sijainti: " |
| 142 | 142 | ||
| 143 | #: html.c:1302 | 143 | #: html.c:1358 |
| 144 | msgid "New Post..." | 144 | msgid "New Post..." |
| 145 | msgstr "Uusi julkaisu..." | 145 | msgstr "Uusi julkaisu..." |
| 146 | 146 | ||
| 147 | #: html.c:1304 | 147 | #: html.c:1360 |
| 148 | msgid "What's on your mind?" | 148 | msgid "What's on your mind?" |
| 149 | msgstr "Mitä on mielessäsi?" | 149 | msgstr "Mitä on mielessäsi?" |
| 150 | 150 | ||
| 151 | #: html.c:1313 | 151 | #: html.c:1369 |
| 152 | msgid "Operations..." | 152 | msgid "Operations..." |
| 153 | msgstr "Toiminnot..." | 153 | msgstr "Toiminnot..." |
| 154 | 154 | ||
| 155 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 155 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 156 | msgid "Follow" | 156 | msgid "Follow" |
| 157 | msgstr "Seuraa" | 157 | msgstr "Seuraa" |
| 158 | 158 | ||
| 159 | #: html.c:1330 | 159 | #: html.c:1386 |
| 160 | msgid "(by URL or user@host)" | 160 | msgid "(by URL or user@host)" |
| 161 | msgstr "(osoite tai käyttäjä@palvelin)" | 161 | msgstr "(osoite tai käyttäjä@palvelin)" |
| 162 | 162 | ||
| 163 | #: html.c:1345 html.c:1925 html.c:4766 | 163 | #: html.c:1401 html.c:2003 html.c:5210 |
| 164 | msgid "Boost" | 164 | msgid "Boost" |
| 165 | msgstr "Tehosta" | 165 | msgstr "Tehosta" |
| 166 | 166 | ||
| 167 | #: html.c:1347 html.c:1364 | 167 | #: html.c:1403 html.c:1420 html.c:1442 |
| 168 | msgid "(by URL)" | 168 | msgid "(by URL)" |
| 169 | msgstr "(osoite)" | 169 | msgstr "(osoite)" |
| 170 | 170 | ||
| 171 | #: html.c:1362 html.c:1904 html.c:4757 | 171 | #: html.c:1418 html.c:1982 html.c:5201 |
| 172 | msgid "Like" | 172 | msgid "Like" |
| 173 | msgstr "Tykkää" | 173 | msgstr "Tykkää" |
| 174 | 174 | ||
| 175 | #: html.c:1490 | 175 | #: html.c:1568 |
| 176 | msgid "User Settings..." | 176 | msgid "User Settings..." |
| 177 | msgstr "Käyttäjäasetukset..." | 177 | msgstr "Käyttäjäasetukset..." |
| 178 | 178 | ||
| 179 | #: html.c:1499 | 179 | #: html.c:1577 |
| 180 | msgid "Display name:" | 180 | msgid "Display name:" |
| 181 | msgstr "Näytetty nimi:" | 181 | msgstr "Näytetty nimi:" |
| 182 | 182 | ||
| 183 | #: html.c:1505 | 183 | #: html.c:1583 |
| 184 | msgid "Your name" | 184 | msgid "Your name" |
| 185 | msgstr "Nimesi" | 185 | msgstr "Nimesi" |
| 186 | 186 | ||
| 187 | #: html.c:1507 | 187 | #: html.c:1585 |
| 188 | msgid "Avatar: " | 188 | msgid "Avatar: " |
| 189 | msgstr "Avatar: " | 189 | msgstr "Avatar: " |
| 190 | 190 | ||
| 191 | #: html.c:1515 | 191 | #: html.c:1593 |
| 192 | msgid "Delete current avatar" | 192 | msgid "Delete current avatar" |
| 193 | msgstr "Poista nykyinen avatar" | 193 | msgstr "Poista nykyinen avatar" |
| 194 | 194 | ||
| 195 | #: html.c:1517 | 195 | #: html.c:1595 |
| 196 | msgid "Header image (banner): " | 196 | msgid "Header image (banner): " |
| 197 | msgstr "Otsikkokuva: " | 197 | msgstr "Otsikkokuva: " |
| 198 | 198 | ||
| 199 | #: html.c:1525 | 199 | #: html.c:1603 |
| 200 | msgid "Delete current header image" | 200 | msgid "Delete current header image" |
| 201 | msgstr "Poista nykyinen otsikkokuva" | 201 | msgstr "Poista nykyinen otsikkokuva" |
| 202 | 202 | ||
| 203 | #: html.c:1527 | 203 | #: html.c:1605 |
| 204 | msgid "Bio:" | 204 | msgid "Bio:" |
| 205 | msgstr "Kuvaus:" | 205 | msgstr "Kuvaus:" |
| 206 | 206 | ||
| 207 | #: html.c:1533 | 207 | #: html.c:1611 |
| 208 | msgid "Write about yourself here..." | 208 | msgid "Write about yourself here..." |
| 209 | msgstr "Kirjoita itsestäsi tähän..." | 209 | msgstr "Kirjoita itsestäsi tähän..." |
| 210 | 210 | ||
| 211 | #: html.c:1542 | 211 | #: html.c:1620 |
| 212 | msgid "Always show sensitive content" | 212 | msgid "Always show sensitive content" |
| 213 | msgstr "Näytä arkaluontoinen sisältö aina" | 213 | msgstr "Näytä arkaluontoinen sisältö aina" |
| 214 | 214 | ||
| 215 | #: html.c:1544 | 215 | #: html.c:1622 |
| 216 | msgid "Email address for notifications:" | 216 | msgid "Email address for notifications:" |
| 217 | msgstr "Sähköposti ilmoituksille:" | 217 | msgstr "Sähköposti ilmoituksille:" |
| 218 | 218 | ||
| 219 | #: html.c:1552 | 219 | #: html.c:1630 |
| 220 | msgid "Telegram notifications (bot key and chat id):" | 220 | msgid "Telegram notifications (bot key and chat id):" |
| 221 | msgstr "Telegram-ilmoitukset (botin avain ja chat id):" | 221 | msgstr "Telegram-ilmoitukset (botin avain ja chat id):" |
| 222 | 222 | ||
| 223 | #: html.c:1566 | 223 | #: html.c:1644 |
| 224 | msgid "ntfy notifications (ntfy server and token):" | 224 | msgid "ntfy notifications (ntfy server and token):" |
| 225 | msgstr "nfty-ilmoitukset (ntfy-palvelin ja token):" | 225 | msgstr "nfty-ilmoitukset (ntfy-palvelin ja token):" |
| 226 | 226 | ||
| 227 | #: html.c:1588 | 227 | #: html.c:1666 |
| 228 | msgid "Maximum days to keep posts (0: server settings):" | 228 | msgid "Maximum days to keep posts (0: server settings):" |
| 229 | msgstr "Säilytä julkaisut korkeintaan (päivää, 0: palvelimen asetukset)" | 229 | msgstr "Säilytä julkaisut korkeintaan (päivää, 0: palvelimen asetukset)" |
| 230 | 230 | ||
| 231 | #: html.c:1602 | 231 | #: html.c:1680 |
| 232 | msgid "Drop direct messages from people you don't follow" | 232 | msgid "Drop direct messages from people you don't follow" |
| 233 | msgstr "Poista yksityisviestit ihmisiltä, joita et seuraa" | 233 | msgstr "Poista yksityisviestit ihmisiltä, joita et seuraa" |
| 234 | 234 | ||
| 235 | #: html.c:1611 | 235 | #: html.c:1689 |
| 236 | msgid "This account is a bot" | 236 | msgid "This account is a bot" |
| 237 | msgstr "Tämä tili on botti" | 237 | msgstr "Tämä tili on botti" |
| 238 | 238 | ||
| 239 | #: html.c:1620 | 239 | #: html.c:1698 |
| 240 | msgid "Auto-boost all mentions to this account" | 240 | msgid "Auto-boost all mentions to this account" |
| 241 | msgstr "Tehosta tilin maininnat automaattisesti" | 241 | msgstr "Tehosta tilin maininnat automaattisesti" |
| 242 | 242 | ||
| 243 | #: html.c:1629 | 243 | #: html.c:1707 |
| 244 | msgid "This account is private (posts are not shown through the web)" | 244 | msgid "This account is private (posts are not shown through the web)" |
| 245 | msgstr "Tili on yksityinen (julkaisuja ei näytetä sivustolla)" | 245 | msgstr "Tili on yksityinen (julkaisuja ei näytetä sivustolla)" |
| 246 | 246 | ||
| 247 | #: html.c:1639 | 247 | #: html.c:1717 |
| 248 | msgid "Collapse top threads by default" | 248 | msgid "Collapse top threads by default" |
| 249 | msgstr "Avaa säikeet automaattisesti" | 249 | msgstr "Avaa säikeet automaattisesti" |
| 250 | 250 | ||
| 251 | #: html.c:1648 | 251 | #: html.c:1726 |
| 252 | msgid "Follow requests must be approved" | 252 | msgid "Follow requests must be approved" |
| 253 | msgstr "Vaadi hyväksyntä seurantapyynnöille" | 253 | msgstr "Vaadi hyväksyntä seurantapyynnöille" |
| 254 | 254 | ||
| 255 | #: html.c:1657 | 255 | #: html.c:1735 |
| 256 | msgid "Publish follower and following metrics" | 256 | msgid "Publish follower and following metrics" |
| 257 | msgstr "Julkaise seuraamistilastot" | 257 | msgstr "Julkaise seuraamistilastot" |
| 258 | 258 | ||
| 259 | #: html.c:1659 | 259 | #: html.c:1737 |
| 260 | msgid "Current location:" | 260 | msgid "Current location:" |
| 261 | msgstr "Nykyinen sijainti:" | 261 | msgstr "Nykyinen sijainti:" |
| 262 | 262 | ||
| 263 | #: html.c:1673 | 263 | #: html.c:1751 |
| 264 | msgid "Profile metadata (key=value pairs in each line):" | 264 | msgid "Profile metadata (key=value pairs in each line):" |
| 265 | msgstr "Profiilin metadata (avain=arvo, riveittäin):" | 265 | msgstr "Profiilin metadata (avain=arvo, riveittäin):" |
| 266 | 266 | ||
| 267 | #: html.c:1684 | 267 | #: html.c:1762 |
| 268 | msgid "Web interface language:" | 268 | msgid "Web interface language:" |
| 269 | msgstr "Käyttöliitymän kieli:" | 269 | msgstr "Käyttöliitymän kieli:" |
| 270 | 270 | ||
| 271 | #: html.c:1703 | 271 | #: html.c:1781 |
| 272 | msgid "New password:" | 272 | msgid "New password:" |
| 273 | msgstr "Uusi salasana:" | 273 | msgstr "Uusi salasana:" |
| 274 | 274 | ||
| 275 | #: html.c:1710 | 275 | #: html.c:1788 |
| 276 | msgid "Repeat new password:" | 276 | msgid "Repeat new password:" |
| 277 | msgstr "Toista salasana:" | 277 | msgstr "Toista salasana:" |
| 278 | 278 | ||
| 279 | #: html.c:1720 | 279 | #: html.c:1798 |
| 280 | msgid "Update user info" | 280 | msgid "Update user info" |
| 281 | msgstr "Päivitä käyttäjätiedot" | 281 | msgstr "Päivitä käyttäjätiedot" |
| 282 | 282 | ||
| 283 | #: html.c:1731 | 283 | #: html.c:1809 |
| 284 | msgid "Followed hashtags..." | 284 | msgid "Followed hashtags..." |
| 285 | msgstr "Seuratut aihetunnisteet..." | 285 | msgstr "Seuratut aihetunnisteet..." |
| 286 | 286 | ||
| 287 | #: html.c:1733 html.c:1766 | 287 | #: html.c:1811 html.c:1844 |
| 288 | msgid "One hashtag per line" | 288 | msgid "One hashtag per line" |
| 289 | msgstr "Aihetunnisteet, riveittäin" | 289 | msgstr "Aihetunnisteet, riveittäin" |
| 290 | 290 | ||
| 291 | #: html.c:1755 html.c:1787 | 291 | #: html.c:1833 html.c:1865 |
| 292 | msgid "Update hashtags" | 292 | msgid "Update hashtags" |
| 293 | msgstr "Päivitä aihetunnisteet" | 293 | msgstr "Päivitä aihetunnisteet" |
| 294 | 294 | ||
| 295 | #: html.c:1904 | 295 | #: html.c:1982 |
| 296 | msgid "Say you like this post" | 296 | msgid "Say you like this post" |
| 297 | msgstr "Tykkää tästä julkaisusta" | 297 | msgstr "Tykkää tästä julkaisusta" |
| 298 | 298 | ||
| 299 | #: html.c:1909 html.c:4775 | 299 | #: html.c:1987 html.c:5219 |
| 300 | msgid "Unlike" | 300 | msgid "Unlike" |
| 301 | msgstr "Poista tykkäys" | 301 | msgstr "Poista tykkäys" |
| 302 | 302 | ||
| 303 | #: html.c:1909 | 303 | #: html.c:1987 |
| 304 | msgid "Nah don't like it that much" | 304 | msgid "Nah don't like it that much" |
| 305 | msgstr "Ei ole omaan makuuni" | 305 | msgstr "Ei ole omaan makuuni" |
| 306 | 306 | ||
| 307 | #: html.c:1915 html.c:4912 | 307 | #: html.c:1993 html.c:5356 |
| 308 | msgid "Unpin" | 308 | msgid "Unpin" |
| 309 | msgstr "Poista kiinnitys" | 309 | msgstr "Poista kiinnitys" |
| 310 | 310 | ||
| 311 | #: html.c:1915 | 311 | #: html.c:1993 |
| 312 | msgid "Unpin this post from your timeline" | 312 | msgid "Unpin this post from your timeline" |
| 313 | msgstr "Poista julkaisun kiinnitys aikajanalle" | 313 | msgstr "Poista julkaisun kiinnitys aikajanalle" |
| 314 | 314 | ||
| 315 | #: html.c:1918 html.c:4907 | 315 | #: html.c:1996 html.c:5351 |
| 316 | msgid "Pin" | 316 | msgid "Pin" |
| 317 | msgstr "Kiinnitä" | 317 | msgstr "Kiinnitä" |
| 318 | 318 | ||
| 319 | #: html.c:1918 | 319 | #: html.c:1996 |
| 320 | msgid "Pin this post to the top of your timeline" | 320 | msgid "Pin this post to the top of your timeline" |
| 321 | msgstr "Kiinnitä julkaisu aikajanasi alkuun" | 321 | msgstr "Kiinnitä julkaisu aikajanasi alkuun" |
| 322 | 322 | ||
| 323 | #: html.c:1925 | 323 | #: html.c:2003 |
| 324 | msgid "Announce this post to your followers" | 324 | msgid "Announce this post to your followers" |
| 325 | msgstr "Ilmoita julkaisusta seuraajillesi" | 325 | msgstr "Ilmoita julkaisusta seuraajillesi" |
| 326 | 326 | ||
| 327 | #: html.c:1930 html.c:4783 | 327 | #: html.c:2008 html.c:5227 |
| 328 | msgid "Unboost" | 328 | msgid "Unboost" |
| 329 | msgstr "Poista tehostus" | 329 | msgstr "Poista tehostus" |
| 330 | 330 | ||
| 331 | #: html.c:1930 | 331 | #: html.c:2008 |
| 332 | msgid "I regret I boosted this" | 332 | msgid "I regret I boosted this" |
| 333 | msgstr "Kadun tehostaneeni tätä" | 333 | msgstr "Kadun tehostaneeni tätä" |
| 334 | 334 | ||
| 335 | #: html.c:1936 html.c:4922 | 335 | #: html.c:2014 html.c:5366 |
| 336 | msgid "Unbookmark" | 336 | msgid "Unbookmark" |
| 337 | msgstr "Poista kirjanmerkki" | 337 | msgstr "Poista kirjanmerkki" |
| 338 | 338 | ||
| 339 | #: html.c:1936 | 339 | #: html.c:2014 |
| 340 | msgid "Delete this post from your bookmarks" | 340 | msgid "Delete this post from your bookmarks" |
| 341 | msgstr "Poista julkaisu kirjanmerkeistäsi" | 341 | msgstr "Poista julkaisu kirjanmerkeistäsi" |
| 342 | 342 | ||
| 343 | #: html.c:1939 html.c:4917 | 343 | #: html.c:2017 html.c:5361 |
| 344 | msgid "Bookmark" | 344 | msgid "Bookmark" |
| 345 | msgstr "Lisää kirjanmerkki" | 345 | msgstr "Lisää kirjanmerkki" |
| 346 | 346 | ||
| 347 | #: html.c:1939 | 347 | #: html.c:2017 |
| 348 | msgid "Add this post to your bookmarks" | 348 | msgid "Add this post to your bookmarks" |
| 349 | msgstr "Lisää julkaisu kirjanmerkkeihisi" | 349 | msgstr "Lisää julkaisu kirjanmerkkeihisi" |
| 350 | 350 | ||
| 351 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 351 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 352 | msgid "Unfollow" | 352 | msgid "Unfollow" |
| 353 | msgstr "Älä seuraa" | 353 | msgstr "Älä seuraa" |
| 354 | 354 | ||
| 355 | #: html.c:1945 html.c:3387 | 355 | #: html.c:2023 html.c:3763 html.c:4042 |
| 356 | msgid "Stop following this user's activity" | 356 | msgid "Stop following this user's activity" |
| 357 | msgstr "Lakkaa seuraamasta käyttäjän toimintaa" | 357 | msgstr "Lakkaa seuraamasta käyttäjän toimintaa" |
| 358 | 358 | ||
| 359 | #: html.c:1949 html.c:3401 | 359 | #: html.c:2027 html.c:3777 html.c:4044 |
| 360 | msgid "Start following this user's activity" | 360 | msgid "Start following this user's activity" |
| 361 | msgstr "Seuraa käyttäjän toimintaa" | 361 | msgstr "Seuraa käyttäjän toimintaa" |
| 362 | 362 | ||
| 363 | #: html.c:1955 html.c:4860 | 363 | #: html.c:2033 html.c:5304 |
| 364 | msgid "Unfollow Group" | 364 | msgid "Unfollow Group" |
| 365 | msgstr "Älä seuraa ryhmää" | 365 | msgstr "Älä seuraa ryhmää" |
| 366 | 366 | ||
| 367 | #: html.c:1956 | 367 | #: html.c:2034 |
| 368 | msgid "Stop following this group or channel" | 368 | msgid "Stop following this group or channel" |
| 369 | msgstr "Lopeta ryhnän tai kanavan seuraaminen" | 369 | msgstr "Lopeta ryhnän tai kanavan seuraaminen" |
| 370 | 370 | ||
| 371 | #: html.c:1960 html.c:4847 | 371 | #: html.c:2038 html.c:5291 |
| 372 | msgid "Follow Group" | 372 | msgid "Follow Group" |
| 373 | msgstr "Seuraa ryhmää" | 373 | msgstr "Seuraa ryhmää" |
| 374 | 374 | ||
| 375 | #: html.c:1961 | 375 | #: html.c:2039 |
| 376 | msgid "Start following this group or channel" | 376 | msgid "Start following this group or channel" |
| 377 | msgstr "Seuraa tätä ryhmää tai kanavaa" | 377 | msgstr "Seuraa tätä ryhmää tai kanavaa" |
| 378 | 378 | ||
| 379 | #: html.c:1966 html.c:3423 html.c:4791 | 379 | #: html.c:2044 html.c:3799 html.c:5235 |
| 380 | msgid "MUTE" | 380 | msgid "MUTE" |
| 381 | msgstr "VAIMENNA" | 381 | msgstr "VAIMENNA" |
| 382 | 382 | ||
| 383 | #: html.c:1967 | 383 | #: html.c:2045 |
| 384 | msgid "Block any activity from this user forever" | 384 | msgid "Block any activity from this user forever" |
| 385 | msgstr "Estä kaikki toiminta tältä käyttäjältä" | 385 | msgstr "Estä kaikki toiminta tältä käyttäjältä" |
| 386 | 386 | ||
| 387 | #: html.c:1972 html.c:3405 html.c:4877 | 387 | #: html.c:2050 html.c:3781 html.c:5321 |
| 388 | msgid "Delete" | 388 | msgid "Delete" |
| 389 | msgstr "Poista" | 389 | msgstr "Poista" |
| 390 | 390 | ||
| 391 | #: html.c:1972 | 391 | #: html.c:2050 |
| 392 | msgid "Delete this post" | 392 | msgid "Delete this post" |
| 393 | msgstr "Poista julkaisu" | 393 | msgstr "Poista julkaisu" |
| 394 | 394 | ||
| 395 | #: html.c:1975 html.c:4799 | 395 | #: html.c:2053 html.c:5243 |
| 396 | msgid "Hide" | 396 | msgid "Hide" |
| 397 | msgstr "Piilota" | 397 | msgstr "Piilota" |
| 398 | 398 | ||
| 399 | #: html.c:1975 | 399 | #: html.c:2053 |
| 400 | msgid "Hide this post and its children" | 400 | msgid "Hide this post and its children" |
| 401 | msgstr "Piilota julkaisu ja vastaukset" | 401 | msgstr "Piilota julkaisu ja vastaukset" |
| 402 | 402 | ||
| 403 | #: html.c:2017 | 403 | #: html.c:2095 |
| 404 | msgid "Edit..." | 404 | msgid "Edit..." |
| 405 | msgstr "Muokkaa..." | 405 | msgstr "Muokkaa..." |
| 406 | 406 | ||
| 407 | #: html.c:2039 | 407 | #: html.c:2133 |
| 408 | msgid "Reply..." | 408 | msgid "Reply..." |
| 409 | msgstr "Vastaa..." | 409 | msgstr "Vastaa..." |
| 410 | 410 | ||
| 411 | #: html.c:2090 | 411 | #: html.c:2184 |
| 412 | msgid "Truncated (too deep)" | 412 | msgid "Truncated (too deep)" |
| 413 | msgstr "Katkaistu (liian syvä)" | 413 | msgstr "Katkaistu (liian syvä)" |
| 414 | 414 | ||
| 415 | #: html.c:2108 | 415 | #: html.c:2202 |
| 416 | msgid "follows you" | 416 | msgid "follows you" |
| 417 | msgstr "seuraa sinua" | 417 | msgstr "seuraa sinua" |
| 418 | 418 | ||
| 419 | #: html.c:2182 | 419 | #: html.c:2276 |
| 420 | msgid "Pinned" | 420 | msgid "Pinned" |
| 421 | msgstr "Kiinnitetty" | 421 | msgstr "Kiinnitetty" |
| 422 | 422 | ||
| 423 | #: html.c:2190 | 423 | #: html.c:2284 |
| 424 | msgid "Bookmarked" | 424 | msgid "Bookmarked" |
| 425 | msgstr "Kirjanmerkitty" | 425 | msgstr "Kirjanmerkitty" |
| 426 | 426 | ||
| 427 | #: html.c:2198 | 427 | #: html.c:2292 |
| 428 | msgid "Poll" | 428 | msgid "Poll" |
| 429 | msgstr "Kysely" | 429 | msgstr "Kysely" |
| 430 | 430 | ||
| 431 | #: html.c:2205 | 431 | #: html.c:2299 |
| 432 | msgid "Voted" | 432 | msgid "Voted" |
| 433 | msgstr "Äänestetty" | 433 | msgstr "Äänestetty" |
| 434 | 434 | ||
| 435 | #: html.c:2214 | 435 | #: html.c:2308 |
| 436 | msgid "Event" | 436 | msgid "Event" |
| 437 | msgstr "Tapahtuma" | 437 | msgstr "Tapahtuma" |
| 438 | 438 | ||
| 439 | #: html.c:2246 html.c:2275 | 439 | #: html.c:2340 html.c:2369 |
| 440 | msgid "boosted" | 440 | msgid "boosted" |
| 441 | msgstr "tehostettu" | 441 | msgstr "tehostettu" |
| 442 | 442 | ||
| 443 | #: html.c:2289 | 443 | #: html.c:2383 |
| 444 | msgid "in reply to" | 444 | msgid "in reply to" |
| 445 | msgstr "vastauksena" | 445 | msgstr "vastauksena" |
| 446 | 446 | ||
| 447 | #: html.c:2345 | 447 | #: html.c:2439 |
| 448 | msgid " [SENSITIVE CONTENT]" | 448 | msgid " [SENSITIVE CONTENT]" |
| 449 | msgstr " [ARKALUONTOISTA SISÄLTÖÄ]" | 449 | msgstr " [ARKALUONTOISTA SISÄLTÖÄ]" |
| 450 | 450 | ||
| 451 | #: html.c:2512 | 451 | #: html.c:2796 |
| 452 | msgid "Vote" | 452 | msgid "Vote" |
| 453 | msgstr "Äänestä" | 453 | msgstr "Äänestä" |
| 454 | 454 | ||
| 455 | #: html.c:2522 | 455 | #: html.c:2806 |
| 456 | msgid "Closed" | 456 | msgid "Closed" |
| 457 | msgstr "Sulkeutunut" | 457 | msgstr "Sulkeutunut" |
| 458 | 458 | ||
| 459 | #: html.c:2547 | 459 | #: html.c:2831 |
| 460 | msgid "Closes in" | 460 | msgid "Closes in" |
| 461 | msgstr "Sulkeutuu" | 461 | msgstr "Sulkeutuu" |
| 462 | 462 | ||
| 463 | #: html.c:2627 | 463 | #: html.c:2911 |
| 464 | msgid "Video" | 464 | msgid "Video" |
| 465 | msgstr "Video" | 465 | msgstr "Video" |
| 466 | 466 | ||
| 467 | #: html.c:2642 | 467 | #: html.c:2926 |
| 468 | msgid "Audio" | 468 | msgid "Audio" |
| 469 | msgstr "Ääni" | 469 | msgstr "Ääni" |
| 470 | 470 | ||
| 471 | #: html.c:2670 | 471 | #: html.c:2954 |
| 472 | msgid "Attachment" | 472 | msgid "Attachment" |
| 473 | msgstr "Liite" | 473 | msgstr "Liite" |
| 474 | 474 | ||
| 475 | #: html.c:2684 | 475 | #: html.c:2968 |
| 476 | msgid "Alt..." | 476 | msgid "Alt..." |
| 477 | msgstr "Kuvaus..." | 477 | msgstr "Kuvaus..." |
| 478 | 478 | ||
| 479 | #: html.c:2697 | 479 | #: html.c:2981 |
| 480 | msgid "Source channel or community" | 480 | msgid "Source channel or community" |
| 481 | msgstr "Lähdekanava tai -yhteisö" | 481 | msgstr "Lähdekanava tai -yhteisö" |
| 482 | 482 | ||
| 483 | #: html.c:2791 | 483 | #: html.c:3075 |
| 484 | msgid "Time: " | 484 | msgid "Time: " |
| 485 | msgstr "Aika: " | 485 | msgstr "Aika: " |
| 486 | 486 | ||
| 487 | #: html.c:2872 | 487 | #: html.c:3156 |
| 488 | msgid "Older..." | 488 | msgid "Older..." |
| 489 | msgstr "Vanhemmat..." | 489 | msgstr "Vanhemmat..." |
| 490 | 490 | ||
| 491 | #: html.c:2974 | 491 | #: html.c:3258 |
| 492 | msgid "about this site" | 492 | msgid "about this site" |
| 493 | msgstr "tietoa sivustosta" | 493 | msgstr "tietoa sivustosta" |
| 494 | 494 | ||
| 495 | #: html.c:2976 | 495 | #: html.c:3260 |
| 496 | msgid "powered by " | 496 | msgid "powered by " |
| 497 | msgstr "moottorina " | 497 | msgstr "moottorina " |
| 498 | 498 | ||
| 499 | #: html.c:3041 | 499 | #: html.c:3329 |
| 500 | msgid "Dismiss" | 500 | msgid "Dismiss" |
| 501 | msgstr "Kuittaa" | 501 | msgstr "Kuittaa" |
| 502 | 502 | ||
| 503 | #: html.c:3058 | 503 | #: html.c:3346 |
| 504 | #, c-format | 504 | #, c-format |
| 505 | msgid "Timeline for list '%s'" | 505 | msgid "Timeline for list '%s'" |
| 506 | msgstr "Listan â€%s†aikajana" | 506 | msgstr "Listan â€%s†aikajana" |
| 507 | 507 | ||
| 508 | #: html.c:3077 html.c:4169 | 508 | #: html.c:3365 html.c:4589 |
| 509 | msgid "Pinned posts" | 509 | msgid "Pinned posts" |
| 510 | msgstr "Kiinnitetyt julkaisut" | 510 | msgstr "Kiinnitetyt julkaisut" |
| 511 | 511 | ||
| 512 | #: html.c:3089 html.c:4184 | 512 | #: html.c:3377 html.c:4604 |
| 513 | msgid "Bookmarked posts" | 513 | msgid "Bookmarked posts" |
| 514 | msgstr "Kirjanmerkit" | 514 | msgstr "Kirjanmerkit" |
| 515 | 515 | ||
| 516 | #: html.c:3101 html.c:4199 | 516 | #: html.c:3389 html.c:4619 |
| 517 | msgid "Post drafts" | 517 | msgid "Post drafts" |
| 518 | msgstr "Vedokset" | 518 | msgstr "Vedokset" |
| 519 | 519 | ||
| 520 | #: html.c:3177 | 520 | #: html.c:3465 |
| 521 | msgid "No more unseen posts" | 521 | msgid "No more unseen posts" |
| 522 | msgstr "Ei lukemattonia julkaisuja" | 522 | msgstr "Ei lukemattonia julkaisuja" |
| 523 | 523 | ||
| 524 | #: html.c:3181 html.c:3290 | 524 | #: html.c:3469 html.c:3578 |
| 525 | msgid "Back to top" | 525 | msgid "Back to top" |
| 526 | msgstr "Takaisin" | 526 | msgstr "Takaisin" |
| 527 | 527 | ||
| 528 | #: html.c:3243 | 528 | #: html.c:3531 |
| 529 | msgid "History" | 529 | msgid "History" |
| 530 | msgstr "Historia" | 530 | msgstr "Historia" |
| 531 | 531 | ||
| 532 | #: html.c:3295 html.c:3734 | 532 | #: html.c:3583 html.c:4149 |
| 533 | msgid "More..." | 533 | msgid "More..." |
| 534 | msgstr "Enemmän..." | 534 | msgstr "Enemmän..." |
| 535 | 535 | ||
| 536 | #: html.c:3391 html.c:4813 | 536 | #: html.c:3767 html.c:5257 |
| 537 | msgid "Unlimit" | 537 | msgid "Unlimit" |
| 538 | msgstr "Poista rajoitus" | 538 | msgstr "Poista rajoitus" |
| 539 | 539 | ||
| 540 | #: html.c:3392 | 540 | #: html.c:3768 |
| 541 | msgid "Allow announces (boosts) from this user" | 541 | msgid "Allow announces (boosts) from this user" |
| 542 | msgstr "Salli tehostukset käyttäjältä" | 542 | msgstr "Salli tehostukset käyttäjältä" |
| 543 | 543 | ||
| 544 | #: html.c:3395 html.c:4809 | 544 | #: html.c:3771 html.c:5253 |
| 545 | msgid "Limit" | 545 | msgid "Limit" |
| 546 | msgstr "Rajoita" | 546 | msgstr "Rajoita" |
| 547 | 547 | ||
| 548 | #: html.c:3396 | 548 | #: html.c:3772 |
| 549 | msgid "Block announces (boosts) from this user" | 549 | msgid "Block announces (boosts) from this user" |
| 550 | msgstr "Kiellö tehostukset käyttäjältä" | 550 | msgstr "Kiellö tehostukset käyttäjältä" |
| 551 | 551 | ||
| 552 | #: html.c:3405 | 552 | #: html.c:3781 |
| 553 | msgid "Delete this user" | 553 | msgid "Delete this user" |
| 554 | msgstr "Poista käyttäjä" | 554 | msgstr "Poista käyttäjä" |
| 555 | 555 | ||
| 556 | #: html.c:3410 html.c:4927 | 556 | #: html.c:3786 html.c:5371 |
| 557 | msgid "Approve" | 557 | msgid "Approve" |
| 558 | msgstr "Hyväksy" | 558 | msgstr "Hyväksy" |
| 559 | 559 | ||
| 560 | #: html.c:3411 | 560 | #: html.c:3787 |
| 561 | msgid "Approve this follow request" | 561 | msgid "Approve this follow request" |
| 562 | msgstr "Hyväksy seurantapyyntö" | 562 | msgstr "Hyväksy seurantapyyntö" |
| 563 | 563 | ||
| 564 | #: html.c:3414 html.c:4951 | 564 | #: html.c:3790 html.c:5395 |
| 565 | msgid "Discard" | 565 | msgid "Discard" |
| 566 | msgstr "Hylkää" | 566 | msgstr "Hylkää" |
| 567 | 567 | ||
| 568 | #: html.c:3414 | 568 | #: html.c:3790 |
| 569 | msgid "Discard this follow request" | 569 | msgid "Discard this follow request" |
| 570 | msgstr "Hylkää seurantapyyntö" | 570 | msgstr "Hylkää seurantapyyntö" |
| 571 | 571 | ||
| 572 | #: html.c:3419 html.c:4795 | 572 | #: html.c:3795 html.c:5239 |
| 573 | msgid "Unmute" | 573 | msgid "Unmute" |
| 574 | msgstr "Poista vaimennus" | 574 | msgstr "Poista vaimennus" |
| 575 | 575 | ||
| 576 | #: html.c:3420 | 576 | #: html.c:3796 |
| 577 | msgid "Stop blocking activities from this user" | 577 | msgid "Stop blocking activities from this user" |
| 578 | msgstr "Salli toiminta käyttäjältä" | 578 | msgstr "Salli toiminta käyttäjältä" |
| 579 | 579 | ||
| 580 | #: html.c:3424 | 580 | #: html.c:3800 |
| 581 | msgid "Block any activity from this user" | 581 | msgid "Block any activity from this user" |
| 582 | msgstr "Estä kaikki toiminnat käyttäjältä" | 582 | msgstr "Estä kaikki toiminnat käyttäjältä" |
| 583 | 583 | ||
| 584 | #: html.c:3432 | 584 | #: html.c:3808 |
| 585 | msgid "Direct Message..." | 585 | msgid "Direct Message..." |
| 586 | msgstr "Yksityisviesti..." | 586 | msgstr "Yksityisviesti..." |
| 587 | 587 | ||
| 588 | #: html.c:3467 | 588 | #: html.c:3843 |
| 589 | msgid "Pending follow confirmations" | 589 | msgid "Pending follow confirmations" |
| 590 | msgstr "Hyväksymistä odottavat seurantapyynnöt" | 590 | msgstr "Hyväksymistä odottavat seurantapyynnöt" |
| 591 | 591 | ||
| 592 | #: html.c:3471 | 592 | #: html.c:3847 |
| 593 | msgid "People you follow" | 593 | msgid "People you follow" |
| 594 | msgstr "Seuraamasi ihniset" | 594 | msgstr "Seuraamasi ihniset" |
| 595 | 595 | ||
| 596 | #: html.c:3472 | 596 | #: html.c:3848 |
| 597 | msgid "People that follow you" | 597 | msgid "People that follow you" |
| 598 | msgstr "Sinua seuraavat" | 598 | msgstr "Sinua seuraavat" |
| 599 | 599 | ||
| 600 | #: html.c:3511 | 600 | #: html.c:3887 |
| 601 | msgid "Clear all" | 601 | msgid "Clear all" |
| 602 | msgstr "Tyhjennä" | 602 | msgstr "Tyhjennä" |
| 603 | 603 | ||
| 604 | #: html.c:3571 | 604 | #: html.c:3951 |
| 605 | msgid "Mention" | 605 | msgid "Mention" |
| 606 | msgstr "Mainitse" | 606 | msgstr "Mainitse" |
| 607 | 607 | ||
| 608 | #: html.c:3574 | 608 | #: html.c:3954 |
| 609 | msgid "Finished poll" | 609 | msgid "Finished poll" |
| 610 | msgstr "Päättynyt kysely" | 610 | msgstr "Päättynyt kysely" |
| 611 | 611 | ||
| 612 | #: html.c:3590 | 612 | #: html.c:3979 |
| 613 | msgid "Follow Request" | 613 | msgid "Follow Request" |
| 614 | msgstr "Seurantapyyntö" | 614 | msgstr "Seurantapyyntö" |
| 615 | 615 | ||
| 616 | #: html.c:3674 | 616 | #: html.c:4089 |
| 617 | msgid "Context" | 617 | msgid "Context" |
| 618 | msgstr "Konteksti" | 618 | msgstr "Konteksti" |
| 619 | 619 | ||
| 620 | #: html.c:3692 | 620 | #: html.c:4107 |
| 621 | msgid "New" | 621 | msgid "New" |
| 622 | msgstr "Uusi" | 622 | msgstr "Uusi" |
| 623 | 623 | ||
| 624 | #: html.c:3707 | 624 | #: html.c:4122 |
| 625 | msgid "Already seen" | 625 | msgid "Already seen" |
| 626 | msgstr "Nähty" | 626 | msgstr "Nähty" |
| 627 | 627 | ||
| 628 | #: html.c:3722 | 628 | #: html.c:4137 |
| 629 | msgid "None" | 629 | msgid "None" |
| 630 | msgstr "Ei ilmoituksia" | 630 | msgstr "Ei ilmoituksia" |
| 631 | 631 | ||
| 632 | #: html.c:3994 | 632 | #: html.c:4414 |
| 633 | #, c-format | 633 | #, c-format |
| 634 | msgid "Search results for account %s" | 634 | msgid "Search results for account %s" |
| 635 | msgstr "Hakutulokset tilille %s" | 635 | msgstr "Hakutulokset tilille %s" |
| 636 | 636 | ||
| 637 | #: html.c:4001 | 637 | #: html.c:4421 |
| 638 | #, c-format | 638 | #, c-format |
| 639 | msgid "Account %s not found" | 639 | msgid "Account %s not found" |
| 640 | msgstr "Tiliä %s ei löytynyt" | 640 | msgstr "Tiliä %s ei löytynyt" |
| 641 | 641 | ||
| 642 | #: html.c:4032 | 642 | #: html.c:4452 |
| 643 | #, c-format | 643 | #, c-format |
| 644 | msgid "Search results for tag %s" | 644 | msgid "Search results for tag %s" |
| 645 | msgstr "Hakutulokset aihetunnisteelle %s" | 645 | msgstr "Hakutulokset aihetunnisteelle %s" |
| 646 | 646 | ||
| 647 | #: html.c:4032 | 647 | #: html.c:4452 |
| 648 | #, c-format | 648 | #, c-format |
| 649 | msgid "Nothing found for tag %s" | 649 | msgid "Nothing found for tag %s" |
| 650 | msgstr "Aihetunnisteella %s ei löytynyt tuloksia" | 650 | msgstr "Aihetunnisteella %s ei löytynyt tuloksia" |
| 651 | 651 | ||
| 652 | #: html.c:4048 | 652 | #: html.c:4468 |
| 653 | #, c-format | 653 | #, c-format |
| 654 | msgid "Search results for '%s' (may be more)" | 654 | msgid "Search results for '%s' (may be more)" |
| 655 | msgstr "Tulokset haulle â€%s†(mahdollisesti enemmän tuloksia)" | 655 | msgstr "Tulokset haulle â€%s†(mahdollisesti enemmän tuloksia)" |
| 656 | 656 | ||
| 657 | #: html.c:4051 | 657 | #: html.c:4471 |
| 658 | #, c-format | 658 | #, c-format |
| 659 | msgid "Search results for '%s'" | 659 | msgid "Search results for '%s'" |
| 660 | msgstr "Tulokset haulle â€%sâ€" | 660 | msgstr "Tulokset haulle â€%sâ€" |
| 661 | 661 | ||
| 662 | #: html.c:4054 | 662 | #: html.c:4474 |
| 663 | #, c-format | 663 | #, c-format |
| 664 | msgid "No more matches for '%s'" | 664 | msgid "No more matches for '%s'" |
| 665 | msgstr "Ei enempää tuloksia haulle â€%sâ€" | 665 | msgstr "Ei enempää tuloksia haulle â€%sâ€" |
| 666 | 666 | ||
| 667 | #: html.c:4056 | 667 | #: html.c:4476 |
| 668 | #, c-format | 668 | #, c-format |
| 669 | msgid "Nothing found for '%s'" | 669 | msgid "Nothing found for '%s'" |
| 670 | msgstr "Haulla â€%s†ei löytynyt tuloksia" | 670 | msgstr "Haulla â€%s†ei löytynyt tuloksia" |
| 671 | 671 | ||
| 672 | #: html.c:4154 | 672 | #: html.c:4574 |
| 673 | msgid "Showing instance timeline" | 673 | msgid "Showing instance timeline" |
| 674 | msgstr "Palvelimen aikajana" | 674 | msgstr "Palvelimen aikajana" |
| 675 | 675 | ||
| 676 | #: html.c:4237 | 676 | #: html.c:4657 |
| 677 | #, c-format | 677 | #, c-format |
| 678 | msgid "Showing timeline for list '%s'" | 678 | msgid "Showing timeline for list '%s'" |
| 679 | msgstr "Listan â€%s†aikajana" | 679 | msgstr "Listan â€%s†aikajana" |
| 680 | 680 | ||
| 681 | #: httpd.c:258 | 681 | #: httpd.c:259 |
| 682 | #, c-format | 682 | #, c-format |
| 683 | msgid "Search results for tag #%s" | 683 | msgid "Search results for tag #%s" |
| 684 | msgstr "Hakutulokset aihetunnisteelle #%s" | 684 | msgstr "Hakutulokset aihetunnisteelle #%s" |
| 685 | 685 | ||
| 686 | #: httpd.c:267 | 686 | #: httpd.c:268 |
| 687 | msgid "Recent posts by users in this instance" | 687 | msgid "Recent posts by users in this instance" |
| 688 | msgstr "Viimeaikaisia julkaisuja tällä palvelimella" | 688 | msgstr "Viimeaikaisia julkaisuja tällä palvelimella" |
| 689 | 689 | ||
| 690 | #: html.c:1764 | 690 | #: html.c:1842 |
| 691 | msgid "Blocked hashtags..." | 691 | msgid "Blocked hashtags..." |
| 692 | msgstr "Estetyt aihetunnisteet..." | 692 | msgstr "Estetyt aihetunnisteet..." |
| 693 | 693 | ||
| 694 | #: html.c:518 | 694 | #: html.c:574 |
| 695 | msgid "Optional URL to reply to" | 695 | msgid "Optional URL to reply to" |
| 696 | msgstr "Vastaus julkaisuun (osoite, valinnainen)" | 696 | msgstr "Vastaus julkaisuun (osoite, valinnainen)" |
| 697 | 697 | ||
| 698 | #: html.c:695 | 698 | #: html.c:751 |
| 699 | msgid "" | 699 | msgid "" |
| 700 | "Option 1...\n" | 700 | "Option 1...\n" |
| 701 | "Option 2...\n" | 701 | "Option 2...\n" |
| @@ -707,94 +707,106 @@ msgstr "" | |||
| 707 | "Vaihtoehto 3...\n" | 707 | "Vaihtoehto 3...\n" |
| 708 | "..." | 708 | "..." |
| 709 | 709 | ||
| 710 | #: html.c:1558 | 710 | #: html.c:1636 |
| 711 | msgid "Bot API key" | 711 | msgid "Bot API key" |
| 712 | msgstr "botin API-avain" | 712 | msgstr "botin API-avain" |
| 713 | 713 | ||
| 714 | #: html.c:1564 | 714 | #: html.c:1642 |
| 715 | msgid "Chat id" | 715 | msgid "Chat id" |
| 716 | msgstr "chat id" | 716 | msgstr "chat id" |
| 717 | 717 | ||
| 718 | #: html.c:1572 | 718 | #: html.c:1650 |
| 719 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 719 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 720 | msgstr "ntfy-palvelin - täydellinen osoite (esim: https://ntfy.sh/YourTopic)" | 720 | msgstr "ntfy-palvelin - täydellinen osoite (esim: https://ntfy.sh/YourTopic)" |
| 721 | 721 | ||
| 722 | #: html.c:1578 | 722 | #: html.c:1656 |
| 723 | msgid "ntfy token - if needed" | 723 | msgid "ntfy token - if needed" |
| 724 | msgstr "ntfy token - tarvittaessa" | 724 | msgstr "ntfy token - tarvittaessa" |
| 725 | 725 | ||
| 726 | #: html.c:3078 | 726 | #: html.c:3366 |
| 727 | msgid "pinned" | 727 | msgid "pinned" |
| 728 | msgstr "kiinnitetyt" | 728 | msgstr "kiinnitetyt" |
| 729 | 729 | ||
| 730 | #: html.c:3090 | 730 | #: html.c:3378 |
| 731 | msgid "bookmarks" | 731 | msgid "bookmarks" |
| 732 | msgstr "kirjanmerkit" | 732 | msgstr "kirjanmerkit" |
| 733 | 733 | ||
| 734 | #: html.c:3102 | 734 | #: html.c:3390 |
| 735 | msgid "drafts" | 735 | msgid "drafts" |
| 736 | msgstr "vedokset" | 736 | msgstr "vedokset" |
| 737 | 737 | ||
| 738 | #: html.c:584 | 738 | #: html.c:640 |
| 739 | msgid "Scheduled post..." | 739 | msgid "Scheduled post..." |
| 740 | msgstr "Ajastettu julkaisu..." | 740 | msgstr "Ajastettu julkaisu..." |
| 741 | 741 | ||
| 742 | msgid "Post date and time:" | 742 | msgid "Post date and time:" |
| 743 | msgstr "Julkaisuajankohta:" | 743 | msgstr "Julkaisuajankohta:" |
| 744 | 744 | ||
| 745 | #: html.c:3113 html.c:4214 | 745 | #: html.c:3401 html.c:4634 |
| 746 | msgid "Scheduled posts" | 746 | msgid "Scheduled posts" |
| 747 | msgstr "Ajastetut julkaisut" | 747 | msgstr "Ajastetut julkaisut" |
| 748 | 748 | ||
| 749 | #: html.c:3114 | 749 | #: html.c:3402 |
| 750 | msgid "scheduled posts" | 750 | msgid "scheduled posts" |
| 751 | msgstr "ajastetut julkaisut" | 751 | msgstr "ajastetut julkaisut" |
| 752 | 752 | ||
| 753 | #: html.c:578 | 753 | #: html.c:634 |
| 754 | #, c-format | 754 | #, c-format |
| 755 | msgid "Post date and time (timezone: %s):" | 755 | msgid "Post date and time (timezone: %s):" |
| 756 | msgstr "Julkaisuajankohta (aikavyöhyke: %s):" | 756 | msgstr "Julkaisuajankohta (aikavyöhyke: %s):" |
| 757 | 757 | ||
| 758 | #: html.c:1689 | 758 | #: html.c:1767 |
| 759 | msgid "Time zone:" | 759 | msgid "Time zone:" |
| 760 | msgstr "Aikavyöhyke: " | 760 | msgstr "Aikavyöhyke: " |
| 761 | 761 | ||
| 762 | #: html.c:559 | 762 | #: html.c:615 |
| 763 | msgid "Language:" | 763 | msgid "Language:" |
| 764 | msgstr "" | 764 | msgstr "" |
| 765 | 765 | ||
| 766 | #: html.c:1580 | 766 | #: html.c:1658 |
| 767 | msgid "Notify webhook:" | 767 | msgid "Notify webhook:" |
| 768 | msgstr "" | 768 | msgstr "" |
| 769 | 769 | ||
| 770 | #: html.c:1586 | 770 | #: html.c:1664 |
| 771 | msgid "http://example.com/webhook" | 771 | msgid "http://example.com/webhook" |
| 772 | msgstr "" | 772 | msgstr "" |
| 773 | 773 | ||
| 774 | #: html.c:1694 | 774 | #: html.c:1772 |
| 775 | msgid "Languages you usually post in:" | 775 | msgid "Languages you usually post in:" |
| 776 | msgstr "" | 776 | msgstr "" |
| 777 | 777 | ||
| 778 | #: html.c:1700 | 778 | #: html.c:1778 |
| 779 | msgid "en fr es de_AT" | 779 | msgid "en fr es de_AT" |
| 780 | msgstr "" | 780 | msgstr "" |
| 781 | 781 | ||
| 782 | #: html.c:460 | 782 | #: html.c:428 |
| 783 | msgid "Visibility: " | 783 | msgid "Visibility: " |
| 784 | msgstr "" | 784 | msgstr "" |
| 785 | 785 | ||
| 786 | #: html.c:468 | ||
| 787 | msgid "Public" | 786 | msgid "Public" |
| 788 | msgstr "" | 787 | msgstr "" |
| 789 | 788 | ||
| 790 | #: html.c:477 | ||
| 791 | msgid "Unlisted" | 789 | msgid "Unlisted" |
| 792 | msgstr "" | 790 | msgstr "" |
| 793 | 791 | ||
| 794 | #: html.c:486 | ||
| 795 | msgid "Followers-only" | 792 | msgid "Followers-only" |
| 796 | msgstr "" | 793 | msgstr "" |
| 797 | 794 | ||
| 798 | #: html.c:495 | ||
| 799 | msgid "Direct Message" | 795 | msgid "Direct Message" |
| 800 | msgstr "" | 796 | msgstr "" |
| 797 | |||
| 798 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 799 | msgid "EmojiUnreact" | ||
| 800 | msgstr "" | ||
| 801 | |||
| 802 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 803 | msgid "EmojiReact" | ||
| 804 | msgstr "" | ||
| 805 | |||
| 806 | #: html.c:2115 | ||
| 807 | msgid "Emoji react..." | ||
| 808 | msgstr "" | ||
| 809 | |||
| 810 | #: html.c:2609 | ||
| 811 | msgid "Emoji reactions: " | ||
| 812 | msgstr "" | ||
| @@ -8,119 +8,119 @@ msgstr "" | |||
| 8 | "Language: fr\n" | 8 | "Language: fr\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Contenu sensible :" | 13 | msgstr "Contenu sensible :" |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Description du contenu sensible :" | 17 | msgstr "Description du contenu sensible :" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Seulement pour les personnes mentionnées :" | 20 | msgstr "Seulement pour les personnes mentionnées :" |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Répondre à (URL) :" | 24 | msgstr "Répondre à (URL) :" |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "Ne pas envoyer, mais sauvegarder en tant que brouillon" | 28 | msgstr "Ne pas envoyer, mais sauvegarder en tant que brouillon" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Brouillon :" | 32 | msgstr "Brouillon :" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "Pièces jointes…" | 36 | msgstr "Pièces jointes…" |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "Fichier :" | 40 | msgstr "Fichier :" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Nettoyer ce champs pour supprimer la pièce jointe" | 44 | msgstr "Nettoyer ce champs pour supprimer la pièce jointe" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Description de la pièce jointe" | 48 | msgstr "Description de la pièce jointe" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Sondage…" | 52 | msgstr "Sondage…" |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Options du sondage (une par ligne, jusqu'Ã 8)Â :" | 56 | msgstr "Options du sondage (une par ligne, jusqu'Ã 8)Â :" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Un seul choix" | 60 | msgstr "Un seul choix" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Choix multiples" | 64 | msgstr "Choix multiples" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Se termine dans 5 minutes" | 68 | msgstr "Se termine dans 5 minutes" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Se termine dans 1 heure" | 72 | msgstr "Se termine dans 1 heure" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Se termine dans 1 jour" | 76 | msgstr "Se termine dans 1 jour" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Envoyer" | 80 | msgstr "Envoyer" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Description du site" | 84 | msgstr "Description du site" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Email de l'admin" | 88 | msgstr "Email de l'admin" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "Compte de l'admin" | 92 | msgstr "Compte de l'admin" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d abonnements, %d personnes abonnées" | 97 | msgstr "%d abonnements, %d personnes abonnées" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "privé" | 105 | msgstr "privé" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "public" | 109 | msgstr "public" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "notifications" | 113 | msgstr "notifications" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "personnes" | 117 | msgstr "personnes" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "instance" | 121 | msgstr "instance" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| @@ -128,575 +128,575 @@ msgstr "" | |||
| 128 | "Chercher les messages par URL ou contenu (expression régulière), comptes " | 128 | "Chercher les messages par URL ou contenu (expression régulière), comptes " |
| 129 | "@pseudo@hôte, ou #tag" | 129 | "@pseudo@hôte, ou #tag" |
| 130 | 130 | ||
| 131 | #: html.c:1087 | 131 | #: html.c:1143 |
| 132 | msgid "Content search" | 132 | msgid "Content search" |
| 133 | msgstr "Recherche de contenu" | 133 | msgstr "Recherche de contenu" |
| 134 | 134 | ||
| 135 | #: html.c:1213 | 135 | #: html.c:1269 |
| 136 | msgid "verified link" | 136 | msgid "verified link" |
| 137 | msgstr "Lien vérifié" | 137 | msgstr "Lien vérifié" |
| 138 | 138 | ||
| 139 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 139 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 140 | msgid "Location: " | 140 | msgid "Location: " |
| 141 | msgstr "Emplacement : " | 141 | msgstr "Emplacement : " |
| 142 | 142 | ||
| 143 | #: html.c:1302 | 143 | #: html.c:1358 |
| 144 | msgid "New Post..." | 144 | msgid "New Post..." |
| 145 | msgstr "Nouveau message…" | 145 | msgstr "Nouveau message…" |
| 146 | 146 | ||
| 147 | #: html.c:1304 | 147 | #: html.c:1360 |
| 148 | msgid "What's on your mind?" | 148 | msgid "What's on your mind?" |
| 149 | msgstr "Qu'avez-vous en tête ?" | 149 | msgstr "Qu'avez-vous en tête ?" |
| 150 | 150 | ||
| 151 | #: html.c:1313 | 151 | #: html.c:1369 |
| 152 | msgid "Operations..." | 152 | msgid "Operations..." |
| 153 | msgstr "Opérations…" | 153 | msgstr "Opérations…" |
| 154 | 154 | ||
| 155 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 155 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 156 | msgid "Follow" | 156 | msgid "Follow" |
| 157 | msgstr "Suivre" | 157 | msgstr "Suivre" |
| 158 | 158 | ||
| 159 | #: html.c:1330 | 159 | #: html.c:1386 |
| 160 | msgid "(by URL or user@host)" | 160 | msgid "(by URL or user@host)" |
| 161 | msgstr "(par URL ou pseudo@hôte)" | 161 | msgstr "(par URL ou pseudo@hôte)" |
| 162 | 162 | ||
| 163 | #: html.c:1345 html.c:1925 html.c:4766 | 163 | #: html.c:1401 html.c:2003 html.c:5210 |
| 164 | msgid "Boost" | 164 | msgid "Boost" |
| 165 | msgstr "Repartager" | 165 | msgstr "Repartager" |
| 166 | 166 | ||
| 167 | #: html.c:1347 html.c:1364 | 167 | #: html.c:1403 html.c:1420 html.c:1442 |
| 168 | msgid "(by URL)" | 168 | msgid "(by URL)" |
| 169 | msgstr "(par URL)" | 169 | msgstr "(par URL)" |
| 170 | 170 | ||
| 171 | #: html.c:1362 html.c:1904 html.c:4757 | 171 | #: html.c:1418 html.c:1982 html.c:5201 |
| 172 | msgid "Like" | 172 | msgid "Like" |
| 173 | msgstr "Aime" | 173 | msgstr "Aime" |
| 174 | 174 | ||
| 175 | #: html.c:1490 | 175 | #: html.c:1568 |
| 176 | msgid "User Settings..." | 176 | msgid "User Settings..." |
| 177 | msgstr "Paramètre du compte…" | 177 | msgstr "Paramètre du compte…" |
| 178 | 178 | ||
| 179 | #: html.c:1499 | 179 | #: html.c:1577 |
| 180 | msgid "Display name:" | 180 | msgid "Display name:" |
| 181 | msgstr "Nom affiché :" | 181 | msgstr "Nom affiché :" |
| 182 | 182 | ||
| 183 | #: html.c:1505 | 183 | #: html.c:1583 |
| 184 | msgid "Your name" | 184 | msgid "Your name" |
| 185 | msgstr "Votre nom" | 185 | msgstr "Votre nom" |
| 186 | 186 | ||
| 187 | #: html.c:1507 | 187 | #: html.c:1585 |
| 188 | msgid "Avatar: " | 188 | msgid "Avatar: " |
| 189 | msgstr "Avatar : " | 189 | msgstr "Avatar : " |
| 190 | 190 | ||
| 191 | #: html.c:1515 | 191 | #: html.c:1593 |
| 192 | msgid "Delete current avatar" | 192 | msgid "Delete current avatar" |
| 193 | msgstr "Supprimer l'avatar actuel" | 193 | msgstr "Supprimer l'avatar actuel" |
| 194 | 194 | ||
| 195 | #: html.c:1517 | 195 | #: html.c:1595 |
| 196 | msgid "Header image (banner): " | 196 | msgid "Header image (banner): " |
| 197 | msgstr "Image d'entête (bannière) : " | 197 | msgstr "Image d'entête (bannière) : " |
| 198 | 198 | ||
| 199 | #: html.c:1525 | 199 | #: html.c:1603 |
| 200 | msgid "Delete current header image" | 200 | msgid "Delete current header image" |
| 201 | msgstr "Supprimer l'image d'entête actuelle" | 201 | msgstr "Supprimer l'image d'entête actuelle" |
| 202 | 202 | ||
| 203 | #: html.c:1527 | 203 | #: html.c:1605 |
| 204 | msgid "Bio:" | 204 | msgid "Bio:" |
| 205 | msgstr "Description :" | 205 | msgstr "Description :" |
| 206 | 206 | ||
| 207 | #: html.c:1533 | 207 | #: html.c:1611 |
| 208 | msgid "Write about yourself here..." | 208 | msgid "Write about yourself here..." |
| 209 | msgstr "Décrivez-vous ici…" | 209 | msgstr "Décrivez-vous ici…" |
| 210 | 210 | ||
| 211 | #: html.c:1542 | 211 | #: html.c:1620 |
| 212 | msgid "Always show sensitive content" | 212 | msgid "Always show sensitive content" |
| 213 | msgstr "Toujours afficher le contenu sensible" | 213 | msgstr "Toujours afficher le contenu sensible" |
| 214 | 214 | ||
| 215 | #: html.c:1544 | 215 | #: html.c:1622 |
| 216 | msgid "Email address for notifications:" | 216 | msgid "Email address for notifications:" |
| 217 | msgstr "Adresse email pour les notifications :" | 217 | msgstr "Adresse email pour les notifications :" |
| 218 | 218 | ||
| 219 | #: html.c:1552 | 219 | #: html.c:1630 |
| 220 | msgid "Telegram notifications (bot key and chat id):" | 220 | msgid "Telegram notifications (bot key and chat id):" |
| 221 | msgstr "Notifications Telegram (clé de bot et ID de discussion) :" | 221 | msgstr "Notifications Telegram (clé de bot et ID de discussion) :" |
| 222 | 222 | ||
| 223 | #: html.c:1566 | 223 | #: html.c:1644 |
| 224 | msgid "ntfy notifications (ntfy server and token):" | 224 | msgid "ntfy notifications (ntfy server and token):" |
| 225 | msgstr "notifications ntfy (serveur et jeton ntfy)Â :" | 225 | msgstr "notifications ntfy (serveur et jeton ntfy)Â :" |
| 226 | 226 | ||
| 227 | #: html.c:1588 | 227 | #: html.c:1666 |
| 228 | msgid "Maximum days to keep posts (0: server settings):" | 228 | msgid "Maximum days to keep posts (0: server settings):" |
| 229 | msgstr "" | 229 | msgstr "" |
| 230 | "Nombre de jours maximum de rétention des messages (0 : réglages du serveur) :" | 230 | "Nombre de jours maximum de rétention des messages (0 : réglages du serveur) :" |
| 231 | 231 | ||
| 232 | #: html.c:1602 | 232 | #: html.c:1680 |
| 233 | msgid "Drop direct messages from people you don't follow" | 233 | msgid "Drop direct messages from people you don't follow" |
| 234 | msgstr "Rejeter les messages directs des personnes que vous ne suivez pas" | 234 | msgstr "Rejeter les messages directs des personnes que vous ne suivez pas" |
| 235 | 235 | ||
| 236 | #: html.c:1611 | 236 | #: html.c:1689 |
| 237 | msgid "This account is a bot" | 237 | msgid "This account is a bot" |
| 238 | msgstr "Ce compte est un bot" | 238 | msgstr "Ce compte est un bot" |
| 239 | 239 | ||
| 240 | #: html.c:1620 | 240 | #: html.c:1698 |
| 241 | msgid "Auto-boost all mentions to this account" | 241 | msgid "Auto-boost all mentions to this account" |
| 242 | msgstr "Auto-repartage de toutes les mentions de ce compte" | 242 | msgstr "Auto-repartage de toutes les mentions de ce compte" |
| 243 | 243 | ||
| 244 | #: html.c:1629 | 244 | #: html.c:1707 |
| 245 | msgid "This account is private (posts are not shown through the web)" | 245 | msgid "This account is private (posts are not shown through the web)" |
| 246 | msgstr "Ce compte est privé (les messages ne sont pas affiché sur le web)" | 246 | msgstr "Ce compte est privé (les messages ne sont pas affiché sur le web)" |
| 247 | 247 | ||
| 248 | #: html.c:1639 | 248 | #: html.c:1717 |
| 249 | msgid "Collapse top threads by default" | 249 | msgid "Collapse top threads by default" |
| 250 | msgstr "replier les fils de discussion principaux par défaut" | 250 | msgstr "replier les fils de discussion principaux par défaut" |
| 251 | 251 | ||
| 252 | #: html.c:1648 | 252 | #: html.c:1726 |
| 253 | msgid "Follow requests must be approved" | 253 | msgid "Follow requests must be approved" |
| 254 | msgstr "Les demande de suivi doivent être approuvées" | 254 | msgstr "Les demande de suivi doivent être approuvées" |
| 255 | 255 | ||
| 256 | #: html.c:1657 | 256 | #: html.c:1735 |
| 257 | msgid "Publish follower and following metrics" | 257 | msgid "Publish follower and following metrics" |
| 258 | msgstr "Publier les statistiques d'abonnements" | 258 | msgstr "Publier les statistiques d'abonnements" |
| 259 | 259 | ||
| 260 | #: html.c:1659 | 260 | #: html.c:1737 |
| 261 | msgid "Current location:" | 261 | msgid "Current location:" |
| 262 | msgstr "Localisation actuelle :" | 262 | msgstr "Localisation actuelle :" |
| 263 | 263 | ||
| 264 | #: html.c:1673 | 264 | #: html.c:1751 |
| 265 | msgid "Profile metadata (key=value pairs in each line):" | 265 | msgid "Profile metadata (key=value pairs in each line):" |
| 266 | msgstr "Métadonnées du profile (paires clé=valeur à chaque ligne) :" | 266 | msgstr "Métadonnées du profile (paires clé=valeur à chaque ligne) :" |
| 267 | 267 | ||
| 268 | #: html.c:1684 | 268 | #: html.c:1762 |
| 269 | msgid "Web interface language:" | 269 | msgid "Web interface language:" |
| 270 | msgstr "Langue de l'interface web :" | 270 | msgstr "Langue de l'interface web :" |
| 271 | 271 | ||
| 272 | #: html.c:1703 | 272 | #: html.c:1781 |
| 273 | msgid "New password:" | 273 | msgid "New password:" |
| 274 | msgstr "Nouveau mot de passe :" | 274 | msgstr "Nouveau mot de passe :" |
| 275 | 275 | ||
| 276 | #: html.c:1710 | 276 | #: html.c:1788 |
| 277 | msgid "Repeat new password:" | 277 | msgid "Repeat new password:" |
| 278 | msgstr "Répétez le nouveau mot de passe :" | 278 | msgstr "Répétez le nouveau mot de passe :" |
| 279 | 279 | ||
| 280 | #: html.c:1720 | 280 | #: html.c:1798 |
| 281 | msgid "Update user info" | 281 | msgid "Update user info" |
| 282 | msgstr "Mettre à jour les infos du compte" | 282 | msgstr "Mettre à jour les infos du compte" |
| 283 | 283 | ||
| 284 | #: html.c:1731 | 284 | #: html.c:1809 |
| 285 | msgid "Followed hashtags..." | 285 | msgid "Followed hashtags..." |
| 286 | msgstr "hashtags suivis…" | 286 | msgstr "hashtags suivis…" |
| 287 | 287 | ||
| 288 | #: html.c:1733 html.c:1766 | 288 | #: html.c:1811 html.c:1844 |
| 289 | msgid "One hashtag per line" | 289 | msgid "One hashtag per line" |
| 290 | msgstr "Un hashtag par ligne" | 290 | msgstr "Un hashtag par ligne" |
| 291 | 291 | ||
| 292 | #: html.c:1755 html.c:1787 | 292 | #: html.c:1833 html.c:1865 |
| 293 | msgid "Update hashtags" | 293 | msgid "Update hashtags" |
| 294 | msgstr "Mettre à jour les hashtags" | 294 | msgstr "Mettre à jour les hashtags" |
| 295 | 295 | ||
| 296 | #: html.c:1904 | 296 | #: html.c:1982 |
| 297 | msgid "Say you like this post" | 297 | msgid "Say you like this post" |
| 298 | msgstr "Dire que vous aimez ce message" | 298 | msgstr "Dire que vous aimez ce message" |
| 299 | 299 | ||
| 300 | #: html.c:1909 html.c:4775 | 300 | #: html.c:1987 html.c:5219 |
| 301 | msgid "Unlike" | 301 | msgid "Unlike" |
| 302 | msgstr "N'aime plus" | 302 | msgstr "N'aime plus" |
| 303 | 303 | ||
| 304 | #: html.c:1909 | 304 | #: html.c:1987 |
| 305 | msgid "Nah don't like it that much" | 305 | msgid "Nah don't like it that much" |
| 306 | msgstr "Nan, j'aime pas tant que ça" | 306 | msgstr "Nan, j'aime pas tant que ça" |
| 307 | 307 | ||
| 308 | #: html.c:1915 html.c:4912 | 308 | #: html.c:1993 html.c:5356 |
| 309 | msgid "Unpin" | 309 | msgid "Unpin" |
| 310 | msgstr "Dés-épingler" | 310 | msgstr "Dés-épingler" |
| 311 | 311 | ||
| 312 | #: html.c:1915 | 312 | #: html.c:1993 |
| 313 | msgid "Unpin this post from your timeline" | 313 | msgid "Unpin this post from your timeline" |
| 314 | msgstr "Dés-épingler ce message de votre chronologie" | 314 | msgstr "Dés-épingler ce message de votre chronologie" |
| 315 | 315 | ||
| 316 | #: html.c:1918 html.c:4907 | 316 | #: html.c:1996 html.c:5351 |
| 317 | msgid "Pin" | 317 | msgid "Pin" |
| 318 | msgstr "Épingler" | 318 | msgstr "Épingler" |
| 319 | 319 | ||
| 320 | #: html.c:1918 | 320 | #: html.c:1996 |
| 321 | msgid "Pin this post to the top of your timeline" | 321 | msgid "Pin this post to the top of your timeline" |
| 322 | msgstr "Épingler ce message en haut de votre chronologie" | 322 | msgstr "Épingler ce message en haut de votre chronologie" |
| 323 | 323 | ||
| 324 | #: html.c:1925 | 324 | #: html.c:2003 |
| 325 | msgid "Announce this post to your followers" | 325 | msgid "Announce this post to your followers" |
| 326 | msgstr "Annoncer ce message aux personnes abonnées" | 326 | msgstr "Annoncer ce message aux personnes abonnées" |
| 327 | 327 | ||
| 328 | #: html.c:1930 html.c:4783 | 328 | #: html.c:2008 html.c:5227 |
| 329 | msgid "Unboost" | 329 | msgid "Unboost" |
| 330 | msgstr "Dé-repartager" | 330 | msgstr "Dé-repartager" |
| 331 | 331 | ||
| 332 | #: html.c:1930 | 332 | #: html.c:2008 |
| 333 | msgid "I regret I boosted this" | 333 | msgid "I regret I boosted this" |
| 334 | msgstr "Je regrette d'avoir repartagé ceci" | 334 | msgstr "Je regrette d'avoir repartagé ceci" |
| 335 | 335 | ||
| 336 | #: html.c:1936 html.c:4922 | 336 | #: html.c:2014 html.c:5366 |
| 337 | msgid "Unbookmark" | 337 | msgid "Unbookmark" |
| 338 | msgstr "Retirer le signet" | 338 | msgstr "Retirer le signet" |
| 339 | 339 | ||
| 340 | #: html.c:1936 | 340 | #: html.c:2014 |
| 341 | msgid "Delete this post from your bookmarks" | 341 | msgid "Delete this post from your bookmarks" |
| 342 | msgstr "Supprime ce message de vos signets" | 342 | msgstr "Supprime ce message de vos signets" |
| 343 | 343 | ||
| 344 | #: html.c:1939 html.c:4917 | 344 | #: html.c:2017 html.c:5361 |
| 345 | msgid "Bookmark" | 345 | msgid "Bookmark" |
| 346 | msgstr "Signet" | 346 | msgstr "Signet" |
| 347 | 347 | ||
| 348 | #: html.c:1939 | 348 | #: html.c:2017 |
| 349 | msgid "Add this post to your bookmarks" | 349 | msgid "Add this post to your bookmarks" |
| 350 | msgstr "Ajouter ce message à vos signets" | 350 | msgstr "Ajouter ce message à vos signets" |
| 351 | 351 | ||
| 352 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 352 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 353 | msgid "Unfollow" | 353 | msgid "Unfollow" |
| 354 | msgstr "Ne plus suivre" | 354 | msgstr "Ne plus suivre" |
| 355 | 355 | ||
| 356 | #: html.c:1945 html.c:3387 | 356 | #: html.c:2023 html.c:3763 html.c:4042 |
| 357 | msgid "Stop following this user's activity" | 357 | msgid "Stop following this user's activity" |
| 358 | msgstr "Arrêter de suivre les activités de cette personne" | 358 | msgstr "Arrêter de suivre les activités de cette personne" |
| 359 | 359 | ||
| 360 | #: html.c:1949 html.c:3401 | 360 | #: html.c:2027 html.c:3777 html.c:4044 |
| 361 | msgid "Start following this user's activity" | 361 | msgid "Start following this user's activity" |
| 362 | msgstr "Commencer à suivre les activité de cette personne" | 362 | msgstr "Commencer à suivre les activité de cette personne" |
| 363 | 363 | ||
| 364 | #: html.c:1955 html.c:4860 | 364 | #: html.c:2033 html.c:5304 |
| 365 | msgid "Unfollow Group" | 365 | msgid "Unfollow Group" |
| 366 | msgstr "Ne plus suivre le Groupe" | 366 | msgstr "Ne plus suivre le Groupe" |
| 367 | 367 | ||
| 368 | #: html.c:1956 | 368 | #: html.c:2034 |
| 369 | msgid "Stop following this group or channel" | 369 | msgid "Stop following this group or channel" |
| 370 | msgstr "Arrêter de suivre ce groupe ou canal" | 370 | msgstr "Arrêter de suivre ce groupe ou canal" |
| 371 | 371 | ||
| 372 | #: html.c:1960 html.c:4847 | 372 | #: html.c:2038 html.c:5291 |
| 373 | msgid "Follow Group" | 373 | msgid "Follow Group" |
| 374 | msgstr "Suivre le Groupe" | 374 | msgstr "Suivre le Groupe" |
| 375 | 375 | ||
| 376 | #: html.c:1961 | 376 | #: html.c:2039 |
| 377 | msgid "Start following this group or channel" | 377 | msgid "Start following this group or channel" |
| 378 | msgstr "Commencer à suivre ce groupe ou canal" | 378 | msgstr "Commencer à suivre ce groupe ou canal" |
| 379 | 379 | ||
| 380 | #: html.c:1966 html.c:3423 html.c:4791 | 380 | #: html.c:2044 html.c:3799 html.c:5235 |
| 381 | msgid "MUTE" | 381 | msgid "MUTE" |
| 382 | msgstr "SOURDINE" | 382 | msgstr "SOURDINE" |
| 383 | 383 | ||
| 384 | #: html.c:1967 | 384 | #: html.c:2045 |
| 385 | msgid "Block any activity from this user forever" | 385 | msgid "Block any activity from this user forever" |
| 386 | msgstr "Bloquer toute activité de cette personne à jamais" | 386 | msgstr "Bloquer toute activité de cette personne à jamais" |
| 387 | 387 | ||
| 388 | #: html.c:1972 html.c:3405 html.c:4877 | 388 | #: html.c:2050 html.c:3781 html.c:5321 |
| 389 | msgid "Delete" | 389 | msgid "Delete" |
| 390 | msgstr "Supprimer" | 390 | msgstr "Supprimer" |
| 391 | 391 | ||
| 392 | #: html.c:1972 | 392 | #: html.c:2050 |
| 393 | msgid "Delete this post" | 393 | msgid "Delete this post" |
| 394 | msgstr "Supprimer ce message" | 394 | msgstr "Supprimer ce message" |
| 395 | 395 | ||
| 396 | #: html.c:1975 html.c:4799 | 396 | #: html.c:2053 html.c:5243 |
| 397 | msgid "Hide" | 397 | msgid "Hide" |
| 398 | msgstr "Cacher" | 398 | msgstr "Cacher" |
| 399 | 399 | ||
| 400 | #: html.c:1975 | 400 | #: html.c:2053 |
| 401 | msgid "Hide this post and its children" | 401 | msgid "Hide this post and its children" |
| 402 | msgstr "Cacher ce message et ses réponses" | 402 | msgstr "Cacher ce message et ses réponses" |
| 403 | 403 | ||
| 404 | #: html.c:2017 | 404 | #: html.c:2095 |
| 405 | msgid "Edit..." | 405 | msgid "Edit..." |
| 406 | msgstr "Modifier…" | 406 | msgstr "Modifier…" |
| 407 | 407 | ||
| 408 | #: html.c:2039 | 408 | #: html.c:2133 |
| 409 | msgid "Reply..." | 409 | msgid "Reply..." |
| 410 | msgstr "Répondre…" | 410 | msgstr "Répondre…" |
| 411 | 411 | ||
| 412 | #: html.c:2090 | 412 | #: html.c:2184 |
| 413 | msgid "Truncated (too deep)" | 413 | msgid "Truncated (too deep)" |
| 414 | msgstr "Tronqué (trop profond)" | 414 | msgstr "Tronqué (trop profond)" |
| 415 | 415 | ||
| 416 | #: html.c:2108 | 416 | #: html.c:2202 |
| 417 | msgid "follows you" | 417 | msgid "follows you" |
| 418 | msgstr "vous suit" | 418 | msgstr "vous suit" |
| 419 | 419 | ||
| 420 | #: html.c:2182 | 420 | #: html.c:2276 |
| 421 | msgid "Pinned" | 421 | msgid "Pinned" |
| 422 | msgstr "Épinglé" | 422 | msgstr "Épinglé" |
| 423 | 423 | ||
| 424 | #: html.c:2190 | 424 | #: html.c:2284 |
| 425 | msgid "Bookmarked" | 425 | msgid "Bookmarked" |
| 426 | msgstr "Ajouté aux signets" | 426 | msgstr "Ajouté aux signets" |
| 427 | 427 | ||
| 428 | #: html.c:2198 | 428 | #: html.c:2292 |
| 429 | msgid "Poll" | 429 | msgid "Poll" |
| 430 | msgstr "Sondage" | 430 | msgstr "Sondage" |
| 431 | 431 | ||
| 432 | #: html.c:2205 | 432 | #: html.c:2299 |
| 433 | msgid "Voted" | 433 | msgid "Voted" |
| 434 | msgstr "Voté" | 434 | msgstr "Voté" |
| 435 | 435 | ||
| 436 | #: html.c:2214 | 436 | #: html.c:2308 |
| 437 | msgid "Event" | 437 | msgid "Event" |
| 438 | msgstr "Événement" | 438 | msgstr "Événement" |
| 439 | 439 | ||
| 440 | #: html.c:2246 html.c:2275 | 440 | #: html.c:2340 html.c:2369 |
| 441 | msgid "boosted" | 441 | msgid "boosted" |
| 442 | msgstr "Repartagé" | 442 | msgstr "Repartagé" |
| 443 | 443 | ||
| 444 | #: html.c:2289 | 444 | #: html.c:2383 |
| 445 | msgid "in reply to" | 445 | msgid "in reply to" |
| 446 | msgstr "En réponse à " | 446 | msgstr "En réponse à " |
| 447 | 447 | ||
| 448 | #: html.c:2345 | 448 | #: html.c:2439 |
| 449 | msgid " [SENSITIVE CONTENT]" | 449 | msgid " [SENSITIVE CONTENT]" |
| 450 | msgstr " [CONTENU SENSIBLE]" | 450 | msgstr " [CONTENU SENSIBLE]" |
| 451 | 451 | ||
| 452 | #: html.c:2512 | 452 | #: html.c:2796 |
| 453 | msgid "Vote" | 453 | msgid "Vote" |
| 454 | msgstr "Vote" | 454 | msgstr "Vote" |
| 455 | 455 | ||
| 456 | #: html.c:2522 | 456 | #: html.c:2806 |
| 457 | msgid "Closed" | 457 | msgid "Closed" |
| 458 | msgstr "Terminé" | 458 | msgstr "Terminé" |
| 459 | 459 | ||
| 460 | #: html.c:2547 | 460 | #: html.c:2831 |
| 461 | msgid "Closes in" | 461 | msgid "Closes in" |
| 462 | msgstr "Termine dans" | 462 | msgstr "Termine dans" |
| 463 | 463 | ||
| 464 | #: html.c:2627 | 464 | #: html.c:2911 |
| 465 | msgid "Video" | 465 | msgid "Video" |
| 466 | msgstr "Vidéo" | 466 | msgstr "Vidéo" |
| 467 | 467 | ||
| 468 | #: html.c:2642 | 468 | #: html.c:2926 |
| 469 | msgid "Audio" | 469 | msgid "Audio" |
| 470 | msgstr "Audio" | 470 | msgstr "Audio" |
| 471 | 471 | ||
| 472 | #: html.c:2670 | 472 | #: html.c:2954 |
| 473 | msgid "Attachment" | 473 | msgid "Attachment" |
| 474 | msgstr "Pièce jointe" | 474 | msgstr "Pièce jointe" |
| 475 | 475 | ||
| 476 | #: html.c:2684 | 476 | #: html.c:2968 |
| 477 | msgid "Alt..." | 477 | msgid "Alt..." |
| 478 | msgstr "Alt…" | 478 | msgstr "Alt…" |
| 479 | 479 | ||
| 480 | #: html.c:2697 | 480 | #: html.c:2981 |
| 481 | msgid "Source channel or community" | 481 | msgid "Source channel or community" |
| 482 | msgstr "Canal ou communauté source" | 482 | msgstr "Canal ou communauté source" |
| 483 | 483 | ||
| 484 | #: html.c:2791 | 484 | #: html.c:3075 |
| 485 | msgid "Time: " | 485 | msgid "Time: " |
| 486 | msgstr "Date : " | 486 | msgstr "Date : " |
| 487 | 487 | ||
| 488 | #: html.c:2872 | 488 | #: html.c:3156 |
| 489 | msgid "Older..." | 489 | msgid "Older..." |
| 490 | msgstr "Plus anciens…" | 490 | msgstr "Plus anciens…" |
| 491 | 491 | ||
| 492 | #: html.c:2974 | 492 | #: html.c:3258 |
| 493 | msgid "about this site" | 493 | msgid "about this site" |
| 494 | msgstr "Ã propos de ce site" | 494 | msgstr "Ã propos de ce site" |
| 495 | 495 | ||
| 496 | #: html.c:2976 | 496 | #: html.c:3260 |
| 497 | msgid "powered by " | 497 | msgid "powered by " |
| 498 | msgstr "fonctionne grace à " | 498 | msgstr "fonctionne grace à " |
| 499 | 499 | ||
| 500 | #: html.c:3041 | 500 | #: html.c:3329 |
| 501 | msgid "Dismiss" | 501 | msgid "Dismiss" |
| 502 | msgstr "Rejeter" | 502 | msgstr "Rejeter" |
| 503 | 503 | ||
| 504 | #: html.c:3058 | 504 | #: html.c:3346 |
| 505 | #, c-format | 505 | #, c-format |
| 506 | msgid "Timeline for list '%s'" | 506 | msgid "Timeline for list '%s'" |
| 507 | msgstr "Chronologie pour la liste '%s'" | 507 | msgstr "Chronologie pour la liste '%s'" |
| 508 | 508 | ||
| 509 | #: html.c:3077 html.c:4169 | 509 | #: html.c:3365 html.c:4589 |
| 510 | msgid "Pinned posts" | 510 | msgid "Pinned posts" |
| 511 | msgstr "Messages épinglés" | 511 | msgstr "Messages épinglés" |
| 512 | 512 | ||
| 513 | #: html.c:3089 html.c:4184 | 513 | #: html.c:3377 html.c:4604 |
| 514 | msgid "Bookmarked posts" | 514 | msgid "Bookmarked posts" |
| 515 | msgstr "Messages en signets" | 515 | msgstr "Messages en signets" |
| 516 | 516 | ||
| 517 | #: html.c:3101 html.c:4199 | 517 | #: html.c:3389 html.c:4619 |
| 518 | msgid "Post drafts" | 518 | msgid "Post drafts" |
| 519 | msgstr "Brouillons de messages" | 519 | msgstr "Brouillons de messages" |
| 520 | 520 | ||
| 521 | #: html.c:3177 | 521 | #: html.c:3465 |
| 522 | msgid "No more unseen posts" | 522 | msgid "No more unseen posts" |
| 523 | msgstr "Pas d'avantage de message non vus" | 523 | msgstr "Pas d'avantage de message non vus" |
| 524 | 524 | ||
| 525 | #: html.c:3181 html.c:3290 | 525 | #: html.c:3469 html.c:3578 |
| 526 | msgid "Back to top" | 526 | msgid "Back to top" |
| 527 | msgstr "Retourner en haut" | 527 | msgstr "Retourner en haut" |
| 528 | 528 | ||
| 529 | #: html.c:3243 | 529 | #: html.c:3531 |
| 530 | msgid "History" | 530 | msgid "History" |
| 531 | msgstr "Historique" | 531 | msgstr "Historique" |
| 532 | 532 | ||
| 533 | #: html.c:3295 html.c:3734 | 533 | #: html.c:3583 html.c:4149 |
| 534 | msgid "More..." | 534 | msgid "More..." |
| 535 | msgstr "Plus…" | 535 | msgstr "Plus…" |
| 536 | 536 | ||
| 537 | #: html.c:3391 html.c:4813 | 537 | #: html.c:3767 html.c:5257 |
| 538 | msgid "Unlimit" | 538 | msgid "Unlimit" |
| 539 | msgstr "Illimité" | 539 | msgstr "Illimité" |
| 540 | 540 | ||
| 541 | #: html.c:3392 | 541 | #: html.c:3768 |
| 542 | msgid "Allow announces (boosts) from this user" | 542 | msgid "Allow announces (boosts) from this user" |
| 543 | msgstr "Permettre les annonces (repartages) par cette personne" | 543 | msgstr "Permettre les annonces (repartages) par cette personne" |
| 544 | 544 | ||
| 545 | #: html.c:3395 html.c:4809 | 545 | #: html.c:3771 html.c:5253 |
| 546 | msgid "Limit" | 546 | msgid "Limit" |
| 547 | msgstr "Limite" | 547 | msgstr "Limite" |
| 548 | 548 | ||
| 549 | #: html.c:3396 | 549 | #: html.c:3772 |
| 550 | msgid "Block announces (boosts) from this user" | 550 | msgid "Block announces (boosts) from this user" |
| 551 | msgstr "Bloquer les annonces (repartages) par cette personne" | 551 | msgstr "Bloquer les annonces (repartages) par cette personne" |
| 552 | 552 | ||
| 553 | #: html.c:3405 | 553 | #: html.c:3781 |
| 554 | msgid "Delete this user" | 554 | msgid "Delete this user" |
| 555 | msgstr "Supprimer cette personne" | 555 | msgstr "Supprimer cette personne" |
| 556 | 556 | ||
| 557 | #: html.c:3410 html.c:4927 | 557 | #: html.c:3786 html.c:5371 |
| 558 | msgid "Approve" | 558 | msgid "Approve" |
| 559 | msgstr "Approuver" | 559 | msgstr "Approuver" |
| 560 | 560 | ||
| 561 | #: html.c:3411 | 561 | #: html.c:3787 |
| 562 | msgid "Approve this follow request" | 562 | msgid "Approve this follow request" |
| 563 | msgstr "Approuver cette demande de suivi" | 563 | msgstr "Approuver cette demande de suivi" |
| 564 | 564 | ||
| 565 | #: html.c:3414 html.c:4951 | 565 | #: html.c:3790 html.c:5395 |
| 566 | msgid "Discard" | 566 | msgid "Discard" |
| 567 | msgstr "Rejeter" | 567 | msgstr "Rejeter" |
| 568 | 568 | ||
| 569 | #: html.c:3414 | 569 | #: html.c:3790 |
| 570 | msgid "Discard this follow request" | 570 | msgid "Discard this follow request" |
| 571 | msgstr "Rejeter la demande suivante" | 571 | msgstr "Rejeter la demande suivante" |
| 572 | 572 | ||
| 573 | #: html.c:3419 html.c:4795 | 573 | #: html.c:3795 html.c:5239 |
| 574 | msgid "Unmute" | 574 | msgid "Unmute" |
| 575 | msgstr "Ne plus taire" | 575 | msgstr "Ne plus taire" |
| 576 | 576 | ||
| 577 | #: html.c:3420 | 577 | #: html.c:3796 |
| 578 | msgid "Stop blocking activities from this user" | 578 | msgid "Stop blocking activities from this user" |
| 579 | msgstr "Arrêter de bloquer les activités de cette personne" | 579 | msgstr "Arrêter de bloquer les activités de cette personne" |
| 580 | 580 | ||
| 581 | #: html.c:3424 | 581 | #: html.c:3800 |
| 582 | msgid "Block any activity from this user" | 582 | msgid "Block any activity from this user" |
| 583 | msgstr "Bloque toutes les activités de cette personne" | 583 | msgstr "Bloque toutes les activités de cette personne" |
| 584 | 584 | ||
| 585 | #: html.c:3432 | 585 | #: html.c:3808 |
| 586 | msgid "Direct Message..." | 586 | msgid "Direct Message..." |
| 587 | msgstr "Message direct…" | 587 | msgstr "Message direct…" |
| 588 | 588 | ||
| 589 | #: html.c:3467 | 589 | #: html.c:3843 |
| 590 | msgid "Pending follow confirmations" | 590 | msgid "Pending follow confirmations" |
| 591 | msgstr "Confirmation de suivi en attente" | 591 | msgstr "Confirmation de suivi en attente" |
| 592 | 592 | ||
| 593 | #: html.c:3471 | 593 | #: html.c:3847 |
| 594 | msgid "People you follow" | 594 | msgid "People you follow" |
| 595 | msgstr "Personnes que vous suivez" | 595 | msgstr "Personnes que vous suivez" |
| 596 | 596 | ||
| 597 | #: html.c:3472 | 597 | #: html.c:3848 |
| 598 | msgid "People that follow you" | 598 | msgid "People that follow you" |
| 599 | msgstr "Personnes qui vous suivent" | 599 | msgstr "Personnes qui vous suivent" |
| 600 | 600 | ||
| 601 | #: html.c:3511 | 601 | #: html.c:3887 |
| 602 | msgid "Clear all" | 602 | msgid "Clear all" |
| 603 | msgstr "Tout nettoyer" | 603 | msgstr "Tout nettoyer" |
| 604 | 604 | ||
| 605 | #: html.c:3571 | 605 | #: html.c:3951 |
| 606 | msgid "Mention" | 606 | msgid "Mention" |
| 607 | msgstr "Mention" | 607 | msgstr "Mention" |
| 608 | 608 | ||
| 609 | #: html.c:3574 | 609 | #: html.c:3954 |
| 610 | msgid "Finished poll" | 610 | msgid "Finished poll" |
| 611 | msgstr "Sondage terminé" | 611 | msgstr "Sondage terminé" |
| 612 | 612 | ||
| 613 | #: html.c:3590 | 613 | #: html.c:3979 |
| 614 | msgid "Follow Request" | 614 | msgid "Follow Request" |
| 615 | msgstr "Requête de suivi" | 615 | msgstr "Requête de suivi" |
| 616 | 616 | ||
| 617 | #: html.c:3674 | 617 | #: html.c:4089 |
| 618 | msgid "Context" | 618 | msgid "Context" |
| 619 | msgstr "Contexte" | 619 | msgstr "Contexte" |
| 620 | 620 | ||
| 621 | #: html.c:3692 | 621 | #: html.c:4107 |
| 622 | msgid "New" | 622 | msgid "New" |
| 623 | msgstr "Nouveau" | 623 | msgstr "Nouveau" |
| 624 | 624 | ||
| 625 | #: html.c:3707 | 625 | #: html.c:4122 |
| 626 | msgid "Already seen" | 626 | msgid "Already seen" |
| 627 | msgstr "Déjà vu" | 627 | msgstr "Déjà vu" |
| 628 | 628 | ||
| 629 | #: html.c:3722 | 629 | #: html.c:4137 |
| 630 | msgid "None" | 630 | msgid "None" |
| 631 | msgstr "Aucun" | 631 | msgstr "Aucun" |
| 632 | 632 | ||
| 633 | #: html.c:3994 | 633 | #: html.c:4414 |
| 634 | #, c-format | 634 | #, c-format |
| 635 | msgid "Search results for account %s" | 635 | msgid "Search results for account %s" |
| 636 | msgstr "Résultats de recherche pour le compte %s" | 636 | msgstr "Résultats de recherche pour le compte %s" |
| 637 | 637 | ||
| 638 | #: html.c:4001 | 638 | #: html.c:4421 |
| 639 | #, c-format | 639 | #, c-format |
| 640 | msgid "Account %s not found" | 640 | msgid "Account %s not found" |
| 641 | msgstr "Compte %s non trouvé" | 641 | msgstr "Compte %s non trouvé" |
| 642 | 642 | ||
| 643 | #: html.c:4032 | 643 | #: html.c:4452 |
| 644 | #, c-format | 644 | #, c-format |
| 645 | msgid "Search results for tag %s" | 645 | msgid "Search results for tag %s" |
| 646 | msgstr "Résultats de recherche pour le tag %s" | 646 | msgstr "Résultats de recherche pour le tag %s" |
| 647 | 647 | ||
| 648 | #: html.c:4032 | 648 | #: html.c:4452 |
| 649 | #, c-format | 649 | #, c-format |
| 650 | msgid "Nothing found for tag %s" | 650 | msgid "Nothing found for tag %s" |
| 651 | msgstr "Rien n'a été trouvé pour le tag %s" | 651 | msgstr "Rien n'a été trouvé pour le tag %s" |
| 652 | 652 | ||
| 653 | #: html.c:4048 | 653 | #: html.c:4468 |
| 654 | #, c-format | 654 | #, c-format |
| 655 | msgid "Search results for '%s' (may be more)" | 655 | msgid "Search results for '%s' (may be more)" |
| 656 | msgstr "Résultats de recherche pour '%s' (il pourrait y en avoir davantage)" | 656 | msgstr "Résultats de recherche pour '%s' (il pourrait y en avoir davantage)" |
| 657 | 657 | ||
| 658 | #: html.c:4051 | 658 | #: html.c:4471 |
| 659 | #, c-format | 659 | #, c-format |
| 660 | msgid "Search results for '%s'" | 660 | msgid "Search results for '%s'" |
| 661 | msgstr "Résultats de recherche pour '%s'" | 661 | msgstr "Résultats de recherche pour '%s'" |
| 662 | 662 | ||
| 663 | #: html.c:4054 | 663 | #: html.c:4474 |
| 664 | #, c-format | 664 | #, c-format |
| 665 | msgid "No more matches for '%s'" | 665 | msgid "No more matches for '%s'" |
| 666 | msgstr "Pas davantage de résultats pour '%s'" | 666 | msgstr "Pas davantage de résultats pour '%s'" |
| 667 | 667 | ||
| 668 | #: html.c:4056 | 668 | #: html.c:4476 |
| 669 | #, c-format | 669 | #, c-format |
| 670 | msgid "Nothing found for '%s'" | 670 | msgid "Nothing found for '%s'" |
| 671 | msgstr "Rien n'a été trouvé pour '%s'" | 671 | msgstr "Rien n'a été trouvé pour '%s'" |
| 672 | 672 | ||
| 673 | #: html.c:4154 | 673 | #: html.c:4574 |
| 674 | msgid "Showing instance timeline" | 674 | msgid "Showing instance timeline" |
| 675 | msgstr "Montrer la chronologie de l'instance" | 675 | msgstr "Montrer la chronologie de l'instance" |
| 676 | 676 | ||
| 677 | #: html.c:4237 | 677 | #: html.c:4657 |
| 678 | #, c-format | 678 | #, c-format |
| 679 | msgid "Showing timeline for list '%s'" | 679 | msgid "Showing timeline for list '%s'" |
| 680 | msgstr "Montrer le chronologie pour la liste '%s'" | 680 | msgstr "Montrer le chronologie pour la liste '%s'" |
| 681 | 681 | ||
| 682 | #: httpd.c:258 | 682 | #: httpd.c:259 |
| 683 | #, c-format | 683 | #, c-format |
| 684 | msgid "Search results for tag #%s" | 684 | msgid "Search results for tag #%s" |
| 685 | msgstr "Résultats de recherche pour le tag #%s" | 685 | msgstr "Résultats de recherche pour le tag #%s" |
| 686 | 686 | ||
| 687 | #: httpd.c:267 | 687 | #: httpd.c:268 |
| 688 | msgid "Recent posts by users in this instance" | 688 | msgid "Recent posts by users in this instance" |
| 689 | msgstr "Messages récents des internautes de cette instance" | 689 | msgstr "Messages récents des internautes de cette instance" |
| 690 | 690 | ||
| 691 | #: html.c:1764 | 691 | #: html.c:1842 |
| 692 | msgid "Blocked hashtags..." | 692 | msgid "Blocked hashtags..." |
| 693 | msgstr "Hashtags bloqués…" | 693 | msgstr "Hashtags bloqués…" |
| 694 | 694 | ||
| 695 | #: html.c:518 | 695 | #: html.c:574 |
| 696 | msgid "Optional URL to reply to" | 696 | msgid "Optional URL to reply to" |
| 697 | msgstr "URL optionnelle pour répondre à " | 697 | msgstr "URL optionnelle pour répondre à " |
| 698 | 698 | ||
| 699 | #: html.c:695 | 699 | #: html.c:751 |
| 700 | msgid "" | 700 | msgid "" |
| 701 | "Option 1...\n" | 701 | "Option 1...\n" |
| 702 | "Option 2...\n" | 702 | "Option 2...\n" |
| @@ -708,94 +708,106 @@ msgstr "" | |||
| 708 | "Option 3…\n" | 708 | "Option 3…\n" |
| 709 | "…" | 709 | "…" |
| 710 | 710 | ||
| 711 | #: html.c:1558 | 711 | #: html.c:1636 |
| 712 | msgid "Bot API key" | 712 | msgid "Bot API key" |
| 713 | msgstr "Clé API de bot" | 713 | msgstr "Clé API de bot" |
| 714 | 714 | ||
| 715 | #: html.c:1564 | 715 | #: html.c:1642 |
| 716 | msgid "Chat id" | 716 | msgid "Chat id" |
| 717 | msgstr "Identifiant du salon" | 717 | msgstr "Identifiant du salon" |
| 718 | 718 | ||
| 719 | #: html.c:1572 | 719 | #: html.c:1650 |
| 720 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 720 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 721 | msgstr "serveur ntfy – adresse complète (ex : https://ntfy.sh/VotreSujet)" | 721 | msgstr "serveur ntfy – adresse complète (ex : https://ntfy.sh/VotreSujet)" |
| 722 | 722 | ||
| 723 | #: html.c:1578 | 723 | #: html.c:1656 |
| 724 | msgid "ntfy token - if needed" | 724 | msgid "ntfy token - if needed" |
| 725 | msgstr "jeton ntfy – si nécessaire" | 725 | msgstr "jeton ntfy – si nécessaire" |
| 726 | 726 | ||
| 727 | #: html.c:3078 | 727 | #: html.c:3366 |
| 728 | msgid "pinned" | 728 | msgid "pinned" |
| 729 | msgstr "épinglé" | 729 | msgstr "épinglé" |
| 730 | 730 | ||
| 731 | #: html.c:3090 | 731 | #: html.c:3378 |
| 732 | msgid "bookmarks" | 732 | msgid "bookmarks" |
| 733 | msgstr "signets" | 733 | msgstr "signets" |
| 734 | 734 | ||
| 735 | #: html.c:3102 | 735 | #: html.c:3390 |
| 736 | msgid "drafts" | 736 | msgid "drafts" |
| 737 | msgstr "brouillons" | 737 | msgstr "brouillons" |
| 738 | 738 | ||
| 739 | #: html.c:584 | 739 | #: html.c:640 |
| 740 | msgid "Scheduled post..." | 740 | msgid "Scheduled post..." |
| 741 | msgstr "Publication planifiée…" | 741 | msgstr "Publication planifiée…" |
| 742 | 742 | ||
| 743 | msgid "Post date and time:" | 743 | msgid "Post date and time:" |
| 744 | msgstr "Date et heure de publication :" | 744 | msgstr "Date et heure de publication :" |
| 745 | 745 | ||
| 746 | #: html.c:3113 html.c:4214 | 746 | #: html.c:3401 html.c:4634 |
| 747 | msgid "Scheduled posts" | 747 | msgid "Scheduled posts" |
| 748 | msgstr "Publications planifiées" | 748 | msgstr "Publications planifiées" |
| 749 | 749 | ||
| 750 | #: html.c:3114 | 750 | #: html.c:3402 |
| 751 | msgid "scheduled posts" | 751 | msgid "scheduled posts" |
| 752 | msgstr "publications planifiées" | 752 | msgstr "publications planifiées" |
| 753 | 753 | ||
| 754 | #: html.c:578 | 754 | #: html.c:634 |
| 755 | #, c-format | 755 | #, c-format |
| 756 | msgid "Post date and time (timezone: %s):" | 756 | msgid "Post date and time (timezone: %s):" |
| 757 | msgstr "Date et heure de publication (fuseau horaire : %s) :" | 757 | msgstr "Date et heure de publication (fuseau horaire : %s) :" |
| 758 | 758 | ||
| 759 | #: html.c:1689 | 759 | #: html.c:1767 |
| 760 | msgid "Time zone:" | 760 | msgid "Time zone:" |
| 761 | msgstr "Fuseau horaire :" | 761 | msgstr "Fuseau horaire :" |
| 762 | 762 | ||
| 763 | #: html.c:559 | 763 | #: html.c:615 |
| 764 | msgid "Language:" | 764 | msgid "Language:" |
| 765 | msgstr "" | 765 | msgstr "" |
| 766 | 766 | ||
| 767 | #: html.c:1580 | 767 | #: html.c:1658 |
| 768 | msgid "Notify webhook:" | 768 | msgid "Notify webhook:" |
| 769 | msgstr "" | 769 | msgstr "" |
| 770 | 770 | ||
| 771 | #: html.c:1586 | 771 | #: html.c:1664 |
| 772 | msgid "http://example.com/webhook" | 772 | msgid "http://example.com/webhook" |
| 773 | msgstr "" | 773 | msgstr "" |
| 774 | 774 | ||
| 775 | #: html.c:1694 | 775 | #: html.c:1772 |
| 776 | msgid "Languages you usually post in:" | 776 | msgid "Languages you usually post in:" |
| 777 | msgstr "" | 777 | msgstr "" |
| 778 | 778 | ||
| 779 | #: html.c:1700 | 779 | #: html.c:1778 |
| 780 | msgid "en fr es de_AT" | 780 | msgid "en fr es de_AT" |
| 781 | msgstr "" | 781 | msgstr "" |
| 782 | 782 | ||
| 783 | #: html.c:460 | 783 | #: html.c:428 |
| 784 | msgid "Visibility: " | 784 | msgid "Visibility: " |
| 785 | msgstr "" | 785 | msgstr "" |
| 786 | 786 | ||
| 787 | #: html.c:468 | ||
| 788 | msgid "Public" | 787 | msgid "Public" |
| 789 | msgstr "" | 788 | msgstr "" |
| 790 | 789 | ||
| 791 | #: html.c:477 | ||
| 792 | msgid "Unlisted" | 790 | msgid "Unlisted" |
| 793 | msgstr "" | 791 | msgstr "" |
| 794 | 792 | ||
| 795 | #: html.c:486 | ||
| 796 | msgid "Followers-only" | 793 | msgid "Followers-only" |
| 797 | msgstr "" | 794 | msgstr "" |
| 798 | 795 | ||
| 799 | #: html.c:495 | ||
| 800 | msgid "Direct Message" | 796 | msgid "Direct Message" |
| 801 | msgstr "" | 797 | msgstr "" |
| 798 | |||
| 799 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 800 | msgid "EmojiUnreact" | ||
| 801 | msgstr "" | ||
| 802 | |||
| 803 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 804 | msgid "EmojiReact" | ||
| 805 | msgstr "" | ||
| 806 | |||
| 807 | #: html.c:2115 | ||
| 808 | msgid "Emoji react..." | ||
| 809 | msgstr "" | ||
| 810 | |||
| 811 | #: html.c:2609 | ||
| 812 | msgid "Emoji reactions: " | ||
| 813 | msgstr "" | ||
diff --git a/po/fy_NL.po b/po/fy_NL.po index d34377b..083c679 100644 --- a/po/fy_NL.po +++ b/po/fy_NL.po | |||
| @@ -8,119 +8,119 @@ msgstr "" | |||
| 8 | "Language: fy_NL\n" | 8 | "Language: fy_NL\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Gefoelige ynhâld: " | 13 | msgstr "Gefoelige ynhâld: " |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Beskriuwing fan gefoelige ynhâld" | 17 | msgstr "Beskriuwing fan gefoelige ynhâld" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Allinnich foar neamde personen: " | 20 | msgstr "Allinnich foar neamde personen: " |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Antwurd op (URL): " | 24 | msgstr "Antwurd op (URL): " |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "Net ferstjoere, mar bewarje as konsept" | 28 | msgstr "Net ferstjoere, mar bewarje as konsept" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Konsept:" | 32 | msgstr "Konsept:" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "Bylagen..." | 36 | msgstr "Bylagen..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "Bestân:" | 40 | msgstr "Bestân:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Fjild leech meitsje om de bylage fuort te smiten" | 44 | msgstr "Fjild leech meitsje om de bylage fuort te smiten" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Beskriuwing fan bylage" | 48 | msgstr "Beskriuwing fan bylage" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Peiling..." | 52 | msgstr "Peiling..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Peilingopsjes (ien per rigel, oant 8):" | 56 | msgstr "Peilingopsjes (ien per rigel, oant 8):" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Ien keuze" | 60 | msgstr "Ien keuze" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Mear keuzes" | 64 | msgstr "Mear keuzes" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Einiget oer 5 minuten" | 68 | msgstr "Einiget oer 5 minuten" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Einiget oer 1 oere" | 72 | msgstr "Einiget oer 1 oere" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Einiget oer 1 dei" | 76 | msgstr "Einiget oer 1 dei" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Berjocht" | 80 | msgstr "Berjocht" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Beskriuwing fan de side" | 84 | msgstr "Beskriuwing fan de side" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Admin e-mail" | 88 | msgstr "Admin e-mail" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "Admin akkount" | 92 | msgstr "Admin akkount" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d folgjend, %d folgers" | 97 | msgstr "%d folgjend, %d folgers" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "privé" | 105 | msgstr "privé" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "publik" | 109 | msgstr "publik" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "notifikaasjes" | 113 | msgstr "notifikaasjes" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "minsken" | 117 | msgstr "minsken" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "instantsje" | 121 | msgstr "instantsje" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| @@ -128,575 +128,575 @@ msgstr "" | |||
| 128 | "Sykje berjochten op URL of ynh??ld (reguliere ekspresje), @brûker@host " | 128 | "Sykje berjochten op URL of ynh??ld (reguliere ekspresje), @brûker@host " |
| 129 | "akkounts, of #tag" | 129 | "akkounts, of #tag" |
| 130 | 130 | ||
| 131 | #: html.c:1087 | 131 | #: html.c:1143 |
| 132 | msgid "Content search" | 132 | msgid "Content search" |
| 133 | msgstr "Ynhâld sêkje" | 133 | msgstr "Ynhâld sêkje" |
| 134 | 134 | ||
| 135 | #: html.c:1213 | 135 | #: html.c:1269 |
| 136 | msgid "verified link" | 136 | msgid "verified link" |
| 137 | msgstr "ferifiearre keppeling" | 137 | msgstr "ferifiearre keppeling" |
| 138 | 138 | ||
| 139 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 139 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 140 | msgid "Location: " | 140 | msgid "Location: " |
| 141 | msgstr "Lokaasje: " | 141 | msgstr "Lokaasje: " |
| 142 | 142 | ||
| 143 | #: html.c:1302 | 143 | #: html.c:1358 |
| 144 | msgid "New Post..." | 144 | msgid "New Post..." |
| 145 | msgstr "Nij berjocht..." | 145 | msgstr "Nij berjocht..." |
| 146 | 146 | ||
| 147 | #: html.c:1304 | 147 | #: html.c:1360 |
| 148 | msgid "What's on your mind?" | 148 | msgid "What's on your mind?" |
| 149 | msgstr "Wat wolst diele?" | 149 | msgstr "Wat wolst diele?" |
| 150 | 150 | ||
| 151 | #: html.c:1313 | 151 | #: html.c:1369 |
| 152 | msgid "Operations..." | 152 | msgid "Operations..." |
| 153 | msgstr "Hannelens..." | 153 | msgstr "Hannelens..." |
| 154 | 154 | ||
| 155 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 155 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 156 | msgid "Follow" | 156 | msgid "Follow" |
| 157 | msgstr "Folgje" | 157 | msgstr "Folgje" |
| 158 | 158 | ||
| 159 | #: html.c:1330 | 159 | #: html.c:1386 |
| 160 | msgid "(by URL or user@host)" | 160 | msgid "(by URL or user@host)" |
| 161 | msgstr "(fia URL of brûker@host)" | 161 | msgstr "(fia URL of brûker@host)" |
| 162 | 162 | ||
| 163 | #: html.c:1345 html.c:1925 html.c:4766 | 163 | #: html.c:1401 html.c:2003 html.c:5210 |
| 164 | msgid "Boost" | 164 | msgid "Boost" |
| 165 | msgstr "Boost" | 165 | msgstr "Boost" |
| 166 | 166 | ||
| 167 | #: html.c:1347 html.c:1364 | 167 | #: html.c:1403 html.c:1420 html.c:1442 |
| 168 | msgid "(by URL)" | 168 | msgid "(by URL)" |
| 169 | msgstr "(fia URL)" | 169 | msgstr "(fia URL)" |
| 170 | 170 | ||
| 171 | #: html.c:1362 html.c:1904 html.c:4757 | 171 | #: html.c:1418 html.c:1982 html.c:5201 |
| 172 | msgid "Like" | 172 | msgid "Like" |
| 173 | msgstr "Lyk" | 173 | msgstr "Lyk" |
| 174 | 174 | ||
| 175 | #: html.c:1490 | 175 | #: html.c:1568 |
| 176 | msgid "User Settings..." | 176 | msgid "User Settings..." |
| 177 | msgstr "Brûkersynstellings..." | 177 | msgstr "Brûkersynstellings..." |
| 178 | 178 | ||
| 179 | #: html.c:1499 | 179 | #: html.c:1577 |
| 180 | msgid "Display name:" | 180 | msgid "Display name:" |
| 181 | msgstr "Werjeftenamme:" | 181 | msgstr "Werjeftenamme:" |
| 182 | 182 | ||
| 183 | #: html.c:1505 | 183 | #: html.c:1583 |
| 184 | msgid "Your name" | 184 | msgid "Your name" |
| 185 | msgstr "Jo namme" | 185 | msgstr "Jo namme" |
| 186 | 186 | ||
| 187 | #: html.c:1507 | 187 | #: html.c:1585 |
| 188 | msgid "Avatar: " | 188 | msgid "Avatar: " |
| 189 | msgstr "Profylplaatsje: " | 189 | msgstr "Profylplaatsje: " |
| 190 | 190 | ||
| 191 | #: html.c:1515 | 191 | #: html.c:1593 |
| 192 | msgid "Delete current avatar" | 192 | msgid "Delete current avatar" |
| 193 | msgstr "Hjoeddeistige profylplaatsje fuortsmite" | 193 | msgstr "Hjoeddeistige profylplaatsje fuortsmite" |
| 194 | 194 | ||
| 195 | #: html.c:1517 | 195 | #: html.c:1595 |
| 196 | msgid "Header image (banner): " | 196 | msgid "Header image (banner): " |
| 197 | msgstr "Koptekstplaatsje (banner): " | 197 | msgstr "Koptekstplaatsje (banner): " |
| 198 | 198 | ||
| 199 | #: html.c:1525 | 199 | #: html.c:1603 |
| 200 | msgid "Delete current header image" | 200 | msgid "Delete current header image" |
| 201 | msgstr "Hjoeddeistige koptekstplaatsje fuortsmite" | 201 | msgstr "Hjoeddeistige koptekstplaatsje fuortsmite" |
| 202 | 202 | ||
| 203 | #: html.c:1527 | 203 | #: html.c:1605 |
| 204 | msgid "Bio:" | 204 | msgid "Bio:" |
| 205 | msgstr "Bio:" | 205 | msgstr "Bio:" |
| 206 | 206 | ||
| 207 | #: html.c:1533 | 207 | #: html.c:1611 |
| 208 | msgid "Write about yourself here..." | 208 | msgid "Write about yourself here..." |
| 209 | msgstr "Skriuw hjir wat oer josels..." | 209 | msgstr "Skriuw hjir wat oer josels..." |
| 210 | 210 | ||
| 211 | #: html.c:1542 | 211 | #: html.c:1620 |
| 212 | msgid "Always show sensitive content" | 212 | msgid "Always show sensitive content" |
| 213 | msgstr "Altyd gefoelige ynhâld toanje" | 213 | msgstr "Altyd gefoelige ynhâld toanje" |
| 214 | 214 | ||
| 215 | #: html.c:1544 | 215 | #: html.c:1622 |
| 216 | msgid "Email address for notifications:" | 216 | msgid "Email address for notifications:" |
| 217 | msgstr "E-mailadres foar notifikaasjes:" | 217 | msgstr "E-mailadres foar notifikaasjes:" |
| 218 | 218 | ||
| 219 | #: html.c:1552 | 219 | #: html.c:1630 |
| 220 | msgid "Telegram notifications (bot key and chat id):" | 220 | msgid "Telegram notifications (bot key and chat id):" |
| 221 | msgstr "Telegram notifikaasjes (bot kaai en chat id):" | 221 | msgstr "Telegram notifikaasjes (bot kaai en chat id):" |
| 222 | 222 | ||
| 223 | #: html.c:1566 | 223 | #: html.c:1644 |
| 224 | msgid "ntfy notifications (ntfy server and token):" | 224 | msgid "ntfy notifications (ntfy server and token):" |
| 225 | msgstr "ntfy notifikaasjes (ntfy server en token):" | 225 | msgstr "ntfy notifikaasjes (ntfy server en token):" |
| 226 | 226 | ||
| 227 | #: html.c:1588 | 227 | #: html.c:1666 |
| 228 | msgid "Maximum days to keep posts (0: server settings):" | 228 | msgid "Maximum days to keep posts (0: server settings):" |
| 229 | msgstr "" | 229 | msgstr "" |
| 230 | "Maksimaal oantal dagen om berjochten te bewarjen (0: serverynstellings):" | 230 | "Maksimaal oantal dagen om berjochten te bewarjen (0: serverynstellings):" |
| 231 | 231 | ||
| 232 | #: html.c:1602 | 232 | #: html.c:1680 |
| 233 | msgid "Drop direct messages from people you don't follow" | 233 | msgid "Drop direct messages from people you don't follow" |
| 234 | msgstr "Direktte berjochten fan minsken dy't jo net folgje fuortsmite" | 234 | msgstr "Direktte berjochten fan minsken dy't jo net folgje fuortsmite" |
| 235 | 235 | ||
| 236 | #: html.c:1611 | 236 | #: html.c:1689 |
| 237 | msgid "This account is a bot" | 237 | msgid "This account is a bot" |
| 238 | msgstr "Dit akkount is in bot" | 238 | msgstr "Dit akkount is in bot" |
| 239 | 239 | ||
| 240 | #: html.c:1620 | 240 | #: html.c:1698 |
| 241 | msgid "Auto-boost all mentions to this account" | 241 | msgid "Auto-boost all mentions to this account" |
| 242 | msgstr "Automatysk boostje fan alle fermeldingen fan dit akkount" | 242 | msgstr "Automatysk boostje fan alle fermeldingen fan dit akkount" |
| 243 | 243 | ||
| 244 | #: html.c:1629 | 244 | #: html.c:1707 |
| 245 | msgid "This account is private (posts are not shown through the web)" | 245 | msgid "This account is private (posts are not shown through the web)" |
| 246 | msgstr "Dit akkount is privé (berjochten wurde net toand fia it web)" | 246 | msgstr "Dit akkount is privé (berjochten wurde net toand fia it web)" |
| 247 | 247 | ||
| 248 | #: html.c:1639 | 248 | #: html.c:1717 |
| 249 | msgid "Collapse top threads by default" | 249 | msgid "Collapse top threads by default" |
| 250 | msgstr "Standert topthreads ynklappe" | 250 | msgstr "Standert topthreads ynklappe" |
| 251 | 251 | ||
| 252 | #: html.c:1648 | 252 | #: html.c:1726 |
| 253 | msgid "Follow requests must be approved" | 253 | msgid "Follow requests must be approved" |
| 254 | msgstr "Folchfersiken moatte goedkeard wurde" | 254 | msgstr "Folchfersiken moatte goedkeard wurde" |
| 255 | 255 | ||
| 256 | #: html.c:1657 | 256 | #: html.c:1735 |
| 257 | msgid "Publish follower and following metrics" | 257 | msgid "Publish follower and following metrics" |
| 258 | msgstr "Folger- en folchstatistiken publisearje" | 258 | msgstr "Folger- en folchstatistiken publisearje" |
| 259 | 259 | ||
| 260 | #: html.c:1659 | 260 | #: html.c:1737 |
| 261 | msgid "Current location:" | 261 | msgid "Current location:" |
| 262 | msgstr "Hjoeddeistige lokaasje:" | 262 | msgstr "Hjoeddeistige lokaasje:" |
| 263 | 263 | ||
| 264 | #: html.c:1673 | 264 | #: html.c:1751 |
| 265 | msgid "Profile metadata (key=value pairs in each line):" | 265 | msgid "Profile metadata (key=value pairs in each line):" |
| 266 | msgstr "Profylmetadata (kaai=wearde pearen yn eltse rigel):" | 266 | msgstr "Profylmetadata (kaai=wearde pearen yn eltse rigel):" |
| 267 | 267 | ||
| 268 | #: html.c:1684 | 268 | #: html.c:1762 |
| 269 | msgid "Web interface language:" | 269 | msgid "Web interface language:" |
| 270 | msgstr "Webynterfacetaal:" | 270 | msgstr "Webynterfacetaal:" |
| 271 | 271 | ||
| 272 | #: html.c:1703 | 272 | #: html.c:1781 |
| 273 | msgid "New password:" | 273 | msgid "New password:" |
| 274 | msgstr "Nij wachtwurd:" | 274 | msgstr "Nij wachtwurd:" |
| 275 | 275 | ||
| 276 | #: html.c:1710 | 276 | #: html.c:1788 |
| 277 | msgid "Repeat new password:" | 277 | msgid "Repeat new password:" |
| 278 | msgstr "Nij wachtwurd werhelje:" | 278 | msgstr "Nij wachtwurd werhelje:" |
| 279 | 279 | ||
| 280 | #: html.c:1720 | 280 | #: html.c:1798 |
| 281 | msgid "Update user info" | 281 | msgid "Update user info" |
| 282 | msgstr "Brûkerynformaasje bywurkje" | 282 | msgstr "Brûkerynformaasje bywurkje" |
| 283 | 283 | ||
| 284 | #: html.c:1731 | 284 | #: html.c:1809 |
| 285 | msgid "Followed hashtags..." | 285 | msgid "Followed hashtags..." |
| 286 | msgstr "Folge hashtags..." | 286 | msgstr "Folge hashtags..." |
| 287 | 287 | ||
| 288 | #: html.c:1733 html.c:1766 | 288 | #: html.c:1811 html.c:1844 |
| 289 | msgid "One hashtag per line" | 289 | msgid "One hashtag per line" |
| 290 | msgstr "Ien hashtag per rigel" | 290 | msgstr "Ien hashtag per rigel" |
| 291 | 291 | ||
| 292 | #: html.c:1755 html.c:1787 | 292 | #: html.c:1833 html.c:1865 |
| 293 | msgid "Update hashtags" | 293 | msgid "Update hashtags" |
| 294 | msgstr "Hashtags bywurkje" | 294 | msgstr "Hashtags bywurkje" |
| 295 | 295 | ||
| 296 | #: html.c:1904 | 296 | #: html.c:1982 |
| 297 | msgid "Say you like this post" | 297 | msgid "Say you like this post" |
| 298 | msgstr "Sis dat jo dit berjocht mooi fine" | 298 | msgstr "Sis dat jo dit berjocht mooi fine" |
| 299 | 299 | ||
| 300 | #: html.c:1909 html.c:4775 | 300 | #: html.c:1987 html.c:5219 |
| 301 | msgid "Unlike" | 301 | msgid "Unlike" |
| 302 | msgstr "Net mooi fine" | 302 | msgstr "Net mooi fine" |
| 303 | 303 | ||
| 304 | #: html.c:1909 | 304 | #: html.c:1987 |
| 305 | msgid "Nah don't like it that much" | 305 | msgid "Nah don't like it that much" |
| 306 | msgstr "Nee, ik find it net sa mooi" | 306 | msgstr "Nee, ik find it net sa mooi" |
| 307 | 307 | ||
| 308 | #: html.c:1915 html.c:4912 | 308 | #: html.c:1993 html.c:5356 |
| 309 | msgid "Unpin" | 309 | msgid "Unpin" |
| 310 | msgstr "Net fêstsette" | 310 | msgstr "Net fêstsette" |
| 311 | 311 | ||
| 312 | #: html.c:1915 | 312 | #: html.c:1993 |
| 313 | msgid "Unpin this post from your timeline" | 313 | msgid "Unpin this post from your timeline" |
| 314 | msgstr "Dit berjocht net mear fêstsette op jo tiidline" | 314 | msgstr "Dit berjocht net mear fêstsette op jo tiidline" |
| 315 | 315 | ||
| 316 | #: html.c:1918 html.c:4907 | 316 | #: html.c:1996 html.c:5351 |
| 317 | msgid "Pin" | 317 | msgid "Pin" |
| 318 | msgstr "Fêstsette" | 318 | msgstr "Fêstsette" |
| 319 | 319 | ||
| 320 | #: html.c:1918 | 320 | #: html.c:1996 |
| 321 | msgid "Pin this post to the top of your timeline" | 321 | msgid "Pin this post to the top of your timeline" |
| 322 | msgstr "Dit berjocht fêstsette boppe-oan jo tiidline" | 322 | msgstr "Dit berjocht fêstsette boppe-oan jo tiidline" |
| 323 | 323 | ||
| 324 | #: html.c:1925 | 324 | #: html.c:2003 |
| 325 | msgid "Announce this post to your followers" | 325 | msgid "Announce this post to your followers" |
| 326 | msgstr "Dit berjocht oankondichje by jo folgers" | 326 | msgstr "Dit berjocht oankondichje by jo folgers" |
| 327 | 327 | ||
| 328 | #: html.c:1930 html.c:4783 | 328 | #: html.c:2008 html.c:5227 |
| 329 | msgid "Unboost" | 329 | msgid "Unboost" |
| 330 | msgstr "Untboostje" | 330 | msgstr "Untboostje" |
| 331 | 331 | ||
| 332 | #: html.c:1930 | 332 | #: html.c:2008 |
| 333 | msgid "I regret I boosted this" | 333 | msgid "I regret I boosted this" |
| 334 | msgstr "Ik betreure dat ik dit boostet ha" | 334 | msgstr "Ik betreure dat ik dit boostet ha" |
| 335 | 335 | ||
| 336 | #: html.c:1936 html.c:4922 | 336 | #: html.c:2014 html.c:5366 |
| 337 | msgid "Unbookmark" | 337 | msgid "Unbookmark" |
| 338 | msgstr "Ut favorite fuortsmite" | 338 | msgstr "Ut favorite fuortsmite" |
| 339 | 339 | ||
| 340 | #: html.c:1936 | 340 | #: html.c:2014 |
| 341 | msgid "Delete this post from your bookmarks" | 341 | msgid "Delete this post from your bookmarks" |
| 342 | msgstr "Dit berjocht ut jo favorite fuortsmite" | 342 | msgstr "Dit berjocht ut jo favorite fuortsmite" |
| 343 | 343 | ||
| 344 | #: html.c:1939 html.c:4917 | 344 | #: html.c:2017 html.c:5361 |
| 345 | msgid "Bookmark" | 345 | msgid "Bookmark" |
| 346 | msgstr "Favoryt" | 346 | msgstr "Favoryt" |
| 347 | 347 | ||
| 348 | #: html.c:1939 | 348 | #: html.c:2017 |
| 349 | msgid "Add this post to your bookmarks" | 349 | msgid "Add this post to your bookmarks" |
| 350 | msgstr "Dit berjocht tafoegje oan jo favorite" | 350 | msgstr "Dit berjocht tafoegje oan jo favorite" |
| 351 | 351 | ||
| 352 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 352 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 353 | msgid "Unfollow" | 353 | msgid "Unfollow" |
| 354 | msgstr "Untfolgje" | 354 | msgstr "Untfolgje" |
| 355 | 355 | ||
| 356 | #: html.c:1945 html.c:3387 | 356 | #: html.c:2023 html.c:3763 html.c:4042 |
| 357 | msgid "Stop following this user's activity" | 357 | msgid "Stop following this user's activity" |
| 358 | msgstr "Stopje mei it folgjen fan de aktiviteit fan dizze brûker" | 358 | msgstr "Stopje mei it folgjen fan de aktiviteit fan dizze brûker" |
| 359 | 359 | ||
| 360 | #: html.c:1949 html.c:3401 | 360 | #: html.c:2027 html.c:3777 html.c:4044 |
| 361 | msgid "Start following this user's activity" | 361 | msgid "Start following this user's activity" |
| 362 | msgstr "Begjinne mei it folgjen fan de aktiviteit fan dizze brûker" | 362 | msgstr "Begjinne mei it folgjen fan de aktiviteit fan dizze brûker" |
| 363 | 363 | ||
| 364 | #: html.c:1955 html.c:4860 | 364 | #: html.c:2033 html.c:5304 |
| 365 | msgid "Unfollow Group" | 365 | msgid "Unfollow Group" |
| 366 | msgstr "Untfolgje groep" | 366 | msgstr "Untfolgje groep" |
| 367 | 367 | ||
| 368 | #: html.c:1956 | 368 | #: html.c:2034 |
| 369 | msgid "Stop following this group or channel" | 369 | msgid "Stop following this group or channel" |
| 370 | msgstr "Stopje mei it folgjen fan dizze groep of kanaal" | 370 | msgstr "Stopje mei it folgjen fan dizze groep of kanaal" |
| 371 | 371 | ||
| 372 | #: html.c:1960 html.c:4847 | 372 | #: html.c:2038 html.c:5291 |
| 373 | msgid "Follow Group" | 373 | msgid "Follow Group" |
| 374 | msgstr "Folgje groep" | 374 | msgstr "Folgje groep" |
| 375 | 375 | ||
| 376 | #: html.c:1961 | 376 | #: html.c:2039 |
| 377 | msgid "Start following this group or channel" | 377 | msgid "Start following this group or channel" |
| 378 | msgstr "Begjinne mei it folgjen fan dizze groep of kanaal" | 378 | msgstr "Begjinne mei it folgjen fan dizze groep of kanaal" |
| 379 | 379 | ||
| 380 | #: html.c:1966 html.c:3423 html.c:4791 | 380 | #: html.c:2044 html.c:3799 html.c:5235 |
| 381 | msgid "MUTE" | 381 | msgid "MUTE" |
| 382 | msgstr "STILJE" | 382 | msgstr "STILJE" |
| 383 | 383 | ||
| 384 | #: html.c:1967 | 384 | #: html.c:2045 |
| 385 | msgid "Block any activity from this user forever" | 385 | msgid "Block any activity from this user forever" |
| 386 | msgstr "Alle aktiviteit fan dizze brûker foar altyd blokkearje" | 386 | msgstr "Alle aktiviteit fan dizze brûker foar altyd blokkearje" |
| 387 | 387 | ||
| 388 | #: html.c:1972 html.c:3405 html.c:4877 | 388 | #: html.c:2050 html.c:3781 html.c:5321 |
| 389 | msgid "Delete" | 389 | msgid "Delete" |
| 390 | msgstr "Fuortsmite" | 390 | msgstr "Fuortsmite" |
| 391 | 391 | ||
| 392 | #: html.c:1972 | 392 | #: html.c:2050 |
| 393 | msgid "Delete this post" | 393 | msgid "Delete this post" |
| 394 | msgstr "Dit berjocht fuortsmite" | 394 | msgstr "Dit berjocht fuortsmite" |
| 395 | 395 | ||
| 396 | #: html.c:1975 html.c:4799 | 396 | #: html.c:2053 html.c:5243 |
| 397 | msgid "Hide" | 397 | msgid "Hide" |
| 398 | msgstr "Ferbergje" | 398 | msgstr "Ferbergje" |
| 399 | 399 | ||
| 400 | #: html.c:1975 | 400 | #: html.c:2053 |
| 401 | msgid "Hide this post and its children" | 401 | msgid "Hide this post and its children" |
| 402 | msgstr "Dit berjocht en syn bern ferbergje" | 402 | msgstr "Dit berjocht en syn bern ferbergje" |
| 403 | 403 | ||
| 404 | #: html.c:2017 | 404 | #: html.c:2095 |
| 405 | msgid "Edit..." | 405 | msgid "Edit..." |
| 406 | msgstr "Bewurkje..." | 406 | msgstr "Bewurkje..." |
| 407 | 407 | ||
| 408 | #: html.c:2039 | 408 | #: html.c:2133 |
| 409 | msgid "Reply..." | 409 | msgid "Reply..." |
| 410 | msgstr "Antwurd..." | 410 | msgstr "Antwurd..." |
| 411 | 411 | ||
| 412 | #: html.c:2090 | 412 | #: html.c:2184 |
| 413 | msgid "Truncated (too deep)" | 413 | msgid "Truncated (too deep)" |
| 414 | msgstr "Ofkapte (te djip)" | 414 | msgstr "Ofkapte (te djip)" |
| 415 | 415 | ||
| 416 | #: html.c:2108 | 416 | #: html.c:2202 |
| 417 | msgid "follows you" | 417 | msgid "follows you" |
| 418 | msgstr "folget jo" | 418 | msgstr "folget jo" |
| 419 | 419 | ||
| 420 | #: html.c:2182 | 420 | #: html.c:2276 |
| 421 | msgid "Pinned" | 421 | msgid "Pinned" |
| 422 | msgstr "Fêstsetten" | 422 | msgstr "Fêstsetten" |
| 423 | 423 | ||
| 424 | #: html.c:2190 | 424 | #: html.c:2284 |
| 425 | msgid "Bookmarked" | 425 | msgid "Bookmarked" |
| 426 | msgstr "Favoryt" | 426 | msgstr "Favoryt" |
| 427 | 427 | ||
| 428 | #: html.c:2198 | 428 | #: html.c:2292 |
| 429 | msgid "Poll" | 429 | msgid "Poll" |
| 430 | msgstr "Peiling" | 430 | msgstr "Peiling" |
| 431 | 431 | ||
| 432 | #: html.c:2205 | 432 | #: html.c:2299 |
| 433 | msgid "Voted" | 433 | msgid "Voted" |
| 434 | msgstr "Stimme" | 434 | msgstr "Stimme" |
| 435 | 435 | ||
| 436 | #: html.c:2214 | 436 | #: html.c:2308 |
| 437 | msgid "Event" | 437 | msgid "Event" |
| 438 | msgstr "Barrens" | 438 | msgstr "Barrens" |
| 439 | 439 | ||
| 440 | #: html.c:2246 html.c:2275 | 440 | #: html.c:2340 html.c:2369 |
| 441 | msgid "boosted" | 441 | msgid "boosted" |
| 442 | msgstr "boostet" | 442 | msgstr "boostet" |
| 443 | 443 | ||
| 444 | #: html.c:2289 | 444 | #: html.c:2383 |
| 445 | msgid "in reply to" | 445 | msgid "in reply to" |
| 446 | msgstr "as antwurd op" | 446 | msgstr "as antwurd op" |
| 447 | 447 | ||
| 448 | #: html.c:2345 | 448 | #: html.c:2439 |
| 449 | msgid " [SENSITIVE CONTENT]" | 449 | msgid " [SENSITIVE CONTENT]" |
| 450 | msgstr " [GEFOELIGE YNHÂLD]" | 450 | msgstr " [GEFOELIGE YNHÂLD]" |
| 451 | 451 | ||
| 452 | #: html.c:2512 | 452 | #: html.c:2796 |
| 453 | msgid "Vote" | 453 | msgid "Vote" |
| 454 | msgstr "Stimme" | 454 | msgstr "Stimme" |
| 455 | 455 | ||
| 456 | #: html.c:2522 | 456 | #: html.c:2806 |
| 457 | msgid "Closed" | 457 | msgid "Closed" |
| 458 | msgstr "Sletten" | 458 | msgstr "Sletten" |
| 459 | 459 | ||
| 460 | #: html.c:2547 | 460 | #: html.c:2831 |
| 461 | msgid "Closes in" | 461 | msgid "Closes in" |
| 462 | msgstr "Slut oer" | 462 | msgstr "Slut oer" |
| 463 | 463 | ||
| 464 | #: html.c:2627 | 464 | #: html.c:2911 |
| 465 | msgid "Video" | 465 | msgid "Video" |
| 466 | msgstr "Fideo" | 466 | msgstr "Fideo" |
| 467 | 467 | ||
| 468 | #: html.c:2642 | 468 | #: html.c:2926 |
| 469 | msgid "Audio" | 469 | msgid "Audio" |
| 470 | msgstr "Audio" | 470 | msgstr "Audio" |
| 471 | 471 | ||
| 472 | #: html.c:2670 | 472 | #: html.c:2954 |
| 473 | msgid "Attachment" | 473 | msgid "Attachment" |
| 474 | msgstr "Bylage" | 474 | msgstr "Bylage" |
| 475 | 475 | ||
| 476 | #: html.c:2684 | 476 | #: html.c:2968 |
| 477 | msgid "Alt..." | 477 | msgid "Alt..." |
| 478 | msgstr "Alt..." | 478 | msgstr "Alt..." |
| 479 | 479 | ||
| 480 | #: html.c:2697 | 480 | #: html.c:2981 |
| 481 | msgid "Source channel or community" | 481 | msgid "Source channel or community" |
| 482 | msgstr "Boarnekanaal of mienskip" | 482 | msgstr "Boarnekanaal of mienskip" |
| 483 | 483 | ||
| 484 | #: html.c:2791 | 484 | #: html.c:3075 |
| 485 | msgid "Time: " | 485 | msgid "Time: " |
| 486 | msgstr "Tiid: " | 486 | msgstr "Tiid: " |
| 487 | 487 | ||
| 488 | #: html.c:2872 | 488 | #: html.c:3156 |
| 489 | msgid "Older..." | 489 | msgid "Older..." |
| 490 | msgstr "Alder..." | 490 | msgstr "Alder..." |
| 491 | 491 | ||
| 492 | #: html.c:2974 | 492 | #: html.c:3258 |
| 493 | msgid "about this site" | 493 | msgid "about this site" |
| 494 | msgstr "oer dizze side" | 494 | msgstr "oer dizze side" |
| 495 | 495 | ||
| 496 | #: html.c:2976 | 496 | #: html.c:3260 |
| 497 | msgid "powered by " | 497 | msgid "powered by " |
| 498 | msgstr "oanjoegen troch " | 498 | msgstr "oanjoegen troch " |
| 499 | 499 | ||
| 500 | #: html.c:3041 | 500 | #: html.c:3329 |
| 501 | msgid "Dismiss" | 501 | msgid "Dismiss" |
| 502 | msgstr "Wegerje" | 502 | msgstr "Wegerje" |
| 503 | 503 | ||
| 504 | #: html.c:3058 | 504 | #: html.c:3346 |
| 505 | #, c-format | 505 | #, c-format |
| 506 | msgid "Timeline for list '%s'" | 506 | msgid "Timeline for list '%s'" |
| 507 | msgstr "Tiidline foar list '%s'" | 507 | msgstr "Tiidline foar list '%s'" |
| 508 | 508 | ||
| 509 | #: html.c:3077 html.c:4169 | 509 | #: html.c:3365 html.c:4589 |
| 510 | msgid "Pinned posts" | 510 | msgid "Pinned posts" |
| 511 | msgstr "Fêstsette berjochten" | 511 | msgstr "Fêstsette berjochten" |
| 512 | 512 | ||
| 513 | #: html.c:3089 html.c:4184 | 513 | #: html.c:3377 html.c:4604 |
| 514 | msgid "Bookmarked posts" | 514 | msgid "Bookmarked posts" |
| 515 | msgstr "Favorite berjochten" | 515 | msgstr "Favorite berjochten" |
| 516 | 516 | ||
| 517 | #: html.c:3101 html.c:4199 | 517 | #: html.c:3389 html.c:4619 |
| 518 | msgid "Post drafts" | 518 | msgid "Post drafts" |
| 519 | msgstr "Berjochtkonsepten" | 519 | msgstr "Berjochtkonsepten" |
| 520 | 520 | ||
| 521 | #: html.c:3177 | 521 | #: html.c:3465 |
| 522 | msgid "No more unseen posts" | 522 | msgid "No more unseen posts" |
| 523 | msgstr "Gjin net-lêzene berjochten mear" | 523 | msgstr "Gjin net-lêzene berjochten mear" |
| 524 | 524 | ||
| 525 | #: html.c:3181 html.c:3290 | 525 | #: html.c:3469 html.c:3578 |
| 526 | msgid "Back to top" | 526 | msgid "Back to top" |
| 527 | msgstr "Werom nei boppe" | 527 | msgstr "Werom nei boppe" |
| 528 | 528 | ||
| 529 | #: html.c:3243 | 529 | #: html.c:3531 |
| 530 | msgid "History" | 530 | msgid "History" |
| 531 | msgstr "Skiednis" | 531 | msgstr "Skiednis" |
| 532 | 532 | ||
| 533 | #: html.c:3295 html.c:3734 | 533 | #: html.c:3583 html.c:4149 |
| 534 | msgid "More..." | 534 | msgid "More..." |
| 535 | msgstr "Mear..." | 535 | msgstr "Mear..." |
| 536 | 536 | ||
| 537 | #: html.c:3391 html.c:4813 | 537 | #: html.c:3767 html.c:5257 |
| 538 | msgid "Unlimit" | 538 | msgid "Unlimit" |
| 539 | msgstr "Unbeheind" | 539 | msgstr "Unbeheind" |
| 540 | 540 | ||
| 541 | #: html.c:3392 | 541 | #: html.c:3768 |
| 542 | msgid "Allow announces (boosts) from this user" | 542 | msgid "Allow announces (boosts) from this user" |
| 543 | msgstr "Oankondichings (boosts) fan dizze brûker tasteane" | 543 | msgstr "Oankondichings (boosts) fan dizze brûker tasteane" |
| 544 | 544 | ||
| 545 | #: html.c:3395 html.c:4809 | 545 | #: html.c:3771 html.c:5253 |
| 546 | msgid "Limit" | 546 | msgid "Limit" |
| 547 | msgstr "Beheine" | 547 | msgstr "Beheine" |
| 548 | 548 | ||
| 549 | #: html.c:3396 | 549 | #: html.c:3772 |
| 550 | msgid "Block announces (boosts) from this user" | 550 | msgid "Block announces (boosts) from this user" |
| 551 | msgstr "Oankondichings (boosts) fan dizze brûker blokkearje" | 551 | msgstr "Oankondichings (boosts) fan dizze brûker blokkearje" |
| 552 | 552 | ||
| 553 | #: html.c:3405 | 553 | #: html.c:3781 |
| 554 | msgid "Delete this user" | 554 | msgid "Delete this user" |
| 555 | msgstr "Dizze brûker fuortsmite" | 555 | msgstr "Dizze brûker fuortsmite" |
| 556 | 556 | ||
| 557 | #: html.c:3410 html.c:4927 | 557 | #: html.c:3786 html.c:5371 |
| 558 | msgid "Approve" | 558 | msgid "Approve" |
| 559 | msgstr "Goedkarre" | 559 | msgstr "Goedkarre" |
| 560 | 560 | ||
| 561 | #: html.c:3411 | 561 | #: html.c:3787 |
| 562 | msgid "Approve this follow request" | 562 | msgid "Approve this follow request" |
| 563 | msgstr "Dit folchfersk goedkarre" | 563 | msgstr "Dit folchfersk goedkarre" |
| 564 | 564 | ||
| 565 | #: html.c:3414 html.c:4951 | 565 | #: html.c:3790 html.c:5395 |
| 566 | msgid "Discard" | 566 | msgid "Discard" |
| 567 | msgstr "Wegerje" | 567 | msgstr "Wegerje" |
| 568 | 568 | ||
| 569 | #: html.c:3414 | 569 | #: html.c:3790 |
| 570 | msgid "Discard this follow request" | 570 | msgid "Discard this follow request" |
| 571 | msgstr "Dit folchfersk wegerje" | 571 | msgstr "Dit folchfersk wegerje" |
| 572 | 572 | ||
| 573 | #: html.c:3419 html.c:4795 | 573 | #: html.c:3795 html.c:5239 |
| 574 | msgid "Unmute" | 574 | msgid "Unmute" |
| 575 | msgstr "Net mear stilje" | 575 | msgstr "Net mear stilje" |
| 576 | 576 | ||
| 577 | #: html.c:3420 | 577 | #: html.c:3796 |
| 578 | msgid "Stop blocking activities from this user" | 578 | msgid "Stop blocking activities from this user" |
| 579 | msgstr "Stopje mei it blokkearjen fan aktiviteiten fan dizze brûker" | 579 | msgstr "Stopje mei it blokkearjen fan aktiviteiten fan dizze brûker" |
| 580 | 580 | ||
| 581 | #: html.c:3424 | 581 | #: html.c:3800 |
| 582 | msgid "Block any activity from this user" | 582 | msgid "Block any activity from this user" |
| 583 | msgstr "Alle aktiviteit fan dizze brûker blokkearje" | 583 | msgstr "Alle aktiviteit fan dizze brûker blokkearje" |
| 584 | 584 | ||
| 585 | #: html.c:3432 | 585 | #: html.c:3808 |
| 586 | msgid "Direct Message..." | 586 | msgid "Direct Message..." |
| 587 | msgstr "Persoanlik berjocht..." | 587 | msgstr "Persoanlik berjocht..." |
| 588 | 588 | ||
| 589 | #: html.c:3467 | 589 | #: html.c:3843 |
| 590 | msgid "Pending follow confirmations" | 590 | msgid "Pending follow confirmations" |
| 591 | msgstr "Iepenstjitte folchbefestichings" | 591 | msgstr "Iepenstjitte folchbefestichings" |
| 592 | 592 | ||
| 593 | #: html.c:3471 | 593 | #: html.c:3847 |
| 594 | msgid "People you follow" | 594 | msgid "People you follow" |
| 595 | msgstr "Minsken dy't jo folge" | 595 | msgstr "Minsken dy't jo folge" |
| 596 | 596 | ||
| 597 | #: html.c:3472 | 597 | #: html.c:3848 |
| 598 | msgid "People that follow you" | 598 | msgid "People that follow you" |
| 599 | msgstr "Minsken dy't jo folge" | 599 | msgstr "Minsken dy't jo folge" |
| 600 | 600 | ||
| 601 | #: html.c:3511 | 601 | #: html.c:3887 |
| 602 | msgid "Clear all" | 602 | msgid "Clear all" |
| 603 | msgstr "Alles wiskje" | 603 | msgstr "Alles wiskje" |
| 604 | 604 | ||
| 605 | #: html.c:3571 | 605 | #: html.c:3951 |
| 606 | msgid "Mention" | 606 | msgid "Mention" |
| 607 | msgstr "Neame" | 607 | msgstr "Neame" |
| 608 | 608 | ||
| 609 | #: html.c:3574 | 609 | #: html.c:3954 |
| 610 | msgid "Finished poll" | 610 | msgid "Finished poll" |
| 611 | msgstr "Ofêrunde peiling" | 611 | msgstr "Ofêrunde peiling" |
| 612 | 612 | ||
| 613 | #: html.c:3590 | 613 | #: html.c:3979 |
| 614 | msgid "Follow Request" | 614 | msgid "Follow Request" |
| 615 | msgstr "Folchfersk" | 615 | msgstr "Folchfersk" |
| 616 | 616 | ||
| 617 | #: html.c:3674 | 617 | #: html.c:4089 |
| 618 | msgid "Context" | 618 | msgid "Context" |
| 619 | msgstr "Kontekst" | 619 | msgstr "Kontekst" |
| 620 | 620 | ||
| 621 | #: html.c:3692 | 621 | #: html.c:4107 |
| 622 | msgid "New" | 622 | msgid "New" |
| 623 | msgstr "Nij" | 623 | msgstr "Nij" |
| 624 | 624 | ||
| 625 | #: html.c:3707 | 625 | #: html.c:4122 |
| 626 | msgid "Already seen" | 626 | msgid "Already seen" |
| 627 | msgstr "Al sjoen" | 627 | msgstr "Al sjoen" |
| 628 | 628 | ||
| 629 | #: html.c:3722 | 629 | #: html.c:4137 |
| 630 | msgid "None" | 630 | msgid "None" |
| 631 | msgstr "Gjin" | 631 | msgstr "Gjin" |
| 632 | 632 | ||
| 633 | #: html.c:3994 | 633 | #: html.c:4414 |
| 634 | #, c-format | 634 | #, c-format |
| 635 | msgid "Search results for account %s" | 635 | msgid "Search results for account %s" |
| 636 | msgstr "Sêkresultaten foar akkount %s" | 636 | msgstr "Sêkresultaten foar akkount %s" |
| 637 | 637 | ||
| 638 | #: html.c:4001 | 638 | #: html.c:4421 |
| 639 | #, c-format | 639 | #, c-format |
| 640 | msgid "Account %s not found" | 640 | msgid "Account %s not found" |
| 641 | msgstr "Akkount %s net foun" | 641 | msgstr "Akkount %s net foun" |
| 642 | 642 | ||
| 643 | #: html.c:4032 | 643 | #: html.c:4452 |
| 644 | #, c-format | 644 | #, c-format |
| 645 | msgid "Search results for tag %s" | 645 | msgid "Search results for tag %s" |
| 646 | msgstr "Sêkresultaten foar tag %s" | 646 | msgstr "Sêkresultaten foar tag %s" |
| 647 | 647 | ||
| 648 | #: html.c:4032 | 648 | #: html.c:4452 |
| 649 | #, c-format | 649 | #, c-format |
| 650 | msgid "Nothing found for tag %s" | 650 | msgid "Nothing found for tag %s" |
| 651 | msgstr "Neat foun foar tag %s" | 651 | msgstr "Neat foun foar tag %s" |
| 652 | 652 | ||
| 653 | #: html.c:4048 | 653 | #: html.c:4468 |
| 654 | #, c-format | 654 | #, c-format |
| 655 | msgid "Search results for '%s' (may be more)" | 655 | msgid "Search results for '%s' (may be more)" |
| 656 | msgstr "Sêkresultaten foar '%s' (mooglik mear)" | 656 | msgstr "Sêkresultaten foar '%s' (mooglik mear)" |
| 657 | 657 | ||
| 658 | #: html.c:4051 | 658 | #: html.c:4471 |
| 659 | #, c-format | 659 | #, c-format |
| 660 | msgid "Search results for '%s'" | 660 | msgid "Search results for '%s'" |
| 661 | msgstr "Sêkresultaten foar '%s'" | 661 | msgstr "Sêkresultaten foar '%s'" |
| 662 | 662 | ||
| 663 | #: html.c:4054 | 663 | #: html.c:4474 |
| 664 | #, c-format | 664 | #, c-format |
| 665 | msgid "No more matches for '%s'" | 665 | msgid "No more matches for '%s'" |
| 666 | msgstr "Gjin fjirder oerienkomsten foar '%s'" | 666 | msgstr "Gjin fjirder oerienkomsten foar '%s'" |
| 667 | 667 | ||
| 668 | #: html.c:4056 | 668 | #: html.c:4476 |
| 669 | #, c-format | 669 | #, c-format |
| 670 | msgid "Nothing found for '%s'" | 670 | msgid "Nothing found for '%s'" |
| 671 | msgstr "Neat foun foar '%s'" | 671 | msgstr "Neat foun foar '%s'" |
| 672 | 672 | ||
| 673 | #: html.c:4154 | 673 | #: html.c:4574 |
| 674 | msgid "Showing instance timeline" | 674 | msgid "Showing instance timeline" |
| 675 | msgstr "Tiidline fan ynstallaasje toane" | 675 | msgstr "Tiidline fan ynstallaasje toane" |
| 676 | 676 | ||
| 677 | #: html.c:4237 | 677 | #: html.c:4657 |
| 678 | #, c-format | 678 | #, c-format |
| 679 | msgid "Showing timeline for list '%s'" | 679 | msgid "Showing timeline for list '%s'" |
| 680 | msgstr "Tiidline foar list '%s' toane" | 680 | msgstr "Tiidline foar list '%s' toane" |
| 681 | 681 | ||
| 682 | #: httpd.c:258 | 682 | #: httpd.c:259 |
| 683 | #, c-format | 683 | #, c-format |
| 684 | msgid "Search results for tag #%s" | 684 | msgid "Search results for tag #%s" |
| 685 | msgstr "Sêkresultaten foar tag #%s" | 685 | msgstr "Sêkresultaten foar tag #%s" |
| 686 | 686 | ||
| 687 | #: httpd.c:267 | 687 | #: httpd.c:268 |
| 688 | msgid "Recent posts by users in this instance" | 688 | msgid "Recent posts by users in this instance" |
| 689 | msgstr "Resinte berjochten fan brûkers yn dizze ynstallaasje" | 689 | msgstr "Resinte berjochten fan brûkers yn dizze ynstallaasje" |
| 690 | 690 | ||
| 691 | #: html.c:1764 | 691 | #: html.c:1842 |
| 692 | msgid "Blocked hashtags..." | 692 | msgid "Blocked hashtags..." |
| 693 | msgstr "Blokkearre hashtags..." | 693 | msgstr "Blokkearre hashtags..." |
| 694 | 694 | ||
| 695 | #: html.c:518 | 695 | #: html.c:574 |
| 696 | msgid "Optional URL to reply to" | 696 | msgid "Optional URL to reply to" |
| 697 | msgstr "Opsjonele URL om op te antwurdjen" | 697 | msgstr "Opsjonele URL om op te antwurdjen" |
| 698 | 698 | ||
| 699 | #: html.c:695 | 699 | #: html.c:751 |
| 700 | msgid "" | 700 | msgid "" |
| 701 | "Option 1...\n" | 701 | "Option 1...\n" |
| 702 | "Option 2...\n" | 702 | "Option 2...\n" |
| @@ -708,94 +708,106 @@ msgstr "" | |||
| 708 | "Optie 3...\n" | 708 | "Optie 3...\n" |
| 709 | "..." | 709 | "..." |
| 710 | 710 | ||
| 711 | #: html.c:1558 | 711 | #: html.c:1636 |
| 712 | msgid "Bot API key" | 712 | msgid "Bot API key" |
| 713 | msgstr "Bot API kaai" | 713 | msgstr "Bot API kaai" |
| 714 | 714 | ||
| 715 | #: html.c:1564 | 715 | #: html.c:1642 |
| 716 | msgid "Chat id" | 716 | msgid "Chat id" |
| 717 | msgstr "Chat id" | 717 | msgstr "Chat id" |
| 718 | 718 | ||
| 719 | #: html.c:1572 | 719 | #: html.c:1650 |
| 720 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 720 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 721 | msgstr "ntfy server - folsleine URL (foarbyld: https://ntfy.sh/YourTopic)" | 721 | msgstr "ntfy server - folsleine URL (foarbyld: https://ntfy.sh/YourTopic)" |
| 722 | 722 | ||
| 723 | #: html.c:1578 | 723 | #: html.c:1656 |
| 724 | msgid "ntfy token - if needed" | 724 | msgid "ntfy token - if needed" |
| 725 | msgstr "ntfy token - as nedich" | 725 | msgstr "ntfy token - as nedich" |
| 726 | 726 | ||
| 727 | #: html.c:3078 | 727 | #: html.c:3366 |
| 728 | msgid "pinned" | 728 | msgid "pinned" |
| 729 | msgstr "fêssetten" | 729 | msgstr "fêssetten" |
| 730 | 730 | ||
| 731 | #: html.c:3090 | 731 | #: html.c:3378 |
| 732 | msgid "bookmarks" | 732 | msgid "bookmarks" |
| 733 | msgstr "favorite" | 733 | msgstr "favorite" |
| 734 | 734 | ||
| 735 | #: html.c:3102 | 735 | #: html.c:3390 |
| 736 | msgid "drafts" | 736 | msgid "drafts" |
| 737 | msgstr "konsepten" | 737 | msgstr "konsepten" |
| 738 | 738 | ||
| 739 | #: html.c:584 | 739 | #: html.c:640 |
| 740 | msgid "Scheduled post..." | 740 | msgid "Scheduled post..." |
| 741 | msgstr "Planne berjocht..." | 741 | msgstr "Planne berjocht..." |
| 742 | 742 | ||
| 743 | msgid "Post date and time:" | 743 | msgid "Post date and time:" |
| 744 | msgstr "Berjocht datum en tiid:" | 744 | msgstr "Berjocht datum en tiid:" |
| 745 | 745 | ||
| 746 | #: html.c:3113 html.c:4214 | 746 | #: html.c:3401 html.c:4634 |
| 747 | msgid "Scheduled posts" | 747 | msgid "Scheduled posts" |
| 748 | msgstr "Planne berjochten" | 748 | msgstr "Planne berjochten" |
| 749 | 749 | ||
| 750 | #: html.c:3114 | 750 | #: html.c:3402 |
| 751 | msgid "scheduled posts" | 751 | msgid "scheduled posts" |
| 752 | msgstr "planne berjochten" | 752 | msgstr "planne berjochten" |
| 753 | 753 | ||
| 754 | #: html.c:578 | 754 | #: html.c:634 |
| 755 | #, c-format | 755 | #, c-format |
| 756 | msgid "Post date and time (timezone: %s):" | 756 | msgid "Post date and time (timezone: %s):" |
| 757 | msgstr "Berjocht datum en tiid (tiidsone: %s):" | 757 | msgstr "Berjocht datum en tiid (tiidsone: %s):" |
| 758 | 758 | ||
| 759 | #: html.c:1689 | 759 | #: html.c:1767 |
| 760 | msgid "Time zone:" | 760 | msgid "Time zone:" |
| 761 | msgstr "Tiidsone:" | 761 | msgstr "Tiidsone:" |
| 762 | 762 | ||
| 763 | #: html.c:559 | 763 | #: html.c:615 |
| 764 | msgid "Language:" | 764 | msgid "Language:" |
| 765 | msgstr "" | 765 | msgstr "" |
| 766 | 766 | ||
| 767 | #: html.c:1580 | 767 | #: html.c:1658 |
| 768 | msgid "Notify webhook:" | 768 | msgid "Notify webhook:" |
| 769 | msgstr "" | 769 | msgstr "" |
| 770 | 770 | ||
| 771 | #: html.c:1586 | 771 | #: html.c:1664 |
| 772 | msgid "http://example.com/webhook" | 772 | msgid "http://example.com/webhook" |
| 773 | msgstr "" | 773 | msgstr "" |
| 774 | 774 | ||
| 775 | #: html.c:1694 | 775 | #: html.c:1772 |
| 776 | msgid "Languages you usually post in:" | 776 | msgid "Languages you usually post in:" |
| 777 | msgstr "" | 777 | msgstr "" |
| 778 | 778 | ||
| 779 | #: html.c:1700 | 779 | #: html.c:1778 |
| 780 | msgid "en fr es de_AT" | 780 | msgid "en fr es de_AT" |
| 781 | msgstr "" | 781 | msgstr "" |
| 782 | 782 | ||
| 783 | #: html.c:460 | 783 | #: html.c:428 |
| 784 | msgid "Visibility: " | 784 | msgid "Visibility: " |
| 785 | msgstr "" | 785 | msgstr "" |
| 786 | 786 | ||
| 787 | #: html.c:468 | ||
| 788 | msgid "Public" | 787 | msgid "Public" |
| 789 | msgstr "" | 788 | msgstr "" |
| 790 | 789 | ||
| 791 | #: html.c:477 | ||
| 792 | msgid "Unlisted" | 790 | msgid "Unlisted" |
| 793 | msgstr "" | 791 | msgstr "" |
| 794 | 792 | ||
| 795 | #: html.c:486 | ||
| 796 | msgid "Followers-only" | 793 | msgid "Followers-only" |
| 797 | msgstr "" | 794 | msgstr "" |
| 798 | 795 | ||
| 799 | #: html.c:495 | ||
| 800 | msgid "Direct Message" | 796 | msgid "Direct Message" |
| 801 | msgstr "" | 797 | msgstr "" |
| 798 | |||
| 799 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 800 | msgid "EmojiUnreact" | ||
| 801 | msgstr "" | ||
| 802 | |||
| 803 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 804 | msgid "EmojiReact" | ||
| 805 | msgstr "" | ||
| 806 | |||
| 807 | #: html.c:2115 | ||
| 808 | msgid "Emoji react..." | ||
| 809 | msgstr "" | ||
| 810 | |||
| 811 | #: html.c:2609 | ||
| 812 | msgid "Emoji reactions: " | ||
| 813 | msgstr "" | ||
| @@ -8,119 +8,119 @@ msgstr "" | |||
| 8 | "Language: it\n" | 8 | "Language: it\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Contenuto sensibile" | 13 | msgstr "Contenuto sensibile" |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Descrizione del contenuto sensibile" | 17 | msgstr "Descrizione del contenuto sensibile" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Riservato alle persone indicate: " | 20 | msgstr "Riservato alle persone indicate: " |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Rispondi a (URL): " | 24 | msgstr "Rispondi a (URL): " |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "Salva come bozza senza inviare" | 28 | msgstr "Salva come bozza senza inviare" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Bozza" | 32 | msgstr "Bozza" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "Allegati..." | 36 | msgstr "Allegati..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "File:" | 40 | msgstr "File:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Pulisci ed elimina l'allegato" | 44 | msgstr "Pulisci ed elimina l'allegato" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Descrizione dell'allegato" | 48 | msgstr "Descrizione dell'allegato" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Sondaggio..." | 52 | msgstr "Sondaggio..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Scelte per il sondaggio (una per linea, massimo 8):" | 56 | msgstr "Scelte per il sondaggio (una per linea, massimo 8):" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Una scelta" | 60 | msgstr "Una scelta" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Scelte multiple" | 64 | msgstr "Scelte multiple" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Termina in 5 minuti" | 68 | msgstr "Termina in 5 minuti" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Termina in 1 ora" | 72 | msgstr "Termina in 1 ora" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Termina in 1 giorno" | 76 | msgstr "Termina in 1 giorno" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Post" | 80 | msgstr "Post" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Descrizione del sito web" | 84 | msgstr "Descrizione del sito web" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Email dell'amministratore" | 88 | msgstr "Email dell'amministratore" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "Account amministratore" | 92 | msgstr "Account amministratore" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d seguiti, %d seguenti" | 97 | msgstr "%d seguiti, %d seguenti" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "privato" | 105 | msgstr "privato" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "pubblico" | 109 | msgstr "pubblico" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "notifiche" | 113 | msgstr "notifiche" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "persone" | 117 | msgstr "persone" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "istanza" | 121 | msgstr "istanza" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| @@ -128,574 +128,574 @@ msgstr "" | |||
| 128 | "Ricerca post per URL o contenuto (espressione regolare), @user@host " | 128 | "Ricerca post per URL o contenuto (espressione regolare), @user@host " |
| 129 | "accounts, #tag" | 129 | "accounts, #tag" |
| 130 | 130 | ||
| 131 | #: html.c:1087 | 131 | #: html.c:1143 |
| 132 | msgid "Content search" | 132 | msgid "Content search" |
| 133 | msgstr "Ricerca contenuto" | 133 | msgstr "Ricerca contenuto" |
| 134 | 134 | ||
| 135 | #: html.c:1213 | 135 | #: html.c:1269 |
| 136 | msgid "verified link" | 136 | msgid "verified link" |
| 137 | msgstr "link verificato" | 137 | msgstr "link verificato" |
| 138 | 138 | ||
| 139 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 139 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 140 | msgid "Location: " | 140 | msgid "Location: " |
| 141 | msgstr "Posizione: " | 141 | msgstr "Posizione: " |
| 142 | 142 | ||
| 143 | #: html.c:1302 | 143 | #: html.c:1358 |
| 144 | msgid "New Post..." | 144 | msgid "New Post..." |
| 145 | msgstr "Nuovo post..." | 145 | msgstr "Nuovo post..." |
| 146 | 146 | ||
| 147 | #: html.c:1304 | 147 | #: html.c:1360 |
| 148 | msgid "What's on your mind?" | 148 | msgid "What's on your mind?" |
| 149 | msgstr "Cosa stai pensando?" | 149 | msgstr "Cosa stai pensando?" |
| 150 | 150 | ||
| 151 | #: html.c:1313 | 151 | #: html.c:1369 |
| 152 | msgid "Operations..." | 152 | msgid "Operations..." |
| 153 | msgstr "Operazioni..." | 153 | msgstr "Operazioni..." |
| 154 | 154 | ||
| 155 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 155 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 156 | msgid "Follow" | 156 | msgid "Follow" |
| 157 | msgstr "Segui" | 157 | msgstr "Segui" |
| 158 | 158 | ||
| 159 | #: html.c:1330 | 159 | #: html.c:1386 |
| 160 | msgid "(by URL or user@host)" | 160 | msgid "(by URL or user@host)" |
| 161 | msgstr "(per URL o user@host)" | 161 | msgstr "(per URL o user@host)" |
| 162 | 162 | ||
| 163 | #: html.c:1345 html.c:1925 html.c:4766 | 163 | #: html.c:1401 html.c:2003 html.c:5210 |
| 164 | msgid "Boost" | 164 | msgid "Boost" |
| 165 | msgstr "Annuncia" | 165 | msgstr "Annuncia" |
| 166 | 166 | ||
| 167 | #: html.c:1347 html.c:1364 | 167 | #: html.c:1403 html.c:1420 html.c:1442 |
| 168 | msgid "(by URL)" | 168 | msgid "(by URL)" |
| 169 | msgstr "(per URL)" | 169 | msgstr "(per URL)" |
| 170 | 170 | ||
| 171 | #: html.c:1362 html.c:1904 html.c:4757 | 171 | #: html.c:1418 html.c:1982 html.c:5201 |
| 172 | msgid "Like" | 172 | msgid "Like" |
| 173 | msgstr "Mi piace" | 173 | msgstr "Mi piace" |
| 174 | 174 | ||
| 175 | #: html.c:1490 | 175 | #: html.c:1568 |
| 176 | msgid "User Settings..." | 176 | msgid "User Settings..." |
| 177 | msgstr "Impostazioni..." | 177 | msgstr "Impostazioni..." |
| 178 | 178 | ||
| 179 | #: html.c:1499 | 179 | #: html.c:1577 |
| 180 | msgid "Display name:" | 180 | msgid "Display name:" |
| 181 | msgstr "Nome visualizzato:" | 181 | msgstr "Nome visualizzato:" |
| 182 | 182 | ||
| 183 | #: html.c:1505 | 183 | #: html.c:1583 |
| 184 | msgid "Your name" | 184 | msgid "Your name" |
| 185 | msgstr "Il tuo nome" | 185 | msgstr "Il tuo nome" |
| 186 | 186 | ||
| 187 | #: html.c:1507 | 187 | #: html.c:1585 |
| 188 | msgid "Avatar: " | 188 | msgid "Avatar: " |
| 189 | msgstr "Avatar: " | 189 | msgstr "Avatar: " |
| 190 | 190 | ||
| 191 | #: html.c:1515 | 191 | #: html.c:1593 |
| 192 | msgid "Delete current avatar" | 192 | msgid "Delete current avatar" |
| 193 | msgstr "Elimina l'avatar" | 193 | msgstr "Elimina l'avatar" |
| 194 | 194 | ||
| 195 | #: html.c:1517 | 195 | #: html.c:1595 |
| 196 | msgid "Header image (banner): " | 196 | msgid "Header image (banner): " |
| 197 | msgstr "Immagine intestazione (banner): " | 197 | msgstr "Immagine intestazione (banner): " |
| 198 | 198 | ||
| 199 | #: html.c:1525 | 199 | #: html.c:1603 |
| 200 | msgid "Delete current header image" | 200 | msgid "Delete current header image" |
| 201 | msgstr "Elimina l'immagine d'intestazione" | 201 | msgstr "Elimina l'immagine d'intestazione" |
| 202 | 202 | ||
| 203 | #: html.c:1527 | 203 | #: html.c:1605 |
| 204 | msgid "Bio:" | 204 | msgid "Bio:" |
| 205 | msgstr "Bio:" | 205 | msgstr "Bio:" |
| 206 | 206 | ||
| 207 | #: html.c:1533 | 207 | #: html.c:1611 |
| 208 | msgid "Write about yourself here..." | 208 | msgid "Write about yourself here..." |
| 209 | msgstr "Descriviti qui..." | 209 | msgstr "Descriviti qui..." |
| 210 | 210 | ||
| 211 | #: html.c:1542 | 211 | #: html.c:1620 |
| 212 | msgid "Always show sensitive content" | 212 | msgid "Always show sensitive content" |
| 213 | msgstr "Mostra sempre i contenuti sensibili" | 213 | msgstr "Mostra sempre i contenuti sensibili" |
| 214 | 214 | ||
| 215 | #: html.c:1544 | 215 | #: html.c:1622 |
| 216 | msgid "Email address for notifications:" | 216 | msgid "Email address for notifications:" |
| 217 | msgstr "Indirizzo email per le notifiche:" | 217 | msgstr "Indirizzo email per le notifiche:" |
| 218 | 218 | ||
| 219 | #: html.c:1552 | 219 | #: html.c:1630 |
| 220 | msgid "Telegram notifications (bot key and chat id):" | 220 | msgid "Telegram notifications (bot key and chat id):" |
| 221 | msgstr "Notifiche Telegram (bot key e chat id):" | 221 | msgstr "Notifiche Telegram (bot key e chat id):" |
| 222 | 222 | ||
| 223 | #: html.c:1566 | 223 | #: html.c:1644 |
| 224 | msgid "ntfy notifications (ntfy server and token):" | 224 | msgid "ntfy notifications (ntfy server and token):" |
| 225 | msgstr "Notifiche ntfy (server ntfy e token)" | 225 | msgstr "Notifiche ntfy (server ntfy e token)" |
| 226 | 226 | ||
| 227 | #: html.c:1588 | 227 | #: html.c:1666 |
| 228 | msgid "Maximum days to keep posts (0: server settings):" | 228 | msgid "Maximum days to keep posts (0: server settings):" |
| 229 | msgstr "Giorni di mantenimento dei post (0: impostazione server)" | 229 | msgstr "Giorni di mantenimento dei post (0: impostazione server)" |
| 230 | 230 | ||
| 231 | #: html.c:1602 | 231 | #: html.c:1680 |
| 232 | msgid "Drop direct messages from people you don't follow" | 232 | msgid "Drop direct messages from people you don't follow" |
| 233 | msgstr "Elimina i messaggi diretti delle persone non seguite" | 233 | msgstr "Elimina i messaggi diretti delle persone non seguite" |
| 234 | 234 | ||
| 235 | #: html.c:1611 | 235 | #: html.c:1689 |
| 236 | msgid "This account is a bot" | 236 | msgid "This account is a bot" |
| 237 | msgstr "Questo account è un bot" | 237 | msgstr "Questo account è un bot" |
| 238 | 238 | ||
| 239 | #: html.c:1620 | 239 | #: html.c:1698 |
| 240 | msgid "Auto-boost all mentions to this account" | 240 | msgid "Auto-boost all mentions to this account" |
| 241 | msgstr "Annuncio automatico delle citazioni a quest'account" | 241 | msgstr "Annuncio automatico delle citazioni a quest'account" |
| 242 | 242 | ||
| 243 | #: html.c:1629 | 243 | #: html.c:1707 |
| 244 | msgid "This account is private (posts are not shown through the web)" | 244 | msgid "This account is private (posts are not shown through the web)" |
| 245 | msgstr "Quest'account è privato (post invisibili nel web)" | 245 | msgstr "Quest'account è privato (post invisibili nel web)" |
| 246 | 246 | ||
| 247 | #: html.c:1639 | 247 | #: html.c:1717 |
| 248 | msgid "Collapse top threads by default" | 248 | msgid "Collapse top threads by default" |
| 249 | msgstr "Tieni chiuse le discussioni" | 249 | msgstr "Tieni chiuse le discussioni" |
| 250 | 250 | ||
| 251 | #: html.c:1648 | 251 | #: html.c:1726 |
| 252 | msgid "Follow requests must be approved" | 252 | msgid "Follow requests must be approved" |
| 253 | msgstr "Devi approvare le richieste dei seguenti" | 253 | msgstr "Devi approvare le richieste dei seguenti" |
| 254 | 254 | ||
| 255 | #: html.c:1657 | 255 | #: html.c:1735 |
| 256 | msgid "Publish follower and following metrics" | 256 | msgid "Publish follower and following metrics" |
| 257 | msgstr "Rendi pubblici seguenti e seguiti" | 257 | msgstr "Rendi pubblici seguenti e seguiti" |
| 258 | 258 | ||
| 259 | #: html.c:1659 | 259 | #: html.c:1737 |
| 260 | msgid "Current location:" | 260 | msgid "Current location:" |
| 261 | msgstr "Posizione corrente:" | 261 | msgstr "Posizione corrente:" |
| 262 | 262 | ||
| 263 | #: html.c:1673 | 263 | #: html.c:1751 |
| 264 | msgid "Profile metadata (key=value pairs in each line):" | 264 | msgid "Profile metadata (key=value pairs in each line):" |
| 265 | msgstr "Dati del profilo (coppie di chiave=valore per ogni linea):" | 265 | msgstr "Dati del profilo (coppie di chiave=valore per ogni linea):" |
| 266 | 266 | ||
| 267 | #: html.c:1684 | 267 | #: html.c:1762 |
| 268 | msgid "Web interface language:" | 268 | msgid "Web interface language:" |
| 269 | msgstr "Lingua dell'interfaccia web:" | 269 | msgstr "Lingua dell'interfaccia web:" |
| 270 | 270 | ||
| 271 | #: html.c:1703 | 271 | #: html.c:1781 |
| 272 | msgid "New password:" | 272 | msgid "New password:" |
| 273 | msgstr "Nuova password:" | 273 | msgstr "Nuova password:" |
| 274 | 274 | ||
| 275 | #: html.c:1710 | 275 | #: html.c:1788 |
| 276 | msgid "Repeat new password:" | 276 | msgid "Repeat new password:" |
| 277 | msgstr "Reinserisci la password:" | 277 | msgstr "Reinserisci la password:" |
| 278 | 278 | ||
| 279 | #: html.c:1720 | 279 | #: html.c:1798 |
| 280 | msgid "Update user info" | 280 | msgid "Update user info" |
| 281 | msgstr "Aggiorna dati utente" | 281 | msgstr "Aggiorna dati utente" |
| 282 | 282 | ||
| 283 | #: html.c:1731 | 283 | #: html.c:1809 |
| 284 | msgid "Followed hashtags..." | 284 | msgid "Followed hashtags..." |
| 285 | msgstr "Hashtag seguiti..." | 285 | msgstr "Hashtag seguiti..." |
| 286 | 286 | ||
| 287 | #: html.c:1733 html.c:1766 | 287 | #: html.c:1811 html.c:1844 |
| 288 | msgid "One hashtag per line" | 288 | msgid "One hashtag per line" |
| 289 | msgstr "Un hashtag per linea" | 289 | msgstr "Un hashtag per linea" |
| 290 | 290 | ||
| 291 | #: html.c:1755 html.c:1787 | 291 | #: html.c:1833 html.c:1865 |
| 292 | msgid "Update hashtags" | 292 | msgid "Update hashtags" |
| 293 | msgstr "Aggiorna hashtags" | 293 | msgstr "Aggiorna hashtags" |
| 294 | 294 | ||
| 295 | #: html.c:1904 | 295 | #: html.c:1982 |
| 296 | msgid "Say you like this post" | 296 | msgid "Say you like this post" |
| 297 | msgstr "Questo post ti piace" | 297 | msgstr "Questo post ti piace" |
| 298 | 298 | ||
| 299 | #: html.c:1909 html.c:4775 | 299 | #: html.c:1987 html.c:5219 |
| 300 | msgid "Unlike" | 300 | msgid "Unlike" |
| 301 | msgstr "Non mi piace" | 301 | msgstr "Non mi piace" |
| 302 | 302 | ||
| 303 | #: html.c:1909 | 303 | #: html.c:1987 |
| 304 | msgid "Nah don't like it that much" | 304 | msgid "Nah don't like it that much" |
| 305 | msgstr "No, non mi piace molto" | 305 | msgstr "No, non mi piace molto" |
| 306 | 306 | ||
| 307 | #: html.c:1915 html.c:4912 | 307 | #: html.c:1993 html.c:5356 |
| 308 | msgid "Unpin" | 308 | msgid "Unpin" |
| 309 | msgstr "Sgancia" | 309 | msgstr "Sgancia" |
| 310 | 310 | ||
| 311 | #: html.c:1915 | 311 | #: html.c:1993 |
| 312 | msgid "Unpin this post from your timeline" | 312 | msgid "Unpin this post from your timeline" |
| 313 | msgstr "Sgancia questo post dalla timeline" | 313 | msgstr "Sgancia questo post dalla timeline" |
| 314 | 314 | ||
| 315 | #: html.c:1918 html.c:4907 | 315 | #: html.c:1996 html.c:5351 |
| 316 | msgid "Pin" | 316 | msgid "Pin" |
| 317 | msgstr "Aggancia" | 317 | msgstr "Aggancia" |
| 318 | 318 | ||
| 319 | #: html.c:1918 | 319 | #: html.c:1996 |
| 320 | msgid "Pin this post to the top of your timeline" | 320 | msgid "Pin this post to the top of your timeline" |
| 321 | msgstr "Aggancia questo post in cima alla timeline" | 321 | msgstr "Aggancia questo post in cima alla timeline" |
| 322 | 322 | ||
| 323 | #: html.c:1925 | 323 | #: html.c:2003 |
| 324 | msgid "Announce this post to your followers" | 324 | msgid "Announce this post to your followers" |
| 325 | msgstr "Annuncia questo post ai tuoi seguenti" | 325 | msgstr "Annuncia questo post ai tuoi seguenti" |
| 326 | 326 | ||
| 327 | #: html.c:1930 html.c:4783 | 327 | #: html.c:2008 html.c:5227 |
| 328 | msgid "Unboost" | 328 | msgid "Unboost" |
| 329 | msgstr "Rimuovi annuncio" | 329 | msgstr "Rimuovi annuncio" |
| 330 | 330 | ||
| 331 | #: html.c:1930 | 331 | #: html.c:2008 |
| 332 | msgid "I regret I boosted this" | 332 | msgid "I regret I boosted this" |
| 333 | msgstr "Mi pento di aver annunciato questo" | 333 | msgstr "Mi pento di aver annunciato questo" |
| 334 | 334 | ||
| 335 | #: html.c:1936 html.c:4922 | 335 | #: html.c:2014 html.c:5366 |
| 336 | msgid "Unbookmark" | 336 | msgid "Unbookmark" |
| 337 | msgstr "Elimina segnalibro" | 337 | msgstr "Elimina segnalibro" |
| 338 | 338 | ||
| 339 | #: html.c:1936 | 339 | #: html.c:2014 |
| 340 | msgid "Delete this post from your bookmarks" | 340 | msgid "Delete this post from your bookmarks" |
| 341 | msgstr "Elimina questo post dai segnalibri" | 341 | msgstr "Elimina questo post dai segnalibri" |
| 342 | 342 | ||
| 343 | #: html.c:1939 html.c:4917 | 343 | #: html.c:2017 html.c:5361 |
| 344 | msgid "Bookmark" | 344 | msgid "Bookmark" |
| 345 | msgstr "Segnalibro" | 345 | msgstr "Segnalibro" |
| 346 | 346 | ||
| 347 | #: html.c:1939 | 347 | #: html.c:2017 |
| 348 | msgid "Add this post to your bookmarks" | 348 | msgid "Add this post to your bookmarks" |
| 349 | msgstr "Aggiungi questo post ai segnalibri" | 349 | msgstr "Aggiungi questo post ai segnalibri" |
| 350 | 350 | ||
| 351 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 351 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 352 | msgid "Unfollow" | 352 | msgid "Unfollow" |
| 353 | msgstr "Smetti di seguire" | 353 | msgstr "Smetti di seguire" |
| 354 | 354 | ||
| 355 | #: html.c:1945 html.c:3387 | 355 | #: html.c:2023 html.c:3763 html.c:4042 |
| 356 | msgid "Stop following this user's activity" | 356 | msgid "Stop following this user's activity" |
| 357 | msgstr "Smetti di seguire l'utente" | 357 | msgstr "Smetti di seguire l'utente" |
| 358 | 358 | ||
| 359 | #: html.c:1949 html.c:3401 | 359 | #: html.c:2027 html.c:3777 html.c:4044 |
| 360 | msgid "Start following this user's activity" | 360 | msgid "Start following this user's activity" |
| 361 | msgstr "Sequi l'utente" | 361 | msgstr "Sequi l'utente" |
| 362 | 362 | ||
| 363 | #: html.c:1955 html.c:4860 | 363 | #: html.c:2033 html.c:5304 |
| 364 | msgid "Unfollow Group" | 364 | msgid "Unfollow Group" |
| 365 | msgstr "Smetti di seguire il gruppo" | 365 | msgstr "Smetti di seguire il gruppo" |
| 366 | 366 | ||
| 367 | #: html.c:1956 | 367 | #: html.c:2034 |
| 368 | msgid "Stop following this group or channel" | 368 | msgid "Stop following this group or channel" |
| 369 | msgstr "Smetti di seguire il gruppo o canale" | 369 | msgstr "Smetti di seguire il gruppo o canale" |
| 370 | 370 | ||
| 371 | #: html.c:1960 html.c:4847 | 371 | #: html.c:2038 html.c:5291 |
| 372 | msgid "Follow Group" | 372 | msgid "Follow Group" |
| 373 | msgstr "Segui grupp" | 373 | msgstr "Segui grupp" |
| 374 | 374 | ||
| 375 | #: html.c:1961 | 375 | #: html.c:2039 |
| 376 | msgid "Start following this group or channel" | 376 | msgid "Start following this group or channel" |
| 377 | msgstr "Segui il gruppo o canale" | 377 | msgstr "Segui il gruppo o canale" |
| 378 | 378 | ||
| 379 | #: html.c:1966 html.c:3423 html.c:4791 | 379 | #: html.c:2044 html.c:3799 html.c:5235 |
| 380 | msgid "MUTE" | 380 | msgid "MUTE" |
| 381 | msgstr "Silenzia" | 381 | msgstr "Silenzia" |
| 382 | 382 | ||
| 383 | #: html.c:1967 | 383 | #: html.c:2045 |
| 384 | msgid "Block any activity from this user forever" | 384 | msgid "Block any activity from this user forever" |
| 385 | msgstr "Blocca l'utente" | 385 | msgstr "Blocca l'utente" |
| 386 | 386 | ||
| 387 | #: html.c:1972 html.c:3405 html.c:4877 | 387 | #: html.c:2050 html.c:3781 html.c:5321 |
| 388 | msgid "Delete" | 388 | msgid "Delete" |
| 389 | msgstr "Elimina" | 389 | msgstr "Elimina" |
| 390 | 390 | ||
| 391 | #: html.c:1972 | 391 | #: html.c:2050 |
| 392 | msgid "Delete this post" | 392 | msgid "Delete this post" |
| 393 | msgstr "Elimina questo post" | 393 | msgstr "Elimina questo post" |
| 394 | 394 | ||
| 395 | #: html.c:1975 html.c:4799 | 395 | #: html.c:2053 html.c:5243 |
| 396 | msgid "Hide" | 396 | msgid "Hide" |
| 397 | msgstr "Nascondi" | 397 | msgstr "Nascondi" |
| 398 | 398 | ||
| 399 | #: html.c:1975 | 399 | #: html.c:2053 |
| 400 | msgid "Hide this post and its children" | 400 | msgid "Hide this post and its children" |
| 401 | msgstr "Nascondi questo post completamente" | 401 | msgstr "Nascondi questo post completamente" |
| 402 | 402 | ||
| 403 | #: html.c:2017 | 403 | #: html.c:2095 |
| 404 | msgid "Edit..." | 404 | msgid "Edit..." |
| 405 | msgstr "Modifica..." | 405 | msgstr "Modifica..." |
| 406 | 406 | ||
| 407 | #: html.c:2039 | 407 | #: html.c:2133 |
| 408 | msgid "Reply..." | 408 | msgid "Reply..." |
| 409 | msgstr "Rispondi..." | 409 | msgstr "Rispondi..." |
| 410 | 410 | ||
| 411 | #: html.c:2090 | 411 | #: html.c:2184 |
| 412 | msgid "Truncated (too deep)" | 412 | msgid "Truncated (too deep)" |
| 413 | msgstr "Troncato (troppo lungo)" | 413 | msgstr "Troncato (troppo lungo)" |
| 414 | 414 | ||
| 415 | #: html.c:2108 | 415 | #: html.c:2202 |
| 416 | msgid "follows you" | 416 | msgid "follows you" |
| 417 | msgstr "Ti segue" | 417 | msgstr "Ti segue" |
| 418 | 418 | ||
| 419 | #: html.c:2182 | 419 | #: html.c:2276 |
| 420 | msgid "Pinned" | 420 | msgid "Pinned" |
| 421 | msgstr "Aggancia" | 421 | msgstr "Aggancia" |
| 422 | 422 | ||
| 423 | #: html.c:2190 | 423 | #: html.c:2284 |
| 424 | msgid "Bookmarked" | 424 | msgid "Bookmarked" |
| 425 | msgstr "Segnalibro" | 425 | msgstr "Segnalibro" |
| 426 | 426 | ||
| 427 | #: html.c:2198 | 427 | #: html.c:2292 |
| 428 | msgid "Poll" | 428 | msgid "Poll" |
| 429 | msgstr "Sondaggio" | 429 | msgstr "Sondaggio" |
| 430 | 430 | ||
| 431 | #: html.c:2205 | 431 | #: html.c:2299 |
| 432 | msgid "Voted" | 432 | msgid "Voted" |
| 433 | msgstr "Votato" | 433 | msgstr "Votato" |
| 434 | 434 | ||
| 435 | #: html.c:2214 | 435 | #: html.c:2308 |
| 436 | msgid "Event" | 436 | msgid "Event" |
| 437 | msgstr "Evento" | 437 | msgstr "Evento" |
| 438 | 438 | ||
| 439 | #: html.c:2246 html.c:2275 | 439 | #: html.c:2340 html.c:2369 |
| 440 | msgid "boosted" | 440 | msgid "boosted" |
| 441 | msgstr "Annunciato" | 441 | msgstr "Annunciato" |
| 442 | 442 | ||
| 443 | #: html.c:2289 | 443 | #: html.c:2383 |
| 444 | msgid "in reply to" | 444 | msgid "in reply to" |
| 445 | msgstr "in risposta a" | 445 | msgstr "in risposta a" |
| 446 | 446 | ||
| 447 | #: html.c:2345 | 447 | #: html.c:2439 |
| 448 | msgid " [SENSITIVE CONTENT]" | 448 | msgid " [SENSITIVE CONTENT]" |
| 449 | msgstr " [CONTENUTO SENSIBILE]" | 449 | msgstr " [CONTENUTO SENSIBILE]" |
| 450 | 450 | ||
| 451 | #: html.c:2512 | 451 | #: html.c:2796 |
| 452 | msgid "Vote" | 452 | msgid "Vote" |
| 453 | msgstr "Vota" | 453 | msgstr "Vota" |
| 454 | 454 | ||
| 455 | #: html.c:2522 | 455 | #: html.c:2806 |
| 456 | msgid "Closed" | 456 | msgid "Closed" |
| 457 | msgstr "Chiuso" | 457 | msgstr "Chiuso" |
| 458 | 458 | ||
| 459 | #: html.c:2547 | 459 | #: html.c:2831 |
| 460 | msgid "Closes in" | 460 | msgid "Closes in" |
| 461 | msgstr "Chiude in" | 461 | msgstr "Chiude in" |
| 462 | 462 | ||
| 463 | #: html.c:2627 | 463 | #: html.c:2911 |
| 464 | msgid "Video" | 464 | msgid "Video" |
| 465 | msgstr "Video" | 465 | msgstr "Video" |
| 466 | 466 | ||
| 467 | #: html.c:2642 | 467 | #: html.c:2926 |
| 468 | msgid "Audio" | 468 | msgid "Audio" |
| 469 | msgstr "Audio" | 469 | msgstr "Audio" |
| 470 | 470 | ||
| 471 | #: html.c:2670 | 471 | #: html.c:2954 |
| 472 | msgid "Attachment" | 472 | msgid "Attachment" |
| 473 | msgstr "Allegato" | 473 | msgstr "Allegato" |
| 474 | 474 | ||
| 475 | #: html.c:2684 | 475 | #: html.c:2968 |
| 476 | msgid "Alt..." | 476 | msgid "Alt..." |
| 477 | msgstr "Testo alternativo..." | 477 | msgstr "Testo alternativo..." |
| 478 | 478 | ||
| 479 | #: html.c:2697 | 479 | #: html.c:2981 |
| 480 | msgid "Source channel or community" | 480 | msgid "Source channel or community" |
| 481 | msgstr "Provenienza del canale o comunità " | 481 | msgstr "Provenienza del canale o comunità " |
| 482 | 482 | ||
| 483 | #: html.c:2791 | 483 | #: html.c:3075 |
| 484 | msgid "Time: " | 484 | msgid "Time: " |
| 485 | msgstr "Orario:" | 485 | msgstr "Orario:" |
| 486 | 486 | ||
| 487 | #: html.c:2872 | 487 | #: html.c:3156 |
| 488 | msgid "Older..." | 488 | msgid "Older..." |
| 489 | msgstr "Vecchi..." | 489 | msgstr "Vecchi..." |
| 490 | 490 | ||
| 491 | #: html.c:2974 | 491 | #: html.c:3258 |
| 492 | msgid "about this site" | 492 | msgid "about this site" |
| 493 | msgstr "descrizione" | 493 | msgstr "descrizione" |
| 494 | 494 | ||
| 495 | #: html.c:2976 | 495 | #: html.c:3260 |
| 496 | msgid "powered by " | 496 | msgid "powered by " |
| 497 | msgstr "gestito da " | 497 | msgstr "gestito da " |
| 498 | 498 | ||
| 499 | #: html.c:3041 | 499 | #: html.c:3329 |
| 500 | msgid "Dismiss" | 500 | msgid "Dismiss" |
| 501 | msgstr "Congeda" | 501 | msgstr "Congeda" |
| 502 | 502 | ||
| 503 | #: html.c:3058 | 503 | #: html.c:3346 |
| 504 | #, c-format | 504 | #, c-format |
| 505 | msgid "Timeline for list '%s'" | 505 | msgid "Timeline for list '%s'" |
| 506 | msgstr "Timeline per la lista '%s'" | 506 | msgstr "Timeline per la lista '%s'" |
| 507 | 507 | ||
| 508 | #: html.c:3077 html.c:4169 | 508 | #: html.c:3365 html.c:4589 |
| 509 | msgid "Pinned posts" | 509 | msgid "Pinned posts" |
| 510 | msgstr "Post appuntati" | 510 | msgstr "Post appuntati" |
| 511 | 511 | ||
| 512 | #: html.c:3089 html.c:4184 | 512 | #: html.c:3377 html.c:4604 |
| 513 | msgid "Bookmarked posts" | 513 | msgid "Bookmarked posts" |
| 514 | msgstr "Post segnati" | 514 | msgstr "Post segnati" |
| 515 | 515 | ||
| 516 | #: html.c:3101 html.c:4199 | 516 | #: html.c:3389 html.c:4619 |
| 517 | msgid "Post drafts" | 517 | msgid "Post drafts" |
| 518 | msgstr "Bozze" | 518 | msgstr "Bozze" |
| 519 | 519 | ||
| 520 | #: html.c:3177 | 520 | #: html.c:3465 |
| 521 | msgid "No more unseen posts" | 521 | msgid "No more unseen posts" |
| 522 | msgstr "Nessun ulteriore post" | 522 | msgstr "Nessun ulteriore post" |
| 523 | 523 | ||
| 524 | #: html.c:3181 html.c:3290 | 524 | #: html.c:3469 html.c:3578 |
| 525 | msgid "Back to top" | 525 | msgid "Back to top" |
| 526 | msgstr "Torna in cima" | 526 | msgstr "Torna in cima" |
| 527 | 527 | ||
| 528 | #: html.c:3243 | 528 | #: html.c:3531 |
| 529 | msgid "History" | 529 | msgid "History" |
| 530 | msgstr "Storico" | 530 | msgstr "Storico" |
| 531 | 531 | ||
| 532 | #: html.c:3295 html.c:3734 | 532 | #: html.c:3583 html.c:4149 |
| 533 | msgid "More..." | 533 | msgid "More..." |
| 534 | msgstr "Ancora..." | 534 | msgstr "Ancora..." |
| 535 | 535 | ||
| 536 | #: html.c:3391 html.c:4813 | 536 | #: html.c:3767 html.c:5257 |
| 537 | msgid "Unlimit" | 537 | msgid "Unlimit" |
| 538 | msgstr "Senza limite" | 538 | msgstr "Senza limite" |
| 539 | 539 | ||
| 540 | #: html.c:3392 | 540 | #: html.c:3768 |
| 541 | msgid "Allow announces (boosts) from this user" | 541 | msgid "Allow announces (boosts) from this user" |
| 542 | msgstr "Permetti annunci dall'utente" | 542 | msgstr "Permetti annunci dall'utente" |
| 543 | 543 | ||
| 544 | #: html.c:3395 html.c:4809 | 544 | #: html.c:3771 html.c:5253 |
| 545 | msgid "Limit" | 545 | msgid "Limit" |
| 546 | msgstr "Limite" | 546 | msgstr "Limite" |
| 547 | 547 | ||
| 548 | #: html.c:3396 | 548 | #: html.c:3772 |
| 549 | msgid "Block announces (boosts) from this user" | 549 | msgid "Block announces (boosts) from this user" |
| 550 | msgstr "Blocca annunci dall'utente" | 550 | msgstr "Blocca annunci dall'utente" |
| 551 | 551 | ||
| 552 | #: html.c:3405 | 552 | #: html.c:3781 |
| 553 | msgid "Delete this user" | 553 | msgid "Delete this user" |
| 554 | msgstr "Elimina l'utente" | 554 | msgstr "Elimina l'utente" |
| 555 | 555 | ||
| 556 | #: html.c:3410 html.c:4927 | 556 | #: html.c:3786 html.c:5371 |
| 557 | msgid "Approve" | 557 | msgid "Approve" |
| 558 | msgstr "Approva" | 558 | msgstr "Approva" |
| 559 | 559 | ||
| 560 | #: html.c:3411 | 560 | #: html.c:3787 |
| 561 | msgid "Approve this follow request" | 561 | msgid "Approve this follow request" |
| 562 | msgstr "Approva richiesta di seguirti" | 562 | msgstr "Approva richiesta di seguirti" |
| 563 | 563 | ||
| 564 | #: html.c:3414 html.c:4951 | 564 | #: html.c:3790 html.c:5395 |
| 565 | msgid "Discard" | 565 | msgid "Discard" |
| 566 | msgstr "Scarta" | 566 | msgstr "Scarta" |
| 567 | 567 | ||
| 568 | #: html.c:3414 | 568 | #: html.c:3790 |
| 569 | msgid "Discard this follow request" | 569 | msgid "Discard this follow request" |
| 570 | msgstr "Scarta richiesta di seguirti" | 570 | msgstr "Scarta richiesta di seguirti" |
| 571 | 571 | ||
| 572 | #: html.c:3419 html.c:4795 | 572 | #: html.c:3795 html.c:5239 |
| 573 | msgid "Unmute" | 573 | msgid "Unmute" |
| 574 | msgstr "Rimuovi silenziamento" | 574 | msgstr "Rimuovi silenziamento" |
| 575 | 575 | ||
| 576 | #: html.c:3420 | 576 | #: html.c:3796 |
| 577 | msgid "Stop blocking activities from this user" | 577 | msgid "Stop blocking activities from this user" |
| 578 | msgstr "Sblocca l'utente" | 578 | msgstr "Sblocca l'utente" |
| 579 | 579 | ||
| 580 | #: html.c:3424 | 580 | #: html.c:3800 |
| 581 | msgid "Block any activity from this user" | 581 | msgid "Block any activity from this user" |
| 582 | msgstr "Blocca l'utente completamente" | 582 | msgstr "Blocca l'utente completamente" |
| 583 | 583 | ||
| 584 | #: html.c:3432 | 584 | #: html.c:3808 |
| 585 | msgid "Direct Message..." | 585 | msgid "Direct Message..." |
| 586 | msgstr "Messaggio diretto..." | 586 | msgstr "Messaggio diretto..." |
| 587 | 587 | ||
| 588 | #: html.c:3467 | 588 | #: html.c:3843 |
| 589 | msgid "Pending follow confirmations" | 589 | msgid "Pending follow confirmations" |
| 590 | msgstr "Conferme di seguirti in attesa" | 590 | msgstr "Conferme di seguirti in attesa" |
| 591 | 591 | ||
| 592 | #: html.c:3471 | 592 | #: html.c:3847 |
| 593 | msgid "People you follow" | 593 | msgid "People you follow" |
| 594 | msgstr "Persone che segui" | 594 | msgstr "Persone che segui" |
| 595 | 595 | ||
| 596 | #: html.c:3472 | 596 | #: html.c:3848 |
| 597 | msgid "People that follow you" | 597 | msgid "People that follow you" |
| 598 | msgstr "Persone che ti seguono" | 598 | msgstr "Persone che ti seguono" |
| 599 | 599 | ||
| 600 | #: html.c:3511 | 600 | #: html.c:3887 |
| 601 | msgid "Clear all" | 601 | msgid "Clear all" |
| 602 | msgstr "Pulisci" | 602 | msgstr "Pulisci" |
| 603 | 603 | ||
| 604 | #: html.c:3571 | 604 | #: html.c:3951 |
| 605 | msgid "Mention" | 605 | msgid "Mention" |
| 606 | msgstr "Citazione" | 606 | msgstr "Citazione" |
| 607 | 607 | ||
| 608 | #: html.c:3574 | 608 | #: html.c:3954 |
| 609 | msgid "Finished poll" | 609 | msgid "Finished poll" |
| 610 | msgstr "Sondaggio concluso" | 610 | msgstr "Sondaggio concluso" |
| 611 | 611 | ||
| 612 | #: html.c:3590 | 612 | #: html.c:3979 |
| 613 | msgid "Follow Request" | 613 | msgid "Follow Request" |
| 614 | msgstr "Richiesta di seguire" | 614 | msgstr "Richiesta di seguire" |
| 615 | 615 | ||
| 616 | #: html.c:3674 | 616 | #: html.c:4089 |
| 617 | msgid "Context" | 617 | msgid "Context" |
| 618 | msgstr "Contesto" | 618 | msgstr "Contesto" |
| 619 | 619 | ||
| 620 | #: html.c:3692 | 620 | #: html.c:4107 |
| 621 | msgid "New" | 621 | msgid "New" |
| 622 | msgstr "Nuovo" | 622 | msgstr "Nuovo" |
| 623 | 623 | ||
| 624 | #: html.c:3707 | 624 | #: html.c:4122 |
| 625 | msgid "Already seen" | 625 | msgid "Already seen" |
| 626 | msgstr "Già visto" | 626 | msgstr "Già visto" |
| 627 | 627 | ||
| 628 | #: html.c:3722 | 628 | #: html.c:4137 |
| 629 | msgid "None" | 629 | msgid "None" |
| 630 | msgstr "Niente" | 630 | msgstr "Niente" |
| 631 | 631 | ||
| 632 | #: html.c:3994 | 632 | #: html.c:4414 |
| 633 | #, c-format | 633 | #, c-format |
| 634 | msgid "Search results for account %s" | 634 | msgid "Search results for account %s" |
| 635 | msgstr "Risultati per account %s" | 635 | msgstr "Risultati per account %s" |
| 636 | 636 | ||
| 637 | #: html.c:4001 | 637 | #: html.c:4421 |
| 638 | #, c-format | 638 | #, c-format |
| 639 | msgid "Account %s not found" | 639 | msgid "Account %s not found" |
| 640 | msgstr "Account %s non trovato" | 640 | msgstr "Account %s non trovato" |
| 641 | 641 | ||
| 642 | #: html.c:4032 | 642 | #: html.c:4452 |
| 643 | #, c-format | 643 | #, c-format |
| 644 | msgid "Search results for tag %s" | 644 | msgid "Search results for tag %s" |
| 645 | msgstr "Risultati per tag %s" | 645 | msgstr "Risultati per tag %s" |
| 646 | 646 | ||
| 647 | #: html.c:4032 | 647 | #: html.c:4452 |
| 648 | #, c-format | 648 | #, c-format |
| 649 | msgid "Nothing found for tag %s" | 649 | msgid "Nothing found for tag %s" |
| 650 | msgstr "Nessun risultato per il tag %S" | 650 | msgstr "Nessun risultato per il tag %S" |
| 651 | 651 | ||
| 652 | #: html.c:4048 | 652 | #: html.c:4468 |
| 653 | #, c-format | 653 | #, c-format |
| 654 | msgid "Search results for '%s' (may be more)" | 654 | msgid "Search results for '%s' (may be more)" |
| 655 | msgstr "Risultati per tag %s (ancora...)" | 655 | msgstr "Risultati per tag %s (ancora...)" |
| 656 | 656 | ||
| 657 | #: html.c:4051 | 657 | #: html.c:4471 |
| 658 | #, c-format | 658 | #, c-format |
| 659 | msgid "Search results for '%s'" | 659 | msgid "Search results for '%s'" |
| 660 | msgstr "Risultati per %s" | 660 | msgstr "Risultati per %s" |
| 661 | 661 | ||
| 662 | #: html.c:4054 | 662 | #: html.c:4474 |
| 663 | #, c-format | 663 | #, c-format |
| 664 | msgid "No more matches for '%s'" | 664 | msgid "No more matches for '%s'" |
| 665 | msgstr "Nessuna corrispondenza per '%s'" | 665 | msgstr "Nessuna corrispondenza per '%s'" |
| 666 | 666 | ||
| 667 | #: html.c:4056 | 667 | #: html.c:4476 |
| 668 | #, c-format | 668 | #, c-format |
| 669 | msgid "Nothing found for '%s'" | 669 | msgid "Nothing found for '%s'" |
| 670 | msgstr "Non trovato per '%s'" | 670 | msgstr "Non trovato per '%s'" |
| 671 | 671 | ||
| 672 | #: html.c:4154 | 672 | #: html.c:4574 |
| 673 | msgid "Showing instance timeline" | 673 | msgid "Showing instance timeline" |
| 674 | msgstr "Mostra la timeline dell'istanza" | 674 | msgstr "Mostra la timeline dell'istanza" |
| 675 | 675 | ||
| 676 | #: html.c:4237 | 676 | #: html.c:4657 |
| 677 | #, c-format | 677 | #, c-format |
| 678 | msgid "Showing timeline for list '%s'" | 678 | msgid "Showing timeline for list '%s'" |
| 679 | msgstr "Mostra la timeline della lista '%s'" | 679 | msgstr "Mostra la timeline della lista '%s'" |
| 680 | 680 | ||
| 681 | #: httpd.c:258 | 681 | #: httpd.c:259 |
| 682 | #, c-format | 682 | #, c-format |
| 683 | msgid "Search results for tag #%s" | 683 | msgid "Search results for tag #%s" |
| 684 | msgstr "Risultati per tag #%s" | 684 | msgstr "Risultati per tag #%s" |
| 685 | 685 | ||
| 686 | #: httpd.c:267 | 686 | #: httpd.c:268 |
| 687 | msgid "Recent posts by users in this instance" | 687 | msgid "Recent posts by users in this instance" |
| 688 | msgstr "Post recenti in questa istanza" | 688 | msgstr "Post recenti in questa istanza" |
| 689 | 689 | ||
| 690 | #: html.c:1764 | 690 | #: html.c:1842 |
| 691 | msgid "Blocked hashtags..." | 691 | msgid "Blocked hashtags..." |
| 692 | msgstr "Hashtag bloccati..." | 692 | msgstr "Hashtag bloccati..." |
| 693 | 693 | ||
| 694 | #: html.c:518 | 694 | #: html.c:574 |
| 695 | msgid "Optional URL to reply to" | 695 | msgid "Optional URL to reply to" |
| 696 | msgstr "URL facoltativo di risposta" | 696 | msgstr "URL facoltativo di risposta" |
| 697 | 697 | ||
| 698 | #: html.c:695 | 698 | #: html.c:751 |
| 699 | msgid "" | 699 | msgid "" |
| 700 | "Option 1...\n" | 700 | "Option 1...\n" |
| 701 | "Option 2...\n" | 701 | "Option 2...\n" |
| @@ -707,94 +707,106 @@ msgstr "" | |||
| 707 | "Scelta 3...\n" | 707 | "Scelta 3...\n" |
| 708 | "..." | 708 | "..." |
| 709 | 709 | ||
| 710 | #: html.c:1558 | 710 | #: html.c:1636 |
| 711 | msgid "Bot API key" | 711 | msgid "Bot API key" |
| 712 | msgstr "Chiave per le API del bot" | 712 | msgstr "Chiave per le API del bot" |
| 713 | 713 | ||
| 714 | #: html.c:1564 | 714 | #: html.c:1642 |
| 715 | msgid "Chat id" | 715 | msgid "Chat id" |
| 716 | msgstr "Id della chat" | 716 | msgstr "Id della chat" |
| 717 | 717 | ||
| 718 | #: html.c:1572 | 718 | #: html.c:1650 |
| 719 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 719 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 720 | msgstr "Server ntfy - URL completo (esempio: https://ntfy.sh/YourTopic)" | 720 | msgstr "Server ntfy - URL completo (esempio: https://ntfy.sh/YourTopic)" |
| 721 | 721 | ||
| 722 | #: html.c:1578 | 722 | #: html.c:1656 |
| 723 | msgid "ntfy token - if needed" | 723 | msgid "ntfy token - if needed" |
| 724 | msgstr "Token ntfy - se richiesto" | 724 | msgstr "Token ntfy - se richiesto" |
| 725 | 725 | ||
| 726 | #: html.c:3078 | 726 | #: html.c:3366 |
| 727 | msgid "pinned" | 727 | msgid "pinned" |
| 728 | msgstr "appuntati" | 728 | msgstr "appuntati" |
| 729 | 729 | ||
| 730 | #: html.c:3090 | 730 | #: html.c:3378 |
| 731 | msgid "bookmarks" | 731 | msgid "bookmarks" |
| 732 | msgstr "segnalibri" | 732 | msgstr "segnalibri" |
| 733 | 733 | ||
| 734 | #: html.c:3102 | 734 | #: html.c:3390 |
| 735 | msgid "drafts" | 735 | msgid "drafts" |
| 736 | msgstr "bozze" | 736 | msgstr "bozze" |
| 737 | 737 | ||
| 738 | #: html.c:584 | 738 | #: html.c:640 |
| 739 | msgid "Scheduled post..." | 739 | msgid "Scheduled post..." |
| 740 | msgstr "" | 740 | msgstr "" |
| 741 | 741 | ||
| 742 | msgid "Post date and time:" | 742 | msgid "Post date and time:" |
| 743 | msgstr "" | 743 | msgstr "" |
| 744 | 744 | ||
| 745 | #: html.c:3113 html.c:4214 | 745 | #: html.c:3401 html.c:4634 |
| 746 | msgid "Scheduled posts" | 746 | msgid "Scheduled posts" |
| 747 | msgstr "" | 747 | msgstr "" |
| 748 | 748 | ||
| 749 | #: html.c:3114 | 749 | #: html.c:3402 |
| 750 | msgid "scheduled posts" | 750 | msgid "scheduled posts" |
| 751 | msgstr "" | 751 | msgstr "" |
| 752 | 752 | ||
| 753 | #: html.c:578 | 753 | #: html.c:634 |
| 754 | #, c-format | 754 | #, c-format |
| 755 | msgid "Post date and time (timezone: %s):" | 755 | msgid "Post date and time (timezone: %s):" |
| 756 | msgstr "" | 756 | msgstr "" |
| 757 | 757 | ||
| 758 | #: html.c:1689 | 758 | #: html.c:1767 |
| 759 | msgid "Time zone:" | 759 | msgid "Time zone:" |
| 760 | msgstr "" | 760 | msgstr "" |
| 761 | 761 | ||
| 762 | #: html.c:559 | 762 | #: html.c:615 |
| 763 | msgid "Language:" | 763 | msgid "Language:" |
| 764 | msgstr "" | 764 | msgstr "" |
| 765 | 765 | ||
| 766 | #: html.c:1580 | 766 | #: html.c:1658 |
| 767 | msgid "Notify webhook:" | 767 | msgid "Notify webhook:" |
| 768 | msgstr "" | 768 | msgstr "" |
| 769 | 769 | ||
| 770 | #: html.c:1586 | 770 | #: html.c:1664 |
| 771 | msgid "http://example.com/webhook" | 771 | msgid "http://example.com/webhook" |
| 772 | msgstr "" | 772 | msgstr "" |
| 773 | 773 | ||
| 774 | #: html.c:1694 | 774 | #: html.c:1772 |
| 775 | msgid "Languages you usually post in:" | 775 | msgid "Languages you usually post in:" |
| 776 | msgstr "" | 776 | msgstr "" |
| 777 | 777 | ||
| 778 | #: html.c:1700 | 778 | #: html.c:1778 |
| 779 | msgid "en fr es de_AT" | 779 | msgid "en fr es de_AT" |
| 780 | msgstr "" | 780 | msgstr "" |
| 781 | 781 | ||
| 782 | #: html.c:460 | 782 | #: html.c:428 |
| 783 | msgid "Visibility: " | 783 | msgid "Visibility: " |
| 784 | msgstr "" | 784 | msgstr "" |
| 785 | 785 | ||
| 786 | #: html.c:468 | ||
| 787 | msgid "Public" | 786 | msgid "Public" |
| 788 | msgstr "" | 787 | msgstr "" |
| 789 | 788 | ||
| 790 | #: html.c:477 | ||
| 791 | msgid "Unlisted" | 789 | msgid "Unlisted" |
| 792 | msgstr "" | 790 | msgstr "" |
| 793 | 791 | ||
| 794 | #: html.c:486 | ||
| 795 | msgid "Followers-only" | 792 | msgid "Followers-only" |
| 796 | msgstr "" | 793 | msgstr "" |
| 797 | 794 | ||
| 798 | #: html.c:495 | ||
| 799 | msgid "Direct Message" | 795 | msgid "Direct Message" |
| 800 | msgstr "" | 796 | msgstr "" |
| 797 | |||
| 798 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 799 | msgid "EmojiUnreact" | ||
| 800 | msgstr "" | ||
| 801 | |||
| 802 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 803 | msgid "EmojiReact" | ||
| 804 | msgstr "" | ||
| 805 | |||
| 806 | #: html.c:2115 | ||
| 807 | msgid "Emoji react..." | ||
| 808 | msgstr "" | ||
| 809 | |||
| 810 | #: html.c:2609 | ||
| 811 | msgid "Emoji reactions: " | ||
| 812 | msgstr "" | ||
diff --git a/po/nl_NL.po b/po/nl_NL.po index 26f6e6c..37233dd 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po | |||
| @@ -8,119 +8,119 @@ msgstr "" | |||
| 8 | "Language: nl_NL\n" | 8 | "Language: nl_NL\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "Gevoelige inhoud: " | 13 | msgstr "Gevoelige inhoud: " |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "Omschrijving van gevoelige inhoud" | 17 | msgstr "Omschrijving van gevoelige inhoud" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "Enkel voor genoemde personen: " | 20 | msgstr "Enkel voor genoemde personen: " |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "Antwoord op (URL): " | 24 | msgstr "Antwoord op (URL): " |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "Niet verzenden, maar opslaan als concept" | 28 | msgstr "Niet verzenden, maar opslaan als concept" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "Concept:" | 32 | msgstr "Concept:" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "Bijlagen..." | 36 | msgstr "Bijlagen..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "Bestand:" | 40 | msgstr "Bestand:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "Veld leegmaken om de bijlage te verwijderen" | 44 | msgstr "Veld leegmaken om de bijlage te verwijderen" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "Omschrijving van bijlage" | 48 | msgstr "Omschrijving van bijlage" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "Peiling..." | 52 | msgstr "Peiling..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "Peiling opties (één per regel, tot 8):" | 56 | msgstr "Peiling opties (één per regel, tot 8):" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "Eén keuze" | 60 | msgstr "Eén keuze" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "Meerdere keuzes" | 64 | msgstr "Meerdere keuzes" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "Eindigt over 5 minuten" | 68 | msgstr "Eindigt over 5 minuten" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "Eindigt over 1 uur" | 72 | msgstr "Eindigt over 1 uur" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "Eindigt over 1 dag" | 76 | msgstr "Eindigt over 1 dag" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "Bericht" | 80 | msgstr "Bericht" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "Omschrijving van de site" | 84 | msgstr "Omschrijving van de site" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "Admin e-mail" | 88 | msgstr "Admin e-mail" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "Admin account" | 92 | msgstr "Admin account" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d volgend, %d volgers" | 97 | msgstr "%d volgend, %d volgers" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "privé" | 105 | msgstr "privé" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "publiek" | 109 | msgstr "publiek" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "notificaties" | 113 | msgstr "notificaties" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "mensen" | 117 | msgstr "mensen" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "instantie" | 121 | msgstr "instantie" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| @@ -128,574 +128,574 @@ msgstr "" | |||
| 128 | "Zoek berichten op URL of inhoud (reguliere expressie), @user@host accounts, " | 128 | "Zoek berichten op URL of inhoud (reguliere expressie), @user@host accounts, " |
| 129 | "of #tag" | 129 | "of #tag" |
| 130 | 130 | ||
| 131 | #: html.c:1087 | 131 | #: html.c:1143 |
| 132 | msgid "Content search" | 132 | msgid "Content search" |
| 133 | msgstr "Inhoud zoeken" | 133 | msgstr "Inhoud zoeken" |
| 134 | 134 | ||
| 135 | #: html.c:1213 | 135 | #: html.c:1269 |
| 136 | msgid "verified link" | 136 | msgid "verified link" |
| 137 | msgstr "verifieerde link" | 137 | msgstr "verifieerde link" |
| 138 | 138 | ||
| 139 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 139 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 140 | msgid "Location: " | 140 | msgid "Location: " |
| 141 | msgstr "Locatie: " | 141 | msgstr "Locatie: " |
| 142 | 142 | ||
| 143 | #: html.c:1302 | 143 | #: html.c:1358 |
| 144 | msgid "New Post..." | 144 | msgid "New Post..." |
| 145 | msgstr "Nieuw bericht..." | 145 | msgstr "Nieuw bericht..." |
| 146 | 146 | ||
| 147 | #: html.c:1304 | 147 | #: html.c:1360 |
| 148 | msgid "What's on your mind?" | 148 | msgid "What's on your mind?" |
| 149 | msgstr "Wat wil je delen?" | 149 | msgstr "Wat wil je delen?" |
| 150 | 150 | ||
| 151 | #: html.c:1313 | 151 | #: html.c:1369 |
| 152 | msgid "Operations..." | 152 | msgid "Operations..." |
| 153 | msgstr "Handelingen..." | 153 | msgstr "Handelingen..." |
| 154 | 154 | ||
| 155 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 155 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 156 | msgid "Follow" | 156 | msgid "Follow" |
| 157 | msgstr "Volg" | 157 | msgstr "Volg" |
| 158 | 158 | ||
| 159 | #: html.c:1330 | 159 | #: html.c:1386 |
| 160 | msgid "(by URL or user@host)" | 160 | msgid "(by URL or user@host)" |
| 161 | msgstr "(via URL of gebruiker@host)" | 161 | msgstr "(via URL of gebruiker@host)" |
| 162 | 162 | ||
| 163 | #: html.c:1345 html.c:1925 html.c:4766 | 163 | #: html.c:1401 html.c:2003 html.c:5210 |
| 164 | msgid "Boost" | 164 | msgid "Boost" |
| 165 | msgstr "Boost" | 165 | msgstr "Boost" |
| 166 | 166 | ||
| 167 | #: html.c:1347 html.c:1364 | 167 | #: html.c:1403 html.c:1420 html.c:1442 |
| 168 | msgid "(by URL)" | 168 | msgid "(by URL)" |
| 169 | msgstr "(via URL)" | 169 | msgstr "(via URL)" |
| 170 | 170 | ||
| 171 | #: html.c:1362 html.c:1904 html.c:4757 | 171 | #: html.c:1418 html.c:1982 html.c:5201 |
| 172 | msgid "Like" | 172 | msgid "Like" |
| 173 | msgstr "Leuk" | 173 | msgstr "Leuk" |
| 174 | 174 | ||
| 175 | #: html.c:1490 | 175 | #: html.c:1568 |
| 176 | msgid "User Settings..." | 176 | msgid "User Settings..." |
| 177 | msgstr "Gebruikersinstellingen..." | 177 | msgstr "Gebruikersinstellingen..." |
| 178 | 178 | ||
| 179 | #: html.c:1499 | 179 | #: html.c:1577 |
| 180 | msgid "Display name:" | 180 | msgid "Display name:" |
| 181 | msgstr "Weergavenaam:" | 181 | msgstr "Weergavenaam:" |
| 182 | 182 | ||
| 183 | #: html.c:1505 | 183 | #: html.c:1583 |
| 184 | msgid "Your name" | 184 | msgid "Your name" |
| 185 | msgstr "Jouw naam" | 185 | msgstr "Jouw naam" |
| 186 | 186 | ||
| 187 | #: html.c:1507 | 187 | #: html.c:1585 |
| 188 | msgid "Avatar: " | 188 | msgid "Avatar: " |
| 189 | msgstr "Profielafbeelding: " | 189 | msgstr "Profielafbeelding: " |
| 190 | 190 | ||
| 191 | #: html.c:1515 | 191 | #: html.c:1593 |
| 192 | msgid "Delete current avatar" | 192 | msgid "Delete current avatar" |
| 193 | msgstr "Verwijder huidige profielafbeelding" | 193 | msgstr "Verwijder huidige profielafbeelding" |
| 194 | 194 | ||
| 195 | #: html.c:1517 | 195 | #: html.c:1595 |
| 196 | msgid "Header image (banner): " | 196 | msgid "Header image (banner): " |
| 197 | msgstr "Header afbeelding (banner): " | 197 | msgstr "Header afbeelding (banner): " |
| 198 | 198 | ||
| 199 | #: html.c:1525 | 199 | #: html.c:1603 |
| 200 | msgid "Delete current header image" | 200 | msgid "Delete current header image" |
| 201 | msgstr "Verwijder huidige header afbeelding" | 201 | msgstr "Verwijder huidige header afbeelding" |
| 202 | 202 | ||
| 203 | #: html.c:1527 | 203 | #: html.c:1605 |
| 204 | msgid "Bio:" | 204 | msgid "Bio:" |
| 205 | msgstr "Bio:" | 205 | msgstr "Bio:" |
| 206 | 206 | ||
| 207 | #: html.c:1533 | 207 | #: html.c:1611 |
| 208 | msgid "Write about yourself here..." | 208 | msgid "Write about yourself here..." |
| 209 | msgstr "Schrijf hier iets over jezelf..." | 209 | msgstr "Schrijf hier iets over jezelf..." |
| 210 | 210 | ||
| 211 | #: html.c:1542 | 211 | #: html.c:1620 |
| 212 | msgid "Always show sensitive content" | 212 | msgid "Always show sensitive content" |
| 213 | msgstr "Altijd gevoelige inhoud tonen" | 213 | msgstr "Altijd gevoelige inhoud tonen" |
| 214 | 214 | ||
| 215 | #: html.c:1544 | 215 | #: html.c:1622 |
| 216 | msgid "Email address for notifications:" | 216 | msgid "Email address for notifications:" |
| 217 | msgstr "E-mailadres voor notificaties:" | 217 | msgstr "E-mailadres voor notificaties:" |
| 218 | 218 | ||
| 219 | #: html.c:1552 | 219 | #: html.c:1630 |
| 220 | msgid "Telegram notifications (bot key and chat id):" | 220 | msgid "Telegram notifications (bot key and chat id):" |
| 221 | msgstr "Telegram notificaties (bot sleutel en chat id):" | 221 | msgstr "Telegram notificaties (bot sleutel en chat id):" |
| 222 | 222 | ||
| 223 | #: html.c:1566 | 223 | #: html.c:1644 |
| 224 | msgid "ntfy notifications (ntfy server and token):" | 224 | msgid "ntfy notifications (ntfy server and token):" |
| 225 | msgstr "ntfy notificaties (ntfy server en token):" | 225 | msgstr "ntfy notificaties (ntfy server en token):" |
| 226 | 226 | ||
| 227 | #: html.c:1588 | 227 | #: html.c:1666 |
| 228 | msgid "Maximum days to keep posts (0: server settings):" | 228 | msgid "Maximum days to keep posts (0: server settings):" |
| 229 | msgstr "Maximaal aantal dagen om berichten te bewaren (0: serverinstellingen):" | 229 | msgstr "Maximaal aantal dagen om berichten te bewaren (0: serverinstellingen):" |
| 230 | 230 | ||
| 231 | #: html.c:1602 | 231 | #: html.c:1680 |
| 232 | msgid "Drop direct messages from people you don't follow" | 232 | msgid "Drop direct messages from people you don't follow" |
| 233 | msgstr "Verwijder directe berichten van mensen die je niet volgt" | 233 | msgstr "Verwijder directe berichten van mensen die je niet volgt" |
| 234 | 234 | ||
| 235 | #: html.c:1611 | 235 | #: html.c:1689 |
| 236 | msgid "This account is a bot" | 236 | msgid "This account is a bot" |
| 237 | msgstr "Dit account is een bot" | 237 | msgstr "Dit account is een bot" |
| 238 | 238 | ||
| 239 | #: html.c:1620 | 239 | #: html.c:1698 |
| 240 | msgid "Auto-boost all mentions to this account" | 240 | msgid "Auto-boost all mentions to this account" |
| 241 | msgstr "Automatisch boosten van alle vermeldingen van dit account" | 241 | msgstr "Automatisch boosten van alle vermeldingen van dit account" |
| 242 | 242 | ||
| 243 | #: html.c:1629 | 243 | #: html.c:1707 |
| 244 | msgid "This account is private (posts are not shown through the web)" | 244 | msgid "This account is private (posts are not shown through the web)" |
| 245 | msgstr "Dit account is privé (berichten worden niet getoond via het web)" | 245 | msgstr "Dit account is privé (berichten worden niet getoond via het web)" |
| 246 | 246 | ||
| 247 | #: html.c:1639 | 247 | #: html.c:1717 |
| 248 | msgid "Collapse top threads by default" | 248 | msgid "Collapse top threads by default" |
| 249 | msgstr "Klap standaard top threads in" | 249 | msgstr "Klap standaard top threads in" |
| 250 | 250 | ||
| 251 | #: html.c:1648 | 251 | #: html.c:1726 |
| 252 | msgid "Follow requests must be approved" | 252 | msgid "Follow requests must be approved" |
| 253 | msgstr "Volgverzoeken moeten worden goedgekeurd" | 253 | msgstr "Volgverzoeken moeten worden goedgekeurd" |
| 254 | 254 | ||
| 255 | #: html.c:1657 | 255 | #: html.c:1735 |
| 256 | msgid "Publish follower and following metrics" | 256 | msgid "Publish follower and following metrics" |
| 257 | msgstr "Publiceer volger- en volgstatistieken" | 257 | msgstr "Publiceer volger- en volgstatistieken" |
| 258 | 258 | ||
| 259 | #: html.c:1659 | 259 | #: html.c:1737 |
| 260 | msgid "Current location:" | 260 | msgid "Current location:" |
| 261 | msgstr "Huidige locatie:" | 261 | msgstr "Huidige locatie:" |
| 262 | 262 | ||
| 263 | #: html.c:1673 | 263 | #: html.c:1751 |
| 264 | msgid "Profile metadata (key=value pairs in each line):" | 264 | msgid "Profile metadata (key=value pairs in each line):" |
| 265 | msgstr "Profiel metadata (sleutel=waarde paren in elke regel):" | 265 | msgstr "Profiel metadata (sleutel=waarde paren in elke regel):" |
| 266 | 266 | ||
| 267 | #: html.c:1684 | 267 | #: html.c:1762 |
| 268 | msgid "Web interface language:" | 268 | msgid "Web interface language:" |
| 269 | msgstr "Webinterface taal:" | 269 | msgstr "Webinterface taal:" |
| 270 | 270 | ||
| 271 | #: html.c:1703 | 271 | #: html.c:1781 |
| 272 | msgid "New password:" | 272 | msgid "New password:" |
| 273 | msgstr "Nieuw wachtwoord:" | 273 | msgstr "Nieuw wachtwoord:" |
| 274 | 274 | ||
| 275 | #: html.c:1710 | 275 | #: html.c:1788 |
| 276 | msgid "Repeat new password:" | 276 | msgid "Repeat new password:" |
| 277 | msgstr "Herhaal nieuw wachtwoord:" | 277 | msgstr "Herhaal nieuw wachtwoord:" |
| 278 | 278 | ||
| 279 | #: html.c:1720 | 279 | #: html.c:1798 |
| 280 | msgid "Update user info" | 280 | msgid "Update user info" |
| 281 | msgstr "Werk gebruikersinformatie bij" | 281 | msgstr "Werk gebruikersinformatie bij" |
| 282 | 282 | ||
| 283 | #: html.c:1731 | 283 | #: html.c:1809 |
| 284 | msgid "Followed hashtags..." | 284 | msgid "Followed hashtags..." |
| 285 | msgstr "Gevolgde hashtags..." | 285 | msgstr "Gevolgde hashtags..." |
| 286 | 286 | ||
| 287 | #: html.c:1733 html.c:1766 | 287 | #: html.c:1811 html.c:1844 |
| 288 | msgid "One hashtag per line" | 288 | msgid "One hashtag per line" |
| 289 | msgstr "Eén hashtag per regel" | 289 | msgstr "Eén hashtag per regel" |
| 290 | 290 | ||
| 291 | #: html.c:1755 html.c:1787 | 291 | #: html.c:1833 html.c:1865 |
| 292 | msgid "Update hashtags" | 292 | msgid "Update hashtags" |
| 293 | msgstr "Werk hashtags bij" | 293 | msgstr "Werk hashtags bij" |
| 294 | 294 | ||
| 295 | #: html.c:1904 | 295 | #: html.c:1982 |
| 296 | msgid "Say you like this post" | 296 | msgid "Say you like this post" |
| 297 | msgstr "Zeg dat je dit bericht leuk vindt" | 297 | msgstr "Zeg dat je dit bericht leuk vindt" |
| 298 | 298 | ||
| 299 | #: html.c:1909 html.c:4775 | 299 | #: html.c:1987 html.c:5219 |
| 300 | msgid "Unlike" | 300 | msgid "Unlike" |
| 301 | msgstr "Niet leuk vinden" | 301 | msgstr "Niet leuk vinden" |
| 302 | 302 | ||
| 303 | #: html.c:1909 | 303 | #: html.c:1987 |
| 304 | msgid "Nah don't like it that much" | 304 | msgid "Nah don't like it that much" |
| 305 | msgstr "Nee, ik vind het niet zo leuk" | 305 | msgstr "Nee, ik vind het niet zo leuk" |
| 306 | 306 | ||
| 307 | #: html.c:1915 html.c:4912 | 307 | #: html.c:1993 html.c:5356 |
| 308 | msgid "Unpin" | 308 | msgid "Unpin" |
| 309 | msgstr "Niet vastzetten" | 309 | msgstr "Niet vastzetten" |
| 310 | 310 | ||
| 311 | #: html.c:1915 | 311 | #: html.c:1993 |
| 312 | msgid "Unpin this post from your timeline" | 312 | msgid "Unpin this post from your timeline" |
| 313 | msgstr "Zet dit bericht niet meer vast op je tijdlijn" | 313 | msgstr "Zet dit bericht niet meer vast op je tijdlijn" |
| 314 | 314 | ||
| 315 | #: html.c:1918 html.c:4907 | 315 | #: html.c:1996 html.c:5351 |
| 316 | msgid "Pin" | 316 | msgid "Pin" |
| 317 | msgstr "Vastzetten" | 317 | msgstr "Vastzetten" |
| 318 | 318 | ||
| 319 | #: html.c:1918 | 319 | #: html.c:1996 |
| 320 | msgid "Pin this post to the top of your timeline" | 320 | msgid "Pin this post to the top of your timeline" |
| 321 | msgstr "Zet dit bericht vast bovenaan je tijdlijn" | 321 | msgstr "Zet dit bericht vast bovenaan je tijdlijn" |
| 322 | 322 | ||
| 323 | #: html.c:1925 | 323 | #: html.c:2003 |
| 324 | msgid "Announce this post to your followers" | 324 | msgid "Announce this post to your followers" |
| 325 | msgstr "Kondig dit bericht aan bij je volgers" | 325 | msgstr "Kondig dit bericht aan bij je volgers" |
| 326 | 326 | ||
| 327 | #: html.c:1930 html.c:4783 | 327 | #: html.c:2008 html.c:5227 |
| 328 | msgid "Unboost" | 328 | msgid "Unboost" |
| 329 | msgstr "Ontboosten" | 329 | msgstr "Ontboosten" |
| 330 | 330 | ||
| 331 | #: html.c:1930 | 331 | #: html.c:2008 |
| 332 | msgid "I regret I boosted this" | 332 | msgid "I regret I boosted this" |
| 333 | msgstr "Ik betreur dat ik dit heb geboost" | 333 | msgstr "Ik betreur dat ik dit heb geboost" |
| 334 | 334 | ||
| 335 | #: html.c:1936 html.c:4922 | 335 | #: html.c:2014 html.c:5366 |
| 336 | msgid "Unbookmark" | 336 | msgid "Unbookmark" |
| 337 | msgstr "Uit favorieten verwijderen" | 337 | msgstr "Uit favorieten verwijderen" |
| 338 | 338 | ||
| 339 | #: html.c:1936 | 339 | #: html.c:2014 |
| 340 | msgid "Delete this post from your bookmarks" | 340 | msgid "Delete this post from your bookmarks" |
| 341 | msgstr "Verwijder dit bericht uit je favorieten" | 341 | msgstr "Verwijder dit bericht uit je favorieten" |
| 342 | 342 | ||
| 343 | #: html.c:1939 html.c:4917 | 343 | #: html.c:2017 html.c:5361 |
| 344 | msgid "Bookmark" | 344 | msgid "Bookmark" |
| 345 | msgstr "Favoriet" | 345 | msgstr "Favoriet" |
| 346 | 346 | ||
| 347 | #: html.c:1939 | 347 | #: html.c:2017 |
| 348 | msgid "Add this post to your bookmarks" | 348 | msgid "Add this post to your bookmarks" |
| 349 | msgstr "Voeg dit bericht toe aan je favorieten" | 349 | msgstr "Voeg dit bericht toe aan je favorieten" |
| 350 | 350 | ||
| 351 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 351 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 352 | msgid "Unfollow" | 352 | msgid "Unfollow" |
| 353 | msgstr "Ontvolgen" | 353 | msgstr "Ontvolgen" |
| 354 | 354 | ||
| 355 | #: html.c:1945 html.c:3387 | 355 | #: html.c:2023 html.c:3763 html.c:4042 |
| 356 | msgid "Stop following this user's activity" | 356 | msgid "Stop following this user's activity" |
| 357 | msgstr "Stop met het volgen van de activiteit van deze gebruiker" | 357 | msgstr "Stop met het volgen van de activiteit van deze gebruiker" |
| 358 | 358 | ||
| 359 | #: html.c:1949 html.c:3401 | 359 | #: html.c:2027 html.c:3777 html.c:4044 |
| 360 | msgid "Start following this user's activity" | 360 | msgid "Start following this user's activity" |
| 361 | msgstr "Start met het volgen van de activiteit van deze gebruiker" | 361 | msgstr "Start met het volgen van de activiteit van deze gebruiker" |
| 362 | 362 | ||
| 363 | #: html.c:1955 html.c:4860 | 363 | #: html.c:2033 html.c:5304 |
| 364 | msgid "Unfollow Group" | 364 | msgid "Unfollow Group" |
| 365 | msgstr "Ontvolg groep" | 365 | msgstr "Ontvolg groep" |
| 366 | 366 | ||
| 367 | #: html.c:1956 | 367 | #: html.c:2034 |
| 368 | msgid "Stop following this group or channel" | 368 | msgid "Stop following this group or channel" |
| 369 | msgstr "Stop met het volgen van deze groep of kanaal" | 369 | msgstr "Stop met het volgen van deze groep of kanaal" |
| 370 | 370 | ||
| 371 | #: html.c:1960 html.c:4847 | 371 | #: html.c:2038 html.c:5291 |
| 372 | msgid "Follow Group" | 372 | msgid "Follow Group" |
| 373 | msgstr "Volg groep" | 373 | msgstr "Volg groep" |
| 374 | 374 | ||
| 375 | #: html.c:1961 | 375 | #: html.c:2039 |
| 376 | msgid "Start following this group or channel" | 376 | msgid "Start following this group or channel" |
| 377 | msgstr "Start met het volgen van deze groep of kanaal" | 377 | msgstr "Start met het volgen van deze groep of kanaal" |
| 378 | 378 | ||
| 379 | #: html.c:1966 html.c:3423 html.c:4791 | 379 | #: html.c:2044 html.c:3799 html.c:5235 |
| 380 | msgid "MUTE" | 380 | msgid "MUTE" |
| 381 | msgstr "DEMP" | 381 | msgstr "DEMP" |
| 382 | 382 | ||
| 383 | #: html.c:1967 | 383 | #: html.c:2045 |
| 384 | msgid "Block any activity from this user forever" | 384 | msgid "Block any activity from this user forever" |
| 385 | msgstr "Blokkeer alle activiteit van deze gebruiker voor altijd" | 385 | msgstr "Blokkeer alle activiteit van deze gebruiker voor altijd" |
| 386 | 386 | ||
| 387 | #: html.c:1972 html.c:3405 html.c:4877 | 387 | #: html.c:2050 html.c:3781 html.c:5321 |
| 388 | msgid "Delete" | 388 | msgid "Delete" |
| 389 | msgstr "Verwijderen" | 389 | msgstr "Verwijderen" |
| 390 | 390 | ||
| 391 | #: html.c:1972 | 391 | #: html.c:2050 |
| 392 | msgid "Delete this post" | 392 | msgid "Delete this post" |
| 393 | msgstr "Verwijder dit bericht" | 393 | msgstr "Verwijder dit bericht" |
| 394 | 394 | ||
| 395 | #: html.c:1975 html.c:4799 | 395 | #: html.c:2053 html.c:5243 |
| 396 | msgid "Hide" | 396 | msgid "Hide" |
| 397 | msgstr "Verberg" | 397 | msgstr "Verberg" |
| 398 | 398 | ||
| 399 | #: html.c:1975 | 399 | #: html.c:2053 |
| 400 | msgid "Hide this post and its children" | 400 | msgid "Hide this post and its children" |
| 401 | msgstr "Verberg dit bericht en zijn kinderen" | 401 | msgstr "Verberg dit bericht en zijn kinderen" |
| 402 | 402 | ||
| 403 | #: html.c:2017 | 403 | #: html.c:2095 |
| 404 | msgid "Edit..." | 404 | msgid "Edit..." |
| 405 | msgstr "Bewerken..." | 405 | msgstr "Bewerken..." |
| 406 | 406 | ||
| 407 | #: html.c:2039 | 407 | #: html.c:2133 |
| 408 | msgid "Reply..." | 408 | msgid "Reply..." |
| 409 | msgstr "Antwoord..." | 409 | msgstr "Antwoord..." |
| 410 | 410 | ||
| 411 | #: html.c:2090 | 411 | #: html.c:2184 |
| 412 | msgid "Truncated (too deep)" | 412 | msgid "Truncated (too deep)" |
| 413 | msgstr "Afgekapt (te diep)" | 413 | msgstr "Afgekapt (te diep)" |
| 414 | 414 | ||
| 415 | #: html.c:2108 | 415 | #: html.c:2202 |
| 416 | msgid "follows you" | 416 | msgid "follows you" |
| 417 | msgstr "volgt jou" | 417 | msgstr "volgt jou" |
| 418 | 418 | ||
| 419 | #: html.c:2182 | 419 | #: html.c:2276 |
| 420 | msgid "Pinned" | 420 | msgid "Pinned" |
| 421 | msgstr "Vastgezet" | 421 | msgstr "Vastgezet" |
| 422 | 422 | ||
| 423 | #: html.c:2190 | 423 | #: html.c:2284 |
| 424 | msgid "Bookmarked" | 424 | msgid "Bookmarked" |
| 425 | msgstr "Favoriet" | 425 | msgstr "Favoriet" |
| 426 | 426 | ||
| 427 | #: html.c:2198 | 427 | #: html.c:2292 |
| 428 | msgid "Poll" | 428 | msgid "Poll" |
| 429 | msgstr "Peiling" | 429 | msgstr "Peiling" |
| 430 | 430 | ||
| 431 | #: html.c:2205 | 431 | #: html.c:2299 |
| 432 | msgid "Voted" | 432 | msgid "Voted" |
| 433 | msgstr "Gestemd" | 433 | msgstr "Gestemd" |
| 434 | 434 | ||
| 435 | #: html.c:2214 | 435 | #: html.c:2308 |
| 436 | msgid "Event" | 436 | msgid "Event" |
| 437 | msgstr "Evenement" | 437 | msgstr "Evenement" |
| 438 | 438 | ||
| 439 | #: html.c:2246 html.c:2275 | 439 | #: html.c:2340 html.c:2369 |
| 440 | msgid "boosted" | 440 | msgid "boosted" |
| 441 | msgstr "geboost" | 441 | msgstr "geboost" |
| 442 | 442 | ||
| 443 | #: html.c:2289 | 443 | #: html.c:2383 |
| 444 | msgid "in reply to" | 444 | msgid "in reply to" |
| 445 | msgstr "als antwoord op" | 445 | msgstr "als antwoord op" |
| 446 | 446 | ||
| 447 | #: html.c:2345 | 447 | #: html.c:2439 |
| 448 | msgid " [SENSITIVE CONTENT]" | 448 | msgid " [SENSITIVE CONTENT]" |
| 449 | msgstr " [GEVOELIGE INHOUD]" | 449 | msgstr " [GEVOELIGE INHOUD]" |
| 450 | 450 | ||
| 451 | #: html.c:2512 | 451 | #: html.c:2796 |
| 452 | msgid "Vote" | 452 | msgid "Vote" |
| 453 | msgstr "Stem" | 453 | msgstr "Stem" |
| 454 | 454 | ||
| 455 | #: html.c:2522 | 455 | #: html.c:2806 |
| 456 | msgid "Closed" | 456 | msgid "Closed" |
| 457 | msgstr "Gesloten" | 457 | msgstr "Gesloten" |
| 458 | 458 | ||
| 459 | #: html.c:2547 | 459 | #: html.c:2831 |
| 460 | msgid "Closes in" | 460 | msgid "Closes in" |
| 461 | msgstr "Sluit over" | 461 | msgstr "Sluit over" |
| 462 | 462 | ||
| 463 | #: html.c:2627 | 463 | #: html.c:2911 |
| 464 | msgid "Video" | 464 | msgid "Video" |
| 465 | msgstr "Video" | 465 | msgstr "Video" |
| 466 | 466 | ||
| 467 | #: html.c:2642 | 467 | #: html.c:2926 |
| 468 | msgid "Audio" | 468 | msgid "Audio" |
| 469 | msgstr "Audio" | 469 | msgstr "Audio" |
| 470 | 470 | ||
| 471 | #: html.c:2670 | 471 | #: html.c:2954 |
| 472 | msgid "Attachment" | 472 | msgid "Attachment" |
| 473 | msgstr "Bijlage" | 473 | msgstr "Bijlage" |
| 474 | 474 | ||
| 475 | #: html.c:2684 | 475 | #: html.c:2968 |
| 476 | msgid "Alt..." | 476 | msgid "Alt..." |
| 477 | msgstr "Alt..." | 477 | msgstr "Alt..." |
| 478 | 478 | ||
| 479 | #: html.c:2697 | 479 | #: html.c:2981 |
| 480 | msgid "Source channel or community" | 480 | msgid "Source channel or community" |
| 481 | msgstr "Bron kanaal of gemeenschap" | 481 | msgstr "Bron kanaal of gemeenschap" |
| 482 | 482 | ||
| 483 | #: html.c:2791 | 483 | #: html.c:3075 |
| 484 | msgid "Time: " | 484 | msgid "Time: " |
| 485 | msgstr "Tijd: " | 485 | msgstr "Tijd: " |
| 486 | 486 | ||
| 487 | #: html.c:2872 | 487 | #: html.c:3156 |
| 488 | msgid "Older..." | 488 | msgid "Older..." |
| 489 | msgstr "Ouder..." | 489 | msgstr "Ouder..." |
| 490 | 490 | ||
| 491 | #: html.c:2974 | 491 | #: html.c:3258 |
| 492 | msgid "about this site" | 492 | msgid "about this site" |
| 493 | msgstr "over deze site" | 493 | msgstr "over deze site" |
| 494 | 494 | ||
| 495 | #: html.c:2976 | 495 | #: html.c:3260 |
| 496 | msgid "powered by " | 496 | msgid "powered by " |
| 497 | msgstr "aangedreven door " | 497 | msgstr "aangedreven door " |
| 498 | 498 | ||
| 499 | #: html.c:3041 | 499 | #: html.c:3329 |
| 500 | msgid "Dismiss" | 500 | msgid "Dismiss" |
| 501 | msgstr "Verwerp" | 501 | msgstr "Verwerp" |
| 502 | 502 | ||
| 503 | #: html.c:3058 | 503 | #: html.c:3346 |
| 504 | #, c-format | 504 | #, c-format |
| 505 | msgid "Timeline for list '%s'" | 505 | msgid "Timeline for list '%s'" |
| 506 | msgstr "Tijdlijn voor lijst '%s'" | 506 | msgstr "Tijdlijn voor lijst '%s'" |
| 507 | 507 | ||
| 508 | #: html.c:3077 html.c:4169 | 508 | #: html.c:3365 html.c:4589 |
| 509 | msgid "Pinned posts" | 509 | msgid "Pinned posts" |
| 510 | msgstr "Vastgezette berichten" | 510 | msgstr "Vastgezette berichten" |
| 511 | 511 | ||
| 512 | #: html.c:3089 html.c:4184 | 512 | #: html.c:3377 html.c:4604 |
| 513 | msgid "Bookmarked posts" | 513 | msgid "Bookmarked posts" |
| 514 | msgstr "Favoriete berichten" | 514 | msgstr "Favoriete berichten" |
| 515 | 515 | ||
| 516 | #: html.c:3101 html.c:4199 | 516 | #: html.c:3389 html.c:4619 |
| 517 | msgid "Post drafts" | 517 | msgid "Post drafts" |
| 518 | msgstr "Berichtenconcepten" | 518 | msgstr "Berichtenconcepten" |
| 519 | 519 | ||
| 520 | #: html.c:3177 | 520 | #: html.c:3465 |
| 521 | msgid "No more unseen posts" | 521 | msgid "No more unseen posts" |
| 522 | msgstr "Geen ongelezen berichten meer" | 522 | msgstr "Geen ongelezen berichten meer" |
| 523 | 523 | ||
| 524 | #: html.c:3181 html.c:3290 | 524 | #: html.c:3469 html.c:3578 |
| 525 | msgid "Back to top" | 525 | msgid "Back to top" |
| 526 | msgstr "Terug naar boven" | 526 | msgstr "Terug naar boven" |
| 527 | 527 | ||
| 528 | #: html.c:3243 | 528 | #: html.c:3531 |
| 529 | msgid "History" | 529 | msgid "History" |
| 530 | msgstr "Geschiedenis" | 530 | msgstr "Geschiedenis" |
| 531 | 531 | ||
| 532 | #: html.c:3295 html.c:3734 | 532 | #: html.c:3583 html.c:4149 |
| 533 | msgid "More..." | 533 | msgid "More..." |
| 534 | msgstr "Meer..." | 534 | msgstr "Meer..." |
| 535 | 535 | ||
| 536 | #: html.c:3391 html.c:4813 | 536 | #: html.c:3767 html.c:5257 |
| 537 | msgid "Unlimit" | 537 | msgid "Unlimit" |
| 538 | msgstr "Ongelimiteerd" | 538 | msgstr "Ongelimiteerd" |
| 539 | 539 | ||
| 540 | #: html.c:3392 | 540 | #: html.c:3768 |
| 541 | msgid "Allow announces (boosts) from this user" | 541 | msgid "Allow announces (boosts) from this user" |
| 542 | msgstr "Sta aankondigingen (boosts) van deze gebruiker toe" | 542 | msgstr "Sta aankondigingen (boosts) van deze gebruiker toe" |
| 543 | 543 | ||
| 544 | #: html.c:3395 html.c:4809 | 544 | #: html.c:3771 html.c:5253 |
| 545 | msgid "Limit" | 545 | msgid "Limit" |
| 546 | msgstr "Limiteer" | 546 | msgstr "Limiteer" |
| 547 | 547 | ||
| 548 | #: html.c:3396 | 548 | #: html.c:3772 |
| 549 | msgid "Block announces (boosts) from this user" | 549 | msgid "Block announces (boosts) from this user" |
| 550 | msgstr "Blokkeer aankondigingen (boosts) van deze gebruiker" | 550 | msgstr "Blokkeer aankondigingen (boosts) van deze gebruiker" |
| 551 | 551 | ||
| 552 | #: html.c:3405 | 552 | #: html.c:3781 |
| 553 | msgid "Delete this user" | 553 | msgid "Delete this user" |
| 554 | msgstr "Verwijder deze gebruiker" | 554 | msgstr "Verwijder deze gebruiker" |
| 555 | 555 | ||
| 556 | #: html.c:3410 html.c:4927 | 556 | #: html.c:3786 html.c:5371 |
| 557 | msgid "Approve" | 557 | msgid "Approve" |
| 558 | msgstr "Goedkeuren" | 558 | msgstr "Goedkeuren" |
| 559 | 559 | ||
| 560 | #: html.c:3411 | 560 | #: html.c:3787 |
| 561 | msgid "Approve this follow request" | 561 | msgid "Approve this follow request" |
| 562 | msgstr "Keurt dit volgverzoek goed" | 562 | msgstr "Keurt dit volgverzoek goed" |
| 563 | 563 | ||
| 564 | #: html.c:3414 html.c:4951 | 564 | #: html.c:3790 html.c:5395 |
| 565 | msgid "Discard" | 565 | msgid "Discard" |
| 566 | msgstr "Afwijzen" | 566 | msgstr "Afwijzen" |
| 567 | 567 | ||
| 568 | #: html.c:3414 | 568 | #: html.c:3790 |
| 569 | msgid "Discard this follow request" | 569 | msgid "Discard this follow request" |
| 570 | msgstr "Wijs dit volgverzoek af" | 570 | msgstr "Wijs dit volgverzoek af" |
| 571 | 571 | ||
| 572 | #: html.c:3419 html.c:4795 | 572 | #: html.c:3795 html.c:5239 |
| 573 | msgid "Unmute" | 573 | msgid "Unmute" |
| 574 | msgstr "Niet meer dempen" | 574 | msgstr "Niet meer dempen" |
| 575 | 575 | ||
| 576 | #: html.c:3420 | 576 | #: html.c:3796 |
| 577 | msgid "Stop blocking activities from this user" | 577 | msgid "Stop blocking activities from this user" |
| 578 | msgstr "Stop met het blokkeren van activiteiten van deze gebruiker" | 578 | msgstr "Stop met het blokkeren van activiteiten van deze gebruiker" |
| 579 | 579 | ||
| 580 | #: html.c:3424 | 580 | #: html.c:3800 |
| 581 | msgid "Block any activity from this user" | 581 | msgid "Block any activity from this user" |
| 582 | msgstr "Blokkeer alle activiteit van deze gebruiker" | 582 | msgstr "Blokkeer alle activiteit van deze gebruiker" |
| 583 | 583 | ||
| 584 | #: html.c:3432 | 584 | #: html.c:3808 |
| 585 | msgid "Direct Message..." | 585 | msgid "Direct Message..." |
| 586 | msgstr "Persoonlijk bericht..." | 586 | msgstr "Persoonlijk bericht..." |
| 587 | 587 | ||
| 588 | #: html.c:3467 | 588 | #: html.c:3843 |
| 589 | msgid "Pending follow confirmations" | 589 | msgid "Pending follow confirmations" |
| 590 | msgstr "Openstaande volgbevestigingen" | 590 | msgstr "Openstaande volgbevestigingen" |
| 591 | 591 | ||
| 592 | #: html.c:3471 | 592 | #: html.c:3847 |
| 593 | msgid "People you follow" | 593 | msgid "People you follow" |
| 594 | msgstr "Mensen die je volgt" | 594 | msgstr "Mensen die je volgt" |
| 595 | 595 | ||
| 596 | #: html.c:3472 | 596 | #: html.c:3848 |
| 597 | msgid "People that follow you" | 597 | msgid "People that follow you" |
| 598 | msgstr "Mensen die jou volgen" | 598 | msgstr "Mensen die jou volgen" |
| 599 | 599 | ||
| 600 | #: html.c:3511 | 600 | #: html.c:3887 |
| 601 | msgid "Clear all" | 601 | msgid "Clear all" |
| 602 | msgstr "Alle wissen" | 602 | msgstr "Alle wissen" |
| 603 | 603 | ||
| 604 | #: html.c:3571 | 604 | #: html.c:3951 |
| 605 | msgid "Mention" | 605 | msgid "Mention" |
| 606 | msgstr "Benoemen" | 606 | msgstr "Benoemen" |
| 607 | 607 | ||
| 608 | #: html.c:3574 | 608 | #: html.c:3954 |
| 609 | msgid "Finished poll" | 609 | msgid "Finished poll" |
| 610 | msgstr "Afgeronde peiling" | 610 | msgstr "Afgeronde peiling" |
| 611 | 611 | ||
| 612 | #: html.c:3590 | 612 | #: html.c:3979 |
| 613 | msgid "Follow Request" | 613 | msgid "Follow Request" |
| 614 | msgstr "Volgverzoek" | 614 | msgstr "Volgverzoek" |
| 615 | 615 | ||
| 616 | #: html.c:3674 | 616 | #: html.c:4089 |
| 617 | msgid "Context" | 617 | msgid "Context" |
| 618 | msgstr "Context" | 618 | msgstr "Context" |
| 619 | 619 | ||
| 620 | #: html.c:3692 | 620 | #: html.c:4107 |
| 621 | msgid "New" | 621 | msgid "New" |
| 622 | msgstr "Nieuw" | 622 | msgstr "Nieuw" |
| 623 | 623 | ||
| 624 | #: html.c:3707 | 624 | #: html.c:4122 |
| 625 | msgid "Already seen" | 625 | msgid "Already seen" |
| 626 | msgstr "Al gezien" | 626 | msgstr "Al gezien" |
| 627 | 627 | ||
| 628 | #: html.c:3722 | 628 | #: html.c:4137 |
| 629 | msgid "None" | 629 | msgid "None" |
| 630 | msgstr "Geen" | 630 | msgstr "Geen" |
| 631 | 631 | ||
| 632 | #: html.c:3994 | 632 | #: html.c:4414 |
| 633 | #, c-format | 633 | #, c-format |
| 634 | msgid "Search results for account %s" | 634 | msgid "Search results for account %s" |
| 635 | msgstr "Zoekresultaten voor account %s" | 635 | msgstr "Zoekresultaten voor account %s" |
| 636 | 636 | ||
| 637 | #: html.c:4001 | 637 | #: html.c:4421 |
| 638 | #, c-format | 638 | #, c-format |
| 639 | msgid "Account %s not found" | 639 | msgid "Account %s not found" |
| 640 | msgstr "Account %s niet gevonden" | 640 | msgstr "Account %s niet gevonden" |
| 641 | 641 | ||
| 642 | #: html.c:4032 | 642 | #: html.c:4452 |
| 643 | #, c-format | 643 | #, c-format |
| 644 | msgid "Search results for tag %s" | 644 | msgid "Search results for tag %s" |
| 645 | msgstr "Zoekresultaten voor tag %s" | 645 | msgstr "Zoekresultaten voor tag %s" |
| 646 | 646 | ||
| 647 | #: html.c:4032 | 647 | #: html.c:4452 |
| 648 | #, c-format | 648 | #, c-format |
| 649 | msgid "Nothing found for tag %s" | 649 | msgid "Nothing found for tag %s" |
| 650 | msgstr "Niets gevonden voor tag %s" | 650 | msgstr "Niets gevonden voor tag %s" |
| 651 | 651 | ||
| 652 | #: html.c:4048 | 652 | #: html.c:4468 |
| 653 | #, c-format | 653 | #, c-format |
| 654 | msgid "Search results for '%s' (may be more)" | 654 | msgid "Search results for '%s' (may be more)" |
| 655 | msgstr "Zoekresultaten voor '%s' (mogelijk meer)" | 655 | msgstr "Zoekresultaten voor '%s' (mogelijk meer)" |
| 656 | 656 | ||
| 657 | #: html.c:4051 | 657 | #: html.c:4471 |
| 658 | #, c-format | 658 | #, c-format |
| 659 | msgid "Search results for '%s'" | 659 | msgid "Search results for '%s'" |
| 660 | msgstr "Zoekresultaten voor '%s'" | 660 | msgstr "Zoekresultaten voor '%s'" |
| 661 | 661 | ||
| 662 | #: html.c:4054 | 662 | #: html.c:4474 |
| 663 | #, c-format | 663 | #, c-format |
| 664 | msgid "No more matches for '%s'" | 664 | msgid "No more matches for '%s'" |
| 665 | msgstr "Geen verdere overeenkomsten voor '%s'" | 665 | msgstr "Geen verdere overeenkomsten voor '%s'" |
| 666 | 666 | ||
| 667 | #: html.c:4056 | 667 | #: html.c:4476 |
| 668 | #, c-format | 668 | #, c-format |
| 669 | msgid "Nothing found for '%s'" | 669 | msgid "Nothing found for '%s'" |
| 670 | msgstr "Niets gevonden voor '%s'" | 670 | msgstr "Niets gevonden voor '%s'" |
| 671 | 671 | ||
| 672 | #: html.c:4154 | 672 | #: html.c:4574 |
| 673 | msgid "Showing instance timeline" | 673 | msgid "Showing instance timeline" |
| 674 | msgstr "Toond tijdlijn van instantie" | 674 | msgstr "Toond tijdlijn van instantie" |
| 675 | 675 | ||
| 676 | #: html.c:4237 | 676 | #: html.c:4657 |
| 677 | #, c-format | 677 | #, c-format |
| 678 | msgid "Showing timeline for list '%s'" | 678 | msgid "Showing timeline for list '%s'" |
| 679 | msgstr "Toond tijdlijn voor lijst '%s'" | 679 | msgstr "Toond tijdlijn voor lijst '%s'" |
| 680 | 680 | ||
| 681 | #: httpd.c:258 | 681 | #: httpd.c:259 |
| 682 | #, c-format | 682 | #, c-format |
| 683 | msgid "Search results for tag #%s" | 683 | msgid "Search results for tag #%s" |
| 684 | msgstr "Zoekresultaten voor tag #%s" | 684 | msgstr "Zoekresultaten voor tag #%s" |
| 685 | 685 | ||
| 686 | #: httpd.c:267 | 686 | #: httpd.c:268 |
| 687 | msgid "Recent posts by users in this instance" | 687 | msgid "Recent posts by users in this instance" |
| 688 | msgstr "Recente berichten van gebruikers in deze instantie" | 688 | msgstr "Recente berichten van gebruikers in deze instantie" |
| 689 | 689 | ||
| 690 | #: html.c:1764 | 690 | #: html.c:1842 |
| 691 | msgid "Blocked hashtags..." | 691 | msgid "Blocked hashtags..." |
| 692 | msgstr "Geblokkeerde hashtags..." | 692 | msgstr "Geblokkeerde hashtags..." |
| 693 | 693 | ||
| 694 | #: html.c:518 | 694 | #: html.c:574 |
| 695 | msgid "Optional URL to reply to" | 695 | msgid "Optional URL to reply to" |
| 696 | msgstr "Optionele URL om op te antwoorden" | 696 | msgstr "Optionele URL om op te antwoorden" |
| 697 | 697 | ||
| 698 | #: html.c:695 | 698 | #: html.c:751 |
| 699 | msgid "" | 699 | msgid "" |
| 700 | "Option 1...\n" | 700 | "Option 1...\n" |
| 701 | "Option 2...\n" | 701 | "Option 2...\n" |
| @@ -707,94 +707,106 @@ msgstr "" | |||
| 707 | "Optie 3...\n" | 707 | "Optie 3...\n" |
| 708 | "..." | 708 | "..." |
| 709 | 709 | ||
| 710 | #: html.c:1558 | 710 | #: html.c:1636 |
| 711 | msgid "Bot API key" | 711 | msgid "Bot API key" |
| 712 | msgstr "Bot API sleutel" | 712 | msgstr "Bot API sleutel" |
| 713 | 713 | ||
| 714 | #: html.c:1564 | 714 | #: html.c:1642 |
| 715 | msgid "Chat id" | 715 | msgid "Chat id" |
| 716 | msgstr "Chat id" | 716 | msgstr "Chat id" |
| 717 | 717 | ||
| 718 | #: html.c:1572 | 718 | #: html.c:1650 |
| 719 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 719 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 720 | msgstr "ntfy server - volledige URL (voorbeeld: https://ntfy.sh/YourTopic)" | 720 | msgstr "ntfy server - volledige URL (voorbeeld: https://ntfy.sh/YourTopic)" |
| 721 | 721 | ||
| 722 | #: html.c:1578 | 722 | #: html.c:1656 |
| 723 | msgid "ntfy token - if needed" | 723 | msgid "ntfy token - if needed" |
| 724 | msgstr "ntfy token - indien nodig" | 724 | msgstr "ntfy token - indien nodig" |
| 725 | 725 | ||
| 726 | #: html.c:3078 | 726 | #: html.c:3366 |
| 727 | msgid "pinned" | 727 | msgid "pinned" |
| 728 | msgstr "vastgezet" | 728 | msgstr "vastgezet" |
| 729 | 729 | ||
| 730 | #: html.c:3090 | 730 | #: html.c:3378 |
| 731 | msgid "bookmarks" | 731 | msgid "bookmarks" |
| 732 | msgstr "favorieten" | 732 | msgstr "favorieten" |
| 733 | 733 | ||
| 734 | #: html.c:3102 | 734 | #: html.c:3390 |
| 735 | msgid "drafts" | 735 | msgid "drafts" |
| 736 | msgstr "concepten" | 736 | msgstr "concepten" |
| 737 | 737 | ||
| 738 | #: html.c:584 | 738 | #: html.c:640 |
| 739 | msgid "Scheduled post..." | 739 | msgid "Scheduled post..." |
| 740 | msgstr "Gepland bericht..." | 740 | msgstr "Gepland bericht..." |
| 741 | 741 | ||
| 742 | msgid "Post date and time:" | 742 | msgid "Post date and time:" |
| 743 | msgstr "Bericht datum en tijd:" | 743 | msgstr "Bericht datum en tijd:" |
| 744 | 744 | ||
| 745 | #: html.c:3113 html.c:4214 | 745 | #: html.c:3401 html.c:4634 |
| 746 | msgid "Scheduled posts" | 746 | msgid "Scheduled posts" |
| 747 | msgstr "Geplande berichten" | 747 | msgstr "Geplande berichten" |
| 748 | 748 | ||
| 749 | #: html.c:3114 | 749 | #: html.c:3402 |
| 750 | msgid "scheduled posts" | 750 | msgid "scheduled posts" |
| 751 | msgstr "geplande berichten" | 751 | msgstr "geplande berichten" |
| 752 | 752 | ||
| 753 | #: html.c:578 | 753 | #: html.c:634 |
| 754 | #, c-format | 754 | #, c-format |
| 755 | msgid "Post date and time (timezone: %s):" | 755 | msgid "Post date and time (timezone: %s):" |
| 756 | msgstr "Bericht datum en tijd (tijdzone: %s):" | 756 | msgstr "Bericht datum en tijd (tijdzone: %s):" |
| 757 | 757 | ||
| 758 | #: html.c:1689 | 758 | #: html.c:1767 |
| 759 | msgid "Time zone:" | 759 | msgid "Time zone:" |
| 760 | msgstr "Tijdzone:" | 760 | msgstr "Tijdzone:" |
| 761 | 761 | ||
| 762 | #: html.c:559 | 762 | #: html.c:615 |
| 763 | msgid "Language:" | 763 | msgid "Language:" |
| 764 | msgstr "" | 764 | msgstr "" |
| 765 | 765 | ||
| 766 | #: html.c:1580 | 766 | #: html.c:1658 |
| 767 | msgid "Notify webhook:" | 767 | msgid "Notify webhook:" |
| 768 | msgstr "" | 768 | msgstr "" |
| 769 | 769 | ||
| 770 | #: html.c:1586 | 770 | #: html.c:1664 |
| 771 | msgid "http://example.com/webhook" | 771 | msgid "http://example.com/webhook" |
| 772 | msgstr "" | 772 | msgstr "" |
| 773 | 773 | ||
| 774 | #: html.c:1694 | 774 | #: html.c:1772 |
| 775 | msgid "Languages you usually post in:" | 775 | msgid "Languages you usually post in:" |
| 776 | msgstr "" | 776 | msgstr "" |
| 777 | 777 | ||
| 778 | #: html.c:1700 | 778 | #: html.c:1778 |
| 779 | msgid "en fr es de_AT" | 779 | msgid "en fr es de_AT" |
| 780 | msgstr "" | 780 | msgstr "" |
| 781 | 781 | ||
| 782 | #: html.c:460 | 782 | #: html.c:428 |
| 783 | msgid "Visibility: " | 783 | msgid "Visibility: " |
| 784 | msgstr "" | 784 | msgstr "" |
| 785 | 785 | ||
| 786 | #: html.c:468 | ||
| 787 | msgid "Public" | 786 | msgid "Public" |
| 788 | msgstr "" | 787 | msgstr "" |
| 789 | 788 | ||
| 790 | #: html.c:477 | ||
| 791 | msgid "Unlisted" | 789 | msgid "Unlisted" |
| 792 | msgstr "" | 790 | msgstr "" |
| 793 | 791 | ||
| 794 | #: html.c:486 | ||
| 795 | msgid "Followers-only" | 792 | msgid "Followers-only" |
| 796 | msgstr "" | 793 | msgstr "" |
| 797 | 794 | ||
| 798 | #: html.c:495 | ||
| 799 | msgid "Direct Message" | 795 | msgid "Direct Message" |
| 800 | msgstr "" | 796 | msgstr "" |
| 797 | |||
| 798 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 799 | msgid "EmojiUnreact" | ||
| 800 | msgstr "" | ||
| 801 | |||
| 802 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 803 | msgid "EmojiReact" | ||
| 804 | msgstr "" | ||
| 805 | |||
| 806 | #: html.c:2115 | ||
| 807 | msgid "Emoji react..." | ||
| 808 | msgstr "" | ||
| 809 | |||
| 810 | #: html.c:2609 | ||
| 811 | msgid "Emoji reactions: " | ||
| 812 | msgstr "" | ||
diff --git a/po/pt_BR.po b/po/pt_BR.po index 12f8a83..71b0132 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po | |||
| @@ -4,127 +4,127 @@ | |||
| 4 | msgid "" | 4 | msgid "" |
| 5 | msgstr "" | 5 | msgstr "" |
| 6 | "Project-Id-Version: snac\n" | 6 | "Project-Id-Version: snac\n" |
| 7 | "PO-Revision-Date: 2025-10-11 16:48-0300\n" | 7 | "PO-Revision-Date: 2025-12-22 07:55-0300\n" |
| 8 | "Last-Translator: Daltux <@daltux@snac.daltux.net>\n" | 8 | "Last-Translator: Daltux <@daltux@snac.daltux.net>\n" |
| 9 | "Language: pt_BR\n" | 9 | "Language: pt_BR\n" |
| 10 | "MIME-Version: 1.0\n" | 10 | "MIME-Version: 1.0\n" |
| 11 | "Content-Type: text/plain; charset=UTF-8\n" | 11 | "Content-Type: text/plain; charset=UTF-8\n" |
| 12 | "Content-Transfer-Encoding: 8bit\n" | 12 | "Content-Transfer-Encoding: 8bit\n" |
| 13 | "X-Generator: Poedit 3.7\n" | 13 | "X-Generator: Geany / PoHelper 2.0\n" |
| 14 | 14 | ||
| 15 | #: html.c:440 | 15 | #: html.c:534 |
| 16 | msgid "Sensitive content: " | 16 | msgid "Sensitive content: " |
| 17 | msgstr "Conteúdo sensÃvel: " | 17 | msgstr "Conteúdo sensÃvel: " |
| 18 | 18 | ||
| 19 | #: html.c:448 | 19 | #: html.c:542 |
| 20 | msgid "Sensitive content description" | 20 | msgid "Sensitive content description" |
| 21 | msgstr "Descrição do conteúdo sensÃvel" | 21 | msgstr "Descrição do conteúdo sensÃvel" |
| 22 | 22 | ||
| 23 | msgid "Only for mentioned people: " | 23 | msgid "Only for mentioned people: " |
| 24 | msgstr "Apenas para pessoas mencionadas: " | 24 | msgstr "Apenas para pessoas mencionadas: " |
| 25 | 25 | ||
| 26 | #: html.c:514 | 26 | #: html.c:570 |
| 27 | msgid "Reply to (URL): " | 27 | msgid "Reply to (URL): " |
| 28 | msgstr "Resposta para (URL): " | 28 | msgstr "Resposta para (URL): " |
| 29 | 29 | ||
| 30 | #: html.c:523 | 30 | #: html.c:579 |
| 31 | msgid "Don't send, but store as a draft" | 31 | msgid "Don't send, but store as a draft" |
| 32 | msgstr "Não enviar, mas guardar como rascunho" | 32 | msgstr "Não enviar, mas guardar como rascunho" |
| 33 | 33 | ||
| 34 | #: html.c:524 | 34 | #: html.c:580 |
| 35 | msgid "Draft:" | 35 | msgid "Draft:" |
| 36 | msgstr "Rascunho:" | 36 | msgstr "Rascunho:" |
| 37 | 37 | ||
| 38 | #: html.c:614 | 38 | #: html.c:670 |
| 39 | msgid "Attachments..." | 39 | msgid "Attachments..." |
| 40 | msgstr "Anexos..." | 40 | msgstr "Anexos..." |
| 41 | 41 | ||
| 42 | #: html.c:637 | 42 | #: html.c:693 |
| 43 | msgid "File:" | 43 | msgid "File:" |
| 44 | msgstr "Arquivo:" | 44 | msgstr "Arquivo:" |
| 45 | 45 | ||
| 46 | #: html.c:641 | 46 | #: html.c:697 |
| 47 | msgid "Clear this field to delete the attachment" | 47 | msgid "Clear this field to delete the attachment" |
| 48 | msgstr "Limpe este campo para remover o anexo" | 48 | msgstr "Limpe este campo para remover o anexo" |
| 49 | 49 | ||
| 50 | #: html.c:650 html.c:675 | 50 | #: html.c:706 html.c:731 |
| 51 | msgid "Attachment description" | 51 | msgid "Attachment description" |
| 52 | msgstr "Descrição do anexo" | 52 | msgstr "Descrição do anexo" |
| 53 | 53 | ||
| 54 | #: html.c:686 | 54 | #: html.c:742 |
| 55 | msgid "Poll..." | 55 | msgid "Poll..." |
| 56 | msgstr "Enquete..." | 56 | msgstr "Enquete..." |
| 57 | 57 | ||
| 58 | #: html.c:688 | 58 | #: html.c:744 |
| 59 | msgid "Poll options (one per line, up to 8):" | 59 | msgid "Poll options (one per line, up to 8):" |
| 60 | msgstr "Alternativas da enquete (uma por linha, até 8):" | 60 | msgstr "Alternativas da enquete (uma por linha, até 8):" |
| 61 | 61 | ||
| 62 | #: html.c:700 | 62 | #: html.c:756 |
| 63 | msgid "One choice" | 63 | msgid "One choice" |
| 64 | msgstr "Escolha única" | 64 | msgstr "Escolha única" |
| 65 | 65 | ||
| 66 | #: html.c:703 | 66 | #: html.c:759 |
| 67 | msgid "Multiple choices" | 67 | msgid "Multiple choices" |
| 68 | msgstr "Escolhas múltiplas" | 68 | msgstr "Escolhas múltiplas" |
| 69 | 69 | ||
| 70 | #: html.c:709 | 70 | #: html.c:765 |
| 71 | msgid "End in 5 minutes" | 71 | msgid "End in 5 minutes" |
| 72 | msgstr "Encerrar em 5 minutos" | 72 | msgstr "Encerrar em 5 minutos" |
| 73 | 73 | ||
| 74 | #: html.c:713 | 74 | #: html.c:769 |
| 75 | msgid "End in 1 hour" | 75 | msgid "End in 1 hour" |
| 76 | msgstr "Encerrar em 1 hora" | 76 | msgstr "Encerrar em 1 hora" |
| 77 | 77 | ||
| 78 | #: html.c:716 | 78 | #: html.c:772 |
| 79 | msgid "End in 1 day" | 79 | msgid "End in 1 day" |
| 80 | msgstr "Encerrar em 1 dia" | 80 | msgstr "Encerrar em 1 dia" |
| 81 | 81 | ||
| 82 | #: html.c:724 | 82 | #: html.c:780 |
| 83 | msgid "Post" | 83 | msgid "Post" |
| 84 | msgstr "Publicar" | 84 | msgstr "Publicar" |
| 85 | 85 | ||
| 86 | #: html.c:826 html.c:833 | 86 | #: html.c:882 html.c:889 |
| 87 | msgid "Site description" | 87 | msgid "Site description" |
| 88 | msgstr "Descrição do sÃtio eletrônico" | 88 | msgstr "Descrição do sÃtio eletrônico" |
| 89 | 89 | ||
| 90 | #: html.c:844 | 90 | #: html.c:900 |
| 91 | msgid "Admin email" | 91 | msgid "Admin email" |
| 92 | msgstr "E-mail da administração" | 92 | msgstr "E-mail da administração" |
| 93 | 93 | ||
| 94 | #: html.c:857 | 94 | #: html.c:913 |
| 95 | msgid "Admin account" | 95 | msgid "Admin account" |
| 96 | msgstr "Conta de quem administra" | 96 | msgstr "Conta de quem administra" |
| 97 | 97 | ||
| 98 | #: html.c:922 html.c:1278 | 98 | #: html.c:978 html.c:1334 |
| 99 | #, c-format | 99 | #, c-format |
| 100 | msgid "%d following, %d followers" | 100 | msgid "%d following, %d followers" |
| 101 | msgstr "%d seguidos, %d seguidores" | 101 | msgstr "%d seguidos, %d seguidores" |
| 102 | 102 | ||
| 103 | #: html.c:1019 | 103 | #: html.c:1075 |
| 104 | msgid "RSS" | 104 | msgid "RSS" |
| 105 | msgstr "RSS" | 105 | msgstr "RSS" |
| 106 | 106 | ||
| 107 | #: html.c:1024 html.c:1063 | 107 | #: html.c:1080 html.c:1119 |
| 108 | msgid "private" | 108 | msgid "private" |
| 109 | msgstr "privado" | 109 | msgstr "privado" |
| 110 | 110 | ||
| 111 | #: html.c:1059 | 111 | #: html.c:1115 |
| 112 | msgid "public" | 112 | msgid "public" |
| 113 | msgstr "público" | 113 | msgstr "público" |
| 114 | 114 | ||
| 115 | #: html.c:1067 | 115 | #: html.c:1123 |
| 116 | msgid "notifications" | 116 | msgid "notifications" |
| 117 | msgstr "notificações" | 117 | msgstr "notificações" |
| 118 | 118 | ||
| 119 | #: html.c:1072 | 119 | #: html.c:1128 |
| 120 | msgid "people" | 120 | msgid "people" |
| 121 | msgstr "pessoas" | 121 | msgstr "pessoas" |
| 122 | 122 | ||
| 123 | #: html.c:1077 | 123 | #: html.c:1133 |
| 124 | msgid "instance" | 124 | msgid "instance" |
| 125 | msgstr "instância" | 125 | msgstr "instância" |
| 126 | 126 | ||
| 127 | #: html.c:1086 | 127 | #: html.c:1142 |
| 128 | msgid "" | 128 | msgid "" |
| 129 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 129 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 130 | "#tag" | 130 | "#tag" |
| @@ -132,574 +132,574 @@ msgstr "" | |||
| 132 | "Procurar publicações por URL ou conteúdo (expressão regular), contas " | 132 | "Procurar publicações por URL ou conteúdo (expressão regular), contas " |
| 133 | "(@perfil@servidor) ou #tag" | 133 | "(@perfil@servidor) ou #tag" |
| 134 | 134 | ||
| 135 | #: html.c:1087 | 135 | #: html.c:1143 |
| 136 | msgid "Content search" | 136 | msgid "Content search" |
| 137 | msgstr "Buscar conteúdo" | 137 | msgstr "Buscar conteúdo" |
| 138 | 138 | ||
| 139 | #: html.c:1213 | 139 | #: html.c:1269 |
| 140 | msgid "verified link" | 140 | msgid "verified link" |
| 141 | msgstr "ligação verificada" | 141 | msgstr "ligação verificada" |
| 142 | 142 | ||
| 143 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 143 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 144 | msgid "Location: " | 144 | msgid "Location: " |
| 145 | msgstr "Localização: " | 145 | msgstr "Localização: " |
| 146 | 146 | ||
| 147 | #: html.c:1302 | 147 | #: html.c:1358 |
| 148 | msgid "New Post..." | 148 | msgid "New Post..." |
| 149 | msgstr "Nova publicação..." | 149 | msgstr "Nova publicação..." |
| 150 | 150 | ||
| 151 | #: html.c:1304 | 151 | #: html.c:1360 |
| 152 | msgid "What's on your mind?" | 152 | msgid "What's on your mind?" |
| 153 | msgstr "O que tem em mente?" | 153 | msgstr "O que tem em mente?" |
| 154 | 154 | ||
| 155 | #: html.c:1313 | 155 | #: html.c:1369 |
| 156 | msgid "Operations..." | 156 | msgid "Operations..." |
| 157 | msgstr "Operações..." | 157 | msgstr "Operações..." |
| 158 | 158 | ||
| 159 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 159 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 160 | msgid "Follow" | 160 | msgid "Follow" |
| 161 | msgstr "Seguir" | 161 | msgstr "Seguir" |
| 162 | 162 | ||
| 163 | #: html.c:1330 | 163 | #: html.c:1386 |
| 164 | msgid "(by URL or user@host)" | 164 | msgid "(by URL or user@host)" |
| 165 | msgstr "(por URL ou conta@servidor)" | 165 | msgstr "(por URL ou conta@servidor)" |
| 166 | 166 | ||
| 167 | #: html.c:1345 html.c:1925 html.c:4766 | 167 | #: html.c:1401 html.c:2003 html.c:5210 |
| 168 | msgid "Boost" | 168 | msgid "Boost" |
| 169 | msgstr "Impulsionar" | 169 | msgstr "Impulsionar" |
| 170 | 170 | ||
| 171 | #: html.c:1347 html.c:1364 | 171 | #: html.c:1403 html.c:1420 html.c:1442 |
| 172 | msgid "(by URL)" | 172 | msgid "(by URL)" |
| 173 | msgstr "(por URL)" | 173 | msgstr "(por URL)" |
| 174 | 174 | ||
| 175 | #: html.c:1362 html.c:1904 html.c:4757 | 175 | #: html.c:1418 html.c:1982 html.c:5201 |
| 176 | msgid "Like" | 176 | msgid "Like" |
| 177 | msgstr "Curtir" | 177 | msgstr "Curtir" |
| 178 | 178 | ||
| 179 | #: html.c:1490 | 179 | #: html.c:1568 |
| 180 | msgid "User Settings..." | 180 | msgid "User Settings..." |
| 181 | msgstr "Definições da conta..." | 181 | msgstr "Definições da conta..." |
| 182 | 182 | ||
| 183 | #: html.c:1499 | 183 | #: html.c:1577 |
| 184 | msgid "Display name:" | 184 | msgid "Display name:" |
| 185 | msgstr "Nome a ser exibido:" | 185 | msgstr "Nome a ser exibido:" |
| 186 | 186 | ||
| 187 | #: html.c:1505 | 187 | #: html.c:1583 |
| 188 | msgid "Your name" | 188 | msgid "Your name" |
| 189 | msgstr "Seu nome" | 189 | msgstr "Seu nome" |
| 190 | 190 | ||
| 191 | #: html.c:1507 | 191 | #: html.c:1585 |
| 192 | msgid "Avatar: " | 192 | msgid "Avatar: " |
| 193 | msgstr "Avatar: " | 193 | msgstr "Avatar: " |
| 194 | 194 | ||
| 195 | #: html.c:1515 | 195 | #: html.c:1593 |
| 196 | msgid "Delete current avatar" | 196 | msgid "Delete current avatar" |
| 197 | msgstr "Remover avatar atual" | 197 | msgstr "Remover avatar atual" |
| 198 | 198 | ||
| 199 | #: html.c:1517 | 199 | #: html.c:1595 |
| 200 | msgid "Header image (banner): " | 200 | msgid "Header image (banner): " |
| 201 | msgstr "Imagem de cabeçalho (capa): " | 201 | msgstr "Imagem de cabeçalho (capa): " |
| 202 | 202 | ||
| 203 | #: html.c:1525 | 203 | #: html.c:1603 |
| 204 | msgid "Delete current header image" | 204 | msgid "Delete current header image" |
| 205 | msgstr "Remover imagem de cabeçalho atual" | 205 | msgstr "Remover imagem de cabeçalho atual" |
| 206 | 206 | ||
| 207 | #: html.c:1527 | 207 | #: html.c:1605 |
| 208 | msgid "Bio:" | 208 | msgid "Bio:" |
| 209 | msgstr "Biografia:" | 209 | msgstr "Biografia:" |
| 210 | 210 | ||
| 211 | #: html.c:1533 | 211 | #: html.c:1611 |
| 212 | msgid "Write about yourself here..." | 212 | msgid "Write about yourself here..." |
| 213 | msgstr "Escreva aqui sobre você..." | 213 | msgstr "Escreva aqui sobre você..." |
| 214 | 214 | ||
| 215 | #: html.c:1542 | 215 | #: html.c:1620 |
| 216 | msgid "Always show sensitive content" | 216 | msgid "Always show sensitive content" |
| 217 | msgstr "Sempre exibir conteúdo sensÃvel" | 217 | msgstr "Sempre exibir conteúdo sensÃvel" |
| 218 | 218 | ||
| 219 | #: html.c:1544 | 219 | #: html.c:1622 |
| 220 | msgid "Email address for notifications:" | 220 | msgid "Email address for notifications:" |
| 221 | msgstr "Endereço de e-mail para notificações:" | 221 | msgstr "Endereço de e-mail para notificações:" |
| 222 | 222 | ||
| 223 | #: html.c:1552 | 223 | #: html.c:1630 |
| 224 | msgid "Telegram notifications (bot key and chat id):" | 224 | msgid "Telegram notifications (bot key and chat id):" |
| 225 | msgstr "Notificações Telegram (chave do robô e ID da conversa):" | 225 | msgstr "Notificações Telegram (chave do robô e ID da conversa):" |
| 226 | 226 | ||
| 227 | #: html.c:1566 | 227 | #: html.c:1644 |
| 228 | msgid "ntfy notifications (ntfy server and token):" | 228 | msgid "ntfy notifications (ntfy server and token):" |
| 229 | msgstr "ntfy - notificações (servidor ntfy e token):" | 229 | msgstr "ntfy - notificações (servidor ntfy e token):" |
| 230 | 230 | ||
| 231 | #: html.c:1588 | 231 | #: html.c:1666 |
| 232 | msgid "Maximum days to keep posts (0: server settings):" | 232 | msgid "Maximum days to keep posts (0: server settings):" |
| 233 | msgstr "Máximo de dias a preservar publicações (0: definições do servidor):" | 233 | msgstr "Máximo de dias a preservar publicações (0: definições do servidor):" |
| 234 | 234 | ||
| 235 | #: html.c:1602 | 235 | #: html.c:1680 |
| 236 | msgid "Drop direct messages from people you don't follow" | 236 | msgid "Drop direct messages from people you don't follow" |
| 237 | msgstr "Descartar mensagens diretas de quem você não segue" | 237 | msgstr "Descartar mensagens diretas de quem você não segue" |
| 238 | 238 | ||
| 239 | #: html.c:1611 | 239 | #: html.c:1689 |
| 240 | msgid "This account is a bot" | 240 | msgid "This account is a bot" |
| 241 | msgstr "Esta conta é robotizada" | 241 | msgstr "Esta conta é robotizada" |
| 242 | 242 | ||
| 243 | #: html.c:1620 | 243 | #: html.c:1698 |
| 244 | msgid "Auto-boost all mentions to this account" | 244 | msgid "Auto-boost all mentions to this account" |
| 245 | msgstr "Impulsionar automaticamente todas as menções a esta conta" | 245 | msgstr "Impulsionar automaticamente todas as menções a esta conta" |
| 246 | 246 | ||
| 247 | #: html.c:1629 | 247 | #: html.c:1707 |
| 248 | msgid "This account is private (posts are not shown through the web)" | 248 | msgid "This account is private (posts are not shown through the web)" |
| 249 | msgstr "Esta conta é privada (as publicações não são exibidas na Web)" | 249 | msgstr "Esta conta é privada (as publicações não são exibidas na Web)" |
| 250 | 250 | ||
| 251 | #: html.c:1639 | 251 | #: html.c:1717 |
| 252 | msgid "Collapse top threads by default" | 252 | msgid "Collapse top threads by default" |
| 253 | msgstr "Recolher por padrão as sequências de publicações" | 253 | msgstr "Recolher por padrão as sequências de publicações" |
| 254 | 254 | ||
| 255 | #: html.c:1648 | 255 | #: html.c:1726 |
| 256 | msgid "Follow requests must be approved" | 256 | msgid "Follow requests must be approved" |
| 257 | msgstr "Solicitações de seguimento precisam ser aprovadas" | 257 | msgstr "Solicitações de seguimento precisam ser aprovadas" |
| 258 | 258 | ||
| 259 | #: html.c:1657 | 259 | #: html.c:1735 |
| 260 | msgid "Publish follower and following metrics" | 260 | msgid "Publish follower and following metrics" |
| 261 | msgstr "Publicar métricas de seguidores e seguidos" | 261 | msgstr "Publicar métricas de seguidores e seguidos" |
| 262 | 262 | ||
| 263 | #: html.c:1659 | 263 | #: html.c:1737 |
| 264 | msgid "Current location:" | 264 | msgid "Current location:" |
| 265 | msgstr "Localização atual:" | 265 | msgstr "Localização atual:" |
| 266 | 266 | ||
| 267 | #: html.c:1673 | 267 | #: html.c:1751 |
| 268 | msgid "Profile metadata (key=value pairs in each line):" | 268 | msgid "Profile metadata (key=value pairs in each line):" |
| 269 | msgstr "Metadados do perfil (par de chave=valor em cada linha):" | 269 | msgstr "Metadados do perfil (par de chave=valor em cada linha):" |
| 270 | 270 | ||
| 271 | #: html.c:1684 | 271 | #: html.c:1762 |
| 272 | msgid "Web interface language:" | 272 | msgid "Web interface language:" |
| 273 | msgstr "Idioma da interface Web:" | 273 | msgstr "Idioma da interface Web:" |
| 274 | 274 | ||
| 275 | #: html.c:1703 | 275 | #: html.c:1781 |
| 276 | msgid "New password:" | 276 | msgid "New password:" |
| 277 | msgstr "Nova senha:" | 277 | msgstr "Nova senha:" |
| 278 | 278 | ||
| 279 | #: html.c:1710 | 279 | #: html.c:1788 |
| 280 | msgid "Repeat new password:" | 280 | msgid "Repeat new password:" |
| 281 | msgstr "Repita a nova senha:" | 281 | msgstr "Repita a nova senha:" |
| 282 | 282 | ||
| 283 | #: html.c:1720 | 283 | #: html.c:1798 |
| 284 | msgid "Update user info" | 284 | msgid "Update user info" |
| 285 | msgstr "Atualizar informações da conta" | 285 | msgstr "Atualizar informações da conta" |
| 286 | 286 | ||
| 287 | #: html.c:1731 | 287 | #: html.c:1809 |
| 288 | msgid "Followed hashtags..." | 288 | msgid "Followed hashtags..." |
| 289 | msgstr "Hashtags seguidas..." | 289 | msgstr "Hashtags seguidas..." |
| 290 | 290 | ||
| 291 | #: html.c:1733 html.c:1766 | 291 | #: html.c:1811 html.c:1844 |
| 292 | msgid "One hashtag per line" | 292 | msgid "One hashtag per line" |
| 293 | msgstr "Uma hashtag por linha" | 293 | msgstr "Uma hashtag por linha" |
| 294 | 294 | ||
| 295 | #: html.c:1755 html.c:1787 | 295 | #: html.c:1833 html.c:1865 |
| 296 | msgid "Update hashtags" | 296 | msgid "Update hashtags" |
| 297 | msgstr "Atualizar hashtags" | 297 | msgstr "Atualizar hashtags" |
| 298 | 298 | ||
| 299 | #: html.c:1904 | 299 | #: html.c:1982 |
| 300 | msgid "Say you like this post" | 300 | msgid "Say you like this post" |
| 301 | msgstr "Declarar que gosta desta publicação" | 301 | msgstr "Declarar que gosta desta publicação" |
| 302 | 302 | ||
| 303 | #: html.c:1909 html.c:4775 | 303 | #: html.c:1987 html.c:5219 |
| 304 | msgid "Unlike" | 304 | msgid "Unlike" |
| 305 | msgstr "Descurtir" | 305 | msgstr "Descurtir" |
| 306 | 306 | ||
| 307 | #: html.c:1909 | 307 | #: html.c:1987 |
| 308 | msgid "Nah don't like it that much" | 308 | msgid "Nah don't like it that much" |
| 309 | msgstr "Não gosto tanto assim disso" | 309 | msgstr "Não gosto tanto assim disso" |
| 310 | 310 | ||
| 311 | #: html.c:1915 html.c:4912 | 311 | #: html.c:1993 html.c:5356 |
| 312 | msgid "Unpin" | 312 | msgid "Unpin" |
| 313 | msgstr "Desafixar" | 313 | msgstr "Desafixar" |
| 314 | 314 | ||
| 315 | #: html.c:1915 | 315 | #: html.c:1993 |
| 316 | msgid "Unpin this post from your timeline" | 316 | msgid "Unpin this post from your timeline" |
| 317 | msgstr "Desafixar esta publicação da sua linha do tempo" | 317 | msgstr "Desafixar esta publicação da sua linha do tempo" |
| 318 | 318 | ||
| 319 | #: html.c:1918 html.c:4907 | 319 | #: html.c:1996 html.c:5351 |
| 320 | msgid "Pin" | 320 | msgid "Pin" |
| 321 | msgstr "Afixar" | 321 | msgstr "Afixar" |
| 322 | 322 | ||
| 323 | #: html.c:1918 | 323 | #: html.c:1996 |
| 324 | msgid "Pin this post to the top of your timeline" | 324 | msgid "Pin this post to the top of your timeline" |
| 325 | msgstr "Afixar esta publicação no topo de sua linha do tempo" | 325 | msgstr "Afixar esta publicação no topo de sua linha do tempo" |
| 326 | 326 | ||
| 327 | #: html.c:1925 | 327 | #: html.c:2003 |
| 328 | msgid "Announce this post to your followers" | 328 | msgid "Announce this post to your followers" |
| 329 | msgstr "Anunciar esta publicação para seus seguidores" | 329 | msgstr "Anunciar esta publicação para seus seguidores" |
| 330 | 330 | ||
| 331 | #: html.c:1930 html.c:4783 | 331 | #: html.c:2008 html.c:5227 |
| 332 | msgid "Unboost" | 332 | msgid "Unboost" |
| 333 | msgstr "Desimpulsionar" | 333 | msgstr "Desimpulsionar" |
| 334 | 334 | ||
| 335 | #: html.c:1930 | 335 | #: html.c:2008 |
| 336 | msgid "I regret I boosted this" | 336 | msgid "I regret I boosted this" |
| 337 | msgstr "Arrependo-me de ter impulsionado isso" | 337 | msgstr "Arrependo-me de ter impulsionado isso" |
| 338 | 338 | ||
| 339 | #: html.c:1936 html.c:4922 | 339 | #: html.c:2014 html.c:5366 |
| 340 | msgid "Unbookmark" | 340 | msgid "Unbookmark" |
| 341 | msgstr "Desmarcar" | 341 | msgstr "Desmarcar" |
| 342 | 342 | ||
| 343 | #: html.c:1936 | 343 | #: html.c:2014 |
| 344 | msgid "Delete this post from your bookmarks" | 344 | msgid "Delete this post from your bookmarks" |
| 345 | msgstr "Remover esta publicação dos seus marcadores" | 345 | msgstr "Remover esta publicação dos seus marcadores" |
| 346 | 346 | ||
| 347 | #: html.c:1939 html.c:4917 | 347 | #: html.c:2017 html.c:5361 |
| 348 | msgid "Bookmark" | 348 | msgid "Bookmark" |
| 349 | msgstr "Marcar" | 349 | msgstr "Marcar" |
| 350 | 350 | ||
| 351 | #: html.c:1939 | 351 | #: html.c:2017 |
| 352 | msgid "Add this post to your bookmarks" | 352 | msgid "Add this post to your bookmarks" |
| 353 | msgstr "Adicionar esta publicação aos seus marcadores" | 353 | msgstr "Adicionar esta publicação aos seus marcadores" |
| 354 | 354 | ||
| 355 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 355 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 356 | msgid "Unfollow" | 356 | msgid "Unfollow" |
| 357 | msgstr "Deixar de seguir" | 357 | msgstr "Deixar de seguir" |
| 358 | 358 | ||
| 359 | #: html.c:1945 html.c:3387 | 359 | #: html.c:2023 html.c:3763 html.c:4042 |
| 360 | msgid "Stop following this user's activity" | 360 | msgid "Stop following this user's activity" |
| 361 | msgstr "Parar de acompanhar a atividade deste perfil" | 361 | msgstr "Parar de acompanhar a atividade deste perfil" |
| 362 | 362 | ||
| 363 | #: html.c:1949 html.c:3401 | 363 | #: html.c:2027 html.c:3777 html.c:4044 |
| 364 | msgid "Start following this user's activity" | 364 | msgid "Start following this user's activity" |
| 365 | msgstr "Começar a acompanhar a atividade deste perfil" | 365 | msgstr "Começar a acompanhar a atividade deste perfil" |
| 366 | 366 | ||
| 367 | #: html.c:1955 html.c:4860 | 367 | #: html.c:2033 html.c:5304 |
| 368 | msgid "Unfollow Group" | 368 | msgid "Unfollow Group" |
| 369 | msgstr "Deixar de seguir grupo" | 369 | msgstr "Deixar de seguir grupo" |
| 370 | 370 | ||
| 371 | #: html.c:1956 | 371 | #: html.c:2034 |
| 372 | msgid "Stop following this group or channel" | 372 | msgid "Stop following this group or channel" |
| 373 | msgstr "Parar de acompanhar este grupo ou canal" | 373 | msgstr "Parar de acompanhar este grupo ou canal" |
| 374 | 374 | ||
| 375 | #: html.c:1960 html.c:4847 | 375 | #: html.c:2038 html.c:5291 |
| 376 | msgid "Follow Group" | 376 | msgid "Follow Group" |
| 377 | msgstr "Seguir grupo" | 377 | msgstr "Seguir grupo" |
| 378 | 378 | ||
| 379 | #: html.c:1961 | 379 | #: html.c:2039 |
| 380 | msgid "Start following this group or channel" | 380 | msgid "Start following this group or channel" |
| 381 | msgstr "Começar a acompanhar este grupo ou canal" | 381 | msgstr "Começar a acompanhar este grupo ou canal" |
| 382 | 382 | ||
| 383 | #: html.c:1966 html.c:3423 html.c:4791 | 383 | #: html.c:2044 html.c:3799 html.c:5235 |
| 384 | msgid "MUTE" | 384 | msgid "MUTE" |
| 385 | msgstr "MUDO" | 385 | msgstr "MUDO" |
| 386 | 386 | ||
| 387 | #: html.c:1967 | 387 | #: html.c:2045 |
| 388 | msgid "Block any activity from this user forever" | 388 | msgid "Block any activity from this user forever" |
| 389 | msgstr "Bloquear toda atividade deste perfil para sempre" | 389 | msgstr "Bloquear toda atividade deste perfil para sempre" |
| 390 | 390 | ||
| 391 | #: html.c:1972 html.c:3405 html.c:4877 | 391 | #: html.c:2050 html.c:3781 html.c:5321 |
| 392 | msgid "Delete" | 392 | msgid "Delete" |
| 393 | msgstr "Eliminar" | 393 | msgstr "Eliminar" |
| 394 | 394 | ||
| 395 | #: html.c:1972 | 395 | #: html.c:2050 |
| 396 | msgid "Delete this post" | 396 | msgid "Delete this post" |
| 397 | msgstr "Apagar esta publicação" | 397 | msgstr "Apagar esta publicação" |
| 398 | 398 | ||
| 399 | #: html.c:1975 html.c:4799 | 399 | #: html.c:2053 html.c:5243 |
| 400 | msgid "Hide" | 400 | msgid "Hide" |
| 401 | msgstr "Ocultar" | 401 | msgstr "Ocultar" |
| 402 | 402 | ||
| 403 | #: html.c:1975 | 403 | #: html.c:2053 |
| 404 | msgid "Hide this post and its children" | 404 | msgid "Hide this post and its children" |
| 405 | msgstr "Ocultar esta publicação e suas respostas" | 405 | msgstr "Ocultar esta publicação e suas respostas" |
| 406 | 406 | ||
| 407 | #: html.c:2017 | 407 | #: html.c:2095 |
| 408 | msgid "Edit..." | 408 | msgid "Edit..." |
| 409 | msgstr "Editar..." | 409 | msgstr "Editar..." |
| 410 | 410 | ||
| 411 | #: html.c:2039 | 411 | #: html.c:2133 |
| 412 | msgid "Reply..." | 412 | msgid "Reply..." |
| 413 | msgstr "Responder..." | 413 | msgstr "Responder..." |
| 414 | 414 | ||
| 415 | #: html.c:2090 | 415 | #: html.c:2184 |
| 416 | msgid "Truncated (too deep)" | 416 | msgid "Truncated (too deep)" |
| 417 | msgstr "Truncada (muito extensa)" | 417 | msgstr "Truncada (muito extensa)" |
| 418 | 418 | ||
| 419 | #: html.c:2108 | 419 | #: html.c:2202 |
| 420 | msgid "follows you" | 420 | msgid "follows you" |
| 421 | msgstr "segue você" | 421 | msgstr "segue você" |
| 422 | 422 | ||
| 423 | #: html.c:2182 | 423 | #: html.c:2276 |
| 424 | msgid "Pinned" | 424 | msgid "Pinned" |
| 425 | msgstr "Afixada" | 425 | msgstr "Afixada" |
| 426 | 426 | ||
| 427 | #: html.c:2190 | 427 | #: html.c:2284 |
| 428 | msgid "Bookmarked" | 428 | msgid "Bookmarked" |
| 429 | msgstr "Marcada" | 429 | msgstr "Marcada" |
| 430 | 430 | ||
| 431 | #: html.c:2198 | 431 | #: html.c:2292 |
| 432 | msgid "Poll" | 432 | msgid "Poll" |
| 433 | msgstr "Enquete" | 433 | msgstr "Enquete" |
| 434 | 434 | ||
| 435 | #: html.c:2205 | 435 | #: html.c:2299 |
| 436 | msgid "Voted" | 436 | msgid "Voted" |
| 437 | msgstr "Votou" | 437 | msgstr "Votou" |
| 438 | 438 | ||
| 439 | #: html.c:2214 | 439 | #: html.c:2308 |
| 440 | msgid "Event" | 440 | msgid "Event" |
| 441 | msgstr "Evento" | 441 | msgstr "Evento" |
| 442 | 442 | ||
| 443 | #: html.c:2246 html.c:2275 | 443 | #: html.c:2340 html.c:2369 |
| 444 | msgid "boosted" | 444 | msgid "boosted" |
| 445 | msgstr "impulsionou" | 445 | msgstr "impulsionou" |
| 446 | 446 | ||
| 447 | #: html.c:2289 | 447 | #: html.c:2383 |
| 448 | msgid "in reply to" | 448 | msgid "in reply to" |
| 449 | msgstr "em resposta a" | 449 | msgstr "em resposta a" |
| 450 | 450 | ||
| 451 | #: html.c:2345 | 451 | #: html.c:2439 |
| 452 | msgid " [SENSITIVE CONTENT]" | 452 | msgid " [SENSITIVE CONTENT]" |
| 453 | msgstr " [CONTEÚDO SENSÃVEL]" | 453 | msgstr " [CONTEÚDO SENSÃVEL]" |
| 454 | 454 | ||
| 455 | #: html.c:2512 | 455 | #: html.c:2796 |
| 456 | msgid "Vote" | 456 | msgid "Vote" |
| 457 | msgstr "Votar" | 457 | msgstr "Votar" |
| 458 | 458 | ||
| 459 | #: html.c:2522 | 459 | #: html.c:2806 |
| 460 | msgid "Closed" | 460 | msgid "Closed" |
| 461 | msgstr "Encerrada" | 461 | msgstr "Encerrada" |
| 462 | 462 | ||
| 463 | #: html.c:2547 | 463 | #: html.c:2831 |
| 464 | msgid "Closes in" | 464 | msgid "Closes in" |
| 465 | msgstr "Encerra em" | 465 | msgstr "Encerra em" |
| 466 | 466 | ||
| 467 | #: html.c:2627 | 467 | #: html.c:2911 |
| 468 | msgid "Video" | 468 | msgid "Video" |
| 469 | msgstr "VÃdeo" | 469 | msgstr "VÃdeo" |
| 470 | 470 | ||
| 471 | #: html.c:2642 | 471 | #: html.c:2926 |
| 472 | msgid "Audio" | 472 | msgid "Audio" |
| 473 | msgstr "Ãudio" | 473 | msgstr "Ãudio" |
| 474 | 474 | ||
| 475 | #: html.c:2670 | 475 | #: html.c:2954 |
| 476 | msgid "Attachment" | 476 | msgid "Attachment" |
| 477 | msgstr "Anexo" | 477 | msgstr "Anexo" |
| 478 | 478 | ||
| 479 | #: html.c:2684 | 479 | #: html.c:2968 |
| 480 | msgid "Alt..." | 480 | msgid "Alt..." |
| 481 | msgstr "Texto alternativo..." | 481 | msgstr "Texto alternativo..." |
| 482 | 482 | ||
| 483 | #: html.c:2697 | 483 | #: html.c:2981 |
| 484 | msgid "Source channel or community" | 484 | msgid "Source channel or community" |
| 485 | msgstr "Canal ou comunidade de origem" | 485 | msgstr "Canal ou comunidade de origem" |
| 486 | 486 | ||
| 487 | #: html.c:2791 | 487 | #: html.c:3075 |
| 488 | msgid "Time: " | 488 | msgid "Time: " |
| 489 | msgstr "Horário: " | 489 | msgstr "Horário: " |
| 490 | 490 | ||
| 491 | #: html.c:2872 | 491 | #: html.c:3156 |
| 492 | msgid "Older..." | 492 | msgid "Older..." |
| 493 | msgstr "Anteriores..." | 493 | msgstr "Anteriores..." |
| 494 | 494 | ||
| 495 | #: html.c:2974 | 495 | #: html.c:3258 |
| 496 | msgid "about this site" | 496 | msgid "about this site" |
| 497 | msgstr "sobre este sÃtio eletrônico" | 497 | msgstr "sobre este sÃtio eletrônico" |
| 498 | 498 | ||
| 499 | #: html.c:2976 | 499 | #: html.c:3260 |
| 500 | msgid "powered by " | 500 | msgid "powered by " |
| 501 | msgstr "movido por " | 501 | msgstr "movido por " |
| 502 | 502 | ||
| 503 | #: html.c:3041 | 503 | #: html.c:3329 |
| 504 | msgid "Dismiss" | 504 | msgid "Dismiss" |
| 505 | msgstr "Dispensar" | 505 | msgstr "Dispensar" |
| 506 | 506 | ||
| 507 | #: html.c:3058 | 507 | #: html.c:3346 |
| 508 | #, c-format | 508 | #, c-format |
| 509 | msgid "Timeline for list '%s'" | 509 | msgid "Timeline for list '%s'" |
| 510 | msgstr "Linha do tempo da lista '%s'" | 510 | msgstr "Linha do tempo da lista '%s'" |
| 511 | 511 | ||
| 512 | #: html.c:3077 html.c:4169 | 512 | #: html.c:3365 html.c:4589 |
| 513 | msgid "Pinned posts" | 513 | msgid "Pinned posts" |
| 514 | msgstr "Publicações afixadas" | 514 | msgstr "Publicações afixadas" |
| 515 | 515 | ||
| 516 | #: html.c:3089 html.c:4184 | 516 | #: html.c:3377 html.c:4604 |
| 517 | msgid "Bookmarked posts" | 517 | msgid "Bookmarked posts" |
| 518 | msgstr "Publicações marcadas" | 518 | msgstr "Publicações marcadas" |
| 519 | 519 | ||
| 520 | #: html.c:3101 html.c:4199 | 520 | #: html.c:3389 html.c:4619 |
| 521 | msgid "Post drafts" | 521 | msgid "Post drafts" |
| 522 | msgstr "Publicações em rascunho" | 522 | msgstr "Publicações em rascunho" |
| 523 | 523 | ||
| 524 | #: html.c:3177 | 524 | #: html.c:3465 |
| 525 | msgid "No more unseen posts" | 525 | msgid "No more unseen posts" |
| 526 | msgstr "Sem mais publicações não vistas" | 526 | msgstr "Sem mais publicações não vistas" |
| 527 | 527 | ||
| 528 | #: html.c:3181 html.c:3290 | 528 | #: html.c:3469 html.c:3578 |
| 529 | msgid "Back to top" | 529 | msgid "Back to top" |
| 530 | msgstr "Voltar ao topo" | 530 | msgstr "Voltar ao topo" |
| 531 | 531 | ||
| 532 | #: html.c:3243 | 532 | #: html.c:3531 |
| 533 | msgid "History" | 533 | msgid "History" |
| 534 | msgstr "Histórico" | 534 | msgstr "Histórico" |
| 535 | 535 | ||
| 536 | #: html.c:3295 html.c:3734 | 536 | #: html.c:3583 html.c:4149 |
| 537 | msgid "More..." | 537 | msgid "More..." |
| 538 | msgstr "Mais..." | 538 | msgstr "Mais..." |
| 539 | 539 | ||
| 540 | #: html.c:3391 html.c:4813 | 540 | #: html.c:3767 html.c:5257 |
| 541 | msgid "Unlimit" | 541 | msgid "Unlimit" |
| 542 | msgstr "Retirar restrição" | 542 | msgstr "Retirar restrição" |
| 543 | 543 | ||
| 544 | #: html.c:3392 | 544 | #: html.c:3768 |
| 545 | msgid "Allow announces (boosts) from this user" | 545 | msgid "Allow announces (boosts) from this user" |
| 546 | msgstr "Permitir anúncios (impulsionamentos) deste perfil" | 546 | msgstr "Permitir anúncios (impulsionamentos) deste perfil" |
| 547 | 547 | ||
| 548 | #: html.c:3395 html.c:4809 | 548 | #: html.c:3771 html.c:5253 |
| 549 | msgid "Limit" | 549 | msgid "Limit" |
| 550 | msgstr "Restringir" | 550 | msgstr "Restringir" |
| 551 | 551 | ||
| 552 | #: html.c:3396 | 552 | #: html.c:3772 |
| 553 | msgid "Block announces (boosts) from this user" | 553 | msgid "Block announces (boosts) from this user" |
| 554 | msgstr "Bloquear anúncios (impulsionamentos) deste perfil" | 554 | msgstr "Bloquear anúncios (impulsionamentos) deste perfil" |
| 555 | 555 | ||
| 556 | #: html.c:3405 | 556 | #: html.c:3781 |
| 557 | msgid "Delete this user" | 557 | msgid "Delete this user" |
| 558 | msgstr "Apagar este perfil" | 558 | msgstr "Apagar este perfil" |
| 559 | 559 | ||
| 560 | #: html.c:3410 html.c:4927 | 560 | #: html.c:3786 html.c:5371 |
| 561 | msgid "Approve" | 561 | msgid "Approve" |
| 562 | msgstr "Aprovar" | 562 | msgstr "Aprovar" |
| 563 | 563 | ||
| 564 | #: html.c:3411 | 564 | #: html.c:3787 |
| 565 | msgid "Approve this follow request" | 565 | msgid "Approve this follow request" |
| 566 | msgstr "Aprovar esta solicitação de seguimento" | 566 | msgstr "Aprovar esta solicitação de seguimento" |
| 567 | 567 | ||
| 568 | #: html.c:3414 html.c:4951 | 568 | #: html.c:3790 html.c:5395 |
| 569 | msgid "Discard" | 569 | msgid "Discard" |
| 570 | msgstr "Descartar" | 570 | msgstr "Descartar" |
| 571 | 571 | ||
| 572 | #: html.c:3414 | 572 | #: html.c:3790 |
| 573 | msgid "Discard this follow request" | 573 | msgid "Discard this follow request" |
| 574 | msgstr "Descartar esta solicitação de seguimento" | 574 | msgstr "Descartar esta solicitação de seguimento" |
| 575 | 575 | ||
| 576 | #: html.c:3419 html.c:4795 | 576 | #: html.c:3795 html.c:5239 |
| 577 | msgid "Unmute" | 577 | msgid "Unmute" |
| 578 | msgstr "Desbloquear" | 578 | msgstr "Desbloquear" |
| 579 | 579 | ||
| 580 | #: html.c:3420 | 580 | #: html.c:3796 |
| 581 | msgid "Stop blocking activities from this user" | 581 | msgid "Stop blocking activities from this user" |
| 582 | msgstr "Parar de bloquear as atividades deste perfil" | 582 | msgstr "Parar de bloquear as atividades deste perfil" |
| 583 | 583 | ||
| 584 | #: html.c:3424 | 584 | #: html.c:3800 |
| 585 | msgid "Block any activity from this user" | 585 | msgid "Block any activity from this user" |
| 586 | msgstr "Bloquear toda atividade deste perfil" | 586 | msgstr "Bloquear toda atividade deste perfil" |
| 587 | 587 | ||
| 588 | #: html.c:3432 | 588 | #: html.c:3808 |
| 589 | msgid "Direct Message..." | 589 | msgid "Direct Message..." |
| 590 | msgstr "Mensagem direta..." | 590 | msgstr "Mensagem direta..." |
| 591 | 591 | ||
| 592 | #: html.c:3467 | 592 | #: html.c:3843 |
| 593 | msgid "Pending follow confirmations" | 593 | msgid "Pending follow confirmations" |
| 594 | msgstr "Confirmações de seguimento pendentes" | 594 | msgstr "Confirmações de seguimento pendentes" |
| 595 | 595 | ||
| 596 | #: html.c:3471 | 596 | #: html.c:3847 |
| 597 | msgid "People you follow" | 597 | msgid "People you follow" |
| 598 | msgstr "Pessoas que você segue" | 598 | msgstr "Pessoas que você segue" |
| 599 | 599 | ||
| 600 | #: html.c:3472 | 600 | #: html.c:3848 |
| 601 | msgid "People that follow you" | 601 | msgid "People that follow you" |
| 602 | msgstr "Pessoas que seguem você" | 602 | msgstr "Pessoas que seguem você" |
| 603 | 603 | ||
| 604 | #: html.c:3511 | 604 | #: html.c:3887 |
| 605 | msgid "Clear all" | 605 | msgid "Clear all" |
| 606 | msgstr "Limpar tudo" | 606 | msgstr "Limpar tudo" |
| 607 | 607 | ||
| 608 | #: html.c:3571 | 608 | #: html.c:3951 |
| 609 | msgid "Mention" | 609 | msgid "Mention" |
| 610 | msgstr "Menção" | 610 | msgstr "Menção" |
| 611 | 611 | ||
| 612 | #: html.c:3574 | 612 | #: html.c:3954 |
| 613 | msgid "Finished poll" | 613 | msgid "Finished poll" |
| 614 | msgstr "Enquete encerrada" | 614 | msgstr "Enquete encerrada" |
| 615 | 615 | ||
| 616 | #: html.c:3590 | 616 | #: html.c:3979 |
| 617 | msgid "Follow Request" | 617 | msgid "Follow Request" |
| 618 | msgstr "Solicitação de seguimento" | 618 | msgstr "Solicitação de seguimento" |
| 619 | 619 | ||
| 620 | #: html.c:3674 | 620 | #: html.c:4089 |
| 621 | msgid "Context" | 621 | msgid "Context" |
| 622 | msgstr "Contexto" | 622 | msgstr "Contexto" |
| 623 | 623 | ||
| 624 | #: html.c:3692 | 624 | #: html.c:4107 |
| 625 | msgid "New" | 625 | msgid "New" |
| 626 | msgstr "Novas" | 626 | msgstr "Novas" |
| 627 | 627 | ||
| 628 | #: html.c:3707 | 628 | #: html.c:4122 |
| 629 | msgid "Already seen" | 629 | msgid "Already seen" |
| 630 | msgstr "Já vistas" | 630 | msgstr "Já vistas" |
| 631 | 631 | ||
| 632 | #: html.c:3722 | 632 | #: html.c:4137 |
| 633 | msgid "None" | 633 | msgid "None" |
| 634 | msgstr "Nenhuma" | 634 | msgstr "Nenhuma" |
| 635 | 635 | ||
| 636 | #: html.c:3994 | 636 | #: html.c:4414 |
| 637 | #, c-format | 637 | #, c-format |
| 638 | msgid "Search results for account %s" | 638 | msgid "Search results for account %s" |
| 639 | msgstr "Resultados da busca pela conta %s" | 639 | msgstr "Resultados da busca pela conta %s" |
| 640 | 640 | ||
| 641 | #: html.c:4001 | 641 | #: html.c:4421 |
| 642 | #, c-format | 642 | #, c-format |
| 643 | msgid "Account %s not found" | 643 | msgid "Account %s not found" |
| 644 | msgstr "Conta %s não encontrada" | 644 | msgstr "Conta %s não encontrada" |
| 645 | 645 | ||
| 646 | #: html.c:4032 | 646 | #: html.c:4452 |
| 647 | #, c-format | 647 | #, c-format |
| 648 | msgid "Search results for tag %s" | 648 | msgid "Search results for tag %s" |
| 649 | msgstr "Resultados da busca pela hashtag %s" | 649 | msgstr "Resultados da busca pela hashtag %s" |
| 650 | 650 | ||
| 651 | #: html.c:4032 | 651 | #: html.c:4452 |
| 652 | #, c-format | 652 | #, c-format |
| 653 | msgid "Nothing found for tag %s" | 653 | msgid "Nothing found for tag %s" |
| 654 | msgstr "Nada consta com hashtag %s" | 654 | msgstr "Nada consta com hashtag %s" |
| 655 | 655 | ||
| 656 | #: html.c:4048 | 656 | #: html.c:4468 |
| 657 | #, c-format | 657 | #, c-format |
| 658 | msgid "Search results for '%s' (may be more)" | 658 | msgid "Search results for '%s' (may be more)" |
| 659 | msgstr "Resultados da busca por '%s' (pode haver mais)" | 659 | msgstr "Resultados da busca por '%s' (pode haver mais)" |
| 660 | 660 | ||
| 661 | #: html.c:4051 | 661 | #: html.c:4471 |
| 662 | #, c-format | 662 | #, c-format |
| 663 | msgid "Search results for '%s'" | 663 | msgid "Search results for '%s'" |
| 664 | msgstr "Resultados da busca por '%s'" | 664 | msgstr "Resultados da busca por '%s'" |
| 665 | 665 | ||
| 666 | #: html.c:4054 | 666 | #: html.c:4474 |
| 667 | #, c-format | 667 | #, c-format |
| 668 | msgid "No more matches for '%s'" | 668 | msgid "No more matches for '%s'" |
| 669 | msgstr "Sem mais combinações para '%s'" | 669 | msgstr "Sem mais combinações para '%s'" |
| 670 | 670 | ||
| 671 | #: html.c:4056 | 671 | #: html.c:4476 |
| 672 | #, c-format | 672 | #, c-format |
| 673 | msgid "Nothing found for '%s'" | 673 | msgid "Nothing found for '%s'" |
| 674 | msgstr "Nada consta com '%s'" | 674 | msgstr "Nada consta com '%s'" |
| 675 | 675 | ||
| 676 | #: html.c:4154 | 676 | #: html.c:4574 |
| 677 | msgid "Showing instance timeline" | 677 | msgid "Showing instance timeline" |
| 678 | msgstr "Exibindo linha do tempo da instância" | 678 | msgstr "Exibindo linha do tempo da instância" |
| 679 | 679 | ||
| 680 | #: html.c:4237 | 680 | #: html.c:4657 |
| 681 | #, c-format | 681 | #, c-format |
| 682 | msgid "Showing timeline for list '%s'" | 682 | msgid "Showing timeline for list '%s'" |
| 683 | msgstr "Exibindo linha do tempo da lista '%s'" | 683 | msgstr "Exibindo linha do tempo da lista '%s'" |
| 684 | 684 | ||
| 685 | #: httpd.c:258 | 685 | #: httpd.c:259 |
| 686 | #, c-format | 686 | #, c-format |
| 687 | msgid "Search results for tag #%s" | 687 | msgid "Search results for tag #%s" |
| 688 | msgstr "Resultados da busca pela hashtag #%s" | 688 | msgstr "Resultados da busca pela hashtag #%s" |
| 689 | 689 | ||
| 690 | #: httpd.c:267 | 690 | #: httpd.c:268 |
| 691 | msgid "Recent posts by users in this instance" | 691 | msgid "Recent posts by users in this instance" |
| 692 | msgstr "Publicações recentes de perfis desta instância" | 692 | msgstr "Publicações recentes de perfis desta instância" |
| 693 | 693 | ||
| 694 | #: html.c:1764 | 694 | #: html.c:1842 |
| 695 | msgid "Blocked hashtags..." | 695 | msgid "Blocked hashtags..." |
| 696 | msgstr "Hashtags bloqueadas..." | 696 | msgstr "Hashtags bloqueadas..." |
| 697 | 697 | ||
| 698 | #: html.c:518 | 698 | #: html.c:574 |
| 699 | msgid "Optional URL to reply to" | 699 | msgid "Optional URL to reply to" |
| 700 | msgstr "URL opcional para a qual responder" | 700 | msgstr "URL opcional para a qual responder" |
| 701 | 701 | ||
| 702 | #: html.c:695 | 702 | #: html.c:751 |
| 703 | msgid "" | 703 | msgid "" |
| 704 | "Option 1...\n" | 704 | "Option 1...\n" |
| 705 | "Option 2...\n" | 705 | "Option 2...\n" |
| @@ -711,94 +711,106 @@ msgstr "" | |||
| 711 | "Opção 3...\n" | 711 | "Opção 3...\n" |
| 712 | "..." | 712 | "..." |
| 713 | 713 | ||
| 714 | #: html.c:1558 | 714 | #: html.c:1636 |
| 715 | msgid "Bot API key" | 715 | msgid "Bot API key" |
| 716 | msgstr "Chave de API do robô" | 716 | msgstr "Chave de API do robô" |
| 717 | 717 | ||
| 718 | #: html.c:1564 | 718 | #: html.c:1642 |
| 719 | msgid "Chat id" | 719 | msgid "Chat id" |
| 720 | msgstr "ID da conversa" | 720 | msgstr "ID da conversa" |
| 721 | 721 | ||
| 722 | #: html.c:1572 | 722 | #: html.c:1650 |
| 723 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 723 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 724 | msgstr "ntfy - servidor - URL completa (exemplo: https://ntfy.sh/SeuTópico)" | 724 | msgstr "ntfy - servidor - URL completa (exemplo: https://ntfy.sh/SeuTópico)" |
| 725 | 725 | ||
| 726 | #: html.c:1578 | 726 | #: html.c:1656 |
| 727 | msgid "ntfy token - if needed" | 727 | msgid "ntfy token - if needed" |
| 728 | msgstr "ntfy - token (se necessário)" | 728 | msgstr "ntfy - token (se necessário)" |
| 729 | 729 | ||
| 730 | #: html.c:3078 | 730 | #: html.c:3366 |
| 731 | msgid "pinned" | 731 | msgid "pinned" |
| 732 | msgstr "afixadas" | 732 | msgstr "afixadas" |
| 733 | 733 | ||
| 734 | #: html.c:3090 | 734 | #: html.c:3378 |
| 735 | msgid "bookmarks" | 735 | msgid "bookmarks" |
| 736 | msgstr "marcadores" | 736 | msgstr "marcadores" |
| 737 | 737 | ||
| 738 | #: html.c:3102 | 738 | #: html.c:3390 |
| 739 | msgid "drafts" | 739 | msgid "drafts" |
| 740 | msgstr "rascunhos" | 740 | msgstr "rascunhos" |
| 741 | 741 | ||
| 742 | #: html.c:584 | 742 | #: html.c:640 |
| 743 | msgid "Scheduled post..." | 743 | msgid "Scheduled post..." |
| 744 | msgstr "Publicação agendada..." | 744 | msgstr "Publicação agendada..." |
| 745 | 745 | ||
| 746 | msgid "Post date and time:" | 746 | msgid "Post date and time:" |
| 747 | msgstr "Data e horário da publicação:" | 747 | msgstr "Data e horário da publicação:" |
| 748 | 748 | ||
| 749 | #: html.c:3113 html.c:4214 | 749 | #: html.c:3401 html.c:4634 |
| 750 | msgid "Scheduled posts" | 750 | msgid "Scheduled posts" |
| 751 | msgstr "Publicações agendadas" | 751 | msgstr "Publicações agendadas" |
| 752 | 752 | ||
| 753 | #: html.c:3114 | 753 | #: html.c:3402 |
| 754 | msgid "scheduled posts" | 754 | msgid "scheduled posts" |
| 755 | msgstr "publicações agendadas" | 755 | msgstr "publicações agendadas" |
| 756 | 756 | ||
| 757 | #: html.c:578 | 757 | #: html.c:634 |
| 758 | #, c-format | 758 | #, c-format |
| 759 | msgid "Post date and time (timezone: %s):" | 759 | msgid "Post date and time (timezone: %s):" |
| 760 | msgstr "Data e hora da publicação (fuso horário: %s):" | 760 | msgstr "Data e hora da publicação (fuso horário: %s):" |
| 761 | 761 | ||
| 762 | #: html.c:1689 | 762 | #: html.c:1767 |
| 763 | msgid "Time zone:" | 763 | msgid "Time zone:" |
| 764 | msgstr "Fuso horário:" | 764 | msgstr "Fuso horário:" |
| 765 | 765 | ||
| 766 | #: html.c:559 | 766 | #: html.c:615 |
| 767 | msgid "Language:" | 767 | msgid "Language:" |
| 768 | msgstr "Idioma:" | 768 | msgstr "Idioma:" |
| 769 | 769 | ||
| 770 | #: html.c:1580 | 770 | #: html.c:1658 |
| 771 | msgid "Notify webhook:" | 771 | msgid "Notify webhook:" |
| 772 | msgstr "Webhook para notificar:" | 772 | msgstr "Webhook para notificar:" |
| 773 | 773 | ||
| 774 | #: html.c:1586 | 774 | #: html.c:1664 |
| 775 | msgid "http://example.com/webhook" | 775 | msgid "http://example.com/webhook" |
| 776 | msgstr "http://exemplo.com.br/webhook" | 776 | msgstr "http://exemplo.com.br/webhook" |
| 777 | 777 | ||
| 778 | #: html.c:1694 | 778 | #: html.c:1772 |
| 779 | msgid "Languages you usually post in:" | 779 | msgid "Languages you usually post in:" |
| 780 | msgstr "Idiomas em que costuma postar:" | 780 | msgstr "Idiomas em que costuma postar:" |
| 781 | 781 | ||
| 782 | #: html.c:1700 | 782 | #: html.c:1778 |
| 783 | msgid "en fr es de_AT" | 783 | msgid "en fr es de_AT" |
| 784 | msgstr "pt en fr es de_AT" | 784 | msgstr "pt en fr es de_AT" |
| 785 | 785 | ||
| 786 | #: html.c:460 | 786 | #: html.c:428 |
| 787 | msgid "Visibility: " | 787 | msgid "Visibility: " |
| 788 | msgstr "Visibilidade: " | 788 | msgstr "Visibilidade: " |
| 789 | 789 | ||
| 790 | #: html.c:468 | ||
| 791 | msgid "Public" | 790 | msgid "Public" |
| 792 | msgstr "Pública" | 791 | msgstr "Pública" |
| 793 | 792 | ||
| 794 | #: html.c:477 | ||
| 795 | msgid "Unlisted" | 793 | msgid "Unlisted" |
| 796 | msgstr "Não listada" | 794 | msgstr "Não listada" |
| 797 | 795 | ||
| 798 | #: html.c:486 | ||
| 799 | msgid "Followers-only" | 796 | msgid "Followers-only" |
| 800 | msgstr "Seguidores apenas" | 797 | msgstr "Seguidores apenas" |
| 801 | 798 | ||
| 802 | #: html.c:495 | ||
| 803 | msgid "Direct Message" | 799 | msgid "Direct Message" |
| 804 | msgstr "Mensagem direta" | 800 | msgstr "Mensagem direta" |
| 801 | |||
| 802 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 803 | msgid "Desfazer EmojiReação" | ||
| 804 | msgstr "" | ||
| 805 | |||
| 806 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 807 | msgid "EmojiReact" | ||
| 808 | msgstr "EmojiReação" | ||
| 809 | |||
| 810 | #: html.c:2115 | ||
| 811 | msgid "Emoji react..." | ||
| 812 | msgstr "EmojiReagir..." | ||
| 813 | |||
| 814 | #: html.c:2609 | ||
| 815 | msgid "Emoji reactions: " | ||
| 816 | msgstr "EmojiReações: " | ||
| @@ -15,119 +15,119 @@ msgstr "" | |||
| 15 | "Content-Transfer-Encoding: 8bit\n" | 15 | "Content-Transfer-Encoding: 8bit\n" |
| 16 | "X-Generator: Poedit 3.0\n" | 16 | "X-Generator: Poedit 3.0\n" |
| 17 | 17 | ||
| 18 | #: html.c:440 | 18 | #: html.c:534 |
| 19 | msgid "Sensitive content: " | 19 | msgid "Sensitive content: " |
| 20 | msgstr "ЧувÑтвительное Ñодержимое: " | 20 | msgstr "ЧувÑтвительное Ñодержимое: " |
| 21 | 21 | ||
| 22 | #: html.c:448 | 22 | #: html.c:542 |
| 23 | msgid "Sensitive content description" | 23 | msgid "Sensitive content description" |
| 24 | msgstr "ОпиÑание чувÑтвительного Ñодержимого" | 24 | msgstr "ОпиÑание чувÑтвительного Ñодержимого" |
| 25 | 25 | ||
| 26 | msgid "Only for mentioned people: " | 26 | msgid "Only for mentioned people: " |
| 27 | msgstr "Только Ð´Ð»Ñ ÑƒÐ¿Ð¾Ð¼Ñнутых людей: " | 27 | msgstr "Только Ð´Ð»Ñ ÑƒÐ¿Ð¾Ð¼Ñнутых людей: " |
| 28 | 28 | ||
| 29 | #: html.c:514 | 29 | #: html.c:570 |
| 30 | msgid "Reply to (URL): " | 30 | msgid "Reply to (URL): " |
| 31 | msgstr "Ответ на (URL): " | 31 | msgstr "Ответ на (URL): " |
| 32 | 32 | ||
| 33 | #: html.c:523 | 33 | #: html.c:579 |
| 34 | msgid "Don't send, but store as a draft" | 34 | msgid "Don't send, but store as a draft" |
| 35 | msgstr "Ðе отправлÑть, Ñохранить черновик" | 35 | msgstr "Ðе отправлÑть, Ñохранить черновик" |
| 36 | 36 | ||
| 37 | #: html.c:524 | 37 | #: html.c:580 |
| 38 | msgid "Draft:" | 38 | msgid "Draft:" |
| 39 | msgstr "Черновик:" | 39 | msgstr "Черновик:" |
| 40 | 40 | ||
| 41 | #: html.c:614 | 41 | #: html.c:670 |
| 42 | msgid "Attachments..." | 42 | msgid "Attachments..." |
| 43 | msgstr "ВложениÑ..." | 43 | msgstr "ВложениÑ..." |
| 44 | 44 | ||
| 45 | #: html.c:637 | 45 | #: html.c:693 |
| 46 | msgid "File:" | 46 | msgid "File:" |
| 47 | msgstr "Файл:" | 47 | msgstr "Файл:" |
| 48 | 48 | ||
| 49 | #: html.c:641 | 49 | #: html.c:697 |
| 50 | msgid "Clear this field to delete the attachment" | 50 | msgid "Clear this field to delete the attachment" |
| 51 | msgstr "ОчиÑтите Ñто поле, чтоб удалить вложение" | 51 | msgstr "ОчиÑтите Ñто поле, чтоб удалить вложение" |
| 52 | 52 | ||
| 53 | #: html.c:650 html.c:675 | 53 | #: html.c:706 html.c:731 |
| 54 | msgid "Attachment description" | 54 | msgid "Attachment description" |
| 55 | msgstr "ОпиÑание вложениÑ" | 55 | msgstr "ОпиÑание вложениÑ" |
| 56 | 56 | ||
| 57 | #: html.c:686 | 57 | #: html.c:742 |
| 58 | msgid "Poll..." | 58 | msgid "Poll..." |
| 59 | msgstr "ОпроÑ..." | 59 | msgstr "ОпроÑ..." |
| 60 | 60 | ||
| 61 | #: html.c:688 | 61 | #: html.c:744 |
| 62 | msgid "Poll options (one per line, up to 8):" | 62 | msgid "Poll options (one per line, up to 8):" |
| 63 | msgstr "Варианты ответа (один на Ñтроку, до 8 шт):" | 63 | msgstr "Варианты ответа (один на Ñтроку, до 8 шт):" |
| 64 | 64 | ||
| 65 | #: html.c:700 | 65 | #: html.c:756 |
| 66 | msgid "One choice" | 66 | msgid "One choice" |
| 67 | msgstr "Один выбор" | 67 | msgstr "Один выбор" |
| 68 | 68 | ||
| 69 | #: html.c:703 | 69 | #: html.c:759 |
| 70 | msgid "Multiple choices" | 70 | msgid "Multiple choices" |
| 71 | msgstr "МножеÑтвенный выбор" | 71 | msgstr "МножеÑтвенный выбор" |
| 72 | 72 | ||
| 73 | #: html.c:709 | 73 | #: html.c:765 |
| 74 | msgid "End in 5 minutes" | 74 | msgid "End in 5 minutes" |
| 75 | msgstr "ЗаканчиваетÑÑ Ñ‡ÐµÑ€ÐµÐ· 5 минут" | 75 | msgstr "ЗаканчиваетÑÑ Ñ‡ÐµÑ€ÐµÐ· 5 минут" |
| 76 | 76 | ||
| 77 | #: html.c:713 | 77 | #: html.c:769 |
| 78 | msgid "End in 1 hour" | 78 | msgid "End in 1 hour" |
| 79 | msgstr "ЗаканчиваетÑÑ Ñ‡ÐµÑ€ÐµÐ· 1 чаÑ" | 79 | msgstr "ЗаканчиваетÑÑ Ñ‡ÐµÑ€ÐµÐ· 1 чаÑ" |
| 80 | 80 | ||
| 81 | #: html.c:716 | 81 | #: html.c:772 |
| 82 | msgid "End in 1 day" | 82 | msgid "End in 1 day" |
| 83 | msgstr "ЗаканчиваетÑÑ Ñ‡ÐµÑ€ÐµÐ· 1 день" | 83 | msgstr "ЗаканчиваетÑÑ Ñ‡ÐµÑ€ÐµÐ· 1 день" |
| 84 | 84 | ||
| 85 | #: html.c:724 | 85 | #: html.c:780 |
| 86 | msgid "Post" | 86 | msgid "Post" |
| 87 | msgstr "Отправить" | 87 | msgstr "Отправить" |
| 88 | 88 | ||
| 89 | #: html.c:826 html.c:833 | 89 | #: html.c:882 html.c:889 |
| 90 | msgid "Site description" | 90 | msgid "Site description" |
| 91 | msgstr "ОпиÑание Ñайта" | 91 | msgstr "ОпиÑание Ñайта" |
| 92 | 92 | ||
| 93 | #: html.c:844 | 93 | #: html.c:900 |
| 94 | msgid "Admin email" | 94 | msgid "Admin email" |
| 95 | msgstr "Почта админа" | 95 | msgstr "Почта админа" |
| 96 | 96 | ||
| 97 | #: html.c:857 | 97 | #: html.c:913 |
| 98 | msgid "Admin account" | 98 | msgid "Admin account" |
| 99 | msgstr "Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ админа" | 99 | msgstr "Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ админа" |
| 100 | 100 | ||
| 101 | #: html.c:922 html.c:1278 | 101 | #: html.c:978 html.c:1334 |
| 102 | #, c-format | 102 | #, c-format |
| 103 | msgid "%d following, %d followers" | 103 | msgid "%d following, %d followers" |
| 104 | msgstr "%d подпиÑан, %d подпиÑчиков" | 104 | msgstr "%d подпиÑан, %d подпиÑчиков" |
| 105 | 105 | ||
| 106 | #: html.c:1019 | 106 | #: html.c:1075 |
| 107 | msgid "RSS" | 107 | msgid "RSS" |
| 108 | msgstr "RSS" | 108 | msgstr "RSS" |
| 109 | 109 | ||
| 110 | #: html.c:1024 html.c:1063 | 110 | #: html.c:1080 html.c:1119 |
| 111 | msgid "private" | 111 | msgid "private" |
| 112 | msgstr "личное" | 112 | msgstr "личное" |
| 113 | 113 | ||
| 114 | #: html.c:1059 | 114 | #: html.c:1115 |
| 115 | msgid "public" | 115 | msgid "public" |
| 116 | msgstr "публичное" | 116 | msgstr "публичное" |
| 117 | 117 | ||
| 118 | #: html.c:1067 | 118 | #: html.c:1123 |
| 119 | msgid "notifications" | 119 | msgid "notifications" |
| 120 | msgstr "уведомлениÑ" | 120 | msgstr "уведомлениÑ" |
| 121 | 121 | ||
| 122 | #: html.c:1072 | 122 | #: html.c:1128 |
| 123 | msgid "people" | 123 | msgid "people" |
| 124 | msgstr "люди" | 124 | msgstr "люди" |
| 125 | 125 | ||
| 126 | #: html.c:1077 | 126 | #: html.c:1133 |
| 127 | msgid "instance" | 127 | msgid "instance" |
| 128 | msgstr "Ñервер" | 128 | msgstr "Ñервер" |
| 129 | 129 | ||
| 130 | #: html.c:1086 | 130 | #: html.c:1142 |
| 131 | msgid "" | 131 | msgid "" |
| 132 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 132 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 133 | "#tag" | 133 | "#tag" |
| @@ -135,574 +135,574 @@ msgstr "" | |||
| 135 | "ПоиÑк Ñообщений по URL или Ñодержимому (регулÑрное выражение), учетной " | 135 | "ПоиÑк Ñообщений по URL или Ñодержимому (регулÑрное выражение), учетной " |
| 136 | "запиÑи вида @user@host, или #тегу" | 136 | "запиÑи вида @user@host, или #тегу" |
| 137 | 137 | ||
| 138 | #: html.c:1087 | 138 | #: html.c:1143 |
| 139 | msgid "Content search" | 139 | msgid "Content search" |
| 140 | msgstr "ПоиÑк Ñодержимого" | 140 | msgstr "ПоиÑк Ñодержимого" |
| 141 | 141 | ||
| 142 | #: html.c:1213 | 142 | #: html.c:1269 |
| 143 | msgid "verified link" | 143 | msgid "verified link" |
| 144 | msgstr "Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÐ½Ð½Ð°Ñ ÑÑылка" | 144 | msgstr "Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÐ½Ð½Ð°Ñ ÑÑылка" |
| 145 | 145 | ||
| 146 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 146 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 147 | msgid "Location: " | 147 | msgid "Location: " |
| 148 | msgstr "МеÑтоположение: " | 148 | msgstr "МеÑтоположение: " |
| 149 | 149 | ||
| 150 | #: html.c:1302 | 150 | #: html.c:1358 |
| 151 | msgid "New Post..." | 151 | msgid "New Post..." |
| 152 | msgstr "Ðовое Ñообщение..." | 152 | msgstr "Ðовое Ñообщение..." |
| 153 | 153 | ||
| 154 | #: html.c:1304 | 154 | #: html.c:1360 |
| 155 | msgid "What's on your mind?" | 155 | msgid "What's on your mind?" |
| 156 | msgstr "Что у Ð²Ð°Ñ Ð½Ð° уме?" | 156 | msgstr "Что у Ð²Ð°Ñ Ð½Ð° уме?" |
| 157 | 157 | ||
| 158 | #: html.c:1313 | 158 | #: html.c:1369 |
| 159 | msgid "Operations..." | 159 | msgid "Operations..." |
| 160 | msgstr "ДейÑтвиÑ..." | 160 | msgstr "ДейÑтвиÑ..." |
| 161 | 161 | ||
| 162 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 162 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 163 | msgid "Follow" | 163 | msgid "Follow" |
| 164 | msgstr "ПодпиÑатьÑÑ" | 164 | msgstr "ПодпиÑатьÑÑ" |
| 165 | 165 | ||
| 166 | #: html.c:1330 | 166 | #: html.c:1386 |
| 167 | msgid "(by URL or user@host)" | 167 | msgid "(by URL or user@host)" |
| 168 | msgstr "(по URL или user@host)" | 168 | msgstr "(по URL или user@host)" |
| 169 | 169 | ||
| 170 | #: html.c:1345 html.c:1925 html.c:4766 | 170 | #: html.c:1401 html.c:2003 html.c:5210 |
| 171 | msgid "Boost" | 171 | msgid "Boost" |
| 172 | msgstr "Продвинуть" | 172 | msgstr "Продвинуть" |
| 173 | 173 | ||
| 174 | #: html.c:1347 html.c:1364 | 174 | #: html.c:1403 html.c:1420 html.c:1442 |
| 175 | msgid "(by URL)" | 175 | msgid "(by URL)" |
| 176 | msgstr "(по URL)" | 176 | msgstr "(по URL)" |
| 177 | 177 | ||
| 178 | #: html.c:1362 html.c:1904 html.c:4757 | 178 | #: html.c:1418 html.c:1982 html.c:5201 |
| 179 | msgid "Like" | 179 | msgid "Like" |
| 180 | msgstr "Лайкнуть" | 180 | msgstr "Лайкнуть" |
| 181 | 181 | ||
| 182 | #: html.c:1490 | 182 | #: html.c:1568 |
| 183 | msgid "User Settings..." | 183 | msgid "User Settings..." |
| 184 | msgstr "ПользовательÑкие наÑтройки..." | 184 | msgstr "ПользовательÑкие наÑтройки..." |
| 185 | 185 | ||
| 186 | #: html.c:1499 | 186 | #: html.c:1577 |
| 187 | msgid "Display name:" | 187 | msgid "Display name:" |
| 188 | msgstr "Отображаемое имÑ:" | 188 | msgstr "Отображаемое имÑ:" |
| 189 | 189 | ||
| 190 | #: html.c:1505 | 190 | #: html.c:1583 |
| 191 | msgid "Your name" | 191 | msgid "Your name" |
| 192 | msgstr "Ваше имÑ" | 192 | msgstr "Ваше имÑ" |
| 193 | 193 | ||
| 194 | #: html.c:1507 | 194 | #: html.c:1585 |
| 195 | msgid "Avatar: " | 195 | msgid "Avatar: " |
| 196 | msgstr "Ðватар: " | 196 | msgstr "Ðватар: " |
| 197 | 197 | ||
| 198 | #: html.c:1515 | 198 | #: html.c:1593 |
| 199 | msgid "Delete current avatar" | 199 | msgid "Delete current avatar" |
| 200 | msgstr "Удалить текущий аватар" | 200 | msgstr "Удалить текущий аватар" |
| 201 | 201 | ||
| 202 | #: html.c:1517 | 202 | #: html.c:1595 |
| 203 | msgid "Header image (banner): " | 203 | msgid "Header image (banner): " |
| 204 | msgstr "Заглавное изображение (баннер): " | 204 | msgstr "Заглавное изображение (баннер): " |
| 205 | 205 | ||
| 206 | #: html.c:1525 | 206 | #: html.c:1603 |
| 207 | msgid "Delete current header image" | 207 | msgid "Delete current header image" |
| 208 | msgstr "Удалить текущее заглавное изображение" | 208 | msgstr "Удалить текущее заглавное изображение" |
| 209 | 209 | ||
| 210 | #: html.c:1527 | 210 | #: html.c:1605 |
| 211 | msgid "Bio:" | 211 | msgid "Bio:" |
| 212 | msgstr "О Ñебе:" | 212 | msgstr "О Ñебе:" |
| 213 | 213 | ||
| 214 | #: html.c:1533 | 214 | #: html.c:1611 |
| 215 | msgid "Write about yourself here..." | 215 | msgid "Write about yourself here..." |
| 216 | msgstr "Ðапишите что-нибудь про ÑебÑ..." | 216 | msgstr "Ðапишите что-нибудь про ÑебÑ..." |
| 217 | 217 | ||
| 218 | #: html.c:1542 | 218 | #: html.c:1620 |
| 219 | msgid "Always show sensitive content" | 219 | msgid "Always show sensitive content" |
| 220 | msgstr "Ð’Ñегда показывать чувÑтвительное Ñодержимое" | 220 | msgstr "Ð’Ñегда показывать чувÑтвительное Ñодержимое" |
| 221 | 221 | ||
| 222 | #: html.c:1544 | 222 | #: html.c:1622 |
| 223 | msgid "Email address for notifications:" | 223 | msgid "Email address for notifications:" |
| 224 | msgstr "Почтовый Ð°Ð´Ñ€ÐµÑ Ð´Ð»Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ð¹:" | 224 | msgstr "Почтовый Ð°Ð´Ñ€ÐµÑ Ð´Ð»Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ð¹:" |
| 225 | 225 | ||
| 226 | #: html.c:1552 | 226 | #: html.c:1630 |
| 227 | msgid "Telegram notifications (bot key and chat id):" | 227 | msgid "Telegram notifications (bot key and chat id):" |
| 228 | msgstr "Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð² Telegram (ключ бота и id чата):" | 228 | msgstr "Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð² Telegram (ключ бота и id чата):" |
| 229 | 229 | ||
| 230 | #: html.c:1566 | 230 | #: html.c:1644 |
| 231 | msgid "ntfy notifications (ntfy server and token):" | 231 | msgid "ntfy notifications (ntfy server and token):" |
| 232 | msgstr "ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð² ntfy (Ñервер и токен ntfy):" | 232 | msgstr "ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð² ntfy (Ñервер и токен ntfy):" |
| 233 | 233 | ||
| 234 | #: html.c:1588 | 234 | #: html.c:1666 |
| 235 | msgid "Maximum days to keep posts (0: server settings):" | 235 | msgid "Maximum days to keep posts (0: server settings):" |
| 236 | msgstr "МакÑимальное Ð²Ñ€ÐµÐ¼Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñообщений (0: наÑтройки Ñервера):" | 236 | msgstr "МакÑимальное Ð²Ñ€ÐµÐ¼Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñообщений (0: наÑтройки Ñервера):" |
| 237 | 237 | ||
| 238 | #: html.c:1602 | 238 | #: html.c:1680 |
| 239 | msgid "Drop direct messages from people you don't follow" | 239 | msgid "Drop direct messages from people you don't follow" |
| 240 | msgstr "ОтклонÑть личные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ незнакомцев" | 240 | msgstr "ОтклонÑть личные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ незнакомцев" |
| 241 | 241 | ||
| 242 | #: html.c:1611 | 242 | #: html.c:1689 |
| 243 | msgid "This account is a bot" | 243 | msgid "This account is a bot" |
| 244 | msgstr "Ðто аккаунт бота" | 244 | msgstr "Ðто аккаунт бота" |
| 245 | 245 | ||
| 246 | #: html.c:1620 | 246 | #: html.c:1698 |
| 247 | msgid "Auto-boost all mentions to this account" | 247 | msgid "Auto-boost all mentions to this account" |
| 248 | msgstr "ÐвтоматичеÑки продвигать вÑе ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ñтого аккаунта" | 248 | msgstr "ÐвтоматичеÑки продвигать вÑе ÑƒÐ¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ñтого аккаунта" |
| 249 | 249 | ||
| 250 | #: html.c:1629 | 250 | #: html.c:1707 |
| 251 | msgid "This account is private (posts are not shown through the web)" | 251 | msgid "This account is private (posts are not shown through the web)" |
| 252 | msgstr "Ðто закрытый аккаунт (ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ðµ показываютÑÑ Ð² Ñети)" | 252 | msgstr "Ðто закрытый аккаунт (ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ðµ показываютÑÑ Ð² Ñети)" |
| 253 | 253 | ||
| 254 | #: html.c:1639 | 254 | #: html.c:1717 |
| 255 | msgid "Collapse top threads by default" | 255 | msgid "Collapse top threads by default" |
| 256 | msgstr "Сворачивать обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию" | 256 | msgstr "Сворачивать обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию" |
| 257 | 257 | ||
| 258 | #: html.c:1648 | 258 | #: html.c:1726 |
| 259 | msgid "Follow requests must be approved" | 259 | msgid "Follow requests must be approved" |
| 260 | msgstr "ЗапроÑÑ‹ подпиÑки требуют подтверждениÑ" | 260 | msgstr "ЗапроÑÑ‹ подпиÑки требуют подтверждениÑ" |
| 261 | 261 | ||
| 262 | #: html.c:1657 | 262 | #: html.c:1735 |
| 263 | msgid "Publish follower and following metrics" | 263 | msgid "Publish follower and following metrics" |
| 264 | msgstr "Публиковать ÑтатиÑтику подпиÑок и подпиÑчиков" | 264 | msgstr "Публиковать ÑтатиÑтику подпиÑок и подпиÑчиков" |
| 265 | 265 | ||
| 266 | #: html.c:1659 | 266 | #: html.c:1737 |
| 267 | msgid "Current location:" | 267 | msgid "Current location:" |
| 268 | msgstr "Текущее метоположение:" | 268 | msgstr "Текущее метоположение:" |
| 269 | 269 | ||
| 270 | #: html.c:1673 | 270 | #: html.c:1751 |
| 271 | msgid "Profile metadata (key=value pairs in each line):" | 271 | msgid "Profile metadata (key=value pairs in each line):" |
| 272 | msgstr "Метаданные Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ (пары ключ=значение, по одной на Ñтроку)" | 272 | msgstr "Метаданные Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ (пары ключ=значение, по одной на Ñтроку)" |
| 273 | 273 | ||
| 274 | #: html.c:1684 | 274 | #: html.c:1762 |
| 275 | msgid "Web interface language:" | 275 | msgid "Web interface language:" |
| 276 | msgstr "Язык интерфейÑа:" | 276 | msgstr "Язык интерфейÑа:" |
| 277 | 277 | ||
| 278 | #: html.c:1703 | 278 | #: html.c:1781 |
| 279 | msgid "New password:" | 279 | msgid "New password:" |
| 280 | msgstr "Ðовый пароль:" | 280 | msgstr "Ðовый пароль:" |
| 281 | 281 | ||
| 282 | #: html.c:1710 | 282 | #: html.c:1788 |
| 283 | msgid "Repeat new password:" | 283 | msgid "Repeat new password:" |
| 284 | msgstr "Повторите новый пароль:" | 284 | msgstr "Повторите новый пароль:" |
| 285 | 285 | ||
| 286 | #: html.c:1720 | 286 | #: html.c:1798 |
| 287 | msgid "Update user info" | 287 | msgid "Update user info" |
| 288 | msgstr "Обновить данные пользователÑ" | 288 | msgstr "Обновить данные пользователÑ" |
| 289 | 289 | ||
| 290 | #: html.c:1731 | 290 | #: html.c:1809 |
| 291 | msgid "Followed hashtags..." | 291 | msgid "Followed hashtags..." |
| 292 | msgstr "ОтÑлеживаемые хештеги..." | 292 | msgstr "ОтÑлеживаемые хештеги..." |
| 293 | 293 | ||
| 294 | #: html.c:1733 html.c:1766 | 294 | #: html.c:1811 html.c:1844 |
| 295 | msgid "One hashtag per line" | 295 | msgid "One hashtag per line" |
| 296 | msgstr "По одному на Ñтроку" | 296 | msgstr "По одному на Ñтроку" |
| 297 | 297 | ||
| 298 | #: html.c:1755 html.c:1787 | 298 | #: html.c:1833 html.c:1865 |
| 299 | msgid "Update hashtags" | 299 | msgid "Update hashtags" |
| 300 | msgstr "Обновить хештеги" | 300 | msgstr "Обновить хештеги" |
| 301 | 301 | ||
| 302 | #: html.c:1904 | 302 | #: html.c:1982 |
| 303 | msgid "Say you like this post" | 303 | msgid "Say you like this post" |
| 304 | msgstr "Отметить Ñообщение понравившимÑÑ" | 304 | msgstr "Отметить Ñообщение понравившимÑÑ" |
| 305 | 305 | ||
| 306 | #: html.c:1909 html.c:4775 | 306 | #: html.c:1987 html.c:5219 |
| 307 | msgid "Unlike" | 307 | msgid "Unlike" |
| 308 | msgstr "Больше не нравитÑÑ" | 308 | msgstr "Больше не нравитÑÑ" |
| 309 | 309 | ||
| 310 | #: html.c:1909 | 310 | #: html.c:1987 |
| 311 | msgid "Nah don't like it that much" | 311 | msgid "Nah don't like it that much" |
| 312 | msgstr "Ðе так уж и понравилоÑÑŒ" | 312 | msgstr "Ðе так уж и понравилоÑÑŒ" |
| 313 | 313 | ||
| 314 | #: html.c:1915 html.c:4912 | 314 | #: html.c:1993 html.c:5356 |
| 315 | msgid "Unpin" | 315 | msgid "Unpin" |
| 316 | msgstr "Открепить" | 316 | msgstr "Открепить" |
| 317 | 317 | ||
| 318 | #: html.c:1915 | 318 | #: html.c:1993 |
| 319 | msgid "Unpin this post from your timeline" | 319 | msgid "Unpin this post from your timeline" |
| 320 | msgstr "Открепить Ñто Ñообщение из Ñвоей ленты" | 320 | msgstr "Открепить Ñто Ñообщение из Ñвоей ленты" |
| 321 | 321 | ||
| 322 | #: html.c:1918 html.c:4907 | 322 | #: html.c:1996 html.c:5351 |
| 323 | msgid "Pin" | 323 | msgid "Pin" |
| 324 | msgstr "Закрепить" | 324 | msgstr "Закрепить" |
| 325 | 325 | ||
| 326 | #: html.c:1918 | 326 | #: html.c:1996 |
| 327 | msgid "Pin this post to the top of your timeline" | 327 | msgid "Pin this post to the top of your timeline" |
| 328 | msgstr "Закрепить Ñто Ñообщение в Ñвоей ленте" | 328 | msgstr "Закрепить Ñто Ñообщение в Ñвоей ленте" |
| 329 | 329 | ||
| 330 | #: html.c:1925 | 330 | #: html.c:2003 |
| 331 | msgid "Announce this post to your followers" | 331 | msgid "Announce this post to your followers" |
| 332 | msgstr "ПоделитьÑÑ Ñтим Ñообщением Ñо Ñвоими подпиÑчиками" | 332 | msgstr "ПоделитьÑÑ Ñтим Ñообщением Ñо Ñвоими подпиÑчиками" |
| 333 | 333 | ||
| 334 | #: html.c:1930 html.c:4783 | 334 | #: html.c:2008 html.c:5227 |
| 335 | msgid "Unboost" | 335 | msgid "Unboost" |
| 336 | msgstr "Отменить продвижение" | 336 | msgstr "Отменить продвижение" |
| 337 | 337 | ||
| 338 | #: html.c:1930 | 338 | #: html.c:2008 |
| 339 | msgid "I regret I boosted this" | 339 | msgid "I regret I boosted this" |
| 340 | msgstr "Ðе буду продвигать, пожалуй" | 340 | msgstr "Ðе буду продвигать, пожалуй" |
| 341 | 341 | ||
| 342 | #: html.c:1936 html.c:4922 | 342 | #: html.c:2014 html.c:5366 |
| 343 | msgid "Unbookmark" | 343 | msgid "Unbookmark" |
| 344 | msgstr "Удалить из закладок" | 344 | msgstr "Удалить из закладок" |
| 345 | 345 | ||
| 346 | #: html.c:1936 | 346 | #: html.c:2014 |
| 347 | msgid "Delete this post from your bookmarks" | 347 | msgid "Delete this post from your bookmarks" |
| 348 | msgstr "Удалить Ñто Ñообщение из закладок" | 348 | msgstr "Удалить Ñто Ñообщение из закладок" |
| 349 | 349 | ||
| 350 | #: html.c:1939 html.c:4917 | 350 | #: html.c:2017 html.c:5361 |
| 351 | msgid "Bookmark" | 351 | msgid "Bookmark" |
| 352 | msgstr "Добавить в закладки" | 352 | msgstr "Добавить в закладки" |
| 353 | 353 | ||
| 354 | #: html.c:1939 | 354 | #: html.c:2017 |
| 355 | msgid "Add this post to your bookmarks" | 355 | msgid "Add this post to your bookmarks" |
| 356 | msgstr "Добавить Ñообщение в закладки" | 356 | msgstr "Добавить Ñообщение в закладки" |
| 357 | 357 | ||
| 358 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 358 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 359 | msgid "Unfollow" | 359 | msgid "Unfollow" |
| 360 | msgstr "ОтпиÑатьÑÑ" | 360 | msgstr "ОтпиÑатьÑÑ" |
| 361 | 361 | ||
| 362 | #: html.c:1945 html.c:3387 | 362 | #: html.c:2023 html.c:3763 html.c:4042 |
| 363 | msgid "Stop following this user's activity" | 363 | msgid "Stop following this user's activity" |
| 364 | msgstr "Отменить подпиÑку на Ñтого пользователÑ" | 364 | msgstr "Отменить подпиÑку на Ñтого пользователÑ" |
| 365 | 365 | ||
| 366 | #: html.c:1949 html.c:3401 | 366 | #: html.c:2027 html.c:3777 html.c:4044 |
| 367 | msgid "Start following this user's activity" | 367 | msgid "Start following this user's activity" |
| 368 | msgstr "Ðачать Ñледовать за Ñтим пользователем" | 368 | msgstr "Ðачать Ñледовать за Ñтим пользователем" |
| 369 | 369 | ||
| 370 | #: html.c:1955 html.c:4860 | 370 | #: html.c:2033 html.c:5304 |
| 371 | msgid "Unfollow Group" | 371 | msgid "Unfollow Group" |
| 372 | msgstr "ОтпиÑатьÑÑ Ð¾Ñ‚ группы" | 372 | msgstr "ОтпиÑатьÑÑ Ð¾Ñ‚ группы" |
| 373 | 373 | ||
| 374 | #: html.c:1956 | 374 | #: html.c:2034 |
| 375 | msgid "Stop following this group or channel" | 375 | msgid "Stop following this group or channel" |
| 376 | msgstr "ОтпиÑатьÑÑ Ð¾Ñ‚ группы или канала" | 376 | msgstr "ОтпиÑатьÑÑ Ð¾Ñ‚ группы или канала" |
| 377 | 377 | ||
| 378 | #: html.c:1960 html.c:4847 | 378 | #: html.c:2038 html.c:5291 |
| 379 | msgid "Follow Group" | 379 | msgid "Follow Group" |
| 380 | msgstr "ПодпиÑатьÑÑ Ð½Ð° группу" | 380 | msgstr "ПодпиÑатьÑÑ Ð½Ð° группу" |
| 381 | 381 | ||
| 382 | #: html.c:1961 | 382 | #: html.c:2039 |
| 383 | msgid "Start following this group or channel" | 383 | msgid "Start following this group or channel" |
| 384 | msgstr "ПодпиÑатьÑÑ Ð½Ð° группу или канал" | 384 | msgstr "ПодпиÑатьÑÑ Ð½Ð° группу или канал" |
| 385 | 385 | ||
| 386 | #: html.c:1966 html.c:3423 html.c:4791 | 386 | #: html.c:2044 html.c:3799 html.c:5235 |
| 387 | msgid "MUTE" | 387 | msgid "MUTE" |
| 388 | msgstr "Заглушить" | 388 | msgstr "Заглушить" |
| 389 | 389 | ||
| 390 | #: html.c:1967 | 390 | #: html.c:2045 |
| 391 | msgid "Block any activity from this user forever" | 391 | msgid "Block any activity from this user forever" |
| 392 | msgstr "Заглушить вÑÑŽ активноÑть от Ñтого пользователÑ, навÑегда" | 392 | msgstr "Заглушить вÑÑŽ активноÑть от Ñтого пользователÑ, навÑегда" |
| 393 | 393 | ||
| 394 | #: html.c:1972 html.c:3405 html.c:4877 | 394 | #: html.c:2050 html.c:3781 html.c:5321 |
| 395 | msgid "Delete" | 395 | msgid "Delete" |
| 396 | msgstr "Удалить" | 396 | msgstr "Удалить" |
| 397 | 397 | ||
| 398 | #: html.c:1972 | 398 | #: html.c:2050 |
| 399 | msgid "Delete this post" | 399 | msgid "Delete this post" |
| 400 | msgstr "Удалить Ñто Ñообщение" | 400 | msgstr "Удалить Ñто Ñообщение" |
| 401 | 401 | ||
| 402 | #: html.c:1975 html.c:4799 | 402 | #: html.c:2053 html.c:5243 |
| 403 | msgid "Hide" | 403 | msgid "Hide" |
| 404 | msgstr "Скрыть" | 404 | msgstr "Скрыть" |
| 405 | 405 | ||
| 406 | #: html.c:1975 | 406 | #: html.c:2053 |
| 407 | msgid "Hide this post and its children" | 407 | msgid "Hide this post and its children" |
| 408 | msgstr "Скрыть Ñто Ñообщение вмеÑте Ñ Ð¾Ð±Ñуждением" | 408 | msgstr "Скрыть Ñто Ñообщение вмеÑте Ñ Ð¾Ð±Ñуждением" |
| 409 | 409 | ||
| 410 | #: html.c:2017 | 410 | #: html.c:2095 |
| 411 | msgid "Edit..." | 411 | msgid "Edit..." |
| 412 | msgstr "Редактировать..." | 412 | msgstr "Редактировать..." |
| 413 | 413 | ||
| 414 | #: html.c:2039 | 414 | #: html.c:2133 |
| 415 | msgid "Reply..." | 415 | msgid "Reply..." |
| 416 | msgstr "Ответить..." | 416 | msgstr "Ответить..." |
| 417 | 417 | ||
| 418 | #: html.c:2090 | 418 | #: html.c:2184 |
| 419 | msgid "Truncated (too deep)" | 419 | msgid "Truncated (too deep)" |
| 420 | msgstr "Обрезано (Ñлишком много)" | 420 | msgstr "Обрезано (Ñлишком много)" |
| 421 | 421 | ||
| 422 | #: html.c:2108 | 422 | #: html.c:2202 |
| 423 | msgid "follows you" | 423 | msgid "follows you" |
| 424 | msgstr "подпиÑан на ваÑ" | 424 | msgstr "подпиÑан на ваÑ" |
| 425 | 425 | ||
| 426 | #: html.c:2182 | 426 | #: html.c:2276 |
| 427 | msgid "Pinned" | 427 | msgid "Pinned" |
| 428 | msgstr "Закреплено" | 428 | msgstr "Закреплено" |
| 429 | 429 | ||
| 430 | #: html.c:2190 | 430 | #: html.c:2284 |
| 431 | msgid "Bookmarked" | 431 | msgid "Bookmarked" |
| 432 | msgstr "Добавлено в закладки" | 432 | msgstr "Добавлено в закладки" |
| 433 | 433 | ||
| 434 | #: html.c:2198 | 434 | #: html.c:2292 |
| 435 | msgid "Poll" | 435 | msgid "Poll" |
| 436 | msgstr "ОпроÑ" | 436 | msgstr "ОпроÑ" |
| 437 | 437 | ||
| 438 | #: html.c:2205 | 438 | #: html.c:2299 |
| 439 | msgid "Voted" | 439 | msgid "Voted" |
| 440 | msgstr "ПроголоÑовано" | 440 | msgstr "ПроголоÑовано" |
| 441 | 441 | ||
| 442 | #: html.c:2214 | 442 | #: html.c:2308 |
| 443 | msgid "Event" | 443 | msgid "Event" |
| 444 | msgstr "Событие" | 444 | msgstr "Событие" |
| 445 | 445 | ||
| 446 | #: html.c:2246 html.c:2275 | 446 | #: html.c:2340 html.c:2369 |
| 447 | msgid "boosted" | 447 | msgid "boosted" |
| 448 | msgstr "поделилÑÑ" | 448 | msgstr "поделилÑÑ" |
| 449 | 449 | ||
| 450 | #: html.c:2289 | 450 | #: html.c:2383 |
| 451 | msgid "in reply to" | 451 | msgid "in reply to" |
| 452 | msgstr "в ответ на" | 452 | msgstr "в ответ на" |
| 453 | 453 | ||
| 454 | #: html.c:2345 | 454 | #: html.c:2439 |
| 455 | msgid " [SENSITIVE CONTENT]" | 455 | msgid " [SENSITIVE CONTENT]" |
| 456 | msgstr " [ЧУВСТВИТЕЛЬÐО СОДЕРЖИМОЕ]" | 456 | msgstr " [ЧУВСТВИТЕЛЬÐО СОДЕРЖИМОЕ]" |
| 457 | 457 | ||
| 458 | #: html.c:2512 | 458 | #: html.c:2796 |
| 459 | msgid "Vote" | 459 | msgid "Vote" |
| 460 | msgstr "ГолоÑ" | 460 | msgstr "ГолоÑ" |
| 461 | 461 | ||
| 462 | #: html.c:2522 | 462 | #: html.c:2806 |
| 463 | msgid "Closed" | 463 | msgid "Closed" |
| 464 | msgstr "Закрыт" | 464 | msgstr "Закрыт" |
| 465 | 465 | ||
| 466 | #: html.c:2547 | 466 | #: html.c:2831 |
| 467 | msgid "Closes in" | 467 | msgid "Closes in" |
| 468 | msgstr "ЗакрываетÑÑ Ñ‡ÐµÑ€ÐµÐ·" | 468 | msgstr "ЗакрываетÑÑ Ñ‡ÐµÑ€ÐµÐ·" |
| 469 | 469 | ||
| 470 | #: html.c:2627 | 470 | #: html.c:2911 |
| 471 | msgid "Video" | 471 | msgid "Video" |
| 472 | msgstr "Видео" | 472 | msgstr "Видео" |
| 473 | 473 | ||
| 474 | #: html.c:2642 | 474 | #: html.c:2926 |
| 475 | msgid "Audio" | 475 | msgid "Audio" |
| 476 | msgstr "Ðудио" | 476 | msgstr "Ðудио" |
| 477 | 477 | ||
| 478 | #: html.c:2670 | 478 | #: html.c:2954 |
| 479 | msgid "Attachment" | 479 | msgid "Attachment" |
| 480 | msgstr "Вложение" | 480 | msgstr "Вложение" |
| 481 | 481 | ||
| 482 | #: html.c:2684 | 482 | #: html.c:2968 |
| 483 | msgid "Alt..." | 483 | msgid "Alt..." |
| 484 | msgstr "ОпиÑание..." | 484 | msgstr "ОпиÑание..." |
| 485 | 485 | ||
| 486 | #: html.c:2697 | 486 | #: html.c:2981 |
| 487 | msgid "Source channel or community" | 487 | msgid "Source channel or community" |
| 488 | msgstr "ИÑходный канал или ÑообщеÑтво" | 488 | msgstr "ИÑходный канал или ÑообщеÑтво" |
| 489 | 489 | ||
| 490 | #: html.c:2791 | 490 | #: html.c:3075 |
| 491 | msgid "Time: " | 491 | msgid "Time: " |
| 492 | msgstr "ВремÑ: " | 492 | msgstr "ВремÑ: " |
| 493 | 493 | ||
| 494 | #: html.c:2872 | 494 | #: html.c:3156 |
| 495 | msgid "Older..." | 495 | msgid "Older..." |
| 496 | msgstr "Ранее..." | 496 | msgstr "Ранее..." |
| 497 | 497 | ||
| 498 | #: html.c:2974 | 498 | #: html.c:3258 |
| 499 | msgid "about this site" | 499 | msgid "about this site" |
| 500 | msgstr "про Ñтот Ñайт" | 500 | msgstr "про Ñтот Ñайт" |
| 501 | 501 | ||
| 502 | #: html.c:2976 | 502 | #: html.c:3260 |
| 503 | msgid "powered by " | 503 | msgid "powered by " |
| 504 | msgstr "на оÑнове " | 504 | msgstr "на оÑнове " |
| 505 | 505 | ||
| 506 | #: html.c:3041 | 506 | #: html.c:3329 |
| 507 | msgid "Dismiss" | 507 | msgid "Dismiss" |
| 508 | msgstr "Скрыть" | 508 | msgstr "Скрыть" |
| 509 | 509 | ||
| 510 | #: html.c:3058 | 510 | #: html.c:3346 |
| 511 | #, c-format | 511 | #, c-format |
| 512 | msgid "Timeline for list '%s'" | 512 | msgid "Timeline for list '%s'" |
| 513 | msgstr "Ленты Ð´Ð»Ñ ÑпиÑка '%s'" | 513 | msgstr "Ленты Ð´Ð»Ñ ÑпиÑка '%s'" |
| 514 | 514 | ||
| 515 | #: html.c:3077 html.c:4169 | 515 | #: html.c:3365 html.c:4589 |
| 516 | msgid "Pinned posts" | 516 | msgid "Pinned posts" |
| 517 | msgstr "Закреплённые ÑообщениÑ" | 517 | msgstr "Закреплённые ÑообщениÑ" |
| 518 | 518 | ||
| 519 | #: html.c:3089 html.c:4184 | 519 | #: html.c:3377 html.c:4604 |
| 520 | msgid "Bookmarked posts" | 520 | msgid "Bookmarked posts" |
| 521 | msgstr "Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² закладках" | 521 | msgstr "Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² закладках" |
| 522 | 522 | ||
| 523 | #: html.c:3101 html.c:4199 | 523 | #: html.c:3389 html.c:4619 |
| 524 | msgid "Post drafts" | 524 | msgid "Post drafts" |
| 525 | msgstr "Черновики Ñообщений" | 525 | msgstr "Черновики Ñообщений" |
| 526 | 526 | ||
| 527 | #: html.c:3177 | 527 | #: html.c:3465 |
| 528 | msgid "No more unseen posts" | 528 | msgid "No more unseen posts" |
| 529 | msgstr "Ð’ÑÑ‘ проÑмотрено" | 529 | msgstr "Ð’ÑÑ‘ проÑмотрено" |
| 530 | 530 | ||
| 531 | #: html.c:3181 html.c:3290 | 531 | #: html.c:3469 html.c:3578 |
| 532 | msgid "Back to top" | 532 | msgid "Back to top" |
| 533 | msgstr "ВернутьÑÑ Ð½Ð°Ð²ÐµÑ€Ñ…" | 533 | msgstr "ВернутьÑÑ Ð½Ð°Ð²ÐµÑ€Ñ…" |
| 534 | 534 | ||
| 535 | #: html.c:3243 | 535 | #: html.c:3531 |
| 536 | msgid "History" | 536 | msgid "History" |
| 537 | msgstr "ИÑториÑ" | 537 | msgstr "ИÑториÑ" |
| 538 | 538 | ||
| 539 | #: html.c:3295 html.c:3734 | 539 | #: html.c:3583 html.c:4149 |
| 540 | msgid "More..." | 540 | msgid "More..." |
| 541 | msgstr "Ещё..." | 541 | msgstr "Ещё..." |
| 542 | 542 | ||
| 543 | #: html.c:3391 html.c:4813 | 543 | #: html.c:3767 html.c:5257 |
| 544 | msgid "Unlimit" | 544 | msgid "Unlimit" |
| 545 | msgstr "Без ограничениÑ" | 545 | msgstr "Без ограничениÑ" |
| 546 | 546 | ||
| 547 | #: html.c:3392 | 547 | #: html.c:3768 |
| 548 | msgid "Allow announces (boosts) from this user" | 548 | msgid "Allow announces (boosts) from this user" |
| 549 | msgstr "Разрешить Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого пользователÑ" | 549 | msgstr "Разрешить Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого пользователÑ" |
| 550 | 550 | ||
| 551 | #: html.c:3395 html.c:4809 | 551 | #: html.c:3771 html.c:5253 |
| 552 | msgid "Limit" | 552 | msgid "Limit" |
| 553 | msgstr "Лимит" | 553 | msgstr "Лимит" |
| 554 | 554 | ||
| 555 | #: html.c:3396 | 555 | #: html.c:3772 |
| 556 | msgid "Block announces (boosts) from this user" | 556 | msgid "Block announces (boosts) from this user" |
| 557 | msgstr "Запретить Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого пользователÑ" | 557 | msgstr "Запретить Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого пользователÑ" |
| 558 | 558 | ||
| 559 | #: html.c:3405 | 559 | #: html.c:3781 |
| 560 | msgid "Delete this user" | 560 | msgid "Delete this user" |
| 561 | msgstr "Удалить пользователÑ" | 561 | msgstr "Удалить пользователÑ" |
| 562 | 562 | ||
| 563 | #: html.c:3410 html.c:4927 | 563 | #: html.c:3786 html.c:5371 |
| 564 | msgid "Approve" | 564 | msgid "Approve" |
| 565 | msgstr "Подтвердить" | 565 | msgstr "Подтвердить" |
| 566 | 566 | ||
| 567 | #: html.c:3411 | 567 | #: html.c:3787 |
| 568 | msgid "Approve this follow request" | 568 | msgid "Approve this follow request" |
| 569 | msgstr "Подтвердить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подпиÑку" | 569 | msgstr "Подтвердить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подпиÑку" |
| 570 | 570 | ||
| 571 | #: html.c:3414 html.c:4951 | 571 | #: html.c:3790 html.c:5395 |
| 572 | msgid "Discard" | 572 | msgid "Discard" |
| 573 | msgstr "Отклонить" | 573 | msgstr "Отклонить" |
| 574 | 574 | ||
| 575 | #: html.c:3414 | 575 | #: html.c:3790 |
| 576 | msgid "Discard this follow request" | 576 | msgid "Discard this follow request" |
| 577 | msgstr "Отклонить Ñтот Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подпиÑку" | 577 | msgstr "Отклонить Ñтот Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подпиÑку" |
| 578 | 578 | ||
| 579 | #: html.c:3419 html.c:4795 | 579 | #: html.c:3795 html.c:5239 |
| 580 | msgid "Unmute" | 580 | msgid "Unmute" |
| 581 | msgstr "Отменить глушение" | 581 | msgstr "Отменить глушение" |
| 582 | 582 | ||
| 583 | #: html.c:3420 | 583 | #: html.c:3796 |
| 584 | msgid "Stop blocking activities from this user" | 584 | msgid "Stop blocking activities from this user" |
| 585 | msgstr "Прекратить глушение дейÑтвий Ñтого пользователÑ" | 585 | msgstr "Прекратить глушение дейÑтвий Ñтого пользователÑ" |
| 586 | 586 | ||
| 587 | #: html.c:3424 | 587 | #: html.c:3800 |
| 588 | msgid "Block any activity from this user" | 588 | msgid "Block any activity from this user" |
| 589 | msgstr "Заглушить вÑе дейÑÑ‚Ð²Ð¸Ñ Ñтого пользователÑ" | 589 | msgstr "Заглушить вÑе дейÑÑ‚Ð²Ð¸Ñ Ñтого пользователÑ" |
| 590 | 590 | ||
| 591 | #: html.c:3432 | 591 | #: html.c:3808 |
| 592 | msgid "Direct Message..." | 592 | msgid "Direct Message..." |
| 593 | msgstr "Личное Ñообщение..." | 593 | msgstr "Личное Ñообщение..." |
| 594 | 594 | ||
| 595 | #: html.c:3467 | 595 | #: html.c:3843 |
| 596 | msgid "Pending follow confirmations" | 596 | msgid "Pending follow confirmations" |
| 597 | msgstr "Ожидающие запроÑÑ‹ на подпиÑку" | 597 | msgstr "Ожидающие запроÑÑ‹ на подпиÑку" |
| 598 | 598 | ||
| 599 | #: html.c:3471 | 599 | #: html.c:3847 |
| 600 | msgid "People you follow" | 600 | msgid "People you follow" |
| 601 | msgstr "Ваши подпиÑки" | 601 | msgstr "Ваши подпиÑки" |
| 602 | 602 | ||
| 603 | #: html.c:3472 | 603 | #: html.c:3848 |
| 604 | msgid "People that follow you" | 604 | msgid "People that follow you" |
| 605 | msgstr "Ваши подпиÑчики" | 605 | msgstr "Ваши подпиÑчики" |
| 606 | 606 | ||
| 607 | #: html.c:3511 | 607 | #: html.c:3887 |
| 608 | msgid "Clear all" | 608 | msgid "Clear all" |
| 609 | msgstr "ОчиÑтить вÑÑ‘" | 609 | msgstr "ОчиÑтить вÑÑ‘" |
| 610 | 610 | ||
| 611 | #: html.c:3571 | 611 | #: html.c:3951 |
| 612 | msgid "Mention" | 612 | msgid "Mention" |
| 613 | msgstr "Упоминание" | 613 | msgstr "Упоминание" |
| 614 | 614 | ||
| 615 | #: html.c:3574 | 615 | #: html.c:3954 |
| 616 | msgid "Finished poll" | 616 | msgid "Finished poll" |
| 617 | msgstr "Завершённый опроÑ" | 617 | msgstr "Завершённый опроÑ" |
| 618 | 618 | ||
| 619 | #: html.c:3590 | 619 | #: html.c:3979 |
| 620 | msgid "Follow Request" | 620 | msgid "Follow Request" |
| 621 | msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подпиÑку" | 621 | msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подпиÑку" |
| 622 | 622 | ||
| 623 | #: html.c:3674 | 623 | #: html.c:4089 |
| 624 | msgid "Context" | 624 | msgid "Context" |
| 625 | msgstr "КонтекÑÑ‚" | 625 | msgstr "КонтекÑÑ‚" |
| 626 | 626 | ||
| 627 | #: html.c:3692 | 627 | #: html.c:4107 |
| 628 | msgid "New" | 628 | msgid "New" |
| 629 | msgstr "Ðовое" | 629 | msgstr "Ðовое" |
| 630 | 630 | ||
| 631 | #: html.c:3707 | 631 | #: html.c:4122 |
| 632 | msgid "Already seen" | 632 | msgid "Already seen" |
| 633 | msgstr "Уже проÑмотрено" | 633 | msgstr "Уже проÑмотрено" |
| 634 | 634 | ||
| 635 | #: html.c:3722 | 635 | #: html.c:4137 |
| 636 | msgid "None" | 636 | msgid "None" |
| 637 | msgstr "Ðет" | 637 | msgstr "Ðет" |
| 638 | 638 | ||
| 639 | #: html.c:3994 | 639 | #: html.c:4414 |
| 640 | #, c-format | 640 | #, c-format |
| 641 | msgid "Search results for account %s" | 641 | msgid "Search results for account %s" |
| 642 | msgstr "Результаты поиÑка Ð´Ð»Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи %s" | 642 | msgstr "Результаты поиÑка Ð´Ð»Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи %s" |
| 643 | 643 | ||
| 644 | #: html.c:4001 | 644 | #: html.c:4421 |
| 645 | #, c-format | 645 | #, c-format |
| 646 | msgid "Account %s not found" | 646 | msgid "Account %s not found" |
| 647 | msgstr "Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ %s не найдена" | 647 | msgstr "Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ %s не найдена" |
| 648 | 648 | ||
| 649 | #: html.c:4032 | 649 | #: html.c:4452 |
| 650 | #, c-format | 650 | #, c-format |
| 651 | msgid "Search results for tag %s" | 651 | msgid "Search results for tag %s" |
| 652 | msgstr "Результаты поиÑка тега %s" | 652 | msgstr "Результаты поиÑка тега %s" |
| 653 | 653 | ||
| 654 | #: html.c:4032 | 654 | #: html.c:4452 |
| 655 | #, c-format | 655 | #, c-format |
| 656 | msgid "Nothing found for tag %s" | 656 | msgid "Nothing found for tag %s" |
| 657 | msgstr "Ðичего не найдено по тегу %s" | 657 | msgstr "Ðичего не найдено по тегу %s" |
| 658 | 658 | ||
| 659 | #: html.c:4048 | 659 | #: html.c:4468 |
| 660 | #, c-format | 660 | #, c-format |
| 661 | msgid "Search results for '%s' (may be more)" | 661 | msgid "Search results for '%s' (may be more)" |
| 662 | msgstr "Результаты поиÑка Ð´Ð»Ñ '%s' (возможно, еÑть ещё)" | 662 | msgstr "Результаты поиÑка Ð´Ð»Ñ '%s' (возможно, еÑть ещё)" |
| 663 | 663 | ||
| 664 | #: html.c:4051 | 664 | #: html.c:4471 |
| 665 | #, c-format | 665 | #, c-format |
| 666 | msgid "Search results for '%s'" | 666 | msgid "Search results for '%s'" |
| 667 | msgstr "Результаты поиÑка Ð´Ð»Ñ '%s'" | 667 | msgstr "Результаты поиÑка Ð´Ð»Ñ '%s'" |
| 668 | 668 | ||
| 669 | #: html.c:4054 | 669 | #: html.c:4474 |
| 670 | #, c-format | 670 | #, c-format |
| 671 | msgid "No more matches for '%s'" | 671 | msgid "No more matches for '%s'" |
| 672 | msgstr "Больше нет Ñовпадений Ð´Ð»Ñ '%s'" | 672 | msgstr "Больше нет Ñовпадений Ð´Ð»Ñ '%s'" |
| 673 | 673 | ||
| 674 | #: html.c:4056 | 674 | #: html.c:4476 |
| 675 | #, c-format | 675 | #, c-format |
| 676 | msgid "Nothing found for '%s'" | 676 | msgid "Nothing found for '%s'" |
| 677 | msgstr "Ðичего не найдено Ð´Ð»Ñ '%s'" | 677 | msgstr "Ðичего не найдено Ð´Ð»Ñ '%s'" |
| 678 | 678 | ||
| 679 | #: html.c:4154 | 679 | #: html.c:4574 |
| 680 | msgid "Showing instance timeline" | 680 | msgid "Showing instance timeline" |
| 681 | msgstr "Показываем ленту Ñервера" | 681 | msgstr "Показываем ленту Ñервера" |
| 682 | 682 | ||
| 683 | #: html.c:4237 | 683 | #: html.c:4657 |
| 684 | #, c-format | 684 | #, c-format |
| 685 | msgid "Showing timeline for list '%s'" | 685 | msgid "Showing timeline for list '%s'" |
| 686 | msgstr "Показываем ленту Ð´Ð»Ñ ÑпиÑка '%s'" | 686 | msgstr "Показываем ленту Ð´Ð»Ñ ÑпиÑка '%s'" |
| 687 | 687 | ||
| 688 | #: httpd.c:258 | 688 | #: httpd.c:259 |
| 689 | #, c-format | 689 | #, c-format |
| 690 | msgid "Search results for tag #%s" | 690 | msgid "Search results for tag #%s" |
| 691 | msgstr "Результаты поиÑка Ð´Ð»Ñ Ñ‚ÐµÐ³Ð° #%s" | 691 | msgstr "Результаты поиÑка Ð´Ð»Ñ Ñ‚ÐµÐ³Ð° #%s" |
| 692 | 692 | ||
| 693 | #: httpd.c:267 | 693 | #: httpd.c:268 |
| 694 | msgid "Recent posts by users in this instance" | 694 | msgid "Recent posts by users in this instance" |
| 695 | msgstr "ПоÑледние ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° Ñтом Ñервере" | 695 | msgstr "ПоÑледние ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° Ñтом Ñервере" |
| 696 | 696 | ||
| 697 | #: html.c:1764 | 697 | #: html.c:1842 |
| 698 | msgid "Blocked hashtags..." | 698 | msgid "Blocked hashtags..." |
| 699 | msgstr "Заблокированные теги..." | 699 | msgstr "Заблокированные теги..." |
| 700 | 700 | ||
| 701 | #: html.c:518 | 701 | #: html.c:574 |
| 702 | msgid "Optional URL to reply to" | 702 | msgid "Optional URL to reply to" |
| 703 | msgstr "ÐеобÑзательный URL Ð´Ð»Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð°" | 703 | msgstr "ÐеобÑзательный URL Ð´Ð»Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð°" |
| 704 | 704 | ||
| 705 | #: html.c:695 | 705 | #: html.c:751 |
| 706 | msgid "" | 706 | msgid "" |
| 707 | "Option 1...\n" | 707 | "Option 1...\n" |
| 708 | "Option 2...\n" | 708 | "Option 2...\n" |
| @@ -714,94 +714,106 @@ msgstr "" | |||
| 714 | "Вариант 3...\n" | 714 | "Вариант 3...\n" |
| 715 | "..." | 715 | "..." |
| 716 | 716 | ||
| 717 | #: html.c:1558 | 717 | #: html.c:1636 |
| 718 | msgid "Bot API key" | 718 | msgid "Bot API key" |
| 719 | msgstr "Ключ API Ð´Ð»Ñ Ð±Ð¾Ñ‚Ð°" | 719 | msgstr "Ключ API Ð´Ð»Ñ Ð±Ð¾Ñ‚Ð°" |
| 720 | 720 | ||
| 721 | #: html.c:1564 | 721 | #: html.c:1642 |
| 722 | msgid "Chat id" | 722 | msgid "Chat id" |
| 723 | msgstr "Id чата" | 723 | msgstr "Id чата" |
| 724 | 724 | ||
| 725 | #: html.c:1572 | 725 | #: html.c:1650 |
| 726 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 726 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 727 | msgstr "полный URL Ñервера ntfy (например https://ntfy.sh/YourTopic)" | 727 | msgstr "полный URL Ñервера ntfy (например https://ntfy.sh/YourTopic)" |
| 728 | 728 | ||
| 729 | #: html.c:1578 | 729 | #: html.c:1656 |
| 730 | msgid "ntfy token - if needed" | 730 | msgid "ntfy token - if needed" |
| 731 | msgstr "токен ntfy - еÑли нужен" | 731 | msgstr "токен ntfy - еÑли нужен" |
| 732 | 732 | ||
| 733 | #: html.c:3078 | 733 | #: html.c:3366 |
| 734 | msgid "pinned" | 734 | msgid "pinned" |
| 735 | msgstr "закреплено" | 735 | msgstr "закреплено" |
| 736 | 736 | ||
| 737 | #: html.c:3090 | 737 | #: html.c:3378 |
| 738 | msgid "bookmarks" | 738 | msgid "bookmarks" |
| 739 | msgstr "закладки" | 739 | msgstr "закладки" |
| 740 | 740 | ||
| 741 | #: html.c:3102 | 741 | #: html.c:3390 |
| 742 | msgid "drafts" | 742 | msgid "drafts" |
| 743 | msgstr "черновики" | 743 | msgstr "черновики" |
| 744 | 744 | ||
| 745 | #: html.c:584 | 745 | #: html.c:640 |
| 746 | msgid "Scheduled post..." | 746 | msgid "Scheduled post..." |
| 747 | msgstr "Запланировать..." | 747 | msgstr "Запланировать..." |
| 748 | 748 | ||
| 749 | msgid "Post date and time:" | 749 | msgid "Post date and time:" |
| 750 | msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñта:" | 750 | msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñта:" |
| 751 | 751 | ||
| 752 | #: html.c:3113 html.c:4214 | 752 | #: html.c:3401 html.c:4634 |
| 753 | msgid "Scheduled posts" | 753 | msgid "Scheduled posts" |
| 754 | msgstr "Запланированные поÑты" | 754 | msgstr "Запланированные поÑты" |
| 755 | 755 | ||
| 756 | #: html.c:3114 | 756 | #: html.c:3402 |
| 757 | msgid "scheduled posts" | 757 | msgid "scheduled posts" |
| 758 | msgstr "запланированные поÑты" | 758 | msgstr "запланированные поÑты" |
| 759 | 759 | ||
| 760 | #: html.c:578 | 760 | #: html.c:634 |
| 761 | #, c-format | 761 | #, c-format |
| 762 | msgid "Post date and time (timezone: %s):" | 762 | msgid "Post date and time (timezone: %s):" |
| 763 | msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñта (ЧаÑовой поÑÑ: %s):" | 763 | msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñта (ЧаÑовой поÑÑ: %s):" |
| 764 | 764 | ||
| 765 | #: html.c:1689 | 765 | #: html.c:1767 |
| 766 | msgid "Time zone:" | 766 | msgid "Time zone:" |
| 767 | msgstr "ЧаÑовой поÑÑ:" | 767 | msgstr "ЧаÑовой поÑÑ:" |
| 768 | 768 | ||
| 769 | #: html.c:559 | 769 | #: html.c:615 |
| 770 | msgid "Language:" | 770 | msgid "Language:" |
| 771 | msgstr "" | 771 | msgstr "" |
| 772 | 772 | ||
| 773 | #: html.c:1580 | 773 | #: html.c:1658 |
| 774 | msgid "Notify webhook:" | 774 | msgid "Notify webhook:" |
| 775 | msgstr "" | 775 | msgstr "" |
| 776 | 776 | ||
| 777 | #: html.c:1586 | 777 | #: html.c:1664 |
| 778 | msgid "http://example.com/webhook" | 778 | msgid "http://example.com/webhook" |
| 779 | msgstr "" | 779 | msgstr "" |
| 780 | 780 | ||
| 781 | #: html.c:1694 | 781 | #: html.c:1772 |
| 782 | msgid "Languages you usually post in:" | 782 | msgid "Languages you usually post in:" |
| 783 | msgstr "" | 783 | msgstr "" |
| 784 | 784 | ||
| 785 | #: html.c:1700 | 785 | #: html.c:1778 |
| 786 | msgid "en fr es de_AT" | 786 | msgid "en fr es de_AT" |
| 787 | msgstr "" | 787 | msgstr "" |
| 788 | 788 | ||
| 789 | #: html.c:460 | 789 | #: html.c:428 |
| 790 | msgid "Visibility: " | 790 | msgid "Visibility: " |
| 791 | msgstr "" | 791 | msgstr "" |
| 792 | 792 | ||
| 793 | #: html.c:468 | ||
| 794 | msgid "Public" | 793 | msgid "Public" |
| 795 | msgstr "" | 794 | msgstr "" |
| 796 | 795 | ||
| 797 | #: html.c:477 | ||
| 798 | msgid "Unlisted" | 796 | msgid "Unlisted" |
| 799 | msgstr "" | 797 | msgstr "" |
| 800 | 798 | ||
| 801 | #: html.c:486 | ||
| 802 | msgid "Followers-only" | 799 | msgid "Followers-only" |
| 803 | msgstr "" | 800 | msgstr "" |
| 804 | 801 | ||
| 805 | #: html.c:495 | ||
| 806 | msgid "Direct Message" | 802 | msgid "Direct Message" |
| 807 | msgstr "" | 803 | msgstr "" |
| 804 | |||
| 805 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 806 | msgid "EmojiUnreact" | ||
| 807 | msgstr "" | ||
| 808 | |||
| 809 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 810 | msgid "EmojiReact" | ||
| 811 | msgstr "" | ||
| 812 | |||
| 813 | #: html.c:2115 | ||
| 814 | msgid "Emoji react..." | ||
| 815 | msgstr "" | ||
| 816 | |||
| 817 | #: html.c:2609 | ||
| 818 | msgid "Emoji reactions: " | ||
| 819 | msgstr "" | ||
| @@ -15,119 +15,119 @@ msgstr "" | |||
| 15 | "Content-Transfer-Encoding: 8bit\n" | 15 | "Content-Transfer-Encoding: 8bit\n" |
| 16 | "X-Generator: Poedit 3.0\n" | 16 | "X-Generator: Poedit 3.0\n" |
| 17 | 17 | ||
| 18 | #: html.c:440 | 18 | #: html.c:534 |
| 19 | msgid "Sensitive content: " | 19 | msgid "Sensitive content: " |
| 20 | msgstr "Делікатний вміÑÑ‚: " | 20 | msgstr "Делікатний вміÑÑ‚: " |
| 21 | 21 | ||
| 22 | #: html.c:448 | 22 | #: html.c:542 |
| 23 | msgid "Sensitive content description" | 23 | msgid "Sensitive content description" |
| 24 | msgstr "ÐžÐ¿Ð¸Ñ Ð´ÐµÐ»Ñ–ÐºÐ°Ñ‚Ð½Ð¾Ð³Ð¾ вміÑту" | 24 | msgstr "ÐžÐ¿Ð¸Ñ Ð´ÐµÐ»Ñ–ÐºÐ°Ñ‚Ð½Ð¾Ð³Ð¾ вміÑту" |
| 25 | 25 | ||
| 26 | msgid "Only for mentioned people: " | 26 | msgid "Only for mentioned people: " |
| 27 | msgstr "Тільки Ð´Ð»Ñ Ð·Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ… оÑіб: " | 27 | msgstr "Тільки Ð´Ð»Ñ Ð·Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ… оÑіб: " |
| 28 | 28 | ||
| 29 | #: html.c:514 | 29 | #: html.c:570 |
| 30 | msgid "Reply to (URL): " | 30 | msgid "Reply to (URL): " |
| 31 | msgstr "ВідповіÑти до (URL): " | 31 | msgstr "ВідповіÑти до (URL): " |
| 32 | 32 | ||
| 33 | #: html.c:523 | 33 | #: html.c:579 |
| 34 | msgid "Don't send, but store as a draft" | 34 | msgid "Don't send, but store as a draft" |
| 35 | msgstr "Ðе надÑилати, але зберігти Ñк чернетку" | 35 | msgstr "Ðе надÑилати, але зберігти Ñк чернетку" |
| 36 | 36 | ||
| 37 | #: html.c:524 | 37 | #: html.c:580 |
| 38 | msgid "Draft:" | 38 | msgid "Draft:" |
| 39 | msgstr "Чернетка:" | 39 | msgstr "Чернетка:" |
| 40 | 40 | ||
| 41 | #: html.c:614 | 41 | #: html.c:670 |
| 42 | msgid "Attachments..." | 42 | msgid "Attachments..." |
| 43 | msgstr "ВкладеннÑ..." | 43 | msgstr "ВкладеннÑ..." |
| 44 | 44 | ||
| 45 | #: html.c:637 | 45 | #: html.c:693 |
| 46 | msgid "File:" | 46 | msgid "File:" |
| 47 | msgstr "Файл:" | 47 | msgstr "Файл:" |
| 48 | 48 | ||
| 49 | #: html.c:641 | 49 | #: html.c:697 |
| 50 | msgid "Clear this field to delete the attachment" | 50 | msgid "Clear this field to delete the attachment" |
| 51 | msgstr "ОчиÑтіть це поле, щоб видалити вкладеннÑ" | 51 | msgstr "ОчиÑтіть це поле, щоб видалити вкладеннÑ" |
| 52 | 52 | ||
| 53 | #: html.c:650 html.c:675 | 53 | #: html.c:706 html.c:731 |
| 54 | msgid "Attachment description" | 54 | msgid "Attachment description" |
| 55 | msgstr "ÐžÐ¿Ð¸Ñ Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð½Ñ" | 55 | msgstr "ÐžÐ¿Ð¸Ñ Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð½Ñ" |
| 56 | 56 | ||
| 57 | #: html.c:686 | 57 | #: html.c:742 |
| 58 | msgid "Poll..." | 58 | msgid "Poll..." |
| 59 | msgstr "ОпитуваннÑ..." | 59 | msgstr "ОпитуваннÑ..." |
| 60 | 60 | ||
| 61 | #: html.c:688 | 61 | #: html.c:744 |
| 62 | msgid "Poll options (one per line, up to 8):" | 62 | msgid "Poll options (one per line, up to 8):" |
| 63 | msgstr "Варіанти відповідей (по одному в Ñ€Ñдку, до 8):" | 63 | msgstr "Варіанти відповідей (по одному в Ñ€Ñдку, до 8):" |
| 64 | 64 | ||
| 65 | #: html.c:700 | 65 | #: html.c:756 |
| 66 | msgid "One choice" | 66 | msgid "One choice" |
| 67 | msgstr "Єдиний вибір" | 67 | msgstr "Єдиний вибір" |
| 68 | 68 | ||
| 69 | #: html.c:703 | 69 | #: html.c:759 |
| 70 | msgid "Multiple choices" | 70 | msgid "Multiple choices" |
| 71 | msgstr "Декілька варіантів вибору" | 71 | msgstr "Декілька варіантів вибору" |
| 72 | 72 | ||
| 73 | #: html.c:709 | 73 | #: html.c:765 |
| 74 | msgid "End in 5 minutes" | 74 | msgid "End in 5 minutes" |
| 75 | msgstr "Ð—Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· 5 хвилин" | 75 | msgstr "Ð—Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· 5 хвилин" |
| 76 | 76 | ||
| 77 | #: html.c:713 | 77 | #: html.c:769 |
| 78 | msgid "End in 1 hour" | 78 | msgid "End in 1 hour" |
| 79 | msgstr "Ð—Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· 1 годину" | 79 | msgstr "Ð—Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· 1 годину" |
| 80 | 80 | ||
| 81 | #: html.c:716 | 81 | #: html.c:772 |
| 82 | msgid "End in 1 day" | 82 | msgid "End in 1 day" |
| 83 | msgstr "Ð—Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· 1 день" | 83 | msgstr "Ð—Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· 1 день" |
| 84 | 84 | ||
| 85 | #: html.c:724 | 85 | #: html.c:780 |
| 86 | msgid "Post" | 86 | msgid "Post" |
| 87 | msgstr "ÐадіÑлати" | 87 | msgstr "ÐадіÑлати" |
| 88 | 88 | ||
| 89 | #: html.c:826 html.c:833 | 89 | #: html.c:882 html.c:889 |
| 90 | msgid "Site description" | 90 | msgid "Site description" |
| 91 | msgstr "ÐžÐ¿Ð¸Ñ Ñайту" | 91 | msgstr "ÐžÐ¿Ð¸Ñ Ñайту" |
| 92 | 92 | ||
| 93 | #: html.c:844 | 93 | #: html.c:900 |
| 94 | msgid "Admin email" | 94 | msgid "Admin email" |
| 95 | msgstr "Пошта админа" | 95 | msgstr "Пошта админа" |
| 96 | 96 | ||
| 97 | #: html.c:857 | 97 | #: html.c:913 |
| 98 | msgid "Admin account" | 98 | msgid "Admin account" |
| 99 | msgstr "Обліковий Ð·Ð°Ð¿Ð¸Ñ Ð°Ð´Ð¼Ñ–Ð½Ð°" | 99 | msgstr "Обліковий Ð·Ð°Ð¿Ð¸Ñ Ð°Ð´Ð¼Ñ–Ð½Ð°" |
| 100 | 100 | ||
| 101 | #: html.c:922 html.c:1278 | 101 | #: html.c:978 html.c:1334 |
| 102 | #, c-format | 102 | #, c-format |
| 103 | msgid "%d following, %d followers" | 103 | msgid "%d following, %d followers" |
| 104 | msgstr "%d підпиÑок, %d підпиÑників" | 104 | msgstr "%d підпиÑок, %d підпиÑників" |
| 105 | 105 | ||
| 106 | #: html.c:1019 | 106 | #: html.c:1075 |
| 107 | msgid "RSS" | 107 | msgid "RSS" |
| 108 | msgstr "RSS" | 108 | msgstr "RSS" |
| 109 | 109 | ||
| 110 | #: html.c:1024 html.c:1063 | 110 | #: html.c:1080 html.c:1119 |
| 111 | msgid "private" | 111 | msgid "private" |
| 112 | msgstr "оÑобиÑте" | 112 | msgstr "оÑобиÑте" |
| 113 | 113 | ||
| 114 | #: html.c:1059 | 114 | #: html.c:1115 |
| 115 | msgid "public" | 115 | msgid "public" |
| 116 | msgstr "публічне" | 116 | msgstr "публічне" |
| 117 | 117 | ||
| 118 | #: html.c:1067 | 118 | #: html.c:1123 |
| 119 | msgid "notifications" | 119 | msgid "notifications" |
| 120 | msgstr "повідомленнÑ" | 120 | msgstr "повідомленнÑ" |
| 121 | 121 | ||
| 122 | #: html.c:1072 | 122 | #: html.c:1128 |
| 123 | msgid "people" | 123 | msgid "people" |
| 124 | msgstr "люди" | 124 | msgstr "люди" |
| 125 | 125 | ||
| 126 | #: html.c:1077 | 126 | #: html.c:1133 |
| 127 | msgid "instance" | 127 | msgid "instance" |
| 128 | msgstr "Ñервер" | 128 | msgstr "Ñервер" |
| 129 | 129 | ||
| 130 | #: html.c:1086 | 130 | #: html.c:1142 |
| 131 | msgid "" | 131 | msgid "" |
| 132 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 132 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 133 | "#tag" | 133 | "#tag" |
| @@ -135,574 +135,574 @@ msgstr "" | |||
| 135 | "Шукати допиÑи за URL або вміÑтом (регулÑрний вираз), акаунтами @user@host " | 135 | "Шукати допиÑи за URL або вміÑтом (регулÑрний вираз), акаунтами @user@host " |
| 136 | "або #тегом" | 136 | "або #тегом" |
| 137 | 137 | ||
| 138 | #: html.c:1087 | 138 | #: html.c:1143 |
| 139 | msgid "Content search" | 139 | msgid "Content search" |
| 140 | msgstr "Пошук за вміÑтом" | 140 | msgstr "Пошук за вміÑтом" |
| 141 | 141 | ||
| 142 | #: html.c:1213 | 142 | #: html.c:1269 |
| 143 | msgid "verified link" | 143 | msgid "verified link" |
| 144 | msgstr "перевірене поÑиланнÑ" | 144 | msgstr "перевірене поÑиланнÑ" |
| 145 | 145 | ||
| 146 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 146 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 147 | msgid "Location: " | 147 | msgid "Location: " |
| 148 | msgstr "МіÑце знаходженнÑ: " | 148 | msgstr "МіÑце знаходженнÑ: " |
| 149 | 149 | ||
| 150 | #: html.c:1302 | 150 | #: html.c:1358 |
| 151 | msgid "New Post..." | 151 | msgid "New Post..." |
| 152 | msgstr "Ðовий допиÑ..." | 152 | msgstr "Ðовий допиÑ..." |
| 153 | 153 | ||
| 154 | #: html.c:1304 | 154 | #: html.c:1360 |
| 155 | msgid "What's on your mind?" | 155 | msgid "What's on your mind?" |
| 156 | msgstr "Що у Ð²Ð°Ñ Ð½Ð° думці?" | 156 | msgstr "Що у Ð²Ð°Ñ Ð½Ð° думці?" |
| 157 | 157 | ||
| 158 | #: html.c:1313 | 158 | #: html.c:1369 |
| 159 | msgid "Operations..." | 159 | msgid "Operations..." |
| 160 | msgstr "Дії..." | 160 | msgstr "Дії..." |
| 161 | 161 | ||
| 162 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 162 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 163 | msgid "Follow" | 163 | msgid "Follow" |
| 164 | msgstr "ПідпиÑатиÑÑ" | 164 | msgstr "ПідпиÑатиÑÑ" |
| 165 | 165 | ||
| 166 | #: html.c:1330 | 166 | #: html.c:1386 |
| 167 | msgid "(by URL or user@host)" | 167 | msgid "(by URL or user@host)" |
| 168 | msgstr "(за URL або user@host)" | 168 | msgstr "(за URL або user@host)" |
| 169 | 169 | ||
| 170 | #: html.c:1345 html.c:1925 html.c:4766 | 170 | #: html.c:1401 html.c:2003 html.c:5210 |
| 171 | msgid "Boost" | 171 | msgid "Boost" |
| 172 | msgstr "ПроÑувати" | 172 | msgstr "ПроÑувати" |
| 173 | 173 | ||
| 174 | #: html.c:1347 html.c:1364 | 174 | #: html.c:1403 html.c:1420 html.c:1442 |
| 175 | msgid "(by URL)" | 175 | msgid "(by URL)" |
| 176 | msgstr "(за URL)" | 176 | msgstr "(за URL)" |
| 177 | 177 | ||
| 178 | #: html.c:1362 html.c:1904 html.c:4757 | 178 | #: html.c:1418 html.c:1982 html.c:5201 |
| 179 | msgid "Like" | 179 | msgid "Like" |
| 180 | msgstr "Вподобайка" | 180 | msgstr "Вподобайка" |
| 181 | 181 | ||
| 182 | #: html.c:1490 | 182 | #: html.c:1568 |
| 183 | msgid "User Settings..." | 183 | msgid "User Settings..." |
| 184 | msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача..." | 184 | msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача..." |
| 185 | 185 | ||
| 186 | #: html.c:1499 | 186 | #: html.c:1577 |
| 187 | msgid "Display name:" | 187 | msgid "Display name:" |
| 188 | msgstr "Видиме ім'Ñ:" | 188 | msgstr "Видиме ім'Ñ:" |
| 189 | 189 | ||
| 190 | #: html.c:1505 | 190 | #: html.c:1583 |
| 191 | msgid "Your name" | 191 | msgid "Your name" |
| 192 | msgstr "Ваше ім'Ñ" | 192 | msgstr "Ваше ім'Ñ" |
| 193 | 193 | ||
| 194 | #: html.c:1507 | 194 | #: html.c:1585 |
| 195 | msgid "Avatar: " | 195 | msgid "Avatar: " |
| 196 | msgstr "Ðватар: " | 196 | msgstr "Ðватар: " |
| 197 | 197 | ||
| 198 | #: html.c:1515 | 198 | #: html.c:1593 |
| 199 | msgid "Delete current avatar" | 199 | msgid "Delete current avatar" |
| 200 | msgstr "Видалити поточний аватар" | 200 | msgstr "Видалити поточний аватар" |
| 201 | 201 | ||
| 202 | #: html.c:1517 | 202 | #: html.c:1595 |
| 203 | msgid "Header image (banner): " | 203 | msgid "Header image (banner): " |
| 204 | msgstr "Ð—Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° (банер): " | 204 | msgstr "Ð—Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° (банер): " |
| 205 | 205 | ||
| 206 | #: html.c:1525 | 206 | #: html.c:1603 |
| 207 | msgid "Delete current header image" | 207 | msgid "Delete current header image" |
| 208 | msgstr "Видалити поточне Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°" | 208 | msgstr "Видалити поточне Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°" |
| 209 | 209 | ||
| 210 | #: html.c:1527 | 210 | #: html.c:1605 |
| 211 | msgid "Bio:" | 211 | msgid "Bio:" |
| 212 | msgstr "Про Ñебе:" | 212 | msgstr "Про Ñебе:" |
| 213 | 213 | ||
| 214 | #: html.c:1533 | 214 | #: html.c:1611 |
| 215 | msgid "Write about yourself here..." | 215 | msgid "Write about yourself here..." |
| 216 | msgstr "Ðапишіть про Ñебе тут..." | 216 | msgstr "Ðапишіть про Ñебе тут..." |
| 217 | 217 | ||
| 218 | #: html.c:1542 | 218 | #: html.c:1620 |
| 219 | msgid "Always show sensitive content" | 219 | msgid "Always show sensitive content" |
| 220 | msgstr "Завжди показувати делікатний вміÑÑ‚" | 220 | msgstr "Завжди показувати делікатний вміÑÑ‚" |
| 221 | 221 | ||
| 222 | #: html.c:1544 | 222 | #: html.c:1622 |
| 223 | msgid "Email address for notifications:" | 223 | msgid "Email address for notifications:" |
| 224 | msgstr "Поштова адреÑа Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ:" | 224 | msgstr "Поштова адреÑа Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ:" |
| 225 | 225 | ||
| 226 | #: html.c:1552 | 226 | #: html.c:1630 |
| 227 | msgid "Telegram notifications (bot key and chat id):" | 227 | msgid "Telegram notifications (bot key and chat id):" |
| 228 | msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð² Telegram (ключ бота та id чату):" | 228 | msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð² Telegram (ключ бота та id чату):" |
| 229 | 229 | ||
| 230 | #: html.c:1566 | 230 | #: html.c:1644 |
| 231 | msgid "ntfy notifications (ntfy server and token):" | 231 | msgid "ntfy notifications (ntfy server and token):" |
| 232 | msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð² ntfy (Ñервер та токен ntfy):" | 232 | msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð² ntfy (Ñервер та токен ntfy):" |
| 233 | 233 | ||
| 234 | #: html.c:1588 | 234 | #: html.c:1666 |
| 235 | msgid "Maximum days to keep posts (0: server settings):" | 235 | msgid "Maximum days to keep posts (0: server settings):" |
| 236 | msgstr "МакÑимальний Ñ‡Ð°Ñ Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð¾Ð¿Ð¸Ñів (0: Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñервера):" | 236 | msgstr "МакÑимальний Ñ‡Ð°Ñ Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð¾Ð¿Ð¸Ñів (0: Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñервера):" |
| 237 | 237 | ||
| 238 | #: html.c:1602 | 238 | #: html.c:1680 |
| 239 | msgid "Drop direct messages from people you don't follow" | 239 | msgid "Drop direct messages from people you don't follow" |
| 240 | msgstr "ВідхилÑти оÑобиÑті Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ незнайомців" | 240 | msgstr "ВідхилÑти оÑобиÑті Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ незнайомців" |
| 241 | 241 | ||
| 242 | #: html.c:1611 | 242 | #: html.c:1689 |
| 243 | msgid "This account is a bot" | 243 | msgid "This account is a bot" |
| 244 | msgstr "Цей акаунт є ботом" | 244 | msgstr "Цей акаунт є ботом" |
| 245 | 245 | ||
| 246 | #: html.c:1620 | 246 | #: html.c:1698 |
| 247 | msgid "Auto-boost all mentions to this account" | 247 | msgid "Auto-boost all mentions to this account" |
| 248 | msgstr "Ðвтоматично проÑувати вÑÑ– згадки цього акаунта" | 248 | msgstr "Ðвтоматично проÑувати вÑÑ– згадки цього акаунта" |
| 249 | 249 | ||
| 250 | #: html.c:1629 | 250 | #: html.c:1707 |
| 251 | msgid "This account is private (posts are not shown through the web)" | 251 | msgid "This account is private (posts are not shown through the web)" |
| 252 | msgstr "Це закритий акаунт (допиÑи не показуютьÑÑ Ð² мережі)" | 252 | msgstr "Це закритий акаунт (допиÑи не показуютьÑÑ Ð² мережі)" |
| 253 | 253 | ||
| 254 | #: html.c:1639 | 254 | #: html.c:1717 |
| 255 | msgid "Collapse top threads by default" | 255 | msgid "Collapse top threads by default" |
| 256 | msgstr "Згорнути потоки за замовчуваннÑм" | 256 | msgstr "Згорнути потоки за замовчуваннÑм" |
| 257 | 257 | ||
| 258 | #: html.c:1648 | 258 | #: html.c:1726 |
| 259 | msgid "Follow requests must be approved" | 259 | msgid "Follow requests must be approved" |
| 260 | msgstr "Запити на підпиÑку мають бути Ñхвалені" | 260 | msgstr "Запити на підпиÑку мають бути Ñхвалені" |
| 261 | 261 | ||
| 262 | #: html.c:1657 | 262 | #: html.c:1735 |
| 263 | msgid "Publish follower and following metrics" | 263 | msgid "Publish follower and following metrics" |
| 264 | msgstr "Публікувати метрики підпиÑок та підпиÑників" | 264 | msgstr "Публікувати метрики підпиÑок та підпиÑників" |
| 265 | 265 | ||
| 266 | #: html.c:1659 | 266 | #: html.c:1737 |
| 267 | msgid "Current location:" | 267 | msgid "Current location:" |
| 268 | msgstr "Поточне міÑцезнаходженнÑ:" | 268 | msgstr "Поточне міÑцезнаходженнÑ:" |
| 269 | 269 | ||
| 270 | #: html.c:1673 | 270 | #: html.c:1751 |
| 271 | msgid "Profile metadata (key=value pairs in each line):" | 271 | msgid "Profile metadata (key=value pairs in each line):" |
| 272 | msgstr "Метадані профілю (пари ключ=Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² кожному Ñ€Ñдку):" | 272 | msgstr "Метадані профілю (пари ключ=Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² кожному Ñ€Ñдку):" |
| 273 | 273 | ||
| 274 | #: html.c:1684 | 274 | #: html.c:1762 |
| 275 | msgid "Web interface language:" | 275 | msgid "Web interface language:" |
| 276 | msgstr "Мова інтерфейÑу:" | 276 | msgstr "Мова інтерфейÑу:" |
| 277 | 277 | ||
| 278 | #: html.c:1703 | 278 | #: html.c:1781 |
| 279 | msgid "New password:" | 279 | msgid "New password:" |
| 280 | msgstr "Ðовий пароль:" | 280 | msgstr "Ðовий пароль:" |
| 281 | 281 | ||
| 282 | #: html.c:1710 | 282 | #: html.c:1788 |
| 283 | msgid "Repeat new password:" | 283 | msgid "Repeat new password:" |
| 284 | msgstr "Повторити новий пароль:" | 284 | msgstr "Повторити новий пароль:" |
| 285 | 285 | ||
| 286 | #: html.c:1720 | 286 | #: html.c:1798 |
| 287 | msgid "Update user info" | 287 | msgid "Update user info" |
| 288 | msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… кориÑтувача" | 288 | msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… кориÑтувача" |
| 289 | 289 | ||
| 290 | #: html.c:1731 | 290 | #: html.c:1809 |
| 291 | msgid "Followed hashtags..." | 291 | msgid "Followed hashtags..." |
| 292 | msgstr "ПідпиÑані хештеги..." | 292 | msgstr "ПідпиÑані хештеги..." |
| 293 | 293 | ||
| 294 | #: html.c:1733 html.c:1766 | 294 | #: html.c:1811 html.c:1844 |
| 295 | msgid "One hashtag per line" | 295 | msgid "One hashtag per line" |
| 296 | msgstr "Один хештег на Ñ€Ñдок" | 296 | msgstr "Один хештег на Ñ€Ñдок" |
| 297 | 297 | ||
| 298 | #: html.c:1755 html.c:1787 | 298 | #: html.c:1833 html.c:1865 |
| 299 | msgid "Update hashtags" | 299 | msgid "Update hashtags" |
| 300 | msgstr "Оновити хештеги" | 300 | msgstr "Оновити хештеги" |
| 301 | 301 | ||
| 302 | #: html.c:1904 | 302 | #: html.c:1982 |
| 303 | msgid "Say you like this post" | 303 | msgid "Say you like this post" |
| 304 | msgstr "Позначте Ð´Ð¾Ð¿Ð¸Ñ Ñк вподобаний" | 304 | msgstr "Позначте Ð´Ð¾Ð¿Ð¸Ñ Ñк вподобаний" |
| 305 | 305 | ||
| 306 | #: html.c:1909 html.c:4775 | 306 | #: html.c:1987 html.c:5219 |
| 307 | msgid "Unlike" | 307 | msgid "Unlike" |
| 308 | msgstr "Більше не подобаєтьÑÑ" | 308 | msgstr "Більше не подобаєтьÑÑ" |
| 309 | 309 | ||
| 310 | #: html.c:1909 | 310 | #: html.c:1987 |
| 311 | msgid "Nah don't like it that much" | 311 | msgid "Nah don't like it that much" |
| 312 | msgstr "Мені це не дуже подобаєтьÑÑ" | 312 | msgstr "Мені це не дуже подобаєтьÑÑ" |
| 313 | 313 | ||
| 314 | #: html.c:1915 html.c:4912 | 314 | #: html.c:1993 html.c:5356 |
| 315 | msgid "Unpin" | 315 | msgid "Unpin" |
| 316 | msgstr "Відкріпити" | 316 | msgstr "Відкріпити" |
| 317 | 317 | ||
| 318 | #: html.c:1915 | 318 | #: html.c:1993 |
| 319 | msgid "Unpin this post from your timeline" | 319 | msgid "Unpin this post from your timeline" |
| 320 | msgstr "Відкріпити цей Ð´Ð¾Ð¿Ð¸Ñ Ð·Ñ– влаÑної Ñтрічки" | 320 | msgstr "Відкріпити цей Ð´Ð¾Ð¿Ð¸Ñ Ð·Ñ– влаÑної Ñтрічки" |
| 321 | 321 | ||
| 322 | #: html.c:1918 html.c:4907 | 322 | #: html.c:1996 html.c:5351 |
| 323 | msgid "Pin" | 323 | msgid "Pin" |
| 324 | msgstr "Закріпити" | 324 | msgstr "Закріпити" |
| 325 | 325 | ||
| 326 | #: html.c:1918 | 326 | #: html.c:1996 |
| 327 | msgid "Pin this post to the top of your timeline" | 327 | msgid "Pin this post to the top of your timeline" |
| 328 | msgstr "Закріпити цей Ð´Ð¾Ð¿Ð¸Ñ Ð´Ð¾ влаÑної Ñтрічки" | 328 | msgstr "Закріпити цей Ð´Ð¾Ð¿Ð¸Ñ Ð´Ð¾ влаÑної Ñтрічки" |
| 329 | 329 | ||
| 330 | #: html.c:1925 | 330 | #: html.c:2003 |
| 331 | msgid "Announce this post to your followers" | 331 | msgid "Announce this post to your followers" |
| 332 | msgstr "ПоділитиÑÑ Ñ†Ð¸Ð¼ допиÑом зі Ñвоїми підпиÑниками" | 332 | msgstr "ПоділитиÑÑ Ñ†Ð¸Ð¼ допиÑом зі Ñвоїми підпиÑниками" |
| 333 | 333 | ||
| 334 | #: html.c:1930 html.c:4783 | 334 | #: html.c:2008 html.c:5227 |
| 335 | msgid "Unboost" | 335 | msgid "Unboost" |
| 336 | msgstr "СкаÑувати проÑуваннÑ" | 336 | msgstr "СкаÑувати проÑуваннÑ" |
| 337 | 337 | ||
| 338 | #: html.c:1930 | 338 | #: html.c:2008 |
| 339 | msgid "I regret I boosted this" | 339 | msgid "I regret I boosted this" |
| 340 | msgstr "Я шкодую, що проÑував це" | 340 | msgstr "Я шкодую, що проÑував це" |
| 341 | 341 | ||
| 342 | #: html.c:1936 html.c:4922 | 342 | #: html.c:2014 html.c:5366 |
| 343 | msgid "Unbookmark" | 343 | msgid "Unbookmark" |
| 344 | msgstr "Видалити з закладок" | 344 | msgstr "Видалити з закладок" |
| 345 | 345 | ||
| 346 | #: html.c:1936 | 346 | #: html.c:2014 |
| 347 | msgid "Delete this post from your bookmarks" | 347 | msgid "Delete this post from your bookmarks" |
| 348 | msgstr "Видалити цей Ð´Ð¾Ð¿Ð¸Ñ Ð· закладок" | 348 | msgstr "Видалити цей Ð´Ð¾Ð¿Ð¸Ñ Ð· закладок" |
| 349 | 349 | ||
| 350 | #: html.c:1939 html.c:4917 | 350 | #: html.c:2017 html.c:5361 |
| 351 | msgid "Bookmark" | 351 | msgid "Bookmark" |
| 352 | msgstr "Додати в закладки" | 352 | msgstr "Додати в закладки" |
| 353 | 353 | ||
| 354 | #: html.c:1939 | 354 | #: html.c:2017 |
| 355 | msgid "Add this post to your bookmarks" | 355 | msgid "Add this post to your bookmarks" |
| 356 | msgstr "Додайте цей Ð´Ð¾Ð¿Ð¸Ñ Ð² закладки" | 356 | msgstr "Додайте цей Ð´Ð¾Ð¿Ð¸Ñ Ð² закладки" |
| 357 | 357 | ||
| 358 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 358 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 359 | msgid "Unfollow" | 359 | msgid "Unfollow" |
| 360 | msgstr "ВідпиÑатиÑÑ" | 360 | msgstr "ВідпиÑатиÑÑ" |
| 361 | 361 | ||
| 362 | #: html.c:1945 html.c:3387 | 362 | #: html.c:2023 html.c:3763 html.c:4042 |
| 363 | msgid "Stop following this user's activity" | 363 | msgid "Stop following this user's activity" |
| 364 | msgstr "ВідпиÑатиÑÑ Ð²Ñ–Ð´ цього кориÑтувача" | 364 | msgstr "ВідпиÑатиÑÑ Ð²Ñ–Ð´ цього кориÑтувача" |
| 365 | 365 | ||
| 366 | #: html.c:1949 html.c:3401 | 366 | #: html.c:2027 html.c:3777 html.c:4044 |
| 367 | msgid "Start following this user's activity" | 367 | msgid "Start following this user's activity" |
| 368 | msgstr "ПідпиÑатиÑÑ Ð´Ð¾ цього кориÑтувача" | 368 | msgstr "ПідпиÑатиÑÑ Ð´Ð¾ цього кориÑтувача" |
| 369 | 369 | ||
| 370 | #: html.c:1955 html.c:4860 | 370 | #: html.c:2033 html.c:5304 |
| 371 | msgid "Unfollow Group" | 371 | msgid "Unfollow Group" |
| 372 | msgstr "ВідпиÑатиÑÑ Ð²Ñ–Ð´ групи" | 372 | msgstr "ВідпиÑатиÑÑ Ð²Ñ–Ð´ групи" |
| 373 | 373 | ||
| 374 | #: html.c:1956 | 374 | #: html.c:2034 |
| 375 | msgid "Stop following this group or channel" | 375 | msgid "Stop following this group or channel" |
| 376 | msgstr "ВідпиÑатиÑÑ Ð²Ñ–Ð´ групи чи канала" | 376 | msgstr "ВідпиÑатиÑÑ Ð²Ñ–Ð´ групи чи канала" |
| 377 | 377 | ||
| 378 | #: html.c:1960 html.c:4847 | 378 | #: html.c:2038 html.c:5291 |
| 379 | msgid "Follow Group" | 379 | msgid "Follow Group" |
| 380 | msgstr "ПідпиÑатиÑÑ Ð½Ð° групу" | 380 | msgstr "ПідпиÑатиÑÑ Ð½Ð° групу" |
| 381 | 381 | ||
| 382 | #: html.c:1961 | 382 | #: html.c:2039 |
| 383 | msgid "Start following this group or channel" | 383 | msgid "Start following this group or channel" |
| 384 | msgstr "ПідпиÑатиÑÑ Ð½Ð° групу чи канал" | 384 | msgstr "ПідпиÑатиÑÑ Ð½Ð° групу чи канал" |
| 385 | 385 | ||
| 386 | #: html.c:1966 html.c:3423 html.c:4791 | 386 | #: html.c:2044 html.c:3799 html.c:5235 |
| 387 | msgid "MUTE" | 387 | msgid "MUTE" |
| 388 | msgstr "Заглушити" | 388 | msgstr "Заглушити" |
| 389 | 389 | ||
| 390 | #: html.c:1967 | 390 | #: html.c:2045 |
| 391 | msgid "Block any activity from this user forever" | 391 | msgid "Block any activity from this user forever" |
| 392 | msgstr "Ðазавжди заблокувати активніÑть цього кориÑтувача" | 392 | msgstr "Ðазавжди заблокувати активніÑть цього кориÑтувача" |
| 393 | 393 | ||
| 394 | #: html.c:1972 html.c:3405 html.c:4877 | 394 | #: html.c:2050 html.c:3781 html.c:5321 |
| 395 | msgid "Delete" | 395 | msgid "Delete" |
| 396 | msgstr "Видалити" | 396 | msgstr "Видалити" |
| 397 | 397 | ||
| 398 | #: html.c:1972 | 398 | #: html.c:2050 |
| 399 | msgid "Delete this post" | 399 | msgid "Delete this post" |
| 400 | msgstr "Видалити цей допиÑ" | 400 | msgstr "Видалити цей допиÑ" |
| 401 | 401 | ||
| 402 | #: html.c:1975 html.c:4799 | 402 | #: html.c:2053 html.c:5243 |
| 403 | msgid "Hide" | 403 | msgid "Hide" |
| 404 | msgstr "Приховати" | 404 | msgstr "Приховати" |
| 405 | 405 | ||
| 406 | #: html.c:1975 | 406 | #: html.c:2053 |
| 407 | msgid "Hide this post and its children" | 407 | msgid "Hide this post and its children" |
| 408 | msgstr "Приховати цей Ð´Ð¾Ð¿Ð¸Ñ Ñ€Ð°Ð·Ð¾Ð¼ з обговореннÑм" | 408 | msgstr "Приховати цей Ð´Ð¾Ð¿Ð¸Ñ Ñ€Ð°Ð·Ð¾Ð¼ з обговореннÑм" |
| 409 | 409 | ||
| 410 | #: html.c:2017 | 410 | #: html.c:2095 |
| 411 | msgid "Edit..." | 411 | msgid "Edit..." |
| 412 | msgstr "Редагувати..." | 412 | msgstr "Редагувати..." |
| 413 | 413 | ||
| 414 | #: html.c:2039 | 414 | #: html.c:2133 |
| 415 | msgid "Reply..." | 415 | msgid "Reply..." |
| 416 | msgstr "ВідповіÑти..." | 416 | msgstr "ВідповіÑти..." |
| 417 | 417 | ||
| 418 | #: html.c:2090 | 418 | #: html.c:2184 |
| 419 | msgid "Truncated (too deep)" | 419 | msgid "Truncated (too deep)" |
| 420 | msgstr "Обрізано (занадто багато)" | 420 | msgstr "Обрізано (занадто багато)" |
| 421 | 421 | ||
| 422 | #: html.c:2108 | 422 | #: html.c:2202 |
| 423 | msgid "follows you" | 423 | msgid "follows you" |
| 424 | msgstr "підпиÑан на ваÑ" | 424 | msgstr "підпиÑан на ваÑ" |
| 425 | 425 | ||
| 426 | #: html.c:2182 | 426 | #: html.c:2276 |
| 427 | msgid "Pinned" | 427 | msgid "Pinned" |
| 428 | msgstr "Закріплено" | 428 | msgstr "Закріплено" |
| 429 | 429 | ||
| 430 | #: html.c:2190 | 430 | #: html.c:2284 |
| 431 | msgid "Bookmarked" | 431 | msgid "Bookmarked" |
| 432 | msgstr "Додано до закладок" | 432 | msgstr "Додано до закладок" |
| 433 | 433 | ||
| 434 | #: html.c:2198 | 434 | #: html.c:2292 |
| 435 | msgid "Poll" | 435 | msgid "Poll" |
| 436 | msgstr "ОпитуваннÑ" | 436 | msgstr "ОпитуваннÑ" |
| 437 | 437 | ||
| 438 | #: html.c:2205 | 438 | #: html.c:2299 |
| 439 | msgid "Voted" | 439 | msgid "Voted" |
| 440 | msgstr "ПроголоÑовано" | 440 | msgstr "ПроголоÑовано" |
| 441 | 441 | ||
| 442 | #: html.c:2214 | 442 | #: html.c:2308 |
| 443 | msgid "Event" | 443 | msgid "Event" |
| 444 | msgstr "ПодіÑ" | 444 | msgstr "ПодіÑ" |
| 445 | 445 | ||
| 446 | #: html.c:2246 html.c:2275 | 446 | #: html.c:2340 html.c:2369 |
| 447 | msgid "boosted" | 447 | msgid "boosted" |
| 448 | msgstr "проÑунуто" | 448 | msgstr "проÑунуто" |
| 449 | 449 | ||
| 450 | #: html.c:2289 | 450 | #: html.c:2383 |
| 451 | msgid "in reply to" | 451 | msgid "in reply to" |
| 452 | msgstr "у відповідь на" | 452 | msgstr "у відповідь на" |
| 453 | 453 | ||
| 454 | #: html.c:2345 | 454 | #: html.c:2439 |
| 455 | msgid " [SENSITIVE CONTENT]" | 455 | msgid " [SENSITIVE CONTENT]" |
| 456 | msgstr " [ДЕЛІКÐТÐИЙ ВМІСТ]" | 456 | msgstr " [ДЕЛІКÐТÐИЙ ВМІСТ]" |
| 457 | 457 | ||
| 458 | #: html.c:2512 | 458 | #: html.c:2796 |
| 459 | msgid "Vote" | 459 | msgid "Vote" |
| 460 | msgstr "ГолоÑ" | 460 | msgstr "ГолоÑ" |
| 461 | 461 | ||
| 462 | #: html.c:2522 | 462 | #: html.c:2806 |
| 463 | msgid "Closed" | 463 | msgid "Closed" |
| 464 | msgstr "Завершено" | 464 | msgstr "Завершено" |
| 465 | 465 | ||
| 466 | #: html.c:2547 | 466 | #: html.c:2831 |
| 467 | msgid "Closes in" | 467 | msgid "Closes in" |
| 468 | msgstr "ЗавершуєтьÑÑ Ñ‡ÐµÑ€ÐµÐ·" | 468 | msgstr "ЗавершуєтьÑÑ Ñ‡ÐµÑ€ÐµÐ·" |
| 469 | 469 | ||
| 470 | #: html.c:2627 | 470 | #: html.c:2911 |
| 471 | msgid "Video" | 471 | msgid "Video" |
| 472 | msgstr "Відео" | 472 | msgstr "Відео" |
| 473 | 473 | ||
| 474 | #: html.c:2642 | 474 | #: html.c:2926 |
| 475 | msgid "Audio" | 475 | msgid "Audio" |
| 476 | msgstr "Ðудіо" | 476 | msgstr "Ðудіо" |
| 477 | 477 | ||
| 478 | #: html.c:2670 | 478 | #: html.c:2954 |
| 479 | msgid "Attachment" | 479 | msgid "Attachment" |
| 480 | msgstr "ВкладеннÑ" | 480 | msgstr "ВкладеннÑ" |
| 481 | 481 | ||
| 482 | #: html.c:2684 | 482 | #: html.c:2968 |
| 483 | msgid "Alt..." | 483 | msgid "Alt..." |
| 484 | msgstr "ОпиÑ..." | 484 | msgstr "ОпиÑ..." |
| 485 | 485 | ||
| 486 | #: html.c:2697 | 486 | #: html.c:2981 |
| 487 | msgid "Source channel or community" | 487 | msgid "Source channel or community" |
| 488 | msgstr "Вихідний канал або Ñпільнота" | 488 | msgstr "Вихідний канал або Ñпільнота" |
| 489 | 489 | ||
| 490 | #: html.c:2791 | 490 | #: html.c:3075 |
| 491 | msgid "Time: " | 491 | msgid "Time: " |
| 492 | msgstr "ЧаÑ: " | 492 | msgstr "ЧаÑ: " |
| 493 | 493 | ||
| 494 | #: html.c:2872 | 494 | #: html.c:3156 |
| 495 | msgid "Older..." | 495 | msgid "Older..." |
| 496 | msgstr "Раніше..." | 496 | msgstr "Раніше..." |
| 497 | 497 | ||
| 498 | #: html.c:2974 | 498 | #: html.c:3258 |
| 499 | msgid "about this site" | 499 | msgid "about this site" |
| 500 | msgstr "про цей Ñайт" | 500 | msgstr "про цей Ñайт" |
| 501 | 501 | ||
| 502 | #: html.c:2976 | 502 | #: html.c:3260 |
| 503 | msgid "powered by " | 503 | msgid "powered by " |
| 504 | msgstr "на базі " | 504 | msgstr "на базі " |
| 505 | 505 | ||
| 506 | #: html.c:3041 | 506 | #: html.c:3329 |
| 507 | msgid "Dismiss" | 507 | msgid "Dismiss" |
| 508 | msgstr "Відхилити" | 508 | msgstr "Відхилити" |
| 509 | 509 | ||
| 510 | #: html.c:3058 | 510 | #: html.c:3346 |
| 511 | #, c-format | 511 | #, c-format |
| 512 | msgid "Timeline for list '%s'" | 512 | msgid "Timeline for list '%s'" |
| 513 | msgstr "Стрічки Ð´Ð»Ñ ÑпиÑку '%s'" | 513 | msgstr "Стрічки Ð´Ð»Ñ ÑпиÑку '%s'" |
| 514 | 514 | ||
| 515 | #: html.c:3077 html.c:4169 | 515 | #: html.c:3365 html.c:4589 |
| 516 | msgid "Pinned posts" | 516 | msgid "Pinned posts" |
| 517 | msgstr "Закріплені допиÑи" | 517 | msgstr "Закріплені допиÑи" |
| 518 | 518 | ||
| 519 | #: html.c:3089 html.c:4184 | 519 | #: html.c:3377 html.c:4604 |
| 520 | msgid "Bookmarked posts" | 520 | msgid "Bookmarked posts" |
| 521 | msgstr "ДопиÑи у закладках" | 521 | msgstr "ДопиÑи у закладках" |
| 522 | 522 | ||
| 523 | #: html.c:3101 html.c:4199 | 523 | #: html.c:3389 html.c:4619 |
| 524 | msgid "Post drafts" | 524 | msgid "Post drafts" |
| 525 | msgstr "Чернетки допиÑів" | 525 | msgstr "Чернетки допиÑів" |
| 526 | 526 | ||
| 527 | #: html.c:3177 | 527 | #: html.c:3465 |
| 528 | msgid "No more unseen posts" | 528 | msgid "No more unseen posts" |
| 529 | msgstr "УÑе переглÑнуто" | 529 | msgstr "УÑе переглÑнуто" |
| 530 | 530 | ||
| 531 | #: html.c:3181 html.c:3290 | 531 | #: html.c:3469 html.c:3578 |
| 532 | msgid "Back to top" | 532 | msgid "Back to top" |
| 533 | msgstr "ПовернутиÑÑ Ð´Ð¾ початку" | 533 | msgstr "ПовернутиÑÑ Ð´Ð¾ початку" |
| 534 | 534 | ||
| 535 | #: html.c:3243 | 535 | #: html.c:3531 |
| 536 | msgid "History" | 536 | msgid "History" |
| 537 | msgstr "ІÑторіÑ" | 537 | msgstr "ІÑторіÑ" |
| 538 | 538 | ||
| 539 | #: html.c:3295 html.c:3734 | 539 | #: html.c:3583 html.c:4149 |
| 540 | msgid "More..." | 540 | msgid "More..." |
| 541 | msgstr "Більше..." | 541 | msgstr "Більше..." |
| 542 | 542 | ||
| 543 | #: html.c:3391 html.c:4813 | 543 | #: html.c:3767 html.c:5257 |
| 544 | msgid "Unlimit" | 544 | msgid "Unlimit" |
| 545 | msgstr "Без обмеженнÑ" | 545 | msgstr "Без обмеженнÑ" |
| 546 | 546 | ||
| 547 | #: html.c:3392 | 547 | #: html.c:3768 |
| 548 | msgid "Allow announces (boosts) from this user" | 548 | msgid "Allow announces (boosts) from this user" |
| 549 | msgstr "Дозволити проÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ цього кориÑтувача" | 549 | msgstr "Дозволити проÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ цього кориÑтувача" |
| 550 | 550 | ||
| 551 | #: html.c:3395 html.c:4809 | 551 | #: html.c:3771 html.c:5253 |
| 552 | msgid "Limit" | 552 | msgid "Limit" |
| 553 | msgstr "Обмежити" | 553 | msgstr "Обмежити" |
| 554 | 554 | ||
| 555 | #: html.c:3396 | 555 | #: html.c:3772 |
| 556 | msgid "Block announces (boosts) from this user" | 556 | msgid "Block announces (boosts) from this user" |
| 557 | msgstr "Заборонити проÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ цього кориÑтувача" | 557 | msgstr "Заборонити проÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ цього кориÑтувача" |
| 558 | 558 | ||
| 559 | #: html.c:3405 | 559 | #: html.c:3781 |
| 560 | msgid "Delete this user" | 560 | msgid "Delete this user" |
| 561 | msgstr "Видалити кориÑтувача" | 561 | msgstr "Видалити кориÑтувача" |
| 562 | 562 | ||
| 563 | #: html.c:3410 html.c:4927 | 563 | #: html.c:3786 html.c:5371 |
| 564 | msgid "Approve" | 564 | msgid "Approve" |
| 565 | msgstr "Підтвердити" | 565 | msgstr "Підтвердити" |
| 566 | 566 | ||
| 567 | #: html.c:3411 | 567 | #: html.c:3787 |
| 568 | msgid "Approve this follow request" | 568 | msgid "Approve this follow request" |
| 569 | msgstr "Підтвердити цей запит на підпиÑку" | 569 | msgstr "Підтвердити цей запит на підпиÑку" |
| 570 | 570 | ||
| 571 | #: html.c:3414 html.c:4951 | 571 | #: html.c:3790 html.c:5395 |
| 572 | msgid "Discard" | 572 | msgid "Discard" |
| 573 | msgstr "Відхилити" | 573 | msgstr "Відхилити" |
| 574 | 574 | ||
| 575 | #: html.c:3414 | 575 | #: html.c:3790 |
| 576 | msgid "Discard this follow request" | 576 | msgid "Discard this follow request" |
| 577 | msgstr "Відхилити цей запит на підпиÑку" | 577 | msgstr "Відхилити цей запит на підпиÑку" |
| 578 | 578 | ||
| 579 | #: html.c:3419 html.c:4795 | 579 | #: html.c:3795 html.c:5239 |
| 580 | msgid "Unmute" | 580 | msgid "Unmute" |
| 581 | msgstr "СкаÑувати глушіннÑ" | 581 | msgstr "СкаÑувати глушіннÑ" |
| 582 | 582 | ||
| 583 | #: html.c:3420 | 583 | #: html.c:3796 |
| 584 | msgid "Stop blocking activities from this user" | 584 | msgid "Stop blocking activities from this user" |
| 585 | msgstr "Припинити Ð³Ð»ÑƒÑˆÑ–Ð½Ð½Ñ Ð´Ñ–Ð¹ цього кориÑтувача" | 585 | msgstr "Припинити Ð³Ð»ÑƒÑˆÑ–Ð½Ð½Ñ Ð´Ñ–Ð¹ цього кориÑтувача" |
| 586 | 586 | ||
| 587 | #: html.c:3424 | 587 | #: html.c:3800 |
| 588 | msgid "Block any activity from this user" | 588 | msgid "Block any activity from this user" |
| 589 | msgstr "Заглушити вÑÑ– дії цього кориÑтувача" | 589 | msgstr "Заглушити вÑÑ– дії цього кориÑтувача" |
| 590 | 590 | ||
| 591 | #: html.c:3432 | 591 | #: html.c:3808 |
| 592 | msgid "Direct Message..." | 592 | msgid "Direct Message..." |
| 593 | msgstr "ОÑобиÑте повідомленнÑ..." | 593 | msgstr "ОÑобиÑте повідомленнÑ..." |
| 594 | 594 | ||
| 595 | #: html.c:3467 | 595 | #: html.c:3843 |
| 596 | msgid "Pending follow confirmations" | 596 | msgid "Pending follow confirmations" |
| 597 | msgstr "Запити на підпиÑку очікують на розглÑд" | 597 | msgstr "Запити на підпиÑку очікують на розглÑд" |
| 598 | 598 | ||
| 599 | #: html.c:3471 | 599 | #: html.c:3847 |
| 600 | msgid "People you follow" | 600 | msgid "People you follow" |
| 601 | msgstr "Ваші підпиÑки" | 601 | msgstr "Ваші підпиÑки" |
| 602 | 602 | ||
| 603 | #: html.c:3472 | 603 | #: html.c:3848 |
| 604 | msgid "People that follow you" | 604 | msgid "People that follow you" |
| 605 | msgstr "Ваші підпиÑники" | 605 | msgstr "Ваші підпиÑники" |
| 606 | 606 | ||
| 607 | #: html.c:3511 | 607 | #: html.c:3887 |
| 608 | msgid "Clear all" | 608 | msgid "Clear all" |
| 609 | msgstr "ОчиÑтити вÑе" | 609 | msgstr "ОчиÑтити вÑе" |
| 610 | 610 | ||
| 611 | #: html.c:3571 | 611 | #: html.c:3951 |
| 612 | msgid "Mention" | 612 | msgid "Mention" |
| 613 | msgstr "Згадка" | 613 | msgstr "Згадка" |
| 614 | 614 | ||
| 615 | #: html.c:3574 | 615 | #: html.c:3954 |
| 616 | msgid "Finished poll" | 616 | msgid "Finished poll" |
| 617 | msgstr "Завершене опитуваннÑ" | 617 | msgstr "Завершене опитуваннÑ" |
| 618 | 618 | ||
| 619 | #: html.c:3590 | 619 | #: html.c:3979 |
| 620 | msgid "Follow Request" | 620 | msgid "Follow Request" |
| 621 | msgstr "Запит на підпиÑку" | 621 | msgstr "Запит на підпиÑку" |
| 622 | 622 | ||
| 623 | #: html.c:3674 | 623 | #: html.c:4089 |
| 624 | msgid "Context" | 624 | msgid "Context" |
| 625 | msgstr "КонтекÑÑ‚" | 625 | msgstr "КонтекÑÑ‚" |
| 626 | 626 | ||
| 627 | #: html.c:3692 | 627 | #: html.c:4107 |
| 628 | msgid "New" | 628 | msgid "New" |
| 629 | msgstr "Ðове" | 629 | msgstr "Ðове" |
| 630 | 630 | ||
| 631 | #: html.c:3707 | 631 | #: html.c:4122 |
| 632 | msgid "Already seen" | 632 | msgid "Already seen" |
| 633 | msgstr "Вже переглÑнуто" | 633 | msgstr "Вже переглÑнуто" |
| 634 | 634 | ||
| 635 | #: html.c:3722 | 635 | #: html.c:4137 |
| 636 | msgid "None" | 636 | msgid "None" |
| 637 | msgstr "Ðема" | 637 | msgstr "Ðема" |
| 638 | 638 | ||
| 639 | #: html.c:3994 | 639 | #: html.c:4414 |
| 640 | #, c-format | 640 | #, c-format |
| 641 | msgid "Search results for account %s" | 641 | msgid "Search results for account %s" |
| 642 | msgstr "Результати пошуку Ð´Ð»Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¾Ð³Ð¾ запиÑу %s" | 642 | msgstr "Результати пошуку Ð´Ð»Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¾Ð³Ð¾ запиÑу %s" |
| 643 | 643 | ||
| 644 | #: html.c:4001 | 644 | #: html.c:4421 |
| 645 | #, c-format | 645 | #, c-format |
| 646 | msgid "Account %s not found" | 646 | msgid "Account %s not found" |
| 647 | msgstr "Обліковий Ð·Ð°Ð¿Ð¸Ñ %s не знайдений" | 647 | msgstr "Обліковий Ð·Ð°Ð¿Ð¸Ñ %s не знайдений" |
| 648 | 648 | ||
| 649 | #: html.c:4032 | 649 | #: html.c:4452 |
| 650 | #, c-format | 650 | #, c-format |
| 651 | msgid "Search results for tag %s" | 651 | msgid "Search results for tag %s" |
| 652 | msgstr "Результати пошуку тега %s" | 652 | msgstr "Результати пошуку тега %s" |
| 653 | 653 | ||
| 654 | #: html.c:4032 | 654 | #: html.c:4452 |
| 655 | #, c-format | 655 | #, c-format |
| 656 | msgid "Nothing found for tag %s" | 656 | msgid "Nothing found for tag %s" |
| 657 | msgstr "Ðічого не знайдено за тегом %s" | 657 | msgstr "Ðічого не знайдено за тегом %s" |
| 658 | 658 | ||
| 659 | #: html.c:4048 | 659 | #: html.c:4468 |
| 660 | #, c-format | 660 | #, c-format |
| 661 | msgid "Search results for '%s' (may be more)" | 661 | msgid "Search results for '%s' (may be more)" |
| 662 | msgstr "Результати пошуку Ð´Ð»Ñ '%s' (можливо Ñ” більше)" | 662 | msgstr "Результати пошуку Ð´Ð»Ñ '%s' (можливо Ñ” більше)" |
| 663 | 663 | ||
| 664 | #: html.c:4051 | 664 | #: html.c:4471 |
| 665 | #, c-format | 665 | #, c-format |
| 666 | msgid "Search results for '%s'" | 666 | msgid "Search results for '%s'" |
| 667 | msgstr "Результати пошуку Ð´Ð»Ñ '%s'" | 667 | msgstr "Результати пошуку Ð´Ð»Ñ '%s'" |
| 668 | 668 | ||
| 669 | #: html.c:4054 | 669 | #: html.c:4474 |
| 670 | #, c-format | 670 | #, c-format |
| 671 | msgid "No more matches for '%s'" | 671 | msgid "No more matches for '%s'" |
| 672 | msgstr "Ðемає більше збігів Ð´Ð»Ñ '%s'" | 672 | msgstr "Ðемає більше збігів Ð´Ð»Ñ '%s'" |
| 673 | 673 | ||
| 674 | #: html.c:4056 | 674 | #: html.c:4476 |
| 675 | #, c-format | 675 | #, c-format |
| 676 | msgid "Nothing found for '%s'" | 676 | msgid "Nothing found for '%s'" |
| 677 | msgstr "Ðічого не знайдено Ð´Ð»Ñ '%s'" | 677 | msgstr "Ðічого не знайдено Ð´Ð»Ñ '%s'" |
| 678 | 678 | ||
| 679 | #: html.c:4154 | 679 | #: html.c:4574 |
| 680 | msgid "Showing instance timeline" | 680 | msgid "Showing instance timeline" |
| 681 | msgstr "Показуємо Ñтрічку Ñервера" | 681 | msgstr "Показуємо Ñтрічку Ñервера" |
| 682 | 682 | ||
| 683 | #: html.c:4237 | 683 | #: html.c:4657 |
| 684 | #, c-format | 684 | #, c-format |
| 685 | msgid "Showing timeline for list '%s'" | 685 | msgid "Showing timeline for list '%s'" |
| 686 | msgstr "Показуємо Ñтрічку Ð´Ð»Ñ ÑпиÑку '%s'" | 686 | msgstr "Показуємо Ñтрічку Ð´Ð»Ñ ÑпиÑку '%s'" |
| 687 | 687 | ||
| 688 | #: httpd.c:258 | 688 | #: httpd.c:259 |
| 689 | #, c-format | 689 | #, c-format |
| 690 | msgid "Search results for tag #%s" | 690 | msgid "Search results for tag #%s" |
| 691 | msgstr "Результати пошуку Ð´Ð»Ñ Ñ‚ÐµÐ³Ð° #%s" | 691 | msgstr "Результати пошуку Ð´Ð»Ñ Ñ‚ÐµÐ³Ð° #%s" |
| 692 | 692 | ||
| 693 | #: httpd.c:267 | 693 | #: httpd.c:268 |
| 694 | msgid "Recent posts by users in this instance" | 694 | msgid "Recent posts by users in this instance" |
| 695 | msgstr "ОÑтанні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° цьому Ñервері" | 695 | msgstr "ОÑтанні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° цьому Ñервері" |
| 696 | 696 | ||
| 697 | #: html.c:1764 | 697 | #: html.c:1842 |
| 698 | msgid "Blocked hashtags..." | 698 | msgid "Blocked hashtags..." |
| 699 | msgstr "Заблоковані теги..." | 699 | msgstr "Заблоковані теги..." |
| 700 | 700 | ||
| 701 | #: html.c:518 | 701 | #: html.c:574 |
| 702 | msgid "Optional URL to reply to" | 702 | msgid "Optional URL to reply to" |
| 703 | msgstr "Ðеобов'Ñзковий URL Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ–" | 703 | msgstr "Ðеобов'Ñзковий URL Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ–" |
| 704 | 704 | ||
| 705 | #: html.c:695 | 705 | #: html.c:751 |
| 706 | msgid "" | 706 | msgid "" |
| 707 | "Option 1...\n" | 707 | "Option 1...\n" |
| 708 | "Option 2...\n" | 708 | "Option 2...\n" |
| @@ -714,94 +714,106 @@ msgstr "" | |||
| 714 | "Варіант 3...\n" | 714 | "Варіант 3...\n" |
| 715 | "..." | 715 | "..." |
| 716 | 716 | ||
| 717 | #: html.c:1558 | 717 | #: html.c:1636 |
| 718 | msgid "Bot API key" | 718 | msgid "Bot API key" |
| 719 | msgstr "Ключ API Ð´Ð»Ñ Ð±Ð¾Ñ‚Ð°" | 719 | msgstr "Ключ API Ð´Ð»Ñ Ð±Ð¾Ñ‚Ð°" |
| 720 | 720 | ||
| 721 | #: html.c:1564 | 721 | #: html.c:1642 |
| 722 | msgid "Chat id" | 722 | msgid "Chat id" |
| 723 | msgstr "Id чату" | 723 | msgstr "Id чату" |
| 724 | 724 | ||
| 725 | #: html.c:1572 | 725 | #: html.c:1650 |
| 726 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 726 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 727 | msgstr "повна URL Ñервера ntfy (наприклад https://ntfy.sh/YourTopic)" | 727 | msgstr "повна URL Ñервера ntfy (наприклад https://ntfy.sh/YourTopic)" |
| 728 | 728 | ||
| 729 | #: html.c:1578 | 729 | #: html.c:1656 |
| 730 | msgid "ntfy token - if needed" | 730 | msgid "ntfy token - if needed" |
| 731 | msgstr "токен ntfy - Ñкщо потрібно" | 731 | msgstr "токен ntfy - Ñкщо потрібно" |
| 732 | 732 | ||
| 733 | #: html.c:3078 | 733 | #: html.c:3366 |
| 734 | msgid "pinned" | 734 | msgid "pinned" |
| 735 | msgstr "закріплено" | 735 | msgstr "закріплено" |
| 736 | 736 | ||
| 737 | #: html.c:3090 | 737 | #: html.c:3378 |
| 738 | msgid "bookmarks" | 738 | msgid "bookmarks" |
| 739 | msgstr "закладки" | 739 | msgstr "закладки" |
| 740 | 740 | ||
| 741 | #: html.c:3102 | 741 | #: html.c:3390 |
| 742 | msgid "drafts" | 742 | msgid "drafts" |
| 743 | msgstr "чернетки" | 743 | msgstr "чернетки" |
| 744 | 744 | ||
| 745 | #: html.c:584 | 745 | #: html.c:640 |
| 746 | msgid "Scheduled post..." | 746 | msgid "Scheduled post..." |
| 747 | msgstr "Запланувати..." | 747 | msgstr "Запланувати..." |
| 748 | 748 | ||
| 749 | msgid "Post date and time:" | 749 | msgid "Post date and time:" |
| 750 | msgstr "Ð§Ð°Ñ Ð´Ð¾Ð¿Ð¸Ñу:" | 750 | msgstr "Ð§Ð°Ñ Ð´Ð¾Ð¿Ð¸Ñу:" |
| 751 | 751 | ||
| 752 | #: html.c:3113 html.c:4214 | 752 | #: html.c:3401 html.c:4634 |
| 753 | msgid "Scheduled posts" | 753 | msgid "Scheduled posts" |
| 754 | msgstr "Заплановані допиÑи" | 754 | msgstr "Заплановані допиÑи" |
| 755 | 755 | ||
| 756 | #: html.c:3114 | 756 | #: html.c:3402 |
| 757 | msgid "scheduled posts" | 757 | msgid "scheduled posts" |
| 758 | msgstr "заплановані допиÑи" | 758 | msgstr "заплановані допиÑи" |
| 759 | 759 | ||
| 760 | #: html.c:578 | 760 | #: html.c:634 |
| 761 | #, c-format | 761 | #, c-format |
| 762 | msgid "Post date and time (timezone: %s):" | 762 | msgid "Post date and time (timezone: %s):" |
| 763 | msgstr "Дата та Ñ‡Ð°Ñ Ð´Ð¾Ð¿Ð¸Ñу (чаÑовий поÑÑ: %s):" | 763 | msgstr "Дата та Ñ‡Ð°Ñ Ð´Ð¾Ð¿Ð¸Ñу (чаÑовий поÑÑ: %s):" |
| 764 | 764 | ||
| 765 | #: html.c:1689 | 765 | #: html.c:1767 |
| 766 | msgid "Time zone:" | 766 | msgid "Time zone:" |
| 767 | msgstr "ЧаÑовий поÑÑ:" | 767 | msgstr "ЧаÑовий поÑÑ:" |
| 768 | 768 | ||
| 769 | #: html.c:559 | 769 | #: html.c:615 |
| 770 | msgid "Language:" | 770 | msgid "Language:" |
| 771 | msgstr "" | 771 | msgstr "" |
| 772 | 772 | ||
| 773 | #: html.c:1580 | 773 | #: html.c:1658 |
| 774 | msgid "Notify webhook:" | 774 | msgid "Notify webhook:" |
| 775 | msgstr "" | 775 | msgstr "" |
| 776 | 776 | ||
| 777 | #: html.c:1586 | 777 | #: html.c:1664 |
| 778 | msgid "http://example.com/webhook" | 778 | msgid "http://example.com/webhook" |
| 779 | msgstr "" | 779 | msgstr "" |
| 780 | 780 | ||
| 781 | #: html.c:1694 | 781 | #: html.c:1772 |
| 782 | msgid "Languages you usually post in:" | 782 | msgid "Languages you usually post in:" |
| 783 | msgstr "" | 783 | msgstr "" |
| 784 | 784 | ||
| 785 | #: html.c:1700 | 785 | #: html.c:1778 |
| 786 | msgid "en fr es de_AT" | 786 | msgid "en fr es de_AT" |
| 787 | msgstr "" | 787 | msgstr "" |
| 788 | 788 | ||
| 789 | #: html.c:460 | 789 | #: html.c:428 |
| 790 | msgid "Visibility: " | 790 | msgid "Visibility: " |
| 791 | msgstr "" | 791 | msgstr "" |
| 792 | 792 | ||
| 793 | #: html.c:468 | ||
| 794 | msgid "Public" | 793 | msgid "Public" |
| 795 | msgstr "" | 794 | msgstr "" |
| 796 | 795 | ||
| 797 | #: html.c:477 | ||
| 798 | msgid "Unlisted" | 796 | msgid "Unlisted" |
| 799 | msgstr "" | 797 | msgstr "" |
| 800 | 798 | ||
| 801 | #: html.c:486 | ||
| 802 | msgid "Followers-only" | 799 | msgid "Followers-only" |
| 803 | msgstr "" | 800 | msgstr "" |
| 804 | 801 | ||
| 805 | #: html.c:495 | ||
| 806 | msgid "Direct Message" | 802 | msgid "Direct Message" |
| 807 | msgstr "" | 803 | msgstr "" |
| 804 | |||
| 805 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 806 | msgid "EmojiUnreact" | ||
| 807 | msgstr "" | ||
| 808 | |||
| 809 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 810 | msgid "EmojiReact" | ||
| 811 | msgstr "" | ||
| 812 | |||
| 813 | #: html.c:2115 | ||
| 814 | msgid "Emoji react..." | ||
| 815 | msgstr "" | ||
| 816 | |||
| 817 | #: html.c:2609 | ||
| 818 | msgid "Emoji reactions: " | ||
| 819 | msgstr "" | ||
| @@ -8,693 +8,693 @@ msgstr "" | |||
| 8 | "Language: zh\n" | 8 | "Language: zh\n" |
| 9 | "Content-Type: text/plain; charset=UTF-8\n" | 9 | "Content-Type: text/plain; charset=UTF-8\n" |
| 10 | 10 | ||
| 11 | #: html.c:440 | 11 | #: html.c:534 |
| 12 | msgid "Sensitive content: " | 12 | msgid "Sensitive content: " |
| 13 | msgstr "æ•æ„Ÿå†…容:" | 13 | msgstr "æ•æ„Ÿå†…容:" |
| 14 | 14 | ||
| 15 | #: html.c:448 | 15 | #: html.c:542 |
| 16 | msgid "Sensitive content description" | 16 | msgid "Sensitive content description" |
| 17 | msgstr "æ•æ„Ÿå†…容æè¿°" | 17 | msgstr "æ•æ„Ÿå†…容æè¿°" |
| 18 | 18 | ||
| 19 | msgid "Only for mentioned people: " | 19 | msgid "Only for mentioned people: " |
| 20 | msgstr "åªæœ‰æåŠåˆ°çš„人:" | 20 | msgstr "åªæœ‰æåŠåˆ°çš„人:" |
| 21 | 21 | ||
| 22 | #: html.c:514 | 22 | #: html.c:570 |
| 23 | msgid "Reply to (URL): " | 23 | msgid "Reply to (URL): " |
| 24 | msgstr "回å¤ç»™(URL):" | 24 | msgstr "回å¤ç»™(URL):" |
| 25 | 25 | ||
| 26 | #: html.c:523 | 26 | #: html.c:579 |
| 27 | msgid "Don't send, but store as a draft" | 27 | msgid "Don't send, but store as a draft" |
| 28 | msgstr "ä¸å‘é€ï¼Œä½†ä¿å˜ä¸ºè‰ç¨¿" | 28 | msgstr "ä¸å‘é€ï¼Œä½†ä¿å˜ä¸ºè‰ç¨¿" |
| 29 | 29 | ||
| 30 | #: html.c:524 | 30 | #: html.c:580 |
| 31 | msgid "Draft:" | 31 | msgid "Draft:" |
| 32 | msgstr "è‰ç¨¿ï¼š" | 32 | msgstr "è‰ç¨¿ï¼š" |
| 33 | 33 | ||
| 34 | #: html.c:614 | 34 | #: html.c:670 |
| 35 | msgid "Attachments..." | 35 | msgid "Attachments..." |
| 36 | msgstr "附件..." | 36 | msgstr "附件..." |
| 37 | 37 | ||
| 38 | #: html.c:637 | 38 | #: html.c:693 |
| 39 | msgid "File:" | 39 | msgid "File:" |
| 40 | msgstr "文件:" | 40 | msgstr "文件:" |
| 41 | 41 | ||
| 42 | #: html.c:641 | 42 | #: html.c:697 |
| 43 | msgid "Clear this field to delete the attachment" | 43 | msgid "Clear this field to delete the attachment" |
| 44 | msgstr "清除æ¤é¡¹ä»¥åˆ 除附件" | 44 | msgstr "清除æ¤é¡¹ä»¥åˆ 除附件" |
| 45 | 45 | ||
| 46 | #: html.c:650 html.c:675 | 46 | #: html.c:706 html.c:731 |
| 47 | msgid "Attachment description" | 47 | msgid "Attachment description" |
| 48 | msgstr "附件æè¿°" | 48 | msgstr "附件æè¿°" |
| 49 | 49 | ||
| 50 | #: html.c:686 | 50 | #: html.c:742 |
| 51 | msgid "Poll..." | 51 | msgid "Poll..." |
| 52 | msgstr "投票..." | 52 | msgstr "投票..." |
| 53 | 53 | ||
| 54 | #: html.c:688 | 54 | #: html.c:744 |
| 55 | msgid "Poll options (one per line, up to 8):" | 55 | msgid "Poll options (one per line, up to 8):" |
| 56 | msgstr "投票选项(æ¯è¡Œä¸€é¡¹ï¼Œæœ€å¤šå…«é¡¹ï¼‰ï¼š" | 56 | msgstr "投票选项(æ¯è¡Œä¸€é¡¹ï¼Œæœ€å¤šå…«é¡¹ï¼‰ï¼š" |
| 57 | 57 | ||
| 58 | #: html.c:700 | 58 | #: html.c:756 |
| 59 | msgid "One choice" | 59 | msgid "One choice" |
| 60 | msgstr "å•选" | 60 | msgstr "å•选" |
| 61 | 61 | ||
| 62 | #: html.c:703 | 62 | #: html.c:759 |
| 63 | msgid "Multiple choices" | 63 | msgid "Multiple choices" |
| 64 | msgstr "多选" | 64 | msgstr "多选" |
| 65 | 65 | ||
| 66 | #: html.c:709 | 66 | #: html.c:765 |
| 67 | msgid "End in 5 minutes" | 67 | msgid "End in 5 minutes" |
| 68 | msgstr "五分钟åŽç»“æŸ" | 68 | msgstr "五分钟åŽç»“æŸ" |
| 69 | 69 | ||
| 70 | #: html.c:713 | 70 | #: html.c:769 |
| 71 | msgid "End in 1 hour" | 71 | msgid "End in 1 hour" |
| 72 | msgstr "䏀尿—¶åŽç»“æŸ" | 72 | msgstr "䏀尿—¶åŽç»“æŸ" |
| 73 | 73 | ||
| 74 | #: html.c:716 | 74 | #: html.c:772 |
| 75 | msgid "End in 1 day" | 75 | msgid "End in 1 day" |
| 76 | msgstr "一天åŽç»“æŸ" | 76 | msgstr "一天åŽç»“æŸ" |
| 77 | 77 | ||
| 78 | #: html.c:724 | 78 | #: html.c:780 |
| 79 | msgid "Post" | 79 | msgid "Post" |
| 80 | msgstr "å‘布" | 80 | msgstr "å‘布" |
| 81 | 81 | ||
| 82 | #: html.c:826 html.c:833 | 82 | #: html.c:882 html.c:889 |
| 83 | msgid "Site description" | 83 | msgid "Site description" |
| 84 | msgstr "站点æè¿°" | 84 | msgstr "站点æè¿°" |
| 85 | 85 | ||
| 86 | #: html.c:844 | 86 | #: html.c:900 |
| 87 | msgid "Admin email" | 87 | msgid "Admin email" |
| 88 | msgstr "管ç†å‘˜é‚®ç®±" | 88 | msgstr "管ç†å‘˜é‚®ç®±" |
| 89 | 89 | ||
| 90 | #: html.c:857 | 90 | #: html.c:913 |
| 91 | msgid "Admin account" | 91 | msgid "Admin account" |
| 92 | msgstr "管ç†å‘˜å¸å·" | 92 | msgstr "管ç†å‘˜å¸å·" |
| 93 | 93 | ||
| 94 | #: html.c:922 html.c:1278 | 94 | #: html.c:978 html.c:1334 |
| 95 | #, c-format | 95 | #, c-format |
| 96 | msgid "%d following, %d followers" | 96 | msgid "%d following, %d followers" |
| 97 | msgstr "%d 个æ£åœ¨å…³æ³¨ï¼Œ%d 个关注者" | 97 | msgstr "%d 个æ£åœ¨å…³æ³¨ï¼Œ%d 个关注者" |
| 98 | 98 | ||
| 99 | #: html.c:1019 | 99 | #: html.c:1075 |
| 100 | msgid "RSS" | 100 | msgid "RSS" |
| 101 | msgstr "RSS" | 101 | msgstr "RSS" |
| 102 | 102 | ||
| 103 | #: html.c:1024 html.c:1063 | 103 | #: html.c:1080 html.c:1119 |
| 104 | msgid "private" | 104 | msgid "private" |
| 105 | msgstr "ç§å¯†" | 105 | msgstr "ç§å¯†" |
| 106 | 106 | ||
| 107 | #: html.c:1059 | 107 | #: html.c:1115 |
| 108 | msgid "public" | 108 | msgid "public" |
| 109 | msgstr "公开" | 109 | msgstr "公开" |
| 110 | 110 | ||
| 111 | #: html.c:1067 | 111 | #: html.c:1123 |
| 112 | msgid "notifications" | 112 | msgid "notifications" |
| 113 | msgstr "通知" | 113 | msgstr "通知" |
| 114 | 114 | ||
| 115 | #: html.c:1072 | 115 | #: html.c:1128 |
| 116 | msgid "people" | 116 | msgid "people" |
| 117 | msgstr "æˆå‘˜" | 117 | msgstr "æˆå‘˜" |
| 118 | 118 | ||
| 119 | #: html.c:1077 | 119 | #: html.c:1133 |
| 120 | msgid "instance" | 120 | msgid "instance" |
| 121 | msgstr "实例" | 121 | msgstr "实例" |
| 122 | 122 | ||
| 123 | #: html.c:1086 | 123 | #: html.c:1142 |
| 124 | msgid "" | 124 | msgid "" |
| 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " | 125 | "Search posts by URL or content (regular expression), @user@host accounts, or " |
| 126 | "#tag" | 126 | "#tag" |
| 127 | msgstr "" | 127 | msgstr "" |
| 128 | "通过 URLã€å†…容(æ£åˆ™è¡¨è¾¾å¼ï¼‰ã€@<用户å>@<主机å>å¸å·ï¼Œæˆ–者 #è¯é¢˜æ ‡ç¾ æœç´¢è´´å" | 128 | "通过 URLã€å†…容(æ£åˆ™è¡¨è¾¾å¼ï¼‰ã€@<用户å>@<主机å>å¸å·ï¼Œæˆ–者 #è¯é¢˜æ ‡ç¾ æœç´¢è´´å" |
| 129 | 129 | ||
| 130 | #: html.c:1087 | 130 | #: html.c:1143 |
| 131 | msgid "Content search" | 131 | msgid "Content search" |
| 132 | msgstr "æœç´¢å†…容" | 132 | msgstr "æœç´¢å†…容" |
| 133 | 133 | ||
| 134 | #: html.c:1213 | 134 | #: html.c:1269 |
| 135 | msgid "verified link" | 135 | msgid "verified link" |
| 136 | msgstr "已验è¯çš„链接" | 136 | msgstr "已验è¯çš„链接" |
| 137 | 137 | ||
| 138 | #: html.c:1270 html.c:2726 html.c:2739 html.c:2748 html.c:3680 | 138 | #: html.c:1326 html.c:3010 html.c:3023 html.c:3032 html.c:4095 |
| 139 | msgid "Location: " | 139 | msgid "Location: " |
| 140 | msgstr "ä½ç½®ï¼š" | 140 | msgstr "ä½ç½®ï¼š" |
| 141 | 141 | ||
| 142 | #: html.c:1302 | 142 | #: html.c:1358 |
| 143 | msgid "New Post..." | 143 | msgid "New Post..." |
| 144 | msgstr "æ–°è´´å..." | 144 | msgstr "æ–°è´´å..." |
| 145 | 145 | ||
| 146 | #: html.c:1304 | 146 | #: html.c:1360 |
| 147 | msgid "What's on your mind?" | 147 | msgid "What's on your mind?" |
| 148 | msgstr "ä½ åœ¨æƒ³ä»€ä¹ˆï¼Ÿ" | 148 | msgstr "ä½ åœ¨æƒ³ä»€ä¹ˆï¼Ÿ" |
| 149 | 149 | ||
| 150 | #: html.c:1313 | 150 | #: html.c:1369 |
| 151 | msgid "Operations..." | 151 | msgid "Operations..." |
| 152 | msgstr "æ“作..." | 152 | msgstr "æ“作..." |
| 153 | 153 | ||
| 154 | #: html.c:1328 html.c:1949 html.c:3400 html.c:4817 | 154 | #: html.c:1384 html.c:2027 html.c:3776 html.c:4044 html.c:5261 |
| 155 | msgid "Follow" | 155 | msgid "Follow" |
| 156 | msgstr "关注" | 156 | msgstr "关注" |
| 157 | 157 | ||
| 158 | #: html.c:1330 | 158 | #: html.c:1386 |
| 159 | msgid "(by URL or user@host)" | 159 | msgid "(by URL or user@host)" |
| 160 | msgstr "(通过 URL 或者 <用户å>@<主机å>)" | 160 | msgstr "(通过 URL 或者 <用户å>@<主机å>)" |
| 161 | 161 | ||
| 162 | #: html.c:1345 html.c:1925 html.c:4766 | 162 | #: html.c:1401 html.c:2003 html.c:5210 |
| 163 | msgid "Boost" | 163 | msgid "Boost" |
| 164 | msgstr "转å‘" | 164 | msgstr "转å‘" |
| 165 | 165 | ||
| 166 | #: html.c:1347 html.c:1364 | 166 | #: html.c:1403 html.c:1420 html.c:1442 |
| 167 | msgid "(by URL)" | 167 | msgid "(by URL)" |
| 168 | msgstr "(通过 URL)" | 168 | msgstr "(通过 URL)" |
| 169 | 169 | ||
| 170 | #: html.c:1362 html.c:1904 html.c:4757 | 170 | #: html.c:1418 html.c:1982 html.c:5201 |
| 171 | msgid "Like" | 171 | msgid "Like" |
| 172 | msgstr "点赞" | 172 | msgstr "点赞" |
| 173 | 173 | ||
| 174 | #: html.c:1490 | 174 | #: html.c:1568 |
| 175 | msgid "User Settings..." | 175 | msgid "User Settings..." |
| 176 | msgstr "用户设置..." | 176 | msgstr "用户设置..." |
| 177 | 177 | ||
| 178 | #: html.c:1499 | 178 | #: html.c:1577 |
| 179 | msgid "Display name:" | 179 | msgid "Display name:" |
| 180 | msgstr "显示åå—:" | 180 | msgstr "显示åå—:" |
| 181 | 181 | ||
| 182 | #: html.c:1505 | 182 | #: html.c:1583 |
| 183 | msgid "Your name" | 183 | msgid "Your name" |
| 184 | msgstr "ä½ çš„åå—" | 184 | msgstr "ä½ çš„åå—" |
| 185 | 185 | ||
| 186 | #: html.c:1507 | 186 | #: html.c:1585 |
| 187 | msgid "Avatar: " | 187 | msgid "Avatar: " |
| 188 | msgstr "头åƒï¼š" | 188 | msgstr "头åƒï¼š" |
| 189 | 189 | ||
| 190 | #: html.c:1515 | 190 | #: html.c:1593 |
| 191 | msgid "Delete current avatar" | 191 | msgid "Delete current avatar" |
| 192 | msgstr "åˆ é™¤å½“å‰å¤´åƒ" | 192 | msgstr "åˆ é™¤å½“å‰å¤´åƒ" |
| 193 | 193 | ||
| 194 | #: html.c:1517 | 194 | #: html.c:1595 |
| 195 | msgid "Header image (banner): " | 195 | msgid "Header image (banner): " |
| 196 | msgstr "页眉图åƒï¼ˆæ¨ªå¹…)" | 196 | msgstr "页眉图åƒï¼ˆæ¨ªå¹…)" |
| 197 | 197 | ||
| 198 | #: html.c:1525 | 198 | #: html.c:1603 |
| 199 | msgid "Delete current header image" | 199 | msgid "Delete current header image" |
| 200 | msgstr "åˆ é™¤å½“å‰çš„页眉图åƒ" | 200 | msgstr "åˆ é™¤å½“å‰çš„页眉图åƒ" |
| 201 | 201 | ||
| 202 | #: html.c:1527 | 202 | #: html.c:1605 |
| 203 | msgid "Bio:" | 203 | msgid "Bio:" |
| 204 | msgstr "简介" | 204 | msgstr "简介" |
| 205 | 205 | ||
| 206 | #: html.c:1533 | 206 | #: html.c:1611 |
| 207 | msgid "Write about yourself here..." | 207 | msgid "Write about yourself here..." |
| 208 | msgstr "在这里介ç»ä½ 自己..." | 208 | msgstr "在这里介ç»ä½ 自己..." |
| 209 | 209 | ||
| 210 | #: html.c:1542 | 210 | #: html.c:1620 |
| 211 | msgid "Always show sensitive content" | 211 | msgid "Always show sensitive content" |
| 212 | msgstr "æ€»æ˜¯æ˜¾ç¤ºæ•æ„Ÿå†…容" | 212 | msgstr "æ€»æ˜¯æ˜¾ç¤ºæ•æ„Ÿå†…容" |
| 213 | 213 | ||
| 214 | #: html.c:1544 | 214 | #: html.c:1622 |
| 215 | msgid "Email address for notifications:" | 215 | msgid "Email address for notifications:" |
| 216 | msgstr "用于通知的电å邮箱地å€" | 216 | msgstr "用于通知的电å邮箱地å€" |
| 217 | 217 | ||
| 218 | #: html.c:1552 | 218 | #: html.c:1630 |
| 219 | msgid "Telegram notifications (bot key and chat id):" | 219 | msgid "Telegram notifications (bot key and chat id):" |
| 220 | msgstr "Telegram 通知(bot 密钥和èŠå¤© ID)" | 220 | msgstr "Telegram 通知(bot 密钥和èŠå¤© ID)" |
| 221 | 221 | ||
| 222 | #: html.c:1566 | 222 | #: html.c:1644 |
| 223 | msgid "ntfy notifications (ntfy server and token):" | 223 | msgid "ntfy notifications (ntfy server and token):" |
| 224 | msgstr "ntfy 通知(ntfy æœåŠ¡å™¨å’Œä»¤ç‰Œï¼‰ï¼š" | 224 | msgstr "ntfy 通知(ntfy æœåŠ¡å™¨å’Œä»¤ç‰Œï¼‰ï¼š" |
| 225 | 225 | ||
| 226 | #: html.c:1588 | 226 | #: html.c:1666 |
| 227 | msgid "Maximum days to keep posts (0: server settings):" | 227 | msgid "Maximum days to keep posts (0: server settings):" |
| 228 | msgstr "ä¿å˜è´´å的最大天数(0:æœåŠ¡å™¨è®¾ç½®ï¼‰" | 228 | msgstr "ä¿å˜è´´å的最大天数(0:æœåŠ¡å™¨è®¾ç½®ï¼‰" |
| 229 | 229 | ||
| 230 | #: html.c:1602 | 230 | #: html.c:1680 |
| 231 | msgid "Drop direct messages from people you don't follow" | 231 | msgid "Drop direct messages from people you don't follow" |
| 232 | msgstr "ä¸¢å¼ƒä½ æ²¡æœ‰å…³æ³¨çš„äººçš„ç§ä¿¡" | 232 | msgstr "ä¸¢å¼ƒä½ æ²¡æœ‰å…³æ³¨çš„äººçš„ç§ä¿¡" |
| 233 | 233 | ||
| 234 | #: html.c:1611 | 234 | #: html.c:1689 |
| 235 | msgid "This account is a bot" | 235 | msgid "This account is a bot" |
| 236 | msgstr "æ¤å¸å·æ˜¯æœºå™¨äºº" | 236 | msgstr "æ¤å¸å·æ˜¯æœºå™¨äºº" |
| 237 | 237 | ||
| 238 | #: html.c:1620 | 238 | #: html.c:1698 |
| 239 | msgid "Auto-boost all mentions to this account" | 239 | msgid "Auto-boost all mentions to this account" |
| 240 | msgstr "è‡ªåŠ¨è½¬å‘æ‰€æœ‰å¯¹æ¤å¸å·çš„æåŠ" | 240 | msgstr "è‡ªåŠ¨è½¬å‘æ‰€æœ‰å¯¹æ¤å¸å·çš„æåŠ" |
| 241 | 241 | ||
| 242 | #: html.c:1629 | 242 | #: html.c:1707 |
| 243 | msgid "This account is private (posts are not shown through the web)" | 243 | msgid "This account is private (posts are not shown through the web)" |
| 244 | msgstr "这是一个ç§å¯†å¸å·ï¼ˆè´´åä¸ä¼šåœ¨ç½‘页䏿˜¾ç¤ºï¼‰" | 244 | msgstr "这是一个ç§å¯†å¸å·ï¼ˆè´´åä¸ä¼šåœ¨ç½‘页䏿˜¾ç¤ºï¼‰" |
| 245 | 245 | ||
| 246 | #: html.c:1639 | 246 | #: html.c:1717 |
| 247 | msgid "Collapse top threads by default" | 247 | msgid "Collapse top threads by default" |
| 248 | msgstr "默认收起主题帖" | 248 | msgstr "默认收起主题帖" |
| 249 | 249 | ||
| 250 | #: html.c:1648 | 250 | #: html.c:1726 |
| 251 | msgid "Follow requests must be approved" | 251 | msgid "Follow requests must be approved" |
| 252 | msgstr "关注请求必须ç»è¿‡å®¡æ‰¹" | 252 | msgstr "关注请求必须ç»è¿‡å®¡æ‰¹" |
| 253 | 253 | ||
| 254 | #: html.c:1657 | 254 | #: html.c:1735 |
| 255 | msgid "Publish follower and following metrics" | 255 | msgid "Publish follower and following metrics" |
| 256 | msgstr "展示关注者和æ£åœ¨å…³æ³¨çš„æ•°é‡" | 256 | msgstr "展示关注者和æ£åœ¨å…³æ³¨çš„æ•°é‡" |
| 257 | 257 | ||
| 258 | #: html.c:1659 | 258 | #: html.c:1737 |
| 259 | msgid "Current location:" | 259 | msgid "Current location:" |
| 260 | msgstr "当å‰ä½ç½®ï¼š" | 260 | msgstr "当å‰ä½ç½®ï¼š" |
| 261 | 261 | ||
| 262 | #: html.c:1673 | 262 | #: html.c:1751 |
| 263 | msgid "Profile metadata (key=value pairs in each line):" | 263 | msgid "Profile metadata (key=value pairs in each line):" |
| 264 | msgstr "个人资料元数æ®ï¼ˆæ¯è¡Œä¸€æ¡ é”®=值)" | 264 | msgstr "个人资料元数æ®ï¼ˆæ¯è¡Œä¸€æ¡ é”®=值)" |
| 265 | 265 | ||
| 266 | #: html.c:1684 | 266 | #: html.c:1762 |
| 267 | msgid "Web interface language:" | 267 | msgid "Web interface language:" |
| 268 | msgstr "网页界é¢è¯è¨€ï¼š" | 268 | msgstr "网页界é¢è¯è¨€ï¼š" |
| 269 | 269 | ||
| 270 | #: html.c:1703 | 270 | #: html.c:1781 |
| 271 | msgid "New password:" | 271 | msgid "New password:" |
| 272 | msgstr "新密ç :" | 272 | msgstr "新密ç :" |
| 273 | 273 | ||
| 274 | #: html.c:1710 | 274 | #: html.c:1788 |
| 275 | msgid "Repeat new password:" | 275 | msgid "Repeat new password:" |
| 276 | msgstr "é‡å¤æ–°å¯†ç :" | 276 | msgstr "é‡å¤æ–°å¯†ç :" |
| 277 | 277 | ||
| 278 | #: html.c:1720 | 278 | #: html.c:1798 |
| 279 | msgid "Update user info" | 279 | msgid "Update user info" |
| 280 | msgstr "更新用户信æ¯ï¼š" | 280 | msgstr "更新用户信æ¯ï¼š" |
| 281 | 281 | ||
| 282 | #: html.c:1731 | 282 | #: html.c:1809 |
| 283 | msgid "Followed hashtags..." | 283 | msgid "Followed hashtags..." |
| 284 | msgstr "å…³æ³¨çš„æ ‡ç¾..." | 284 | msgstr "å…³æ³¨çš„æ ‡ç¾..." |
| 285 | 285 | ||
| 286 | #: html.c:1733 html.c:1766 | 286 | #: html.c:1811 html.c:1844 |
| 287 | msgid "One hashtag per line" | 287 | msgid "One hashtag per line" |
| 288 | msgstr "æ¯è¡Œä¸€ä¸ªæ ‡ç¾" | 288 | msgstr "æ¯è¡Œä¸€ä¸ªæ ‡ç¾" |
| 289 | 289 | ||
| 290 | #: html.c:1755 html.c:1787 | 290 | #: html.c:1833 html.c:1865 |
| 291 | msgid "Update hashtags" | 291 | msgid "Update hashtags" |
| 292 | msgstr "æ›´æ–°æ ‡ç¾" | 292 | msgstr "æ›´æ–°æ ‡ç¾" |
| 293 | 293 | ||
| 294 | #: html.c:1904 | 294 | #: html.c:1982 |
| 295 | msgid "Say you like this post" | 295 | msgid "Say you like this post" |
| 296 | msgstr "è¯´ä½ å–œæ¬¢è¿™ä¸ªè´´å" | 296 | msgstr "è¯´ä½ å–œæ¬¢è¿™ä¸ªè´´å" |
| 297 | 297 | ||
| 298 | #: html.c:1909 html.c:4775 | 298 | #: html.c:1987 html.c:5219 |
| 299 | msgid "Unlike" | 299 | msgid "Unlike" |
| 300 | msgstr "ä¸å–œæ¬¢" | 300 | msgstr "ä¸å–œæ¬¢" |
| 301 | 301 | ||
| 302 | #: html.c:1909 | 302 | #: html.c:1987 |
| 303 | msgid "Nah don't like it that much" | 303 | msgid "Nah don't like it that much" |
| 304 | msgstr "å•Šï¼Œä¸æ€Žä¹ˆå–œæ¬¢è¿™ä¸ª" | 304 | msgstr "å•Šï¼Œä¸æ€Žä¹ˆå–œæ¬¢è¿™ä¸ª" |
| 305 | 305 | ||
| 306 | #: html.c:1915 html.c:4912 | 306 | #: html.c:1993 html.c:5356 |
| 307 | msgid "Unpin" | 307 | msgid "Unpin" |
| 308 | msgstr "å–æ¶ˆç½®é¡¶" | 308 | msgstr "å–æ¶ˆç½®é¡¶" |
| 309 | 309 | ||
| 310 | #: html.c:1915 | 310 | #: html.c:1993 |
| 311 | msgid "Unpin this post from your timeline" | 311 | msgid "Unpin this post from your timeline" |
| 312 | msgstr "ä»Žä½ çš„æ—¶é—´çº¿ä¸Šå–æ¶ˆç½®é¡¶è¿™ä¸ªè´´å" | 312 | msgstr "ä»Žä½ çš„æ—¶é—´çº¿ä¸Šå–æ¶ˆç½®é¡¶è¿™ä¸ªè´´å" |
| 313 | 313 | ||
| 314 | #: html.c:1918 html.c:4907 | 314 | #: html.c:1996 html.c:5351 |
| 315 | msgid "Pin" | 315 | msgid "Pin" |
| 316 | msgstr "置顶" | 316 | msgstr "置顶" |
| 317 | 317 | ||
| 318 | #: html.c:1918 | 318 | #: html.c:1996 |
| 319 | msgid "Pin this post to the top of your timeline" | 319 | msgid "Pin this post to the top of your timeline" |
| 320 | msgstr "把这æ¡è´´åç½®é¡¶åœ¨ä½ çš„æ—¶é—´çº¿ä¸Š" | 320 | msgstr "把这æ¡è´´åç½®é¡¶åœ¨ä½ çš„æ—¶é—´çº¿ä¸Š" |
| 321 | 321 | ||
| 322 | #: html.c:1925 | 322 | #: html.c:2003 |
| 323 | msgid "Announce this post to your followers" | 323 | msgid "Announce this post to your followers" |
| 324 | msgstr "å‘ä½ çš„å…³æ³¨è€…å®£å¸ƒè¿™æ¡è´´å" | 324 | msgstr "å‘ä½ çš„å…³æ³¨è€…å®£å¸ƒè¿™æ¡è´´å" |
| 325 | 325 | ||
| 326 | #: html.c:1930 html.c:4783 | 326 | #: html.c:2008 html.c:5227 |
| 327 | msgid "Unboost" | 327 | msgid "Unboost" |
| 328 | msgstr "å–æ¶ˆè½¬å‘" | 328 | msgstr "å–æ¶ˆè½¬å‘" |
| 329 | 329 | ||
| 330 | #: html.c:1930 | 330 | #: html.c:2008 |
| 331 | msgid "I regret I boosted this" | 331 | msgid "I regret I boosted this" |
| 332 | msgstr "æˆ‘åŽæ‚”转å‘这个了" | 332 | msgstr "æˆ‘åŽæ‚”转å‘这个了" |
| 333 | 333 | ||
| 334 | #: html.c:1936 html.c:4922 | 334 | #: html.c:2014 html.c:5366 |
| 335 | msgid "Unbookmark" | 335 | msgid "Unbookmark" |
| 336 | msgstr "å–æ¶ˆæ”¶è—" | 336 | msgstr "å–æ¶ˆæ”¶è—" |
| 337 | 337 | ||
| 338 | #: html.c:1936 | 338 | #: html.c:2014 |
| 339 | msgid "Delete this post from your bookmarks" | 339 | msgid "Delete this post from your bookmarks" |
| 340 | msgstr "从收è—夹ä¸åˆ 除这个贴å" | 340 | msgstr "从收è—夹ä¸åˆ 除这个贴å" |
| 341 | 341 | ||
| 342 | #: html.c:1939 html.c:4917 | 342 | #: html.c:2017 html.c:5361 |
| 343 | msgid "Bookmark" | 343 | msgid "Bookmark" |
| 344 | msgstr "æ”¶è—" | 344 | msgstr "æ”¶è—" |
| 345 | 345 | ||
| 346 | #: html.c:1939 | 346 | #: html.c:2017 |
| 347 | msgid "Add this post to your bookmarks" | 347 | msgid "Add this post to your bookmarks" |
| 348 | msgstr "把这个贴ååŠ å…¥æ”¶è—夹" | 348 | msgstr "把这个贴ååŠ å…¥æ”¶è—夹" |
| 349 | 349 | ||
| 350 | #: html.c:1945 html.c:3386 html.c:3577 html.c:4830 | 350 | #: html.c:2023 html.c:3762 html.c:3957 html.c:4042 html.c:5274 |
| 351 | msgid "Unfollow" | 351 | msgid "Unfollow" |
| 352 | msgstr "å–æ¶ˆå…³æ³¨" | 352 | msgstr "å–æ¶ˆå…³æ³¨" |
| 353 | 353 | ||
| 354 | #: html.c:1945 html.c:3387 | 354 | #: html.c:2023 html.c:3763 html.c:4042 |
| 355 | msgid "Stop following this user's activity" | 355 | msgid "Stop following this user's activity" |
| 356 | msgstr "åœæ¢å…³æ³¨æ¤ç”¨æˆ·çš„动æ€" | 356 | msgstr "åœæ¢å…³æ³¨æ¤ç”¨æˆ·çš„动æ€" |
| 357 | 357 | ||
| 358 | #: html.c:1949 html.c:3401 | 358 | #: html.c:2027 html.c:3777 html.c:4044 |
| 359 | msgid "Start following this user's activity" | 359 | msgid "Start following this user's activity" |
| 360 | msgstr "开始关注æ¤ç”¨æˆ·çš„动æ€" | 360 | msgstr "开始关注æ¤ç”¨æˆ·çš„动æ€" |
| 361 | 361 | ||
| 362 | #: html.c:1955 html.c:4860 | 362 | #: html.c:2033 html.c:5304 |
| 363 | msgid "Unfollow Group" | 363 | msgid "Unfollow Group" |
| 364 | msgstr "å–æ¶ˆå…³æ³¨ç¾¤ç»„" | 364 | msgstr "å–æ¶ˆå…³æ³¨ç¾¤ç»„" |
| 365 | 365 | ||
| 366 | #: html.c:1956 | 366 | #: html.c:2034 |
| 367 | msgid "Stop following this group or channel" | 367 | msgid "Stop following this group or channel" |
| 368 | msgstr "å–æ¶ˆå…³æ³¨è¿™ä¸ªç¾¤ç»„或频é“" | 368 | msgstr "å–æ¶ˆå…³æ³¨è¿™ä¸ªç¾¤ç»„或频é“" |
| 369 | 369 | ||
| 370 | #: html.c:1960 html.c:4847 | 370 | #: html.c:2038 html.c:5291 |
| 371 | msgid "Follow Group" | 371 | msgid "Follow Group" |
| 372 | msgstr "关注群组" | 372 | msgstr "关注群组" |
| 373 | 373 | ||
| 374 | #: html.c:1961 | 374 | #: html.c:2039 |
| 375 | msgid "Start following this group or channel" | 375 | msgid "Start following this group or channel" |
| 376 | msgstr "开始关注这个群组或频é“" | 376 | msgstr "开始关注这个群组或频é“" |
| 377 | 377 | ||
| 378 | #: html.c:1966 html.c:3423 html.c:4791 | 378 | #: html.c:2044 html.c:3799 html.c:5235 |
| 379 | msgid "MUTE" | 379 | msgid "MUTE" |
| 380 | msgstr "é™éŸ³" | 380 | msgstr "é™éŸ³" |
| 381 | 381 | ||
| 382 | #: html.c:1967 | 382 | #: html.c:2045 |
| 383 | msgid "Block any activity from this user forever" | 383 | msgid "Block any activity from this user forever" |
| 384 | msgstr "永久å±è”½æ¥è‡ªè¿™ä¸ªç”¨æˆ·çš„任何动æ€" | 384 | msgstr "永久å±è”½æ¥è‡ªè¿™ä¸ªç”¨æˆ·çš„任何动æ€" |
| 385 | 385 | ||
| 386 | #: html.c:1972 html.c:3405 html.c:4877 | 386 | #: html.c:2050 html.c:3781 html.c:5321 |
| 387 | msgid "Delete" | 387 | msgid "Delete" |
| 388 | msgstr "åˆ é™¤" | 388 | msgstr "åˆ é™¤" |
| 389 | 389 | ||
| 390 | #: html.c:1972 | 390 | #: html.c:2050 |
| 391 | msgid "Delete this post" | 391 | msgid "Delete this post" |
| 392 | msgstr "åˆ é™¤è¿™æ¡è´´å" | 392 | msgstr "åˆ é™¤è¿™æ¡è´´å" |
| 393 | 393 | ||
| 394 | #: html.c:1975 html.c:4799 | 394 | #: html.c:2053 html.c:5243 |
| 395 | msgid "Hide" | 395 | msgid "Hide" |
| 396 | msgstr "éšè—" | 396 | msgstr "éšè—" |
| 397 | 397 | ||
| 398 | #: html.c:1975 | 398 | #: html.c:2053 |
| 399 | msgid "Hide this post and its children" | 399 | msgid "Hide this post and its children" |
| 400 | msgstr "åˆ é™¤è¿™æ¡è´´ååŠå…¶å›žå¤" | 400 | msgstr "åˆ é™¤è¿™æ¡è´´ååŠå…¶å›žå¤" |
| 401 | 401 | ||
| 402 | #: html.c:2017 | 402 | #: html.c:2095 |
| 403 | msgid "Edit..." | 403 | msgid "Edit..." |
| 404 | msgstr "编辑..." | 404 | msgstr "编辑..." |
| 405 | 405 | ||
| 406 | #: html.c:2039 | 406 | #: html.c:2133 |
| 407 | msgid "Reply..." | 407 | msgid "Reply..." |
| 408 | msgstr "回å¤..." | 408 | msgstr "回å¤..." |
| 409 | 409 | ||
| 410 | #: html.c:2090 | 410 | #: html.c:2184 |
| 411 | msgid "Truncated (too deep)" | 411 | msgid "Truncated (too deep)" |
| 412 | msgstr "已被截æ–(太深了)" | 412 | msgstr "已被截æ–(太深了)" |
| 413 | 413 | ||
| 414 | #: html.c:2108 | 414 | #: html.c:2202 |
| 415 | msgid "follows you" | 415 | msgid "follows you" |
| 416 | msgstr "å…³æ³¨äº†ä½ " | 416 | msgstr "å…³æ³¨äº†ä½ " |
| 417 | 417 | ||
| 418 | #: html.c:2182 | 418 | #: html.c:2276 |
| 419 | msgid "Pinned" | 419 | msgid "Pinned" |
| 420 | msgstr "已置顶" | 420 | msgstr "已置顶" |
| 421 | 421 | ||
| 422 | #: html.c:2190 | 422 | #: html.c:2284 |
| 423 | msgid "Bookmarked" | 423 | msgid "Bookmarked" |
| 424 | msgstr "已收è—" | 424 | msgstr "已收è—" |
| 425 | 425 | ||
| 426 | #: html.c:2198 | 426 | #: html.c:2292 |
| 427 | msgid "Poll" | 427 | msgid "Poll" |
| 428 | msgstr "投票" | 428 | msgstr "投票" |
| 429 | 429 | ||
| 430 | #: html.c:2205 | 430 | #: html.c:2299 |
| 431 | msgid "Voted" | 431 | msgid "Voted" |
| 432 | msgstr "已投票" | 432 | msgstr "已投票" |
| 433 | 433 | ||
| 434 | #: html.c:2214 | 434 | #: html.c:2308 |
| 435 | msgid "Event" | 435 | msgid "Event" |
| 436 | msgstr "事件" | 436 | msgstr "事件" |
| 437 | 437 | ||
| 438 | #: html.c:2246 html.c:2275 | 438 | #: html.c:2340 html.c:2369 |
| 439 | msgid "boosted" | 439 | msgid "boosted" |
| 440 | msgstr "已转å‘" | 440 | msgstr "已转å‘" |
| 441 | 441 | ||
| 442 | #: html.c:2289 | 442 | #: html.c:2383 |
| 443 | msgid "in reply to" | 443 | msgid "in reply to" |
| 444 | msgstr "回å¤ç»™" | 444 | msgstr "回å¤ç»™" |
| 445 | 445 | ||
| 446 | #: html.c:2345 | 446 | #: html.c:2439 |
| 447 | msgid " [SENSITIVE CONTENT]" | 447 | msgid " [SENSITIVE CONTENT]" |
| 448 | msgstr "ã€æ•感内容】" | 448 | msgstr "ã€æ•感内容】" |
| 449 | 449 | ||
| 450 | #: html.c:2512 | 450 | #: html.c:2796 |
| 451 | msgid "Vote" | 451 | msgid "Vote" |
| 452 | msgstr "投票" | 452 | msgstr "投票" |
| 453 | 453 | ||
| 454 | #: html.c:2522 | 454 | #: html.c:2806 |
| 455 | msgid "Closed" | 455 | msgid "Closed" |
| 456 | msgstr "已关é—" | 456 | msgstr "已关é—" |
| 457 | 457 | ||
| 458 | #: html.c:2547 | 458 | #: html.c:2831 |
| 459 | msgid "Closes in" | 459 | msgid "Closes in" |
| 460 | msgstr "è·ç¦»å…³é—还有" | 460 | msgstr "è·ç¦»å…³é—还有" |
| 461 | 461 | ||
| 462 | #: html.c:2627 | 462 | #: html.c:2911 |
| 463 | msgid "Video" | 463 | msgid "Video" |
| 464 | msgstr "视频" | 464 | msgstr "视频" |
| 465 | 465 | ||
| 466 | #: html.c:2642 | 466 | #: html.c:2926 |
| 467 | msgid "Audio" | 467 | msgid "Audio" |
| 468 | msgstr "音频" | 468 | msgstr "音频" |
| 469 | 469 | ||
| 470 | #: html.c:2670 | 470 | #: html.c:2954 |
| 471 | msgid "Attachment" | 471 | msgid "Attachment" |
| 472 | msgstr "附件" | 472 | msgstr "附件" |
| 473 | 473 | ||
| 474 | #: html.c:2684 | 474 | #: html.c:2968 |
| 475 | msgid "Alt..." | 475 | msgid "Alt..." |
| 476 | msgstr "æè¿°..." | 476 | msgstr "æè¿°..." |
| 477 | 477 | ||
| 478 | #: html.c:2697 | 478 | #: html.c:2981 |
| 479 | msgid "Source channel or community" | 479 | msgid "Source channel or community" |
| 480 | msgstr "æ¥æºé¢‘铿ˆ–者社群" | 480 | msgstr "æ¥æºé¢‘铿ˆ–者社群" |
| 481 | 481 | ||
| 482 | #: html.c:2791 | 482 | #: html.c:3075 |
| 483 | msgid "Time: " | 483 | msgid "Time: " |
| 484 | msgstr "时间:" | 484 | msgstr "时间:" |
| 485 | 485 | ||
| 486 | #: html.c:2872 | 486 | #: html.c:3156 |
| 487 | msgid "Older..." | 487 | msgid "Older..." |
| 488 | msgstr "æ›´æ—©çš„..." | 488 | msgstr "æ›´æ—©çš„..." |
| 489 | 489 | ||
| 490 | #: html.c:2974 | 490 | #: html.c:3258 |
| 491 | msgid "about this site" | 491 | msgid "about this site" |
| 492 | msgstr "关于æ¤ç«™ç‚¹" | 492 | msgstr "关于æ¤ç«™ç‚¹" |
| 493 | 493 | ||
| 494 | #: html.c:2976 | 494 | #: html.c:3260 |
| 495 | msgid "powered by " | 495 | msgid "powered by " |
| 496 | msgstr "驱动自" | 496 | msgstr "驱动自" |
| 497 | 497 | ||
| 498 | #: html.c:3041 | 498 | #: html.c:3329 |
| 499 | msgid "Dismiss" | 499 | msgid "Dismiss" |
| 500 | msgstr "忽略" | 500 | msgstr "忽略" |
| 501 | 501 | ||
| 502 | #: html.c:3058 | 502 | #: html.c:3346 |
| 503 | #, c-format | 503 | #, c-format |
| 504 | msgid "Timeline for list '%s'" | 504 | msgid "Timeline for list '%s'" |
| 505 | msgstr "列表'%s'的时间线" | 505 | msgstr "列表'%s'的时间线" |
| 506 | 506 | ||
| 507 | #: html.c:3077 html.c:4169 | 507 | #: html.c:3365 html.c:4589 |
| 508 | msgid "Pinned posts" | 508 | msgid "Pinned posts" |
| 509 | msgstr "置顶的贴å" | 509 | msgstr "置顶的贴å" |
| 510 | 510 | ||
| 511 | #: html.c:3089 html.c:4184 | 511 | #: html.c:3377 html.c:4604 |
| 512 | msgid "Bookmarked posts" | 512 | msgid "Bookmarked posts" |
| 513 | msgstr "æ”¶è—的贴å" | 513 | msgstr "æ”¶è—的贴å" |
| 514 | 514 | ||
| 515 | #: html.c:3101 html.c:4199 | 515 | #: html.c:3389 html.c:4619 |
| 516 | msgid "Post drafts" | 516 | msgid "Post drafts" |
| 517 | msgstr "è´´åè‰ç¨¿" | 517 | msgstr "è´´åè‰ç¨¿" |
| 518 | 518 | ||
| 519 | #: html.c:3177 | 519 | #: html.c:3465 |
| 520 | msgid "No more unseen posts" | 520 | msgid "No more unseen posts" |
| 521 | msgstr "没有更多未读贴å了" | 521 | msgstr "没有更多未读贴å了" |
| 522 | 522 | ||
| 523 | #: html.c:3181 html.c:3290 | 523 | #: html.c:3469 html.c:3578 |
| 524 | msgid "Back to top" | 524 | msgid "Back to top" |
| 525 | msgstr "返回顶部" | 525 | msgstr "返回顶部" |
| 526 | 526 | ||
| 527 | #: html.c:3243 | 527 | #: html.c:3531 |
| 528 | msgid "History" | 528 | msgid "History" |
| 529 | msgstr "历å²" | 529 | msgstr "历å²" |
| 530 | 530 | ||
| 531 | #: html.c:3295 html.c:3734 | 531 | #: html.c:3583 html.c:4149 |
| 532 | msgid "More..." | 532 | msgid "More..." |
| 533 | msgstr "更多..." | 533 | msgstr "更多..." |
| 534 | 534 | ||
| 535 | #: html.c:3391 html.c:4813 | 535 | #: html.c:3767 html.c:5257 |
| 536 | msgid "Unlimit" | 536 | msgid "Unlimit" |
| 537 | msgstr "å–æ¶ˆé™åˆ¶" | 537 | msgstr "å–æ¶ˆé™åˆ¶" |
| 538 | 538 | ||
| 539 | #: html.c:3392 | 539 | #: html.c:3768 |
| 540 | msgid "Allow announces (boosts) from this user" | 540 | msgid "Allow announces (boosts) from this user" |
| 541 | msgstr "å…许æ¥è‡ªè¿™ä¸ªç”¨æˆ·çš„通知(转å‘)" | 541 | msgstr "å…许æ¥è‡ªè¿™ä¸ªç”¨æˆ·çš„通知(转å‘)" |
| 542 | 542 | ||
| 543 | #: html.c:3395 html.c:4809 | 543 | #: html.c:3771 html.c:5253 |
| 544 | msgid "Limit" | 544 | msgid "Limit" |
| 545 | msgstr "é™åˆ¶" | 545 | msgstr "é™åˆ¶" |
| 546 | 546 | ||
| 547 | #: html.c:3396 | 547 | #: html.c:3772 |
| 548 | msgid "Block announces (boosts) from this user" | 548 | msgid "Block announces (boosts) from this user" |
| 549 | msgstr "å±è”½æ¥è‡ªè¿™ä¸ªç”¨æˆ·çš„通知(转å‘)" | 549 | msgstr "å±è”½æ¥è‡ªè¿™ä¸ªç”¨æˆ·çš„通知(转å‘)" |
| 550 | 550 | ||
| 551 | #: html.c:3405 | 551 | #: html.c:3781 |
| 552 | msgid "Delete this user" | 552 | msgid "Delete this user" |
| 553 | msgstr "åˆ é™¤æ¤ç”¨æˆ·" | 553 | msgstr "åˆ é™¤æ¤ç”¨æˆ·" |
| 554 | 554 | ||
| 555 | #: html.c:3410 html.c:4927 | 555 | #: html.c:3786 html.c:5371 |
| 556 | msgid "Approve" | 556 | msgid "Approve" |
| 557 | msgstr "å…许" | 557 | msgstr "å…许" |
| 558 | 558 | ||
| 559 | #: html.c:3411 | 559 | #: html.c:3787 |
| 560 | msgid "Approve this follow request" | 560 | msgid "Approve this follow request" |
| 561 | msgstr "å…许这个关注请求" | 561 | msgstr "å…许这个关注请求" |
| 562 | 562 | ||
| 563 | #: html.c:3414 html.c:4951 | 563 | #: html.c:3790 html.c:5395 |
| 564 | msgid "Discard" | 564 | msgid "Discard" |
| 565 | msgstr "丢弃" | 565 | msgstr "丢弃" |
| 566 | 566 | ||
| 567 | #: html.c:3414 | 567 | #: html.c:3790 |
| 568 | msgid "Discard this follow request" | 568 | msgid "Discard this follow request" |
| 569 | msgstr "丢弃这个关注请求" | 569 | msgstr "丢弃这个关注请求" |
| 570 | 570 | ||
| 571 | #: html.c:3419 html.c:4795 | 571 | #: html.c:3795 html.c:5239 |
| 572 | msgid "Unmute" | 572 | msgid "Unmute" |
| 573 | msgstr "å–æ¶ˆé™éŸ³" | 573 | msgstr "å–æ¶ˆé™éŸ³" |
| 574 | 574 | ||
| 575 | #: html.c:3420 | 575 | #: html.c:3796 |
| 576 | msgid "Stop blocking activities from this user" | 576 | msgid "Stop blocking activities from this user" |
| 577 | msgstr "åœæ¢å±è”½æ¥è‡ªæ¤ç”¨æˆ·çš„动æ€" | 577 | msgstr "åœæ¢å±è”½æ¥è‡ªæ¤ç”¨æˆ·çš„动æ€" |
| 578 | 578 | ||
| 579 | #: html.c:3424 | 579 | #: html.c:3800 |
| 580 | msgid "Block any activity from this user" | 580 | msgid "Block any activity from this user" |
| 581 | msgstr "å±è”½æ¥è‡ªæ¤ç”¨æˆ·çš„任何动æ€" | 581 | msgstr "å±è”½æ¥è‡ªæ¤ç”¨æˆ·çš„任何动æ€" |
| 582 | 582 | ||
| 583 | #: html.c:3432 | 583 | #: html.c:3808 |
| 584 | msgid "Direct Message..." | 584 | msgid "Direct Message..." |
| 585 | msgstr "ç§ä¿¡..." | 585 | msgstr "ç§ä¿¡..." |
| 586 | 586 | ||
| 587 | #: html.c:3467 | 587 | #: html.c:3843 |
| 588 | msgid "Pending follow confirmations" | 588 | msgid "Pending follow confirmations" |
| 589 | msgstr "待处ç†çš„关注确认" | 589 | msgstr "待处ç†çš„关注确认" |
| 590 | 590 | ||
| 591 | #: html.c:3471 | 591 | #: html.c:3847 |
| 592 | msgid "People you follow" | 592 | msgid "People you follow" |
| 593 | msgstr "ä½ å…³æ³¨çš„äºº" | 593 | msgstr "ä½ å…³æ³¨çš„äºº" |
| 594 | 594 | ||
| 595 | #: html.c:3472 | 595 | #: html.c:3848 |
| 596 | msgid "People that follow you" | 596 | msgid "People that follow you" |
| 597 | msgstr "å…³æ³¨ä½ çš„äºº" | 597 | msgstr "å…³æ³¨ä½ çš„äºº" |
| 598 | 598 | ||
| 599 | #: html.c:3511 | 599 | #: html.c:3887 |
| 600 | msgid "Clear all" | 600 | msgid "Clear all" |
| 601 | msgstr "清除全部" | 601 | msgstr "清除全部" |
| 602 | 602 | ||
| 603 | #: html.c:3571 | 603 | #: html.c:3951 |
| 604 | msgid "Mention" | 604 | msgid "Mention" |
| 605 | msgstr "æåŠ" | 605 | msgstr "æåŠ" |
| 606 | 606 | ||
| 607 | #: html.c:3574 | 607 | #: html.c:3954 |
| 608 | msgid "Finished poll" | 608 | msgid "Finished poll" |
| 609 | msgstr "ç»“æŸæŠ•ç¥¨" | 609 | msgstr "ç»“æŸæŠ•ç¥¨" |
| 610 | 610 | ||
| 611 | #: html.c:3590 | 611 | #: html.c:3979 |
| 612 | msgid "Follow Request" | 612 | msgid "Follow Request" |
| 613 | msgstr "关注请求" | 613 | msgstr "关注请求" |
| 614 | 614 | ||
| 615 | #: html.c:3674 | 615 | #: html.c:4089 |
| 616 | msgid "Context" | 616 | msgid "Context" |
| 617 | msgstr "上下文" | 617 | msgstr "上下文" |
| 618 | 618 | ||
| 619 | #: html.c:3692 | 619 | #: html.c:4107 |
| 620 | msgid "New" | 620 | msgid "New" |
| 621 | msgstr "新建" | 621 | msgstr "新建" |
| 622 | 622 | ||
| 623 | #: html.c:3707 | 623 | #: html.c:4122 |
| 624 | msgid "Already seen" | 624 | msgid "Already seen" |
| 625 | msgstr "å·²ç»çœ‹è¿‡" | 625 | msgstr "å·²ç»çœ‹è¿‡" |
| 626 | 626 | ||
| 627 | #: html.c:3722 | 627 | #: html.c:4137 |
| 628 | msgid "None" | 628 | msgid "None" |
| 629 | msgstr "没有" | 629 | msgstr "没有" |
| 630 | 630 | ||
| 631 | #: html.c:3994 | 631 | #: html.c:4414 |
| 632 | #, c-format | 632 | #, c-format |
| 633 | msgid "Search results for account %s" | 633 | msgid "Search results for account %s" |
| 634 | msgstr "账户 %s çš„æœç´¢ç»“æžœ" | 634 | msgstr "账户 %s çš„æœç´¢ç»“æžœ" |
| 635 | 635 | ||
| 636 | #: html.c:4001 | 636 | #: html.c:4421 |
| 637 | #, c-format | 637 | #, c-format |
| 638 | msgid "Account %s not found" | 638 | msgid "Account %s not found" |
| 639 | msgstr "没有找到账户 %s" | 639 | msgstr "没有找到账户 %s" |
| 640 | 640 | ||
| 641 | #: html.c:4032 | 641 | #: html.c:4452 |
| 642 | #, c-format | 642 | #, c-format |
| 643 | msgid "Search results for tag %s" | 643 | msgid "Search results for tag %s" |
| 644 | msgstr "æ ‡ç¾ %s çš„æœç´¢ç»“æžœ" | 644 | msgstr "æ ‡ç¾ %s çš„æœç´¢ç»“æžœ" |
| 645 | 645 | ||
| 646 | #: html.c:4032 | 646 | #: html.c:4452 |
| 647 | #, c-format | 647 | #, c-format |
| 648 | msgid "Nothing found for tag %s" | 648 | msgid "Nothing found for tag %s" |
| 649 | msgstr "æ²¡æœ‰æ‰¾åˆ°æ ‡ç¾'%s'的结果" | 649 | msgstr "æ²¡æœ‰æ‰¾åˆ°æ ‡ç¾'%s'的结果" |
| 650 | 650 | ||
| 651 | #: html.c:4048 | 651 | #: html.c:4468 |
| 652 | #, c-format | 652 | #, c-format |
| 653 | msgid "Search results for '%s' (may be more)" | 653 | msgid "Search results for '%s' (may be more)" |
| 654 | msgstr "'%s'çš„æœç´¢ç»“果(å¯èƒ½è¿˜æœ‰æ›´å¤šï¼‰" | 654 | msgstr "'%s'çš„æœç´¢ç»“果(å¯èƒ½è¿˜æœ‰æ›´å¤šï¼‰" |
| 655 | 655 | ||
| 656 | #: html.c:4051 | 656 | #: html.c:4471 |
| 657 | #, c-format | 657 | #, c-format |
| 658 | msgid "Search results for '%s'" | 658 | msgid "Search results for '%s'" |
| 659 | msgstr "'%s'çš„æœç´¢ç»“æžœ" | 659 | msgstr "'%s'çš„æœç´¢ç»“æžœ" |
| 660 | 660 | ||
| 661 | #: html.c:4054 | 661 | #: html.c:4474 |
| 662 | #, c-format | 662 | #, c-format |
| 663 | msgid "No more matches for '%s'" | 663 | msgid "No more matches for '%s'" |
| 664 | msgstr "没有更多匹é…'%s'的结果了" | 664 | msgstr "没有更多匹é…'%s'的结果了" |
| 665 | 665 | ||
| 666 | #: html.c:4056 | 666 | #: html.c:4476 |
| 667 | #, c-format | 667 | #, c-format |
| 668 | msgid "Nothing found for '%s'" | 668 | msgid "Nothing found for '%s'" |
| 669 | msgstr "没有找到'%s'的结果" | 669 | msgstr "没有找到'%s'的结果" |
| 670 | 670 | ||
| 671 | #: html.c:4154 | 671 | #: html.c:4574 |
| 672 | msgid "Showing instance timeline" | 672 | msgid "Showing instance timeline" |
| 673 | msgstr "显示实例时间线" | 673 | msgstr "显示实例时间线" |
| 674 | 674 | ||
| 675 | #: html.c:4237 | 675 | #: html.c:4657 |
| 676 | #, c-format | 676 | #, c-format |
| 677 | msgid "Showing timeline for list '%s'" | 677 | msgid "Showing timeline for list '%s'" |
| 678 | msgstr "显示列表'%s'的事件线" | 678 | msgstr "显示列表'%s'的事件线" |
| 679 | 679 | ||
| 680 | #: httpd.c:258 | 680 | #: httpd.c:259 |
| 681 | #, c-format | 681 | #, c-format |
| 682 | msgid "Search results for tag #%s" | 682 | msgid "Search results for tag #%s" |
| 683 | msgstr "æ ‡ç¾ #%s çš„æœç´¢ç»“æžœ" | 683 | msgstr "æ ‡ç¾ #%s çš„æœç´¢ç»“æžœ" |
| 684 | 684 | ||
| 685 | #: httpd.c:267 | 685 | #: httpd.c:268 |
| 686 | msgid "Recent posts by users in this instance" | 686 | msgid "Recent posts by users in this instance" |
| 687 | msgstr "æ¤å®žä¾‹ä¸Šçš„用户最近的贴å" | 687 | msgstr "æ¤å®žä¾‹ä¸Šçš„用户最近的贴å" |
| 688 | 688 | ||
| 689 | #: html.c:1764 | 689 | #: html.c:1842 |
| 690 | msgid "Blocked hashtags..." | 690 | msgid "Blocked hashtags..." |
| 691 | msgstr "å·²å±è”½çš„è¯é¢˜æ ‡ç¾" | 691 | msgstr "å·²å±è”½çš„è¯é¢˜æ ‡ç¾" |
| 692 | 692 | ||
| 693 | #: html.c:518 | 693 | #: html.c:574 |
| 694 | msgid "Optional URL to reply to" | 694 | msgid "Optional URL to reply to" |
| 695 | msgstr "å¯é€‰çš„回å¤çš„网å€" | 695 | msgstr "å¯é€‰çš„回å¤çš„网å€" |
| 696 | 696 | ||
| 697 | #: html.c:695 | 697 | #: html.c:751 |
| 698 | msgid "" | 698 | msgid "" |
| 699 | "Option 1...\n" | 699 | "Option 1...\n" |
| 700 | "Option 2...\n" | 700 | "Option 2...\n" |
| @@ -706,94 +706,106 @@ msgstr "" | |||
| 706 | "选项 3...\n" | 706 | "选项 3...\n" |
| 707 | "..." | 707 | "..." |
| 708 | 708 | ||
| 709 | #: html.c:1558 | 709 | #: html.c:1636 |
| 710 | msgid "Bot API key" | 710 | msgid "Bot API key" |
| 711 | msgstr "Bot API 密钥" | 711 | msgstr "Bot API 密钥" |
| 712 | 712 | ||
| 713 | #: html.c:1564 | 713 | #: html.c:1642 |
| 714 | msgid "Chat id" | 714 | msgid "Chat id" |
| 715 | msgstr "èŠå¤© ID" | 715 | msgstr "èŠå¤© ID" |
| 716 | 716 | ||
| 717 | #: html.c:1572 | 717 | #: html.c:1650 |
| 718 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" | 718 | msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)" |
| 719 | msgstr "ntfy æœåС噍 - 完整网å€ï¼ˆä¾‹å¦‚:https://ntft.sh/YourTopic)" | 719 | msgstr "ntfy æœåС噍 - 完整网å€ï¼ˆä¾‹å¦‚:https://ntft.sh/YourTopic)" |
| 720 | 720 | ||
| 721 | #: html.c:1578 | 721 | #: html.c:1656 |
| 722 | msgid "ntfy token - if needed" | 722 | msgid "ntfy token - if needed" |
| 723 | msgstr "ntft 令牌 - 如果需è¦çš„è¯" | 723 | msgstr "ntft 令牌 - 如果需è¦çš„è¯" |
| 724 | 724 | ||
| 725 | #: html.c:3078 | 725 | #: html.c:3366 |
| 726 | msgid "pinned" | 726 | msgid "pinned" |
| 727 | msgstr "置顶" | 727 | msgstr "置顶" |
| 728 | 728 | ||
| 729 | #: html.c:3090 | 729 | #: html.c:3378 |
| 730 | msgid "bookmarks" | 730 | msgid "bookmarks" |
| 731 | msgstr "æ”¶è—夹" | 731 | msgstr "æ”¶è—夹" |
| 732 | 732 | ||
| 733 | #: html.c:3102 | 733 | #: html.c:3390 |
| 734 | msgid "drafts" | 734 | msgid "drafts" |
| 735 | msgstr "è‰ç¨¿" | 735 | msgstr "è‰ç¨¿" |
| 736 | 736 | ||
| 737 | #: html.c:584 | 737 | #: html.c:640 |
| 738 | msgid "Scheduled post..." | 738 | msgid "Scheduled post..." |
| 739 | msgstr "计划å‘布定时贴文" | 739 | msgstr "计划å‘布定时贴文" |
| 740 | 740 | ||
| 741 | msgid "Post date and time:" | 741 | msgid "Post date and time:" |
| 742 | msgstr "å‘布日期和时间" | 742 | msgstr "å‘布日期和时间" |
| 743 | 743 | ||
| 744 | #: html.c:3113 html.c:4214 | 744 | #: html.c:3401 html.c:4634 |
| 745 | msgid "Scheduled posts" | 745 | msgid "Scheduled posts" |
| 746 | msgstr "å·²å‘布的定时帖文" | 746 | msgstr "å·²å‘布的定时帖文" |
| 747 | 747 | ||
| 748 | #: html.c:3114 | 748 | #: html.c:3402 |
| 749 | msgid "scheduled posts" | 749 | msgid "scheduled posts" |
| 750 | msgstr "计划å‘布定时贴文" | 750 | msgstr "计划å‘布定时贴文" |
| 751 | 751 | ||
| 752 | #: html.c:578 | 752 | #: html.c:634 |
| 753 | #, c-format | 753 | #, c-format |
| 754 | msgid "Post date and time (timezone: %s):" | 754 | msgid "Post date and time (timezone: %s):" |
| 755 | msgstr "å‘布日期和时间(时区: %s)" | 755 | msgstr "å‘布日期和时间(时区: %s)" |
| 756 | 756 | ||
| 757 | #: html.c:1689 | 757 | #: html.c:1767 |
| 758 | msgid "Time zone:" | 758 | msgid "Time zone:" |
| 759 | msgstr "时区" | 759 | msgstr "时区" |
| 760 | 760 | ||
| 761 | #: html.c:559 | 761 | #: html.c:615 |
| 762 | msgid "Language:" | 762 | msgid "Language:" |
| 763 | msgstr "è¯è¨€" | 763 | msgstr "è¯è¨€" |
| 764 | 764 | ||
| 765 | #: html.c:1580 | 765 | #: html.c:1658 |
| 766 | msgid "Notify webhook:" | 766 | msgid "Notify webhook:" |
| 767 | msgstr "" | 767 | msgstr "" |
| 768 | 768 | ||
| 769 | #: html.c:1586 | 769 | #: html.c:1664 |
| 770 | msgid "http://example.com/webhook" | 770 | msgid "http://example.com/webhook" |
| 771 | msgstr "" | 771 | msgstr "" |
| 772 | 772 | ||
| 773 | #: html.c:1694 | 773 | #: html.c:1772 |
| 774 | msgid "Languages you usually post in:" | 774 | msgid "Languages you usually post in:" |
| 775 | msgstr "您通常使用的è¯è¨€ï¼š" | 775 | msgstr "您通常使用的è¯è¨€ï¼š" |
| 776 | 776 | ||
| 777 | #: html.c:1700 | 777 | #: html.c:1778 |
| 778 | msgid "en fr es de_AT" | 778 | msgid "en fr es de_AT" |
| 779 | msgstr "" | 779 | msgstr "" |
| 780 | 780 | ||
| 781 | #: html.c:460 | 781 | #: html.c:428 |
| 782 | msgid "Visibility: " | 782 | msgid "Visibility: " |
| 783 | msgstr "" | 783 | msgstr "" |
| 784 | 784 | ||
| 785 | #: html.c:468 | ||
| 786 | msgid "Public" | 785 | msgid "Public" |
| 787 | msgstr "" | 786 | msgstr "" |
| 788 | 787 | ||
| 789 | #: html.c:477 | ||
| 790 | msgid "Unlisted" | 788 | msgid "Unlisted" |
| 791 | msgstr "" | 789 | msgstr "" |
| 792 | 790 | ||
| 793 | #: html.c:486 | ||
| 794 | msgid "Followers-only" | 791 | msgid "Followers-only" |
| 795 | msgstr "" | 792 | msgstr "" |
| 796 | 793 | ||
| 797 | #: html.c:495 | ||
| 798 | msgid "Direct Message" | 794 | msgid "Direct Message" |
| 799 | msgstr "" | 795 | msgstr "" |
| 796 | |||
| 797 | #: html.c:488 html.c:2534 html.c:2559 html.c:5177 | ||
| 798 | msgid "EmojiUnreact" | ||
| 799 | msgstr "" | ||
| 800 | |||
| 801 | #: html.c:488 html.c:1440 html.c:2534 html.c:2559 html.c:5188 | ||
| 802 | msgid "EmojiReact" | ||
| 803 | msgstr "" | ||
| 804 | |||
| 805 | #: html.c:2115 | ||
| 806 | msgid "Emoji react..." | ||
| 807 | msgstr "" | ||
| 808 | |||
| 809 | #: html.c:2609 | ||
| 810 | msgid "Emoji reactions: " | ||
| 811 | msgstr "" | ||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2025 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_html.h" | 5 | #include "xs_html.h" |
| @@ -10,6 +10,7 @@ | |||
| 10 | #include "xs_openssl.h" | 10 | #include "xs_openssl.h" |
| 11 | #include "xs_json.h" | 11 | #include "xs_json.h" |
| 12 | #include "xs_http.h" | 12 | #include "xs_http.h" |
| 13 | #include "xs_unicode.h" | ||
| 13 | 14 | ||
| 14 | #include "snac.h" | 15 | #include "snac.h" |
| 15 | 16 | ||
| @@ -59,7 +60,7 @@ xs_str *rss_from_timeline(snac *user, const xs_list *timeline, | |||
| 59 | const char *content = xs_dict_get(msg, "content"); | 60 | const char *content = xs_dict_get(msg, "content"); |
| 60 | const char *published = xs_dict_get(msg, "published"); | 61 | const char *published = xs_dict_get(msg, "published"); |
| 61 | 62 | ||
| 62 | if (user && !xs_startswith(id, user->actor)) | 63 | if (user && !is_msg_mine(user, id)) |
| 63 | continue; | 64 | continue; |
| 64 | 65 | ||
| 65 | if (!id || !content || !published) | 66 | if (!id || !content || !published) |
| @@ -74,7 +75,14 @@ xs_str *rss_from_timeline(snac *user, const xs_list *timeline, | |||
| 74 | title = xs_regex_replace_i(title, "&[^;]+;", " "); | 75 | title = xs_regex_replace_i(title, "&[^;]+;", " "); |
| 75 | int i; | 76 | int i; |
| 76 | 77 | ||
| 77 | for (i = 0; title[i] && title[i] != '\n' && i < 50; i++); | 78 | for (i = 0; title[i] && title[i] != '\n' && i < 50; ) { |
| 79 | const char *p = &title[i]; | ||
| 80 | unsigned int cp = xs_utf8_dec(&p); | ||
| 81 | int n = p - title; | ||
| 82 | if (cp == 0xfffd || n > 50) | ||
| 83 | break; | ||
| 84 | i = n; | ||
| 85 | } | ||
| 78 | 86 | ||
| 79 | if (title[i] != '\0') { | 87 | if (title[i] != '\0') { |
| 80 | title[i] = '\0'; | 88 | title[i] = '\0'; |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #define XS_IMPLEMENTATION | 4 | #define XS_IMPLEMENTATION |
| 5 | 5 | ||
| @@ -27,11 +27,15 @@ | |||
| 27 | #include "xs_html.h" | 27 | #include "xs_html.h" |
| 28 | #include "xs_po.h" | 28 | #include "xs_po.h" |
| 29 | #include "xs_webmention.h" | 29 | #include "xs_webmention.h" |
| 30 | #include "xs_list_tools.h" | ||
| 30 | 31 | ||
| 31 | #include "snac.h" | 32 | #include "snac.h" |
| 32 | 33 | ||
| 33 | #include <sys/time.h> | 34 | #include <sys/time.h> |
| 34 | #include <sys/stat.h> | 35 | #include <sys/stat.h> |
| 36 | #include <sys/wait.h> | ||
| 37 | #include <limits.h> | ||
| 38 | #include <stdlib.h> | ||
| 35 | 39 | ||
| 36 | xs_str *srv_basedir = NULL; | 40 | xs_str *srv_basedir = NULL; |
| 37 | xs_dict *srv_config = NULL; | 41 | xs_dict *srv_config = NULL; |
| @@ -170,3 +174,150 @@ int check_password(const char *uid, const char *passwd, const char *hash) | |||
| 170 | 174 | ||
| 171 | return ret; | 175 | return ret; |
| 172 | } | 176 | } |
| 177 | |||
| 178 | |||
| 179 | int strip_media(const char *fn) | ||
| 180 | /* strips EXIF data from a file */ | ||
| 181 | { | ||
| 182 | int ret = 0; | ||
| 183 | |||
| 184 | const xs_val *v = xs_dict_get(srv_config, "strip_exif"); | ||
| 185 | |||
| 186 | if (xs_type(v) == XSTYPE_TRUE) { | ||
| 187 | /* Heuristic: find 'user/' in the path to make it relative */ | ||
| 188 | /* This works for ~/user/..., /var/snac/user/..., etc. */ | ||
| 189 | const char *r_fn = strstr(fn, "user/"); | ||
| 190 | |||
| 191 | if (r_fn == NULL) { | ||
| 192 | /* Fallback: try to strip ~/ if present */ | ||
| 193 | if (strncmp(fn, "~/", 2) == 0) | ||
| 194 | r_fn = fn + 2; | ||
| 195 | else | ||
| 196 | r_fn = fn; | ||
| 197 | } | ||
| 198 | |||
| 199 | xs *l_fn = xs_tolower_i(xs_dup(r_fn)); | ||
| 200 | |||
| 201 | /* check image extensions */ | ||
| 202 | if (xs_endswith(l_fn, ".jpg") || xs_endswith(l_fn, ".jpeg") || | ||
| 203 | xs_endswith(l_fn, ".png") || xs_endswith(l_fn, ".webp") || | ||
| 204 | xs_endswith(l_fn, ".heic") || xs_endswith(l_fn, ".heif") || | ||
| 205 | xs_endswith(l_fn, ".avif") || xs_endswith(l_fn, ".tiff") || | ||
| 206 | xs_endswith(l_fn, ".gif") || xs_endswith(l_fn, ".bmp")) { | ||
| 207 | |||
| 208 | const char *mp = xs_dict_get(srv_config, "mogrify_path"); | ||
| 209 | if (mp == NULL) | ||
| 210 | mp = "mogrify"; | ||
| 211 | |||
| 212 | xs *cmd = xs_fmt("cd \"%s\" && %s -auto-orient -strip \"%s\" 2>/dev/null", srv_basedir, mp, r_fn); | ||
| 213 | |||
| 214 | ret = system(cmd); | ||
| 215 | |||
| 216 | if (ret != 0) { | ||
| 217 | int code = 0; | ||
| 218 | if (WIFEXITED(ret)) | ||
| 219 | code = WEXITSTATUS(ret); | ||
| 220 | |||
| 221 | if (code == 127) | ||
| 222 | srv_log(xs_fmt("strip_media: error stripping %s. '%s' not found (exit 127). Set 'mogrify_path' in server.json.", r_fn, mp)); | ||
| 223 | else | ||
| 224 | srv_log(xs_fmt("strip_media: error stripping %s %d", r_fn, ret)); | ||
| 225 | } | ||
| 226 | else | ||
| 227 | srv_debug(1, xs_fmt("strip_media: stripped %s", r_fn)); | ||
| 228 | } | ||
| 229 | else | ||
| 230 | /* check video extensions */ | ||
| 231 | if (xs_endswith(l_fn, ".mp4") || xs_endswith(l_fn, ".m4v") || | ||
| 232 | xs_endswith(l_fn, ".mov") || xs_endswith(l_fn, ".webm") || | ||
| 233 | xs_endswith(l_fn, ".mkv") || xs_endswith(l_fn, ".avi")) { | ||
| 234 | |||
| 235 | const char *fp = xs_dict_get(srv_config, "ffmpeg_path"); | ||
| 236 | if (fp == NULL) | ||
| 237 | fp = "ffmpeg"; | ||
| 238 | |||
| 239 | /* ffmpeg cannot modify in-place, so we need a temp file */ | ||
| 240 | /* we must preserve valid extension for ffmpeg to guess the format */ | ||
| 241 | const char *ext = strrchr(r_fn, '.'); | ||
| 242 | if (ext == NULL) ext = ""; | ||
| 243 | xs *tmp_fn = xs_fmt("%s.tmp%s", r_fn, ext); | ||
| 244 | |||
| 245 | /* -map_metadata -1 strips all global metadata */ | ||
| 246 | /* -c copy copies input streams without re-encoding */ | ||
| 247 | /* we don't silence stderr so we can debug issues */ | ||
| 248 | /* we explicitly cd to srv_basedir to ensure relative paths work */ | ||
| 249 | xs *cmd = xs_fmt("cd \"%s\" && %s -y -i \"%s\" -map_metadata -1 -c copy \"%s\"", srv_basedir, fp, r_fn, tmp_fn); | ||
| 250 | |||
| 251 | ret = system(cmd); | ||
| 252 | |||
| 253 | if (ret != 0) { | ||
| 254 | int code = 0; | ||
| 255 | if (WIFEXITED(ret)) | ||
| 256 | code = WEXITSTATUS(ret); | ||
| 257 | |||
| 258 | if (code == 127) | ||
| 259 | srv_log(xs_fmt("strip_media: error stripping %s. '%s' not found (exit 127). Set 'ffmpeg_path' in server.json.", r_fn, fp)); | ||
| 260 | else { | ||
| 261 | srv_log(xs_fmt("strip_media: error stripping %s %d", r_fn, ret)); | ||
| 262 | srv_log(xs_fmt("strip_media: command was: %s", cmd)); | ||
| 263 | } | ||
| 264 | |||
| 265 | /* try to cleanup, just in case */ | ||
| 266 | /* unlink needs full path too if we are not in basedir */ | ||
| 267 | xs *full_tmp_fn = xs_fmt("%s/%s", srv_basedir, tmp_fn); | ||
| 268 | unlink(full_tmp_fn); | ||
| 269 | } | ||
| 270 | else { | ||
| 271 | /* rename tmp file to original */ | ||
| 272 | /* use full path for source because it was created relative to basedir */ | ||
| 273 | xs *full_tmp_fn = xs_fmt("%s/%s", srv_basedir, tmp_fn); | ||
| 274 | |||
| 275 | if (rename(full_tmp_fn, fn) == 0) | ||
| 276 | srv_debug(1, xs_fmt("strip_media: stripped %s", fn)); | ||
| 277 | else | ||
| 278 | srv_log(xs_fmt("strip_media: error renaming %s to %s", full_tmp_fn, fn)); | ||
| 279 | } | ||
| 280 | } | ||
| 281 | } | ||
| 282 | |||
| 283 | return ret; | ||
| 284 | } | ||
| 285 | |||
| 286 | |||
| 287 | int check_strip_tool(void) | ||
| 288 | { | ||
| 289 | const xs_val *v = xs_dict_get(srv_config, "strip_exif"); | ||
| 290 | int ret = 1; | ||
| 291 | |||
| 292 | if (xs_type(v) == XSTYPE_TRUE) { | ||
| 293 | /* check mogrify */ | ||
| 294 | { | ||
| 295 | const char *mp = xs_dict_get(srv_config, "mogrify_path"); | ||
| 296 | if (mp == NULL) | ||
| 297 | mp = "mogrify"; | ||
| 298 | |||
| 299 | xs *cmd = xs_fmt("%s -version 2>/dev/null >/dev/null", mp); | ||
| 300 | |||
| 301 | if (system(cmd) != 0) { | ||
| 302 | srv_log(xs_fmt("check_strip_tool: '%s' not working", mp)); | ||
| 303 | ret = 0; | ||
| 304 | } | ||
| 305 | } | ||
| 306 | |||
| 307 | /* check ffmpeg */ | ||
| 308 | if (ret) { | ||
| 309 | const char *fp = xs_dict_get(srv_config, "ffmpeg_path"); | ||
| 310 | if (fp == NULL) | ||
| 311 | fp = "ffmpeg"; | ||
| 312 | |||
| 313 | xs *cmd = xs_fmt("%s -version 2>/dev/null >/dev/null", fp); | ||
| 314 | |||
| 315 | if (system(cmd) != 0) { | ||
| 316 | srv_log(xs_fmt("check_strip_tool: '%s' not working", fp)); | ||
| 317 | ret = 0; | ||
| 318 | } | ||
| 319 | } | ||
| 320 | } | ||
| 321 | |||
| 322 | return ret; | ||
| 323 | } | ||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #define VERSION "2.85-dev" | 4 | #define VERSION "2.89" |
| 5 | 5 | ||
| 6 | #define USER_AGENT "snac/" VERSION | 6 | #define USER_AGENT "snac/" VERSION |
| 7 | 7 | ||
| @@ -105,6 +105,9 @@ int validate_uid(const char *uid); | |||
| 105 | xs_str *hash_password(const char *uid, const char *passwd, const char *nonce); | 105 | xs_str *hash_password(const char *uid, const char *passwd, const char *nonce); |
| 106 | int check_password(const char *uid, const char *passwd, const char *hash); | 106 | int check_password(const char *uid, const char *passwd, const char *hash); |
| 107 | 107 | ||
| 108 | int strip_media(const char *fn); | ||
| 109 | int check_strip_tool(void); | ||
| 110 | |||
| 108 | void srv_archive(const char *direction, const char *url, xs_dict *req, | 111 | void srv_archive(const char *direction, const char *url, xs_dict *req, |
| 109 | const char *payload, int p_size, | 112 | const char *payload, int p_size, |
| 110 | int status, xs_dict *headers, | 113 | int status, xs_dict *headers, |
| @@ -146,12 +149,15 @@ void object_touch(const char *id); | |||
| 146 | int object_admire(const char *id, const char *actor, int like); | 149 | int object_admire(const char *id, const char *actor, int like); |
| 147 | int object_unadmire(const char *id, const char *actor, int like); | 150 | int object_unadmire(const char *id, const char *actor, int like); |
| 148 | 151 | ||
| 152 | int object_emoji_react(const char *mid, const char *eid); | ||
| 153 | int object_rm_emoji_react(const char *mid, const char *eid); | ||
| 149 | int object_likes_len(const char *id); | 154 | int object_likes_len(const char *id); |
| 150 | int object_announces_len(const char *id); | 155 | int object_announces_len(const char *id); |
| 151 | 156 | ||
| 152 | xs_list *object_children(const char *id); | 157 | xs_list *object_children(const char *id); |
| 153 | xs_list *object_likes(const char *id); | 158 | xs_list *object_likes(const char *id); |
| 154 | xs_list *object_announces(const char *id); | 159 | xs_list *object_announces(const char *id); |
| 160 | xs_list *object_get_emoji_reacts(const char *id); | ||
| 155 | int object_parent(const char *md5, char parent[MD5_HEX_SIZE]); | 161 | int object_parent(const char *md5, char parent[MD5_HEX_SIZE]); |
| 156 | 162 | ||
| 157 | int object_user_cache_add(snac *snac, const char *id, const char *cachedir); | 163 | int object_user_cache_add(snac *snac, const char *id, const char *cachedir); |
| @@ -180,7 +186,8 @@ xs_str *user_index_fn(snac *user, const char *idx_name); | |||
| 180 | xs_list *timeline_simple_list(snac *user, const char *idx_name, int skip, int show, int *more); | 186 | xs_list *timeline_simple_list(snac *user, const char *idx_name, int skip, int show, int *more); |
| 181 | xs_list *timeline_list(snac *snac, const char *idx_name, int skip, int show, int *more); | 187 | xs_list *timeline_list(snac *snac, const char *idx_name, int skip, int show, int *more); |
| 182 | int timeline_add(snac *snac, const char *id, const xs_dict *o_msg); | 188 | int timeline_add(snac *snac, const char *id, const xs_dict *o_msg); |
| 183 | int timeline_admire(snac *snac, const char *id, const char *admirer, int like); | 189 | int timeline_admire(snac *snac, const char *id, const char *admirer, int like, const xs_dict *msg); |
| 190 | int timeline_emoji_react(const char *atto, const char *id, const xs_dict *o_msg); | ||
| 184 | 191 | ||
| 185 | xs_list *timeline_top_level(snac *snac, const xs_list *list); | 192 | xs_list *timeline_top_level(snac *snac, const xs_list *list); |
| 186 | void timeline_add_mark(snac *user); | 193 | void timeline_add_mark(snac *user); |
| @@ -201,6 +208,8 @@ void unmute(snac *snac, const char *actor); | |||
| 201 | int is_muted(snac *snac, const char *actor); | 208 | int is_muted(snac *snac, const char *actor); |
| 202 | xs_list *muted_list(snac *user); | 209 | xs_list *muted_list(snac *user); |
| 203 | 210 | ||
| 211 | xs_str *emoji_reacted(snac *user, const char *id); | ||
| 212 | |||
| 204 | int is_bookmarked(snac *user, const char *id); | 213 | int is_bookmarked(snac *user, const char *id); |
| 205 | int bookmark(snac *user, const char *id); | 214 | int bookmark(snac *user, const char *id); |
| 206 | int unbookmark(snac *user, const char *id); | 215 | int unbookmark(snac *user, const char *id); |
| @@ -358,6 +367,8 @@ xs_list *get_attachments(const xs_dict *msg); | |||
| 358 | 367 | ||
| 359 | xs_dict *msg_admiration(snac *snac, const char *object, const char *type); | 368 | xs_dict *msg_admiration(snac *snac, const char *object, const char *type); |
| 360 | xs_dict *msg_repulsion(snac *user, const char *id, const char *type); | 369 | xs_dict *msg_repulsion(snac *user, const char *id, const char *type); |
| 370 | xs_dict *msg_emoji_init(snac *user, const char *mid, const char *eid); | ||
| 371 | xs_dict *msg_emoji_unreact(snac *user, const char *id, const char *type); | ||
| 361 | xs_dict *msg_create(snac *snac, const xs_dict *object); | 372 | xs_dict *msg_create(snac *snac, const xs_dict *object); |
| 362 | xs_dict *msg_follow(snac *snac, const char *actor); | 373 | xs_dict *msg_follow(snac *snac, const char *actor); |
| 363 | 374 | ||
| @@ -388,6 +399,7 @@ int send_to_inbox(snac *snac, const xs_str *inbox, const xs_dict *msg, | |||
| 388 | xs_str *get_actor_inbox(const char *actor, int shared); | 399 | xs_str *get_actor_inbox(const char *actor, int shared); |
| 389 | int send_to_actor(snac *snac, const char *actor, const xs_dict *msg, | 400 | int send_to_actor(snac *snac, const char *actor, const xs_dict *msg, |
| 390 | xs_val **payload, int *p_size, int timeout); | 401 | xs_val **payload, int *p_size, int timeout); |
| 402 | int is_msg_mine(snac *user, const char *id); | ||
| 391 | int is_msg_public(const xs_dict *msg); | 403 | int is_msg_public(const xs_dict *msg); |
| 392 | int is_msg_from_private_user(const xs_dict *msg); | 404 | int is_msg_from_private_user(const xs_dict *msg); |
| 393 | int is_msg_for_me(snac *snac, const xs_dict *msg); | 405 | int is_msg_for_me(snac *snac, const xs_dict *msg); |
| @@ -403,6 +415,7 @@ int activitypub_post_handler(const xs_dict *req, const char *q_path, | |||
| 403 | char **body, int *b_size, char **ctype); | 415 | char **body, int *b_size, char **ctype); |
| 404 | 416 | ||
| 405 | xs_dict *emojis(void); | 417 | xs_dict *emojis(void); |
| 418 | xs_dict *emojis_rm_categories(void); | ||
| 406 | xs_str *format_text_with_emoji(snac *user, const char *text, int ems, const char *proxy); | 419 | xs_str *format_text_with_emoji(snac *user, const char *text, int ems, const char *proxy); |
| 407 | xs_str *not_really_markdown(const char *content, xs_list **attach, xs_list **tag); | 420 | xs_str *not_really_markdown(const char *content, xs_list **attach, xs_list **tag); |
| 408 | xs_str *sanitize(const char *content); | 421 | xs_str *sanitize(const char *content); |
| @@ -410,7 +423,7 @@ xs_str *encode_html(const char *str); | |||
| 410 | 423 | ||
| 411 | xs_str *html_timeline(snac *user, const xs_list *list, int read_only, | 424 | xs_str *html_timeline(snac *user, const xs_list *list, int read_only, |
| 412 | int skip, int show, int show_more, | 425 | int skip, int show, int show_more, |
| 413 | const char *title, const char *page, int utl, const char *error); | 426 | const char *title, const char *page, int utl, const char *error, int terse); |
| 414 | 427 | ||
| 415 | int html_get_handler(const xs_dict *req, const char *q_path, | 428 | int html_get_handler(const xs_dict *req, const char *q_path, |
| 416 | char **body, int *b_size, char **ctype, | 429 | char **body, int *b_size, char **ctype, |
| @@ -485,3 +498,5 @@ void rss_to_timeline(snac *user, const char *url); | |||
| 485 | void rss_poll_hashtags(void); | 498 | void rss_poll_hashtags(void); |
| 486 | 499 | ||
| 487 | void data_fsck(void); | 500 | void data_fsck(void); |
| 501 | |||
| 502 | xs_list *user_top_ten(snac *user, int count); | ||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_io.h" | 5 | #include "xs_io.h" |
| @@ -213,7 +213,7 @@ int snac_upgrade(xs_str **error) | |||
| 213 | object_add_ow(id, o); | 213 | object_add_ow(id, o); |
| 214 | 214 | ||
| 215 | /* if it's from us, add to public */ | 215 | /* if it's from us, add to public */ |
| 216 | if (xs_startswith(id, snac.actor)) { | 216 | if (is_msg_mine(&snac, id)) { |
| 217 | const xs_list *p; | 217 | const xs_list *p; |
| 218 | const char *v; | 218 | const char *v; |
| 219 | int c; | 219 | int c; |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_io.h" | 5 | #include "xs_io.h" |
| @@ -11,6 +11,8 @@ | |||
| 11 | #include "xs_curl.h" | 11 | #include "xs_curl.h" |
| 12 | #include "xs_regex.h" | 12 | #include "xs_regex.h" |
| 13 | #include "xs_http.h" | 13 | #include "xs_http.h" |
| 14 | #include "xs_list_tools.h" | ||
| 15 | #include "xs_set.h" | ||
| 14 | 16 | ||
| 15 | #include "snac.h" | 17 | #include "snac.h" |
| 16 | 18 | ||
| @@ -78,11 +80,15 @@ static const char * const default_css = | |||
| 78 | ".snac-list-of-lists li { display: inline; border: 1px solid #a0a0a0; border-radius: 25px;\n" | 80 | ".snac-list-of-lists li { display: inline; border: 1px solid #a0a0a0; border-radius: 25px;\n" |
| 79 | " margin-right: 0.5em; padding-left: 0.5em; padding-right: 0.5em; }\n" | 81 | " margin-right: 0.5em; padding-left: 0.5em; padding-right: 0.5em; }\n" |
| 80 | ".snac-no-more-unseen-posts { border-top: 1px solid #a0a0a0; border-bottom: 1px solid #a0a0a0; padding: 0.5em 0; margin: 1em 0; }\n" | 82 | ".snac-no-more-unseen-posts { border-top: 1px solid #a0a0a0; border-bottom: 1px solid #a0a0a0; padding: 0.5em 0; margin: 1em 0; }\n" |
| 83 | ".snac-reaction { padding:5px; padding-left: 10px; padding-right: 10px; display: inline-flex; margin-right: 5px; font-family: inherit; font-size: medium; height: 2.5rem; vertical-align:middle; align-items:center;}\n" | ||
| 84 | ".snac-reaction-image { max-width: 100%; max-height: 100%; }\n" | ||
| 85 | ".snac-reaction-div { border-left: darkgray; border-left-style: solid; margin-bottom: .3em; padding-left: .3em; border-left-width: 2px; }\n" | ||
| 81 | "@media (prefers-color-scheme: dark) { \n" | 86 | "@media (prefers-color-scheme: dark) { \n" |
| 82 | " body, input, textarea { background-color: #000; color: #fff; }\n" | 87 | " body, input, textarea { background-color: #000; color: #fff; }\n" |
| 83 | " a { color: #7799dd }\n" | 88 | " a { color: #7799dd }\n" |
| 84 | " a:visited { color: #aa99dd }\n" | 89 | " a:visited { color: #aa99dd }\n" |
| 85 | "}\n" | 90 | "}\n" |
| 91 | "select { max-width: 40%; }\n" | ||
| 86 | ; | 92 | ; |
| 87 | 93 | ||
| 88 | const char *snac_blurb = | 94 | const char *snac_blurb = |
| @@ -999,6 +1005,76 @@ void import_csv(snac *user) | |||
| 999 | snac_log(user, xs_fmt("Cannot open file %s", fn)); | 1005 | snac_log(user, xs_fmt("Cannot open file %s", fn)); |
| 1000 | } | 1006 | } |
| 1001 | 1007 | ||
| 1008 | |||
| 1009 | static int top_ten_sort(const void *v1, const void *v2) | ||
| 1010 | { | ||
| 1011 | const xs_list *l1 = *(const xs_list **)v1; | ||
| 1012 | const xs_list *l2 = *(const xs_list **)v2; | ||
| 1013 | |||
| 1014 | const char *c1 = xs_list_get(l1, 3); | ||
| 1015 | const char *c2 = xs_list_get(l2, 3); | ||
| 1016 | |||
| 1017 | return xs_cmp(c2, c1); | ||
| 1018 | } | ||
| 1019 | |||
| 1020 | |||
| 1021 | xs_list *user_top_ten(snac *user, int count) | ||
| 1022 | /* returns the top ten more popular posts by a user */ | ||
| 1023 | { | ||
| 1024 | xs *idx = xs_fmt("%s/private.idx", user->basedir); | ||
| 1025 | xs *list = index_list(idx, XS_ALL); | ||
| 1026 | xs *u_list = xs_list_new(); | ||
| 1027 | xs_set u; | ||
| 1028 | |||
| 1029 | xs_set_init(&u); | ||
| 1030 | |||
| 1031 | const char *md5; | ||
| 1032 | |||
| 1033 | xs_list_foreach(list, md5) { | ||
| 1034 | xs *obj = NULL; | ||
| 1035 | |||
| 1036 | if (!valid_status(object_get_by_md5(md5, &obj))) | ||
| 1037 | continue; | ||
| 1038 | |||
| 1039 | const char *id = xs_dict_get_def(obj, "id", "-"); | ||
| 1040 | |||
| 1041 | if (!is_msg_mine(user, id)) | ||
| 1042 | continue; | ||
| 1043 | |||
| 1044 | if (xs_set_add(&u, id) != 1) | ||
| 1045 | continue; | ||
| 1046 | |||
| 1047 | /* get metrics */ | ||
| 1048 | int ls = object_likes_len(id); | ||
| 1049 | int as = object_announces_len(id); | ||
| 1050 | |||
| 1051 | /* build the entry and convert to list */ | ||
| 1052 | xs *s = xs_fmt("%s\t%d\t%d\t%010d", id, ls, as, ls + as); | ||
| 1053 | xs *l = xs_split(s, "\t"); | ||
| 1054 | |||
| 1055 | u_list = xs_list_append(u_list, l); | ||
| 1056 | } | ||
| 1057 | |||
| 1058 | /* sort by the sum of likes and boosts */ | ||
| 1059 | xs *s_list = xs_list_sort(u_list, top_ten_sort); | ||
| 1060 | |||
| 1061 | xs_list *r = xs_list_new(); | ||
| 1062 | const xs_list *i; | ||
| 1063 | |||
| 1064 | xs_list_foreach(s_list, i) { | ||
| 1065 | r = xs_list_append(r, i); | ||
| 1066 | |||
| 1067 | if (--count <= 0) | ||
| 1068 | break; | ||
| 1069 | } | ||
| 1070 | |||
| 1071 | xs_set_free(&u); | ||
| 1072 | |||
| 1073 | return r; | ||
| 1074 | } | ||
| 1075 | |||
| 1076 | |||
| 1077 | |||
| 1002 | static const struct { | 1078 | static const struct { |
| 1003 | const char *proto; | 1079 | const char *proto; |
| 1004 | unsigned short default_port; | 1080 | unsigned short default_port; |
diff --git a/webfinger.c b/webfinger.c index 1ce5e76..264cb85 100644 --- a/webfinger.c +++ b/webfinger.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* snac - A simple, minimalistic ActivityPub instance */ | 1 | /* snac - A simple, minimalistic ActivityPub instance */ |
| 2 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 2 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 3 | 3 | ||
| 4 | #include "xs.h" | 4 | #include "xs.h" |
| 5 | #include "xs_json.h" | 5 | #include "xs_json.h" |
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_H | 3 | #ifndef _XS_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_CURL_H | 3 | #ifndef _XS_CURL_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | /* | 3 | /* |
| 4 | This is an intentionally-dead-simple FastCGI implementation; | 4 | This is an intentionally-dead-simple FastCGI implementation; |
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_GLOB_H | 3 | #ifndef _XS_GLOB_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_HEX_H | 3 | #ifndef _XS_HEX_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_HTML_H | 3 | #ifndef _XS_HTML_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_HTTP_H | 3 | #ifndef _XS_HTTP_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_HTTPD_H | 3 | #ifndef _XS_HTTPD_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_IO_H | 3 | #ifndef _XS_IO_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_JSON_H | 3 | #ifndef _XS_JSON_H |
| 4 | 4 | ||
| @@ -28,6 +28,8 @@ int xs_json_load_object(FILE *f, int maxdepth, xs_dict **d); | |||
| 28 | 28 | ||
| 29 | /** IMPLEMENTATION **/ | 29 | /** IMPLEMENTATION **/ |
| 30 | 30 | ||
| 31 | #include "xs_unicode.h" | ||
| 32 | |||
| 31 | /** JSON dumps **/ | 33 | /** JSON dumps **/ |
| 32 | 34 | ||
| 33 | static void _xs_json_dump_str(const char *data, FILE *f) | 35 | static void _xs_json_dump_str(const char *data, FILE *f) |
diff --git a/xs_list_tools.h b/xs_list_tools.h new file mode 100644 index 0000000..33d4b87 --- /dev/null +++ b/xs_list_tools.h | |||
| @@ -0,0 +1,169 @@ | |||
| 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ | ||
| 2 | |||
| 3 | #ifndef _XS_LIST_TOOLS_H | ||
| 4 | |||
| 5 | #define _XS_LIST_TOOLS_H | ||
| 6 | |||
| 7 | xs_list *xs_list_insert_sorted(xs_list *list, const xs_val *nv); | ||
| 8 | xs_list *xs_list_reverse(const xs_list *l); | ||
| 9 | xs_val **xs_list_to_array(const xs_list *l, int *len); | ||
| 10 | int xs_list_sort_cmp(const void *p1, const void *p2); | ||
| 11 | int xs_list_sort_inv_cmp(const void *p1, const void *p2); | ||
| 12 | int xs_list_sort_dict_cmp(const char *field, const void *p1, const void *p2); | ||
| 13 | xs_list *xs_list_sort(const xs_list *l, int (*cmp)(const void *, const void *)); | ||
| 14 | xs_list *xs_list_shuffle(const xs_list *l); | ||
| 15 | |||
| 16 | #ifdef XS_IMPLEMENTATION | ||
| 17 | |||
| 18 | #include "xs_random.h" | ||
| 19 | |||
| 20 | xs_list *xs_list_insert_sorted(xs_list *list, const xs_val *nv) | ||
| 21 | /* inserts a string in the list in its ordered position */ | ||
| 22 | { | ||
| 23 | XS_ASSERT_TYPE(list, XSTYPE_LIST); | ||
| 24 | |||
| 25 | int offset = xs_size(list); | ||
| 26 | |||
| 27 | const xs_val *v; | ||
| 28 | xs_list_foreach(list, v) { | ||
| 29 | /* if this element is greater or equal, insert here */ | ||
| 30 | if (xs_cmp(v, nv) >= 0) { | ||
| 31 | offset = v - list; | ||
| 32 | break; | ||
| 33 | } | ||
| 34 | } | ||
| 35 | |||
| 36 | return _xs_list_write_litem(list, offset - 1, nv, xs_size(nv)); | ||
| 37 | } | ||
| 38 | |||
| 39 | |||
| 40 | xs_list *xs_list_reverse(const xs_list *l) | ||
| 41 | /* creates a new list as a reverse version of l */ | ||
| 42 | { | ||
| 43 | xs_list *n = xs_dup(l); | ||
| 44 | const xs_val *v; | ||
| 45 | |||
| 46 | /* move to one byte before the EOM */ | ||
| 47 | char *p = n + xs_size(n) - 1; | ||
| 48 | |||
| 49 | xs_list_foreach(l, v) { | ||
| 50 | /* size of v, plus the LITEM */ | ||
| 51 | int z = xs_size(v) + 1; | ||
| 52 | |||
| 53 | p -= z; | ||
| 54 | |||
| 55 | /* copy v, including its LITEM */ | ||
| 56 | memcpy(p, v - 1, z); | ||
| 57 | } | ||
| 58 | |||
| 59 | return n; | ||
| 60 | } | ||
| 61 | |||
| 62 | |||
| 63 | xs_val **xs_list_to_array(const xs_list *l, int *len) | ||
| 64 | /* converts a list to an array of values */ | ||
| 65 | /* must be freed after use */ | ||
| 66 | { | ||
| 67 | *len = xs_list_len(l); | ||
| 68 | xs_val **a = xs_realloc(NULL, *len * sizeof(xs_val *)); | ||
| 69 | const xs_val *v; | ||
| 70 | int n = 0; | ||
| 71 | |||
| 72 | xs_list_foreach(l, v) | ||
| 73 | a[n++] = (xs_val *)v; | ||
| 74 | |||
| 75 | return a; | ||
| 76 | } | ||
| 77 | |||
| 78 | |||
| 79 | int xs_list_sort_cmp(const void *p1, const void *p2) | ||
| 80 | /* default list sorting function */ | ||
| 81 | { | ||
| 82 | const xs_val *v1 = *(xs_val **)p1; | ||
| 83 | const xs_val *v2 = *(xs_val **)p2; | ||
| 84 | |||
| 85 | return xs_cmp(v1, v2); | ||
| 86 | } | ||
| 87 | |||
| 88 | |||
| 89 | int xs_list_sort_inv_cmp(const void *p1, const void *p2) | ||
| 90 | /* default list inverse sorting function */ | ||
| 91 | { | ||
| 92 | const xs_val *v1 = *(xs_val **)p1; | ||
| 93 | const xs_val *v2 = *(xs_val **)p2; | ||
| 94 | |||
| 95 | return xs_cmp(v2, v1); | ||
| 96 | } | ||
| 97 | |||
| 98 | |||
| 99 | int xs_list_sort_dict_cmp(const char *field, const void *p1, const void *p2) | ||
| 100 | /* compare sorting function for a field an array of dicts */ | ||
| 101 | { | ||
| 102 | const xs_dict *d1 = *(xs_val **)p1; | ||
| 103 | const xs_dict *d2 = *(xs_val **)p2; | ||
| 104 | |||
| 105 | if (xs_type(d1) != XSTYPE_DICT || xs_type(d2) != XSTYPE_DICT) | ||
| 106 | return 0; | ||
| 107 | |||
| 108 | return xs_cmp(xs_dict_get_def(d1, field, ""), | ||
| 109 | xs_dict_get_def(d2, field, "")); | ||
| 110 | } | ||
| 111 | |||
| 112 | |||
| 113 | xs_list *xs_list_sort(const xs_list *l, int (*cmp)(const void *, const void *)) | ||
| 114 | /* returns a sorted copy of l. cmp can be null for standard sorting */ | ||
| 115 | { | ||
| 116 | int sz; | ||
| 117 | xs_val **a = xs_list_to_array(l, &sz); | ||
| 118 | xs_list *nl = xs_dup(l); | ||
| 119 | char *p = nl + 1 + _XS_TYPE_SIZE; | ||
| 120 | |||
| 121 | /* sort the array */ | ||
| 122 | qsort(a, sz, sizeof(xs_val *), cmp ? cmp : xs_list_sort_cmp); | ||
| 123 | |||
| 124 | /* transfer the sorted list over the copy */ | ||
| 125 | for (int n = 0; n < sz; n++) { | ||
| 126 | /* get the litem */ | ||
| 127 | const char *e = a[n] - 1; | ||
| 128 | int z = xs_size(e); | ||
| 129 | |||
| 130 | memcpy(p, e, z); | ||
| 131 | p += z; | ||
| 132 | } | ||
| 133 | |||
| 134 | xs_free(a); | ||
| 135 | |||
| 136 | return nl; | ||
| 137 | } | ||
| 138 | |||
| 139 | |||
| 140 | xs_list *xs_list_shuffle(const xs_list *l) | ||
| 141 | /* returns a shuffled list */ | ||
| 142 | { | ||
| 143 | int sz; | ||
| 144 | xs_val **a = xs_list_to_array(l, &sz); | ||
| 145 | xs_list *nl = xs_list_new(); | ||
| 146 | unsigned int seed = 0; | ||
| 147 | |||
| 148 | xs_rnd_buf(&seed, sizeof(seed)); | ||
| 149 | |||
| 150 | /* shuffle */ | ||
| 151 | for (int n = sz - 1; n > 0; n--) { | ||
| 152 | int m = xs_rnd_int32_d(&seed) % n; | ||
| 153 | void *p = a[n]; | ||
| 154 | a[n] = a[m]; | ||
| 155 | a[m] = p; | ||
| 156 | } | ||
| 157 | |||
| 158 | for (int n = 0; n < sz; n++) | ||
| 159 | nl = xs_list_append(nl, a[n]); | ||
| 160 | |||
| 161 | xs_free(a); | ||
| 162 | |||
| 163 | return nl; | ||
| 164 | } | ||
| 165 | |||
| 166 | |||
| 167 | #endif /* XS_IMPLEMENTATION */ | ||
| 168 | |||
| 169 | #endif /* XS_LIST_TOOLS_H */ | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_MATCH_H | 3 | #ifndef _XS_MATCH_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_MIME_H | 3 | #ifndef _XS_MIME_H |
| 4 | 4 | ||
diff --git a/xs_openssl.h b/xs_openssl.h index f215bcc..64b59dd 100644 --- a/xs_openssl.h +++ b/xs_openssl.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_OPENSSL_H | 3 | #ifndef _XS_OPENSSL_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2025 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_PO_H | 3 | #ifndef _XS_PO_H |
| 4 | 4 | ||
diff --git a/xs_random.h b/xs_random.h index f936099..357f9cb 100644 --- a/xs_random.h +++ b/xs_random.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_RANDOM_H | 3 | #ifndef _XS_RANDOM_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_REGEX_H | 3 | #ifndef _XS_REGEX_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_SET_H | 3 | #ifndef _XS_SET_H |
| 4 | 4 | ||
diff --git a/xs_socket.h b/xs_socket.h index 7bf5298..70bfe98 100644 --- a/xs_socket.h +++ b/xs_socket.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_SOCKET_H | 3 | #ifndef _XS_SOCKET_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_TIME_H | 3 | #ifndef _XS_TIME_H |
| 4 | 4 | ||
diff --git a/xs_unicode.h b/xs_unicode.h index 67b3827..7686dcd 100644 --- a/xs_unicode.h +++ b/xs_unicode.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_UNICODE_H | 3 | #ifndef _XS_UNICODE_H |
| 4 | 4 | ||
| @@ -22,6 +22,7 @@ | |||
| 22 | int xs_unicode_nfc(unsigned int base, unsigned int diac, unsigned int *cpoint); | 22 | int xs_unicode_nfc(unsigned int base, unsigned int diac, unsigned int *cpoint); |
| 23 | int xs_unicode_is_alpha(unsigned int cpoint); | 23 | int xs_unicode_is_alpha(unsigned int cpoint); |
| 24 | int xs_unicode_is_right_to_left(unsigned int cpoint); | 24 | int xs_unicode_is_right_to_left(unsigned int cpoint); |
| 25 | int xs_is_emoji(unsigned int cpoint); | ||
| 25 | 26 | ||
| 26 | #ifdef _XS_H | 27 | #ifdef _XS_H |
| 27 | xs_str *xs_utf8_insert(xs_str *str, unsigned int cpoint, int *offset); | 28 | xs_str *xs_utf8_insert(xs_str *str, unsigned int cpoint, int *offset); |
| @@ -134,6 +135,12 @@ static unsigned int xs_unicode_width_table[] = { | |||
| 134 | 0x20000, 0x2fffd, 2 /* more CJK */ | 135 | 0x20000, 0x2fffd, 2 /* more CJK */ |
| 135 | }; | 136 | }; |
| 136 | 137 | ||
| 138 | /* magic number from https://en.wikipedia.org/wiki/Emoji#Unicode_blocks */ | ||
| 139 | int xs_is_emoji(unsigned int cpoint) { | ||
| 140 | /* returns wether the input is an utf8 emoji */ | ||
| 141 | return cpoint > 0x00A9 && cpoint < 0x1ffff; | ||
| 142 | } | ||
| 143 | |||
| 137 | int xs_unicode_width(unsigned int cpoint) | 144 | int xs_unicode_width(unsigned int cpoint) |
| 138 | /* returns the width in columns of a Unicode codepoint (somewhat simplified) */ | 145 | /* returns the width in columns of a Unicode codepoint (somewhat simplified) */ |
| 139 | { | 146 | { |
diff --git a/xs_unix_socket.h b/xs_unix_socket.h index 462a5b3..1ef7d39 100644 --- a/xs_unix_socket.h +++ b/xs_unix_socket.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_UNIX_SOCKET_H | 3 | #ifndef _XS_UNIX_SOCKET_H |
| 4 | 4 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2022 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_URL_H | 3 | #ifndef _XS_URL_H |
| 4 | 4 | ||
| @@ -6,6 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | xs_str *xs_url_dec(const char *str); | 7 | xs_str *xs_url_dec(const char *str); |
| 8 | xs_str *xs_url_enc(const char *str); | 8 | xs_str *xs_url_enc(const char *str); |
| 9 | xs_str *xs_url_dec_emoji(const char *str); | ||
| 9 | xs_dict *xs_url_vars(const char *str); | 10 | xs_dict *xs_url_vars(const char *str); |
| 10 | xs_dict *xs_multipart_form_data(const char *payload, int p_size, const char *header); | 11 | xs_dict *xs_multipart_form_data(const char *payload, int p_size, const char *header); |
| 11 | 12 | ||
| @@ -79,6 +80,38 @@ xs_str *xs_url_dec(const char *str) | |||
| 79 | } | 80 | } |
| 80 | 81 | ||
| 81 | 82 | ||
| 83 | xs_str *xs_url_dec_emoji(const char *str) | ||
| 84 | /* decodes an URL, returns NULL if not every char is an encoded hex */ | ||
| 85 | { | ||
| 86 | xs_str *s = xs_str_new(NULL); | ||
| 87 | |||
| 88 | while (*str) { | ||
| 89 | if (!xs_is_string(str)) | ||
| 90 | break; | ||
| 91 | |||
| 92 | if (*str == '%') { | ||
| 93 | unsigned int i; | ||
| 94 | |||
| 95 | if (sscanf(str + 1, "%02x", &i) == 1) { | ||
| 96 | unsigned char uc = i; | ||
| 97 | |||
| 98 | if (!xs_is_string((char *)&uc)) | ||
| 99 | break; | ||
| 100 | |||
| 101 | s = xs_append_m(s, (char *)&uc, 1); | ||
| 102 | str += 2; | ||
| 103 | } | ||
| 104 | } | ||
| 105 | else | ||
| 106 | return NULL; | ||
| 107 | |||
| 108 | str++; | ||
| 109 | } | ||
| 110 | |||
| 111 | return s; | ||
| 112 | } | ||
| 113 | |||
| 114 | |||
| 82 | xs_str *xs_url_enc(const char *str) | 115 | xs_str *xs_url_enc(const char *str) |
| 83 | /* URL-encodes a string (RFC 3986) */ | 116 | /* URL-encodes a string (RFC 3986) */ |
| 84 | { | 117 | { |
diff --git a/xs_version.h b/xs_version.h index 34a7a45..92a865e 100644 --- a/xs_version.h +++ b/xs_version.h | |||
| @@ -1 +1 @@ | |||
| /* 0a8b987d7bb945fe7844411727d03ac73f417455 2025-10-14T05:21:05+02:00 */ | /* 270f9376eabd4f8e0ed3ae22a1f8eb6e06ea8b8b 2026-01-10T20:39:12+01:00 */ | ||
diff --git a/xs_webmention.h b/xs_webmention.h index f9578b4..035b3a6 100644 --- a/xs_webmention.h +++ b/xs_webmention.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* copyright (c) 2025 grunfink et al. / MIT license */ | 1 | /* copyright (c) 2025 - 2026 grunfink et al. / MIT license */ |
| 2 | 2 | ||
| 3 | #ifndef _XS_WEBMENTION_H | 3 | #ifndef _XS_WEBMENTION_H |
| 4 | 4 | ||