Merge branch 'master' into federation

This commit is contained in:
Dessalines 2020-06-27 10:54:08 -04:00
commit e517de5480
22 changed files with 336 additions and 130 deletions

2
ansible/VERSION vendored
View File

@ -1 +1 @@
v0.7.0
v0.7.2

View File

@ -1,13 +1,25 @@
{
# for more info about the config, check out the documentation
# https://dev.lemmy.ml/docs/administration_configuration.html
# settings related to the postgresql database
database: {
# password to connect to postgres
password: "{{ postgres_password }}"
# host where postgres is running
host: "postgres"
}
# the domain name of your instance (eg "dev.lemmy.ml")
hostname: "{{ domain }}"
# json web token for authorization between server and client
jwt_secret: "{{ jwt_password }}"
# The location of the frontend
front_end_dir: "/app/dist"
# email sending configuration
email: {
# hostname of the smtp server
smtp_server: "postfix:25"
# address to send emails from, eg "noreply@your-instance.com"
smtp_from_address: "noreply@{{ domain }}"
use_tls: false
}

57
docker/lemmy.hjson vendored
View File

@ -1,18 +1,7 @@
{
database: {
# username to connect to postgres
user: "lemmy"
# password to connect to postgres
password: "password"
# host where postgres is running
host: "postgres"
# port where postgres can be accessed
port: 5432
# name of the postgres database for lemmy
database: "lemmy"
# maximum number of active sql connections
pool_size: 5
}
# for more info about the config, check out the documentation
# https://dev.lemmy.ml/docs/administration_configuration.html
# the domain name of your instance (eg "dev.lemmy.ml")
hostname: "my_domain"
# address where lemmy should listen for incoming requests
@ -21,32 +10,19 @@
port: 8536
# json web token for authorization between server and client
jwt_secret: "changeme"
# The dir for the front end
front_end_dir: "/app/dist"
# rate limits for various user actions, by user ip
rate_limit: {
# maximum number of messages created in interval
message: 180
# interval length for message limit
message_per_second: 60
# maximum number of posts created in interval
post: 6
# interval length for post limit
post_per_second: 600
# maximum number of registrations in interval
register: 3
# interval length for registration limit
register_per_second: 3600
# settings related to the postgresql database
database: {
# name of the postgres database for lemmy
database: "lemmy"
# username to connect to postgres
user: "lemmy"
# password to connect to postgres
password: "password"
# host where postgres is running
host: "postgres"
}
# # optional: parameters for automatic configuration of new instance (only used at first start)
# setup: {
# # username for the admin user
# admin_username: "lemmy"
# # password for the admin user
# admin_password: "lemmy"
# # name of the site (can be changed later)
# site_name: "Lemmy Test"
# }
# The location of the frontend
front_end_dir: "/app/dist"
# # optional: email sending configuration
# email: {
# # hostname of the smtp server
@ -55,9 +31,8 @@
# smtp_login: ""
# # password to login to the smtp server
# smtp_password: ""
# # address to send emails from, eg "info@your-instance.com"
# # address to send emails from, eg "noreply@your-instance.com"
# smtp_from_address: ""
# use_tls: true
# }
}

View File

@ -12,7 +12,7 @@ services:
restart: always
lemmy:
image: dessalines/lemmy:v0.7.0
image: dessalines/lemmy:v0.7.2
ports:
- "127.0.0.1:8536:8536"
restart: always

1
docs/src/SUMMARY.md vendored
View File

@ -14,6 +14,7 @@
- [Contributing](contributing.md)
- [Docker Development](contributing_docker_development.md)
- [Local Development](contributing_local_development.md)
- [Tests](contributing_tests.md)
- [Federation Development](contributing_federation_development.md)
- [Websocket/HTTP API](contributing_websocket_http_api.md)
- [ActivityPub API Outline](contributing_apub_api_outline.md)

View File

@ -1,13 +1,20 @@
# Configuration
The configuration is based on the file [defaults.hjson](server/config/defaults.hjson). This file also contains documentation for all the available options. To override the defaults, you can copy the options you want to change into your local `config.hjson` file.
The configuration is based on the file
[defaults.hjson](https://yerbamate.dev/LemmyNet/lemmy/src/branch/master/server/config/defaults.hjson).
This file also contains documentation for all the available options. To override the defaults, you
can copy the options you want to change into your local `config.hjson` file.
Additionally, you can override any config files with environment variables. These have the same name as the config options, and are prefixed with `LEMMY_`. For example, you can override the `database.password` with
`LEMMY__DATABASE__POOL_SIZE=10`.
Additionally, you can override any config files with environment variables. These have the same
name as the config options, and are prefixed with `LEMMY_`. For example, you can override the
`database.password` with `LEMMY__DATABASE__POOL_SIZE=10`.
An additional option `LEMMY_DATABASE_URL` is available, which can be used with a PostgreSQL connection string like `postgres://lemmy:password@lemmy_db:5432/lemmy`, passing all connection details at once.
An additional option `LEMMY_DATABASE_URL` is available, which can be used with a PostgreSQL
connection string like `postgres://lemmy:password@lemmy_db:5432/lemmy`, passing all connection
details at once.
If the Docker container is not used, manually create the database specified above by running the following commands:
If the Docker container is not used, manually create the database specified above by running the
following commands:
```bash
cd server

View File

@ -4,9 +4,9 @@ Information about contributing to Lemmy, whether it is translating, testing, des
## Issue tracking / Repositories
- [GitHub (for issues)](https://github.com/LemmyNet/lemmy)
- [Gitea](https://yerbamate.dev/LemmyNet/lemmy)
- [GitLab](https://gitlab.com/dessalines/lemmy)
- [GitHub (for issues and pull requests)](https://github.com/LemmyNet/lemmy)
- [Gitea (only for pull requests)](https://yerbamate.dev/LemmyNet/lemmy)
- [GitLab (only code-mirror)](https://gitlab.com/dessalines/lemmy)
## Translating

18
docs/src/contributing_tests.md vendored Normal file
View File

@ -0,0 +1,18 @@
### Tests
#### Rust
After installing [local development dependencies](contributing_local_development.md), run the
following commands in the `server` subfolder:
```bash
psql -U lemmy -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;"
export DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy
diesel migration run
RUST_TEST_THREADS=1 cargo test
```
### Federation
Install the [Docker development dependencies](contributing_docker_development.md), and execute
`docker/federation-test/run-tests.sh`

View File

@ -49,5 +49,7 @@
## Member List / Contact Info
General Contact [@LemmyDev Mastodon](https://mastodon.social/@LemmyDev)
- Dessalines [Matrix](https://matrix.to/#/@happydooby:matrix.org)
- Nutomic [Matrix](https://matrix.to/#/@nutomic:matrix.org), [Mastodon](https://radical.town/@felix)
- [Dessalines](https://dev.lemmy.ml/u/dessalines)
- [Nutomic](https://dev.lemmy.ml/u/nutomic)
- [AgreeableLandscape](https://dev.lemmy.ml/u/AgreeableLandscape)
- [fruechtchen](https://dev.lemmy.ml/u/fruechtchen)

View File

@ -33,7 +33,7 @@
port: 8536
# json web token for authorization between server and client
jwt_secret: "changeme"
# The dir for the front end
# The location of the frontend
front_end_dir: "../ui/dist"
# rate limits for various user actions, by user ip
rate_limit: {
@ -61,13 +61,15 @@
}
# # email sending configuration
# email: {
# # hostname of the smtp server
# # hostname and port of the smtp server
# smtp_server: ""
# # login name for smtp server
# smtp_login: ""
# # password to login to the smtp server
# smtp_password: ""
# # address to send emails from, eg "info@your-instance.com"
# # address to send emails from, eg "noreply@your-instance.com"
# smtp_from_address: ""
# # whether or not smtp connections should use tls
# use_tls: true
# }
}

View File

@ -1 +1 @@
pub const VERSION: &str = "v0.7.0";
pub const VERSION: &str = "v0.7.2";

View File

@ -37,7 +37,7 @@
}
.md-div img {
max-height: 90vh;
max-height: 40vh;
max-width: 100%;
height: auto;
}

File diff suppressed because one or more lines are too long

View File

@ -245,7 +245,7 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
});
}
handleFinished(data: CommentResponse) {
handleFinished(op: UserOperation, data: CommentResponse) {
let isReply =
this.props.node !== undefined && data.comment.parent_id !== null;
let xor =
@ -253,11 +253,16 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
if (
(data.comment.creator_id == UserService.Instance.user.id &&
// If its a reply, make sure parent child match
isReply &&
data.comment.parent_id == this.props.node.comment.id) ||
// Otherwise, check the XOR of the two
(!isReply && xor)
((op == UserOperation.CreateComment &&
// If its a reply, make sure parent child match
isReply &&
data.comment.parent_id == this.props.node.comment.id) ||
// Otherwise, check the XOR of the two
(!isReply && xor))) ||
// If its a comment edit, only check that its from your user, and that its a
// text edit only
(op == UserOperation.EditComment && data.comment.content)
) {
this.state.previewMode = false;
this.state.loading = false;
@ -373,10 +378,10 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
if (UserService.Instance.user) {
if (res.op == UserOperation.CreateComment) {
let data = res.data as CommentResponse;
this.handleFinished(data);
this.handleFinished(res.op, data);
} else if (res.op == UserOperation.EditComment) {
let data = res.data as CommentResponse;
this.handleFinished(data);
this.handleFinished(res.op, data);
}
}
}

4
ui/src/utils.ts vendored
View File

@ -527,7 +527,7 @@ export function pictrsDeleteToast(
backgroundColor: backgroundColor,
gravity: 'top',
position: 'right',
duration: 0,
duration: 10000,
onClick: () => {
if (toast) {
window.location.replace(deleteUrl);
@ -556,7 +556,7 @@ export function messageToastify(
close: true,
gravity: 'top',
position: 'right',
duration: 0,
duration: 5000,
onClick: () => {
if (toast) {
toast.hideToast();

2
ui/src/version.ts vendored
View File

@ -1 +1 @@
export const version: string = 'v0.7.0';
export const version: string = 'v0.7.2';

View File

@ -10,7 +10,8 @@
"cross_posts": "Tiuj ligilo ankaŭ estas poŝtinta al:",
"cross_post": "laŭapoŝto",
"comments": "Komentoj",
"number_of_comments": "{{count}} Komentoj",
"number_of_comments": "{{count}} Komento",
"number_of_comments_plural": "{{count}} Komentoj",
"remove_comment": "Fortiri Komentojn",
"communities": "Komunumoj",
"users": "Uzantoj",
@ -94,8 +95,7 @@
"login_sign_up": "Ensaluti / Registriĝi",
"login": "Ensaluti",
"sign_up": "Registriĝi",
"notifications_error":
"Labortablaj avizoj estas nehavebla en via retumilo. Provu Firefox-on aŭ Chrome-on.",
"notifications_error": "Labortablaj avizoj estas nehavebla en via retumilo. Provu Firefox-on aŭ Chrome-on.",
"unread_messages": "Nelegitaj Mesaĝoj",
"password": "Pasvorto",
"verify_password": "Konfirmu Vian Pasvorton",
@ -120,11 +120,9 @@
"show_nsfw": "Vidigi NSFW-an enhavon",
"sponsors": "Subtenantoj",
"sponsors_of_lemmy": "Subtenantoj de Lemmy",
"sponsor_message":
"Lemmy estas senpaga, <1>liberkoda</1> programaro. Tio signifas ne reklami, pagigi, aŭ riska kapitalo, ĉiam. Viaj donacoj rekte subtenas plentempan evoluon de la projekto. Dankon al tiuj homoj:",
"sponsor_message": "Lemmy estas senpaga, <1>liberkoda</1> programaro. Tio signifas ne reklami, pagigi, aŭ riska kapitalo, ĉiam. Viaj donacoj rekte subtenas plentempan evoluon de la projekto. Dankon al tiuj homoj:",
"support_on_patreon": "Subteni per Patreon",
"general_sponsors":
"Ĝeneralaj Subtenantoj estas tiuj ke donacis inter $10 kaj $39 al Lemmy.",
"general_sponsors": "Ĝeneralaj Subtenantoj estas tiuj ke donacis inter $10 kaj $39 al Lemmy.",
"crypto": "Crypto",
"bitcoin": "Bitcoin",
"ethereum": "Ethereum",
@ -136,8 +134,7 @@
"transfer_community": "transdoni la komunumon",
"transfer_site": "transdoni la retejon",
"powered_by": "Konstruis per",
"landing_0":
"Lemmy estas <1>ligila agregatilo</1> / Reddit anstataŭo ke intenciĝas funkci en la <2>federacio-universo</2>.<3></3>ĝi estas mem-gastigebla, havas nuna-ĝisdatigajn komentarojn, kaj estas malgrandega (<4>~80kB</4>). Federacio en la ActivityPub-an reton estas planizita. <5></5>Estas <6>fruega beta versio</6>, kaj multaj trajtoj estas nune difektaj aŭ mankaj. <7></7>Sugestias novajn trajtojn aŭ raportas cimojn <8>ĉi tie.</8><9></9>Faris per <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.",
"landing_0": "Lemmy estas <1>ligila agregatilo</1> / Reddit anstataŭo ke intenciĝas funkci en la <2>federacio-universo</2>.<3></3>ĝi estas mem-gastigebla, havas nuna-ĝisdatigajn komentarojn, kaj estas malgrandega (<4>~80kB</4>). Federacio en la ActivityPub-an reton estas planizita. <5></5>Estas <6>fruega beta versio</6>, kaj multaj trajtoj estas nune difektaj aŭ mankaj. <7></7>Sugestias novajn trajtojn aŭ raportas cimojn <8>ĉi tie.</8><9></9>Faris per <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.",
"not_logged_in": "Ne estas ensalutinta.",
"community_ban": "Vi estas forbarita de la komunumo.",
"site_ban": "Vi estas forbarita de la retejo",
@ -164,12 +161,17 @@
"not_an_admin": "Ne estas administranto.",
"site_already_exists": "Retejo jam ekzistas.",
"couldnt_update_site": "Ne povis ĝisdatigi la retejon.",
"couldnt_find_that_username_or_email":
"Ne povis trovi tiun uzantnomon aŭ retadreson.",
"couldnt_find_that_username_or_email": "Ne povis trovi tiun uzantnomon aŭ retadreson.",
"password_incorrect": "Pasvorto malĝustas.",
"passwords_dont_match": "Pasvortoj ne samas.",
"admin_already_created": "Pardonu, jam estas administranto.",
"user_already_exists": "Uzanto jam ekzistas.",
"couldnt_update_user": "Ne povis ĝisdatigi la uzanton.",
"system_err_login": "Sistema eraro. Provu elsaluti kaj ensaluti."
"system_err_login": "Sistema eraro. Provu elsaluti kaj ensaluti.",
"send_message": "Sendi mesaĝon",
"message": "Mesaĝo",
"number_of_communities": "{{count}} Komunumo",
"number_of_communities_plural": "{{count}} Komunumoj",
"more": "pli",
"select_a_community": "Elekti komunumon"
}

View File

@ -253,5 +253,8 @@
"emoji_picker": "Lista de emojis",
"admin_settings": "Panel de Administración",
"select_a_community": "Selecciona una comunidad",
"invalid_username": "Nombre de usuario inválido."
"invalid_username": "Nombre de usuario inválido.",
"invalid_community_name": "Nombre inválido.",
"click_to_delete_picture": "Haz click para eliminar la imagen.",
"picture_deleted": "Imagen borrada."
}

View File

@ -10,7 +10,7 @@
"related_posts": "Publications similaires",
"cross_posts": "Ce lien a également été publié sur :",
"cross_post": "publication croisée",
"cross_posted_to": "publication croisée à : ",
"cross_posted_to": "publication croisée sur : ",
"comments": "Commentaires",
"number_of_comments": "{{count}} Commentaire",
"number_of_comments_plural": "{{count}} Commentaires",
@ -25,41 +25,41 @@
"list_of_communities": "Liste des communautés",
"number_of_communities": "{{count}} Communauté",
"number_of_communities_plural": "{{count}} Communautés",
"community_reqs": "en minuscule, sans espace et avec tiret du bas.",
"community_reqs": "en minuscule, tirets du bas et sans espace.",
"create_private_message": "Créer un message privé",
"send_secure_message": "Envoyer le message sécurisé",
"send_secure_message": "Envoyer un message sécurisé",
"send_message": "Envoyer le message",
"message": "Message",
"edit": "éditer",
"reply": "répondre",
"cancel": "Annuler",
"preview": "prévisualiser",
"preview": "Prévisualiser",
"upload_image": "envoyer une image",
"avatar": "Avatar",
"upload_avatar": "Télécharger un avatar",
"show_avatars": "Afficher les avatars",
"formatting_help": "aide au formattage",
"formatting_help": "aide au formatage",
"view_source": "voir la source",
"unlock": "débloquer",
"lock": "bloquer",
"unlock": "déverrouiller",
"lock": "verrouiller",
"sticky": "épingler",
"unsticky": "décrocher",
"unsticky": "désépingler",
"link": "lien",
"archive_link": "archiver le lien",
"mod": "modérateur",
"mods": "modérateurs",
"moderates": "Modérer",
"settings": "Paramètres",
"remove_as_mod": "Supprimer comme modérateur",
"appoint_as_mod": "Nommer comme modérateur",
"remove_as_mod": "supprimer comme modérateur",
"appoint_as_mod": "nommer comme modérateur",
"modlog": "Historique de modération",
"admin": "admin",
"admins": "admins",
"remove_as_admin": "Supprimer comme admin",
"appoint_as_admin": "Nommer comme admin",
"remove_as_admin": "supprimer comme admin",
"appoint_as_admin": "nommer comme admin",
"remove": "retirer",
"removed": "retiré par le modérateur",
"locked": "bloqué",
"removed": "supprimé par le modérateur",
"locked": "verrouillé",
"stickied": "épinglé",
"reason": "Raison",
"mark_as_read": "marquer comme lu",
@ -71,13 +71,13 @@
"restore": "restaurer",
"ban": "bannir",
"ban_from_site": "bannir du site",
"unban": "pardon",
"unban_from_site": "faire revenir sur le site",
"unban": "débannir",
"unban_from_site": "débannir du site",
"banned": "banni",
"save": "sauvegarder",
"unsave": "retirer",
"create": "créer",
"creator": "createur",
"creator": "créateur",
"username": "Nom dutilisateur·rice",
"email_or_username": "Email ou nom dutilisateur·rice",
"number_of_users": "{{count}} Utilisateur",
@ -128,7 +128,7 @@
"login_sign_up": "Se connecter / Sinscrire",
"login": "Se connecter",
"sign_up": "Sinscrire",
"notifications_error": "Les notifications de bureau ne sont pas discponibles sur votre navigateur. Essayez Firefox ou Chrome.",
"notifications_error": "Les notifications de bureau ne sont pas disponibles sur votre navigateur. Essayez Firefox ou Chrome.",
"unread_messages": "Messages non-lu",
"messages": "Messages",
"password": "Mot de passe",
@ -143,7 +143,7 @@
"matrix_user_id": "Utilisateur Matrix",
"private_message_disclaimer": "Attention : les messages privés dans Lemmy ne sont pas sécurisés. Veuillez créer un compte sur <1>Riot.im</1> pour pouvoir envoyer des messages sécurisés.",
"send_notifications_to_email": "Envoyer des notifications par email",
"optional": "Optionnel",
"optional": "Facultatif",
"expires": "Expire",
"language": "Langue",
"browser_default": "Défaut pour le navigateur",
@ -176,7 +176,7 @@
"support_on_liberapay": "Soutenir sur Liberapay",
"donate_to_lemmy": "Faire un don à Lemmy",
"donate": "Faire un don",
"general_sponsors": "Les sponsors généraux sont ceux garantissant de 10 à 39$.",
"general_sponsors": "Les Sponsors Généraux sont celles et ceux qui ont fait une donation entre 10 et 39$.",
"crypto": "Cryptomonnaies",
"bitcoin": "Bitcoin",
"ethereum": "Ethereum",
@ -192,7 +192,7 @@
"yes": "oui",
"no": "non",
"powered_by": "Propulsé par",
"landing": "Lemmy est un <1>aggrégateur de liens</1>, similaire à reddit et conçu pour fonctionner sur le <2>fédiverse</2>.<3></3>Il est auto-hébergeable, se met à jour en direct et est léger (<4>~80kB</4>). La fédération via ActivityPub est prévue dans sa feuille de route. <5></5>Lemmy est une <6>version beta très précoce</6> et de nombreuses fonctionnalités sont manquantes ou non fonctionnelles. <7></7>Vous pouvez rapporter des bugs et suggérer de nouvelles fonctionnalités <8>ici.</8><9></9>Crée avec <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.",
"landing": "Lemmy est un <1>aggrégateur de liens</1>, similaire à Reddit et conçu pour fonctionner sur le <2>Fédivers</2>.<3></3>Il est auto-hébergeable, se met à jour en direct et est léger (<4>~80kB</4>). La fédération via ActivityPub est prévue dans sa feuille de route. <5></5>Lemmy est une <6>version beta très précoce</6> et de nombreuses fonctionnalités sont manquantes ou non fonctionnelles. <7></7>Vous pouvez signaler des bugs et suggérer de nouvelles fonctionnalités <8>ici.</8><9></9>Créé avec <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.",
"not_logged_in": "Vous nêtes pas connecté.",
"logged_in": "Vous êtes connecté.",
"community_ban": "Vous avez été banni de cette communauté.",
@ -201,12 +201,12 @@
"couldnt_like_comment": "Impossible daimer le commentaire.",
"couldnt_update_comment": "Impossible de mettre à jour le commentaire.",
"couldnt_save_comment": "Impossible de sauvegarder le commentaire.",
"couldnt_get_comments": "Impossible de obtenir les commentaires.",
"couldnt_get_comments": "Impossible d'obtenir les commentaires.",
"no_comment_edit_allowed": "Vous nêtes pas autorisé à éditer ce commentaire.",
"no_post_edit_allowed": "Vous nêtes pas autorisé à éditer la publication.",
"no_post_edit_allowed": "Vous nêtes pas autorisé à éditer cette publication.",
"no_community_edit_allowed": "Vous nêtes pas autorisé à éditer cette communauté.",
"couldnt_find_community": "Impossible de trouver cette communauté.",
"couldnt_update_community": "Impossible déditer cette communauté.",
"couldnt_update_community": "Impossible de mettre à jour cette communauté.",
"community_already_exists": "Cette communauté existe déjà.",
"community_moderator_already_exists": "Ce membre est déjà modérateur.",
"community_follower_already_exists": "Ce membre est déjà abonné.",
@ -224,34 +224,37 @@
"couldnt_update_site": "Impossible de mettre à jour le site.",
"couldnt_find_that_username_or_email": "Impossible de trouver cet·te utilisateur·rice ou cet email.",
"password_incorrect": "Mot de passe incorrect.",
"passwords_dont_match": "Les mots de passes ne correspondent pas..",
"passwords_dont_match": "Les mots de passes ne correspondent pas.",
"admin_already_created": "Désolé, il y a déjà un admin.",
"user_already_exists": "Lutilisateur·rice existe déjà.",
"email_already_exists": "Lemail existe déjà.",
"couldnt_update_user": "Impossible de mettre à jour lutilisateur·rice.",
"system_err_login": "Erreur système. Essayez de vous déconneter puis de vous reconnecter.",
"system_err_login": "Erreur système. Essayez de vous déconnecter puis de vous reconnecter.",
"couldnt_create_private_message": "Impossible de créer un message privé.",
"no_private_message_edit_allowed": "Pas autorisé à modifier un message privé.",
"couldnt_update_private_message": "Impossible de modifier un message privé.",
"couldnt_update_private_message": "Impossible de modifier le message privé.",
"time": "Temps",
"action": "Action",
"more": "plus",
"admin_settings": "Paramètres administratifs",
"admin_settings": "Paramètres Administrateur",
"site_config": "Configuration du site",
"banned_users": "Utilisateurs interdits",
"site_saved": "Site sauvegardé.",
"support_on_open_collective": "Soutien à OpenCollective",
"support_on_open_collective": "Soutien sur OpenCollective",
"sorting_help": "aide au tri",
"upvote": "Aime",
"upvote": "Voter pour",
"show_context": "Afficher le contexte",
"block_leaving": "Vous êtes sûr de vouloir partir ?",
"number_of_upvotes": "{{count}} votes pour",
"number_of_upvotes_plural": "{{count}} votes contre",
"number_of_downvotes": "{{count}} vote contre",
"number_of_downvotes_plural": "{{count}} votes contre",
"block_leaving": "Etes-vous sûr de vouloir partir ?",
"number_of_upvotes": "{{count}} Votes pour",
"number_of_upvotes_plural": "{{count}} Votes contre",
"number_of_downvotes": "{{count}} Vote contre",
"number_of_downvotes_plural": "{{count}} Votes contre",
"downvote": "Voter contre",
"emoji_picker": "Sélecteur démojis",
"silver_sponsors": "Les sponsors argent sont ceux et celles qui ont fait une donation de 40$ à Lemmy.",
"emoji_picker": "Sélecteur dÉmojis",
"silver_sponsors": "Les Sponsors Argent sont celles et ceux qui ont fait une donation de 40$ à Lemmy.",
"select_a_community": "Sélectionner une communauté",
"invalid_username": "Nom d'utilisateur invalide."
"invalid_username": "Nom d'utilisateur invalide.",
"invalid_community_name": "Nom invalide.",
"click_to_delete_picture": "Cliquer pour supprimer l'image.",
"picture_deleted": "Image supprimée."
}

View File

@ -103,5 +103,158 @@
"number_of_users_plural": "{{count}} felhasználó",
"number_online": "{{count}} online felhasználó",
"number_online_plural": "{{count}} online felhasználó",
"subscribers": "Feliratkozók"
"subscribers": "Feliratkozók",
"prev": "Előző",
"next": "Következő",
"sidebar": "Oldalsáv",
"sort_type": "Rendezési mód",
"hot": "Népszerű",
"new": "Új",
"old": "Régi",
"invalid_community_name": "Érvénytelen név.",
"inbox_for": "Bejövő üzenetek <1>{{user}}</1> részére",
"overview": "Áttekintés",
"notifications_error": "Az asztali értesítések nem érhetőek el a böngésződben. Próbáld meg Firefoxszal vagy Chrome-mal!",
"no_email_setup": "Az email nincs megfelelően beállítva ezen a szerveren.",
"click_to_delete_picture": "Kattints a kép törléséhez!",
"picture_deleted": "Kép törölve.",
"top_day": "A nap bejegyzése",
"week": "Hét",
"month": "Hónap",
"year": "Év",
"all": "Mind",
"top": "Legjobb",
"api": "API",
"docs": "Dokumentáció",
"inbox": "Bejövő üzenetek",
"mark_all_as_read": "az összes megjelölése olvasottként",
"type": "Típus",
"unread": "Olvastalan",
"replies": "Válaszok",
"mentions": "Említések",
"reply_sent": "Válasz elküldve",
"message_sent": "Üzenet elküldve",
"search": "Keresés",
"view": "Nézet",
"logout": "Kijelentkezés",
"login_sign_up": "Bejelentkezés / Regisztráció",
"login": "Bejelentkezés",
"sign_up": "Regisztráció",
"unread_messages": "Olvastalan üzenetek",
"messages": "Üzenetek",
"password": "Jelszó",
"verify_password": "Jelszó megerősítése",
"old_password": "Régi jelszó",
"forgot_password": "elfelejtettem a jelszavamat",
"reset_password_mail_sent": "Egy email el lett küldve a jelszó visszaállításához.",
"password_change": "Jelszó megváltoztatása",
"new_password": "Új jelszó",
"email": "Email",
"matrix_user_id": "Matrix felhasználó",
"upvote": "Pozitív szavazat",
"private_message_disclaimer": "Figyelmeztetés: A privát üzenetek a Lemmyben nem biztonságosak. Kérlek, hozz létre egy fiókot a <1>Riot.im</1>-en a biztonságos üzenetváltásért!",
"send_notifications_to_email": "Értesítések küldése emailen keresztül",
"optional": "Opcionális",
"expires": "Lejár",
"language": "Nyelv",
"browser_default": "Böngészőben alapértelmezett",
"downvotes_disabled": "Negatív szavazatok letiltva",
"enable_downvotes": "Negatív szavazatok engedélyezése",
"number_of_upvotes": "{{count}} pozitív szavazat",
"number_of_upvotes_plural": "{{count}} pozitív szavazat",
"downvote": "Negatív szavazat",
"number_of_downvotes": "{{count}} negatív szavazat",
"number_of_downvotes_plural": "{{count}} negatív szavazat",
"sponsor_message": "A Lemmy egy ingyenes, <1>nyílt forrású</1> szoftver, amely sohasem fog tartalmazni hirdetéseket, monetizálást vagy kockázati tőkét. Az adományaiddal közvetlenül támogatod a projekt teljes munkaidős feljesztését. Köszönet az alábbi személyeknek:",
"general_sponsors": "Általános támogatók, akik 10-39 dollárral járultak hozzá a Lemmyhez.",
"open_registration": "Nyílt regisztráció",
"registration_closed": "Regisztráció lezárva",
"enable_nsfw": "Korhatáros tartalom engedélyezése",
"url": "URL",
"body": "Törzs",
"copy_suggested_title": "javasolt cím másolása: {{title}}",
"community": "Közösség",
"expand_here": "Szétnyitás itt",
"subscribe_to_communities": "Feliratkozás valamennyi <1>közösségre</1>.",
"chat": "Csevegés",
"recent_comments": "Friss hozzászólások",
"no_results": "Nincs találat.",
"setup": "Beállítás",
"lemmy_instance_setup": "Lemmy instancia beállítása",
"setup_admin": "Oldaladminisztrátor beállítása",
"your_site": "az oldalad",
"modified": "módosítva",
"nsfw": "Korhatáros tartalom",
"show_nsfw": "Korhatáros tartalom megjelenítése",
"theme": "Téma",
"sponsors": "Támogatók",
"sponsors_of_lemmy": "A Lemmy támogatói",
"support_on_patreon": "Támogatás a Patreonon",
"support_on_liberapay": "Támogatás a Patreonon",
"support_on_open_collective": "Támogatás az OpenCollective-en",
"donate_to_lemmy": "Adomány a Lemmynek",
"donate": "Adomány",
"silver_sponsors": "Az ezüst támogatók azok, akik 40 dollárral járultak hozzá a Lemmyhez.",
"code": "Kód",
"crypto": "Kripto",
"bitcoin": "Bitcoin",
"ethereum": "Ethereum",
"monero": "Monero",
"joined": "Csatlakozott",
"transfer_community": "közösség átvitele",
"no": "nem",
"community_ban": "Ki lettél tiltva ebből a közösségből.",
"transfer_site": "oldal átvitele",
"are_you_sure": "Biztos vagy benne?",
"yes": "igen",
"powered_by": "A motorháztető alatt",
"not_logged_in": "Nem vagy bejelentkezve.",
"logged_in": "Bejelentkeztél.",
"site_saved": "Oldal mentve.",
"site_ban": "Ki lettél tiltva az oldalról",
"couldnt_update_user": "Nem lehetett frissíteni a felhasználót.",
"couldnt_create_private_message": "Nem lehetett létrehozni a privát üzenetet.",
"no_private_message_edit_allowed": "A privát üzenet szerkesztése nem engedélyezett.",
"couldnt_update_private_message": "Nem lehetett frissíteni a privát üzenetet.",
"time": "Idő",
"action": "Művelet",
"emoji_picker": "Emojiválasztó",
"admin_already_created": "Elnézést, már létezik egy admin.",
"email_already_exists": "Az email már létezik.",
"system_err_login": "Rendszerhiba. Próbálj meg ki- és bejelentkezni!",
"block_leaving": "Biztos vagy abban, hogy távozni akarsz?",
"landing": "A Lemmy egy <1>linkaggregátor</1> / reddit alternatíva, melynek célja együttműködni a <2>fediverzummal</2>.<3></3>Bárki működtetheti saját szerverként, támogatja a valós időben frissülő hozzászólási szálakat, és pici (<4>~80kB</4>). Az ActivityPub hálózattal történő föderáció tervben van. <5></5>Ez egy <6>nagyon korai béta verzió</6> sok funkció jelenleg nem működik vagy hiányzik. <7></7>Javasolj új funkciókat vagy jelents hibákat <8>itt!</8><9></9><10>Rust</10>, <11>Actix</11>, <12>Inferno</12> és <13>Typescript</13> felhasználásával készült.",
"couldnt_create_comment": "Nem lehetett létrehozni a hozzászólást.",
"couldnt_like_comment": "Nem lehetett kedvelni a hozzászólást.",
"couldnt_update_comment": "Nem lehetett frissíteni a hozzászólást.",
"couldnt_save_comment": "Nem lehetett menteni a hozzászólást.",
"couldnt_get_comments": "Nem lehetett lekérdezni a hozzászólást.",
"no_comment_edit_allowed": "A hozzászólás szerkesztése nem engedélyezett.",
"no_post_edit_allowed": "A bejegyzés szerkesztése nem engedélyezett.",
"no_community_edit_allowed": "A közösség szerkesztése nem engedélyezett.",
"couldnt_find_community": "A közösség nem található.",
"couldnt_update_community": "Nem lehetett frissíteni a közösséget.",
"community_already_exists": "A közösség már létezik.",
"community_moderator_already_exists": "Már létezik a közösségi moderátor.",
"community_follower_already_exists": "Már létezik a közösségi követő.",
"community_user_already_banned": "A közösségi felhasználó már ki lett tiltva.",
"couldnt_create_post": "Nem lehetett létrehozni a bejegyzést.",
"post_title_too_long": "A bejegyzés címe túl hosszú.",
"by": "szerző",
"to": "címzett",
"from": "küldő",
"couldnt_like_post": "Nem lehetett kedvelni a bejegyzést.",
"couldnt_find_post": "A bejegyzés nem található.",
"couldnt_get_posts": "Nem lehetett lekérdezni a bejegyzéseket",
"couldnt_update_post": "Nem lehetett frissíteni a bejegyzést",
"couldnt_save_post": "Nem lehetett menteni a bejegyzést.",
"no_slurs": "A sértegetés nem megengedett.",
"not_an_admin": "Nem egy admin.",
"site_already_exists": "Az oldal már létezik.",
"couldnt_update_site": "Nem lehetett frissíteni az oldalt.",
"couldnt_find_that_username_or_email": "Az a felhasználónév vagy email nem található.",
"password_incorrect": "Rossz jelszó.",
"passwords_dont_match": "A jelszavak nem egyeznek.",
"invalid_username": "Érvénytelen felhasználónév.",
"user_already_exists": "A felhasználó már létezik."
}

View File

@ -49,14 +49,14 @@
"remove_as_admin": "rimuovi come amministratore",
"appoint_as_admin": "nomina come amministratore",
"remove": "rimuovi",
"removed": "rimosso",
"removed": "rimosso da un moderatore",
"locked": "bloccato",
"stickied": "evidenziato",
"reason": "Motivo",
"mark_as_read": "segna come letto",
"mark_as_unread": "segna come non letto",
"delete": "cancella",
"deleted": "cancellato",
"deleted": "eliminato dall'autore del commento",
"delete_account": "Cancella Account",
"delete_account_confirm": "Attenzione: stai per cancellare permanentemente tutti i tuoi dati. Inserisci la tua password per confermare questa azione.",
"restore": "ripristina",
@ -142,7 +142,7 @@
"theme": "Tema",
"sponsors": "Sponsor",
"sponsors_of_lemmy": "Sponsor di Lemmy",
"sponsor_message": "Lemmy è software libero e <1>open-source</1>, il che significa nessuna pubblicità, monetizzazione o investitori esterni, per sempre. Le tue donazioni sostengono direttamente lo sviluppo full-time del progetto. Si ringraziano le seguenti persone:",
"sponsor_message": "Lemmy è software libero e <1>open-source</1>, senza nessuna pubblicità, monetizzazione o investitori esterni, per sempre. Le tue donazioni sostengono direttamente lo sviluppo a tempo pieno del progetto. Si ringraziano le seguenti persone:",
"support_on_patreon": "Sostieni su Patreon",
"support_on_liberapay": "Sostieni su Liberapay",
"general_sponsors": "Gli sponsor generali sono quelli che hanno investito dai 10$ ai 39$ su Lemmy.",
@ -251,5 +251,10 @@
"no_private_message_edit_allowed": "Non hai i permessi per modificare un messaggio privato.",
"time": "Tempo",
"action": "Azione",
"silver_sponsors": "Gli sponsor generali sono quelli che hanno investito 40$ su Lemmy."
"silver_sponsors": "Gli sponsor generali sono quelli che hanno investito 40$ su Lemmy.",
"invalid_community_name": "Nome non valido.",
"click_to_delete_picture": "Clicca per eliminare la foto.",
"picture_deleted": "Foto eliminata.",
"select_a_community": "Seleziona una comunità",
"invalid_username": "Nome utente non valido."
}

View File

@ -41,13 +41,13 @@
"remove_as_admin": "снять из администраторов",
"appoint_as_admin": "назначить администратором",
"remove": "убрать",
"removed": "убрано",
"removed": "убрано модератором",
"locked": "заблокировано",
"reason": "Причина",
"mark_as_read": "пометить как прочитанное",
"mark_as_unread": "пометить как непрочитанное",
"delete": "удалить",
"deleted": "удалено",
"deleted": "удалено автором",
"restore": "восстановить",
"ban": "заблокировать",
"ban_from_site": "заблокировать на сайте",
@ -126,7 +126,7 @@
"show_nsfw": "Показывать NSFW-контент",
"sponsors": "Спонсоры",
"sponsors_of_lemmy": "Спонсоры Lemmy",
"sponsor_message": "Lemmy это бесплатное, <1>открытое</1> программное обеспечение, что означает отсутствие рекламы, монетизации или венчурного капитала, никогда. Ваши пожертвования напрямую поддерживают развитие проекта. Спасибо нижеуказанным людям:",
"sponsor_message": "Lemmy это бесплатное, <1>открытое</1> программное обеспечение, без рекламы, монетизации или венчурного капитала, никогда. Ваши пожертвования напрямую поддерживают развитие проекта. Спасибо нижеуказанным людям:",
"support_on_patreon": "Поддержать на Patreon",
"general_sponsors": "Генеральные спонсоры - это те, кто пообещал Lemmy от $10 до $39.",
"crypto": "Крипто",
@ -247,5 +247,23 @@
"block_leaving": "Вы уверены, что хотите покинуть?",
"number_online_0": "{{count}} Пользователь онлайн",
"number_online_1": "{{count}} Пользователя онлайн",
"number_online_2": "{{count}} Пользователей онлайн"
"number_online_2": "{{count}} Пользователей онлайн",
"invalid_community_name": "Неверное имя пользователя.",
"picture_deleted": "Картинка удалена.",
"click_to_delete_picture": "Нажмите, чтобы удалить изображение.",
"downvotes_disabled": "Отрицательное голосование отключено",
"upvote": "Голосовать за",
"enable_downvotes": "Включить отрицательное голосование",
"downvote": "Голосовать против",
"number_of_upvotes_0": "{{count}} голос за",
"number_of_upvotes_1": "{{count}} голоса за",
"number_of_upvotes_2": "{{count}} голосов за",
"number_of_downvotes_0": "{{count}} голос против",
"number_of_downvotes_1": "{{count}} голоса против",
"number_of_downvotes_2": "{{count}} голосов против",
"silver_sponsors": "Серебряные спонсоры - это те, кто пожертвовал $40 для Lemmy.",
"monero": "Monero",
"emoji_picker": "Сборщик эмодзи",
"select_a_community": "Выбрать сообщество",
"invalid_username": "Неверное имя пользователя."
}