summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErnest <ernestwisniewski2@gmail.com>2020-07-13 08:45:57 +0200
committerErnest <ernestwisniewski2@gmail.com>2020-07-13 08:45:57 +0200
commit9ad0a8825ae8cda6b6fcb3d5bb163c234c26b823 (patch)
tree3b6ea795980aac90088cda490a2832bc392d9f06
parente06d9a620c53eb58aed98db7196555fc6adb5916 (diff)
parentf0357bc988e60d98cc566bd8faf680879abec536 (diff)
Merge remote-tracking branch 'upstream/master' into add_post_title_to_comments_view
-rw-r--r--ansible/VERSION2
-rw-r--r--docker/prod/docker-compose.yml2
-rw-r--r--server/src/version.rs2
-rw-r--r--ui/src/components/post.tsx184
-rw-r--r--ui/src/interfaces.ts5
-rw-r--r--ui/src/version.ts2
-rw-r--r--ui/translations/en.json1
-rw-r--r--ui/translations/eu.json246
8 files changed, 243 insertions, 201 deletions
diff --git a/ansible/VERSION b/ansible/VERSION
index 935ddfd2..80eaafce 100644
--- a/ansible/VERSION
+++ b/ansible/VERSION
@@ -1 +1 @@
-v0.7.16
+v0.7.17
diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml
index 6c3bccb0..0f4a9c48 100644
--- a/docker/prod/docker-compose.yml
+++ b/docker/prod/docker-compose.yml
@@ -12,7 +12,7 @@ services:
restart: always
lemmy:
- image: dessalines/lemmy:v0.7.16
+ image: dessalines/lemmy:v0.7.17
ports:
- "127.0.0.1:8536:8536"
restart: always
diff --git a/server/src/version.rs b/server/src/version.rs
index 99061416..180b1dd8 100644
--- a/server/src/version.rs
+++ b/server/src/version.rs
@@ -1 +1 @@
-pub const VERSION: &str = "v0.7.16";
+pub const VERSION: &str = "v0.7.17";
diff --git a/ui/src/components/post.tsx b/ui/src/components/post.tsx
index 5d76808e..ce737a4e 100644
--- a/ui/src/components/post.tsx
+++ b/ui/src/components/post.tsx
@@ -11,6 +11,7 @@ import {
CommentForm as CommentFormI,
CommentResponse,
CommentSortType,
+ CommentViewType,
CommunityUser,
CommunityResponse,
CommentNode as CommentNodeI,
@@ -49,6 +50,7 @@ interface PostState {
post: PostI;
comments: Array<Comment>;
commentSort: CommentSortType;
+ commentViewType: CommentViewType;
community: Community;
moderators: Array<CommunityUser>;
online: number;
@@ -65,6 +67,7 @@ export class Post extends Component<any, PostState> {
post: null,
comments: [],
commentSort: CommentSortType.Hot,
+ commentViewType: CommentViewType.Tree,
community: null,
moderators: [],
online: null,
@@ -208,12 +211,12 @@ export class Post extends Component<any, PostState> {
disabled={this.state.post.locked}
/>
{this.state.comments.length > 0 && this.sortRadios()}
- {this.commentsTree()}
- </div>
- <div class="col-12 col-sm-12 col-md-4">
- {this.state.comments.length > 0 && this.newComments()}
- {this.sidebar()}
+ {this.state.commentViewType == CommentViewType.Tree &&
+ this.commentsTree()}
+ {this.state.commentViewType == CommentViewType.Chat &&
+ this.commentsFlat()}
</div>
+ <div class="col-12 col-sm-12 col-md-4">{this.sidebar()}</div>
</div>
)}
</div>
@@ -222,79 +225,107 @@ export class Post extends Component<any, PostState> {
sortRadios() {
return (
- <div class="btn-group btn-group-toggle mb-2">
- <label
- className={`btn btn-sm btn-secondary pointer ${
- this.state.commentSort === CommentSortType.Hot && 'active'
- }`}
- >
- {i18n.t('hot')}
- <input
- type="radio"
- value={CommentSortType.Hot}
- checked={this.state.commentSort === CommentSortType.Hot}
- onChange={linkEvent(this, this.handleCommentSortChange)}
- />
- </label>
- <label
- className={`btn btn-sm btn-secondary pointer ${
- this.state.commentSort === CommentSortType.Top && 'active'
- }`}
- >
- {i18n.t('top')}
- <input
- type="radio"
- value={CommentSortType.Top}
- checked={this.state.commentSort === CommentSortType.Top}
- onChange={linkEvent(this, this.handleCommentSortChange)}
- />
- </label>
- <label
- className={`btn btn-sm btn-secondary pointer ${
- this.state.commentSort === CommentSortType.New && 'active'
- }`}
- >
- {i18n.t('new')}
- <input
- type="radio"
- value={CommentSortType.New}
- checked={this.state.commentSort === CommentSortType.New}
- onChange={linkEvent(this, this.handleCommentSortChange)}
- />
- </label>
- <label
- className={`btn btn-sm btn-secondary pointer ${
- this.state.commentSort === CommentSortType.Old && 'active'
- }`}
- >
- {i18n.t('old')}
- <input
- type="radio"
- value={CommentSortType.Old}
- checked={this.state.commentSort === CommentSortType.Old}
- onChange={linkEvent(this, this.handleCommentSortChange)}
- />
- </label>
- </div>
+ <>
+ <div class="btn-group btn-group-toggle mr-3 mb-2">
+ <label
+ className={`btn btn-sm btn-secondary pointer ${
+ this.state.commentSort === CommentSortType.Hot && 'active'
+ }`}
+ >
+ {i18n.t('hot')}
+ <input
+ type="radio"
+ value={CommentSortType.Hot}
+ checked={this.state.commentSort === CommentSortType.Hot}
+ onChange={linkEvent(this, this.handleCommentSortChange)}
+ />
+ </label>
+ <label
+ className={`btn btn-sm btn-secondary pointer ${
+ this.state.commentSort === CommentSortType.Top && 'active'
+ }`}
+ >
+ {i18n.t('top')}
+ <input
+ type="radio"
+ value={CommentSortType.Top}
+ checked={this.state.commentSort === CommentSortType.Top}
+ onChange={linkEvent(this, this.handleCommentSortChange)}
+ />
+ </label>
+ <label
+ className={`btn btn-sm btn-secondary pointer ${
+ this.state.commentSort === CommentSortType.New && 'active'
+ }`}
+ >
+ {i18n.t('new')}
+ <input
+ type="radio"
+ value={CommentSortType.New}
+ checked={this.state.commentSort === CommentSortType.New}
+ onChange={linkEvent(this, this.handleCommentSortChange)}
+ />
+ </label>
+ <label
+ className={`btn btn-sm btn-secondary pointer ${
+ this.state.commentSort === CommentSortType.Old && 'active'
+ }`}
+ >
+ {i18n.t('old')}
+ <input
+ type="radio"
+ value={CommentSortType.Old}
+ checked={this.state.commentSort === CommentSortType.Old}
+ onChange={linkEvent(this, this.handleCommentSortChange)}
+ />
+ </label>
+ </div>
+ <div class="btn-group btn-group-toggle mb-2">
+ <label
+ className={`btn btn-sm btn-secondary pointer ${
+ this.state.commentViewType === CommentViewType.Tree && 'active'
+ }`}
+ >
+ {i18n.t('tree')}
+ <input
+ type="radio"
+ value={CommentViewType.Tree}
+ checked={this.state.commentViewType === CommentViewType.Tree}
+ onChange={linkEvent(this, this.handleCommentViewTypeChange)}
+ />
+ </label>
+ <label
+ className={`btn btn-sm btn-secondary pointer ${
+ this.state.commentViewType === CommentViewType.Chat && 'active'
+ }`}
+ >
+ {i18n.t('chat')}
+ <input
+ type="radio"
+ value={CommentViewType.Chat}
+ checked={this.state.commentViewType === CommentViewType.Chat}
+ onChange={linkEvent(this, this.handleCommentViewTypeChange)}
+ />
+ </label>
+ </div>
+ </>
);
}
- newComments() {
+ commentsFlat() {
return (
- <div class="d-none d-md-block new-comments mb-3 card border-secondary">
- <div class="card-body small">
- <h6>{i18n.t('recent_comments')}</h6>
- <CommentNodes
- nodes={commentsToFlatNodes(this.state.comments)}
- noIndent
- locked={this.state.post.locked}
- moderators={this.state.moderators}
- admins={this.state.siteRes.admins}
- postCreatorId={this.state.post.creator_id}
- showContext
- enableDownvotes={this.state.siteRes.site.enable_downvotes}
- />
- </div>
+ <div>
+ <CommentNodes
+ nodes={commentsToFlatNodes(this.state.comments)}
+ noIndent
+ locked={this.state.post.locked}
+ moderators={this.state.moderators}
+ admins={this.state.siteRes.admins}
+ postCreatorId={this.state.post.creator_id}
+ showContext
+ enableDownvotes={this.state.siteRes.site.enable_downvotes}
+ sort={this.state.commentSort}
+ />
</div>
);
}
@@ -318,6 +349,11 @@ export class Post extends Component<any, PostState> {
i.setState(i.state);
}
+ handleCommentViewTypeChange(i: Post, event: any) {
+ i.state.commentViewType = Number(event.target.value);
+ i.setState(i.state);
+ }
+
buildCommentsTree(): Array<CommentNodeI> {
let map = new Map<number, CommentNodeI>();
for (let comment of this.state.comments) {
diff --git a/ui/src/interfaces.ts b/ui/src/interfaces.ts
index 2b4b5e70..1f281302 100644
--- a/ui/src/interfaces.ts
+++ b/ui/src/interfaces.ts
@@ -54,6 +54,11 @@ export enum CommentSortType {
Old,
}
+export enum CommentViewType {
+ Tree,
+ Chat,
+}
+
export enum ListingType {
All,
Subscribed,
diff --git a/ui/src/version.ts b/ui/src/version.ts
index a62e5c1d..068e4237 100644
--- a/ui/src/version.ts
+++ b/ui/src/version.ts
@@ -1 +1 @@
-export const version: string = 'v0.7.16';
+export const version: string = 'v0.7.17';
diff --git a/ui/translations/en.json b/ui/translations/en.json
index cb4347f1..59dfa8b4 100644
--- a/ui/translations/en.json
+++ b/ui/translations/en.json
@@ -177,6 +177,7 @@
"community": "Community",
"expand_here": "Expand here",
"subscribe_to_communities": "Subscribe to some <1>communities</1>.",
+ "tree": "Tree",
"chat": "Chat",
"recent_comments": "Recent Comments",
"no_results": "No results.",
diff --git a/ui/translations/eu.json b/ui/translations/eu.json
index 595ed5d7..0563880d 100644
--- a/ui/translations/eu.json
+++ b/ui/translations/eu.json
@@ -17,53 +17,53 @@
"mark_as_unread": "markatu ez irakurrita",
"delete": "ezabatu",
"delete_account": "Ezabatu kontua",
- "ban": "kaleratu",
- "ban_from_site": "kaleratu gunetik",
- "unban": "onartu",
+ "ban": "debekatu",
+ "ban_from_site": "debekatu gunean",
+ "unban": "kendu debekua",
"save": "gorde",
"create": "sortu",
"creator": "sortzailea",
- "username": "Erabiltzailearen izena",
+ "username": "Erabiltzaile-izena",
"name": "Izena",
"title": "Izenburua",
"both": "Biak",
"saved": "Gordeta",
- "week": "Astea",
- "month": "Hilabetea",
- "year": "Urtea",
- "all": "Dena",
+ "week": "Astekoak",
+ "month": "Hilabetekoak",
+ "year": "Urtekoak",
+ "all": "Guztiak",
"api": "API",
"unread": "Irakurri gabe",
"replies": "Erantzunak",
"search": "Bilatu",
- "sign_up": "Erregistratu",
+ "sign_up": "Eman izena",
"messages": "Mezuak",
"password": "Pasahitza",
- "password_change": "Pasahitza Aldatu",
- "new_password": "Pasahitz Berria",
- "email": "Posta elektronikoa",
+ "password_change": "Aldatu pasahitza",
+ "new_password": "Pasahitz berria",
+ "email": "Eposta",
"language": "Hizkuntza",
"url": "URL",
- "chat": "Txat",
+ "chat": "Txata",
"your_site": "zure gunea",
- "nsfw": "NSFW",
- "block_leaving": "Ziur zaude atera nahi duzula?",
+ "nsfw": "NSFW (eduki hunkigarria)",
+ "block_leaving": "Ziur al zaude atera nahi duzula?",
"bitcoin": "Bitcoin",
"ethereum": "Ethereum",
"monero": "Monero",
"yes": "bai",
"no": "ez",
- "couldnt_find_post": "Ezin izan da post-a aurkitu.",
- "couldnt_save_post": "Ezin izan da argitalpena gorde.",
- "site_already_exists": "Gunea jada existitzen da.",
+ "couldnt_find_post": "Ezin izan da bidalketarik aurkitu.",
+ "couldnt_save_post": "Ezin izan da bidalketa gorde.",
+ "site_already_exists": "Gunea dagoeneko existitzen da.",
"action": "Ekintza",
"time": "Denbora",
"number_of_points": "Puntu {{count}}",
- "number_of_points_plural": "{{count}} Puntu",
+ "number_of_points_plural": "{{count}} puntu",
"number_of_users": "Erabiltzaile {{count}}",
- "number_of_users_plural": "{{count}} Erabiltzaile",
- "number_of_subscribers": "Jarraitzaile {{count}}",
- "number_of_subscribers_plural": "{{count}} Jarraitzaile",
+ "number_of_users_plural": "{{count}} erabiltzaile",
+ "number_of_subscribers": "Harpidetu {{count}}",
+ "number_of_subscribers_plural": "{{count}} harpidetu",
"invalid_community_name": "Izen baliogabea.",
"click_to_delete_picture": "Egin klik irudia ezabatzeko.",
"picture_deleted": "Irudia ezabatuta.",
@@ -97,7 +97,7 @@
"removed": "moderatzaileak ezabatua",
"locked": "blokeatuta",
"number_online": "Erabiltzaile {{count}} konektatuta",
- "number_online_plural": "{{count}} Erabiltzaile konektatutak",
+ "number_online_plural": "{{count}} erabiltzaile konektatuta",
"subscribed": "Harpidetuta",
"prev": "Aurrekoa",
"create_community": "Sortu komunitatea",
@@ -125,137 +125,137 @@
"reason": "Arrazoia",
"mark_as_read": "markatu irakurrita gisa",
"deleted": "sortzaileak ezabatua",
- "delete_account_confirm": "Ohartarazpena: horrek etengabe ezabatuko ditu zure datu guztiak. Idatzi zure pasahitza baieztatzeko.",
+ "delete_account_confirm": "Abisua: honek zure datu guztiak betirako ezabatu ditu. Sartu zure pasahitza baieztatzeko.",
"restore": "leheneratu",
- "unban_from_site": "gunetik debekua kentzea",
- "banned": "kaleratuta",
- "banned_users": "Kaleratutako Erabiltzaileak",
+ "unban_from_site": "kendu debekua gunean",
+ "banned": "debekatuta",
+ "banned_users": "Debekatutako erabiltzaileak",
"unsave": "ez gorde",
- "email_or_username": "e-Posta edo Erabiltzailea",
+ "email_or_username": "Eposta edo erabiltzaile-izena",
"category": "Kategoria",
- "subscribers": "Jarraitzaileak",
- "unsubscribe": "Ez-harpidetu",
+ "subscribers": "Harpidetuak",
+ "unsubscribe": "Ezabatu harpidetza",
"subscribe": "Harpidetu",
"sidebar": "Alboko barra",
- "sort_type": "Sailkapen mota",
+ "sort_type": "Ordena-mota",
"hot": "Pil-pilean",
- "new": "Berri",
- "old": "Zahar",
- "top_day": "Eguneko hoberenak",
- "top": "Hoberena",
+ "new": "Berriak",
+ "old": "Zaharrak",
+ "top_day": "Gaur pil-pilean",
+ "top": "Bozkatuenak",
"docs": "Dokumentazioa",
- "inbox": "Mezuen sarrera",
- "inbox_for": "Sarrera-erretilua <1>{{user}}</1> -rentzat",
- "mark_all_as_read": "markatu dena irakurrita bezala",
+ "inbox": "Sarrera-erretilua",
+ "inbox_for": "<1>{{user}}</1>(r)en sarrera-erretilua",
+ "mark_all_as_read": "markatu guztiak irakurrita gisa",
"type": "Mota",
"number_of_communities": "Komunitate {{count}}",
"number_of_communities_plural": "{{count}} komunitate",
"mentions": "Aipamenak",
- "reply_sent": "Bidalitako erantzuna",
- "message_sent": "Bidalitako mezua",
- "overview": "Laburpen",
+ "reply_sent": "Erantzuna bidali da",
+ "message_sent": "Mezua bidali da",
+ "overview": "Laburpena",
"view": "Ikusi",
- "logout": "Irten",
- "login_sign_up": "Sartu / Kontua Sortu",
- "login": "Sartu",
- "notifications_error": "Mahaigaineko jakinarazpenak ez daude eskuragarri zure web-nabigatzailean. Probatu Firefox edo Chromerekin.",
+ "logout": "Itxi saioa",
+ "login_sign_up": "Hasi saioa / Eman izena",
+ "login": "Hasi saioa",
+ "notifications_error": "Mahaigaineko jakinarazpenak ez daude eskuragarri zure web-nabigatzailean. Probatu Firefoxekin edo Chromekin.",
"unread_messages": "Irakurri gabeko mezuak",
- "verify_password": "Pasahitza Balioztatu",
- "old_password": "Aurreko Pasahitza",
+ "verify_password": "Balioztatu pasahitza",
+ "old_password": "Aurreko pasahitza",
"forgot_password": "pasahitza ahaztu dut",
- "reset_password_mail_sent": "Mezu elektroniko bat bidali pasahitza berrezartzeko.",
- "no_email_setup": "Zerbitzari honek ez du posta elektronikoa behar bezala konfiguratu.",
- "matrix_user_id": "Matrix Erabiltzailea",
- "private_message_disclaimer": "Ohartarazpena: Lemmy-en dauden mezu pribatuak ez dira seguruak. Mesedez, sortu kontu bat <1>Riot.im</1> -en mezu seguruetarako.",
- "send_notifications_to_email": "Bidali jakinarazpenak posta elektronikora",
- "optional": "Ez-ohikoa",
- "browser_default": "Nabigatzaile Lehenetsia",
- "downvotes_disabled": "Puntuazio negatiboak desgaituta daude",
- "enable_downvotes": "Kontrako botoak gaitu",
- "upvote": "Aldeko botoa eman",
- "downvote": "Kontrako botoa eman",
- "number_of_downvotes": "Kontrako boto {{count}}",
- "number_of_downvotes_plural": "{{count}} Kontrako botoak",
- "number_of_upvotes": "Aldeko boto {{count}}",
- "number_of_upvotes_plural": "{{count}} Aldeko botoak",
- "open_registration": "Erregistro Irekia",
- "registration_closed": "Erregistroa itxita",
- "enable_nsfw": "NSFW gaitu",
+ "reset_password_mail_sent": "Eposta bat bidali da zure pasahitza berrezarri dezazun.",
+ "no_email_setup": "Zerbitzari honek ez du eposta ondo konfiguraturik.",
+ "matrix_user_id": "Matrix erabiltzailea",
+ "private_message_disclaimer": "Abisua: Lemmyko mezu pribatuak ez dira seguruak. Mesedez, sortu kontu bat <1>Riot.im</1>en mezu seguruak trukatzeko.",
+ "send_notifications_to_email": "Bidali jakinarazpenak epostara",
+ "optional": "Hautazkoa",
+ "browser_default": "Nabigatzaileko lehenetsia",
+ "downvotes_disabled": "Kontrako bozkak desgaituta",
+ "enable_downvotes": "Gaitu kontrako bozkak",
+ "upvote": "Alde bozkatu",
+ "downvote": "Kontra bozkatu",
+ "number_of_downvotes": "Kontrako bozka {{count}}",
+ "number_of_downvotes_plural": "{{count}} kontrako bozka",
+ "number_of_upvotes": "Aldeko bozka {{count}}",
+ "number_of_upvotes_plural": "{{count}} aldeko bozka",
+ "open_registration": "Izen-ematea irekia",
+ "registration_closed": "Izen-ematea itxira",
+ "enable_nsfw": "Gaitu NSFW (eduki hunkigarria)",
"body": "Gorputza",
- "copy_suggested_title": "Kopiatu iradokitako izenburua: {{title}}",
+ "copy_suggested_title": "kopiatu iradokitako izenburua: {{title}}",
"community": "Komunitatea",
"expand_here": "Hedatu hemen",
"subscribe_to_communities": "Harpidetu zaitez <1>komunitate</1> batzuetara.",
- "recent_comments": "Duela gutxiko Iruzkinak",
+ "recent_comments": "Iruzkin berrienak",
"select_a_community": "Aukeratu komunitate bat",
- "no_results": "Emaitzik gabe.",
- "setup": "Instalazioa",
- "lemmy_instance_setup": "Lemmy Instantziaren Konfigurazioa",
- "setup_admin": "Gunearen Administratzailea Konfiguratu",
+ "no_results": "Ez dago emaitzarik.",
+ "setup": "Ezarpenak",
+ "lemmy_instance_setup": "Lemmy instantziaren ezarpena",
+ "setup_admin": "Ezarri gunearen administratzailea",
"modified": "aldatuta",
- "show_nsfw": "Erakutsi NSFW edukia",
- "expires": "Iraungitzen",
- "theme": "Gaia",
+ "show_nsfw": "Erakutsi eduki hunkigarria (NSFW)",
+ "expires": "Noiz iraungitzen da:",
+ "theme": "Itxura",
"sponsors": "Babesleak",
- "sponsors_of_lemmy": "Lemmyren Babesleak",
- "sponsor_message": "Lemmy software librea da, <1>kode-irekia<1/>, publizitaterik, monetizaziorik edo arrisku kapitalik gabea, inoiz ez. Zuen dohainek zuzenean laguntzen dute proiektuaren lanaldi osoko garapena. Eskerrik asko honako pertsona hauei:",
- "support_on_patreon": "Patreon-en lagundu",
- "support_on_liberapay": "Liberpay-en lagundu",
- "support_on_open_collective": "OpenCollective-n lagundu",
- "donate_to_lemmy": "Dohaintza bat eman Lemmyri",
- "donate": "Dohaintza bat egin",
- "general_sponsors": "Lemmyri 10 eta 39 dolar artean emateko konpromisoa hartu zutenak dira Babesle Nagusiak.",
- "silver_sponsors": "Zilarrezko Babesleak dira Lemmyri 40 dolar eman zizkiotenak.",
- "crypto": "Kripto",
+ "sponsors_of_lemmy": "Lemmyren babesleak",
+ "sponsor_message": "Lemmy software librea da, <1>kode irekia</1>, publizitaterik, monetizaziorik eta arrisku kapitalik gabea, inoiz ez. Zuen dohaintzek zuzenean laguntzen dute proiektuaren lanaldi osoko garapena. Eskerrik asko honako pertsona hauei:",
+ "support_on_patreon": "Patreon bitartez lagundu",
+ "support_on_liberapay": "Liberpay bitartez lagundu",
+ "support_on_open_collective": "OpenCollective bitartez lagundu",
+ "donate_to_lemmy": "Egin dohaintza bat Lemmyri",
+ "donate": "Dohaintza egin",
+ "general_sponsors": "Babesle orokorrak Lemmyri 10 eta 39 dolar artean eman zizkiotenak dira.",
+ "silver_sponsors": "Zilarrezko babesleak Lemmyri 40 dolar eman zizkiotenak dira.",
+ "crypto": "Kriptomonetak",
"code": "Kodea",
"joined": "Batuta",
"by": "egilea",
- "to": "norentzako",
- "from": "hemendik",
+ "to": "nori",
+ "from": "nork",
"transfer_community": "transferentzia-komunitatea",
"transfer_site": "transferentzia-gunea",
- "are_you_sure": "Ziur ahal zaude?",
+ "are_you_sure": "ziur al zaude?",
"powered_by": "Egilea",
- "landing": "Lemmy <1>lotura-agregatzailea</1> /reddit alternatiboa da, eta <2>fedibertsoan</2> lan egiteko erabiltzen da. <3></3>Autohospedagarria da, iruzkin-hari eguneratuak ditu, eta txikia da (<4>~80kB</4>). ActivityPub sareko federazioa bide orrian dago. <5></5><6>Beta bertsio goiztiarra</6> da hau, eta ezaugarri asko hautsita edo desagertuta daude gaur egun. <7></7>Ezaugarri berriak iradokitzea edo akatsak jakinaraztea <8>hemen.</8><9></9> Rust, <11>Actix</11>, <12>Inferno</12>, <13>Typescriptekin egina</13>.",
- "logged_in": "Konektatuta zaude.",
- "not_logged_in": "Ez zaude konektatuta.",
- "site_saved": "Gunea Gordeta.",
+ "landing": "Lemmy <1>esteka-agregatzailea</1> / reddit-en ordezkoa da, eta <2>fedibertsoan</2> lan egiteko sortua da. <3></3>Norberak ostatu dezake, iruzkin-hari eguneratuak ditu eta txikia da (<4>~80kB</4>). ActivityPub sareko federazioa bide-orrian dago. <5></5>Hau <6>beta bertsio goiztiarra</6> da eta funtzionalitate asko hautsita edo egin gabe ditu oraindik. <7></7>Iradoki itzazu funtzionalitate berriak edo jakinarazi akatsak <8>hemen</8>.<9></9><10>Rust</10>, <11>Actix</11>, <12>Inferno</12> eta <13>Typescript</13>ekin egina.",
+ "logged_in": "Saioa hasi duzu.",
+ "not_logged_in": "Ez duzu saiorik hasi.",
+ "site_saved": "Gunea gorde da.",
"community_ban": "Komunitate honetan sartzea debekatu dizute.",
"site_ban": "Gune honetan sartzea debekatu dizute",
- "couldnt_create_comment": "Ezin izan da iruzkinik egin.",
- "couldnt_like_comment": "Ezin izan zaio iruzkin bati like bat eman.",
- "couldnt_update_comment": "Ezin izan zen iruzkina eguneratu.",
- "couldnt_save_comment": "Ezin izan zen iruzkina gorde.",
- "couldnt_get_comments": "Ezin izan ziren iruzkinak lortu.",
- "no_comment_edit_allowed": "Ezin da iruzkina editatu.",
- "no_post_edit_allowed": "Ezin da post-a editatu.",
- "no_community_edit_allowed": "Ezin da komunitatea editatu.",
- "couldnt_find_community": "Ezin izan da komunitatea aurkitu.",
- "couldnt_update_community": "Ezin izan zen komunitatea eguneratu.",
- "community_already_exists": "Komunitatea existitzen da jada.",
- "community_moderator_already_exists": "Komunitatearen moderatzailea existitzen da dagoeneko.",
- "community_follower_already_exists": "Jarraitzaileen komunitatea existitzen da dagoeneko.",
- "community_user_already_banned": "Komunitatearen erabiltzaile hau debekatuta dago jada.",
- "couldnt_create_post": "Argitalpena ezin izan da sortu.",
- "post_title_too_long": "Argitalpenaren izenburua luzeegia da.",
- "couldnt_like_post": "Ezin izan zaio like bat eman postari.",
- "couldnt_get_posts": "Ezin izan ziren postak lortu",
- "couldnt_update_post": "Ezin izan zen post-a eguneratu",
+ "couldnt_create_comment": "Ezin izan da iruzkina sortu.",
+ "couldnt_like_comment": "Ezin izan da iruzkinari datsegit eman.",
+ "couldnt_update_comment": "Ezin izan da iruzkina eguneratu.",
+ "couldnt_save_comment": "Ezin izan da iruzkina gorde.",
+ "couldnt_get_comments": "Ezin izan da iruzkinik lortu.",
+ "no_comment_edit_allowed": "Ezin duzu iruzkina editatu.",
+ "no_post_edit_allowed": "Ezin duzu bidalketa editatu.",
+ "no_community_edit_allowed": "Ezin duzu komunitatea editatu.",
+ "couldnt_find_community": "Ezin izan da komunitaterik aurkitu.",
+ "couldnt_update_community": "Ezin izan da komunitatea eguneratu.",
+ "community_already_exists": "Komunitate hori dagoeneko existitzen da.",
+ "community_moderator_already_exists": "Komunitateko moderatzaile hori dagoeneko existitzen da.",
+ "community_follower_already_exists": "Komunitateko jarraitzaile hori dagoeneko existitzen da.",
+ "community_user_already_banned": "Komunitateko erabiltzaile hau dagoeneko debekatuta dago.",
+ "couldnt_create_post": "Ezin izan da bidalketa sortu.",
+ "post_title_too_long": "Bidalketaren izenburua luzeegia da.",
+ "couldnt_like_post": "Ezin izan da bidalketari datsegit eman.",
+ "couldnt_get_posts": "Ezin izan da bidalketa lortu",
+ "couldnt_update_post": "Ezin izan da bidalketa eguneratu",
"no_slurs": "Irainik gabe.",
- "not_an_admin": "Ez da administratzailea.",
- "couldnt_update_site": "Ezinezkoa lekua berritzea.",
- "couldnt_find_that_username_or_email": "Ezin izan da aurkitu erabiltzaile-izen edo helbide elektroniko hori.",
- "password_incorrect": "Pasahitz desegokia.",
+ "not_an_admin": "Ez zara administratzailea.",
+ "couldnt_update_site": "Ezin izan da gunea eguneratu.",
+ "couldnt_find_that_username_or_email": "Ezin izan da aurkitu erabiltzaile-izen edo eposta hori.",
+ "password_incorrect": "Pasahitz okerra.",
"passwords_dont_match": "Pasahitzak ez dira berdinak.",
- "admin_already_created": "Barkatu, badago administratzaile bat dagoeneko.",
- "user_already_exists": "Erabiltzailea existitzen da dagoeneko.",
- "email_already_exists": "Posta helbide hau beste norbaitek erabiltzen du.",
- "couldnt_update_user": "Ezin izan zen erabiltzailea eguneratu.",
- "system_err_login": "Sistemaren errorea. Saiatu saioa ixten eta berriro sartzen.",
- "couldnt_create_private_message": "Ezinezkoa izan da mezu pribatua sortzea.",
- "no_private_message_edit_allowed": "Ezin da mezu pribaturik editatu.",
- "couldnt_update_private_message": "Ezinezkoa izan da mezu pribatua berritzea.",
- "emoji_picker": "Emoji Hautagailua",
+ "admin_already_created": "Barkatu, dagoeneko badago administratzaile bat.",
+ "user_already_exists": "Erabiltzaile hori dagoeneko existitzen da.",
+ "email_already_exists": "Eposta hori dagoeneko existitzen da.",
+ "couldnt_update_user": "Ezin izan da erabiltzailea eguneratu.",
+ "system_err_login": "Sistemaren errorea. Saiatu saioa ixten eta berriz hasten.",
+ "couldnt_create_private_message": "Ezin izan da mezu pribatu hori sortu.",
+ "no_private_message_edit_allowed": "Ezin duzu mezu pribaturik editatu.",
+ "couldnt_update_private_message": "Ezin izan da mezu pribatu hori eguneratu.",
+ "emoji_picker": "Emoji hautagailua",
"invalid_username": "Erabiltzaile-izen baliogabea.",
"what_is": "Zer da"
}