summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--RELEASE_NOTES.md30
-rw-r--r--activitypub.c220
-rw-r--r--doc/snac.117
-rw-r--r--doc/snac.829
-rw-r--r--html.c111
-rw-r--r--main.c11
-rw-r--r--mastoapi.c4
-rw-r--r--po/cs.po733
-rw-r--r--po/de.po736
-rw-r--r--po/en.po372
-rw-r--r--po/es.po735
-rw-r--r--po/es_AR.po735
-rw-r--r--po/es_UY.po735
-rw-r--r--po/fi.po733
-rw-r--r--po/fr.po734
-rw-r--r--po/pt_BR.po734
-rw-r--r--po/ru.po744
-rw-r--r--po/zh.po737
-rw-r--r--snac.h4
20 files changed, 7860 insertions, 295 deletions
diff --git a/Makefile b/Makefile
index 4ba6862..d6389b5 100644
--- a/Makefile
+++ b/Makefile
@@ -42,6 +42,7 @@ update-po:
42 mkdir -p po 42 mkdir -p po
43 [ -f "po/en.po" ] || xgettext -o po/en.po --language=C --keyword=L --from-code=utf-8 *.c 43 [ -f "po/en.po" ] || xgettext -o po/en.po --language=C --keyword=L --from-code=utf-8 *.c
44 for a in po/*.po ; do \ 44 for a in po/*.po ; do \
45 sed -i -e '/^#:/d' $$a ; \
45 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 ; \
46 done 47 done
47 48
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index f8566a2..004de44 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,5 +1,35 @@
1# Release Notes 1# Release Notes
2 2
3## UNRELEASED
4
5Added Spanish (default, Argentina and Uruguay) translation (contributed by gnemmi).
6
7Added Czech translation (contributed by pmjv).
8
9Added Brazilian Portuguese translation (contributed by daltux).
10
11Added Finnish translation (contributed by inz).
12
13Added French translation (contributed by Popolon).
14
15Added Russian translation (contributed by sn4il).
16
17Added Chinese translation (contributed by mistivia).
18
19Added German translation (contributed by zen).
20
21## 2.73
22
23Added support for customizing and translating the web UI language via simple `.po` files. For more information on how to install language files or create new ones, please see `snac(8)` (the administrator manual).
24
25New user support for blocking hashtags from the web UI.
26
27The `Content-Security-Policy` HTTP header is now always sent to disable any JavaScript, instead of just being suggested in the documentation.
28
29Image attachments in SVG format are now disabled by default; you can enable them back by setting the `enable_svg` value to `true` in `server.json`.
30
31Several fixes (contributed by inz).
32
3## 2.72 33## 2.72
4 34
5Each post can have more than one attachment from the web UI. The maximum number can be configured in `server.json` via the `max_attachments` value (default: 4). 35Each post can have more than one attachment from the web UI. The maximum number can be configured in `server.json` via the `max_attachments` value (default: 4).
diff --git a/activitypub.c b/activitypub.c
index a209abd..aa679a0 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -329,6 +329,52 @@ xs_list *get_attachments(const xs_dict *msg)
329} 329}
330 330
331 331
332int hashtag_in_msg(const xs_list *hashtags, const xs_dict *msg)
333/* returns 1 if the message contains any of the list of hashtags */
334{
335 if (xs_is_list(hashtags) && xs_is_dict(msg)) {
336 const xs_list *tags_in_msg = xs_dict_get(msg, "tag");
337
338 if (xs_is_list(tags_in_msg)) {
339 const xs_dict *te;
340
341 /* iterate the tags in the message */
342 xs_list_foreach(tags_in_msg, te) {
343 if (xs_is_dict(te)) {
344 const char *type = xs_dict_get(te, "type");
345 const char *name = xs_dict_get(te, "name");
346
347 if (xs_is_string(type) && xs_is_string(name)) {
348 if (strcmp(type, "Hashtag") == 0) {
349 xs *lc_name = xs_utf8_to_lower(name);
350
351 if (xs_list_in(hashtags, lc_name) != -1)
352 return 1;
353 }
354 }
355 }
356 }
357 }
358 }
359
360 return 0;
361}
362
363
364int followed_hashtag_check(snac *user, const xs_dict *msg)
365/* returns 1 if this message contains a hashtag followed by me */
366{
367 return hashtag_in_msg(xs_dict_get(user->config, "followed_hashtags"), msg);
368}
369
370
371int blocked_hashtag_check(snac *user, const xs_dict *msg)
372/* returns 1 if this message contains a hashtag blocked by me */
373{
374 return hashtag_in_msg(xs_dict_get(user->config, "blocked_hashtags"), msg);
375}
376
377
332int timeline_request(snac *snac, const char **id, xs_str **wrk, int level) 378int timeline_request(snac *snac, const char **id, xs_str **wrk, int level)
333/* ensures that an entry and its ancestors are in the timeline */ 379/* ensures that an entry and its ancestors are in the timeline */
334{ 380{
@@ -344,68 +390,71 @@ int timeline_request(snac *snac, const char **id, xs_str **wrk, int level)
344 } 390 }
345 391
346 /* is the object already there? */ 392 /* is the object already there? */
347 if (!valid_status(object_get(*id, &msg))) { 393 if (!valid_status((status = object_get(*id, &msg)))) {
348 /* no; download it */ 394 /* no; download it */
349 status = activitypub_request(snac, *id, &msg); 395 status = activitypub_request(snac, *id, &msg);
396 }
350 397
351 if (valid_status(status)) { 398 if (valid_status(status)) {
352 const xs_dict *object = msg; 399 const xs_dict *object = msg;
353 const char *type = xs_dict_get(object, "type"); 400 const char *type = xs_dict_get(object, "type");
354 401
355 /* get the id again from the object, as it may be different */ 402 /* get the id again from the object, as it may be different */
356 const char *nid = xs_dict_get(object, "id"); 403 const char *nid = xs_dict_get(object, "id");
357 404
358 if (xs_type(nid) != XSTYPE_STRING) 405 if (xs_type(nid) != XSTYPE_STRING)
359 return 0; 406 return 0;
360 407
361 if (wrk && strcmp(nid, *id) != 0) { 408 if (wrk && strcmp(nid, *id) != 0) {
362 snac_debug(snac, 1, 409 snac_debug(snac, 1,
363 xs_fmt("timeline_request canonical id for %s is %s", *id, nid)); 410 xs_fmt("timeline_request canonical id for %s is %s", *id, nid));
364 411
365 *wrk = xs_dup(nid); 412 *wrk = xs_dup(nid);
366 *id = *wrk; 413 *id = *wrk;
367 } 414 }
368 415
369 if (xs_is_null(type)) 416 if (xs_is_null(type))
370 type = "(null)"; 417 type = "(null)";
371 418
372 srv_debug(2, xs_fmt("timeline_request type %s '%s'", nid, type)); 419 srv_debug(2, xs_fmt("timeline_request type %s '%s'", nid, type));
373 420
374 if (strcmp(type, "Create") == 0) { 421 if (strcmp(type, "Create") == 0) {
375 /* some software like lemmy nest Announce + Create + Note */ 422 /* some software like lemmy nest Announce + Create + Note */
376 if (!xs_is_null(object = xs_dict_get(object, "object"))) { 423 if (!xs_is_null(object = xs_dict_get(object, "object"))) {
377 type = xs_dict_get(object, "type"); 424 type = xs_dict_get(object, "type");
378 nid = xs_dict_get(object, "id"); 425 nid = xs_dict_get(object, "id");
379 }
380 else
381 type = "(null)";
382 } 426 }
427 else
428 type = "(null)";
429 }
383 430
384 if (xs_match(type, POSTLIKE_OBJECT_TYPE)) { 431 if (xs_match(type, POSTLIKE_OBJECT_TYPE)) {
385 if (content_match("filter_reject.txt", object)) 432 if (content_match("filter_reject.txt", object))
386 snac_log(snac, xs_fmt("timeline_request rejected by content %s", nid)); 433 snac_log(snac, xs_fmt("timeline_request rejected by content %s", nid));
387 else { 434 else
388 const char *actor = get_atto(object); 435 if (blocked_hashtag_check(snac, object))
389 436 snac_log(snac, xs_fmt("timeline_request rejected by hashtag %s", nid));
390 if (!xs_is_null(actor)) { 437 else {
391 /* request (and drop) the actor for this entry */ 438 const char *actor = get_atto(object);
392 if (!valid_status(actor_request(snac, actor, NULL))) {
393 /* failed? retry later */
394 enqueue_actor_refresh(snac, actor, 60);
395 }
396 439
397 /* does it have an ancestor? */ 440 if (!xs_is_null(actor)) {
398 const char *in_reply_to = get_in_reply_to(object); 441 /* request (and drop) the actor for this entry */
442 if (!valid_status(actor_request(snac, actor, NULL))) {
443 /* failed? retry later */
444 enqueue_actor_refresh(snac, actor, 60);
445 }
399 446
400 /* store */ 447 /* does it have an ancestor? */
401 timeline_add(snac, nid, object); 448 const char *in_reply_to = get_in_reply_to(object);
402 449
403 /* redistribute to lists for this user */ 450 /* store */
404 list_distribute(snac, actor, object); 451 timeline_add(snac, nid, object);
405 452
406 /* recurse! */ 453 /* redistribute to lists for this user */
407 timeline_request(snac, &in_reply_to, NULL, level + 1); 454 list_distribute(snac, actor, object);
408 } 455
456 /* recurse! */
457 timeline_request(snac, &in_reply_to, NULL, level + 1);
409 } 458 }
410 } 459 }
411 } 460 }
@@ -587,40 +636,6 @@ int is_msg_from_private_user(const xs_dict *msg)
587} 636}
588 637
589 638
590int followed_hashtag_check(snac *user, const xs_dict *msg)
591/* returns true if this message contains a hashtag followed by me */
592{
593 const xs_list *fw_tags = xs_dict_get(user->config, "followed_hashtags");
594
595 if (xs_is_list(fw_tags)) {
596 const xs_list *tags_in_msg = xs_dict_get(msg, "tag");
597
598 if (xs_is_list(tags_in_msg)) {
599 const xs_dict *te;
600
601 /* iterate the tags in the message */
602 xs_list_foreach(tags_in_msg, te) {
603 if (xs_is_dict(te)) {
604 const char *type = xs_dict_get(te, "type");
605 const char *name = xs_dict_get(te, "name");
606
607 if (xs_is_string(type) && xs_is_string(name)) {
608 if (strcmp(type, "Hashtag") == 0) {
609 xs *lc_name = xs_utf8_to_lower(name);
610
611 if (xs_list_in(fw_tags, lc_name) != -1)
612 return 1;
613 }
614 }
615 }
616 }
617 }
618 }
619
620 return 0;
621}
622
623
624void followed_hashtag_distribute(const xs_dict *msg) 639void followed_hashtag_distribute(const xs_dict *msg)
625/* distribute this post to all users following the included hashtags */ 640/* distribute this post to all users following the included hashtags */
626{ 641{
@@ -665,31 +680,36 @@ int is_msg_for_me(snac *snac, const xs_dict *c_msg)
665 680
666 if (xs_match(type, "Like|Announce|EmojiReact")) { 681 if (xs_match(type, "Like|Announce|EmojiReact")) {
667 const char *object = xs_dict_get(c_msg, "object"); 682 const char *object = xs_dict_get(c_msg, "object");
683 xs *obj = NULL;
668 684
669 if (xs_is_dict(object)) 685 if (xs_is_dict(object)) {
686 obj = xs_dup(object);
670 object = xs_dict_get(object, "id"); 687 object = xs_dict_get(object, "id");
688 }
671 689
672 /* bad object id? reject */ 690 /* bad object id? reject */
673 if (!xs_is_string(object)) 691 if (!xs_is_string(object))
674 return 0; 692 return 0;
675 693
694 /* try to get the object */
695 if (!xs_is_dict(obj))
696 object_get(object, &obj);
697
676 /* if it's about one of our posts, accept it */ 698 /* if it's about one of our posts, accept it */
677 if (xs_startswith(object, snac->actor)) 699 if (xs_startswith(object, snac->actor))
678 return 2; 700 return 2;
679 701
702 /* blocked by hashtag? */
703 if (blocked_hashtag_check(snac, obj))
704 return 0;
705
680 /* if it's by someone we follow, accept it */ 706 /* if it's by someone we follow, accept it */
681 if (following_check(snac, actor)) 707 if (following_check(snac, actor))
682 return 1; 708 return 1;
683 709
684 /* do we follow any hashtag? */ 710 /* do we follow any hashtag? */
685 if (xs_is_list(xs_dict_get(snac->config, "followed_hashtags"))) { 711 if (followed_hashtag_check(snac, obj))
686 xs *obj = NULL; 712 return 7;
687
688 /* if the admired object contains any followed hashtag, accept it */
689 if (valid_status(object_get(object, &obj)) &&
690 followed_hashtag_check(snac, obj))
691 return 7;
692 }
693 713
694 return 0; 714 return 0;
695 } 715 }
@@ -721,13 +741,20 @@ int is_msg_for_me(snac *snac, const xs_dict *c_msg)
721 return 1; 741 return 1;
722 } 742 }
723 743
744 const xs_dict *msg = xs_dict_get(c_msg, "object");
745
746 /* any blocked hashtag? reject */
747 if (blocked_hashtag_check(snac, msg)) {
748 snac_debug(snac, 1, xs_fmt("blocked by hashtag %s", xs_dict_get(msg, "id")));
749 return 0;
750 }
751
724 int pub_msg = is_msg_public(c_msg); 752 int pub_msg = is_msg_public(c_msg);
725 753
726 /* if this message is public and we follow the actor of this post, allow */ 754 /* if this message is public and we follow the actor of this post, allow */
727 if (pub_msg && following_check(snac, actor)) 755 if (pub_msg && following_check(snac, actor))
728 return 1; 756 return 1;
729 757
730 const xs_dict *msg = xs_dict_get(c_msg, "object");
731 xs *rcpts = recipient_list(snac, msg, 0); 758 xs *rcpts = recipient_list(snac, msg, 0);
732 xs_list *p = rcpts; 759 xs_list *p = rcpts;
733 const xs_str *v; 760 const xs_str *v;
@@ -1531,7 +1558,7 @@ xs_dict *msg_follow(snac *snac, const char *q)
1531 1558
1532xs_dict *msg_note(snac *snac, const xs_str *content, const xs_val *rcpts, 1559xs_dict *msg_note(snac *snac, const xs_str *content, const xs_val *rcpts,
1533 const xs_str *in_reply_to, const xs_list *attach, 1560 const xs_str *in_reply_to, const xs_list *attach,
1534 int scope, const char *lang_str) 1561 int scope, const char *lang_str, const char *msg_date)
1535/* creates a 'Note' message */ 1562/* creates a 'Note' message */
1536/* scope: 0, public; 1, private (mentioned only); 2, "quiet public"; 3, followers only */ 1563/* scope: 0, public; 1, private (mentioned only); 2, "quiet public"; 3, followers only */
1537{ 1564{
@@ -1545,7 +1572,12 @@ xs_dict *msg_note(snac *snac, const xs_str *content, const xs_val *rcpts,
1545 xs *irt = NULL; 1572 xs *irt = NULL;
1546 xs *tag = xs_list_new(); 1573 xs *tag = xs_list_new();
1547 xs *atls = xs_list_new(); 1574 xs *atls = xs_list_new();
1548 xs_dict *msg = msg_base(snac, "Note", id, NULL, "@now", NULL); 1575
1576 /* discard non-parseable dates */
1577 if (!xs_is_string(msg_date) || xs_parse_iso_date(msg_date, 0) == 0)
1578 msg_date = NULL;
1579
1580 xs_dict *msg = msg_base(snac, "Note", id, NULL, xs_or(msg_date, "@now"), NULL);
1549 xs_list *p; 1581 xs_list *p;
1550 const xs_val *v; 1582 const xs_val *v;
1551 1583
@@ -1758,7 +1790,7 @@ xs_dict *msg_question(snac *user, const char *content, xs_list *attach,
1758 const xs_list *opts, int multiple, int end_secs) 1790 const xs_list *opts, int multiple, int end_secs)
1759/* creates a Question message */ 1791/* creates a Question message */
1760{ 1792{
1761 xs_dict *msg = msg_note(user, content, NULL, NULL, attach, 0, NULL); 1793 xs_dict *msg = msg_note(user, content, NULL, NULL, attach, 0, NULL, NULL);
1762 int max = 8; 1794 int max = 8;
1763 xs_set seen; 1795 xs_set seen;
1764 1796
@@ -2336,7 +2368,7 @@ int process_input_message(snac *snac, const xs_dict *msg, const xs_dict *req)
2336 xs *this_relay = xs_fmt("%s/relay", srv_baseurl); 2368 xs *this_relay = xs_fmt("%s/relay", srv_baseurl);
2337 2369
2338 if (strcmp(actor, this_relay) != 0) { 2370 if (strcmp(actor, this_relay) != 0) {
2339 if (timeline_admire(snac, object, actor, 0) == HTTP_STATUS_CREATED) 2371 if (valid_status(timeline_admire(snac, object, actor, 0)))
2340 snac_log(snac, xs_fmt("new 'Announce' %s %s", actor, object)); 2372 snac_log(snac, xs_fmt("new 'Announce' %s %s", actor, object));
2341 else 2373 else
2342 snac_log(snac, xs_fmt("repeated 'Announce' from %s to %s", 2374 snac_log(snac, xs_fmt("repeated 'Announce' from %s to %s",
diff --git a/doc/snac.1 b/doc/snac.1
index 327e071..601ce6d 100644
--- a/doc/snac.1
+++ b/doc/snac.1
@@ -78,8 +78,17 @@ Fediverse identifier to follow.
78.It Boost (by URL) 78.It Boost (by URL)
79Fill the input area with the URL of a Fediverse note to be 79Fill the input area with the URL of a Fediverse note to be
80boosted. 80boosted.
81.It Like (by URL)
82Fill the input area with the URL of a Fediverse note to be
83liked.
81.It User setup... 84.It User setup...
82This option opens the user setup dialog. 85This option opens the user setup dialog.
86.It Followed hashtags...
87Enter here the list of hashtags you want to follow, one
88per line, with or without the # symbol.
89.It Blocked hashtags...
90Enter here the list of hashtags you want to block, one
91per line, with or without the # symbol.
83.El 92.El
84.Pp 93.Pp
85The user setup dialog allows some user information to be 94The user setup dialog allows some user information to be
@@ -151,6 +160,9 @@ approved or discarded.
151If this toggle is set, the number of followers and following 160If this toggle is set, the number of followers and following
152accounts are made public (this is only the number; the specific 161accounts are made public (this is only the number; the specific
153lists of accounts are never published). 162lists of accounts are never published).
163.It Web interface language
164If the administrator has installed any language file, it
165can be selected here.
154.It Password 166.It Password
155Write the same string in these two fields to change your 167Write the same string in these two fields to change your
156password. Don't write anything if you don't want to do this. 168password. Don't write anything if you don't want to do this.
@@ -256,7 +268,8 @@ argument is -e, the external editor defined by the EDITOR
256environment variable will be invoked to prepare a message; if 268environment variable will be invoked to prepare a message; if
257it's - (a lonely hyphen), the post content will be read from stdin. 269it's - (a lonely hyphen), the post content will be read from stdin.
258The rest of command line arguments are treated as media files to be 270The rest of command line arguments are treated as media files to be
259attached to the post. 271attached to the post. The LANG environment variable (if defined) is used
272as the post language.
260.It Cm note_unlisted Ar basedir Ar uid Ar text Op file file ... 273.It Cm note_unlisted Ar basedir Ar uid Ar text Op file file ...
261Like the previous one, but creates an "unlisted" (or "quiet public") post. 274Like the previous one, but creates an "unlisted" (or "quiet public") post.
262.It Cm note_mention Ar basedir Ar uid Ar text Op file file ... 275.It Cm note_mention Ar basedir Ar uid Ar text Op file file ...
@@ -395,6 +408,8 @@ variable. Set it to an integer value. The higher, the deeper in meaningless
395verbiage you'll find yourself into. 408verbiage you'll find yourself into.
396.It Ev EDITOR 409.It Ev EDITOR
397The user-preferred interactive text editor to prepare messages. 410The user-preferred interactive text editor to prepare messages.
411.It Ev LANG
412The language of the post when sending messages.
398.El 413.El
399.Sh SEE ALSO 414.Sh SEE ALSO
400.Xr snac 5 , 415.Xr snac 5 ,
diff --git a/doc/snac.8 b/doc/snac.8
index f1e5590..7594d82 100644
--- a/doc/snac.8
+++ b/doc/snac.8
@@ -264,6 +264,9 @@ The maximum number of entries (posts) to be returned in user RSS feeds and outbo
264(default: 20). 264(default: 20).
265.It Ic max_attachments 265.It Ic max_attachments
266The maximum number of attachments per post (default: 4). 266The maximum number of attachments per post (default: 4).
267.It Ic enable_svg
268Since version 2.73, SVG image attachments are hidden by default; you can enable
269them by setting this value to true.
267.El 270.El
268.Pp 271.Pp
269You must restart the server to make effective these changes. 272You must restart the server to make effective these changes.
@@ -617,6 +620,32 @@ hashtags.
617Please take note that subscribing to relays can increase the traffic towards your instance 620Please take note that subscribing to relays can increase the traffic towards your instance
618significantly. In any case, lowering the "Maximum days to keep posts" value for the relay 621significantly. In any case, lowering the "Maximum days to keep posts" value for the relay
619special user is recommended (e.g. setting to just 1 day). 622special user is recommended (e.g. setting to just 1 day).
623.Ss Web interface language
624Since version 2.73, the web UI can be localized via simple .po files (they are directly
625parsed, no support for gettext is needed).
626.Pp
627No language file is installed by default; the administrator must copy any desired .po files
628to the
629.Pa lang/
630subdirectory in the base directory. Once the server is restarted, users can select the
631new language from the user settings. The
632.Nm
633source distribution may include .po files in the
634.Pa po/
635subdirectory. You don't need to copy the English language one, as it's the default.
636.Pp
637To create new language files, create a copy of
638.Pa po/en.po ,
639rename it to a reasonable value like
640.Pa pl.po
641or
642.Pa pt_BR.po ,
643change the translator in the header to yourself and fill the msgstr strings with your
644translation. If you have any doubt on how to modify .po files, there are many tutorials
645out there. If you want your language file to be included in the standard
646.Nm
647distribution, please send me a link to it via the Fediverse to @grunfink@comam.es
648or make a PR via the Git repository.
620.Sh ENVIRONMENT 649.Sh ENVIRONMENT
621.Bl -tag -width Ds 650.Bl -tag -width Ds
622.It Ev DEBUG 651.It Ev DEBUG
diff --git a/html.c b/html.c
index 6573630..a90a51f 100644
--- a/html.c
+++ b/html.c
@@ -83,16 +83,20 @@ xs_str *replace_shortnames(xs_str *s, const xs_list *tag, int ems, const char *p
83 const char *u = xs_dict_get(i, "url"); 83 const char *u = xs_dict_get(i, "url");
84 const char *mt = xs_dict_get(i, "mediaType"); 84 const char *mt = xs_dict_get(i, "mediaType");
85 85
86 if (xs_is_string(u) && xs_is_string(mt) && strcmp(mt, "image/svg+xml")) { 86 if (xs_is_string(u) && xs_is_string(mt)) {
87 xs *url = make_url(u, proxy, 0); 87 if (strcmp(mt, "image/svg+xml") == 0 && !xs_is_true(xs_dict_get(srv_config, "enable_svg")))
88 s = xs_replace_i(s, n, "");
89 else {
90 xs *url = make_url(u, proxy, 0);
88 91
89 xs_html *img = xs_html_sctag("img", 92 xs_html *img = xs_html_sctag("img",
90 xs_html_attr("loading", "lazy"), 93 xs_html_attr("loading", "lazy"),
91 xs_html_attr("src", url), 94 xs_html_attr("src", url),
92 xs_html_attr("style", style)); 95 xs_html_attr("style", style));
93 96
94 xs *s1 = xs_html_render(img); 97 xs *s1 = xs_html_render(img);
95 s = xs_replace_i(s, n, s1); 98 s = xs_replace_i(s, n, s1);
99 }
96 } 100 }
97 else 101 else
98 s = xs_replace_i(s, n, ""); 102 s = xs_replace_i(s, n, "");
@@ -412,7 +416,7 @@ xs_html *html_note(snac *user, const char *summary,
412 xs_html_sctag("input", 416 xs_html_sctag("input",
413 xs_html_attr("type", "url"), 417 xs_html_attr("type", "url"),
414 xs_html_attr("name", "in_reply_to"), 418 xs_html_attr("name", "in_reply_to"),
415 xs_html_attr("placeholder", "Optional URL to reply to"))); 419 xs_html_attr("placeholder", L("Optional URL to reply to"))));
416 420
417 xs_html_add(form, 421 xs_html_add(form,
418 xs_html_tag("p", NULL), 422 xs_html_tag("p", NULL),
@@ -519,7 +523,7 @@ xs_html *html_note(snac *user, const char *summary,
519 xs_html_attr("name", "poll_options"), 523 xs_html_attr("name", "poll_options"),
520 xs_html_attr("rows", "4"), 524 xs_html_attr("rows", "4"),
521 xs_html_attr("wrap", "virtual"), 525 xs_html_attr("wrap", "virtual"),
522 xs_html_attr("placeholder", "Option 1...\nOption 2...\nOption 3...\n..."))), 526 xs_html_attr("placeholder", L("Option 1...\nOption 2...\nOption 3...\n...")))),
523 xs_html_tag("select", 527 xs_html_tag("select",
524 xs_html_attr("name", "poll_multiple"), 528 xs_html_attr("name", "poll_multiple"),
525 xs_html_tag("option", 529 xs_html_tag("option",
@@ -1338,13 +1342,13 @@ xs_html *html_top_controls(snac *user)
1338 xs_html_attr("type", "text"), 1342 xs_html_attr("type", "text"),
1339 xs_html_attr("name", "telegram_bot"), 1343 xs_html_attr("name", "telegram_bot"),
1340 xs_html_attr("value", telegram_bot), 1344 xs_html_attr("value", telegram_bot),
1341 xs_html_attr("placeholder", "Bot API key")), 1345 xs_html_attr("placeholder", L("Bot API key"))),
1342 xs_html_text(" "), 1346 xs_html_text(" "),
1343 xs_html_sctag("input", 1347 xs_html_sctag("input",
1344 xs_html_attr("type", "text"), 1348 xs_html_attr("type", "text"),
1345 xs_html_attr("name", "telegram_chat_id"), 1349 xs_html_attr("name", "telegram_chat_id"),
1346 xs_html_attr("value", telegram_chat_id), 1350 xs_html_attr("value", telegram_chat_id),
1347 xs_html_attr("placeholder", "Chat id"))), 1351 xs_html_attr("placeholder", L("Chat id")))),
1348 xs_html_tag("p", 1352 xs_html_tag("p",
1349 xs_html_text(L("ntfy notifications (ntfy server and token):")), 1353 xs_html_text(L("ntfy notifications (ntfy server and token):")),
1350 xs_html_sctag("br", NULL), 1354 xs_html_sctag("br", NULL),
@@ -1352,13 +1356,13 @@ xs_html *html_top_controls(snac *user)
1352 xs_html_attr("type", "text"), 1356 xs_html_attr("type", "text"),
1353 xs_html_attr("name", "ntfy_server"), 1357 xs_html_attr("name", "ntfy_server"),
1354 xs_html_attr("value", ntfy_server), 1358 xs_html_attr("value", ntfy_server),
1355 xs_html_attr("placeholder", "ntfy server - full URL (example: https://ntfy.sh/YourTopic)")), 1359 xs_html_attr("placeholder", L("ntfy server - full URL (example: https://ntfy.sh/YourTopic)"))),
1356 xs_html_text(" "), 1360 xs_html_text(" "),
1357 xs_html_sctag("input", 1361 xs_html_sctag("input",
1358 xs_html_attr("type", "text"), 1362 xs_html_attr("type", "text"),
1359 xs_html_attr("name", "ntfy_token"), 1363 xs_html_attr("name", "ntfy_token"),
1360 xs_html_attr("value", ntfy_token), 1364 xs_html_attr("value", ntfy_token),
1361 xs_html_attr("placeholder", "ntfy token - if needed"))), 1365 xs_html_attr("placeholder", L("ntfy token - if needed")))),
1362 xs_html_tag("p", 1366 xs_html_tag("p",
1363 xs_html_text(L("Maximum days to keep posts (0: server settings):")), 1367 xs_html_text(L("Maximum days to keep posts (0: server settings):")),
1364 xs_html_sctag("br", NULL), 1368 xs_html_sctag("br", NULL),
@@ -1514,6 +1518,38 @@ xs_html *html_top_controls(snac *user)
1514 xs_html_attr("class", "button"), 1518 xs_html_attr("class", "button"),
1515 xs_html_attr("value", L("Update hashtags"))))))); 1519 xs_html_attr("value", L("Update hashtags")))))));
1516 1520
1521 xs *blocked_hashtags_action = xs_fmt("%s/admin/blocked-hashtags", user->actor);
1522 xs *blocked_hashtags = xs_join(xs_dict_get_def(user->config,
1523 "blocked_hashtags", xs_stock(XSTYPE_LIST)), "\n");
1524
1525 xs_html_add(top_controls,
1526 xs_html_tag("details",
1527 xs_html_tag("summary",
1528 xs_html_text(L("Blocked hashtags..."))),
1529 xs_html_tag("p",
1530 xs_html_text(L("One hashtag per line"))),
1531 xs_html_tag("div",
1532 xs_html_attr("class", "snac-blocked-hashtags"),
1533 xs_html_tag("form",
1534 xs_html_attr("autocomplete", "off"),
1535 xs_html_attr("method", "post"),
1536 xs_html_attr("action", blocked_hashtags_action),
1537 xs_html_attr("enctype", "multipart/form-data"),
1538
1539 xs_html_tag("textarea",
1540 xs_html_attr("name", "blocked_hashtags"),
1541 xs_html_attr("cols", "40"),
1542 xs_html_attr("rows", "4"),
1543 xs_html_attr("placeholder", "#cats\n#windowfriday\n#classicalmusic"),
1544 xs_html_text(blocked_hashtags)),
1545
1546 xs_html_tag("br", NULL),
1547
1548 xs_html_sctag("input",
1549 xs_html_attr("type", "submit"),
1550 xs_html_attr("class", "button"),
1551 xs_html_attr("value", L("Update hashtags")))))));
1552
1517 return top_controls; 1553 return top_controls;
1518} 1554}
1519 1555
@@ -2281,8 +2317,10 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only,
2281 continue; 2317 continue;
2282 2318
2283 /* drop silently any attachment that may include JavaScript */ 2319 /* drop silently any attachment that may include JavaScript */
2284 if (strcmp(type, "image/svg+xml") == 0 || 2320 if (strcmp(type, "text/html") == 0)
2285 strcmp(type, "text/html") == 0) 2321 continue;
2322
2323 if (strcmp(type, "image/svg+xml") == 0 && !xs_is_true(xs_dict_get(srv_config, "enable_svg")))
2286 continue; 2324 continue;
2287 2325
2288 /* do this attachment include an icon? */ 2326 /* do this attachment include an icon? */
@@ -2724,7 +2762,7 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
2724 xs_html_attr("href", url), 2762 xs_html_attr("href", url),
2725 xs_html_attr("class", "snac-list-link"), 2763 xs_html_attr("class", "snac-list-link"),
2726 xs_html_attr("title", L("Pinned posts")), 2764 xs_html_attr("title", L("Pinned posts")),
2727 xs_html_text("pinned")))); 2765 xs_html_text(L("pinned")))));
2728 } 2766 }
2729 2767
2730 { 2768 {
@@ -2736,7 +2774,7 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
2736 xs_html_attr("href", url), 2774 xs_html_attr("href", url),
2737 xs_html_attr("class", "snac-list-link"), 2775 xs_html_attr("class", "snac-list-link"),
2738 xs_html_attr("title", L("Bookmarked posts")), 2776 xs_html_attr("title", L("Bookmarked posts")),
2739 xs_html_text("bookmarks")))); 2777 xs_html_text(L("bookmarks")))));
2740 } 2778 }
2741 2779
2742 { 2780 {
@@ -2748,7 +2786,7 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
2748 xs_html_attr("href", url), 2786 xs_html_attr("href", url),
2749 xs_html_attr("class", "snac-list-link"), 2787 xs_html_attr("class", "snac-list-link"),
2750 xs_html_attr("title", L("Post drafts")), 2788 xs_html_attr("title", L("Post drafts")),
2751 xs_html_text("drafts")))); 2789 xs_html_text(L("drafts")))));
2752 } 2790 }
2753 2791
2754 /* the list of followed hashtags */ 2792 /* the list of followed hashtags */
@@ -3982,7 +4020,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
3982 const char *b64 = xs_dict_get(q_vars, "content"); 4020 const char *b64 = xs_dict_get(q_vars, "content");
3983 int sz; 4021 int sz;
3984 xs *content = xs_base64_dec(b64, &sz); 4022 xs *content = xs_base64_dec(b64, &sz);
3985 xs *msg = msg_note(&snac, content, NULL, NULL, NULL, 0, NULL); 4023 xs *msg = msg_note(&snac, content, NULL, NULL, NULL, 0, NULL, NULL);
3986 xs *c_msg = msg_create(&snac, msg); 4024 xs *c_msg = msg_create(&snac, msg);
3987 4025
3988 timeline_add(&snac, xs_dict_get(msg, "id"), msg); 4026 timeline_add(&snac, xs_dict_get(msg, "id"), msg);
@@ -4182,7 +4220,7 @@ int html_post_handler(const xs_dict *req, const char *q_path,
4182 enqueue_close_question(&snac, xs_dict_get(msg, "id"), end_secs); 4220 enqueue_close_question(&snac, xs_dict_get(msg, "id"), end_secs);
4183 } 4221 }
4184 else 4222 else
4185 msg = msg_note(&snac, content_2, to, in_reply_to, attach_list, priv, NULL); 4223 msg = msg_note(&snac, content_2, to, in_reply_to, attach_list, priv, NULL, NULL);
4186 4224
4187 if (sensitive != NULL) { 4225 if (sensitive != NULL) {
4188 msg = xs_dict_set(msg, "sensitive", xs_stock(XSTYPE_TRUE)); 4226 msg = xs_dict_set(msg, "sensitive", xs_stock(XSTYPE_TRUE));
@@ -4621,7 +4659,7 @@ int html_post_handler(const xs_dict *req, const char *q_path,
4621 int c = 0; 4659 int c = 0;
4622 4660
4623 while (xs_list_next(ls, &v, &c)) { 4661 while (xs_list_next(ls, &v, &c)) {
4624 xs *msg = msg_note(&snac, "", actor, irt, NULL, 1, NULL); 4662 xs *msg = msg_note(&snac, "", actor, irt, NULL, 1, NULL, NULL);
4625 4663
4626 /* set the option */ 4664 /* set the option */
4627 msg = xs_dict_append(msg, "name", v); 4665 msg = xs_dict_append(msg, "name", v);
@@ -4683,6 +4721,35 @@ int html_post_handler(const xs_dict *req, const char *q_path,
4683 4721
4684 status = HTTP_STATUS_SEE_OTHER; 4722 status = HTTP_STATUS_SEE_OTHER;
4685 } 4723 }
4724 else
4725 if (p_path && strcmp(p_path, "admin/blocked-hashtags") == 0) { /** **/
4726 const char *hashtags = xs_dict_get(p_vars, "blocked_hashtags");
4727
4728 if (xs_is_string(hashtags)) {
4729 xs *new_hashtags = xs_list_new();
4730 xs *l = xs_split(hashtags, "\n");
4731 const char *v;
4732
4733 xs_list_foreach(l, v) {
4734 xs *s1 = xs_strip_i(xs_dup(v));
4735 s1 = xs_replace_i(s1, " ", "");
4736
4737 if (*s1 == '\0')
4738 continue;
4739
4740 xs *s2 = xs_utf8_to_lower(s1);
4741 if (*s2 != '#')
4742 s2 = xs_str_prepend_i(s2, "#");
4743
4744 new_hashtags = xs_list_append(new_hashtags, s2);
4745 }
4746
4747 snac.config = xs_dict_set(snac.config, "blocked_hashtags", new_hashtags);
4748 user_persist(&snac, 0);
4749 }
4750
4751 status = HTTP_STATUS_SEE_OTHER;
4752 }
4686 4753
4687 if (status == HTTP_STATUS_SEE_OTHER) { 4754 if (status == HTTP_STATUS_SEE_OTHER) {
4688 const char *redir = xs_dict_get(p_vars, "redir"); 4755 const char *redir = xs_dict_get(p_vars, "redir");
diff --git a/main.c b/main.c
index 1cd6580..3cd4524 100644
--- a/main.c
+++ b/main.c
@@ -98,15 +98,6 @@ int main(int argc, char *argv[])
98 return snac_init(basedir); 98 return snac_init(basedir);
99 } 99 }
100 100
101 if (strcmp(cmd, "markdown") == 0) { /** **/
102 /* undocumented, for testing only */
103 xs *c = xs_readall(stdin);
104 xs *fc = not_really_markdown(c, NULL, NULL);
105
106 printf("<html>\n%s\n</html>\n", fc);
107 return 0;
108 }
109
110 if ((basedir = getenv("SNAC_BASEDIR")) == NULL) { 101 if ((basedir = getenv("SNAC_BASEDIR")) == NULL) {
111 if ((basedir = GET_ARGV()) == NULL) 102 if ((basedir = GET_ARGV()) == NULL)
112 return usage(); 103 return usage();
@@ -719,7 +710,7 @@ int main(int argc, char *argv[])
719 if (strcmp(cmd, "note_unlisted") == 0) 710 if (strcmp(cmd, "note_unlisted") == 0)
720 scope = 2; 711 scope = 2;
721 712
722 msg = msg_note(&snac, content, NULL, NULL, attl, scope, getenv("LANG")); 713 msg = msg_note(&snac, content, NULL, NULL, attl, scope, getenv("LANG"), NULL);
723 714
724 c_msg = msg_create(&snac, msg); 715 c_msg = msg_create(&snac, msg);
725 716
diff --git a/mastoapi.c b/mastoapi.c
index 797a4da..1927b0a 100644
--- a/mastoapi.c
+++ b/mastoapi.c
@@ -2684,7 +2684,7 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path,
2684 if (strcmp(visibility, "public") == 0) 2684 if (strcmp(visibility, "public") == 0)
2685 scope = 0; 2685 scope = 0;
2686 2686
2687 xs *msg = msg_note(&snac, content, NULL, irt, attach_list, scope, language); 2687 xs *msg = msg_note(&snac, content, NULL, irt, attach_list, scope, language, NULL);
2688 2688
2689 if (!xs_is_null(summary) && *summary) { 2689 if (!xs_is_null(summary) && *summary) {
2690 msg = xs_dict_set(msg, "sensitive", xs_stock(XSTYPE_TRUE)); 2690 msg = xs_dict_set(msg, "sensitive", xs_stock(XSTYPE_TRUE));
@@ -3034,7 +3034,7 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path,
3034 if (o) { 3034 if (o) {
3035 const char *name = xs_dict_get(o, "name"); 3035 const char *name = xs_dict_get(o, "name");
3036 3036
3037 xs *msg = msg_note(&snac, "", atto, (char *)id, NULL, 1, NULL); 3037 xs *msg = msg_note(&snac, "", atto, (char *)id, NULL, 1, NULL, NULL);
3038 msg = xs_dict_append(msg, "name", name); 3038 msg = xs_dict_append(msg, "name", name);
3039 3039
3040 xs *c_msg = msg_create(&snac, msg); 3040 xs *c_msg = msg_create(&snac, msg);
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..0851c2f
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,733 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: Jindrich Styrsky\n"
8"Language: cs\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10
11#: html.c:371
12msgid "Sensitive content: "
13msgstr "Citlivý obsah: "
14
15#: html.c:379
16msgid "Sensitive content description"
17msgstr "Varování k citlivému obsahu"
18
19#: html.c:392
20msgid "Only for mentioned people: "
21msgstr "Pouze pro zmíněné osoby:"
22
23#: html.c:415
24msgid "Reply to (URL): "
25msgstr "Odpovědět na (URL):"
26
27#: html.c:424
28msgid "Don't send, but store as a draft"
29msgstr "Nesdílet, pouze uložit do rozepsaných"
30
31#: html.c:425
32msgid "Draft:"
33msgstr "Rozepsané:"
34
35#: html.c:445
36msgid "Attachments..."
37msgstr "Přílohy..."
38
39#: html.c:468
40msgid "File:"
41msgstr "Soubor:"
42
43#: html.c:472
44msgid "Clear this field to delete the attachment"
45msgstr "Pro smazání přilohy vymažte toto pole"
46
47#: html.c:481 html.c:506
48msgid "Attachment description"
49msgstr "Popisek přílohy"
50
51#: html.c:517
52msgid "Poll..."
53msgstr "Anketa..."
54
55#: html.c:519
56msgid "Poll options (one per line, up to 8):"
57msgstr "Možnosti ankety (jedna na řádek, max 8):"
58
59#: html.c:531
60msgid "One choice"
61msgstr "Vyber jednu"
62
63#: html.c:534
64msgid "Multiple choices"
65msgstr "Vyber více možností"
66
67#: html.c:540
68msgid "End in 5 minutes"
69msgstr "Konec za 5 minut"
70
71#: html.c:544
72msgid "End in 1 hour"
73msgstr "Konec za 1 hodinu"
74
75#: html.c:547
76msgid "End in 1 day"
77msgstr "Konec za 1 den"
78
79#: html.c:555
80msgid "Post"
81msgstr "Poslat"
82
83#: html.c:652 html.c:659
84msgid "Site description"
85msgstr "Popisek stránky"
86
87#: html.c:670
88msgid "Admin email"
89msgstr "Email administrátora"
90
91#: html.c:683
92msgid "Admin account"
93msgstr "Účet adminitrátora"
94
95#: html.c:751 html.c:1087
96#, c-format
97msgid "%d following, %d followers"
98msgstr "%d sledovaných, %d sledujících"
99
100#: html.c:841
101msgid "RSS"
102msgstr "RSS"
103
104#: html.c:846 html.c:874
105msgid "private"
106msgstr "soukromé"
107
108#: html.c:870
109msgid "public"
110msgstr "veřejné"
111
112#: html.c:878
113msgid "notifications"
114msgstr "upozornění"
115
116#: html.c:883
117msgid "people"
118msgstr "lidé"
119
120#: html.c:887
121msgid "instance"
122msgstr "instance"
123
124#: html.c:896
125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag"
128msgstr ""
129"Vyhledejte příspěvek podle URL (regex), @uživatel@instance účtu, nebo #tagu"
130
131#: html.c:897
132msgid "Content search"
133msgstr "Hledání obsahu"
134
135#: html.c:1019
136msgid "verified link"
137msgstr "ověřený odkaz"
138
139#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
140msgid "Location: "
141msgstr "Místo: "
142
143#: html.c:1112
144msgid "New Post..."
145msgstr "Nový příspěvek..."
146
147#: html.c:1114
148msgid "What's on your mind?"
149msgstr "Co se vám honí hlavou?"
150
151#: html.c:1123
152msgid "Operations..."
153msgstr "Operace..."
154
155#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
156msgid "Follow"
157msgstr "Sledovat"
158
159#: html.c:1140
160msgid "(by URL or user@host)"
161msgstr "(podle URL nebo @uživatel@instance)"
162
163#: html.c:1155 html.c:1689 html.c:4323
164msgid "Boost"
165msgstr "Boostit"
166
167#: html.c:1157 html.c:1174
168msgid "(by URL)"
169msgstr "(podle URL)"
170
171#: html.c:1172 html.c:1668 html.c:4314
172msgid "Like"
173msgstr "Líbí"
174
175#: html.c:1277
176msgid "User Settings..."
177msgstr "Nastavení..."
178
179#: html.c:1286
180msgid "Display name:"
181msgstr "Jméno:"
182
183#: html.c:1292
184msgid "Your name"
185msgstr "Vaše jméno"
186
187#: html.c:1294
188msgid "Avatar: "
189msgstr "Avatar: "
190
191#: html.c:1302
192msgid "Delete current avatar"
193msgstr "Smazat současný avatar"
194
195#: html.c:1304
196msgid "Header image (banner): "
197msgstr "Obrázek v záhlaví profilu: "
198
199#: html.c:1312
200msgid "Delete current header image"
201msgstr "Smazat současný obrázek v záhlaví"
202
203#: html.c:1314
204msgid "Bio:"
205msgstr "Bio:"
206
207#: html.c:1320
208msgid "Write about yourself here..."
209msgstr "Napište sem něco o sobě..."
210
211#: html.c:1329
212msgid "Always show sensitive content"
213msgstr "Vždy zobrazit příspěvky s varováním o citlivém obsahu"
214
215#: html.c:1331
216msgid "Email address for notifications:"
217msgstr "Emailová adresa pro upozornění"
218
219#: html.c:1339
220msgid "Telegram notifications (bot key and chat id):"
221msgstr "Upozornění na Telegram (bot klíč a chat id):"
222
223#: html.c:1353
224msgid "ntfy notifications (ntfy server and token):"
225msgstr "ntfy notifikace (ntfy server a token):"
226
227#: html.c:1367
228msgid "Maximum days to keep posts (0: server settings):"
229msgstr "Životnost příspěvků ve dnech (0: nastavení serveru):"
230
231#: html.c:1381
232msgid "Drop direct messages from people you don't follow"
233msgstr "Zahodit soukromé zprávy od lidí, které nesledujete"
234
235#: html.c:1390
236msgid "This account is a bot"
237msgstr "Tenhle účet je robot"
238
239#: html.c:1399
240msgid "Auto-boost all mentions to this account"
241msgstr "Automaticky boostovat všechny zmíňky o tomto účtu"
242
243#: html.c:1408
244msgid "This account is private (posts are not shown through the web)"
245msgstr ""
246"Tento účet je soukromý (příspěvky nejsou zobrazitelné napříč internetem)"
247
248#: html.c:1418
249msgid "Collapse top threads by default"
250msgstr "Zobrazovat vlákna složená"
251
252#: html.c:1427
253msgid "Follow requests must be approved"
254msgstr "Žádosti o sledování je nutno manuálně potvrdit"
255
256#: html.c:1436
257msgid "Publish follower and following metrics"
258msgstr "Zobraz údaje o počtu sledovaných a sledujících"
259
260#: html.c:1438
261msgid "Current location:"
262msgstr "Geolokace:"
263
264#: html.c:1452
265msgid "Profile metadata (key=value pairs in each line):"
266msgstr "Metadata profilu (klíč=hodnota na jeden řádek):"
267
268#: html.c:1463
269msgid "Web interface language:"
270msgstr "Jazyk rozhraní:"
271
272#: html.c:1468
273msgid "New password:"
274msgstr "Nové heslo:"
275
276#: html.c:1475
277msgid "Repeat new password:"
278msgstr "Zopakujte nové heslo:"
279
280#: html.c:1485
281msgid "Update user info"
282msgstr "Uložit"
283
284#: html.c:1496
285msgid "Followed hashtags..."
286msgstr "Sledované hashtagy..."
287
288#: html.c:1498 html.c:1530
289msgid "One hashtag per line"
290msgstr "Jeden hashtag na řádek"
291
292#: html.c:1519 html.c:1551
293msgid "Update hashtags"
294msgstr "Aktualizovat hashtagy"
295
296#: html.c:1668
297msgid "Say you like this post"
298msgstr "Dejte najevo, že se vám příspěvek líbí"
299
300#: html.c:1673 html.c:4332
301msgid "Unlike"
302msgstr "Nelíbí"
303
304#: html.c:1673
305msgid "Nah don't like it that much"
306msgstr "Vlastně se mi to zas tak nelíbí"
307
308#: html.c:1679 html.c:4464
309msgid "Unpin"
310msgstr "Odepnout"
311
312#: html.c:1679
313msgid "Unpin this post from your timeline"
314msgstr "Odepnout tento příspěvek z vaší osy"
315
316#: html.c:1682 html.c:4459
317msgid "Pin"
318msgstr "Připnout"
319
320#: html.c:1682
321msgid "Pin this post to the top of your timeline"
322msgstr "Připnout tento příspěvěk na začátek vaší osy"
323
324#: html.c:1689
325msgid "Announce this post to your followers"
326msgstr "Ukázat tenhle příspěvek vašim sledujícím"
327
328#: html.c:1694 html.c:4340
329msgid "Unboost"
330msgstr "Odboostit"
331
332#: html.c:1694
333msgid "I regret I boosted this"
334msgstr "Boostit to byl blbej nápad"
335
336#: html.c:1700 html.c:4474
337msgid "Unbookmark"
338msgstr "Zahodit"
339
340#: html.c:1700
341msgid "Delete this post from your bookmarks"
342msgstr "Odstraň tenhle příspěvěk ze svých záložek"
343
344#: html.c:1703 html.c:4469
345msgid "Bookmark"
346msgstr "Uložit"
347
348#: html.c:1703
349msgid "Add this post to your bookmarks"
350msgstr "Uložit tenhle příspěvek mezi záložky"
351
352#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
353msgid "Unfollow"
354msgstr "Přestat sledovat"
355
356#: html.c:1709 html.c:3041
357msgid "Stop following this user's activity"
358msgstr "Přestat sledovat tohoto uživatele"
359
360#: html.c:1713 html.c:3055
361msgid "Start following this user's activity"
362msgstr "Začít sledovat tohoto uživatele"
363
364#: html.c:1719 html.c:4414
365msgid "Unfollow Group"
366msgstr "Přestat Sledovat Skupinu"
367
368#: html.c:1720
369msgid "Stop following this group or channel"
370msgstr "Přestat sledovat tuto skupinu nebo kanál"
371
372#: html.c:1724 html.c:4401
373msgid "Follow Group"
374msgstr "Sledovat Skupinu"
375
376#: html.c:1725
377msgid "Start following this group or channel"
378msgstr "Začít sledovat tuto skupinu nebo kanál"
379
380#: html.c:1730 html.c:3077 html.c:4348
381msgid "MUTE"
382msgstr "ZTIŠIT"
383
384#: html.c:1731
385msgid "Block any activity from this user forever"
386msgstr "Jednou provždy zablokovat všechno od tohoto uživatele"
387
388#: html.c:1736 html.c:3059 html.c:4431
389msgid "Delete"
390msgstr "Smazat"
391
392#: html.c:1736
393msgid "Delete this post"
394msgstr "Smazat tento příspěvek"
395
396#: html.c:1739 html.c:4356
397msgid "Hide"
398msgstr "Schovat"
399
400#: html.c:1739
401msgid "Hide this post and its children"
402msgstr "Schovat tento příspěvek a příspěvky pod ním"
403
404#: html.c:1770
405msgid "Edit..."
406msgstr "Editovat..."
407
408#: html.c:1789
409msgid "Reply..."
410msgstr "Odpovědět..."
411
412#: html.c:1840
413msgid "Truncated (too deep)"
414msgstr "Ořezáno (moc hluboké)"
415
416#: html.c:1849
417msgid "follows you"
418msgstr "sleduje vás"
419
420#: html.c:1912
421msgid "Pinned"
422msgstr "Připnuto"
423
424#: html.c:1920
425msgid "Bookmarked"
426msgstr "Zazáložkováno"
427
428#: html.c:1928
429msgid "Poll"
430msgstr "Anketa"
431
432#: html.c:1935
433msgid "Voted"
434msgstr "Odhlasováno"
435
436#: html.c:1944
437msgid "Event"
438msgstr "Událost"
439
440#: html.c:1976 html.c:2005
441msgid "boosted"
442msgstr "boostuje"
443
444#: html.c:2021
445msgid "in reply to"
446msgstr "odpověď pro"
447
448#: html.c:2072
449msgid " [SENSITIVE CONTENT]"
450msgstr "[CITLIVÝ OBSAH]"
451
452#: html.c:2249
453msgid "Vote"
454msgstr "Hlasuj"
455
456#: html.c:2259
457msgid "Closed"
458msgstr "Uzavřeno"
459
460#: html.c:2284
461msgid "Closes in"
462msgstr "Končí za"
463
464#: html.c:2365
465msgid "Video"
466msgstr "Video"
467
468#: html.c:2380
469msgid "Audio"
470msgstr "Audio"
471
472#: html.c:2402
473msgid "Attachment"
474msgstr "Příloha"
475
476#: html.c:2416
477msgid "Alt..."
478msgstr "Popisek..."
479
480#: html.c:2429
481msgid "Source channel or community"
482msgstr ""
483
484#: html.c:2523
485msgid "Time: "
486msgstr "Čas:"
487
488#: html.c:2598
489msgid "Older..."
490msgstr "Starší..."
491
492#: html.c:2661
493msgid "about this site"
494msgstr "o této stránce"
495
496#: html.c:2663
497msgid "powered by "
498msgstr "pohání "
499
500#: html.c:2728
501msgid "Dismiss"
502msgstr "Zahodit"
503
504#: html.c:2745
505#, c-format
506msgid "Timeline for list '%s'"
507msgstr "Časová osa pro seznam '%s'"
508
509#: html.c:2764 html.c:3805
510msgid "Pinned posts"
511msgstr "Připnuté příspěvky"
512
513#: html.c:2776 html.c:3820
514msgid "Bookmarked posts"
515msgstr "Záložky"
516
517#: html.c:2788 html.c:3835
518msgid "Post drafts"
519msgstr "Rozepsané příspěky"
520
521#: html.c:2847
522msgid "No more unseen posts"
523msgstr "Nic víc nového"
524
525#: html.c:2851 html.c:2951
526msgid "Back to top"
527msgstr "Zpátky nahoru"
528
529#: html.c:2904
530msgid "History"
531msgstr "Historie"
532
533#: html.c:2956 html.c:3376
534msgid "More..."
535msgstr "Více..."
536
537#: html.c:3045 html.c:4367
538msgid "Unlimit"
539msgstr "Povolit boosty"
540
541#: html.c:3046
542msgid "Allow announces (boosts) from this user"
543msgstr "Zobrazovat boosty od tohoto uživatele"
544
545#: html.c:3049 html.c:4363
546msgid "Limit"
547msgstr "Skrýt boosty"
548
549#: html.c:3050
550msgid "Block announces (boosts) from this user"
551msgstr "Ztišit boosty od tohoto uživatele"
552
553#: html.c:3059
554msgid "Delete this user"
555msgstr "Smazat tohoto užiatele"
556
557#: html.c:3064 html.c:4479
558msgid "Approve"
559msgstr "Schválit"
560
561#: html.c:3065
562msgid "Approve this follow request"
563msgstr "Schválit žádost o sledování"
564
565#: html.c:3068 html.c:4503
566msgid "Discard"
567msgstr "Zahodit"
568
569#: html.c:3068
570msgid "Discard this follow request"
571msgstr "Zahodit žádost o sledování"
572
573#: html.c:3073 html.c:4352
574msgid "Unmute"
575msgstr "Zrušit ztišení"
576
577#: html.c:3074
578msgid "Stop blocking activities from this user"
579msgstr "Přestat blokovat tohoto uživatele"
580
581#: html.c:3078
582msgid "Block any activity from this user"
583msgstr "Zablokovat všechno od tohoto uživatele"
584
585#: html.c:3086
586msgid "Direct Message..."
587msgstr "Soukomá zpráva..."
588
589#: html.c:3121
590msgid "Pending follow confirmations"
591msgstr "Dosud nepotvrzené žádosti o sledován"
592
593#: html.c:3125
594msgid "People you follow"
595msgstr "Lidé, které sledujete"
596
597#: html.c:3126
598msgid "People that follow you"
599msgstr "Lidé, kteří vás sledují"
600
601#: html.c:3165
602msgid "Clear all"
603msgstr "Smazat vše"
604
605#: html.c:3222
606msgid "Mention"
607msgstr "Zmínil vás"
608
609#: html.c:3225
610msgid "Finished poll"
611msgstr "Ukončená anketa"
612
613#: html.c:3240
614msgid "Follow Request"
615msgstr "Žádost o sledování"
616
617#: html.c:3323
618msgid "Context"
619msgstr "Kontext"
620
621#: html.c:3334
622msgid "New"
623msgstr "Nové"
624
625#: html.c:3349
626msgid "Already seen"
627msgstr "Zobrazeno dříve"
628
629#: html.c:3364
630msgid "None"
631msgstr "Nic"
632
633#: html.c:3630
634#, c-format
635msgid "Search results for account %s"
636msgstr "Výsledky vyhledávání účtu %s"
637
638#: html.c:3637
639#, c-format
640msgid "Account %s not found"
641msgstr "Účet %s nenalezen"
642
643#: html.c:3668
644#, c-format
645msgid "Search results for tag %s"
646msgstr "Výsledky k tagu %s"
647
648#: html.c:3668
649#, c-format
650msgid "Nothing found for tag %s"
651msgstr "Nic k tagu %s"
652
653#: html.c:3684
654#, c-format
655msgid "Search results for '%s' (may be more)"
656msgstr "Výsledky vyhledávání pro '%s' (může toho být víc)"
657
658#: html.c:3687
659#, c-format
660msgid "Search results for '%s'"
661msgstr "Výsledky vyhledávání pro '%s'"
662
663#: html.c:3690
664#, c-format
665msgid "No more matches for '%s'"
666msgstr "Nic víc pro '%s'"
667
668#: html.c:3692
669#, c-format
670msgid "Nothing found for '%s'"
671msgstr "Žádný výsledek pro '%s'"
672
673#: html.c:3790
674msgid "Showing instance timeline"
675msgstr "Časová osa místní instance"
676
677#: html.c:3858
678#, c-format
679msgid "Showing timeline for list '%s'"
680msgstr "Časová osa pro seznam '%s'"
681
682#: httpd.c:250
683#, c-format
684msgid "Search results for tag #%s"
685msgstr "Výsledky vyhledávání tagu #%s"
686
687#: httpd.c:259
688msgid "Recent posts by users in this instance"
689msgstr "Nedávné příspěvky od uživatelů této instance"
690
691#: html.c:1528
692msgid "Blocked hashtags..."
693msgstr "Blokované hashtagy..."
694
695#: html.c:419
696msgid "Optional URL to reply to"
697msgstr ""
698
699#: html.c:526
700msgid ""
701"Option 1...\n"
702"Option 2...\n"
703"Option 3...\n"
704"..."
705msgstr ""
706
707#: html.c:1345
708msgid "Bot API key"
709msgstr ""
710
711#: html.c:1351
712msgid "Chat id"
713msgstr ""
714
715#: html.c:1359
716msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
717msgstr ""
718
719#: html.c:1365
720msgid "ntfy token - if needed"
721msgstr ""
722
723#: html.c:2765
724msgid "pinned"
725msgstr ""
726
727#: html.c:2777
728msgid "bookmarks"
729msgstr ""
730
731#: html.c:2789
732msgid "drafts"
733msgstr ""
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..0c9349f
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,736 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: oliver zen hartmann\n"
8"Language: de\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10
11#: html.c:371
12msgid "Sensitive content: "
13msgstr "Sensibler Inhalt"
14
15#: html.c:379
16msgid "Sensitive content description"
17msgstr "Beschreibung des sensiblen Inhalts"
18
19#: html.c:392
20msgid "Only for mentioned people: "
21msgstr "Nur für erwähnte Personen"
22
23#: html.c:415
24msgid "Reply to (URL): "
25msgstr "Antwort an (URL)"
26
27#: html.c:424
28msgid "Don't send, but store as a draft"
29msgstr "Nicht senden, aber als Entwurf speichern"
30
31#: html.c:425
32msgid "Draft:"
33msgstr "Entwurf"
34
35#: html.c:445
36msgid "Attachments..."
37msgstr "Anhänge..."
38
39#: html.c:468
40msgid "File:"
41msgstr "Datei:"
42
43#: html.c:472
44msgid "Clear this field to delete the attachment"
45msgstr "Feld löschen, um den Anhang zu löschen"
46
47#: html.c:481 html.c:506
48msgid "Attachment description"
49msgstr "Beschreibung des Anhangs"
50
51#: html.c:517
52msgid "Poll..."
53msgstr "Umfrage..."
54
55#: html.c:519
56msgid "Poll options (one per line, up to 8):"
57msgstr "Umfrageoptionen (eine pro Zeile, bis zu 8)"
58
59#: html.c:531
60msgid "One choice"
61msgstr "Eine Möglichkeit"
62
63#: html.c:534
64msgid "Multiple choices"
65msgstr "Mehrere Möglichkeiten"
66
67#: html.c:540
68msgid "End in 5 minutes"
69msgstr "Endet in 5 Minuten"
70
71#: html.c:544
72msgid "End in 1 hour"
73msgstr "Endet in 1 Stunde"
74
75#: html.c:547
76msgid "End in 1 day"
77msgstr "Endet in 1 Tag"
78
79#: html.c:555
80msgid "Post"
81msgstr "Beitrag"
82
83#: html.c:652 html.c:659
84msgid "Site description"
85msgstr "Beschreibung der Seite"
86
87#: html.c:670
88msgid "Admin email"
89msgstr "Admin Email"
90
91#: html.c:683
92msgid "Admin account"
93msgstr "Admin Konto"
94
95#: html.c:751 html.c:1087
96#, c-format
97msgid "%d following, %d followers"
98msgstr "%d Gefolgte, %d Folgende"
99
100#: html.c:841
101msgid "RSS"
102msgstr "RSS"
103
104#: html.c:846 html.c:874
105msgid "private"
106msgstr "Privat"
107
108#: html.c:870
109msgid "public"
110msgstr "Öffentlich"
111
112#: html.c:878
113msgid "notifications"
114msgstr "Benachrichtigungen"
115
116#: html.c:883
117msgid "people"
118msgstr "Personen"
119
120#: html.c:887
121msgid "instance"
122msgstr "Instanz"
123
124#: html.c:896
125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag"
128msgstr "Durchsuche Beiträge nach URL oder Inhalt (regulärer Ausdruck), @user@host Konten, oder "
129"#tag"
130
131#: html.c:897
132msgid "Content search"
133msgstr "Suche nach Inhalten"
134
135#: html.c:1019
136msgid "verified link"
137msgstr "verifizierter Link"
138
139#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
140msgid "Location: "
141msgstr "Ort: "
142
143#: html.c:1112
144msgid "New Post..."
145msgstr "Neuer Beitrag..."
146
147#: html.c:1114
148msgid "What's on your mind?"
149msgstr "Was beschäftigt dich?"
150
151#: html.c:1123
152msgid "Operations..."
153msgstr "Funktionen..."
154
155#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
156msgid "Follow"
157msgstr "Folgen"
158
159#: html.c:1140
160msgid "(by URL or user@host)"
161msgstr "(über URL oder user@host)"
162
163#: html.c:1155 html.c:1689 html.c:4323
164msgid "Boost"
165msgstr "Weiterschicken"
166
167#: html.c:1157 html.c:1174
168msgid "(by URL)"
169msgstr "(über URL)"
170
171#: html.c:1172 html.c:1668 html.c:4314
172msgid "Like"
173msgstr "Gefällt mir"
174
175#: html.c:1277
176msgid "User Settings..."
177msgstr "Benutzer Einstellungen..."
178
179#: html.c:1286
180msgid "Display name:"
181msgstr "Name anzeigen:"
182
183#: html.c:1292
184msgid "Your name"
185msgstr "Dein Name"
186
187#: html.c:1294
188msgid "Avatar: "
189msgstr "Avatar: "
190
191#: html.c:1302
192msgid "Delete current avatar"
193msgstr "Den aktuellen Avatar löschen"
194
195#: html.c:1304
196msgid "Header image (banner): "
197msgstr "Banner: "
198
199#: html.c:1312
200msgid "Delete current header image"
201msgstr "Das aktuelle Banner löschen"
202
203#: html.c:1314
204msgid "Bio:"
205msgstr "Bio:"
206
207#: html.c:1320
208msgid "Write about yourself here..."
209msgstr "Erzähle etwas von dir ..."
210
211#: html.c:1329
212msgid "Always show sensitive content"
213msgstr "Sensiblen Inhalt immer anzeigen"
214
215#: html.c:1331
216msgid "Email address for notifications:"
217msgstr "Email Adresse für Benachrichtigungen"
218
219#: html.c:1339
220msgid "Telegram notifications (bot key and chat id):"
221msgstr "Telegram Benachrichtigungen (Bot Schlüssel und Chat ID):"
222
223#: html.c:1353
224msgid "ntfy notifications (ntfy server and token):"
225msgstr "ntfy Benachrichtigungen (ntfy Server und Token):"
226
227#: html.c:1367
228msgid "Maximum days to keep posts (0: server settings):"
229msgstr "Maximale Tage, um Beiträge aufzubewahren (0: Servereinstellung):"
230
231#: html.c:1381
232msgid "Drop direct messages from people you don't follow"
233msgstr "Lösche Direktnachrichten von Personen, denen du nicht folgst"
234
235#: html.c:1390
236msgid "This account is a bot"
237msgstr "Dieses Konto ist ein Bot"
238
239#: html.c:1399
240msgid "Auto-boost all mentions to this account"
241msgstr "Alle Ankündigungen automatisch zu diesem Konto hinzufügen"
242
243#: html.c:1408
244msgid "This account is private (posts are not shown through the web)"
245msgstr "Dieses Konto ist privat (Beiträge werden nicht im Internet angezeigt)"
246
247#: html.c:1418
248msgid "Collapse top threads by default"
249msgstr "Oberste Themen standardmäßig einklappen"
250
251#: html.c:1427
252msgid "Follow requests must be approved"
253msgstr "Folgeanfragen müssen genehmigt werden"
254
255#: html.c:1436
256msgid "Publish follower and following metrics"
257msgstr "Gefolgte- und Folgende-Metriken veröffentlichen"
258
259#: html.c:1438
260msgid "Current location:"
261msgstr "Aktueller Ort:"
262
263#: html.c:1452
264msgid "Profile metadata (key=value pairs in each line):"
265msgstr "Profil-Metadaten (Begriff=Wert einer pro Zeile):"
266
267#: html.c:1463
268msgid "Web interface language:"
269msgstr "Sprache der Weboberfläche:"
270
271#: html.c:1468
272msgid "New password:"
273msgstr "Neues Passwort:"
274
275#: html.c:1475
276msgid "Repeat new password:"
277msgstr "Neues Passwort wiederholen:"
278
279#: html.c:1485
280msgid "Update user info"
281msgstr "Benutzer Info aktualisieren"
282
283#: html.c:1496
284msgid "Followed hashtags..."
285msgstr "Gefolgte Hashtags..."
286
287#: html.c:1498 html.c:1530
288msgid "One hashtag per line"
289msgstr "Ein Hashtag pro Zeile"
290
291#: html.c:1519 html.c:1551
292msgid "Update hashtags"
293msgstr "Hashtags aktualisieren"
294
295#: html.c:1668
296msgid "Say you like this post"
297msgstr "Sag, dass dir dieser Beiträg gefällt"
298
299#: html.c:1673 html.c:4332
300msgid "Unlike"
301msgstr "Gefällt nicht"
302
303#: html.c:1673
304msgid "Nah don't like it that much"
305msgstr "Nee, gefällt mir nicht so gut"
306
307#: html.c:1679 html.c:4464
308msgid "Unpin"
309msgstr "Pin entfernen"
310
311#: html.c:1679
312msgid "Unpin this post from your timeline"
313msgstr "Entpinne diesen Beitrag aus deiner Zeitleiste"
314
315#: html.c:1682 html.c:4459
316msgid "Pin"
317msgstr "Anpinnen"
318
319#: html.c:1682
320msgid "Pin this post to the top of your timeline"
321msgstr "Pinne diesen Beitrag an den Anfang deiner Timeline"
322
323#: html.c:1689
324msgid "Announce this post to your followers"
325msgstr "Diesen Beitrag an deine Follower weiterschicken"
326
327#: html.c:1694 html.c:4340
328msgid "Unboost"
329msgstr "Boost zurücknehmen"
330
331#: html.c:1694
332msgid "I regret I boosted this"
333msgstr "Ich bedauere dass ich das weiterverschickt habe"
334
335#: html.c:1700 html.c:4474
336msgid "Unbookmark"
337msgstr "Lesezeichen entfernen"
338
339#: html.c:1700
340msgid "Delete this post from your bookmarks"
341msgstr "Diesen Beitrag aus den Lesezeichen entfernen"
342
343#: html.c:1703 html.c:4469
344msgid "Bookmark"
345msgstr "Lesezeichen"
346
347#: html.c:1703
348msgid "Add this post to your bookmarks"
349msgstr "Diesen Beitrag zu deinen Lesezeichen hinzufügen"
350
351#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
352msgid "Unfollow"
353msgstr "Nicht mehr folgen"
354
355#: html.c:1709 html.c:3041
356msgid "Stop following this user's activity"
357msgstr "Aktivitäten dieses Benutzers nicht mehr folgen"
358
359#: html.c:1713 html.c:3055
360msgid "Start following this user's activity"
361msgstr "Folge den Aktivitäten dieses Benutzers"
362
363#: html.c:1719 html.c:4414
364msgid "Unfollow Group"
365msgstr "Der Gruppe nicht mehr folgen"
366
367#: html.c:1720
368msgid "Stop following this group or channel"
369msgstr "Der Gruppe oder dem Kanal nicht mehr folgen"
370
371#: html.c:1724 html.c:4401
372msgid "Follow Group"
373msgstr "Der Gruppe folgen"
374
375#: html.c:1725
376msgid "Start following this group or channel"
377msgstr "Der Gruppe oder dem Kanal folgen"
378
379#: html.c:1730 html.c:3077 html.c:4348
380msgid "MUTE"
381msgstr "Stummschalten"
382
383#: html.c:1731
384msgid "Block any activity from this user forever"
385msgstr "Alle Aktivitäten dieses Benutzers für immer blockieren"
386
387#: html.c:1736 html.c:3059 html.c:4431
388msgid "Delete"
389msgstr "Löschen"
390
391#: html.c:1736
392msgid "Delete this post"
393msgstr "Diesen Beitrag löschen"
394
395#: html.c:1739 html.c:4356
396msgid "Hide"
397msgstr "Verstecken"
398
399#: html.c:1739
400msgid "Hide this post and its children"
401msgstr "Verstecke diesen Beitrag und seine Kommentare"
402
403#: html.c:1770
404msgid "Edit..."
405msgstr "Bearbeiten..."
406
407#: html.c:1789
408msgid "Reply..."
409msgstr "Antworten..."
410
411#: html.c:1840
412msgid "Truncated (too deep)"
413msgstr "Abgeschnitten (zu viel)"
414
415#: html.c:1849
416msgid "follows you"
417msgstr "folgt dir"
418
419#: html.c:1912
420msgid "Pinned"
421msgstr "Angeheftet"
422
423#: html.c:1920
424msgid "Bookmarked"
425msgstr "Mit Lesezeichen versehen"
426
427#: html.c:1928
428msgid "Poll"
429msgstr "Umfrage"
430
431#: html.c:1935
432msgid "Voted"
433msgstr "Abgestimmt"
434
435#: html.c:1944
436msgid "Event"
437msgstr "Ereignis"
438
439#: html.c:1976 html.c:2005
440msgid "boosted"
441msgstr "erwähnt"
442
443#: html.c:2021
444msgid "in reply to"
445msgstr "als Antwort auf"
446
447#: html.c:2072
448msgid " [SENSITIVE CONTENT]"
449msgstr " [SENSIBLER INHALT]"
450
451#: html.c:2249
452msgid "Vote"
453msgstr "Abstimmen"
454
455#: html.c:2259
456msgid "Closed"
457msgstr "Geschlossen"
458
459#: html.c:2284
460msgid "Closes in"
461msgstr "Schliesst in"
462
463#: html.c:2365
464msgid "Video"
465msgstr "Video"
466
467#: html.c:2380
468msgid "Audio"
469msgstr "Audio"
470
471#: html.c:2402
472msgid "Attachment"
473msgstr "Anhang"
474
475#: html.c:2416
476msgid "Alt..."
477msgstr "Alt.-Text..."
478
479#: html.c:2429
480msgid "Source channel or community"
481msgstr "Kanalquelle oder -gemeinschaft"
482
483#: html.c:2523
484msgid "Time: "
485msgstr "Zeit: "
486
487#: html.c:2598
488msgid "Older..."
489msgstr "Älter..."
490
491#: html.c:2661
492msgid "about this site"
493msgstr "über diese Seite"
494
495#: html.c:2663
496msgid "powered by "
497msgstr "betrieben mit "
498
499#: html.c:2728
500msgid "Dismiss"
501msgstr "Ablehnen"
502
503#: html.c:2745
504#, c-format
505msgid "Timeline for list '%s'"
506msgstr "Zeitleiste für Liste '%s'"
507
508#: html.c:2764 html.c:3805
509msgid "Pinned posts"
510msgstr "Angeheftete Beiträge"
511
512#: html.c:2776 html.c:3820
513msgid "Bookmarked posts"
514msgstr "Beiträge mit Lesezeichen"
515
516#: html.c:2788 html.c:3835
517msgid "Post drafts"
518msgstr "Entwurf veröffentlichen"
519
520#: html.c:2847
521msgid "No more unseen posts"
522msgstr "Keine weiteren ungesehenen Beträge"
523
524#: html.c:2851 html.c:2951
525msgid "Back to top"
526msgstr "Nach oben"
527
528#: html.c:2904
529msgid "History"
530msgstr "Historie"
531
532#: html.c:2956 html.c:3376
533msgid "More..."
534msgstr "Mehr..."
535
536#: html.c:3045 html.c:4367
537msgid "Unlimit"
538msgstr "Unbegrenzt"
539
540#: html.c:3046
541msgid "Allow announces (boosts) from this user"
542msgstr "Erlaube Boosts von diesem Benutzer"
543
544#: html.c:3049 html.c:4363
545msgid "Limit"
546msgstr "Limit"
547
548#: html.c:3050
549msgid "Block announces (boosts) from this user"
550msgstr "Blocke Ankündigungen (Boosts) dieses Benutzers"
551
552#: html.c:3059
553msgid "Delete this user"
554msgstr "Benutzer löschen"
555
556#: html.c:3064 html.c:4479
557msgid "Approve"
558msgstr "Bestätigen"
559
560#: html.c:3065
561msgid "Approve this follow request"
562msgstr "Diese Folgeanfrage bestätigen"
563
564#: html.c:3068 html.c:4503
565msgid "Discard"
566msgstr "Verwerfen"
567
568#: html.c:3068
569msgid "Discard this follow request"
570msgstr "Diese Folgeanfrage verwerfen"
571
572#: html.c:3073 html.c:4352
573msgid "Unmute"
574msgstr "Aufheben der Stummschaltung"
575
576#: html.c:3074
577msgid "Stop blocking activities from this user"
578msgstr "Aktivitäten dieses Benutzers nicht mehr blockieren"
579
580#: html.c:3078
581msgid "Block any activity from this user"
582msgstr "Alle Aktivitäten dieses Benutzers blockieren"
583
584#: html.c:3086
585msgid "Direct Message..."
586msgstr "Direktnachricht..."
587
588#: html.c:3121
589msgid "Pending follow confirmations"
590msgstr "Ausstehende Folgebestätigungen"
591
592#: html.c:3125
593msgid "People you follow"
594msgstr "Personen, denen du folgst"
595
596#: html.c:3126
597msgid "People that follow you"
598msgstr "Personen, die dir folgen"
599
600#: html.c:3165
601msgid "Clear all"
602msgstr "Alles löschen"
603
604#: html.c:3222
605msgid "Mention"
606msgstr "Erwähnung"
607
608#: html.c:3225
609msgid "Finished poll"
610msgstr "Beendete Umfrage"
611
612#: html.c:3240
613msgid "Follow Request"
614msgstr "Folge-Anfrage"
615
616#: html.c:3323
617msgid "Context"
618msgstr "Zusammenhang"
619
620#: html.c:3334
621msgid "New"
622msgstr "Neu"
623
624#: html.c:3349
625msgid "Already seen"
626msgstr "Schon gesehen"
627
628#: html.c:3364
629msgid "None"
630msgstr "Nichts"
631
632#: html.c:3630
633#, c-format
634msgid "Search results for account %s"
635msgstr "Suchergebnisse für Konto %s"
636
637#: html.c:3637
638#, c-format
639msgid "Account %s not found"
640msgstr "Konto %s wurde nicht gefunden"
641
642#: html.c:3668
643#, c-format
644msgid "Search results for tag %s"
645msgstr "Suchergebnisse für Hashtag %s"
646
647#: html.c:3668
648#, c-format
649msgid "Nothing found for tag %s"
650msgstr "Nicht gefunden zu Hashtag %s"
651
652#: html.c:3684
653#, c-format
654msgid "Search results for '%s' (may be more)"
655msgstr "Suchergebnisse für '%s' (können noch mehr sein)"
656
657#: html.c:3687
658#, c-format
659msgid "Search results for '%s'"
660msgstr "Keine Suchergebnisse für '%s'"
661
662#: html.c:3690
663#, c-format
664msgid "No more matches for '%s'"
665msgstr "Keine weiteren Treffer für '%s'"
666
667#: html.c:3692
668#, c-format
669msgid "Nothing found for '%s'"
670msgstr "Nichts gefunden für '%s'"
671
672#: html.c:3790
673msgid "Showing instance timeline"
674msgstr "Zeitleiste der Instanz anzeigen"
675
676#: html.c:3858
677#, c-format
678msgid "Showing timeline for list '%s'"
679msgstr "Zeitleiste anzeigen für Liste '%s'"
680
681#: httpd.c:250
682#, c-format
683msgid "Search results for tag #%s"
684msgstr "Suchergebnisse für Hashtag #%s"
685
686#: httpd.c:259
687msgid "Recent posts by users in this instance"
688msgstr "Letzte Beiträge von Benutzern dieser Instanz"
689
690#: html.c:1528
691msgid "Blocked hashtags..."
692msgstr "Geblockte Hashtags..."
693
694#: html.c:419
695msgid "Optional URL to reply to"
696msgstr "Optionale URL zum Antworten"
697
698#: html.c:526
699msgid ""
700"Option 1...\n"
701"Option 2...\n"
702"Option 3...\n"
703"..."
704msgstr ""
705"Option 1...\n"
706"Option 2...\n"
707"Option 3...\n"
708"..."
709
710#: html.c:1345
711msgid "Bot API key"
712msgstr "Bot API Schlüssel"
713
714#: html.c:1351
715msgid "Chat id"
716msgstr "Chat ID"
717
718#: html.c:1359
719msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
720msgstr "ntfy Server - vollständige URL (Bsp.: https://ntfy.sh/YourTopic)"
721
722#: html.c:1365
723msgid "ntfy token - if needed"
724msgstr "ntfy Token - falls nötig"
725
726#: html.c:2765
727msgid "pinned"
728msgstr "Angeheftet"
729
730#: html.c:2777
731msgid "bookmarks"
732msgstr "Lesezeichen"
733
734#: html.c:2789
735msgid "drafts"
736msgstr "Entwürfe"
diff --git a/po/en.po b/po/en.po
index ca5e816..9aacd65 100644
--- a/po/en.po
+++ b/po/en.po
@@ -8,671 +8,671 @@ 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:367 11#: html.c:371
12msgid "Sensitive content: " 12msgid "Sensitive content: "
13msgstr "" 13msgstr ""
14 14
15#: html.c:375 15#: html.c:379
16msgid "Sensitive content description" 16msgid "Sensitive content description"
17msgstr "" 17msgstr ""
18 18
19#: html.c:388 19#: html.c:392
20msgid "Only for mentioned people: " 20msgid "Only for mentioned people: "
21msgstr "" 21msgstr ""
22 22
23#: html.c:411 23#: html.c:415
24msgid "Reply to (URL): " 24msgid "Reply to (URL): "
25msgstr "" 25msgstr ""
26 26
27#: html.c:420 27#: html.c:424
28msgid "Don't send, but store as a draft" 28msgid "Don't send, but store as a draft"
29msgstr "" 29msgstr ""
30 30
31#: html.c:421 31#: html.c:425
32msgid "Draft:" 32msgid "Draft:"
33msgstr "" 33msgstr ""
34 34
35#: html.c:441 35#: html.c:445
36msgid "Attachments..." 36msgid "Attachments..."
37msgstr "" 37msgstr ""
38 38
39#: html.c:464 39#: html.c:468
40msgid "File:" 40msgid "File:"
41msgstr "" 41msgstr ""
42 42
43#: html.c:468 43#: html.c:472
44msgid "Clear this field to delete the attachment" 44msgid "Clear this field to delete the attachment"
45msgstr "" 45msgstr ""
46 46
47#: html.c:477 html.c:502 47#: html.c:481 html.c:506
48msgid "Attachment description" 48msgid "Attachment description"
49msgstr "" 49msgstr ""
50 50
51#: html.c:513 51#: html.c:517
52msgid "Poll..." 52msgid "Poll..."
53msgstr "" 53msgstr ""
54 54
55#: html.c:515 55#: html.c:519
56msgid "Poll options (one per line, up to 8):" 56msgid "Poll options (one per line, up to 8):"
57msgstr "" 57msgstr ""
58 58
59#: html.c:527 59#: html.c:531
60msgid "One choice" 60msgid "One choice"
61msgstr "" 61msgstr ""
62 62
63#: html.c:530 63#: html.c:534
64msgid "Multiple choices" 64msgid "Multiple choices"
65msgstr "" 65msgstr ""
66 66
67#: html.c:536 67#: html.c:540
68msgid "End in 5 minutes" 68msgid "End in 5 minutes"
69msgstr "" 69msgstr ""
70 70
71#: html.c:540 71#: html.c:544
72msgid "End in 1 hour" 72msgid "End in 1 hour"
73msgstr "" 73msgstr ""
74 74
75#: html.c:543 75#: html.c:547
76msgid "End in 1 day" 76msgid "End in 1 day"
77msgstr "" 77msgstr ""
78 78
79#: html.c:551 79#: html.c:555
80msgid "Post" 80msgid "Post"
81msgstr "" 81msgstr ""
82 82
83#: html.c:648 html.c:655 83#: html.c:652 html.c:659
84msgid "Site description" 84msgid "Site description"
85msgstr "" 85msgstr ""
86 86
87#: html.c:666 87#: html.c:670
88msgid "Admin email" 88msgid "Admin email"
89msgstr "" 89msgstr ""
90 90
91#: html.c:679 91#: html.c:683
92msgid "Admin account" 92msgid "Admin account"
93msgstr "" 93msgstr ""
94 94
95#: html.c:747 html.c:1083 95#: html.c:751 html.c:1087
96#, c-format 96#, c-format
97msgid "%d following, %d followers" 97msgid "%d following, %d followers"
98msgstr "" 98msgstr ""
99 99
100#: html.c:837 100#: html.c:841
101msgid "RSS" 101msgid "RSS"
102msgstr "" 102msgstr ""
103 103
104#: html.c:842 html.c:870 104#: html.c:846 html.c:874
105msgid "private" 105msgid "private"
106msgstr "" 106msgstr ""
107 107
108#: html.c:866 108#: html.c:870
109msgid "public" 109msgid "public"
110msgstr "" 110msgstr ""
111 111
112#: html.c:874 112#: html.c:878
113msgid "notifications" 113msgid "notifications"
114msgstr "" 114msgstr ""
115 115
116#: html.c:879 116#: html.c:883
117msgid "people" 117msgid "people"
118msgstr "" 118msgstr ""
119 119
120#: html.c:883 120#: html.c:887
121msgid "instance" 121msgid "instance"
122msgstr "" 122msgstr ""
123 123
124#: html.c:892 124#: html.c:896
125msgid "" 125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or " 126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag" 127"#tag"
128msgstr "" 128msgstr ""
129 129
130#: html.c:893 130#: html.c:897
131msgid "Content search" 131msgid "Content search"
132msgstr "" 132msgstr ""
133 133
134#: html.c:1015 134#: html.c:1019
135msgid "verified link" 135msgid "verified link"
136msgstr "" 136msgstr ""
137 137
138#: html.c:1072 html.c:2420 html.c:2433 html.c:2442 138#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
139msgid "Location: " 139msgid "Location: "
140msgstr "" 140msgstr ""
141 141
142#: html.c:1108 142#: html.c:1112
143msgid "New Post..." 143msgid "New Post..."
144msgstr "" 144msgstr ""
145 145
146#: html.c:1110 146#: html.c:1114
147msgid "What's on your mind?" 147msgid "What's on your mind?"
148msgstr "" 148msgstr ""
149 149
150#: html.c:1119 150#: html.c:1123
151msgid "Operations..." 151msgid "Operations..."
152msgstr "" 152msgstr ""
153 153
154#: html.c:1134 html.c:1677 html.c:3016 html.c:4333 154#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
155msgid "Follow" 155msgid "Follow"
156msgstr "" 156msgstr ""
157 157
158#: html.c:1136 158#: html.c:1140
159msgid "(by URL or user@host)" 159msgid "(by URL or user@host)"
160msgstr "" 160msgstr ""
161 161
162#: html.c:1151 html.c:1653 html.c:4285 162#: html.c:1155 html.c:1689 html.c:4323
163msgid "Boost" 163msgid "Boost"
164msgstr "" 164msgstr ""
165 165
166#: html.c:1153 html.c:1170 166#: html.c:1157 html.c:1174
167msgid "(by URL)" 167msgid "(by URL)"
168msgstr "" 168msgstr ""
169 169
170#: html.c:1168 html.c:1632 html.c:4276 170#: html.c:1172 html.c:1668 html.c:4314
171msgid "Like" 171msgid "Like"
172msgstr "" 172msgstr ""
173 173
174#: html.c:1273 174#: html.c:1277
175msgid "User Settings..." 175msgid "User Settings..."
176msgstr "" 176msgstr ""
177 177
178#: html.c:1282 178#: html.c:1286
179msgid "Display name:" 179msgid "Display name:"
180msgstr "" 180msgstr ""
181 181
182#: html.c:1288 182#: html.c:1292
183msgid "Your name" 183msgid "Your name"
184msgstr "" 184msgstr ""
185 185
186#: html.c:1290 186#: html.c:1294
187msgid "Avatar: " 187msgid "Avatar: "
188msgstr "" 188msgstr ""
189 189
190#: html.c:1298 190#: html.c:1302
191msgid "Delete current avatar" 191msgid "Delete current avatar"
192msgstr "" 192msgstr ""
193 193
194#: html.c:1300 194#: html.c:1304
195msgid "Header image (banner): " 195msgid "Header image (banner): "
196msgstr "" 196msgstr ""
197 197
198#: html.c:1308 198#: html.c:1312
199msgid "Delete current header image" 199msgid "Delete current header image"
200msgstr "" 200msgstr ""
201 201
202#: html.c:1310 202#: html.c:1314
203msgid "Bio:" 203msgid "Bio:"
204msgstr "" 204msgstr ""
205 205
206#: html.c:1316 206#: html.c:1320
207msgid "Write about yourself here..." 207msgid "Write about yourself here..."
208msgstr "" 208msgstr ""
209 209
210#: html.c:1325 210#: html.c:1329
211msgid "Always show sensitive content" 211msgid "Always show sensitive content"
212msgstr "" 212msgstr ""
213 213
214#: html.c:1327 214#: html.c:1331
215msgid "Email address for notifications:" 215msgid "Email address for notifications:"
216msgstr "" 216msgstr ""
217 217
218#: html.c:1335 218#: html.c:1339
219msgid "Telegram notifications (bot key and chat id):" 219msgid "Telegram notifications (bot key and chat id):"
220msgstr "" 220msgstr ""
221 221
222#: html.c:1349 222#: html.c:1353
223msgid "ntfy notifications (ntfy server and token):" 223msgid "ntfy notifications (ntfy server and token):"
224msgstr "" 224msgstr ""
225 225
226#: html.c:1363 226#: html.c:1367
227msgid "Maximum days to keep posts (0: server settings):" 227msgid "Maximum days to keep posts (0: server settings):"
228msgstr "" 228msgstr ""
229 229
230#: html.c:1377 230#: html.c:1381
231msgid "Drop direct messages from people you don't follow" 231msgid "Drop direct messages from people you don't follow"
232msgstr "" 232msgstr ""
233 233
234#: html.c:1386 234#: html.c:1390
235msgid "This account is a bot" 235msgid "This account is a bot"
236msgstr "" 236msgstr ""
237 237
238#: html.c:1395 238#: html.c:1399
239msgid "Auto-boost all mentions to this account" 239msgid "Auto-boost all mentions to this account"
240msgstr "" 240msgstr ""
241 241
242#: html.c:1404 242#: html.c:1408
243msgid "This account is private (posts are not shown through the web)" 243msgid "This account is private (posts are not shown through the web)"
244msgstr "" 244msgstr ""
245 245
246#: html.c:1414 246#: html.c:1418
247msgid "Collapse top threads by default" 247msgid "Collapse top threads by default"
248msgstr "" 248msgstr ""
249 249
250#: html.c:1423 250#: html.c:1427
251msgid "Follow requests must be approved" 251msgid "Follow requests must be approved"
252msgstr "" 252msgstr ""
253 253
254#: html.c:1432 254#: html.c:1436
255msgid "Publish follower and following metrics" 255msgid "Publish follower and following metrics"
256msgstr "" 256msgstr ""
257 257
258#: html.c:1434 258#: html.c:1438
259msgid "Current location:" 259msgid "Current location:"
260msgstr "" 260msgstr ""
261 261
262#: html.c:1448 262#: html.c:1452
263msgid "Profile metadata (key=value pairs in each line):" 263msgid "Profile metadata (key=value pairs in each line):"
264msgstr "" 264msgstr ""
265 265
266#: html.c:1459 266#: html.c:1463
267msgid "Web interface language:" 267msgid "Web interface language:"
268msgstr "" 268msgstr ""
269 269
270#: html.c:1464 270#: html.c:1468
271msgid "New password:" 271msgid "New password:"
272msgstr "" 272msgstr ""
273 273
274#: html.c:1471 274#: html.c:1475
275msgid "Repeat new password:" 275msgid "Repeat new password:"
276msgstr "" 276msgstr ""
277 277
278#: html.c:1481 278#: html.c:1485
279msgid "Update user info" 279msgid "Update user info"
280msgstr "" 280msgstr ""
281 281
282#: html.c:1492 282#: html.c:1496
283msgid "Followed hashtags..." 283msgid "Followed hashtags..."
284msgstr "" 284msgstr ""
285 285
286#: html.c:1494 286#: html.c:1498 html.c:1530
287msgid "One hashtag per line" 287msgid "One hashtag per line"
288msgstr "" 288msgstr ""
289 289
290#: html.c:1515 290#: html.c:1519 html.c:1551
291msgid "Update hashtags" 291msgid "Update hashtags"
292msgstr "" 292msgstr ""
293 293
294#: html.c:1632 294#: html.c:1668
295msgid "Say you like this post" 295msgid "Say you like this post"
296msgstr "" 296msgstr ""
297 297
298#: html.c:1637 html.c:4294 298#: html.c:1673 html.c:4332
299msgid "Unlike" 299msgid "Unlike"
300msgstr "" 300msgstr ""
301 301
302#: html.c:1637 302#: html.c:1673
303msgid "Nah don't like it that much" 303msgid "Nah don't like it that much"
304msgstr "" 304msgstr ""
305 305
306#: html.c:1643 html.c:4426 306#: html.c:1679 html.c:4464
307msgid "Unpin" 307msgid "Unpin"
308msgstr "" 308msgstr ""
309 309
310#: html.c:1643 310#: html.c:1679
311msgid "Unpin this post from your timeline" 311msgid "Unpin this post from your timeline"
312msgstr "" 312msgstr ""
313 313
314#: html.c:1646 html.c:4421 314#: html.c:1682 html.c:4459
315msgid "Pin" 315msgid "Pin"
316msgstr "" 316msgstr ""
317 317
318#: html.c:1646 318#: html.c:1682
319msgid "Pin this post to the top of your timeline" 319msgid "Pin this post to the top of your timeline"
320msgstr "" 320msgstr ""
321 321
322#: html.c:1653 322#: html.c:1689
323msgid "Announce this post to your followers" 323msgid "Announce this post to your followers"
324msgstr "" 324msgstr ""
325 325
326#: html.c:1658 html.c:4302 326#: html.c:1694 html.c:4340
327msgid "Unboost" 327msgid "Unboost"
328msgstr "" 328msgstr ""
329 329
330#: html.c:1658 330#: html.c:1694
331msgid "I regret I boosted this" 331msgid "I regret I boosted this"
332msgstr "" 332msgstr ""
333 333
334#: html.c:1664 html.c:4436 334#: html.c:1700 html.c:4474
335msgid "Unbookmark" 335msgid "Unbookmark"
336msgstr "" 336msgstr ""
337 337
338#: html.c:1664 338#: html.c:1700
339msgid "Delete this post from your bookmarks" 339msgid "Delete this post from your bookmarks"
340msgstr "" 340msgstr ""
341 341
342#: html.c:1667 html.c:4431 342#: html.c:1703 html.c:4469
343msgid "Bookmark" 343msgid "Bookmark"
344msgstr "" 344msgstr ""
345 345
346#: html.c:1667 346#: html.c:1703
347msgid "Add this post to your bookmarks" 347msgid "Add this post to your bookmarks"
348msgstr "" 348msgstr ""
349 349
350#: html.c:1673 html.c:3002 html.c:3190 html.c:4346 350#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
351msgid "Unfollow" 351msgid "Unfollow"
352msgstr "" 352msgstr ""
353 353
354#: html.c:1673 html.c:3003 354#: html.c:1709 html.c:3041
355msgid "Stop following this user's activity" 355msgid "Stop following this user's activity"
356msgstr "" 356msgstr ""
357 357
358#: html.c:1677 html.c:3017 358#: html.c:1713 html.c:3055
359msgid "Start following this user's activity" 359msgid "Start following this user's activity"
360msgstr "" 360msgstr ""
361 361
362#: html.c:1683 html.c:4376 362#: html.c:1719 html.c:4414
363msgid "Unfollow Group" 363msgid "Unfollow Group"
364msgstr "" 364msgstr ""
365 365
366#: html.c:1684 366#: html.c:1720
367msgid "Stop following this group or channel" 367msgid "Stop following this group or channel"
368msgstr "" 368msgstr ""
369 369
370#: html.c:1688 html.c:4363 370#: html.c:1724 html.c:4401
371msgid "Follow Group" 371msgid "Follow Group"
372msgstr "" 372msgstr ""
373 373
374#: html.c:1689 374#: html.c:1725
375msgid "Start following this group or channel" 375msgid "Start following this group or channel"
376msgstr "" 376msgstr ""
377 377
378#: html.c:1694 html.c:3039 html.c:4310 378#: html.c:1730 html.c:3077 html.c:4348
379msgid "MUTE" 379msgid "MUTE"
380msgstr "" 380msgstr ""
381 381
382#: html.c:1695 382#: html.c:1731
383msgid "Block any activity from this user forever" 383msgid "Block any activity from this user forever"
384msgstr "" 384msgstr ""
385 385
386#: html.c:1700 html.c:3021 html.c:4393 386#: html.c:1736 html.c:3059 html.c:4431
387msgid "Delete" 387msgid "Delete"
388msgstr "" 388msgstr ""
389 389
390#: html.c:1700 390#: html.c:1736
391msgid "Delete this post" 391msgid "Delete this post"
392msgstr "" 392msgstr ""
393 393
394#: html.c:1703 html.c:4318 394#: html.c:1739 html.c:4356
395msgid "Hide" 395msgid "Hide"
396msgstr "" 396msgstr ""
397 397
398#: html.c:1703 398#: html.c:1739
399msgid "Hide this post and its children" 399msgid "Hide this post and its children"
400msgstr "" 400msgstr ""
401 401
402#: html.c:1734 402#: html.c:1770
403msgid "Edit..." 403msgid "Edit..."
404msgstr "" 404msgstr ""
405 405
406#: html.c:1753 406#: html.c:1789
407msgid "Reply..." 407msgid "Reply..."
408msgstr "" 408msgstr ""
409 409
410#: html.c:1804 410#: html.c:1840
411msgid "Truncated (too deep)" 411msgid "Truncated (too deep)"
412msgstr "" 412msgstr ""
413 413
414#: html.c:1813 414#: html.c:1849
415msgid "follows you" 415msgid "follows you"
416msgstr "" 416msgstr ""
417 417
418#: html.c:1876 418#: html.c:1912
419msgid "Pinned" 419msgid "Pinned"
420msgstr "" 420msgstr ""
421 421
422#: html.c:1884 422#: html.c:1920
423msgid "Bookmarked" 423msgid "Bookmarked"
424msgstr "" 424msgstr ""
425 425
426#: html.c:1892 426#: html.c:1928
427msgid "Poll" 427msgid "Poll"
428msgstr "" 428msgstr ""
429 429
430#: html.c:1899 430#: html.c:1935
431msgid "Voted" 431msgid "Voted"
432msgstr "" 432msgstr ""
433 433
434#: html.c:1908 434#: html.c:1944
435msgid "Event" 435msgid "Event"
436msgstr "" 436msgstr ""
437 437
438#: html.c:1940 html.c:1969 438#: html.c:1976 html.c:2005
439msgid "boosted" 439msgid "boosted"
440msgstr "" 440msgstr ""
441 441
442#: html.c:1985 442#: html.c:2021
443msgid "in reply to" 443msgid "in reply to"
444msgstr "" 444msgstr ""
445 445
446#: html.c:2036 446#: html.c:2072
447msgid " [SENSITIVE CONTENT]" 447msgid " [SENSITIVE CONTENT]"
448msgstr "" 448msgstr ""
449 449
450#: html.c:2213 450#: html.c:2249
451msgid "Vote" 451msgid "Vote"
452msgstr "" 452msgstr ""
453 453
454#: html.c:2223 454#: html.c:2259
455msgid "Closed" 455msgid "Closed"
456msgstr "" 456msgstr ""
457 457
458#: html.c:2248 458#: html.c:2284
459msgid "Closes in" 459msgid "Closes in"
460msgstr "" 460msgstr ""
461 461
462#: html.c:2327 462#: html.c:2365
463msgid "Video" 463msgid "Video"
464msgstr "" 464msgstr ""
465 465
466#: html.c:2342 466#: html.c:2380
467msgid "Audio" 467msgid "Audio"
468msgstr "" 468msgstr ""
469 469
470#: html.c:2364 470#: html.c:2402
471msgid "Attachment" 471msgid "Attachment"
472msgstr "" 472msgstr ""
473 473
474#: html.c:2378 474#: html.c:2416
475msgid "Alt..." 475msgid "Alt..."
476msgstr "" 476msgstr ""
477 477
478#: html.c:2391 478#: html.c:2429
479msgid "Source channel or community" 479msgid "Source channel or community"
480msgstr "" 480msgstr ""
481 481
482#: html.c:2485 482#: html.c:2523
483msgid "Time: " 483msgid "Time: "
484msgstr "" 484msgstr ""
485 485
486#: html.c:2560 486#: html.c:2598
487msgid "Older..." 487msgid "Older..."
488msgstr "" 488msgstr ""
489 489
490#: html.c:2623 490#: html.c:2661
491msgid "about this site" 491msgid "about this site"
492msgstr "" 492msgstr ""
493 493
494#: html.c:2625 494#: html.c:2663
495msgid "powered by " 495msgid "powered by "
496msgstr "" 496msgstr ""
497 497
498#: html.c:2690 498#: html.c:2728
499msgid "Dismiss" 499msgid "Dismiss"
500msgstr "" 500msgstr ""
501 501
502#: html.c:2707 502#: html.c:2745
503#, c-format 503#, c-format
504msgid "Timeline for list '%s'" 504msgid "Timeline for list '%s'"
505msgstr "" 505msgstr ""
506 506
507#: html.c:2726 html.c:3767 507#: html.c:2764 html.c:3805
508msgid "Pinned posts" 508msgid "Pinned posts"
509msgstr "" 509msgstr ""
510 510
511#: html.c:2738 html.c:3782 511#: html.c:2776 html.c:3820
512msgid "Bookmarked posts" 512msgid "Bookmarked posts"
513msgstr "" 513msgstr ""
514 514
515#: html.c:2750 html.c:3797 515#: html.c:2788 html.c:3835
516msgid "Post drafts" 516msgid "Post drafts"
517msgstr "" 517msgstr ""
518 518
519#: html.c:2809 519#: html.c:2847
520msgid "No more unseen posts" 520msgid "No more unseen posts"
521msgstr "" 521msgstr ""
522 522
523#: html.c:2813 html.c:2913 523#: html.c:2851 html.c:2951
524msgid "Back to top" 524msgid "Back to top"
525msgstr "" 525msgstr ""
526 526
527#: html.c:2866 527#: html.c:2904
528msgid "History" 528msgid "History"
529msgstr "" 529msgstr ""
530 530
531#: html.c:2918 html.c:3338 531#: html.c:2956 html.c:3376
532msgid "More..." 532msgid "More..."
533msgstr "" 533msgstr ""
534 534
535#: html.c:3007 html.c:4329 535#: html.c:3045 html.c:4367
536msgid "Unlimit" 536msgid "Unlimit"
537msgstr "" 537msgstr ""
538 538
539#: html.c:3008 539#: html.c:3046
540msgid "Allow announces (boosts) from this user" 540msgid "Allow announces (boosts) from this user"
541msgstr "" 541msgstr ""
542 542
543#: html.c:3011 html.c:4325 543#: html.c:3049 html.c:4363
544msgid "Limit" 544msgid "Limit"
545msgstr "" 545msgstr ""
546 546
547#: html.c:3012 547#: html.c:3050
548msgid "Block announces (boosts) from this user" 548msgid "Block announces (boosts) from this user"
549msgstr "" 549msgstr ""
550 550
551#: html.c:3021 551#: html.c:3059
552msgid "Delete this user" 552msgid "Delete this user"
553msgstr "" 553msgstr ""
554 554
555#: html.c:3026 html.c:4441 555#: html.c:3064 html.c:4479
556msgid "Approve" 556msgid "Approve"
557msgstr "" 557msgstr ""
558 558
559#: html.c:3027 559#: html.c:3065
560msgid "Approve this follow request" 560msgid "Approve this follow request"
561msgstr "" 561msgstr ""
562 562
563#: html.c:3030 html.c:4465 563#: html.c:3068 html.c:4503
564msgid "Discard" 564msgid "Discard"
565msgstr "" 565msgstr ""
566 566
567#: html.c:3030 567#: html.c:3068
568msgid "Discard this follow request" 568msgid "Discard this follow request"
569msgstr "" 569msgstr ""
570 570
571#: html.c:3035 html.c:4314 571#: html.c:3073 html.c:4352
572msgid "Unmute" 572msgid "Unmute"
573msgstr "" 573msgstr ""
574 574
575#: html.c:3036 575#: html.c:3074
576msgid "Stop blocking activities from this user" 576msgid "Stop blocking activities from this user"
577msgstr "" 577msgstr ""
578 578
579#: html.c:3040 579#: html.c:3078
580msgid "Block any activity from this user" 580msgid "Block any activity from this user"
581msgstr "" 581msgstr ""
582 582
583#: html.c:3048 583#: html.c:3086
584msgid "Direct Message..." 584msgid "Direct Message..."
585msgstr "" 585msgstr ""
586 586
587#: html.c:3083 587#: html.c:3121
588msgid "Pending follow confirmations" 588msgid "Pending follow confirmations"
589msgstr "" 589msgstr ""
590 590
591#: html.c:3087 591#: html.c:3125
592msgid "People you follow" 592msgid "People you follow"
593msgstr "" 593msgstr ""
594 594
595#: html.c:3088 595#: html.c:3126
596msgid "People that follow you" 596msgid "People that follow you"
597msgstr "" 597msgstr ""
598 598
599#: html.c:3127 599#: html.c:3165
600msgid "Clear all" 600msgid "Clear all"
601msgstr "" 601msgstr ""
602 602
603#: html.c:3184 603#: html.c:3222
604msgid "Mention" 604msgid "Mention"
605msgstr "" 605msgstr ""
606 606
607#: html.c:3187 607#: html.c:3225
608msgid "Finished poll" 608msgid "Finished poll"
609msgstr "" 609msgstr ""
610 610
611#: html.c:3202 611#: html.c:3240
612msgid "Follow Request" 612msgid "Follow Request"
613msgstr "" 613msgstr ""
614 614
615#: html.c:3285 615#: html.c:3323
616msgid "Context" 616msgid "Context"
617msgstr "" 617msgstr ""
618 618
619#: html.c:3296 619#: html.c:3334
620msgid "New" 620msgid "New"
621msgstr "" 621msgstr ""
622 622
623#: html.c:3311 623#: html.c:3349
624msgid "Already seen" 624msgid "Already seen"
625msgstr "" 625msgstr ""
626 626
627#: html.c:3326 627#: html.c:3364
628msgid "None" 628msgid "None"
629msgstr "" 629msgstr ""
630 630
631#: html.c:3592 631#: html.c:3630
632#, c-format 632#, c-format
633msgid "Search results for account %s" 633msgid "Search results for account %s"
634msgstr "" 634msgstr ""
635 635
636#: html.c:3599 636#: html.c:3637
637#, c-format 637#, c-format
638msgid "Account %s not found" 638msgid "Account %s not found"
639msgstr "" 639msgstr ""
640 640
641#: html.c:3630 641#: html.c:3668
642#, c-format 642#, c-format
643msgid "Search results for tag %s" 643msgid "Search results for tag %s"
644msgstr "" 644msgstr ""
645 645
646#: html.c:3630 646#: html.c:3668
647#, c-format 647#, c-format
648msgid "Nothing found for tag %s" 648msgid "Nothing found for tag %s"
649msgstr "" 649msgstr ""
650 650
651#: html.c:3646 651#: html.c:3684
652#, c-format 652#, c-format
653msgid "Search results for '%s' (may be more)" 653msgid "Search results for '%s' (may be more)"
654msgstr "" 654msgstr ""
655 655
656#: html.c:3649 656#: html.c:3687
657#, c-format 657#, c-format
658msgid "Search results for '%s'" 658msgid "Search results for '%s'"
659msgstr "" 659msgstr ""
660 660
661#: html.c:3652 661#: html.c:3690
662#, c-format 662#, c-format
663msgid "No more matches for '%s'" 663msgid "No more matches for '%s'"
664msgstr "" 664msgstr ""
665 665
666#: html.c:3654 666#: html.c:3692
667#, c-format 667#, c-format
668msgid "Nothing found for '%s'" 668msgid "Nothing found for '%s'"
669msgstr "" 669msgstr ""
670 670
671#: html.c:3752 671#: html.c:3790
672msgid "Showing instance timeline" 672msgid "Showing instance timeline"
673msgstr "" 673msgstr ""
674 674
675#: html.c:3820 675#: html.c:3858
676#, c-format 676#, c-format
677msgid "Showing timeline for list '%s'" 677msgid "Showing timeline for list '%s'"
678msgstr "" 678msgstr ""
@@ -685,3 +685,47 @@ msgstr ""
685#: httpd.c:259 685#: httpd.c:259
686msgid "Recent posts by users in this instance" 686msgid "Recent posts by users in this instance"
687msgstr "" 687msgstr ""
688
689#: html.c:1528
690msgid "Blocked hashtags..."
691msgstr ""
692
693#: html.c:419
694msgid "Optional URL to reply to"
695msgstr ""
696
697#: html.c:526
698msgid ""
699"Option 1...\n"
700"Option 2...\n"
701"Option 3...\n"
702"..."
703msgstr ""
704
705#: html.c:1345
706msgid "Bot API key"
707msgstr ""
708
709#: html.c:1351
710msgid "Chat id"
711msgstr ""
712
713#: html.c:1359
714msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
715msgstr ""
716
717#: html.c:1365
718msgid "ntfy token - if needed"
719msgstr ""
720
721#: html.c:2765
722msgid "pinned"
723msgstr ""
724
725#: html.c:2777
726msgid "bookmarks"
727msgstr ""
728
729#: html.c:2789
730msgid "drafts"
731msgstr ""
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..b3fa613
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,735 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: Gonzalo Raúl Nemmi\n"
8"Language: es\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10
11#: html.c:371
12msgid "Sensitive content: "
13msgstr "Contenido sensible: "
14
15#: html.c:379
16msgid "Sensitive content description"
17msgstr "Descripción del contenido sensible"
18
19#: html.c:392
20msgid "Only for mentioned people: "
21msgstr "Solo personas mencionadas: "
22
23#: html.c:415
24msgid "Reply to (URL): "
25msgstr "Responder a (URL): "
26
27#: html.c:424
28msgid "Don't send, but store as a draft"
29msgstr "No enviar. Guardar como borrador"
30
31#: html.c:425
32msgid "Draft:"
33msgstr "Borrador:"
34
35#: html.c:445
36msgid "Attachments..."
37msgstr "Adjuntos..."
38
39#: html.c:468
40msgid "File:"
41msgstr "Archivo:"
42
43#: html.c:472
44msgid "Clear this field to delete the attachment"
45msgstr "Limpiar este campo para eliminar el adjunto"
46
47#: html.c:481 html.c:506
48msgid "Attachment description"
49msgstr "Descripción del adjunto"
50
51#: html.c:517
52msgid "Poll..."
53msgstr "Encuesta..."
54
55#: html.c:519
56msgid "Poll options (one per line, up to 8):"
57msgstr "Opciones de encuesta (una por línea, hasta 8):"
58
59#: html.c:531
60msgid "One choice"
61msgstr "Una opción"
62
63#: html.c:534
64msgid "Multiple choices"
65msgstr "Opciones múltiples"
66
67#: html.c:540
68msgid "End in 5 minutes"
69msgstr "Finalizar en 5 minutos"
70
71#: html.c:544
72msgid "End in 1 hour"
73msgstr "Finalizar en 1 hora"
74
75#: html.c:547
76msgid "End in 1 day"
77msgstr "Finalizar en 1 día"
78
79#: html.c:555
80msgid "Post"
81msgstr "Publicar"
82
83#: html.c:652 html.c:659
84msgid "Site description"
85msgstr "Descripción del sitio"
86
87#: html.c:670
88msgid "Admin email"
89msgstr "Email del Administrador"
90
91#: html.c:683
92msgid "Admin account"
93msgstr "Cuenta del Administrador"
94
95#: html.c:751 html.c:1087
96#, c-format
97msgid "%d following, %d followers"
98msgstr "%d siguiendo, %d seguidores"
99
100#: html.c:841
101msgid "RSS"
102msgstr "RSS"
103
104#: html.c:846 html.c:874
105msgid "private"
106msgstr "privado"
107
108#: html.c:870
109msgid "public"
110msgstr "público"
111
112#: html.c:878
113msgid "notifications"
114msgstr "notificaciones"
115
116#: html.c:883
117msgid "people"
118msgstr "personas"
119
120#: html.c:887
121msgid "instance"
122msgstr "instancia"
123
124#: html.c:896
125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag"
128msgstr ""
129"Buscar publicaciones por URL o contenido (expresiones regulares), cuenta "
130"@usuario@host , ó #etiqueta"
131
132#: html.c:897
133msgid "Content search"
134msgstr "Buscar contenido"
135
136#: html.c:1019
137msgid "verified link"
138msgstr "link verificado"
139
140#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
141msgid "Location: "
142msgstr "Ubicación: "
143
144#: html.c:1112
145msgid "New Post..."
146msgstr "Nueva Publicación..."
147
148#: html.c:1114
149msgid "What's on your mind?"
150msgstr "¿En qué estás pensando?"
151
152#: html.c:1123
153msgid "Operations..."
154msgstr "Operaciones..."
155
156#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
157msgid "Follow"
158msgstr "Seguir"
159
160#: html.c:1140
161msgid "(by URL or user@host)"
162msgstr "(por URL o usuario@host)"
163
164#: html.c:1155 html.c:1689 html.c:4323
165msgid "Boost"
166msgstr "Impulsar"
167
168#: html.c:1157 html.c:1174
169msgid "(by URL)"
170msgstr "(por URL)"
171
172#: html.c:1172 html.c:1668 html.c:4314
173msgid "Like"
174msgstr "Me gusta"
175
176#: html.c:1277
177msgid "User Settings..."
178msgstr "Configuración de usuario..."
179
180#: html.c:1286
181msgid "Display name:"
182msgstr "Nombre para mostrar:"
183
184#: html.c:1292
185msgid "Your name"
186msgstr "Su nombre"
187
188#: html.c:1294
189msgid "Avatar: "
190msgstr "Avatar: "
191
192#: html.c:1302
193msgid "Delete current avatar"
194msgstr "Eliminar avatar"
195
196#: html.c:1304
197msgid "Header image (banner): "
198msgstr "Imagen de cabecera (banner): "
199
200#: html.c:1312
201msgid "Delete current header image"
202msgstr "Eliminar imagen de cabecera"
203
204#: html.c:1314
205msgid "Bio:"
206msgstr "Bio:"
207
208#: html.c:1320
209msgid "Write about yourself here..."
210msgstr "Escriba algo sobre usted aquí..."
211
212#: html.c:1329
213msgid "Always show sensitive content"
214msgstr "Siempre mostrar contenido sensible"
215
216#: html.c:1331
217msgid "Email address for notifications:"
218msgstr "Cuenta de email para las notificaciones:"
219
220#: html.c:1339
221msgid "Telegram notifications (bot key and chat id):"
222msgstr "Notificaciones en Telegram (llave del bot e id del chat):"
223
224#: html.c:1353
225msgid "ntfy notifications (ntfy server and token):"
226msgstr "Notificaciones en ntfy (servidor ntfy y token):"
227
228#: html.c:1367
229msgid "Maximum days to keep posts (0: server settings):"
230msgstr ""
231"Plazo máximo de conservación de publicaciones en días (0: usar configuración "
232"del servidor):"
233
234#: html.c:1381
235msgid "Drop direct messages from people you don't follow"
236msgstr "Descartar mensajes directos de personas a las que no sigue"
237
238#: html.c:1390
239msgid "This account is a bot"
240msgstr "Esta cuenta es un bot"
241
242#: html.c:1399
243msgid "Auto-boost all mentions to this account"
244msgstr "Impulsar automáticamente todas las menciones a esta cuenta"
245
246#: html.c:1408
247msgid "This account is private (posts are not shown through the web)"
248msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)"
249
250#: html.c:1418
251msgid "Collapse top threads by default"
252msgstr "Contraer hilo de publicaciones por defecto"
253
254#: html.c:1427
255msgid "Follow requests must be approved"
256msgstr "Las solicitudes de seguimiento deben ser aprobadas"
257
258#: html.c:1436
259msgid "Publish follower and following metrics"
260msgstr "Mostrar cantidad de seguidores y seguidos"
261
262#: html.c:1438
263msgid "Current location:"
264msgstr "Ubicación actual:"
265
266#: html.c:1452
267msgid "Profile metadata (key=value pairs in each line):"
268msgstr "Metadata del perfil (pares llave=valor en cada línea):"
269
270#: html.c:1463
271msgid "Web interface language:"
272msgstr "Idioma de la interfaz Web:"
273
274#: html.c:1468
275msgid "New password:"
276msgstr "Nueva contraseña:"
277
278#: html.c:1475
279msgid "Repeat new password:"
280msgstr "Repetir nueva contraseña:"
281
282#: html.c:1485
283msgid "Update user info"
284msgstr "Actualizar información de usuario"
285
286#: html.c:1496
287msgid "Followed hashtags..."
288msgstr "Etiquetas en seguimiento..."
289
290#: html.c:1498 html.c:1530
291msgid "One hashtag per line"
292msgstr "Una etiqueta por línea"
293
294#: html.c:1519 html.c:1551
295msgid "Update hashtags"
296msgstr "Actualizar etiquetas"
297
298#: html.c:1668
299msgid "Say you like this post"
300msgstr "Decir que te gusta esta publicación"
301
302#: html.c:1673 html.c:4332
303msgid "Unlike"
304msgstr "No me gusta"
305
306#: html.c:1673
307msgid "Nah don't like it that much"
308msgstr "Nah, no me gusta tanto"
309
310#: html.c:1679 html.c:4464
311msgid "Unpin"
312msgstr "Desanclar"
313
314#: html.c:1679
315msgid "Unpin this post from your timeline"
316msgstr "Desanclar esta publicación de su línea de tiempo"
317
318#: html.c:1682 html.c:4459
319msgid "Pin"
320msgstr "Anclar"
321
322#: html.c:1682
323msgid "Pin this post to the top of your timeline"
324msgstr "Anclar esta publicación al inicio de su línea de tiempo"
325
326#: html.c:1689
327msgid "Announce this post to your followers"
328msgstr "Anunciar esta publicación a sus seguidores"
329
330#: html.c:1694 html.c:4340
331msgid "Unboost"
332msgstr "Eliminar impulso"
333
334#: html.c:1694
335msgid "I regret I boosted this"
336msgstr "Me arrepiento de haber impulsado esto"
337
338#: html.c:1700 html.c:4474
339msgid "Unbookmark"
340msgstr "Eliminar marcador"
341
342#: html.c:1700
343msgid "Delete this post from your bookmarks"
344msgstr "Eliminar marcador de esta publicación"
345
346#: html.c:1703 html.c:4469
347msgid "Bookmark"
348msgstr "Marcador"
349
350#: html.c:1703
351msgid "Add this post to your bookmarks"
352msgstr "Agregar esta publicación a mis marcadores"
353
354#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
355msgid "Unfollow"
356msgstr "Dejar de seguir"
357
358#: html.c:1709 html.c:3041
359msgid "Stop following this user's activity"
360msgstr "Dejar de seguir la actividad de este usuario"
361
362#: html.c:1713 html.c:3055
363msgid "Start following this user's activity"
364msgstr "Seguir la actividad de este usuario"
365
366#: html.c:1719 html.c:4414
367msgid "Unfollow Group"
368msgstr "Dejar de seguir este Grupo"
369
370#: html.c:1720
371msgid "Stop following this group or channel"
372msgstr "Dejar de seguir este grupo o canal"
373
374#: html.c:1724 html.c:4401
375msgid "Follow Group"
376msgstr "Seguir Grupo"
377
378#: html.c:1725
379msgid "Start following this group or channel"
380msgstr "Seguir grupo o canal"
381
382#: html.c:1730 html.c:3077 html.c:4348
383msgid "MUTE"
384msgstr "SILENCIAR"
385
386#: html.c:1731
387msgid "Block any activity from this user forever"
388msgstr "Bloquear toda la actividad de este usuario para siempre"
389
390#: html.c:1736 html.c:3059 html.c:4431
391msgid "Delete"
392msgstr "Eliminar"
393
394#: html.c:1736
395msgid "Delete this post"
396msgstr "Eliminar esta publicación"
397
398#: html.c:1739 html.c:4356
399msgid "Hide"
400msgstr "Ocultar"
401
402#: html.c:1739
403msgid "Hide this post and its children"
404msgstr "Ocultar esta publicación y sus respuestas"
405
406#: html.c:1770
407msgid "Edit..."
408msgstr "Editar..."
409
410#: html.c:1789
411msgid "Reply..."
412msgstr "Responder..."
413
414#: html.c:1840
415msgid "Truncated (too deep)"
416msgstr "Truncado (demasiado profundo)"
417
418#: html.c:1849
419msgid "follows you"
420msgstr "te sigue"
421
422#: html.c:1912
423msgid "Pinned"
424msgstr "Anclado"
425
426#: html.c:1920
427msgid "Bookmarked"
428msgstr "Marcado"
429
430#: html.c:1928
431msgid "Poll"
432msgstr "Encuesta"
433
434#: html.c:1935
435msgid "Voted"
436msgstr "Votado"
437
438#: html.c:1944
439msgid "Event"
440msgstr "Evento"
441
442#: html.c:1976 html.c:2005
443msgid "boosted"
444msgstr "impulsado"
445
446#: html.c:2021
447msgid "in reply to"
448msgstr "en respuesta a"
449
450#: html.c:2072
451msgid " [SENSITIVE CONTENT]"
452msgstr " [CONTENIDO SENSIBLE]"
453
454#: html.c:2249
455msgid "Vote"
456msgstr "Votar"
457
458#: html.c:2259
459msgid "Closed"
460msgstr "Cerrado"
461
462#: html.c:2284
463msgid "Closes in"
464msgstr "Cierra en"
465
466#: html.c:2365
467msgid "Video"
468msgstr "Video"
469
470#: html.c:2380
471msgid "Audio"
472msgstr "Audio"
473
474#: html.c:2402
475msgid "Attachment"
476msgstr "Adjunto"
477
478#: html.c:2416
479msgid "Alt..."
480msgstr "Alt..."
481
482#: html.c:2429
483msgid "Source channel or community"
484msgstr "Canal o comunidad de origen"
485
486#: html.c:2523
487msgid "Time: "
488msgstr "Hora: "
489
490#: html.c:2598
491msgid "Older..."
492msgstr "Más antiguo..."
493
494#: html.c:2661
495msgid "about this site"
496msgstr "acerca de este sitio"
497
498#: html.c:2663
499msgid "powered by "
500msgstr "provisto por "
501
502#: html.c:2728
503msgid "Dismiss"
504msgstr "Descartar"
505
506#: html.c:2745
507#, c-format
508msgid "Timeline for list '%s'"
509msgstr "Línea de tiempo de la lista '%s'"
510
511#: html.c:2764 html.c:3805
512msgid "Pinned posts"
513msgstr "Publicaciones ancladas"
514
515#: html.c:2776 html.c:3820
516msgid "Bookmarked posts"
517msgstr "Publicaciones marcadas"
518
519#: html.c:2788 html.c:3835
520msgid "Post drafts"
521msgstr "Borradores de publicaciones"
522
523#: html.c:2847
524msgid "No more unseen posts"
525msgstr "No quedan publicaciones sin ver"
526
527#: html.c:2851 html.c:2951
528msgid "Back to top"
529msgstr "Volver al inicio"
530
531#: html.c:2904
532msgid "History"
533msgstr "Historia"
534
535#: html.c:2956 html.c:3376
536msgid "More..."
537msgstr "Más..."
538
539#: html.c:3045 html.c:4367
540msgid "Unlimit"
541msgstr "Sin límite"
542
543#: html.c:3046
544msgid "Allow announces (boosts) from this user"
545msgstr "Permitir anuncios (impulsos) de este usuario"
546
547#: html.c:3049 html.c:4363
548msgid "Limit"
549msgstr "Límite"
550
551#: html.c:3050
552msgid "Block announces (boosts) from this user"
553msgstr "Bloquear anuncios (impulsos) de este usuario"
554
555#: html.c:3059
556msgid "Delete this user"
557msgstr "Eliminar este usuario"
558
559#: html.c:3064 html.c:4479
560msgid "Approve"
561msgstr "Aprobar"
562
563#: html.c:3065
564msgid "Approve this follow request"
565msgstr "Aprobar solicitud de seguimiento"
566
567#: html.c:3068 html.c:4503
568msgid "Discard"
569msgstr "Descartar"
570
571#: html.c:3068
572msgid "Discard this follow request"
573msgstr "Descartar solicitud de seguimiento"
574
575#: html.c:3073 html.c:4352
576msgid "Unmute"
577msgstr "Dejar de SILENCIAR"
578
579#: html.c:3074
580msgid "Stop blocking activities from this user"
581msgstr "Dejar de bloquear actividad de este usuario"
582
583#: html.c:3078
584msgid "Block any activity from this user"
585msgstr "Bloquear toda actividad de este usuario"
586
587#: html.c:3086
588msgid "Direct Message..."
589msgstr "Mensaje Directo..."
590
591#: html.c:3121
592msgid "Pending follow confirmations"
593msgstr "Confirmaciones de seguimiento pendientes"
594
595#: html.c:3125
596msgid "People you follow"
597msgstr "Personas que sigues"
598
599#: html.c:3126
600msgid "People that follow you"
601msgstr "Personas que te siguen"
602
603#: html.c:3165
604msgid "Clear all"
605msgstr "Limpiar todo"
606
607#: html.c:3222
608msgid "Mention"
609msgstr "Mención"
610
611#: html.c:3225
612msgid "Finished poll"
613msgstr "Encuesta finalizada"
614
615#: html.c:3240
616msgid "Follow Request"
617msgstr "Solicitud de Seguimiento"
618
619#: html.c:3323
620msgid "Context"
621msgstr "Contexto"
622
623#: html.c:3334
624msgid "New"
625msgstr "Nuevo"
626
627#: html.c:3349
628msgid "Already seen"
629msgstr "Ya visto"
630
631#: html.c:3364
632msgid "None"
633msgstr "Ninguno"
634
635#: html.c:3630
636#, c-format
637msgid "Search results for account %s"
638msgstr "Buscar resultados para la cuenta %s"
639
640#: html.c:3637
641#, c-format
642msgid "Account %s not found"
643msgstr "No se encontró la cuenta %s"
644
645#: html.c:3668
646#, c-format
647msgid "Search results for tag %s"
648msgstr "Buscar resultados para la etiqueta %s"
649
650#: html.c:3668
651#, c-format
652msgid "Nothing found for tag %s"
653msgstr "No se encontró nada con la etiqueta %s"
654
655#: html.c:3684
656#, c-format
657msgid "Search results for '%s' (may be more)"
658msgstr "Resultados de búsqueda para '%s' (puede haber más)"
659
660#: html.c:3687
661#, c-format
662msgid "Search results for '%s'"
663msgstr "Resultados de búsqueda para '%s'"
664
665#: html.c:3690
666#, c-format
667msgid "No more matches for '%s'"
668msgstr "No hay más coincidencias para '%s'"
669
670#: html.c:3692
671#, c-format
672msgid "Nothing found for '%s'"
673msgstr "No se encontró nada para '%s'"
674
675#: html.c:3790
676msgid "Showing instance timeline"
677msgstr "Mostrando línea de tiempo de la instancia"
678
679#: html.c:3858
680#, c-format
681msgid "Showing timeline for list '%s'"
682msgstr "Mostrando línea de tiempo de la lista '%s'"
683
684#: httpd.c:250
685#, c-format
686msgid "Search results for tag #%s"
687msgstr "Resultado de búsqueda para la etiqueta #%s"
688
689#: httpd.c:259
690msgid "Recent posts by users in this instance"
691msgstr "Publicaciones recientes de los usuarios de esta instancia"
692
693#: html.c:1528
694msgid "Blocked hashtags..."
695msgstr "Etiquetas bloqueadas..."
696
697#: html.c:419
698msgid "Optional URL to reply to"
699msgstr ""
700
701#: html.c:526
702msgid ""
703"Option 1...\n"
704"Option 2...\n"
705"Option 3...\n"
706"..."
707msgstr ""
708
709#: html.c:1345
710msgid "Bot API key"
711msgstr ""
712
713#: html.c:1351
714msgid "Chat id"
715msgstr ""
716
717#: html.c:1359
718msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
719msgstr ""
720
721#: html.c:1365
722msgid "ntfy token - if needed"
723msgstr ""
724
725#: html.c:2765
726msgid "pinned"
727msgstr ""
728
729#: html.c:2777
730msgid "bookmarks"
731msgstr ""
732
733#: html.c:2789
734msgid "drafts"
735msgstr ""
diff --git a/po/es_AR.po b/po/es_AR.po
new file mode 100644
index 0000000..ff5064f
--- /dev/null
+++ b/po/es_AR.po
@@ -0,0 +1,735 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: Gonzalo Raúl Nemmi\n"
8"Language: es_AR\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10
11#: html.c:371
12msgid "Sensitive content: "
13msgstr "Contenido sensible: "
14
15#: html.c:379
16msgid "Sensitive content description"
17msgstr "Descripción del contenido sensible"
18
19#: html.c:392
20msgid "Only for mentioned people: "
21msgstr "Solo personas mencionadas: "
22
23#: html.c:415
24msgid "Reply to (URL): "
25msgstr "Responder a (URL): "
26
27#: html.c:424
28msgid "Don't send, but store as a draft"
29msgstr "No enviar. Guardar como borrador"
30
31#: html.c:425
32msgid "Draft:"
33msgstr "Borrador:"
34
35#: html.c:445
36msgid "Attachments..."
37msgstr "Adjuntos..."
38
39#: html.c:468
40msgid "File:"
41msgstr "Archivo:"
42
43#: html.c:472
44msgid "Clear this field to delete the attachment"
45msgstr "Limpiar este campo para eliminar el adjunto"
46
47#: html.c:481 html.c:506
48msgid "Attachment description"
49msgstr "Descripción del adjunto"
50
51#: html.c:517
52msgid "Poll..."
53msgstr "Encuesta..."
54
55#: html.c:519
56msgid "Poll options (one per line, up to 8):"
57msgstr "Opciones de encuesta (una por línea, hasta 8):"
58
59#: html.c:531
60msgid "One choice"
61msgstr "Una opción"
62
63#: html.c:534
64msgid "Multiple choices"
65msgstr "Opciones múltiples"
66
67#: html.c:540
68msgid "End in 5 minutes"
69msgstr "Finalizar en 5 minutos"
70
71#: html.c:544
72msgid "End in 1 hour"
73msgstr "Finalizar en 1 hora"
74
75#: html.c:547
76msgid "End in 1 day"
77msgstr "Finalizar en 1 día"
78
79#: html.c:555
80msgid "Post"
81msgstr "Publicar"
82
83#: html.c:652 html.c:659
84msgid "Site description"
85msgstr "Descripción del sitio"
86
87#: html.c:670
88msgid "Admin email"
89msgstr "Email del Administrador"
90
91#: html.c:683
92msgid "Admin account"
93msgstr "Cuenta del Administrador"
94
95#: html.c:751 html.c:1087
96#, c-format
97msgid "%d following, %d followers"
98msgstr "%d siguiendo, %d seguidores"
99
100#: html.c:841
101msgid "RSS"
102msgstr "RSS"
103
104#: html.c:846 html.c:874
105msgid "private"
106msgstr "privado"
107
108#: html.c:870
109msgid "public"
110msgstr "público"
111
112#: html.c:878
113msgid "notifications"
114msgstr "notificaciones"
115
116#: html.c:883
117msgid "people"
118msgstr "personas"
119
120#: html.c:887
121msgid "instance"
122msgstr "instancia"
123
124#: html.c:896
125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag"
128msgstr ""
129"Buscar publicaciones por URL o contenido (expresiones regulares), cuenta "
130"@usuario@host , ó #etiqueta"
131
132#: html.c:897
133msgid "Content search"
134msgstr "Buscar contenido"
135
136#: html.c:1019
137msgid "verified link"
138msgstr "link verificado"
139
140#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
141msgid "Location: "
142msgstr "Ubicación: "
143
144#: html.c:1112
145msgid "New Post..."
146msgstr "Nueva Publicación..."
147
148#: html.c:1114
149msgid "What's on your mind?"
150msgstr "¿En qué estás pensando?"
151
152#: html.c:1123
153msgid "Operations..."
154msgstr "Operaciones..."
155
156#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
157msgid "Follow"
158msgstr "Seguir"
159
160#: html.c:1140
161msgid "(by URL or user@host)"
162msgstr "(por URL o usuario@host)"
163
164#: html.c:1155 html.c:1689 html.c:4323
165msgid "Boost"
166msgstr "Impulsar"
167
168#: html.c:1157 html.c:1174
169msgid "(by URL)"
170msgstr "(por URL)"
171
172#: html.c:1172 html.c:1668 html.c:4314
173msgid "Like"
174msgstr "Me gusta"
175
176#: html.c:1277
177msgid "User Settings..."
178msgstr "Configuración de usuario..."
179
180#: html.c:1286
181msgid "Display name:"
182msgstr "Nombre para mostrar:"
183
184#: html.c:1292
185msgid "Your name"
186msgstr "Su nombre"
187
188#: html.c:1294
189msgid "Avatar: "
190msgstr "Avatar: "
191
192#: html.c:1302
193msgid "Delete current avatar"
194msgstr "Eliminar avatar"
195
196#: html.c:1304
197msgid "Header image (banner): "
198msgstr "Imagen de cabecera (banner): "
199
200#: html.c:1312
201msgid "Delete current header image"
202msgstr "Eliminar imagen de cabecera"
203
204#: html.c:1314
205msgid "Bio:"
206msgstr "Bio:"
207
208#: html.c:1320
209msgid "Write about yourself here..."
210msgstr "Escriba algo sobre usted aquí..."
211
212#: html.c:1329
213msgid "Always show sensitive content"
214msgstr "Siempre mostrar contenido sensible"
215
216#: html.c:1331
217msgid "Email address for notifications:"
218msgstr "Cuenta de email para las notificaciones:"
219
220#: html.c:1339
221msgid "Telegram notifications (bot key and chat id):"
222msgstr "Notificaciones en Telegram (llave del bot e id del chat):"
223
224#: html.c:1353
225msgid "ntfy notifications (ntfy server and token):"
226msgstr "Notificaciones en ntfy (servidor ntfy y token):"
227
228#: html.c:1367
229msgid "Maximum days to keep posts (0: server settings):"
230msgstr ""
231"Plazo máximo de conservación de publicaciones en días (0: usar configuración "
232"del servidor):"
233
234#: html.c:1381
235msgid "Drop direct messages from people you don't follow"
236msgstr "Descartar mensajes directos de personas a las que no sigue"
237
238#: html.c:1390
239msgid "This account is a bot"
240msgstr "Esta cuenta es un bot"
241
242#: html.c:1399
243msgid "Auto-boost all mentions to this account"
244msgstr "Impulsar automáticamente todas las menciones a esta cuenta"
245
246#: html.c:1408
247msgid "This account is private (posts are not shown through the web)"
248msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)"
249
250#: html.c:1418
251msgid "Collapse top threads by default"
252msgstr "Contraer hilo de publicaciones por defecto"
253
254#: html.c:1427
255msgid "Follow requests must be approved"
256msgstr "Las solicitudes de seguimiento deben ser aprobadas"
257
258#: html.c:1436
259msgid "Publish follower and following metrics"
260msgstr "Mostrar cantidad de seguidores y seguidos"
261
262#: html.c:1438
263msgid "Current location:"
264msgstr "Ubicación actual:"
265
266#: html.c:1452
267msgid "Profile metadata (key=value pairs in each line):"
268msgstr "Metadata del perfil (pares llave=valor en cada línea):"
269
270#: html.c:1463
271msgid "Web interface language:"
272msgstr "Idioma de la interfaz Web:"
273
274#: html.c:1468
275msgid "New password:"
276msgstr "Nueva contraseña:"
277
278#: html.c:1475
279msgid "Repeat new password:"
280msgstr "Repetir nueva contraseña:"
281
282#: html.c:1485
283msgid "Update user info"
284msgstr "Actualizar información de usuario"
285
286#: html.c:1496
287msgid "Followed hashtags..."
288msgstr "Etiquetas en seguimiento..."
289
290#: html.c:1498 html.c:1530
291msgid "One hashtag per line"
292msgstr "Una etiqueta por línea"
293
294#: html.c:1519 html.c:1551
295msgid "Update hashtags"
296msgstr "Actualizar etiquetas"
297
298#: html.c:1668
299msgid "Say you like this post"
300msgstr "Decir que te gusta esta publicación"
301
302#: html.c:1673 html.c:4332
303msgid "Unlike"
304msgstr "No me gusta"
305
306#: html.c:1673
307msgid "Nah don't like it that much"
308msgstr "Nah, no me gusta tanto"
309
310#: html.c:1679 html.c:4464
311msgid "Unpin"
312msgstr "Desanclar"
313
314#: html.c:1679
315msgid "Unpin this post from your timeline"
316msgstr "Desanclar esta publicación de su línea de tiempo"
317
318#: html.c:1682 html.c:4459
319msgid "Pin"
320msgstr "Anclar"
321
322#: html.c:1682
323msgid "Pin this post to the top of your timeline"
324msgstr "Anclar esta publicación al inicio de su línea de tiempo"
325
326#: html.c:1689
327msgid "Announce this post to your followers"
328msgstr "Anunciar esta publicación a sus seguidores"
329
330#: html.c:1694 html.c:4340
331msgid "Unboost"
332msgstr "Eliminar impulso"
333
334#: html.c:1694
335msgid "I regret I boosted this"
336msgstr "Me arrepiento de haber impulsado esto"
337
338#: html.c:1700 html.c:4474
339msgid "Unbookmark"
340msgstr "Eliminar marcador"
341
342#: html.c:1700
343msgid "Delete this post from your bookmarks"
344msgstr "Eliminar marcador de esta publicación"
345
346#: html.c:1703 html.c:4469
347msgid "Bookmark"
348msgstr "Marcador"
349
350#: html.c:1703
351msgid "Add this post to your bookmarks"
352msgstr "Agregar esta publicación a mis marcadores"
353
354#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
355msgid "Unfollow"
356msgstr "Dejar de seguir"
357
358#: html.c:1709 html.c:3041
359msgid "Stop following this user's activity"
360msgstr "Dejar de seguir la actividad de este usuario"
361
362#: html.c:1713 html.c:3055
363msgid "Start following this user's activity"
364msgstr "Seguir la actividad de este usuario"
365
366#: html.c:1719 html.c:4414
367msgid "Unfollow Group"
368msgstr "Dejar de seguir este Grupo"
369
370#: html.c:1720
371msgid "Stop following this group or channel"
372msgstr "Dejar de seguir este grupo o canal"
373
374#: html.c:1724 html.c:4401
375msgid "Follow Group"
376msgstr "Seguir Grupo"
377
378#: html.c:1725
379msgid "Start following this group or channel"
380msgstr "Seguir grupo o canal"
381
382#: html.c:1730 html.c:3077 html.c:4348
383msgid "MUTE"
384msgstr "SILENCIAR"
385
386#: html.c:1731
387msgid "Block any activity from this user forever"
388msgstr "Bloquear toda la actividad de este usuario para siempre"
389
390#: html.c:1736 html.c:3059 html.c:4431
391msgid "Delete"
392msgstr "Eliminar"
393
394#: html.c:1736
395msgid "Delete this post"
396msgstr "Eliminar esta publicación"
397
398#: html.c:1739 html.c:4356
399msgid "Hide"
400msgstr "Ocultar"
401
402#: html.c:1739
403msgid "Hide this post and its children"
404msgstr "Ocultar esta publicación y sus respuestas"
405
406#: html.c:1770
407msgid "Edit..."
408msgstr "Editar..."
409
410#: html.c:1789
411msgid "Reply..."
412msgstr "Responder..."
413
414#: html.c:1840
415msgid "Truncated (too deep)"
416msgstr "Truncado (demasiado profundo)"
417
418#: html.c:1849
419msgid "follows you"
420msgstr "te sigue"
421
422#: html.c:1912
423msgid "Pinned"
424msgstr "Anclado"
425
426#: html.c:1920
427msgid "Bookmarked"
428msgstr "Marcado"
429
430#: html.c:1928
431msgid "Poll"
432msgstr "Encuesta"
433
434#: html.c:1935
435msgid "Voted"
436msgstr "Votado"
437
438#: html.c:1944
439msgid "Event"
440msgstr "Evento"
441
442#: html.c:1976 html.c:2005
443msgid "boosted"
444msgstr "impulsado"
445
446#: html.c:2021
447msgid "in reply to"
448msgstr "en respuesta a"
449
450#: html.c:2072
451msgid " [SENSITIVE CONTENT]"
452msgstr " [CONTENIDO SENSIBLE]"
453
454#: html.c:2249
455msgid "Vote"
456msgstr "Votar"
457
458#: html.c:2259
459msgid "Closed"
460msgstr "Cerrado"
461
462#: html.c:2284
463msgid "Closes in"
464msgstr "Cierra en"
465
466#: html.c:2365
467msgid "Video"
468msgstr "Video"
469
470#: html.c:2380
471msgid "Audio"
472msgstr "Audio"
473
474#: html.c:2402
475msgid "Attachment"
476msgstr "Adjunto"
477
478#: html.c:2416
479msgid "Alt..."
480msgstr "Alt..."
481
482#: html.c:2429
483msgid "Source channel or community"
484msgstr "Canal o comunidad de origen"
485
486#: html.c:2523
487msgid "Time: "
488msgstr "Hora: "
489
490#: html.c:2598
491msgid "Older..."
492msgstr "Más antiguo..."
493
494#: html.c:2661
495msgid "about this site"
496msgstr "acerca de este sitio"
497
498#: html.c:2663
499msgid "powered by "
500msgstr "provisto por "
501
502#: html.c:2728
503msgid "Dismiss"
504msgstr "Descartar"
505
506#: html.c:2745
507#, c-format
508msgid "Timeline for list '%s'"
509msgstr "Línea de tiempo de la lista '%s'"
510
511#: html.c:2764 html.c:3805
512msgid "Pinned posts"
513msgstr "Publicaciones ancladas"
514
515#: html.c:2776 html.c:3820
516msgid "Bookmarked posts"
517msgstr "Publicaciones marcadas"
518
519#: html.c:2788 html.c:3835
520msgid "Post drafts"
521msgstr "Borradores de publicaciones"
522
523#: html.c:2847
524msgid "No more unseen posts"
525msgstr "No quedan publicaciones sin ver"
526
527#: html.c:2851 html.c:2951
528msgid "Back to top"
529msgstr "Volver al inicio"
530
531#: html.c:2904
532msgid "History"
533msgstr "Historia"
534
535#: html.c:2956 html.c:3376
536msgid "More..."
537msgstr "Más..."
538
539#: html.c:3045 html.c:4367
540msgid "Unlimit"
541msgstr "Sin límite"
542
543#: html.c:3046
544msgid "Allow announces (boosts) from this user"
545msgstr "Permitir anuncios (impulsos) de este usuario"
546
547#: html.c:3049 html.c:4363
548msgid "Limit"
549msgstr "Límite"
550
551#: html.c:3050
552msgid "Block announces (boosts) from this user"
553msgstr "Bloquear anuncios (impulsos) de este usuario"
554
555#: html.c:3059
556msgid "Delete this user"
557msgstr "Eliminar este usuario"
558
559#: html.c:3064 html.c:4479
560msgid "Approve"
561msgstr "Aprobar"
562
563#: html.c:3065
564msgid "Approve this follow request"
565msgstr "Aprobar solicitud de seguimiento"
566
567#: html.c:3068 html.c:4503
568msgid "Discard"
569msgstr "Descartar"
570
571#: html.c:3068
572msgid "Discard this follow request"
573msgstr "Descartar solicitud de seguimiento"
574
575#: html.c:3073 html.c:4352
576msgid "Unmute"
577msgstr "Dejar de SILENCIAR"
578
579#: html.c:3074
580msgid "Stop blocking activities from this user"
581msgstr "Dejar de bloquear actividad de este usuario"
582
583#: html.c:3078
584msgid "Block any activity from this user"
585msgstr "Bloquear toda actividad de este usuario"
586
587#: html.c:3086
588msgid "Direct Message..."
589msgstr "Mensaje Directo..."
590
591#: html.c:3121
592msgid "Pending follow confirmations"
593msgstr "Confirmaciones de seguimiento pendientes"
594
595#: html.c:3125
596msgid "People you follow"
597msgstr "Personas que sigues"
598
599#: html.c:3126
600msgid "People that follow you"
601msgstr "Personas que te siguen"
602
603#: html.c:3165
604msgid "Clear all"
605msgstr "Limpiar todo"
606
607#: html.c:3222
608msgid "Mention"
609msgstr "Mención"
610
611#: html.c:3225
612msgid "Finished poll"
613msgstr "Encuesta finalizada"
614
615#: html.c:3240
616msgid "Follow Request"
617msgstr "Solicitud de Seguimiento"
618
619#: html.c:3323
620msgid "Context"
621msgstr "Contexto"
622
623#: html.c:3334
624msgid "New"
625msgstr "Nuevo"
626
627#: html.c:3349
628msgid "Already seen"
629msgstr "Ya visto"
630
631#: html.c:3364
632msgid "None"
633msgstr "Ninguno"
634
635#: html.c:3630
636#, c-format
637msgid "Search results for account %s"
638msgstr "Buscar resultados para la cuenta %s"
639
640#: html.c:3637
641#, c-format
642msgid "Account %s not found"
643msgstr "No se encontró la cuenta %s"
644
645#: html.c:3668
646#, c-format
647msgid "Search results for tag %s"
648msgstr "Buscar resultados para la etiqueta %s"
649
650#: html.c:3668
651#, c-format
652msgid "Nothing found for tag %s"
653msgstr "No se encontró nada con la etiqueta %s"
654
655#: html.c:3684
656#, c-format
657msgid "Search results for '%s' (may be more)"
658msgstr "Resultados de búsqueda para '%s' (puede haber más)"
659
660#: html.c:3687
661#, c-format
662msgid "Search results for '%s'"
663msgstr "Resultados de búsqueda para '%s'"
664
665#: html.c:3690
666#, c-format
667msgid "No more matches for '%s'"
668msgstr "No hay más coincidencias para '%s'"
669
670#: html.c:3692
671#, c-format
672msgid "Nothing found for '%s'"
673msgstr "No se encontró nada para '%s'"
674
675#: html.c:3790
676msgid "Showing instance timeline"
677msgstr "Mostrando línea de tiempo de la instancia"
678
679#: html.c:3858
680#, c-format
681msgid "Showing timeline for list '%s'"
682msgstr "Mostrando línea de tiempo de la lista '%s'"
683
684#: httpd.c:250
685#, c-format
686msgid "Search results for tag #%s"
687msgstr "Resultado de búsqueda para la etiqueta #%s"
688
689#: httpd.c:259
690msgid "Recent posts by users in this instance"
691msgstr "Publicaciones recientes de los usuarios de esta instancia"
692
693#: html.c:1528
694msgid "Blocked hashtags..."
695msgstr "Etiquetas bloqueadas..."
696
697#: html.c:419
698msgid "Optional URL to reply to"
699msgstr ""
700
701#: html.c:526
702msgid ""
703"Option 1...\n"
704"Option 2...\n"
705"Option 3...\n"
706"..."
707msgstr ""
708
709#: html.c:1345
710msgid "Bot API key"
711msgstr ""
712
713#: html.c:1351
714msgid "Chat id"
715msgstr ""
716
717#: html.c:1359
718msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
719msgstr ""
720
721#: html.c:1365
722msgid "ntfy token - if needed"
723msgstr ""
724
725#: html.c:2765
726msgid "pinned"
727msgstr ""
728
729#: html.c:2777
730msgid "bookmarks"
731msgstr ""
732
733#: html.c:2789
734msgid "drafts"
735msgstr ""
diff --git a/po/es_UY.po b/po/es_UY.po
new file mode 100644
index 0000000..ad9fd0f
--- /dev/null
+++ b/po/es_UY.po
@@ -0,0 +1,735 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: Gonzalo Raúl Nemmi\n"
8"Language: es_UY\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10
11#: html.c:371
12msgid "Sensitive content: "
13msgstr "Contenido sensible: "
14
15#: html.c:379
16msgid "Sensitive content description"
17msgstr "Descripción del contenido sensible"
18
19#: html.c:392
20msgid "Only for mentioned people: "
21msgstr "Solo personas mencionadas: "
22
23#: html.c:415
24msgid "Reply to (URL): "
25msgstr "Responder a (URL): "
26
27#: html.c:424
28msgid "Don't send, but store as a draft"
29msgstr "No enviar. Guardar como borrador"
30
31#: html.c:425
32msgid "Draft:"
33msgstr "Borrador:"
34
35#: html.c:445
36msgid "Attachments..."
37msgstr "Adjuntos..."
38
39#: html.c:468
40msgid "File:"
41msgstr "Archivo:"
42
43#: html.c:472
44msgid "Clear this field to delete the attachment"
45msgstr "Limpiar este campo para eliminar el adjunto"
46
47#: html.c:481 html.c:506
48msgid "Attachment description"
49msgstr "Descripción del adjunto"
50
51#: html.c:517
52msgid "Poll..."
53msgstr "Encuesta..."
54
55#: html.c:519
56msgid "Poll options (one per line, up to 8):"
57msgstr "Opciones de encuesta (una por línea, hasta 8):"
58
59#: html.c:531
60msgid "One choice"
61msgstr "Una opción"
62
63#: html.c:534
64msgid "Multiple choices"
65msgstr "Opciones múltiples"
66
67#: html.c:540
68msgid "End in 5 minutes"
69msgstr "Finalizar en 5 minutos"
70
71#: html.c:544
72msgid "End in 1 hour"
73msgstr "Finalizar en 1 hora"
74
75#: html.c:547
76msgid "End in 1 day"
77msgstr "Finalizar en 1 día"
78
79#: html.c:555
80msgid "Post"
81msgstr "Publicar"
82
83#: html.c:652 html.c:659
84msgid "Site description"
85msgstr "Descripción del sitio"
86
87#: html.c:670
88msgid "Admin email"
89msgstr "Email del Administrador"
90
91#: html.c:683
92msgid "Admin account"
93msgstr "Cuenta del Administrador"
94
95#: html.c:751 html.c:1087
96#, c-format
97msgid "%d following, %d followers"
98msgstr "%d siguiendo, %d seguidores"
99
100#: html.c:841
101msgid "RSS"
102msgstr "RSS"
103
104#: html.c:846 html.c:874
105msgid "private"
106msgstr "privado"
107
108#: html.c:870
109msgid "public"
110msgstr "público"
111
112#: html.c:878
113msgid "notifications"
114msgstr "notificaciones"
115
116#: html.c:883
117msgid "people"
118msgstr "personas"
119
120#: html.c:887
121msgid "instance"
122msgstr "instancia"
123
124#: html.c:896
125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag"
128msgstr ""
129"Buscar publicaciones por URL o contenido (expresiones regulares), cuenta "
130"@usuario@host , ó #etiqueta"
131
132#: html.c:897
133msgid "Content search"
134msgstr "Buscar contenido"
135
136#: html.c:1019
137msgid "verified link"
138msgstr "link verificado"
139
140#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
141msgid "Location: "
142msgstr "Ubicación: "
143
144#: html.c:1112
145msgid "New Post..."
146msgstr "Nueva Publicación..."
147
148#: html.c:1114
149msgid "What's on your mind?"
150msgstr "¿En qué estás pensando?"
151
152#: html.c:1123
153msgid "Operations..."
154msgstr "Operaciones..."
155
156#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
157msgid "Follow"
158msgstr "Seguir"
159
160#: html.c:1140
161msgid "(by URL or user@host)"
162msgstr "(por URL o usuario@host)"
163
164#: html.c:1155 html.c:1689 html.c:4323
165msgid "Boost"
166msgstr "Impulsar"
167
168#: html.c:1157 html.c:1174
169msgid "(by URL)"
170msgstr "(por URL)"
171
172#: html.c:1172 html.c:1668 html.c:4314
173msgid "Like"
174msgstr "Me gusta"
175
176#: html.c:1277
177msgid "User Settings..."
178msgstr "Configuración de usuario..."
179
180#: html.c:1286
181msgid "Display name:"
182msgstr "Nombre para mostrar:"
183
184#: html.c:1292
185msgid "Your name"
186msgstr "Su nombre"
187
188#: html.c:1294
189msgid "Avatar: "
190msgstr "Avatar: "
191
192#: html.c:1302
193msgid "Delete current avatar"
194msgstr "Eliminar avatar"
195
196#: html.c:1304
197msgid "Header image (banner): "
198msgstr "Imagen de cabecera (banner): "
199
200#: html.c:1312
201msgid "Delete current header image"
202msgstr "Eliminar imagen de cabecera"
203
204#: html.c:1314
205msgid "Bio:"
206msgstr "Bio:"
207
208#: html.c:1320
209msgid "Write about yourself here..."
210msgstr "Escriba algo sobre usted aquí..."
211
212#: html.c:1329
213msgid "Always show sensitive content"
214msgstr "Siempre mostrar contenido sensible"
215
216#: html.c:1331
217msgid "Email address for notifications:"
218msgstr "Cuenta de email para las notificaciones:"
219
220#: html.c:1339
221msgid "Telegram notifications (bot key and chat id):"
222msgstr "Notificaciones en Telegram (llave del bot e id del chat):"
223
224#: html.c:1353
225msgid "ntfy notifications (ntfy server and token):"
226msgstr "Notificaciones en ntfy (servidor ntfy y token):"
227
228#: html.c:1367
229msgid "Maximum days to keep posts (0: server settings):"
230msgstr ""
231"Plazo máximo de conservación de publicaciones en días (0: usar configuración "
232"del servidor):"
233
234#: html.c:1381
235msgid "Drop direct messages from people you don't follow"
236msgstr "Descartar mensajes directos de personas a las que no sigue"
237
238#: html.c:1390
239msgid "This account is a bot"
240msgstr "Esta cuenta es un bot"
241
242#: html.c:1399
243msgid "Auto-boost all mentions to this account"
244msgstr "Impulsar automáticamente todas las menciones a esta cuenta"
245
246#: html.c:1408
247msgid "This account is private (posts are not shown through the web)"
248msgstr "Esta cuenta es privada (las publicaciones no se muestran en la web)"
249
250#: html.c:1418
251msgid "Collapse top threads by default"
252msgstr "Contraer hilo de publicaciones por defecto"
253
254#: html.c:1427
255msgid "Follow requests must be approved"
256msgstr "Las solicitudes de seguimiento deben ser aprobadas"
257
258#: html.c:1436
259msgid "Publish follower and following metrics"
260msgstr "Mostrar cantidad de seguidores y seguidos"
261
262#: html.c:1438
263msgid "Current location:"
264msgstr "Ubicación actual:"
265
266#: html.c:1452
267msgid "Profile metadata (key=value pairs in each line):"
268msgstr "Metadata del perfil (pares llave=valor en cada línea):"
269
270#: html.c:1463
271msgid "Web interface language:"
272msgstr "Idioma de la interfaz Web:"
273
274#: html.c:1468
275msgid "New password:"
276msgstr "Nueva contraseña:"
277
278#: html.c:1475
279msgid "Repeat new password:"
280msgstr "Repetir nueva contraseña:"
281
282#: html.c:1485
283msgid "Update user info"
284msgstr "Actualizar información de usuario"
285
286#: html.c:1496
287msgid "Followed hashtags..."
288msgstr "Etiquetas en seguimiento..."
289
290#: html.c:1498 html.c:1530
291msgid "One hashtag per line"
292msgstr "Una etiqueta por línea"
293
294#: html.c:1519 html.c:1551
295msgid "Update hashtags"
296msgstr "Actualizar etiquetas"
297
298#: html.c:1668
299msgid "Say you like this post"
300msgstr "Decir que te gusta esta publicación"
301
302#: html.c:1673 html.c:4332
303msgid "Unlike"
304msgstr "No me gusta"
305
306#: html.c:1673
307msgid "Nah don't like it that much"
308msgstr "Nah, no me gusta tanto"
309
310#: html.c:1679 html.c:4464
311msgid "Unpin"
312msgstr "Desanclar"
313
314#: html.c:1679
315msgid "Unpin this post from your timeline"
316msgstr "Desanclar esta publicación de su línea de tiempo"
317
318#: html.c:1682 html.c:4459
319msgid "Pin"
320msgstr "Anclar"
321
322#: html.c:1682
323msgid "Pin this post to the top of your timeline"
324msgstr "Anclar esta publicación al inicio de su línea de tiempo"
325
326#: html.c:1689
327msgid "Announce this post to your followers"
328msgstr "Anunciar esta publicación a sus seguidores"
329
330#: html.c:1694 html.c:4340
331msgid "Unboost"
332msgstr "Eliminar impulso"
333
334#: html.c:1694
335msgid "I regret I boosted this"
336msgstr "Me arrepiento de haber impulsado esto"
337
338#: html.c:1700 html.c:4474
339msgid "Unbookmark"
340msgstr "Eliminar marcador"
341
342#: html.c:1700
343msgid "Delete this post from your bookmarks"
344msgstr "Eliminar marcador de esta publicación"
345
346#: html.c:1703 html.c:4469
347msgid "Bookmark"
348msgstr "Marcador"
349
350#: html.c:1703
351msgid "Add this post to your bookmarks"
352msgstr "Agregar esta publicación a mis marcadores"
353
354#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
355msgid "Unfollow"
356msgstr "Dejar de seguir"
357
358#: html.c:1709 html.c:3041
359msgid "Stop following this user's activity"
360msgstr "Dejar de seguir la actividad de este usuario"
361
362#: html.c:1713 html.c:3055
363msgid "Start following this user's activity"
364msgstr "Seguir la actividad de este usuario"
365
366#: html.c:1719 html.c:4414
367msgid "Unfollow Group"
368msgstr "Dejar de seguir este Grupo"
369
370#: html.c:1720
371msgid "Stop following this group or channel"
372msgstr "Dejar de seguir este grupo o canal"
373
374#: html.c:1724 html.c:4401
375msgid "Follow Group"
376msgstr "Seguir Grupo"
377
378#: html.c:1725
379msgid "Start following this group or channel"
380msgstr "Seguir grupo o canal"
381
382#: html.c:1730 html.c:3077 html.c:4348
383msgid "MUTE"
384msgstr "SILENCIAR"
385
386#: html.c:1731
387msgid "Block any activity from this user forever"
388msgstr "Bloquear toda la actividad de este usuario para siempre"
389
390#: html.c:1736 html.c:3059 html.c:4431
391msgid "Delete"
392msgstr "Eliminar"
393
394#: html.c:1736
395msgid "Delete this post"
396msgstr "Eliminar esta publicación"
397
398#: html.c:1739 html.c:4356
399msgid "Hide"
400msgstr "Ocultar"
401
402#: html.c:1739
403msgid "Hide this post and its children"
404msgstr "Ocultar esta publicación y sus respuestas"
405
406#: html.c:1770
407msgid "Edit..."
408msgstr "Editar..."
409
410#: html.c:1789
411msgid "Reply..."
412msgstr "Responder..."
413
414#: html.c:1840
415msgid "Truncated (too deep)"
416msgstr "Truncado (demasiado profundo)"
417
418#: html.c:1849
419msgid "follows you"
420msgstr "te sigue"
421
422#: html.c:1912
423msgid "Pinned"
424msgstr "Anclado"
425
426#: html.c:1920
427msgid "Bookmarked"
428msgstr "Marcado"
429
430#: html.c:1928
431msgid "Poll"
432msgstr "Encuesta"
433
434#: html.c:1935
435msgid "Voted"
436msgstr "Votado"
437
438#: html.c:1944
439msgid "Event"
440msgstr "Evento"
441
442#: html.c:1976 html.c:2005
443msgid "boosted"
444msgstr "impulsado"
445
446#: html.c:2021
447msgid "in reply to"
448msgstr "en respuesta a"
449
450#: html.c:2072
451msgid " [SENSITIVE CONTENT]"
452msgstr " [CONTENIDO SENSIBLE]"
453
454#: html.c:2249
455msgid "Vote"
456msgstr "Votar"
457
458#: html.c:2259
459msgid "Closed"
460msgstr "Cerrado"
461
462#: html.c:2284
463msgid "Closes in"
464msgstr "Cierra en"
465
466#: html.c:2365
467msgid "Video"
468msgstr "Video"
469
470#: html.c:2380
471msgid "Audio"
472msgstr "Audio"
473
474#: html.c:2402
475msgid "Attachment"
476msgstr "Adjunto"
477
478#: html.c:2416
479msgid "Alt..."
480msgstr "Alt..."
481
482#: html.c:2429
483msgid "Source channel or community"
484msgstr "Canal o comunidad de origen"
485
486#: html.c:2523
487msgid "Time: "
488msgstr "Hora: "
489
490#: html.c:2598
491msgid "Older..."
492msgstr "Más antiguo..."
493
494#: html.c:2661
495msgid "about this site"
496msgstr "acerca de este sitio"
497
498#: html.c:2663
499msgid "powered by "
500msgstr "provisto por "
501
502#: html.c:2728
503msgid "Dismiss"
504msgstr "Descartar"
505
506#: html.c:2745
507#, c-format
508msgid "Timeline for list '%s'"
509msgstr "Línea de tiempo de la lista '%s'"
510
511#: html.c:2764 html.c:3805
512msgid "Pinned posts"
513msgstr "Publicaciones ancladas"
514
515#: html.c:2776 html.c:3820
516msgid "Bookmarked posts"
517msgstr "Publicaciones marcadas"
518
519#: html.c:2788 html.c:3835
520msgid "Post drafts"
521msgstr "Borradores de publicaciones"
522
523#: html.c:2847
524msgid "No more unseen posts"
525msgstr "No quedan publicaciones sin ver"
526
527#: html.c:2851 html.c:2951
528msgid "Back to top"
529msgstr "Volver al inicio"
530
531#: html.c:2904
532msgid "History"
533msgstr "Historia"
534
535#: html.c:2956 html.c:3376
536msgid "More..."
537msgstr "Más..."
538
539#: html.c:3045 html.c:4367
540msgid "Unlimit"
541msgstr "Sin límite"
542
543#: html.c:3046
544msgid "Allow announces (boosts) from this user"
545msgstr "Permitir anuncios (impulsos) de este usuario"
546
547#: html.c:3049 html.c:4363
548msgid "Limit"
549msgstr "Límite"
550
551#: html.c:3050
552msgid "Block announces (boosts) from this user"
553msgstr "Bloquear anuncios (impulsos) de este usuario"
554
555#: html.c:3059
556msgid "Delete this user"
557msgstr "Eliminar este usuario"
558
559#: html.c:3064 html.c:4479
560msgid "Approve"
561msgstr "Aprobar"
562
563#: html.c:3065
564msgid "Approve this follow request"
565msgstr "Aprobar solicitud de seguimiento"
566
567#: html.c:3068 html.c:4503
568msgid "Discard"
569msgstr "Descartar"
570
571#: html.c:3068
572msgid "Discard this follow request"
573msgstr "Descartar solicitud de seguimiento"
574
575#: html.c:3073 html.c:4352
576msgid "Unmute"
577msgstr "Dejar de SILENCIAR"
578
579#: html.c:3074
580msgid "Stop blocking activities from this user"
581msgstr "Dejar de bloquear actividad de este usuario"
582
583#: html.c:3078
584msgid "Block any activity from this user"
585msgstr "Bloquear toda actividad de este usuario"
586
587#: html.c:3086
588msgid "Direct Message..."
589msgstr "Mensaje Directo..."
590
591#: html.c:3121
592msgid "Pending follow confirmations"
593msgstr "Confirmaciones de seguimiento pendientes"
594
595#: html.c:3125
596msgid "People you follow"
597msgstr "Personas que sigues"
598
599#: html.c:3126
600msgid "People that follow you"
601msgstr "Personas que te siguen"
602
603#: html.c:3165
604msgid "Clear all"
605msgstr "Limpiar todo"
606
607#: html.c:3222
608msgid "Mention"
609msgstr "Mención"
610
611#: html.c:3225
612msgid "Finished poll"
613msgstr "Encuesta finalizada"
614
615#: html.c:3240
616msgid "Follow Request"
617msgstr "Solicitud de Seguimiento"
618
619#: html.c:3323
620msgid "Context"
621msgstr "Contexto"
622
623#: html.c:3334
624msgid "New"
625msgstr "Nuevo"
626
627#: html.c:3349
628msgid "Already seen"
629msgstr "Ya visto"
630
631#: html.c:3364
632msgid "None"
633msgstr "Ninguno"
634
635#: html.c:3630
636#, c-format
637msgid "Search results for account %s"
638msgstr "Buscar resultados para la cuenta %s"
639
640#: html.c:3637
641#, c-format
642msgid "Account %s not found"
643msgstr "No se encontró la cuenta %s"
644
645#: html.c:3668
646#, c-format
647msgid "Search results for tag %s"
648msgstr "Buscar resultados para la etiqueta %s"
649
650#: html.c:3668
651#, c-format
652msgid "Nothing found for tag %s"
653msgstr "No se encontró nada con la etiqueta %s"
654
655#: html.c:3684
656#, c-format
657msgid "Search results for '%s' (may be more)"
658msgstr "Resultados de búsqueda para '%s' (puede haber más)"
659
660#: html.c:3687
661#, c-format
662msgid "Search results for '%s'"
663msgstr "Resultados de búsqueda para '%s'"
664
665#: html.c:3690
666#, c-format
667msgid "No more matches for '%s'"
668msgstr "No hay más coincidencias para '%s'"
669
670#: html.c:3692
671#, c-format
672msgid "Nothing found for '%s'"
673msgstr "No se encontró nada para '%s'"
674
675#: html.c:3790
676msgid "Showing instance timeline"
677msgstr "Mostrando línea de tiempo de la instancia"
678
679#: html.c:3858
680#, c-format
681msgid "Showing timeline for list '%s'"
682msgstr "Mostrando línea de tiempo de la lista '%s'"
683
684#: httpd.c:250
685#, c-format
686msgid "Search results for tag #%s"
687msgstr "Resultado de búsqueda para la etiqueta #%s"
688
689#: httpd.c:259
690msgid "Recent posts by users in this instance"
691msgstr "Publicaciones recientes de los usuarios de esta instancia"
692
693#: html.c:1528
694msgid "Blocked hashtags..."
695msgstr "Etiquetas bloqueadas..."
696
697#: html.c:419
698msgid "Optional URL to reply to"
699msgstr ""
700
701#: html.c:526
702msgid ""
703"Option 1...\n"
704"Option 2...\n"
705"Option 3...\n"
706"..."
707msgstr ""
708
709#: html.c:1345
710msgid "Bot API key"
711msgstr ""
712
713#: html.c:1351
714msgid "Chat id"
715msgstr ""
716
717#: html.c:1359
718msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
719msgstr ""
720
721#: html.c:1365
722msgid "ntfy token - if needed"
723msgstr ""
724
725#: html.c:2765
726msgid "pinned"
727msgstr ""
728
729#: html.c:2777
730msgid "bookmarks"
731msgstr ""
732
733#: html.c:2789
734msgid "drafts"
735msgstr ""
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 0000000..42fc7d1
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,733 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: inz\n"
8"Language: fi\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10
11#: html.c:371
12msgid "Sensitive content: "
13msgstr "Arkaluontoista sisältöä: "
14
15#: html.c:379
16msgid "Sensitive content description"
17msgstr "Arkaluontoisen sisällön kuvaus"
18
19#: html.c:392
20msgid "Only for mentioned people: "
21msgstr "Vain mainituille: "
22
23#: html.c:415
24msgid "Reply to (URL): "
25msgstr "Vastaus (osoite): "
26
27#: html.c:424
28msgid "Don't send, but store as a draft"
29msgstr "Älä lähetä, tallenna luonnoksena"
30
31#: html.c:425
32msgid "Draft:"
33msgstr "Luonnos:"
34
35#: html.c:445
36msgid "Attachments..."
37msgstr "Liitteet..."
38
39#: html.c:468
40msgid "File:"
41msgstr "Tiedosto:"
42
43#: html.c:472
44msgid "Clear this field to delete the attachment"
45msgstr "Tyhjennä kenttä poistaaksesi liiteen"
46
47#: html.c:481 html.c:506
48msgid "Attachment description"
49msgstr "Liitteen kuvaus"
50
51#: html.c:517
52msgid "Poll..."
53msgstr "Kysely..."
54
55#: html.c:519
56msgid "Poll options (one per line, up to 8):"
57msgstr "Kyselyn vaihtoehdot (riveittäin, korkeintaan 8):"
58
59#: html.c:531
60msgid "One choice"
61msgstr "Yksi valinta"
62
63#: html.c:534
64msgid "Multiple choices"
65msgstr "Monta valintaa"
66
67#: html.c:540
68msgid "End in 5 minutes"
69msgstr "Päättyy viiden minuutin päästä"
70
71#: html.c:544
72msgid "End in 1 hour"
73msgstr "Päättyy tunnin päästä"
74
75#: html.c:547
76msgid "End in 1 day"
77msgstr "Päättyy päivän päästä"
78
79#: html.c:555
80msgid "Post"
81msgstr "Julkaise"
82
83#: html.c:652 html.c:659
84msgid "Site description"
85msgstr "Sivuston kuvaus"
86
87#: html.c:670
88msgid "Admin email"
89msgstr "Ylläpitäjän sähköposti"
90
91#: html.c:683
92msgid "Admin account"
93msgstr "Ylläpitäjän tili"
94
95#: html.c:751 html.c:1087
96#, c-format
97msgid "%d following, %d followers"
98msgstr "Seuraa %d, %d seuraajaa"
99
100#: html.c:841
101msgid "RSS"
102msgstr "RSS"
103
104#: html.c:846 html.c:874
105msgid "private"
106msgstr "yksityinen"
107
108#: html.c:870
109msgid "public"
110msgstr "julkinen"
111
112#: html.c:878
113msgid "notifications"
114msgstr "ilmoitukset"
115
116#: html.c:883
117msgid "people"
118msgstr "ihmiset"
119
120#: html.c:887
121msgid "instance"
122msgstr "palvelin"
123
124#: html.c:896
125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag"
128msgstr ""
129"Etsi julkaisuja osoitteella tai sisällön perusteella, @käyttäjä@palvelin "
130"tai #tagi"
131
132#: html.c:897
133msgid "Content search"
134msgstr "Sisälöhaku"
135
136#: html.c:1019
137msgid "verified link"
138msgstr "varmistettu linkki"
139
140#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
141msgid "Location: "
142msgstr "Sijainti: "
143
144#: html.c:1112
145msgid "New Post..."
146msgstr "Uusi julkaisu..."
147
148#: html.c:1114
149msgid "What's on your mind?"
150msgstr "Mitä on mielessäsi?"
151
152#: html.c:1123
153msgid "Operations..."
154msgstr "Toiminnot..."
155
156#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
157msgid "Follow"
158msgstr "Seuraa"
159
160#: html.c:1140
161msgid "(by URL or user@host)"
162msgstr "(osoite tai käyttäjä@palvelin)"
163
164#: html.c:1155 html.c:1689 html.c:4323
165msgid "Boost"
166msgstr "Tehosta"
167
168#: html.c:1157 html.c:1174
169msgid "(by URL)"
170msgstr "(osoite)"
171
172#: html.c:1172 html.c:1668 html.c:4314
173msgid "Like"
174msgstr "Tykkää"
175
176#: html.c:1277
177msgid "User Settings..."
178msgstr "Käyttäjäasetukset..."
179
180#: html.c:1286
181msgid "Display name:"
182msgstr "Näytetty nimi:"
183
184#: html.c:1292
185msgid "Your name"
186msgstr "Nimesi"
187
188#: html.c:1294
189msgid "Avatar: "
190msgstr "Avatar: "
191
192#: html.c:1302
193msgid "Delete current avatar"
194msgstr "Poista nykyinen avatar"
195
196#: html.c:1304
197msgid "Header image (banner): "
198msgstr "Otsikkokuva: "
199
200#: html.c:1312
201msgid "Delete current header image"
202msgstr "Poista nykyinen otsikkokuva"
203
204#: html.c:1314
205msgid "Bio:"
206msgstr "Kuvaus:"
207
208#: html.c:1320
209msgid "Write about yourself here..."
210msgstr "Kirjoita itsestäsi tähän..."
211
212#: html.c:1329
213msgid "Always show sensitive content"
214msgstr "Näytä arkaluontoinen sisältö aina"
215
216#: html.c:1331
217msgid "Email address for notifications:"
218msgstr "Sähköposti ilmoituksille:"
219
220#: html.c:1339
221msgid "Telegram notifications (bot key and chat id):"
222msgstr "Telegram-ilmoitukset (botin avain ja chat id):"
223
224#: html.c:1353
225msgid "ntfy notifications (ntfy server and token):"
226msgstr "nfty-ilmoitukset (ntfy-palvelin ja token):"
227
228#: html.c:1367
229msgid "Maximum days to keep posts (0: server settings):"
230msgstr "Säilytä julkaisut korkeintaan (päivää, 0: palvelimen asetukset)"
231
232#: html.c:1381
233msgid "Drop direct messages from people you don't follow"
234msgstr "Poista yksityisviestit ihmisiltä, joita et seuraa"
235
236#: html.c:1390
237msgid "This account is a bot"
238msgstr "Tämä tili on botti"
239
240#: html.c:1399
241msgid "Auto-boost all mentions to this account"
242msgstr "Tehosta tilin maininnat automaattisesti"
243
244#: html.c:1408
245msgid "This account is private (posts are not shown through the web)"
246msgstr "Tili on yksityinen (julkaisuja ei näytetä sivustolla)"
247
248#: html.c:1418
249msgid "Collapse top threads by default"
250msgstr "Avaa säikeet automaattisesti"
251
252#: html.c:1427
253msgid "Follow requests must be approved"
254msgstr "Vaadi hyväksyntä seurantapyynnöille"
255
256#: html.c:1436
257msgid "Publish follower and following metrics"
258msgstr "Julkaise seuraamistilastot"
259
260#: html.c:1438
261msgid "Current location:"
262msgstr "Nykyinen sijainti:"
263
264#: html.c:1452
265msgid "Profile metadata (key=value pairs in each line):"
266msgstr "Profiilin metadata (avain=arvo, riveittäin):"
267
268#: html.c:1463
269msgid "Web interface language:"
270msgstr "Käyttöliitymän kieli:"
271
272#: html.c:1468
273msgid "New password:"
274msgstr "Uusi salasana:"
275
276#: html.c:1475
277msgid "Repeat new password:"
278msgstr "Toista salasana:"
279
280#: html.c:1485
281msgid "Update user info"
282msgstr "Päivitä käyttäjätiedot"
283
284#: html.c:1496
285msgid "Followed hashtags..."
286msgstr "Seuratut aihetunnisteet..."
287
288#: html.c:1498 html.c:1530
289msgid "One hashtag per line"
290msgstr "Aihetunnisteet, riveittäin"
291
292#: html.c:1519 html.c:1551
293msgid "Update hashtags"
294msgstr "Päivitä aihetunnisteet"
295
296#: html.c:1668
297msgid "Say you like this post"
298msgstr "Tykkää tästä julkaisusta"
299
300#: html.c:1673 html.c:4332
301msgid "Unlike"
302msgstr "Poista tykkäys"
303
304#: html.c:1673
305msgid "Nah don't like it that much"
306msgstr "Ei ole omaan makuuni"
307
308#: html.c:1679 html.c:4464
309msgid "Unpin"
310msgstr "Poista kiinnitys"
311
312#: html.c:1679
313msgid "Unpin this post from your timeline"
314msgstr "Poista julkaisun kiinnitys aikajanalle"
315
316#: html.c:1682 html.c:4459
317msgid "Pin"
318msgstr "Kiinnitä"
319
320#: html.c:1682
321msgid "Pin this post to the top of your timeline"
322msgstr "Kiinnitä julkaisu aikajanasi alkuun"
323
324#: html.c:1689
325msgid "Announce this post to your followers"
326msgstr "Ilmoita julkaisusta seuraajillesi"
327
328#: html.c:1694 html.c:4340
329msgid "Unboost"
330msgstr "Poista tehostus"
331
332#: html.c:1694
333msgid "I regret I boosted this"
334msgstr "Kadun tehostaneeni tätä"
335
336#: html.c:1700 html.c:4474
337msgid "Unbookmark"
338msgstr "Poista kirjanmerkki"
339
340#: html.c:1700
341msgid "Delete this post from your bookmarks"
342msgstr "Poista julkaisu kirjanmerkeistäsi"
343
344#: html.c:1703 html.c:4469
345msgid "Bookmark"
346msgstr "Lisää kirjanmerkki"
347
348#: html.c:1703
349msgid "Add this post to your bookmarks"
350msgstr "Lisää julkaisu kirjanmerkkeihisi"
351
352#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
353msgid "Unfollow"
354msgstr "Älä seuraa"
355
356#: html.c:1709 html.c:3041
357msgid "Stop following this user's activity"
358msgstr "Lakkaa seuraamasta käyttäjän toimintaa"
359
360#: html.c:1713 html.c:3055
361msgid "Start following this user's activity"
362msgstr "Seuraa käyttäjän toimintaa"
363
364#: html.c:1719 html.c:4414
365msgid "Unfollow Group"
366msgstr "Älä seuraa ryhmää"
367
368#: html.c:1720
369msgid "Stop following this group or channel"
370msgstr "Lopeta ryhnän tai kanavan seuraaminen"
371
372#: html.c:1724 html.c:4401
373msgid "Follow Group"
374msgstr "Seuraa ryhmää"
375
376#: html.c:1725
377msgid "Start following this group or channel"
378msgstr "Seuraa tätä ryhmää tai kanavaa"
379
380#: html.c:1730 html.c:3077 html.c:4348
381msgid "MUTE"
382msgstr "VAIMENNA"
383
384#: html.c:1731
385msgid "Block any activity from this user forever"
386msgstr "Estä kaikki toiminta tältä käyttäjältä"
387
388#: html.c:1736 html.c:3059 html.c:4431
389msgid "Delete"
390msgstr "Poista"
391
392#: html.c:1736
393msgid "Delete this post"
394msgstr "Poista julkaisu"
395
396#: html.c:1739 html.c:4356
397msgid "Hide"
398msgstr "Piilota"
399
400#: html.c:1739
401msgid "Hide this post and its children"
402msgstr "Piilota julkaisu ja vastaukset"
403
404#: html.c:1770
405msgid "Edit..."
406msgstr "Muokkaa..."
407
408#: html.c:1789
409msgid "Reply..."
410msgstr "Vastaa..."
411
412#: html.c:1840
413msgid "Truncated (too deep)"
414msgstr "Katkaistu (liian syvä)"
415
416#: html.c:1849
417msgid "follows you"
418msgstr "seuraa sinua"
419
420#: html.c:1912
421msgid "Pinned"
422msgstr "Kiinnitetty"
423
424#: html.c:1920
425msgid "Bookmarked"
426msgstr "Kirjanmerkitty"
427
428#: html.c:1928
429msgid "Poll"
430msgstr "Kysely"
431
432#: html.c:1935
433msgid "Voted"
434msgstr "Äänestetty"
435
436#: html.c:1944
437msgid "Event"
438msgstr "Tapahtuma"
439
440#: html.c:1976 html.c:2005
441msgid "boosted"
442msgstr "tehostettu"
443
444#: html.c:2021
445msgid "in reply to"
446msgstr "vastauksena"
447
448#: html.c:2072
449msgid " [SENSITIVE CONTENT]"
450msgstr " [ARKALUONTOISTA SISÄLTÖÄ]"
451
452#: html.c:2249
453msgid "Vote"
454msgstr "Äänestä"
455
456#: html.c:2259
457msgid "Closed"
458msgstr "Sulkeutunut"
459
460#: html.c:2284
461msgid "Closes in"
462msgstr "Sulkeutuu"
463
464#: html.c:2365
465msgid "Video"
466msgstr "Video"
467
468#: html.c:2380
469msgid "Audio"
470msgstr "Ääni"
471
472#: html.c:2402
473msgid "Attachment"
474msgstr "Liite"
475
476#: html.c:2416
477msgid "Alt..."
478msgstr "Kuvaus..."
479
480#: html.c:2429
481msgid "Source channel or community"
482msgstr "Lähdekanava tai -yhteisö"
483
484#: html.c:2523
485msgid "Time: "
486msgstr "Aika: "
487
488#: html.c:2598
489msgid "Older..."
490msgstr "Vanhemmat..."
491
492#: html.c:2661
493msgid "about this site"
494msgstr "tietoa sivustosta"
495
496#: html.c:2663
497msgid "powered by "
498msgstr "moottorina "
499
500#: html.c:2728
501msgid "Dismiss"
502msgstr "Kuittaa"
503
504#: html.c:2745
505#, c-format
506msgid "Timeline for list '%s'"
507msgstr "Listan ”%s” aikajana"
508
509#: html.c:2764 html.c:3805
510msgid "Pinned posts"
511msgstr "Kiinnitetyt julkaisut"
512
513#: html.c:2776 html.c:3820
514msgid "Bookmarked posts"
515msgstr "Kirjanmerkit"
516
517#: html.c:2788 html.c:3835
518msgid "Post drafts"
519msgstr "Vedokset"
520
521#: html.c:2847
522msgid "No more unseen posts"
523msgstr "Ei lukemattonia julkaisuja"
524
525#: html.c:2851 html.c:2951
526msgid "Back to top"
527msgstr "Takaisin"
528
529#: html.c:2904
530msgid "History"
531msgstr "Historia"
532
533#: html.c:2956 html.c:3376
534msgid "More..."
535msgstr "Enemmän..."
536
537#: html.c:3045 html.c:4367
538msgid "Unlimit"
539msgstr "Poista rajoitus"
540
541#: html.c:3046
542msgid "Allow announces (boosts) from this user"
543msgstr "Salli tehostukset käyttäjältä"
544
545#: html.c:3049 html.c:4363
546msgid "Limit"
547msgstr "Rajoita"
548
549#: html.c:3050
550msgid "Block announces (boosts) from this user"
551msgstr "Kiellö tehostukset käyttäjältä"
552
553#: html.c:3059
554msgid "Delete this user"
555msgstr "Poista käyttäjä"
556
557#: html.c:3064 html.c:4479
558msgid "Approve"
559msgstr "Hyväksy"
560
561#: html.c:3065
562msgid "Approve this follow request"
563msgstr "Hyväksy seurantapyyntö"
564
565#: html.c:3068 html.c:4503
566msgid "Discard"
567msgstr "Hylkää"
568
569#: html.c:3068
570msgid "Discard this follow request"
571msgstr "Hylkää seurantapyyntö"
572
573#: html.c:3073 html.c:4352
574msgid "Unmute"
575msgstr "Poista vaimennus"
576
577#: html.c:3074
578msgid "Stop blocking activities from this user"
579msgstr "Salli toiminta käyttäjältä"
580
581#: html.c:3078
582msgid "Block any activity from this user"
583msgstr "Estä kaikki toiminnat käyttäjältä"
584
585#: html.c:3086
586msgid "Direct Message..."
587msgstr "Yksityisviesti..."
588
589#: html.c:3121
590msgid "Pending follow confirmations"
591msgstr "Hyväksymistä odottavat seurantapyynnöt"
592
593#: html.c:3125
594msgid "People you follow"
595msgstr "Seuraamasi ihniset"
596
597#: html.c:3126
598msgid "People that follow you"
599msgstr "Sinua seuraavat"
600
601#: html.c:3165
602msgid "Clear all"
603msgstr "Tyhjennä"
604
605#: html.c:3222
606msgid "Mention"
607msgstr "Mainitse"
608
609#: html.c:3225
610msgid "Finished poll"
611msgstr "Päättynyt kysely"
612
613#: html.c:3240
614msgid "Follow Request"
615msgstr "Seurantapyyntö"
616
617#: html.c:3323
618msgid "Context"
619msgstr "Konteksti"
620
621#: html.c:3334
622msgid "New"
623msgstr "Uusi"
624
625#: html.c:3349
626msgid "Already seen"
627msgstr "Nähty"
628
629#: html.c:3364
630msgid "None"
631msgstr "Ei ilmoituksia"
632
633#: html.c:3630
634#, c-format
635msgid "Search results for account %s"
636msgstr "Hakutulokset tilille %s"
637
638#: html.c:3637
639#, c-format
640msgid "Account %s not found"
641msgstr "Tiliä %s ei löytynyt"
642
643#: html.c:3668
644#, c-format
645msgid "Search results for tag %s"
646msgstr "Hakutulokset aihetunnisteelle %s"
647
648#: html.c:3668
649#, c-format
650msgid "Nothing found for tag %s"
651msgstr "Aihetunnisteella %s ei löytynyt tuloksia"
652
653#: html.c:3684
654#, c-format
655msgid "Search results for '%s' (may be more)"
656msgstr "Tulokset haulle ”%s” (mahdollisesti enemmän tuloksia)"
657
658#: html.c:3687
659#, c-format
660msgid "Search results for '%s'"
661msgstr "Tulokset haulle ”%s”"
662
663#: html.c:3690
664#, c-format
665msgid "No more matches for '%s'"
666msgstr "Ei enempää tuloksia haulle ”%s”"
667
668#: html.c:3692
669#, c-format
670msgid "Nothing found for '%s'"
671msgstr "Haulla ”%s” ei löytynyt tuloksia"
672
673#: html.c:3790
674msgid "Showing instance timeline"
675msgstr "Palvelimen aikajana"
676
677#: html.c:3858
678#, c-format
679msgid "Showing timeline for list '%s'"
680msgstr "Listan ”%s” aikajana"
681
682#: httpd.c:250
683#, c-format
684msgid "Search results for tag #%s"
685msgstr "Hakutulokset aihetunnisteelle #%s"
686
687#: httpd.c:259
688msgid "Recent posts by users in this instance"
689msgstr "Viimeaikaisia julkaisuja tällä palvelimella"
690
691#: html.c:1528
692msgid "Blocked hashtags..."
693msgstr "Estetyt aihetunnisteet..."
694
695#: html.c:419
696msgid "Optional URL to reply to"
697msgstr ""
698
699#: html.c:526
700msgid ""
701"Option 1...\n"
702"Option 2...\n"
703"Option 3...\n"
704"..."
705msgstr ""
706
707#: html.c:1345
708msgid "Bot API key"
709msgstr ""
710
711#: html.c:1351
712msgid "Chat id"
713msgstr ""
714
715#: html.c:1359
716msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
717msgstr ""
718
719#: html.c:1365
720msgid "ntfy token - if needed"
721msgstr ""
722
723#: html.c:2765
724msgid "pinned"
725msgstr ""
726
727#: html.c:2777
728msgid "bookmarks"
729msgstr ""
730
731#: html.c:2789
732msgid "drafts"
733msgstr ""
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..7e92c75
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,734 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: Popolon\n"
8"Language: fr\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10
11#: html.c:371
12msgid "Sensitive content: "
13msgstr "Contenu sensible :"
14
15#: html.c:379
16msgid "Sensitive content description"
17msgstr "Description du contenu sensible :"
18
19#: html.c:392
20msgid "Only for mentioned people: "
21msgstr "Seulement pour les personnes mentionnées :"
22
23#: html.c:415
24msgid "Reply to (URL): "
25msgstr "Répondre à (URL) :"
26
27#: html.c:424
28msgid "Don't send, but store as a draft"
29msgstr "Ne pas envoyer, mais sauvegarder en tant que brouillon"
30
31#: html.c:425
32msgid "Draft:"
33msgstr "Brouillon :"
34
35#: html.c:445
36msgid "Attachments..."
37msgstr "Pièces jointes…"
38
39#: html.c:468
40msgid "File:"
41msgstr "Fichier :"
42
43#: html.c:472
44msgid "Clear this field to delete the attachment"
45msgstr "Nettoyer ce champs pour supprimer l'attachement"
46
47#: html.c:481 html.c:506
48msgid "Attachment description"
49msgstr "Description de l'attachement"
50
51#: html.c:517
52msgid "Poll..."
53msgstr "Sondage…"
54
55#: html.c:519
56msgid "Poll options (one per line, up to 8):"
57msgstr "Options du sondage (une par ligne, jusqu'à 8) :"
58
59#: html.c:531
60msgid "One choice"
61msgstr "Un seul choix"
62
63#: html.c:534
64msgid "Multiple choices"
65msgstr "Choix multiples"
66
67#: html.c:540
68msgid "End in 5 minutes"
69msgstr "Se termine dans 5 minutes"
70
71#: html.c:544
72msgid "End in 1 hour"
73msgstr "Se termine dans 1 heure"
74
75#: html.c:547
76msgid "End in 1 day"
77msgstr "Se termine dans 1 jour"
78
79#: html.c:555
80msgid "Post"
81msgstr "Envoyer"
82
83#: html.c:652 html.c:659
84msgid "Site description"
85msgstr "Description du site"
86
87#: html.c:670
88msgid "Admin email"
89msgstr "email de l'admin"
90
91#: html.c:683
92msgid "Admin account"
93msgstr "compte de l'admin"
94
95#: html.c:751 html.c:1087
96#, c-format
97msgid "%d following, %d followers"
98msgstr "Suit %d, %d suiveurs"
99
100#: html.c:841
101msgid "RSS"
102msgstr "RSS"
103
104#: html.c:846 html.c:874
105msgid "private"
106msgstr "privé"
107
108#: html.c:870
109msgid "public"
110msgstr "public"
111
112#: html.c:878
113msgid "notifications"
114msgstr "notifications"
115
116#: html.c:883
117msgid "people"
118msgstr "personnes"
119
120#: html.c:887
121msgid "instance"
122msgstr "instance"
123
124#: html.c:896
125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag"
128msgstr ""
129"Chercher les messages par URL ou contenu (expression régulière), comptes "
130"@utilisateur@hôte, ou #tag"
131
132#: html.c:897
133msgid "Content search"
134msgstr "Recherche de contenu"
135
136#: html.c:1019
137msgid "verified link"
138msgstr "Lien vérifié"
139
140#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
141msgid "Location: "
142msgstr "Emplacement : "
143
144#: html.c:1112
145msgid "New Post..."
146msgstr "Nouveau message…"
147
148#: html.c:1114
149msgid "What's on your mind?"
150msgstr "Qu'avez-vous en tête ?"
151
152#: html.c:1123
153msgid "Operations..."
154msgstr "Opérations…"
155
156#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
157msgid "Follow"
158msgstr "Suivre"
159
160#: html.c:1140
161msgid "(by URL or user@host)"
162msgstr "(par URL ou utilisateur@hôte)"
163
164#: html.c:1155 html.c:1689 html.c:4323
165msgid "Boost"
166msgstr "repartager"
167
168#: html.c:1157 html.c:1174
169msgid "(by URL)"
170msgstr "(par URL)"
171
172#: html.c:1172 html.c:1668 html.c:4314
173msgid "Like"
174msgstr "Aime"
175
176#: html.c:1277
177msgid "User Settings..."
178msgstr "Réglages utilisateur…"
179
180#: html.c:1286
181msgid "Display name:"
182msgstr "Nom affiché :"
183
184#: html.c:1292
185msgid "Your name"
186msgstr "Votre nom"
187
188#: html.c:1294
189msgid "Avatar: "
190msgstr "Avatar : "
191
192#: html.c:1302
193msgid "Delete current avatar"
194msgstr "Supprimer l'avatar actuel"
195
196#: html.c:1304
197msgid "Header image (banner): "
198msgstr "Image d'entête (bannière) : "
199
200#: html.c:1312
201msgid "Delete current header image"
202msgstr "Supprimer l'image d'entête actuelle"
203
204#: html.c:1314
205msgid "Bio:"
206msgstr "CV :"
207
208#: html.c:1320
209msgid "Write about yourself here..."
210msgstr "Décrivez-vous ici…"
211
212#: html.c:1329
213msgid "Always show sensitive content"
214msgstr "Toujours afficher le contenu sensible"
215
216#: html.c:1331
217msgid "Email address for notifications:"
218msgstr "Adresse email pour les notifications :"
219
220#: html.c:1339
221msgid "Telegram notifications (bot key and chat id):"
222msgstr "Notifications Telegram (clé de bot et ID de discussion) :"
223
224#: html.c:1353
225msgid "ntfy notifications (ntfy server and token):"
226msgstr "notifications ntfy (serveur et jeton ntfy) :"
227
228#: html.c:1367
229msgid "Maximum days to keep posts (0: server settings):"
230msgstr ""
231"Nombre de jours maximum de rétention des messages (0 : réglages du serveur) :"
232
233#: html.c:1381
234msgid "Drop direct messages from people you don't follow"
235msgstr "Rejeter les messages directs des personnes que vous ne suivez pas"
236
237#: html.c:1390
238msgid "This account is a bot"
239msgstr "Ce compte est un bot"
240
241#: html.c:1399
242msgid "Auto-boost all mentions to this account"
243msgstr "Auto-repartage de toutes les mentions de ce compte"
244
245#: html.c:1408
246msgid "This account is private (posts are not shown through the web)"
247msgstr "Ce compte est privé (les messages ne sont pas affiché sur le web)"
248
249#: html.c:1418
250msgid "Collapse top threads by default"
251msgstr "replier les fils de discussion principaux par défaut"
252
253#: html.c:1427
254msgid "Follow requests must be approved"
255msgstr "Les demande de suivi doivent être approuvées"
256
257#: html.c:1436
258msgid "Publish follower and following metrics"
259msgstr "Publier les suiveurs et les statistiques de suivis"
260
261#: html.c:1438
262msgid "Current location:"
263msgstr "Localisation actuelle :"
264
265#: html.c:1452
266msgid "Profile metadata (key=value pairs in each line):"
267msgstr "Métadonnées du profile (paires clé=valeur à chaque ligne) :"
268
269#: html.c:1463
270msgid "Web interface language:"
271msgstr "Langue de l'interface web :"
272
273#: html.c:1468
274msgid "New password:"
275msgstr "Nouveau mot de passe :"
276
277#: html.c:1475
278msgid "Repeat new password:"
279msgstr "Répétez le nouveau mot de passe :"
280
281#: html.c:1485
282msgid "Update user info"
283msgstr "Mettre à jour les infos utilisateur"
284
285#: html.c:1496
286msgid "Followed hashtags..."
287msgstr "hashtags suivis…"
288
289#: html.c:1498 html.c:1530
290msgid "One hashtag per line"
291msgstr "Un hashtag par ligne"
292
293#: html.c:1519 html.c:1551
294msgid "Update hashtags"
295msgstr "Mettre à jour les hashtags"
296
297#: html.c:1668
298msgid "Say you like this post"
299msgstr "Dire que vous aimez ce message"
300
301#: html.c:1673 html.c:4332
302msgid "Unlike"
303msgstr "N'aime plus"
304
305#: html.c:1673
306msgid "Nah don't like it that much"
307msgstr "Nan, j'aime pas tant que ça"
308
309#: html.c:1679 html.c:4464
310msgid "Unpin"
311msgstr "Dés-épingler"
312
313#: html.c:1679
314msgid "Unpin this post from your timeline"
315msgstr "Dés-épingler ce message de votre chronologie"
316
317#: html.c:1682 html.c:4459
318msgid "Pin"
319msgstr "Épingler"
320
321#: html.c:1682
322msgid "Pin this post to the top of your timeline"
323msgstr "Épingler ce message en haut de votre chronologie"
324
325#: html.c:1689
326msgid "Announce this post to your followers"
327msgstr "Annoncer ce message à vos suiveurs"
328
329#: html.c:1694 html.c:4340
330msgid "Unboost"
331msgstr "Dé-repartager"
332
333#: html.c:1694
334msgid "I regret I boosted this"
335msgstr "Je regrette d'avoir repartagé ceci"
336
337#: html.c:1700 html.c:4474
338msgid "Unbookmark"
339msgstr "Retirer le signet"
340
341#: html.c:1700
342msgid "Delete this post from your bookmarks"
343msgstr "Supprime ce message de vos signets"
344
345#: html.c:1703 html.c:4469
346msgid "Bookmark"
347msgstr "Signet"
348
349#: html.c:1703
350msgid "Add this post to your bookmarks"
351msgstr "Ajouter ce message à vos signets"
352
353#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
354msgid "Unfollow"
355msgstr "Ne plus suivre"
356
357#: html.c:1709 html.c:3041
358msgid "Stop following this user's activity"
359msgstr "Arrêter de suivre les activités de cet utilisateur"
360
361#: html.c:1713 html.c:3055
362msgid "Start following this user's activity"
363msgstr "Commencer à suivre les activité de cet utilisateur"
364
365#: html.c:1719 html.c:4414
366msgid "Unfollow Group"
367msgstr "Ne plus suivre le Groupe"
368
369#: html.c:1720
370msgid "Stop following this group or channel"
371msgstr "Arrêter de suivre ce groupe ou canal"
372
373#: html.c:1724 html.c:4401
374msgid "Follow Group"
375msgstr "Suivre le Groupe"
376
377#: html.c:1725
378msgid "Start following this group or channel"
379msgstr "Commencer à suivre ce groupe ou canal"
380
381#: html.c:1730 html.c:3077 html.c:4348
382msgid "MUTE"
383msgstr "TAIRE"
384
385#: html.c:1731
386msgid "Block any activity from this user forever"
387msgstr "Bloquer toute activité de cet utilisateur à jamais"
388
389#: html.c:1736 html.c:3059 html.c:4431
390msgid "Delete"
391msgstr "Supprimer"
392
393#: html.c:1736
394msgid "Delete this post"
395msgstr "Supprimer ce message"
396
397#: html.c:1739 html.c:4356
398msgid "Hide"
399msgstr "Cacher"
400
401#: html.c:1739
402msgid "Hide this post and its children"
403msgstr "Cacher ce message et ses réponses"
404
405#: html.c:1770
406msgid "Edit..."
407msgstr "Éditer…"
408
409#: html.c:1789
410msgid "Reply..."
411msgstr "Répondre…"
412
413#: html.c:1840
414msgid "Truncated (too deep)"
415msgstr "Tronqué (trop profond)"
416
417#: html.c:1849
418msgid "follows you"
419msgstr "vous suit"
420
421#: html.c:1912
422msgid "Pinned"
423msgstr "Épinglé"
424
425#: html.c:1920
426msgid "Bookmarked"
427msgstr "Ajouté au signets"
428
429#: html.c:1928
430msgid "Poll"
431msgstr "Sondage"
432
433#: html.c:1935
434msgid "Voted"
435msgstr "Voté"
436
437#: html.c:1944
438msgid "Event"
439msgstr "Événement"
440
441#: html.c:1976 html.c:2005
442msgid "boosted"
443msgstr "Repartagé"
444
445#: html.c:2021
446msgid "in reply to"
447msgstr "En réponse à"
448
449#: html.c:2072
450msgid " [SENSITIVE CONTENT]"
451msgstr " [CONTENU SENSIBLE]"
452
453#: html.c:2249
454msgid "Vote"
455msgstr "Vote"
456
457#: html.c:2259
458msgid "Closed"
459msgstr "Terminé"
460
461#: html.c:2284
462msgid "Closes in"
463msgstr "Termine dans"
464
465#: html.c:2365
466msgid "Video"
467msgstr "Vidéo"
468
469#: html.c:2380
470msgid "Audio"
471msgstr "Audio"
472
473#: html.c:2402
474msgid "Attachment"
475msgstr "Attachement"
476
477#: html.c:2416
478msgid "Alt..."
479msgstr "Alt…"
480
481#: html.c:2429
482msgid "Source channel or community"
483msgstr "Canal ou communauté source"
484
485#: html.c:2523
486msgid "Time: "
487msgstr "Date : "
488
489#: html.c:2598
490msgid "Older..."
491msgstr "Plus anciens…"
492
493#: html.c:2661
494msgid "about this site"
495msgstr "à propos de ce site"
496
497#: html.c:2663
498msgid "powered by "
499msgstr "fonctionne grace à "
500
501#: html.c:2728
502msgid "Dismiss"
503msgstr "Rejeter"
504
505#: html.c:2745
506#, c-format
507msgid "Timeline for list '%s'"
508msgstr "Chronologie pour la liste '%s'"
509
510#: html.c:2764 html.c:3805
511msgid "Pinned posts"
512msgstr "Messages épinglés"
513
514#: html.c:2776 html.c:3820
515msgid "Bookmarked posts"
516msgstr "Messages en signets"
517
518#: html.c:2788 html.c:3835
519msgid "Post drafts"
520msgstr "Brouillons de messages"
521
522#: html.c:2847
523msgid "No more unseen posts"
524msgstr "Pas d'avantage de message non vus"
525
526#: html.c:2851 html.c:2951
527msgid "Back to top"
528msgstr "Retourner en haut"
529
530#: html.c:2904
531msgid "History"
532msgstr "Historique"
533
534#: html.c:2956 html.c:3376
535msgid "More..."
536msgstr "Plus…"
537
538#: html.c:3045 html.c:4367
539msgid "Unlimit"
540msgstr "Illimité"
541
542#: html.c:3046
543msgid "Allow announces (boosts) from this user"
544msgstr "Permettre les annonces (repartages) par cet utilisateur"
545
546#: html.c:3049 html.c:4363
547msgid "Limit"
548msgstr "Limite"
549
550#: html.c:3050
551msgid "Block announces (boosts) from this user"
552msgstr "Bloquer les annonces (repartages) par cet utilisateur"
553
554#: html.c:3059
555msgid "Delete this user"
556msgstr "Supprimer cet utilisateur"
557
558#: html.c:3064 html.c:4479
559msgid "Approve"
560msgstr "Approuver"
561
562#: html.c:3065
563msgid "Approve this follow request"
564msgstr "Approuver cette demande de suivit"
565
566#: html.c:3068 html.c:4503
567msgid "Discard"
568msgstr "Rejeter"
569
570#: html.c:3068
571msgid "Discard this follow request"
572msgstr "Rejeter la demande suivante"
573
574#: html.c:3073 html.c:4352
575msgid "Unmute"
576msgstr "Ne plus taire"
577
578#: html.c:3074
579msgid "Stop blocking activities from this user"
580msgstr "Arrêter de bloquer les activités de cet utilisateur"
581
582#: html.c:3078
583msgid "Block any activity from this user"
584msgstr "Bloque toutes les activités de cet utilisateur"
585
586#: html.c:3086
587msgid "Direct Message..."
588msgstr "Message direct…"
589
590#: html.c:3121
591msgid "Pending follow confirmations"
592msgstr "Confirmation de suivit en attente"
593
594#: html.c:3125
595msgid "People you follow"
596msgstr "Personnes que vous suivez"
597
598#: html.c:3126
599msgid "People that follow you"
600msgstr "Personnes qui vous suivent"
601
602#: html.c:3165
603msgid "Clear all"
604msgstr "Tout nettoyer"
605
606#: html.c:3222
607msgid "Mention"
608msgstr "Mention"
609
610#: html.c:3225
611msgid "Finished poll"
612msgstr "Sondage terminé"
613
614#: html.c:3240
615msgid "Follow Request"
616msgstr "Requête de suivit"
617
618#: html.c:3323
619msgid "Context"
620msgstr "Contexte"
621
622#: html.c:3334
623msgid "New"
624msgstr "Nouveau"
625
626#: html.c:3349
627msgid "Already seen"
628msgstr "Déjà vu"
629
630#: html.c:3364
631msgid "None"
632msgstr "Aucun"
633
634#: html.c:3630
635#, c-format
636msgid "Search results for account %s"
637msgstr "Résultats de recher pour le compte %s"
638
639#: html.c:3637
640#, c-format
641msgid "Account %s not found"
642msgstr "Compte %s non trouvé"
643
644#: html.c:3668
645#, c-format
646msgid "Search results for tag %s"
647msgstr "Résultats de recherche pour le tag %s"
648
649#: html.c:3668
650#, c-format
651msgid "Nothing found for tag %s"
652msgstr "Rien n'a été trouvé pour le tag %s"
653
654#: html.c:3684
655#, c-format
656msgid "Search results for '%s' (may be more)"
657msgstr "Résultats de recherche pour '%s' (il pourrait y en avoir d'avantage)"
658
659#: html.c:3687
660#, c-format
661msgid "Search results for '%s'"
662msgstr "Résultats de recherche pour '%s'"
663
664#: html.c:3690
665#, c-format
666msgid "No more matches for '%s'"
667msgstr "Pas d'avantage de résultats pour '%s'"
668
669#: html.c:3692
670#, c-format
671msgid "Nothing found for '%s'"
672msgstr "Rien n'a été trouvé pour '%s'"
673
674#: html.c:3790
675msgid "Showing instance timeline"
676msgstr "Montrer la chronologie de l'instance"
677
678#: html.c:3858
679#, c-format
680msgid "Showing timeline for list '%s'"
681msgstr "Montrer le chronologie pour la liste '%s'"
682
683#: httpd.c:250
684#, c-format
685msgid "Search results for tag #%s"
686msgstr "Résultats de recherche pour le tag #%s"
687
688#: httpd.c:259
689msgid "Recent posts by users in this instance"
690msgstr "Messages récents des utilisateurs de cette instance"
691
692#: html.c:1528
693msgid "Blocked hashtags..."
694msgstr "Hashtags bloqués…"
695
696#: html.c:419
697msgid "Optional URL to reply to"
698msgstr ""
699
700#: html.c:526
701msgid ""
702"Option 1...\n"
703"Option 2...\n"
704"Option 3...\n"
705"..."
706msgstr ""
707
708#: html.c:1345
709msgid "Bot API key"
710msgstr ""
711
712#: html.c:1351
713msgid "Chat id"
714msgstr ""
715
716#: html.c:1359
717msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
718msgstr ""
719
720#: html.c:1365
721msgid "ntfy token - if needed"
722msgstr ""
723
724#: html.c:2765
725msgid "pinned"
726msgstr ""
727
728#: html.c:2777
729msgid "bookmarks"
730msgstr ""
731
732#: html.c:2789
733msgid "drafts"
734msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..de1d4d0
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,734 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: Daltux <https://snac.daltux.net>\n"
8"Language: pt_BR\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10"X-Generator: Poedit 3.5\n"
11
12#: html.c:371
13msgid "Sensitive content: "
14msgstr "Conteúdo sensível: "
15
16#: html.c:379
17msgid "Sensitive content description"
18msgstr "Descrição do conteúdo sensível"
19
20#: html.c:392
21msgid "Only for mentioned people: "
22msgstr "Apenas para pessoas mencionadas: "
23
24#: html.c:415
25msgid "Reply to (URL): "
26msgstr "Resposta para (URL): "
27
28#: html.c:424
29msgid "Don't send, but store as a draft"
30msgstr "Não enviar, mas armazenar como rascunho"
31
32#: html.c:425
33msgid "Draft:"
34msgstr "Rascunho:"
35
36#: html.c:445
37msgid "Attachments..."
38msgstr "Anexos..."
39
40#: html.c:468
41msgid "File:"
42msgstr "Arquivo:"
43
44#: html.c:472
45msgid "Clear this field to delete the attachment"
46msgstr "Limpe este campo para remover o anexo"
47
48#: html.c:481 html.c:506
49msgid "Attachment description"
50msgstr "Descrição do anexo"
51
52#: html.c:517
53msgid "Poll..."
54msgstr "Enquete..."
55
56#: html.c:519
57msgid "Poll options (one per line, up to 8):"
58msgstr "Alternativas da enquete (uma por linha, até 8):"
59
60#: html.c:531
61msgid "One choice"
62msgstr "Escolha única"
63
64#: html.c:534
65msgid "Multiple choices"
66msgstr "Escolhas múltiplas"
67
68#: html.c:540
69msgid "End in 5 minutes"
70msgstr "Encerrar em 5 minutos"
71
72#: html.c:544
73msgid "End in 1 hour"
74msgstr "Encerrar em 1 hora"
75
76#: html.c:547
77msgid "End in 1 day"
78msgstr "Encerrar em 1 dia"
79
80#: html.c:555
81msgid "Post"
82msgstr "Publicar"
83
84#: html.c:652 html.c:659
85msgid "Site description"
86msgstr "Descrição do sítio eletrônico"
87
88#: html.c:670
89msgid "Admin email"
90msgstr "E-mail da administração"
91
92#: html.c:683
93msgid "Admin account"
94msgstr "Conta de quem administra"
95
96#: html.c:751 html.c:1087
97#, c-format
98msgid "%d following, %d followers"
99msgstr "%d seguidos, %d seguidores"
100
101#: html.c:841
102msgid "RSS"
103msgstr "RSS"
104
105#: html.c:846 html.c:874
106msgid "private"
107msgstr "privado"
108
109#: html.c:870
110msgid "public"
111msgstr "público"
112
113#: html.c:878
114msgid "notifications"
115msgstr "notificações"
116
117#: html.c:883
118msgid "people"
119msgstr "pessoas"
120
121#: html.c:887
122msgid "instance"
123msgstr "instância"
124
125#: html.c:896
126msgid ""
127"Search posts by URL or content (regular expression), @user@host accounts, or "
128"#tag"
129msgstr ""
130"Procurar publicações por URL ou conteúdo (expressão regular), contas "
131"(@perfil@servidor) ou #tag"
132
133#: html.c:897
134msgid "Content search"
135msgstr "Buscar conteúdo"
136
137#: html.c:1019
138msgid "verified link"
139msgstr "ligação verificada"
140
141#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
142msgid "Location: "
143msgstr "Localização: "
144
145#: html.c:1112
146msgid "New Post..."
147msgstr "Nova publicação..."
148
149#: html.c:1114
150msgid "What's on your mind?"
151msgstr "O que tem em mente?"
152
153#: html.c:1123
154msgid "Operations..."
155msgstr "Operações..."
156
157#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
158msgid "Follow"
159msgstr "Seguir"
160
161#: html.c:1140
162msgid "(by URL or user@host)"
163msgstr "(por URL ou conta@servidor)"
164
165#: html.c:1155 html.c:1689 html.c:4323
166msgid "Boost"
167msgstr "Impulsionar"
168
169#: html.c:1157 html.c:1174
170msgid "(by URL)"
171msgstr "(por URL)"
172
173#: html.c:1172 html.c:1668 html.c:4314
174msgid "Like"
175msgstr "Curtir"
176
177#: html.c:1277
178msgid "User Settings..."
179msgstr "Definições de uso..."
180
181#: html.c:1286
182msgid "Display name:"
183msgstr "Nome a ser exibido:"
184
185#: html.c:1292
186msgid "Your name"
187msgstr "Seu nome"
188
189#: html.c:1294
190msgid "Avatar: "
191msgstr "Avatar: "
192
193#: html.c:1302
194msgid "Delete current avatar"
195msgstr "Remover avatar atual"
196
197#: html.c:1304
198msgid "Header image (banner): "
199msgstr "Imagem de cabeçalho (capa): "
200
201#: html.c:1312
202msgid "Delete current header image"
203msgstr "Remover imagem de cabeçalho atual"
204
205#: html.c:1314
206msgid "Bio:"
207msgstr "Biografia:"
208
209#: html.c:1320
210msgid "Write about yourself here..."
211msgstr "Escreva aqui sobre você..."
212
213#: html.c:1329
214msgid "Always show sensitive content"
215msgstr "Sempre exibir conteúdo sensível"
216
217#: html.c:1331
218msgid "Email address for notifications:"
219msgstr "Endereço de e-mail para notificações:"
220
221#: html.c:1339
222msgid "Telegram notifications (bot key and chat id):"
223msgstr "Notificações Telegram (chave do robô e ID da conversa):"
224
225#: html.c:1353
226msgid "ntfy notifications (ntfy server and token):"
227msgstr "Notificações ntfy (servidor ntfy e token):"
228
229#: html.c:1367
230msgid "Maximum days to keep posts (0: server settings):"
231msgstr "Máximo de dias a preservar publicações (0: definições do servidor):"
232
233#: html.c:1381
234msgid "Drop direct messages from people you don't follow"
235msgstr "Descartar mensagens diretas de pessoas que você não segue"
236
237#: html.c:1390
238msgid "This account is a bot"
239msgstr "Esta conta é robô"
240
241#: html.c:1399
242msgid "Auto-boost all mentions to this account"
243msgstr "Impulsionar automaticamente todas as menções a esta conta"
244
245#: html.c:1408
246msgid "This account is private (posts are not shown through the web)"
247msgstr "Esta conta é privada (as publicações não são exibidas na Web)"
248
249#: html.c:1418
250msgid "Collapse top threads by default"
251msgstr "Recolher por padrão as sequências de publicações"
252
253#: html.c:1427
254msgid "Follow requests must be approved"
255msgstr "Solicitações de seguimento precisam ser aprovadas"
256
257#: html.c:1436
258msgid "Publish follower and following metrics"
259msgstr "Publicar métricas de seguidores e seguidos"
260
261#: html.c:1438
262msgid "Current location:"
263msgstr "Localização atual:"
264
265#: html.c:1452
266msgid "Profile metadata (key=value pairs in each line):"
267msgstr "Metadados do perfil (par de chave=valor em cada linha):"
268
269#: html.c:1463
270msgid "Web interface language:"
271msgstr "Idioma da interface Web:"
272
273#: html.c:1468
274msgid "New password:"
275msgstr "Nova senha:"
276
277#: html.c:1475
278msgid "Repeat new password:"
279msgstr "Repita a nova senha:"
280
281#: html.c:1485
282msgid "Update user info"
283msgstr "Atualizar informações da conta"
284
285#: html.c:1496
286msgid "Followed hashtags..."
287msgstr "Hashtags seguidas..."
288
289#: html.c:1498 html.c:1530
290msgid "One hashtag per line"
291msgstr "Uma hashtag por linha"
292
293#: html.c:1519 html.c:1551
294msgid "Update hashtags"
295msgstr "Atualizar hashtags"
296
297#: html.c:1668
298msgid "Say you like this post"
299msgstr "Declarar que gosta desta publicação"
300
301#: html.c:1673 html.c:4332
302msgid "Unlike"
303msgstr "Descurtir"
304
305#: html.c:1673
306msgid "Nah don't like it that much"
307msgstr "Não gosto tanto assim disso"
308
309#: html.c:1679 html.c:4464
310msgid "Unpin"
311msgstr "Desafixar"
312
313#: html.c:1679
314msgid "Unpin this post from your timeline"
315msgstr "Desafixar esta publicação da sua linha do tempo"
316
317#: html.c:1682 html.c:4459
318msgid "Pin"
319msgstr "Afixar"
320
321#: html.c:1682
322msgid "Pin this post to the top of your timeline"
323msgstr "Afixar esta publicação no topo de sua linha do tempo"
324
325#: html.c:1689
326msgid "Announce this post to your followers"
327msgstr "Anunciar esta publicação para seus seguidores"
328
329#: html.c:1694 html.c:4340
330msgid "Unboost"
331msgstr "Desimpulsionar"
332
333#: html.c:1694
334msgid "I regret I boosted this"
335msgstr "Arrependo-me de ter impulsionado isso"
336
337#: html.c:1700 html.c:4474
338msgid "Unbookmark"
339msgstr "Desmarcar"
340
341#: html.c:1700
342msgid "Delete this post from your bookmarks"
343msgstr "Remover esta publicação dos seus marcadores"
344
345#: html.c:1703 html.c:4469
346msgid "Bookmark"
347msgstr "Marcar"
348
349#: html.c:1703
350msgid "Add this post to your bookmarks"
351msgstr "Adicionar esta publicação aos seus marcadores"
352
353#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
354msgid "Unfollow"
355msgstr "Deixar de seguir"
356
357#: html.c:1709 html.c:3041
358msgid "Stop following this user's activity"
359msgstr "Parar de acompanhar a atividade deste perfil"
360
361#: html.c:1713 html.c:3055
362msgid "Start following this user's activity"
363msgstr "Começar a acompanhar a atividade deste perfil"
364
365#: html.c:1719 html.c:4414
366msgid "Unfollow Group"
367msgstr "Deixar de seguir grupo"
368
369#: html.c:1720
370msgid "Stop following this group or channel"
371msgstr "Parar de acompanhar este grupo ou canal"
372
373#: html.c:1724 html.c:4401
374msgid "Follow Group"
375msgstr "Seguir grupo"
376
377#: html.c:1725
378msgid "Start following this group or channel"
379msgstr "Começar a acompanhar este grupo ou canal"
380
381#: html.c:1730 html.c:3077 html.c:4348
382msgid "MUTE"
383msgstr "MUDO"
384
385#: html.c:1731
386msgid "Block any activity from this user forever"
387msgstr "Bloquear toda atividade deste perfil para sempre"
388
389#: html.c:1736 html.c:3059 html.c:4431
390msgid "Delete"
391msgstr "Eliminar"
392
393#: html.c:1736
394msgid "Delete this post"
395msgstr "Apagar esta publicação"
396
397#: html.c:1739 html.c:4356
398msgid "Hide"
399msgstr "Ocultar"
400
401#: html.c:1739
402msgid "Hide this post and its children"
403msgstr "Ocultar esta publicação e suas respostas"
404
405#: html.c:1770
406msgid "Edit..."
407msgstr "Editar..."
408
409#: html.c:1789
410msgid "Reply..."
411msgstr "Responder..."
412
413#: html.c:1840
414msgid "Truncated (too deep)"
415msgstr "Truncada (muito extensa)"
416
417#: html.c:1849
418msgid "follows you"
419msgstr "segue você"
420
421#: html.c:1912
422msgid "Pinned"
423msgstr "Afixada"
424
425#: html.c:1920
426msgid "Bookmarked"
427msgstr "Marcada"
428
429#: html.c:1928
430msgid "Poll"
431msgstr "Enquete"
432
433#: html.c:1935
434msgid "Voted"
435msgstr "Votou"
436
437#: html.c:1944
438msgid "Event"
439msgstr "Evento"
440
441#: html.c:1976 html.c:2005
442msgid "boosted"
443msgstr "impulsionou"
444
445#: html.c:2021
446msgid "in reply to"
447msgstr "em resposta a"
448
449#: html.c:2072
450msgid " [SENSITIVE CONTENT]"
451msgstr " [CONTEÚDO SENSÍVEL]"
452
453#: html.c:2249
454msgid "Vote"
455msgstr "Votar"
456
457#: html.c:2259
458msgid "Closed"
459msgstr "Encerrada"
460
461#: html.c:2284
462msgid "Closes in"
463msgstr "Encerra em"
464
465#: html.c:2365
466msgid "Video"
467msgstr "Vídeo"
468
469#: html.c:2380
470msgid "Audio"
471msgstr "Áudio"
472
473#: html.c:2402
474msgid "Attachment"
475msgstr "Anexo"
476
477#: html.c:2416
478msgid "Alt..."
479msgstr "Texto alternativo..."
480
481#: html.c:2429
482msgid "Source channel or community"
483msgstr "Canal ou comunidade de origem"
484
485#: html.c:2523
486msgid "Time: "
487msgstr "Horário: "
488
489#: html.c:2598
490msgid "Older..."
491msgstr "Anteriores..."
492
493#: html.c:2661
494msgid "about this site"
495msgstr "sobre este sítio eletrônico"
496
497#: html.c:2663
498msgid "powered by "
499msgstr "movido por "
500
501#: html.c:2728
502msgid "Dismiss"
503msgstr "Dispensar"
504
505#: html.c:2745
506#, c-format
507msgid "Timeline for list '%s'"
508msgstr "Linha do tempo da lista '%s'"
509
510#: html.c:2764 html.c:3805
511msgid "Pinned posts"
512msgstr "Publicações afixadas"
513
514#: html.c:2776 html.c:3820
515msgid "Bookmarked posts"
516msgstr "Publicações marcadas"
517
518#: html.c:2788 html.c:3835
519msgid "Post drafts"
520msgstr "Publicações em rascunho"
521
522#: html.c:2847
523msgid "No more unseen posts"
524msgstr "Sem mais publicações não vistas"
525
526#: html.c:2851 html.c:2951
527msgid "Back to top"
528msgstr "Voltar ao topo"
529
530#: html.c:2904
531msgid "History"
532msgstr "Histórico"
533
534#: html.c:2956 html.c:3376
535msgid "More..."
536msgstr "Mais..."
537
538#: html.c:3045 html.c:4367
539msgid "Unlimit"
540msgstr "Retirar restrição"
541
542#: html.c:3046
543msgid "Allow announces (boosts) from this user"
544msgstr "Permitir anúncios (impulsionamentos) deste perfil"
545
546#: html.c:3049 html.c:4363
547msgid "Limit"
548msgstr "Restringir"
549
550#: html.c:3050
551msgid "Block announces (boosts) from this user"
552msgstr "Bloquear anúncios (impulsionamentos) deste perfil"
553
554#: html.c:3059
555msgid "Delete this user"
556msgstr "Apagar este perfil"
557
558#: html.c:3064 html.c:4479
559msgid "Approve"
560msgstr "Aprovar"
561
562#: html.c:3065
563msgid "Approve this follow request"
564msgstr "Aprovar esta solicitação de seguimento"
565
566#: html.c:3068 html.c:4503
567msgid "Discard"
568msgstr "Descartar"
569
570#: html.c:3068
571msgid "Discard this follow request"
572msgstr "Descartar esta solicitação de seguimento"
573
574#: html.c:3073 html.c:4352
575msgid "Unmute"
576msgstr "Desbloquear"
577
578#: html.c:3074
579msgid "Stop blocking activities from this user"
580msgstr "Parar de bloquear as atividades deste perfil"
581
582#: html.c:3078
583msgid "Block any activity from this user"
584msgstr "Bloquear toda atividade deste perfil"
585
586#: html.c:3086
587msgid "Direct Message..."
588msgstr "Mensagem direta..."
589
590#: html.c:3121
591msgid "Pending follow confirmations"
592msgstr "Confirmações de seguimento pendentes"
593
594#: html.c:3125
595msgid "People you follow"
596msgstr "Pessoas que você segue"
597
598#: html.c:3126
599msgid "People that follow you"
600msgstr "Pessoas que seguem você"
601
602#: html.c:3165
603msgid "Clear all"
604msgstr "Limpar tudo"
605
606#: html.c:3222
607msgid "Mention"
608msgstr "Menção"
609
610#: html.c:3225
611msgid "Finished poll"
612msgstr "Enquete encerrada"
613
614#: html.c:3240
615msgid "Follow Request"
616msgstr "Solicitação de seguimento"
617
618#: html.c:3323
619msgid "Context"
620msgstr "Contexto"
621
622#: html.c:3334
623msgid "New"
624msgstr "Novas"
625
626#: html.c:3349
627msgid "Already seen"
628msgstr "Já vistas"
629
630#: html.c:3364
631msgid "None"
632msgstr "Nenhuma"
633
634#: html.c:3630
635#, c-format
636msgid "Search results for account %s"
637msgstr "Resultados da busca pela conta %s"
638
639#: html.c:3637
640#, c-format
641msgid "Account %s not found"
642msgstr "Conta %s não encontrada"
643
644#: html.c:3668
645#, c-format
646msgid "Search results for tag %s"
647msgstr "Resultados da busca pela hashtag %s"
648
649#: html.c:3668
650#, c-format
651msgid "Nothing found for tag %s"
652msgstr "Nada consta com hashtag %s"
653
654#: html.c:3684
655#, c-format
656msgid "Search results for '%s' (may be more)"
657msgstr "Resultados da busca por '%s' (pode haver mais)"
658
659#: html.c:3687
660#, c-format
661msgid "Search results for '%s'"
662msgstr "Resultados da busca por '%s'"
663
664#: html.c:3690
665#, c-format
666msgid "No more matches for '%s'"
667msgstr "Sem mais combinações para '%s'"
668
669#: html.c:3692
670#, c-format
671msgid "Nothing found for '%s'"
672msgstr "Nada consta com '%s'"
673
674#: html.c:3790
675msgid "Showing instance timeline"
676msgstr "Exibindo linha do tempo da instância"
677
678#: html.c:3858
679#, c-format
680msgid "Showing timeline for list '%s'"
681msgstr "Exibindo linha do tempo da lista '%s'"
682
683#: httpd.c:250
684#, c-format
685msgid "Search results for tag #%s"
686msgstr "Resultados da busca pela hashtag #%s"
687
688#: httpd.c:259
689msgid "Recent posts by users in this instance"
690msgstr "Publicações recentes de perfis desta instância"
691
692#: html.c:1528
693msgid "Blocked hashtags..."
694msgstr "Hashtags bloqueadas..."
695
696#: html.c:419
697msgid "Optional URL to reply to"
698msgstr ""
699
700#: html.c:526
701msgid ""
702"Option 1...\n"
703"Option 2...\n"
704"Option 3...\n"
705"..."
706msgstr ""
707
708#: html.c:1345
709msgid "Bot API key"
710msgstr ""
711
712#: html.c:1351
713msgid "Chat id"
714msgstr ""
715
716#: html.c:1359
717msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
718msgstr ""
719
720#: html.c:1365
721msgid "ntfy token - if needed"
722msgstr ""
723
724#: html.c:2765
725msgid "pinned"
726msgstr ""
727
728#: html.c:2777
729msgid "bookmarks"
730msgstr ""
731
732#: html.c:2789
733msgid "drafts"
734msgstr ""
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..d641860
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,744 @@
1# snac message translation file
2#
3msgid ""
4msgstr ""
5"Project-Id-Version: snac\n"
6"Last-Translator: grunfink\n"
7"Language: ru\n"
8"Content-Type: text/plain; charset=UTF-8\n"
9"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
10"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
11"POT-Creation-Date: \n"
12"PO-Revision-Date: \n"
13"Language-Team: \n"
14"MIME-Version: 1.0\n"
15"Content-Transfer-Encoding: 8bit\n"
16"X-Generator: Poedit 3.0\n"
17
18#: html.c:371
19msgid "Sensitive content: "
20msgstr "Чувствительное содержимое: "
21
22#: html.c:379
23msgid "Sensitive content description"
24msgstr "Описание чувствительного содержимого"
25
26#: html.c:392
27msgid "Only for mentioned people: "
28msgstr "Только для упомянутых людей: "
29
30#: html.c:415
31msgid "Reply to (URL): "
32msgstr "Ответ на (URL): "
33
34#: html.c:424
35msgid "Don't send, but store as a draft"
36msgstr "Не отправлять, сохранить черновик"
37
38#: html.c:425
39msgid "Draft:"
40msgstr "Черновик:"
41
42#: html.c:445
43msgid "Attachments..."
44msgstr "Вложения..."
45
46#: html.c:468
47msgid "File:"
48msgstr "Файл:"
49
50#: html.c:472
51msgid "Clear this field to delete the attachment"
52msgstr "Очистите это поле, чтоб удалить вложение"
53
54#: html.c:481 html.c:506
55msgid "Attachment description"
56msgstr "Описание вложения"
57
58#: html.c:517
59msgid "Poll..."
60msgstr "Опрос..."
61
62#: html.c:519
63msgid "Poll options (one per line, up to 8):"
64msgstr "Варианты ответа (один на строку, до 8 шт):"
65
66#: html.c:531
67msgid "One choice"
68msgstr "Один выбор"
69
70#: html.c:534
71msgid "Multiple choices"
72msgstr "Множественный выбор"
73
74#: html.c:540
75msgid "End in 5 minutes"
76msgstr "Заканчивается через 5 минут"
77
78#: html.c:544
79msgid "End in 1 hour"
80msgstr "Заканчивается через 1 час"
81
82#: html.c:547
83msgid "End in 1 day"
84msgstr "Заканчивается через 1 день"
85
86#: html.c:555
87msgid "Post"
88msgstr "Отправить"
89
90#: html.c:652 html.c:659
91msgid "Site description"
92msgstr "Описание сайта"
93
94#: html.c:670
95msgid "Admin email"
96msgstr "Почта админа"
97
98#: html.c:683
99msgid "Admin account"
100msgstr "Учётная запись админа"
101
102#: html.c:751 html.c:1087
103#, c-format
104msgid "%d following, %d followers"
105msgstr "%d подписан, %d подписчиков"
106
107#: html.c:841
108msgid "RSS"
109msgstr "RSS"
110
111#: html.c:846 html.c:874
112msgid "private"
113msgstr "личное"
114
115#: html.c:870
116msgid "public"
117msgstr "публичное"
118
119#: html.c:878
120msgid "notifications"
121msgstr "уведомления"
122
123#: html.c:883
124msgid "people"
125msgstr "люди"
126
127#: html.c:887
128msgid "instance"
129msgstr "экземпляр"
130
131#: html.c:896
132msgid ""
133"Search posts by URL or content (regular expression), @user@host accounts, or "
134"#tag"
135msgstr ""
136"Поиск сообщений по URL или содержимому (регулярное выражение), учетной "
137"записи вида @user@host, или #тегу"
138
139#: html.c:897
140msgid "Content search"
141msgstr "Поиск содержимого"
142
143#: html.c:1019
144msgid "verified link"
145msgstr "проверенная ссылка"
146
147#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
148msgid "Location: "
149msgstr "Местоположение: "
150
151#: html.c:1112
152msgid "New Post..."
153msgstr "Новое сообщение..."
154
155#: html.c:1114
156msgid "What's on your mind?"
157msgstr "Что у вас на уме?"
158
159#: html.c:1123
160msgid "Operations..."
161msgstr "Действия..."
162
163#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
164msgid "Follow"
165msgstr "Подписаться"
166
167#: html.c:1140
168msgid "(by URL or user@host)"
169msgstr "(по URL или user@host)"
170
171#: html.c:1155 html.c:1689 html.c:4323
172msgid "Boost"
173msgstr "Продвинуть"
174
175#: html.c:1157 html.c:1174
176msgid "(by URL)"
177msgstr "(по URL)"
178
179#: html.c:1172 html.c:1668 html.c:4314
180msgid "Like"
181msgstr "Лайкнуть"
182
183#: html.c:1277
184msgid "User Settings..."
185msgstr "Пользовательские настройки..."
186
187#: html.c:1286
188msgid "Display name:"
189msgstr "Отображаемое имя:"
190
191#: html.c:1292
192msgid "Your name"
193msgstr "Ваше имя"
194
195#: html.c:1294
196msgid "Avatar: "
197msgstr "Аватар: "
198
199#: html.c:1302
200msgid "Delete current avatar"
201msgstr "Удалить текущий аватар"
202
203#: html.c:1304
204msgid "Header image (banner): "
205msgstr "Заглавное изображение (баннер): "
206
207#: html.c:1312
208msgid "Delete current header image"
209msgstr "Удалить текущее заглавное изображение"
210
211#: html.c:1314
212msgid "Bio:"
213msgstr "О себе:"
214
215#: html.c:1320
216msgid "Write about yourself here..."
217msgstr "Напишите что-нибудь про себя..."
218
219#: html.c:1329
220msgid "Always show sensitive content"
221msgstr "Всегда показывать чувствительное содержимое"
222
223#: html.c:1331
224msgid "Email address for notifications:"
225msgstr "Почтовый адрес для уведомлений:"
226
227#: html.c:1339
228msgid "Telegram notifications (bot key and chat id):"
229msgstr "Уведомления в Telegram (ключ бота и id чата):"
230
231#: html.c:1353
232msgid "ntfy notifications (ntfy server and token):"
233msgstr "уведомления в ntfy (сервер и токен ntfy):"
234
235#: html.c:1367
236msgid "Maximum days to keep posts (0: server settings):"
237msgstr "Максимальное время хранения сообщений (0: настройки сервера):"
238
239#: html.c:1381
240msgid "Drop direct messages from people you don't follow"
241msgstr "Отклонять личные сообщения от незнакомцев"
242
243#: html.c:1390
244msgid "This account is a bot"
245msgstr "Это аккаунт бота"
246
247#: html.c:1399
248msgid "Auto-boost all mentions to this account"
249msgstr "Автоматически продвигать все упоминания этого аккаунта"
250
251#: html.c:1408
252msgid "This account is private (posts are not shown through the web)"
253msgstr "Это закрытый аккаунт (сообщения не показываются в сети)"
254
255#: html.c:1418
256msgid "Collapse top threads by default"
257msgstr "Сворачивать обсуждения по умолчанию"
258
259#: html.c:1427
260msgid "Follow requests must be approved"
261msgstr "Запросы подписки требуют подтверждения"
262
263#: html.c:1436
264msgid "Publish follower and following metrics"
265msgstr "Публиковать статистику подписок и подписчиков"
266
267#: html.c:1438
268msgid "Current location:"
269msgstr "Текущее метоположение:"
270
271#: html.c:1452
272msgid "Profile metadata (key=value pairs in each line):"
273msgstr "Метаданные профиля (пары ключ=значение, по одной на строку)"
274
275#: html.c:1463
276msgid "Web interface language:"
277msgstr "Язык интерфейса:"
278
279#: html.c:1468
280msgid "New password:"
281msgstr "Новый пароль:"
282
283#: html.c:1475
284msgid "Repeat new password:"
285msgstr "Повторите новый пароль:"
286
287#: html.c:1485
288msgid "Update user info"
289msgstr "Обновить данные пользователя"
290
291#: html.c:1496
292msgid "Followed hashtags..."
293msgstr "Отслеживаемые хештеги..."
294
295#: html.c:1498 html.c:1530
296msgid "One hashtag per line"
297msgstr "По одному на строку"
298
299#: html.c:1519 html.c:1551
300msgid "Update hashtags"
301msgstr "Обновить хештеги"
302
303#: html.c:1668
304msgid "Say you like this post"
305msgstr "Отметить сообщение понравившимся"
306
307#: html.c:1673 html.c:4332
308msgid "Unlike"
309msgstr "Больше не нравится"
310
311#: html.c:1673
312msgid "Nah don't like it that much"
313msgstr "Не так уж и понравилось"
314
315#: html.c:1679 html.c:4464
316msgid "Unpin"
317msgstr "Открепить"
318
319#: html.c:1679
320msgid "Unpin this post from your timeline"
321msgstr "Открепить это сообщение из своей ленты"
322
323#: html.c:1682 html.c:4459
324msgid "Pin"
325msgstr "Закрепить"
326
327#: html.c:1682
328msgid "Pin this post to the top of your timeline"
329msgstr "Закрепить это сообщение в своей ленте"
330
331#: html.c:1689
332msgid "Announce this post to your followers"
333msgstr "Поделиться этим сообщением со своими подписчиками"
334
335#: html.c:1694 html.c:4340
336msgid "Unboost"
337msgstr "Отменить продвижение"
338
339#: html.c:1694
340msgid "I regret I boosted this"
341msgstr "Не буду продвигать, пожалуй"
342
343#: html.c:1700 html.c:4474
344msgid "Unbookmark"
345msgstr "Удалить из закладок"
346
347#: html.c:1700
348msgid "Delete this post from your bookmarks"
349msgstr "Удалить это сообщение из закладок"
350
351#: html.c:1703 html.c:4469
352msgid "Bookmark"
353msgstr "Добавить в закладки"
354
355#: html.c:1703
356msgid "Add this post to your bookmarks"
357msgstr "Добавить сообщение в закладки"
358
359#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
360msgid "Unfollow"
361msgstr "Отписаться"
362
363#: html.c:1709 html.c:3041
364msgid "Stop following this user's activity"
365msgstr "Отменить подписку на этого пользователя"
366
367#: html.c:1713 html.c:3055
368msgid "Start following this user's activity"
369msgstr "Начать следовать за этим пользователем"
370
371#: html.c:1719 html.c:4414
372msgid "Unfollow Group"
373msgstr "Отписаться от группы"
374
375#: html.c:1720
376msgid "Stop following this group or channel"
377msgstr "Отписаться от группы или канала"
378
379#: html.c:1724 html.c:4401
380msgid "Follow Group"
381msgstr "Подписаться на группу"
382
383#: html.c:1725
384msgid "Start following this group or channel"
385msgstr "Подписаться на группу или канал"
386
387#: html.c:1730 html.c:3077 html.c:4348
388msgid "MUTE"
389msgstr "Заглушить"
390
391#: html.c:1731
392msgid "Block any activity from this user forever"
393msgstr "Заглушить всю активность от этого пользователя, навсегда"
394
395#: html.c:1736 html.c:3059 html.c:4431
396msgid "Delete"
397msgstr "Удалить"
398
399#: html.c:1736
400msgid "Delete this post"
401msgstr "Удалить это сообщение"
402
403#: html.c:1739 html.c:4356
404msgid "Hide"
405msgstr "Скрыть"
406
407#: html.c:1739
408msgid "Hide this post and its children"
409msgstr "Скрыть это сообщение вместе с обсуждением"
410
411#: html.c:1770
412msgid "Edit..."
413msgstr "Редактировать..."
414
415#: html.c:1789
416msgid "Reply..."
417msgstr "Ответить..."
418
419#: html.c:1840
420msgid "Truncated (too deep)"
421msgstr "Обрезано (слишком много)"
422
423#: html.c:1849
424msgid "follows you"
425msgstr "подписан на вас"
426
427#: html.c:1912
428msgid "Pinned"
429msgstr "Закреплено"
430
431#: html.c:1920
432msgid "Bookmarked"
433msgstr "Добавлено в закладки"
434
435#: html.c:1928
436msgid "Poll"
437msgstr "Опрос"
438
439#: html.c:1935
440msgid "Voted"
441msgstr "Проголосовано"
442
443#: html.c:1944
444msgid "Event"
445msgstr "Событие"
446
447#: html.c:1976 html.c:2005
448msgid "boosted"
449msgstr "продвинуто"
450
451#: html.c:2021
452msgid "in reply to"
453msgstr "в ответ на"
454
455#: html.c:2072
456msgid " [SENSITIVE CONTENT]"
457msgstr " [ЧУВСТВИТЕЛЬНО СОДЕРЖИМОЕ]"
458
459#: html.c:2249
460msgid "Vote"
461msgstr "Голос"
462
463#: html.c:2259
464msgid "Closed"
465msgstr "Закрыт"
466
467#: html.c:2284
468msgid "Closes in"
469msgstr "Закрывается через"
470
471#: html.c:2365
472msgid "Video"
473msgstr "Видео"
474
475#: html.c:2380
476msgid "Audio"
477msgstr "Аудио"
478
479#: html.c:2402
480msgid "Attachment"
481msgstr "Вложение"
482
483#: html.c:2416
484msgid "Alt..."
485msgstr "Описание..."
486
487#: html.c:2429
488msgid "Source channel or community"
489msgstr "Исходный канал или сообщество"
490
491#: html.c:2523
492msgid "Time: "
493msgstr "Время: "
494
495#: html.c:2598
496msgid "Older..."
497msgstr "Ранее..."
498
499#: html.c:2661
500msgid "about this site"
501msgstr "про этот сайт"
502
503#: html.c:2663
504msgid "powered by "
505msgstr "на основе "
506
507#: html.c:2728
508msgid "Dismiss"
509msgstr "Скрыть"
510
511#: html.c:2745
512#, c-format
513msgid "Timeline for list '%s'"
514msgstr "Ленты для списка '%s'"
515
516#: html.c:2764 html.c:3805
517msgid "Pinned posts"
518msgstr "Закреплённые сообщения"
519
520#: html.c:2776 html.c:3820
521msgid "Bookmarked posts"
522msgstr "Сообщения в закладках"
523
524#: html.c:2788 html.c:3835
525msgid "Post drafts"
526msgstr "Черновики сообщений"
527
528#: html.c:2847
529msgid "No more unseen posts"
530msgstr "Всё просмотрено"
531
532#: html.c:2851 html.c:2951
533msgid "Back to top"
534msgstr "Вернуться наверх"
535
536#: html.c:2904
537msgid "History"
538msgstr "История"
539
540#: html.c:2956 html.c:3376
541msgid "More..."
542msgstr "Ещё..."
543
544#: html.c:3045 html.c:4367
545msgid "Unlimit"
546msgstr "Без ограничения"
547
548#: html.c:3046
549msgid "Allow announces (boosts) from this user"
550msgstr "Разрешить продвижения от этого пользователя"
551
552#: html.c:3049 html.c:4363
553msgid "Limit"
554msgstr "Лимит"
555
556#: html.c:3050
557msgid "Block announces (boosts) from this user"
558msgstr "Запретить продвижения от этого пользователя"
559
560#: html.c:3059
561msgid "Delete this user"
562msgstr "Удалить пользователя"
563
564#: html.c:3064 html.c:4479
565msgid "Approve"
566msgstr "Подтвердить"
567
568#: html.c:3065
569msgid "Approve this follow request"
570msgstr "Подтвердить запрос на подписку"
571
572#: html.c:3068 html.c:4503
573msgid "Discard"
574msgstr "Отклонить"
575
576#: html.c:3068
577msgid "Discard this follow request"
578msgstr "Отклонить этот запрос на подписку"
579
580#: html.c:3073 html.c:4352
581msgid "Unmute"
582msgstr "Отменить глушение"
583
584#: html.c:3074
585msgid "Stop blocking activities from this user"
586msgstr "Прекратить глушение действий этого пользователя"
587
588#: html.c:3078
589msgid "Block any activity from this user"
590msgstr "Заглушить все действия этого пользователя"
591
592#: html.c:3086
593msgid "Direct Message..."
594msgstr "Личное сообщение..."
595
596#: html.c:3121
597msgid "Pending follow confirmations"
598msgstr "Ожидающие запросы на подписку"
599
600#: html.c:3125
601msgid "People you follow"
602msgstr "Ваши подписки"
603
604#: html.c:3126
605msgid "People that follow you"
606msgstr "Ваши подписчики"
607
608#: html.c:3165
609msgid "Clear all"
610msgstr "Очистить всё"
611
612#: html.c:3222
613msgid "Mention"
614msgstr "Упоминание"
615
616#: html.c:3225
617msgid "Finished poll"
618msgstr "Завершённый опрос"
619
620#: html.c:3240
621msgid "Follow Request"
622msgstr "Запрос на подписку"
623
624#: html.c:3323
625msgid "Context"
626msgstr "Контекст"
627
628#: html.c:3334
629msgid "New"
630msgstr "Новое"
631
632#: html.c:3349
633msgid "Already seen"
634msgstr "Уже просмотрено"
635
636#: html.c:3364
637msgid "None"
638msgstr "Нет"
639
640#: html.c:3630
641#, c-format
642msgid "Search results for account %s"
643msgstr "Результаты поиска для учётной записи %s"
644
645#: html.c:3637
646#, c-format
647msgid "Account %s not found"
648msgstr "Учётная запись %s не найдена"
649
650#: html.c:3668
651#, c-format
652msgid "Search results for tag %s"
653msgstr "Результаты поиска тега %s"
654
655#: html.c:3668
656#, c-format
657msgid "Nothing found for tag %s"
658msgstr "Ничего не найдено по тегу %s"
659
660#: html.c:3684
661#, c-format
662msgid "Search results for '%s' (may be more)"
663msgstr "Результаты поиска для '%s' (возможно, есть ещё)"
664
665#: html.c:3687
666#, c-format
667msgid "Search results for '%s'"
668msgstr "Результаты поиска для '%s'"
669
670#: html.c:3690
671#, c-format
672msgid "No more matches for '%s'"
673msgstr "Больше нет совпадений для '%s'"
674
675#: html.c:3692
676#, c-format
677msgid "Nothing found for '%s'"
678msgstr "Ничего не найдено для '%s'"
679
680#: html.c:3790
681msgid "Showing instance timeline"
682msgstr "Показываем ленту инстанции"
683
684#: html.c:3858
685#, c-format
686msgid "Showing timeline for list '%s'"
687msgstr "Показываем ленты инстанции для списка '%s'"
688
689#: httpd.c:250
690#, c-format
691msgid "Search results for tag #%s"
692msgstr "Результаты поиска для тега #%s"
693
694#: httpd.c:259
695msgid "Recent posts by users in this instance"
696msgstr "Последние сообщения на этой инстанции"
697
698#: html.c:1528
699msgid "Blocked hashtags..."
700msgstr "Заблокированные теги..."
701
702#: html.c:419
703msgid "Optional URL to reply to"
704msgstr "Необязательный URL для ответа"
705
706#: html.c:526
707msgid ""
708"Option 1...\n"
709"Option 2...\n"
710"Option 3...\n"
711"..."
712msgstr ""
713"Вариант 1...\n"
714"Вариант 2...\n"
715"Вариант 3...\n"
716"..."
717
718#: html.c:1345
719msgid "Bot API key"
720msgstr "Ключ API для бота"
721
722#: html.c:1351
723msgid "Chat id"
724msgstr "Id чата"
725
726#: html.c:1359
727msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
728msgstr "полный URL сервера ntfy (например https://ntfy.sh/YourTopic)"
729
730#: html.c:1365
731msgid "ntfy token - if needed"
732msgstr "токен ntfy - если нужен"
733
734#: html.c:2765
735msgid "pinned"
736msgstr "закреплено"
737
738#: html.c:2777
739msgid "bookmarks"
740msgstr "закладки"
741
742#: html.c:2789
743msgid "drafts"
744msgstr "черновики"
diff --git a/po/zh.po b/po/zh.po
new file mode 100644
index 0000000..199e023
--- /dev/null
+++ b/po/zh.po
@@ -0,0 +1,737 @@
1# snac message translation file
2#
3#, fuzzy
4msgid ""
5msgstr ""
6"Project-Id-Version: snac\n"
7"Last-Translator: mistivia\n"
8"Language: zh\n"
9"Content-Type: text/plain; charset=UTF-8\n"
10
11#: html.c:371
12msgid "Sensitive content: "
13msgstr "敏感内容:"
14
15#: html.c:379
16msgid "Sensitive content description"
17msgstr "敏感内容描述"
18
19#: html.c:392
20msgid "Only for mentioned people: "
21msgstr "只有提及到的人:"
22
23#: html.c:415
24msgid "Reply to (URL): "
25msgstr "回复给(网址):"
26
27#: html.c:424
28msgid "Don't send, but store as a draft"
29msgstr "不要发送,但是保存为草稿"
30
31#: html.c:425
32msgid "Draft:"
33msgstr "草稿:"
34
35#: html.c:445
36msgid "Attachments..."
37msgstr "附件..."
38
39#: html.c:468
40msgid "File:"
41msgstr "文件:"
42
43#: html.c:472
44msgid "Clear this field to delete the attachment"
45msgstr "清除此项以删除附件"
46
47#: html.c:481 html.c:506
48msgid "Attachment description"
49msgstr "附件描述"
50
51#: html.c:517
52msgid "Poll..."
53msgstr "投票..."
54
55#: html.c:519
56msgid "Poll options (one per line, up to 8):"
57msgstr "投票选项(每项一行,最多八项):"
58
59#: html.c:531
60msgid "One choice"
61msgstr "单选"
62
63#: html.c:534
64msgid "Multiple choices"
65msgstr "多选"
66
67#: html.c:540
68msgid "End in 5 minutes"
69msgstr "五分钟后结束"
70
71#: html.c:544
72msgid "End in 1 hour"
73msgstr "一小时后结束"
74
75#: html.c:547
76msgid "End in 1 day"
77msgstr "一天后结束"
78
79#: html.c:555
80msgid "Post"
81msgstr ""
82
83#: html.c:652 html.c:659
84msgid "Site description"
85msgstr "站点描述"
86
87#: html.c:670
88msgid "Admin email"
89msgstr "管理员电子邮箱"
90
91#: html.c:683
92msgid "Admin account"
93msgstr "管理员帐号"
94
95#: html.c:751 html.c:1087
96#, c-format
97msgid "%d following, %d followers"
98msgstr "%d 个正在关注,%d 个关注者"
99
100#: html.c:841
101msgid "RSS"
102msgstr "RSS"
103
104#: html.c:846 html.c:874
105msgid "private"
106msgstr "私密"
107
108#: html.c:870
109msgid "public"
110msgstr "公开"
111
112#: html.c:878
113msgid "notifications"
114msgstr "通知"
115
116#: html.c:883
117msgid "people"
118msgstr "成员"
119
120#: html.c:887
121msgid "instance"
122msgstr "实例"
123
124#: html.c:896
125msgid ""
126"Search posts by URL or content (regular expression), @user@host accounts, or "
127"#tag"
128msgstr "通过网址、内容(正则表达式)、@用户@服务器 帐号,或者 #话题标签"
129"搜索贴子"
130
131#: html.c:897
132msgid "Content search"
133msgstr "内容搜索"
134
135#: html.c:1019
136msgid "verified link"
137msgstr "已验证的链接"
138
139#: html.c:1076 html.c:2458 html.c:2471 html.c:2480
140msgid "Location: "
141msgstr "位置:"
142
143#: html.c:1112
144msgid "New Post..."
145msgstr "新贴子..."
146
147#: html.c:1114
148msgid "What's on your mind?"
149msgstr "你在想什么?"
150
151#: html.c:1123
152msgid "Operations..."
153msgstr "操作..."
154
155#: html.c:1138 html.c:1713 html.c:3054 html.c:4371
156msgid "Follow"
157msgstr "关注"
158
159#: html.c:1140
160msgid "(by URL or user@host)"
161msgstr "(通过网址或者 用户名@服务器)"
162
163#: html.c:1155 html.c:1689 html.c:4323
164msgid "Boost"
165msgstr "转发"
166
167#: html.c:1157 html.c:1174
168msgid "(by URL)"
169msgstr "(通过网址)"
170
171#: html.c:1172 html.c:1668 html.c:4314
172msgid "Like"
173msgstr "点赞"
174
175#: html.c:1277
176msgid "User Settings..."
177msgstr "用户设置..."
178
179#: html.c:1286
180msgid "Display name:"
181msgstr "显示名字:"
182
183#: html.c:1292
184msgid "Your name"
185msgstr "你的名字"
186
187#: html.c:1294
188msgid "Avatar: "
189msgstr "头像:"
190
191#: html.c:1302
192msgid "Delete current avatar"
193msgstr "删除当前头像"
194
195#: html.c:1304
196msgid "Header image (banner): "
197msgstr "页眉图像(横幅)"
198
199#: html.c:1312
200msgid "Delete current header image"
201msgstr "删除当前的页眉图像"
202
203#: html.c:1314
204msgid "Bio:"
205msgstr "简介"
206
207#: html.c:1320
208msgid "Write about yourself here..."
209msgstr "在这里介绍你自己..."
210
211#: html.c:1329
212msgid "Always show sensitive content"
213msgstr "总是显示敏感内容"
214
215#: html.c:1331
216msgid "Email address for notifications:"
217msgstr "用于通知的电子邮箱地址"
218
219#: html.c:1339
220msgid "Telegram notifications (bot key and chat id):"
221msgstr "Telegram通知(bot密钥和聊天ID)"
222
223#: html.c:1353
224msgid "ntfy notifications (ntfy server and token):"
225msgstr "ntfy通知(ntfy服务器和令牌):"
226
227#: html.c:1367
228msgid "Maximum days to keep posts (0: server settings):"
229msgstr "保存贴子的最大天数(0:服务器设置)"
230
231#: html.c:1381
232msgid "Drop direct messages from people you don't follow"
233msgstr "丢弃你没有关注的人的私信"
234
235#: html.c:1390
236msgid "This account is a bot"
237msgstr "此帐号是机器人"
238
239#: html.c:1399
240msgid "Auto-boost all mentions to this account"
241msgstr "自动转发所有对此帐号的提及"
242
243#: html.c:1408
244msgid "This account is private (posts are not shown through the web)"
245msgstr "这是一个私密帐号(贴子不会在网页中显示)"
246
247#: html.c:1418
248msgid "Collapse top threads by default"
249msgstr "默认收起主题帖"
250
251#: html.c:1427
252msgid "Follow requests must be approved"
253msgstr "关注请求必须经过审批"
254
255#: html.c:1436
256msgid "Publish follower and following metrics"
257msgstr "展示关注者和正在关注的数量"
258
259#: html.c:1438
260msgid "Current location:"
261msgstr "当前位置:"
262
263#: html.c:1452
264msgid "Profile metadata (key=value pairs in each line):"
265msgstr "个人资料元数据(每行一条 键=值)"
266
267#: html.c:1463
268msgid "Web interface language:"
269msgstr "网页界面语言:"
270
271#: html.c:1468
272msgid "New password:"
273msgstr "新密码:"
274
275#: html.c:1475
276msgid "Repeat new password:"
277msgstr "重复新密码:"
278
279#: html.c:1485
280msgid "Update user info"
281msgstr "更新用户信息:"
282
283#: html.c:1496
284msgid "Followed hashtags..."
285msgstr "已关注的话题标签..."
286
287#: html.c:1498 html.c:1530
288msgid "One hashtag per line"
289msgstr "每行一个话题标签"
290
291#: html.c:1519 html.c:1551
292msgid "Update hashtags"
293msgstr "更新话题标签"
294
295#: html.c:1668
296msgid "Say you like this post"
297msgstr "说你喜欢这个贴子"
298
299#: html.c:1673 html.c:4332
300msgid "Unlike"
301msgstr "不喜欢"
302
303#: html.c:1673
304msgid "Nah don't like it that much"
305msgstr "啊,不怎么喜欢这个"
306
307#: html.c:1679 html.c:4464
308msgid "Unpin"
309msgstr "取消置顶"
310
311#: html.c:1679
312msgid "Unpin this post from your timeline"
313msgstr "从你的时间线上取消置顶这个贴子"
314
315#: html.c:1682 html.c:4459
316msgid "Pin"
317msgstr "置顶"
318
319#: html.c:1682
320msgid "Pin this post to the top of your timeline"
321msgstr "把这条贴子置顶在你的时间线上"
322
323#: html.c:1689
324msgid "Announce this post to your followers"
325msgstr "向你的关注者宣布这条贴子"
326
327#: html.c:1694 html.c:4340
328msgid "Unboost"
329msgstr "取消转发"
330
331#: html.c:1694
332msgid "I regret I boosted this"
333msgstr "我后悔转发这个了"
334
335#: html.c:1700 html.c:4474
336msgid "Unbookmark"
337msgstr "取消收藏"
338
339#: html.c:1700
340msgid "Delete this post from your bookmarks"
341msgstr "从收藏夹中删除这个贴子"
342
343#: html.c:1703 html.c:4469
344msgid "Bookmark"
345msgstr "收藏"
346
347#: html.c:1703
348msgid "Add this post to your bookmarks"
349msgstr "把这个贴子加入收藏夹"
350
351#: html.c:1709 html.c:3040 html.c:3228 html.c:4384
352msgid "Unfollow"
353msgstr "取消关注"
354
355#: html.c:1709 html.c:3041
356msgid "Stop following this user's activity"
357msgstr "停止关注此用户的动态"
358
359#: html.c:1713 html.c:3055
360msgid "Start following this user's activity"
361msgstr "开始关注此用户的动态"
362
363#: html.c:1719 html.c:4414
364msgid "Unfollow Group"
365msgstr "取消关注群组"
366
367#: html.c:1720
368msgid "Stop following this group or channel"
369msgstr "取消关注这个群组或频道"
370
371#: html.c:1724 html.c:4401
372msgid "Follow Group"
373msgstr "关注群组"
374
375#: html.c:1725
376msgid "Start following this group or channel"
377msgstr "开始关注这个群组或频道"
378
379#: html.c:1730 html.c:3077 html.c:4348
380msgid "MUTE"
381msgstr "静音"
382
383#: html.c:1731
384msgid "Block any activity from this user forever"
385msgstr "永久屏蔽来自这个用户的任何动态"
386
387#: html.c:1736 html.c:3059 html.c:4431
388msgid "Delete"
389msgstr "删除"
390
391#: html.c:1736
392msgid "Delete this post"
393msgstr "删除这条贴子"
394
395#: html.c:1739 html.c:4356
396msgid "Hide"
397msgstr "隐藏"
398
399#: html.c:1739
400msgid "Hide this post and its children"
401msgstr "删除这条贴子及其回复"
402
403#: html.c:1770
404msgid "Edit..."
405msgstr "编辑..."
406
407#: html.c:1789
408msgid "Reply..."
409msgstr "回复..."
410
411#: html.c:1840
412msgid "Truncated (too deep)"
413msgstr "已被截断(太深了)"
414
415#: html.c:1849
416msgid "follows you"
417msgstr "关注了你"
418
419#: html.c:1912
420msgid "Pinned"
421msgstr "已置顶"
422
423#: html.c:1920
424msgid "Bookmarked"
425msgstr "已收藏"
426
427#: html.c:1928
428msgid "Poll"
429msgstr "投票"
430
431#: html.c:1935
432msgid "Voted"
433msgstr "已投票"
434
435#: html.c:1944
436msgid "Event"
437msgstr "事件"
438
439#: html.c:1976 html.c:2005
440msgid "boosted"
441msgstr "已转发"
442
443#: html.c:2021
444msgid "in reply to"
445msgstr "回复给"
446
447#: html.c:2072
448msgid " [SENSITIVE CONTENT]"
449msgstr "【敏感内容】"
450
451#: html.c:2249
452msgid "Vote"
453msgstr "投票"
454
455#: html.c:2259
456msgid "Closed"
457msgstr "已关闭"
458
459#: html.c:2284
460msgid "Closes in"
461msgstr "距离关闭还有"
462
463#: html.c:2365
464msgid "Video"
465msgstr "视频"
466
467#: html.c:2380
468msgid "Audio"
469msgstr "音频"
470
471#: html.c:2402
472msgid "Attachment"
473msgstr "附件"
474
475#: html.c:2416
476msgid "Alt..."
477msgstr "描述..."
478
479#: html.c:2429
480msgid "Source channel or community"
481msgstr "来源频道或者社群"
482
483#: html.c:2523
484msgid "Time: "
485msgstr "时间:"
486
487#: html.c:2598
488msgid "Older..."
489msgstr "更早的..."
490
491#: html.c:2661
492msgid "about this site"
493msgstr "关于此站点"
494
495#: html.c:2663
496msgid "powered by "
497msgstr "驱动自"
498
499#: html.c:2728
500msgid "Dismiss"
501msgstr "忽略"
502
503#: html.c:2745
504#, c-format
505msgid "Timeline for list '%s'"
506msgstr "列表'%s'的时间线"
507
508#: html.c:2764 html.c:3805
509msgid "Pinned posts"
510msgstr "置顶的贴子"
511
512#: html.c:2776 html.c:3820
513msgid "Bookmarked posts"
514msgstr "收藏的贴子"
515
516#: html.c:2788 html.c:3835
517msgid "Post drafts"
518msgstr "贴子草稿"
519
520#: html.c:2847
521msgid "No more unseen posts"
522msgstr "没有更多未读贴子了"
523
524#: html.c:2851 html.c:2951
525msgid "Back to top"
526msgstr "返回顶部"
527
528#: html.c:2904
529msgid "History"
530msgstr "历史"
531
532#: html.c:2956 html.c:3376
533msgid "More..."
534msgstr "更多..."
535
536#: html.c:3045 html.c:4367
537msgid "Unlimit"
538msgstr "取消限制"
539
540#: html.c:3046
541msgid "Allow announces (boosts) from this user"
542msgstr "允许来自这个用户的通知(转发)"
543
544#: html.c:3049 html.c:4363
545msgid "Limit"
546msgstr "限制"
547
548#: html.c:3050
549msgid "Block announces (boosts) from this user"
550msgstr "屏蔽来自这个用户的通知(转发)"
551
552#: html.c:3059
553msgid "Delete this user"
554msgstr "删除此用户"
555
556#: html.c:3064 html.c:4479
557msgid "Approve"
558msgstr "允许"
559
560#: html.c:3065
561msgid "Approve this follow request"
562msgstr "允许这个关注请求"
563
564#: html.c:3068 html.c:4503
565msgid "Discard"
566msgstr "丢弃"
567
568#: html.c:3068
569msgid "Discard this follow request"
570msgstr "丢弃这个关注请求"
571
572#: html.c:3073 html.c:4352
573msgid "Unmute"
574msgstr "取消静音"
575
576#: html.c:3074
577msgid "Stop blocking activities from this user"
578msgstr "停止屏蔽来自此用户的动态"
579
580#: html.c:3078
581msgid "Block any activity from this user"
582msgstr "屏蔽来自此用户的任何动态"
583
584#: html.c:3086
585msgid "Direct Message..."
586msgstr "私信..."
587
588#: html.c:3121
589msgid "Pending follow confirmations"
590msgstr "待处理的关注确认"
591
592#: html.c:3125
593msgid "People you follow"
594msgstr "你关注的人"
595
596#: html.c:3126
597msgid "People that follow you"
598msgstr "关注你的人"
599
600#: html.c:3165
601msgid "Clear all"
602msgstr "清除全部"
603
604#: html.c:3222
605msgid "Mention"
606msgstr "提及"
607
608#: html.c:3225
609msgid "Finished poll"
610msgstr "结束投票"
611
612#: html.c:3240
613msgid "Follow Request"
614msgstr "关注请求"
615
616#: html.c:3323
617msgid "Context"
618msgstr "上下文"
619
620#: html.c:3334
621msgid "New"
622msgstr "新建"
623
624#: html.c:3349
625msgid "Already seen"
626msgstr "已经看过"
627
628#: html.c:3364
629msgid "None"
630msgstr "没有"
631
632#: html.c:3630
633#, c-format
634msgid "Search results for account %s"
635msgstr "账户 %s 的搜索结果"
636
637#: html.c:3637
638#, c-format
639msgid "Account %s not found"
640msgstr "没有找到账户 %s"
641
642#: html.c:3668
643#, c-format
644msgid "Search results for tag %s"
645msgstr "标签 %s 的搜索结果"
646
647#: html.c:3668
648#, c-format
649msgid "Nothing found for tag %s"
650msgstr "没有找到标签'%s'的结果"
651
652#: html.c:3684
653#, c-format
654msgid "Search results for '%s' (may be more)"
655msgstr "'%s'的搜索结果(可能还有更多)"
656
657#: html.c:3687
658#, c-format
659msgid "Search results for '%s'"
660msgstr "'%s'的搜索结果"
661
662#: html.c:3690
663#, c-format
664msgid "No more matches for '%s'"
665msgstr "没有更多匹配'%s'的结果了"
666
667#: html.c:3692
668#, c-format
669msgid "Nothing found for '%s'"
670msgstr "没有找到'%s'的结果"
671
672#: html.c:3790
673msgid "Showing instance timeline"
674msgstr "显示实例时间线"
675
676#: html.c:3858
677#, c-format
678msgid "Showing timeline for list '%s'"
679msgstr "显示列表'%s'的事件线"
680
681#: httpd.c:250
682#, c-format
683msgid "Search results for tag #%s"
684msgstr "标签 #%s 的搜索结果"
685
686#: httpd.c:259
687msgid "Recent posts by users in this instance"
688msgstr "此实例上的用户最近的贴子"
689
690#: html.c:1528
691msgid "Blocked hashtags..."
692msgstr "已屏蔽的话题标签"
693
694#: html.c:419
695msgid "Optional URL to reply to"
696msgstr "可选的回复的网址"
697
698#: html.c:526
699msgid ""
700"Option 1...\n"
701"Option 2...\n"
702"Option 3...\n"
703"..."
704msgstr ""
705"选项1...\n"
706"选项2...\n"
707"选项3...\n"
708"..."
709
710#: html.c:1345
711msgid "Bot API key"
712msgstr "Bot API 密钥"
713
714#: html.c:1351
715msgid "Chat id"
716msgstr "聊天ID"
717
718#: html.c:1359
719msgid "ntfy server - full URL (example: https://ntfy.sh/YourTopic)"
720msgstr "ntfy服务器 - 完整网址(例如:https://ntft.sh/YourTopic)"
721
722#: html.c:1365
723msgid "ntfy token - if needed"
724msgstr "ntft令牌 - 如果需要的话"
725
726#: html.c:2765
727msgid "pinned"
728msgstr "置顶"
729
730#: html.c:2777
731msgid "bookmarks"
732msgstr "收藏夹"
733
734#: html.c:2789
735msgid "drafts"
736msgstr "草稿"
737
diff --git a/snac.h b/snac.h
index 92ffb3f..0bee4fc 100644
--- a/snac.h
+++ b/snac.h
@@ -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 - 2025 grunfink et al. / MIT license */
3 3
4#define VERSION "2.73-dev" 4#define VERSION "2.73"
5 5
6#define USER_AGENT "snac/" VERSION 6#define USER_AGENT "snac/" VERSION
7 7
@@ -329,7 +329,7 @@ xs_dict *msg_follow(snac *snac, const char *actor);
329 329
330xs_dict *msg_note(snac *snac, const xs_str *content, const xs_val *rcpts, 330xs_dict *msg_note(snac *snac, const xs_str *content, const xs_val *rcpts,
331 const xs_str *in_reply_to, const xs_list *attach, 331 const xs_str *in_reply_to, const xs_list *attach,
332 int scope, const char *lang); 332 int scope, const char *lang_str, const char *msg_date);
333 333
334xs_dict *msg_undo(snac *snac, const xs_val *object); 334xs_dict *msg_undo(snac *snac, const xs_val *object);
335xs_dict *msg_delete(snac *snac, const char *id); 335xs_dict *msg_delete(snac *snac, const char *id);