Merge pull request #176 from krawieck/l10n
This commit is contained in:
commit
22729dc2e2
|
@ -6,6 +6,14 @@
|
|||
|
||||
From issues to wikis: everything is on [GitHub](https://github.com/krawieck/lemmur)
|
||||
|
||||
## Linting / Formatting
|
||||
|
||||
Everything is formatted with `dartfmt` (no flags) and linted with `dartanalyzer` ([see rules](analysis_options.yaml)). Both are enforced by the CI.
|
||||
|
||||
## Translations
|
||||
|
||||
<!-- TODO -->
|
||||
|
||||
## Architecture
|
||||
|
||||
Lemmur is written in Dart using [Flutter](https://flutter.dev/docs). To communicate with Lemmy instances [lemmy_api_client](https://github.com/krawieck/lemmy_api_client) is used.
|
||||
|
@ -19,6 +27,7 @@ Lemmur is written in Dart using [Flutter](https://flutter.dev/docs). To communic
|
|||
(relative to `lib/`)
|
||||
|
||||
- `hooks/`: reusable state hooks
|
||||
- `l10n/`: files with localized strings and localizations tools
|
||||
- `pages/`: fullscreen pages that you navigate to
|
||||
- `stores/`: global stores
|
||||
- `util/`: utilities
|
||||
|
@ -30,6 +39,12 @@ Lemmur is written in Dart using [Flutter](https://flutter.dev/docs). To communic
|
|||
- Be aware that Lemmur supports arbitrary Lemmy instances, don't hardcode instance urls
|
||||
- Remember that a user is not obligated to be logged in, contributed widgets should handle this case
|
||||
|
||||
## Linting / Formatting
|
||||
### For React developers
|
||||
|
||||
Everything is formatted with `dartfmt` (no flags) and linted with `dartanalyzer` ([see rules](analysis_options.yaml)). Both are enforced by the CI.
|
||||
If you come from a React background Flutter shouldn't be anything hard to grasp for you.
|
||||
|
||||
- Components are called 'widgets' in flutter
|
||||
- `flutter_hooks` is a React hooks port to flutter. Though you will come to see that `flutter_hooks` are not as powerful
|
||||
- There is no CSS. You compose your layout with other widgets and style them by passing properties to them
|
||||
- There are no functional components, everything has to be a class
|
||||
- Creating wrapping widgets is not as nice as in React, there is no `{ ...props }`. In flutter you need to pass each argument one by one
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
arb-dir: lib/l10n
|
||||
template-arb-file: intl_en.arb
|
||||
output-localization-file: l10n.dart
|
||||
preferred-supported-locales: [en]
|
||||
output-class: L10n
|
||||
untranslated-messages-file: lib/l10n/untranslated.json
|
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
"@@locale": "ar",
|
||||
"settings": "الإعدادات",
|
||||
"password": "الكلمة السرية",
|
||||
"email_or_username": "عنوان البريد أو اسم المستخدم",
|
||||
"posts": "منشورات",
|
||||
"comments": "التعليقات",
|
||||
"modlog": "تأريخ الإشراف",
|
||||
"community": "المجتمع",
|
||||
"url": "الرابط",
|
||||
"title": "العنوان",
|
||||
"body": "المحتوى",
|
||||
"nsfw": "محتوى حساس",
|
||||
"post": "منشور",
|
||||
"save": "حفظ",
|
||||
"subscribed": "مُتابِعون",
|
||||
"all": "الكل",
|
||||
"replies": "الإجابات",
|
||||
"mentions": "الإشارات",
|
||||
"to": "إلى",
|
||||
"deleted_by_creator": "حذفه صاحبه",
|
||||
"more": "المزيد",
|
||||
"mark_as_read": "تعيين كمقروء",
|
||||
"mark_as_unread": "تعيين كغير مقروء بعد",
|
||||
"reply": "رد",
|
||||
"edit": "تعديل",
|
||||
"delete": "حذف",
|
||||
"restore": "استعادة",
|
||||
"yes": "نعم",
|
||||
"no": "لا",
|
||||
"avatar": "الصورة الرمزية",
|
||||
"email": "البريد الإلكتروني",
|
||||
"matrix_user": "مستخدم ماتريكس",
|
||||
"sort_type": "ترتيب حسب",
|
||||
"type": "النوع",
|
||||
"show_nsfw": "إظهار المحتوى الحساس",
|
||||
"send_notifications_to_email": "إرسال الإشعارات عبر البريد الإلكتروني",
|
||||
"delete_account": "حذف الحساب",
|
||||
"saved": "تم حفظه",
|
||||
"communities": "المجتمعات",
|
||||
"users": "المستخدِمون",
|
||||
"theme": "المظهر",
|
||||
"language": "اللغة",
|
||||
"hot": "المتداولة",
|
||||
"new_": "جديد",
|
||||
"old": "قديم",
|
||||
"top": "المتداولة",
|
||||
"chat": "دردشة",
|
||||
"admin": "مدير",
|
||||
"by": "مِن",
|
||||
"not_an_admin": "لستَ مديرا.",
|
||||
"not_logged_in": "لستَ متصلا.",
|
||||
"site_ban": "لقد تم طردك مِن هذا الموقع",
|
||||
"community_ban": "لقد تم طردك مِن هذا المجتمع.",
|
||||
"downvotes_disabled": "تم تعطيل التصويتات السلبية",
|
||||
"locked": "محظور",
|
||||
"couldnt_create_comment": "تعذّر إنشاءالتعليق.",
|
||||
"password_incorrect": "الكلمة السرية خاطئة.",
|
||||
"registration_closed": "إنشاء الحسابات معطل",
|
||||
"passwords_dont_match": "الكلمات السرية غير متطابقة.",
|
||||
"email_already_exists": "عنوان البريد الإلكتروني هذا موجود بالفعل.",
|
||||
"user_already_exists": "هذا المستخدِم موجود بالفعل.",
|
||||
"unsubscribe": "إلغاء الإشتراك",
|
||||
"subscribe": "اتبع",
|
||||
"messages": "لرسائل",
|
||||
"banned_users": "المستخدمون المحظورون",
|
||||
"new_password": "لكلمة السرية الجديدة",
|
||||
"verify_password": "تأكيد الكلمة السرية",
|
||||
"old_password": "الكلمة السرية القديمة",
|
||||
"show_avatars": "إظهار الصور الرمزية",
|
||||
"search": "البحث",
|
||||
"send_message": "أرسل الرسالة",
|
||||
"top_day": "المتداول",
|
||||
"top_week": "المتداول هذا",
|
||||
"top_month": "المتداول هذا",
|
||||
"top_year": "المتداول هذه",
|
||||
"top_all": "المتداولة",
|
||||
"most_comments": "الأكثر",
|
||||
"new_comments": "الأحدث",
|
||||
"active": "النشط"
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"@@locale": "ca",
|
||||
"settings": "Configuració",
|
||||
"password": "Contrasenya",
|
||||
"email_or_username": "Adreça electrònica o usuari",
|
||||
"posts": "Publicacions",
|
||||
"comments": "Comentaris",
|
||||
"modlog": "Historial de moderació",
|
||||
"community": "Comunitat",
|
||||
"url": "URL",
|
||||
"title": "Títol",
|
||||
"body": "Cos",
|
||||
"nsfw": "Per a adults",
|
||||
"post": "publicar",
|
||||
"save": "desa",
|
||||
"subscribed": "Subscrit",
|
||||
"local": "Local",
|
||||
"all": "Tot",
|
||||
"replies": "Respostes",
|
||||
"mentions": "Mencions",
|
||||
"from": "des de",
|
||||
"to": "a",
|
||||
"deleted_by_creator": "suprimit pel creador",
|
||||
"more": "més",
|
||||
"mark_as_read": "marca com a llegit",
|
||||
"mark_as_unread": "marca com a no llegit",
|
||||
"reply": "respon",
|
||||
"edit": "edita",
|
||||
"delete": "suprimeix",
|
||||
"restore": "restaura",
|
||||
"yes": "sí",
|
||||
"no": "no",
|
||||
"avatar": "Avatar",
|
||||
"banner": "Capçalera",
|
||||
"display_name": "Nom a mostrar",
|
||||
"bio": "Biografia",
|
||||
"email": "Correu electrònic",
|
||||
"matrix_user": "Usuari del Matrix",
|
||||
"sort_type": "Tipus d’ordenació",
|
||||
"type": "Tipus",
|
||||
"show_nsfw": "Mostra el contingut per a adults",
|
||||
"send_notifications_to_email": "Envia notificacions al correu",
|
||||
"delete_account": "Suprimeix el compte",
|
||||
"saved": "Desat",
|
||||
"communities": "Comunitats",
|
||||
"users": "Usuaris",
|
||||
"theme": "Tema",
|
||||
"language": "Llengua",
|
||||
"hot": "Popular",
|
||||
"new_": "Nou",
|
||||
"old": "Antic",
|
||||
"top": "Millor",
|
||||
"chat": "Xat",
|
||||
"admin": "administrador",
|
||||
"by": "per",
|
||||
"not_an_admin": "No és un administrador.",
|
||||
"couldnt_find_post": "No s’ha pogut trobar l’apunt.",
|
||||
"not_logged_in": "No heu iniciat una sessió.",
|
||||
"site_ban": "Us han expulsat del lloc",
|
||||
"community_ban": "Us han expulsat d’aquesta comunitat.",
|
||||
"downvotes_disabled": "Vots negatius inhabilitats",
|
||||
"invalid_url": "URL invàlida.",
|
||||
"locked": "blocat",
|
||||
"couldnt_create_comment": "No s’ha pogut crear el comentari.",
|
||||
"couldnt_like_comment": "No s’ha pogut donar «m’agrada» al comentari.",
|
||||
"couldnt_update_comment": "No s’ha pogut actualitzar el comentari.",
|
||||
"no_comment_edit_allowed": "No teniu permisos per a editar el comentari.",
|
||||
"couldnt_save_comment": "No s’ha pogut desar el comentari.",
|
||||
"couldnt_get_comments": "No s’han pogut recuperar els comentaris.",
|
||||
"report_reason_required": "Motiu de l'informe necessari.",
|
||||
"report_too_long": "Informe massa llarg.",
|
||||
"couldnt_create_report": "No s'ha pogut crear l'informe.",
|
||||
"couldnt_resolve_report": "No s'ha pogut resoldre l'informe.",
|
||||
"invalid_post_title": "Títol de la publicació invàlid",
|
||||
"couldnt_create_post": "No s’ha pogut crear l’apunt.",
|
||||
"couldnt_like_post": "No s’ha pogut donar «m’agrada» a l’apunt.",
|
||||
"couldnt_find_community": "No s’ha pogut trobar la comunitat.",
|
||||
"couldnt_get_posts": "No s’han pogut recuperar els apunts",
|
||||
"no_post_edit_allowed": "No teniu permisos per a editar l’apunt.",
|
||||
"couldnt_save_post": "No s’ha pogut desar l’apunt.",
|
||||
"site_already_exists": "El lloc ja existeix.",
|
||||
"couldnt_update_site": "No s’ha pogut actualitzar el lloc.",
|
||||
"invalid_community_name": "El nom no és vàlid.",
|
||||
"community_already_exists": "Aquesta comunitat ja existeix.",
|
||||
"community_moderator_already_exists": "Aquest moderador de la comunitat ja existeix.",
|
||||
"community_follower_already_exists": "Aquest seguidor de la comunitat ja existeix.",
|
||||
"not_a_moderator": "No ets un moderador.",
|
||||
"couldnt_update_community": "No s’ha pogut actualitzar la comunitat.",
|
||||
"no_community_edit_allowed": "No teniu permisos per a editar la comunitat.",
|
||||
"system_err_login": "Error del sistema. Intenti tancar sessió i ingressar de nou.",
|
||||
"community_user_already_banned": "Aquest usuari de la comunitat ja fou expulsat.",
|
||||
"couldnt_find_that_username_or_email": "No s’ha pogut trobar aquest nom de usuari o adreça electrònica.",
|
||||
"password_incorrect": "Contrasenya incorrecta.",
|
||||
"registration_closed": "S’han tancat els registres",
|
||||
"invalid_password": "Contrasenya no vàlida. La contrasenya ha de tenir <= 60 caràcters.",
|
||||
"passwords_dont_match": "Les contrasenyes no coincideixen.",
|
||||
"captcha_incorrect": "Captcha incorrecte.",
|
||||
"invalid_username": "El nom d’usuari no és vàlid.",
|
||||
"bio_length_overflow": "La biografia d'usuari no pot excedir els 300 caràcters.",
|
||||
"couldnt_update_user": "No s’ha pogut actualitzar l’usuari.",
|
||||
"couldnt_update_private_message": "No s’ha pogut actualitzar el missatge privat.",
|
||||
"couldnt_update_post": "No s’ha pogut actualitzar l’apunt",
|
||||
"couldnt_create_private_message": "No s’ha pogut crear el missatge privat.",
|
||||
"no_private_message_edit_allowed": "No teniu permisos per a editar el missatge privat.",
|
||||
"post_title_too_long": "El títol de l’apunt és massa llarg.",
|
||||
"email_already_exists": "L’adreça ja és en ús.",
|
||||
"user_already_exists": "L’usuari ja existeix.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} usuari en línia} other{{count} usuaris en línia}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} comentari} other{{count} comentaris}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Publicació} other{{count} Publicacions}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} subscriptor} other{{count} subscriptors}}",
|
||||
"number_of_users": "{count,plural, =1{{count} usuari} other{{count} usuaris}}",
|
||||
"unsubscribe": "Dóna’t de baixa",
|
||||
"subscribe": "Subscriu-t’hi",
|
||||
"messages": "Missatges",
|
||||
"banned_users": "Usuaris expulsats",
|
||||
"delete_account_confirm": "Atenció: aquesta acció suprimirà permanentment la vostra informació. Introduïu la vostra contrasenya per a confirmar.",
|
||||
"new_password": "Contrasenya nova",
|
||||
"verify_password": "Verifica la contrasenya",
|
||||
"old_password": "Contrasenya antiga",
|
||||
"show_avatars": "Mostra els avatars",
|
||||
"search": "Cerca",
|
||||
"send_message": "Envia el missatge",
|
||||
"top_day": "El millor del dia",
|
||||
"top_week": "El millor de la setmana",
|
||||
"top_month": "El millor del mes",
|
||||
"top_year": "El millor de l'any",
|
||||
"top_all": "El millor de tots els temps",
|
||||
"most_comments": "Més comentaris",
|
||||
"new_comments": "Comentaris nous",
|
||||
"active": "Actiu"
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
{
|
||||
"@@locale": "da",
|
||||
"settings": "Indstillinger",
|
||||
"password": "Kodeord",
|
||||
"email_or_username": "Email eller Brugernavn",
|
||||
"posts": "Indlæg",
|
||||
"comments": "Kommentarer",
|
||||
"modlog": "Moderator log",
|
||||
"community": "Forum",
|
||||
"url": "URL",
|
||||
"title": "Titel",
|
||||
"body": "Korpus",
|
||||
"nsfw": "NSFW",
|
||||
"post": "indlæg",
|
||||
"save": "gem",
|
||||
"subscribed": "Abboneret",
|
||||
"local": "Lokal",
|
||||
"all": "Alle",
|
||||
"replies": "Svar",
|
||||
"mentions": "Nævnt dig",
|
||||
"from": "fra",
|
||||
"to": "til",
|
||||
"deleted_by_creator": "slettet af forfatter",
|
||||
"more": "mere",
|
||||
"mark_as_read": "marker som læst",
|
||||
"mark_as_unread": "marker som ulæst",
|
||||
"reply": "svar",
|
||||
"edit": "ret",
|
||||
"delete": "slet",
|
||||
"restore": "genskab",
|
||||
"yes": "ja",
|
||||
"no": "nej",
|
||||
"avatar": "Avatar",
|
||||
"banner": "Banner",
|
||||
"display_name": "Visnings navn",
|
||||
"bio": "Beskrivelse",
|
||||
"email": "Email",
|
||||
"matrix_user": "Matrix Bruger",
|
||||
"sort_type": "Sortering",
|
||||
"type": "Type",
|
||||
"show_nsfw": "Vis NSFW indhold",
|
||||
"send_notifications_to_email": "Send notifikationer til email",
|
||||
"delete_account": "Slet Konto",
|
||||
"saved": "Gemt",
|
||||
"communities": "Forummer",
|
||||
"users": "Brugere",
|
||||
"theme": "Tema",
|
||||
"language": "Sprog",
|
||||
"hot": "Hot",
|
||||
"new_": "New",
|
||||
"old": "Old",
|
||||
"top": "Top",
|
||||
"chat": "Chat",
|
||||
"admin": "administrator",
|
||||
"by": "af",
|
||||
"not_an_admin": "Ej en administrator.",
|
||||
"couldnt_find_post": "Kunne ikke finde indlæg.",
|
||||
"not_logged_in": "Ikke logget ind.",
|
||||
"site_ban": "Du er udelukket fra denne site",
|
||||
"community_ban": "Du er blevet udelukket fra dette forum.",
|
||||
"downvotes_disabled": "Nedstem deaktiveret",
|
||||
"invalid_url": "Ugyldig URL.",
|
||||
"locked": "låst",
|
||||
"couldnt_create_comment": "Kunne ikke oprette kommentar.",
|
||||
"couldnt_like_comment": "Kunne ikke like kommentar.",
|
||||
"couldnt_update_comment": "Kunne ikke opdatere kommentar.",
|
||||
"no_comment_edit_allowed": "Ej tilladt at ændre kommentar.",
|
||||
"couldnt_save_comment": "Kunne ikke gemme kommentar.",
|
||||
"couldnt_get_comments": "Kunne ikke hente kommentarer.",
|
||||
"report_reason_required": "Angiv grund påkrævet.",
|
||||
"report_too_long": "Angivelsen er for lang.",
|
||||
"couldnt_create_report": "Kunne ikke oprette angivelse.",
|
||||
"couldnt_resolve_report": "Kunne ikke løse angivelse.",
|
||||
"invalid_post_title": "Ugyldig indlægstitel",
|
||||
"couldnt_create_post": "Kunne ikke oprette indlæg.",
|
||||
"couldnt_like_post": "Kunne ikke like indlæg.",
|
||||
"couldnt_find_community": "Kunne ikke finde forum.",
|
||||
"couldnt_get_posts": "Kunne ikke hente indlæg",
|
||||
"no_post_edit_allowed": "Ej tilladt at ændre indlæg.",
|
||||
"couldnt_save_post": "Kunne ikke gemme indlæg.",
|
||||
"site_already_exists": "Site findes allerede.",
|
||||
"couldnt_update_site": "Kunne ikke opdatere site.",
|
||||
"invalid_community_name": "Ugyldigt navn.",
|
||||
"community_already_exists": "Forum findes allerede.",
|
||||
"community_moderator_already_exists": "Forum moderator findes allerede.",
|
||||
"community_follower_already_exists": "Forum abonnent findes allerede.",
|
||||
"not_a_moderator": "Ej en moderator.",
|
||||
"couldnt_update_community": "Kunne ikke opdatere forum.",
|
||||
"no_community_edit_allowed": "Ej tilladt at ændre forum.",
|
||||
"system_err_login": "System fejl. Prøv at logge ud- og ind igen.",
|
||||
"community_user_already_banned": "Forum bruger allerede udelukket.",
|
||||
"couldnt_find_that_username_or_email": "Kunne ikke finde bruger eller email.",
|
||||
"password_incorrect": "Kodeord forkert.",
|
||||
"registration_closed": "Tilmelding lukket",
|
||||
"invalid_password": "Ugyldigt kodeord. Kodeord skal have <= 60 tegn.",
|
||||
"passwords_dont_match": "Kodeord matcher ikke.",
|
||||
"captcha_incorrect": "Captcha forkert.",
|
||||
"invalid_username": "Fejl i brugernavn.",
|
||||
"bio_length_overflow": "Brugerbeskrivelse skal være mindre end 300 tegn.",
|
||||
"couldnt_update_user": "Kunne ikke opdatere brugeren.",
|
||||
"couldnt_update_private_message": "Kunne ej opdatere privat besked.",
|
||||
"couldnt_update_post": "Kunne ikke opdatere indlæg",
|
||||
"couldnt_create_private_message": "Kunne ikke oprette privat besked.",
|
||||
"no_private_message_edit_allowed": "Ulovligt at ændre i privat besked.",
|
||||
"post_title_too_long": "Indlægstitel for lang.",
|
||||
"email_already_exists": "Emailen findes allerede.",
|
||||
"user_already_exists": "Brugeren findes allerede.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} Bruger Online} other{{count} Brugere Online}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} Kommentar} other{{count} Kommentarer}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Indlæg} other{{count} Indlæg}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} Abonnent} other{{count} Abonnenter}}",
|
||||
"number_of_users": "{count,plural, =1{{count} Bruger} other{{count} Brugere}}",
|
||||
"unsubscribe": "Afmeld abbonement",
|
||||
"subscribe": "Abboner",
|
||||
"messages": "Beskeder",
|
||||
"banned_users": "Udelukkede Brugere",
|
||||
"delete_account_confirm": "Advarsel: Dette vil slette alle dine data. Indtast adgangskode for at bekræfte.",
|
||||
"new_password": "Nyt Kodeord",
|
||||
"verify_password": "Check Kodeord",
|
||||
"old_password": "Tidligere Kodeord",
|
||||
"show_avatars": "Vis Avatarer",
|
||||
"search": "Søg",
|
||||
"send_message": "Send Besked",
|
||||
"top_day": "Top dag",
|
||||
"active": "Active"
|
||||
}
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"@@locale": "de",
|
||||
"settings": "Einstellungen",
|
||||
"password": "Passwort",
|
||||
"email_or_username": "E-mail oder Username",
|
||||
"posts": "Beiträge",
|
||||
"comments": "Kommentare",
|
||||
"modlog": "Moderations-Log",
|
||||
"community": "Community",
|
||||
"url": "URL",
|
||||
"title": "Titel",
|
||||
"body": "Text",
|
||||
"nsfw": "NSFW",
|
||||
"post": "Beitrag",
|
||||
"save": "speichern",
|
||||
"subscribed": "Abonniert",
|
||||
"local": "Lokal",
|
||||
"all": "Alle",
|
||||
"replies": "Antworten",
|
||||
"mentions": "Erwähnung",
|
||||
"from": "von",
|
||||
"to": "in",
|
||||
"deleted_by_creator": "vom Ersteller gelöscht",
|
||||
"more": "mehr",
|
||||
"mark_as_read": "als gelesen markieren",
|
||||
"mark_as_unread": "als ungelesen markieren",
|
||||
"reply": "antworten",
|
||||
"edit": "editieren",
|
||||
"delete": "löschen",
|
||||
"restore": "wiederherstellen",
|
||||
"yes": "Ja",
|
||||
"no": "Nein",
|
||||
"avatar": "Avatar",
|
||||
"banner": "Banner",
|
||||
"display_name": "Anzeigename",
|
||||
"bio": "Biographie",
|
||||
"email": "E-Mail",
|
||||
"matrix_user": "Matrix Benutzer",
|
||||
"sort_type": "Sortieren nach",
|
||||
"type": "Typ",
|
||||
"show_nsfw": "NSFW-Inhalte anzeigen",
|
||||
"send_notifications_to_email": "Sende Benachrichtigungen per Email",
|
||||
"delete_account": "Konto löschen",
|
||||
"saved": "Gespeichert",
|
||||
"communities": "Communitys",
|
||||
"users": "Benutzer",
|
||||
"theme": "Aussehen",
|
||||
"language": "Sprache",
|
||||
"hot": "Heiß",
|
||||
"new_": "Neu",
|
||||
"old": "Alt",
|
||||
"top": "Top",
|
||||
"chat": "Chat",
|
||||
"admin": "Administrator",
|
||||
"by": "von",
|
||||
"not_an_admin": "Kein Administrator.",
|
||||
"couldnt_find_post": "Konnte Beitrag nicht finden.",
|
||||
"not_logged_in": "Nicht eingeloggt.",
|
||||
"site_ban": "Du wurdest von dieser Seite gebannt",
|
||||
"community_ban": "Du wurdest von dieser Community gebannt.",
|
||||
"downvotes_disabled": "Downvotes deaktiviert",
|
||||
"invalid_url": "Ungültige URL.",
|
||||
"locked": "gesperrt",
|
||||
"couldnt_create_comment": "Konnte Kommentar nicht anlegen.",
|
||||
"couldnt_like_comment": "Konnte nicht liken.",
|
||||
"couldnt_update_comment": "Konnte Kommentar nicht aktualisieren.",
|
||||
"no_comment_edit_allowed": "Keine Erlaubnis Kommentar zu editieren.",
|
||||
"couldnt_save_comment": "Konnte Kommentar nicht speichern.",
|
||||
"couldnt_get_comments": "Konnte Kommentare nicht laden.",
|
||||
"invalid_post_title": "Ungültiger Post Titel",
|
||||
"couldnt_create_post": "Konnte Beitrag nicht anlegen.",
|
||||
"couldnt_like_post": "Konnte Beitrag nicht liken.",
|
||||
"couldnt_find_community": "Konnte Community nicht finden.",
|
||||
"couldnt_get_posts": "Konnte Beiträge nicht holen",
|
||||
"no_post_edit_allowed": "Keine Erlaubnis Beitrag zu editieren.",
|
||||
"couldnt_save_post": "Konnte Beitrag nicht speichern.",
|
||||
"site_already_exists": "Seite existiert bereits.",
|
||||
"couldnt_update_site": "Konnte Seite nicht aktualisieren.",
|
||||
"invalid_community_name": "Ungültiger Name.",
|
||||
"community_already_exists": "Die Community existiert bereits.",
|
||||
"community_moderator_already_exists": "Community-Moderator*in existiert bereits.",
|
||||
"community_follower_already_exists": "Community-Abonnent*in existiert bereits.",
|
||||
"not_a_moderator": "Kein Moderator.",
|
||||
"couldnt_update_community": "Konnte die Community nicht aktualisieren.",
|
||||
"no_community_edit_allowed": "Keine Erlaubnis, die Community zu editieren.",
|
||||
"system_err_login": "Systemfehler. Versuche dich aus- und wieder einzuloggen.",
|
||||
"community_user_already_banned": "Der*die Community-Benutzer*in ist schon gebannt.",
|
||||
"couldnt_find_that_username_or_email": "Konnte Username oder E-Mail nicht finden.",
|
||||
"password_incorrect": "Passwort falsch.",
|
||||
"registration_closed": "Registrierung geschlossen",
|
||||
"invalid_password": "Ungültiges Passwort. Das Passwort muss <= 60 Zeichen enthalten.",
|
||||
"passwords_dont_match": "Passwörter stimmen nicht überein.",
|
||||
"captcha_incorrect": "Das Captcha ist inkorrekt.",
|
||||
"invalid_username": "Ungültiger Benutzername.",
|
||||
"bio_length_overflow": "Die Benutzerbiographie darf nicht länger als 300 Zeichen sein.",
|
||||
"couldnt_update_user": "Konnte Nutzer nicht aktualisieren.",
|
||||
"couldnt_update_private_message": "Konnte Privatnachricht nicht aktualisieren.",
|
||||
"couldnt_update_post": "Konnte Beitrag nicht aktualisieren",
|
||||
"couldnt_create_private_message": "Konnte Privatnachricht nicht erstelllen.",
|
||||
"no_private_message_edit_allowed": "Editieren der Privatnachricht nicht erlaubt.",
|
||||
"post_title_too_long": "Posttitel zu lang.",
|
||||
"email_already_exists": "Email existiert bereits.",
|
||||
"user_already_exists": "Nutzer existiert bereits.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} Benutzer online} other{{count} Benutzer*innen online}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} Kommentar} other{{count} Kommentare}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Beitrag} other{{count} Beiträge}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} Abonnent} other{{count} Abonnent*innen}}",
|
||||
"number_of_users": "{count,plural, =1{{count} Benutzer} other{{count} Benutzer*innen}}",
|
||||
"unsubscribe": "Deabonnieren",
|
||||
"subscribe": "Abonnieren",
|
||||
"messages": "Nachrichten",
|
||||
"banned_users": "Gebannte Benutzer",
|
||||
"delete_account_confirm": "Achtung: Dadurch werden alle Ihre Daten dauerhaft gelöscht. Geben Sie zur Bestätigung Ihr Passwort ein.",
|
||||
"new_password": "Neues Passwort",
|
||||
"verify_password": "Passwort überprüfen",
|
||||
"old_password": "Letztes Passwort",
|
||||
"show_avatars": "Avatare anzeigen",
|
||||
"search": "Suchen",
|
||||
"send_message": "Nachricht absenden",
|
||||
"top_day": "Top täglich",
|
||||
"active": "Aktiv"
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"@@locale": "el",
|
||||
"settings": "Ρυθμίσεις",
|
||||
"password": "Κωδικός",
|
||||
"email_or_username": "Διεύθυνση ηλεκτρονικού ταχυδρομείου ή όνομα χρήστη",
|
||||
"posts": "Δημοσιεύσεις",
|
||||
"comments": "Σχόλια",
|
||||
"modlog": "Ιστορικό συντονισμού",
|
||||
"community": "Κοινότητα",
|
||||
"url": "URL",
|
||||
"title": "Επικεφαλίδα",
|
||||
"body": "Κορμός",
|
||||
"nsfw": "Ακατάλληλο για ανηλίκους",
|
||||
"post": "δημοσίευση",
|
||||
"save": "αποθήκευση",
|
||||
"subscribed": "Συνδρομές",
|
||||
"local": "Τοπικά",
|
||||
"all": "Όλα",
|
||||
"replies": "Απαντήσεις",
|
||||
"mentions": "Αναφορές",
|
||||
"from": "από",
|
||||
"to": "προς",
|
||||
"deleted_by_creator": "διαγράφηκε από τον δημιουργό",
|
||||
"more": "περισσότερα",
|
||||
"mark_as_read": "επισήμανση ως διαβασμένο",
|
||||
"mark_as_unread": "επισήμανση ως μη διαβασμένο",
|
||||
"reply": "απάντηση",
|
||||
"edit": "επεξεργασία",
|
||||
"delete": "διαγραφή",
|
||||
"restore": "επαναφορά",
|
||||
"yes": "ναι",
|
||||
"no": "όχι",
|
||||
"avatar": "Άβαταρ",
|
||||
"banner": "Μπάνερ",
|
||||
"display_name": "Προβαλλόμενο όνομα",
|
||||
"bio": "Βιογραφικό",
|
||||
"email": "Email",
|
||||
"matrix_user": "Χρήστης Matrix",
|
||||
"sort_type": "Ταξινόμηση κατά",
|
||||
"type": "Είδος",
|
||||
"show_nsfw": "Προβολή περιεχομένου ακατάλληλου για ανηλίκους",
|
||||
"send_notifications_to_email": "Αποστολή ειδοποιήσεων στη διεύθυνση ηλεκτρονικού ταχυδρομείου",
|
||||
"delete_account": "Διαγραφή λογαριασμού",
|
||||
"saved": "Αποθηκευμένα",
|
||||
"communities": "Κοινότητες",
|
||||
"users": "Χρήστες",
|
||||
"theme": "Θέμα",
|
||||
"language": "Γλώσσα",
|
||||
"hot": "Δημοφιλία",
|
||||
"new_": "Φρεσκάδα",
|
||||
"old": "Παλιά",
|
||||
"top": "Κορυφαία",
|
||||
"chat": "Συνομιλία",
|
||||
"admin": "διαχειριστής",
|
||||
"by": "από",
|
||||
"not_an_admin": "Ο χρήστης δεν είναι διαχειριστής.",
|
||||
"couldnt_find_post": "Δεν μπόρεσε να βρεθεί η δημοσίευση.",
|
||||
"not_logged_in": "Αποσυνδεδέμενος.",
|
||||
"site_ban": "Έχετε αποβληθεί από τον ιστότοπο",
|
||||
"community_ban": "Έχετε αποβληθεί από αυτή την κοινότητα.",
|
||||
"downvotes_disabled": "Αρνητικές ψήφοι απενεργοποιημένες",
|
||||
"invalid_url": "Μη έγκυρο URL.",
|
||||
"locked": "κλειδωμένο",
|
||||
"couldnt_create_comment": "Αδυναμία δημιουργίας σχόλιου.",
|
||||
"couldnt_like_comment": "Δεν μπόρεσε να ψηφισθεί θετικά το σχόλιο.",
|
||||
"couldnt_update_comment": "Δεν μπόρεσε να ενημερωθεί το σχόλιο.",
|
||||
"no_comment_edit_allowed": "Δεν επιτρέπεται η επεξεργασία του σχολίου.",
|
||||
"couldnt_save_comment": "Δεν μπόρεσε να αποθηκευτεί το σχόλιο.",
|
||||
"couldnt_get_comments": "Δεν μπόρεσαν να φορτώσουν τα σχόλια.",
|
||||
"report_reason_required": "Απαιτείται λόγος αναφοράς.",
|
||||
"report_too_long": "Η αναφορά είναι υπερβολικά μεγάλη.",
|
||||
"couldnt_create_report": "Αδυναμία δημιουργίας αναφοράς.",
|
||||
"couldnt_resolve_report": "Αδυναμία επίλυσης αναφοράς.",
|
||||
"invalid_post_title": "Μη έγκυρη επικεφαλίδα δημοσίευσης",
|
||||
"couldnt_create_post": "Δεν μπόρεσε να δημιουργηθεί η δημοσίευση.",
|
||||
"couldnt_like_post": "Δεν μπόρεσε να ψηφισθεί θετικά η δημοσίευση.",
|
||||
"couldnt_find_community": "Δεν μπόρεσε να βρεθεί η κοινότητα.",
|
||||
"couldnt_get_posts": "Αδυναμία εύρεσης δημοσιεύσων",
|
||||
"no_post_edit_allowed": "Δεν επιτρέπεται η επεξεργασία της δημοσίευσης.",
|
||||
"couldnt_save_post": "Δεν μπόρεσε να αποθηκευτεί η δημοσίευση.",
|
||||
"site_already_exists": "Ο ιστότοπος υπάρχει ήδη.",
|
||||
"couldnt_update_site": "Αδυναμία ενημέρωσης ιστότοπου.",
|
||||
"invalid_community_name": "Άκυρο όνομα.",
|
||||
"community_already_exists": "Η κοινότητα υπάρχει ήδη.",
|
||||
"community_moderator_already_exists": "Ο χρήστης είναι ήδη συντονιστής της κοινότητας.",
|
||||
"community_follower_already_exists": "Ο χρήστης είναι ήδη εγγεγραμμένος στην κοινότητα.",
|
||||
"not_a_moderator": "Δεν είναι συντονιστής.",
|
||||
"couldnt_update_community": "Δεν μπόρεσε να ενημερωθεί η κοινότητα.",
|
||||
"no_community_edit_allowed": "Δεν επιτρέπεται η επεξεργασία της κοινότητας.",
|
||||
"system_err_login": "Σφάλμα στο σύστημα. Προσπαθήστε να αποσυνδεθείτε και να συνδεθείτε ξανά.",
|
||||
"community_user_already_banned": "Ο χρήστης έχει ήδη αποβληθεί από την κοινότητα.",
|
||||
"couldnt_find_that_username_or_email": "Αδυναμία εύρεσης χρήστη ή διεύθυνσης ηλεκτρονικού ταχυδρομείου.",
|
||||
"password_incorrect": "Λάθος κωδικός.",
|
||||
"registration_closed": "Εγγραφή κλειστή",
|
||||
"invalid_password": "Άκυρος κωδικός. Ο κωδικός πρέπει να είναι <= 60 χαρακτήρες.",
|
||||
"passwords_dont_match": "Οι κωδικοί δεν ταιριάζουν.",
|
||||
"captcha_incorrect": "Εσφαλμένο captcha.",
|
||||
"invalid_username": "Λάθος όνομα χρήστη.",
|
||||
"bio_length_overflow": "Το βιογραφικό χρήστη δεν μπορεί να ξεπερνά τους 300 χαρακτήρες.",
|
||||
"couldnt_update_user": "Αδυναμία ενημέρωσης χρήστη.",
|
||||
"couldnt_update_private_message": "Αδυναμία ενημέρωσης προσωπικού μηνύματος.",
|
||||
"couldnt_update_post": "Αδυναμία ενημέρωσης δημοσιεύσης",
|
||||
"couldnt_create_private_message": "Αδυναμία δημιουργίας προσωπικού μηνύματος.",
|
||||
"no_private_message_edit_allowed": "Δεν επιτρέπεται η επεξεργασία του προσωπικού μηνύματος.",
|
||||
"post_title_too_long": "Η επικεφαλίδα της δημοσίευσης είναι υπερβολικά μεγάλη.",
|
||||
"email_already_exists": "Η διεύθυνση ηλεκτρονικού ταχυδρομείου υπάρχει ήδη.",
|
||||
"user_already_exists": "Ο χρήστης υπάρχει ήδη.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} ενεργός χρήστης} other{{count} ενεργοί χρήστες}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} Σχόλιο} other{{count} Σχόλια}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Δημοσίευση} other{{count} Δημοσιεύσεις}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} εγγεγραμμένος} other{{count} εγγεγραμμένοι}}",
|
||||
"number_of_users": "{count,plural, =1{{count} χρήστης} other{{count} χρήστες}}",
|
||||
"unsubscribe": "Απεγγραφή",
|
||||
"subscribe": "Εγγραφή",
|
||||
"messages": "Μηνύματα",
|
||||
"banned_users": "Αποβεβλημένοι χρήστες",
|
||||
"delete_account_confirm": "Προσοχή: αυτό θα διαγράψει όλα τα δεδομένα σας. Είσαγετε τον κωδικό σας για επιβεβαίωση.",
|
||||
"new_password": "Νέος κωδικός",
|
||||
"verify_password": "Επαλήθευση κωδικού",
|
||||
"old_password": "Παλιός κωδικός",
|
||||
"show_avatars": "Εμφάνιση των άβαταρς",
|
||||
"search": "Αναζήτηση",
|
||||
"send_message": "Αποστολή μηνύματος",
|
||||
"top_day": "Κορυφαία σήμερα",
|
||||
"top_week": "Κορυφαία της εβδομάδας",
|
||||
"top_month": "Κορυφαία του μήνα",
|
||||
"top_year": "Κορυφαία φέτος",
|
||||
"top_all": "Κορυφαία από πάντα",
|
||||
"most_comments": "Περισσότερα σχόλια",
|
||||
"new_comments": "Νέα σχόλια",
|
||||
"active": "Δραστηριότητα"
|
||||
}
|
|
@ -0,0 +1,289 @@
|
|||
{
|
||||
"@@locale": "en",
|
||||
"settings": "Settings",
|
||||
"@settings": {},
|
||||
"password": "Password",
|
||||
"@password": {},
|
||||
"email_or_username": "Email or Username",
|
||||
"@email_or_username": {},
|
||||
"posts": "Posts",
|
||||
"@posts": {},
|
||||
"comments": "Comments",
|
||||
"@comments": {},
|
||||
"modlog": "Modlog",
|
||||
"@modlog": {},
|
||||
"community": "Community",
|
||||
"@community": {},
|
||||
"url": "URL",
|
||||
"@url": {},
|
||||
"title": "Title",
|
||||
"@title": {},
|
||||
"body": "Body",
|
||||
"@body": {},
|
||||
"nsfw": "NSFW",
|
||||
"@nsfw": {},
|
||||
"post": "post",
|
||||
"@post": {},
|
||||
"save": "save",
|
||||
"@save": {},
|
||||
"subscribed": "Subscribed",
|
||||
"@subscribed": {},
|
||||
"local": "Local",
|
||||
"@local": {},
|
||||
"all": "All",
|
||||
"@all": {},
|
||||
"replies": "Replies",
|
||||
"@replies": {},
|
||||
"mentions": "Mentions",
|
||||
"@mentions": {},
|
||||
"from": "from",
|
||||
"@from": {},
|
||||
"to": "to",
|
||||
"@to": {},
|
||||
"deleted_by_creator": "deleted by creator",
|
||||
"@deleted_by_creator": {},
|
||||
"more": "more",
|
||||
"@more": {},
|
||||
"mark_as_read": "mark as read",
|
||||
"@mark_as_read": {},
|
||||
"mark_as_unread": "mark as unread",
|
||||
"@mark_as_unread": {},
|
||||
"reply": "reply",
|
||||
"@reply": {},
|
||||
"edit": "edit",
|
||||
"@edit": {},
|
||||
"delete": "delete",
|
||||
"@delete": {},
|
||||
"restore": "restore",
|
||||
"@restore": {},
|
||||
"yes": "yes",
|
||||
"@yes": {},
|
||||
"no": "no",
|
||||
"@no": {},
|
||||
"avatar": "Avatar",
|
||||
"@avatar": {},
|
||||
"banner": "Banner",
|
||||
"@banner": {},
|
||||
"display_name": "Display name",
|
||||
"@display_name": {},
|
||||
"bio": "Bio",
|
||||
"@bio": {},
|
||||
"email": "Email",
|
||||
"@email": {},
|
||||
"matrix_user": "Matrix User",
|
||||
"@matrix_user": {},
|
||||
"sort_type": "Sort type",
|
||||
"@sort_type": {},
|
||||
"type": "Type",
|
||||
"@type": {},
|
||||
"show_nsfw": "Show NSFW content",
|
||||
"@show_nsfw": {},
|
||||
"send_notifications_to_email": "Send notifications to Email",
|
||||
"@send_notifications_to_email": {},
|
||||
"delete_account": "Delete account",
|
||||
"@delete_account": {},
|
||||
"saved": "Saved",
|
||||
"@saved": {},
|
||||
"communities": "Communities",
|
||||
"@communities": {},
|
||||
"users": "Users",
|
||||
"@users": {},
|
||||
"theme": "Theme",
|
||||
"@theme": {},
|
||||
"language": "Language",
|
||||
"@language": {},
|
||||
"hot": "Hot",
|
||||
"@hot": {},
|
||||
"new_": "New",
|
||||
"@new_": {},
|
||||
"old": "Old",
|
||||
"@old": {},
|
||||
"top": "Top",
|
||||
"@top": {},
|
||||
"chat": "Chat",
|
||||
"@chat": {},
|
||||
"admin": "admin",
|
||||
"@admin": {},
|
||||
"by": "by",
|
||||
"@by": {},
|
||||
"not_a_mod_or_admin": "Not a moderator or admin.",
|
||||
"@not_a_mod_or_admin": {},
|
||||
"not_an_admin": "Not an admin.",
|
||||
"@not_an_admin": {},
|
||||
"couldnt_find_post": "Couldn't find post.",
|
||||
"@couldnt_find_post": {},
|
||||
"not_logged_in": "Not logged in.",
|
||||
"@not_logged_in": {},
|
||||
"site_ban": "You have been banned from the site",
|
||||
"@site_ban": {},
|
||||
"community_ban": "You have been banned from this community.",
|
||||
"@community_ban": {},
|
||||
"downvotes_disabled": "Downvotes disabled",
|
||||
"@downvotes_disabled": {},
|
||||
"invalid_url": "Invalid URL.",
|
||||
"@invalid_url": {},
|
||||
"locked": "locked",
|
||||
"@locked": {},
|
||||
"couldnt_create_comment": "Couldn't create comment.",
|
||||
"@couldnt_create_comment": {},
|
||||
"couldnt_like_comment": "Couldn't like comment.",
|
||||
"@couldnt_like_comment": {},
|
||||
"couldnt_update_comment": "Couldn't update comment.",
|
||||
"@couldnt_update_comment": {},
|
||||
"no_comment_edit_allowed": "Not allowed to edit comment.",
|
||||
"@no_comment_edit_allowed": {},
|
||||
"couldnt_save_comment": "Couldn't save comment.",
|
||||
"@couldnt_save_comment": {},
|
||||
"couldnt_get_comments": "Couldn't get comments.",
|
||||
"@couldnt_get_comments": {},
|
||||
"report_reason_required": "Report reason required.",
|
||||
"@report_reason_required": {},
|
||||
"report_too_long": "Report too long.",
|
||||
"@report_too_long": {},
|
||||
"couldnt_create_report": "Couldn't create report.",
|
||||
"@couldnt_create_report": {},
|
||||
"couldnt_resolve_report": "Couldn't resolve report.",
|
||||
"@couldnt_resolve_report": {},
|
||||
"invalid_post_title": "Invalid post title",
|
||||
"@invalid_post_title": {},
|
||||
"couldnt_create_post": "Couldn't create post.",
|
||||
"@couldnt_create_post": {},
|
||||
"couldnt_like_post": "Couldn't like post.",
|
||||
"@couldnt_like_post": {},
|
||||
"couldnt_find_community": "Couldn't find community.",
|
||||
"@couldnt_find_community": {},
|
||||
"couldnt_get_posts": "Couldn't get posts",
|
||||
"@couldnt_get_posts": {},
|
||||
"no_post_edit_allowed": "Not allowed to edit post.",
|
||||
"@no_post_edit_allowed": {},
|
||||
"couldnt_save_post": "Couldn't save post.",
|
||||
"@couldnt_save_post": {},
|
||||
"site_already_exists": "Site already exists.",
|
||||
"@site_already_exists": {},
|
||||
"couldnt_update_site": "Couldn't update site.",
|
||||
"@couldnt_update_site": {},
|
||||
"invalid_community_name": "Invalid name.",
|
||||
"@invalid_community_name": {},
|
||||
"community_already_exists": "Community already exists.",
|
||||
"@community_already_exists": {},
|
||||
"community_moderator_already_exists": "Community moderator already exists.",
|
||||
"@community_moderator_already_exists": {},
|
||||
"community_follower_already_exists": "Community follower already exists.",
|
||||
"@community_follower_already_exists": {},
|
||||
"not_a_moderator": "Not a moderator.",
|
||||
"@not_a_moderator": {},
|
||||
"couldnt_update_community": "Couldn't update Community.",
|
||||
"@couldnt_update_community": {},
|
||||
"no_community_edit_allowed": "Not allowed to edit community.",
|
||||
"@no_community_edit_allowed": {},
|
||||
"system_err_login": "System error. Try logging out and back in.",
|
||||
"@system_err_login": {},
|
||||
"community_user_already_banned": "Community user already banned.",
|
||||
"@community_user_already_banned": {},
|
||||
"couldnt_find_that_username_or_email": "Couldn't find that username or email.",
|
||||
"@couldnt_find_that_username_or_email": {},
|
||||
"password_incorrect": "Password incorrect.",
|
||||
"@password_incorrect": {},
|
||||
"registration_closed": "Registration closed",
|
||||
"@registration_closed": {},
|
||||
"invalid_password": "Invalid password. Password must be <= 60 characters.",
|
||||
"@invalid_password": {},
|
||||
"passwords_dont_match": "Passwords do not match.",
|
||||
"@passwords_dont_match": {},
|
||||
"captcha_incorrect": "Captcha incorrect.",
|
||||
"@captcha_incorrect": {},
|
||||
"invalid_username": "Invalid username.",
|
||||
"@invalid_username": {},
|
||||
"bio_length_overflow": "User bio cannot exceed 300 characters.",
|
||||
"@bio_length_overflow": {},
|
||||
"couldnt_update_user": "Couldn't update user.",
|
||||
"@couldnt_update_user": {},
|
||||
"couldnt_update_private_message": "Couldn't update private message.",
|
||||
"@couldnt_update_private_message": {},
|
||||
"couldnt_update_post": "Couldn't update post",
|
||||
"@couldnt_update_post": {},
|
||||
"couldnt_create_private_message": "Couldn't create private message.",
|
||||
"@couldnt_create_private_message": {},
|
||||
"no_private_message_edit_allowed": "Not allowed to edit private message.",
|
||||
"@no_private_message_edit_allowed": {},
|
||||
"post_title_too_long": "Post title too long.",
|
||||
"@post_title_too_long": {},
|
||||
"email_already_exists": "Email already exists.",
|
||||
"@email_already_exists": {},
|
||||
"user_already_exists": "User already exists.",
|
||||
"@user_already_exists": {},
|
||||
"number_of_users_online": "{count,plural, =1{{count} user online} other{{count} users online}}",
|
||||
"@number_of_users_online": {
|
||||
"placeholders": {
|
||||
"count": {}
|
||||
}
|
||||
},
|
||||
"number_of_comments": "{count,plural, =1{{count} comment} other{{count} comments}}",
|
||||
"@number_of_comments": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int",
|
||||
"format": "compact"
|
||||
}
|
||||
}
|
||||
},
|
||||
"number_of_posts": "{count,plural, =1{{count} post} other{{count} posts}}",
|
||||
"@number_of_posts": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int",
|
||||
"format": "compact"
|
||||
}
|
||||
}
|
||||
},
|
||||
"number_of_subscribers": "{count,plural, =1{{count} subscriber} other{{count} subscribers}}",
|
||||
"@number_of_subscribers": {
|
||||
"placeholders": {
|
||||
"count": {}
|
||||
}
|
||||
},
|
||||
"number_of_users": "{count,plural, =1{{count} user} other{{count} users}}",
|
||||
"@number_of_users": {
|
||||
"placeholders": {
|
||||
"count": {}
|
||||
}
|
||||
},
|
||||
"unsubscribe": "unsubscribe",
|
||||
"@unsubscribe": {},
|
||||
"subscribe": "subscribe",
|
||||
"@subscribe": {},
|
||||
"messages": "Messages",
|
||||
"@messages": {},
|
||||
"banned_users": "Banned users",
|
||||
"@banned_users": {},
|
||||
"delete_account_confirm": "Warning: this will permanently delete all your data. Enter your password to confirm.",
|
||||
"@delete_account_confirm": {},
|
||||
"new_password": "New password",
|
||||
"@new_password": {},
|
||||
"verify_password": "Verify password",
|
||||
"@verify_password": {},
|
||||
"old_password": "Old password",
|
||||
"@old_password": {},
|
||||
"show_avatars": "Show avatars",
|
||||
"@show_avatars": {},
|
||||
"search": "search",
|
||||
"@search": {},
|
||||
"send_message": "Send message",
|
||||
"@send_message": {},
|
||||
"top_day": "Top Day",
|
||||
"@top_day": {},
|
||||
"top_week": "Top Week",
|
||||
"@top_week": {},
|
||||
"top_month": "Top Month",
|
||||
"@top_month": {},
|
||||
"top_year": "Top Year",
|
||||
"@top_year": {},
|
||||
"top_all": "Top All Time",
|
||||
"@top_all": {},
|
||||
"most_comments": "Most Comments",
|
||||
"@most_comments": {},
|
||||
"new_comments": "New Comments",
|
||||
"@new_comments": {},
|
||||
"active": "Active",
|
||||
"@active": {}
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"@@locale": "eo",
|
||||
"settings": "Agordoj",
|
||||
"password": "Pasvorto",
|
||||
"email_or_username": "Retpoŝtadreso aŭ uzantonomo",
|
||||
"posts": "Afiŝoj",
|
||||
"comments": "Komentoj",
|
||||
"modlog": "Protokolo de reguligado",
|
||||
"community": "Komunumo",
|
||||
"url": "URL",
|
||||
"title": "Titolo",
|
||||
"body": "Ĉefparto",
|
||||
"nsfw": "Konsterna",
|
||||
"post": "Afiŝi",
|
||||
"save": "konservi",
|
||||
"subscribed": "Abonita",
|
||||
"local": "Loka",
|
||||
"all": "Ĉiam",
|
||||
"replies": "Respondoj",
|
||||
"mentions": "Mencioj",
|
||||
"from": "de",
|
||||
"to": "al",
|
||||
"deleted_by_creator": "forigita de la kreinto",
|
||||
"more": "pli",
|
||||
"mark_as_read": "marki legita",
|
||||
"mark_as_unread": "marki nelegita",
|
||||
"reply": "respondi",
|
||||
"edit": "redakti",
|
||||
"delete": "forigi",
|
||||
"restore": "revenigi",
|
||||
"yes": "jes",
|
||||
"no": "ne",
|
||||
"avatar": "Profilbildo",
|
||||
"banner": "Standardo",
|
||||
"display_name": "Prezenta nomo",
|
||||
"bio": "Prio",
|
||||
"email": "Retpoŝtadreso",
|
||||
"matrix_user": "Uzanto de Matrix",
|
||||
"sort_type": "Ordigilo",
|
||||
"type": "Tipo",
|
||||
"show_nsfw": "Montri konsternan enhavon",
|
||||
"send_notifications_to_email": "Sendi sciigojn al retpoŝtadreso",
|
||||
"delete_account": "Forigi konton",
|
||||
"saved": "Konservita",
|
||||
"communities": "Komunumoj",
|
||||
"users": "Uzantoj",
|
||||
"theme": "Haŭto",
|
||||
"language": "Lingvo",
|
||||
"hot": "Furoraj",
|
||||
"new_": "Novaj",
|
||||
"old": "Malnovaj",
|
||||
"top": "Supraj",
|
||||
"chat": "Babilo",
|
||||
"admin": "administranto",
|
||||
"by": "de",
|
||||
"not_an_admin": "Ne estas administranto.",
|
||||
"couldnt_find_post": "Ne povis trovi la afiŝon.",
|
||||
"not_logged_in": "Nesalutinta.",
|
||||
"site_ban": "Vi estas forbarita de la retejo",
|
||||
"community_ban": "Vi estas forbarita de la komunumo.",
|
||||
"downvotes_disabled": "Kontraŭvoĉoj malŝaltiĝis",
|
||||
"invalid_url": "Nevalida URL.",
|
||||
"locked": "ŝlosita",
|
||||
"couldnt_create_comment": "Ne povis krei la komenton.",
|
||||
"couldnt_like_comment": "Ne povis ŝati la komenton.",
|
||||
"couldnt_update_comment": "Ne povis ĝisdatigi la komenton.",
|
||||
"no_comment_edit_allowed": "Ne rajtas redakti la komenton.",
|
||||
"couldnt_save_comment": "Ne povis konservi la komenton.",
|
||||
"couldnt_get_comments": "Ne povis akiri la komentojn.",
|
||||
"report_reason_required": "Necesas kialo de raporto.",
|
||||
"report_too_long": "Raporto estas tro longa.",
|
||||
"couldnt_create_report": "Ne povis krei raporton.",
|
||||
"couldnt_resolve_report": "Ne povis trakti raporton.",
|
||||
"invalid_post_title": "Nevalida titolo de afiŝo",
|
||||
"couldnt_create_post": "Ne povis krei la afiŝon.",
|
||||
"couldnt_like_post": "Ne povis ŝati la afiŝon.",
|
||||
"couldnt_find_community": "Ne povis trovi la komunumon.",
|
||||
"couldnt_get_posts": "Ne povis akiri afiŝojn",
|
||||
"no_post_edit_allowed": "Ne rajtas redakti la afiŝon.",
|
||||
"couldnt_save_post": "Ne povis konservi la afiŝon.",
|
||||
"site_already_exists": "Retejo jam ekzistas.",
|
||||
"couldnt_update_site": "Ne povis ĝisdatigi la retejon.",
|
||||
"invalid_community_name": "Nevalida nomo.",
|
||||
"community_already_exists": "Komunumo jam ekzistas.",
|
||||
"community_moderator_already_exists": "Reguligisto de komunumo jam ekzistas.",
|
||||
"community_follower_already_exists": "Abonanto de komunumo jam ekzistas.",
|
||||
"not_a_moderator": "Nereguligisto.",
|
||||
"couldnt_update_community": "Ne povis ĝisdatigi la komunumon.",
|
||||
"no_community_edit_allowed": "Ne rajtas redakti la komunumon.",
|
||||
"system_err_login": "Sistema eraro. Provu adiaŭi kaj resaluti.",
|
||||
"community_user_already_banned": "Uzanto de komunumo jam estas forbarita.",
|
||||
"couldnt_find_that_username_or_email": "Ne povis trovi tiun uzantonomon aŭ retpoŝtadreson.",
|
||||
"password_incorrect": "Pasvorto malĝustas.",
|
||||
"registration_closed": "Registrado malebliĝis",
|
||||
"invalid_password": "Nevalido pasvorto. Pasvorto devas havi ≤ 60 signojn.",
|
||||
"passwords_dont_match": "Pasvortoj ne samas.",
|
||||
"captcha_incorrect": "Neĝuste solvita kontrolo de homeco.",
|
||||
"invalid_username": "Nevalida uzantonomo.",
|
||||
"bio_length_overflow": "Prio de uzanto ne povas havi pli ol 300 signojn.",
|
||||
"couldnt_update_user": "Ne povis ĝisdatigi la uzanton.",
|
||||
"couldnt_update_private_message": "Ne povis ĝisdatigi la privatan mesaĝon.",
|
||||
"couldnt_update_post": "Ne povis ĝisdatigi la afiŝon",
|
||||
"couldnt_create_private_message": "Ne povis krei privatan mesaĝon.",
|
||||
"no_private_message_edit_allowed": "Ne rajtas redakti la privatan mesaĝon.",
|
||||
"post_title_too_long": "Titolo de afiŝo estas tro longa.",
|
||||
"email_already_exists": "Retpoŝtadreso jam ekzistas.",
|
||||
"user_already_exists": "Uzanto jam ekzistas.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} uzanto enreta} other{{count} uzantoj enretaj}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} komento} other{{count} komentoj}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} afiŝo} other{{count} afiŝoj}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} abonanto} other{{count} abonantoj}}",
|
||||
"number_of_users": "{count,plural, =1{{count} uzanto} other{{count} uzantoj}}",
|
||||
"unsubscribe": "Malaboni",
|
||||
"subscribe": "Aboni",
|
||||
"messages": "Mesaĝoj",
|
||||
"banned_users": "Forbaritaj uzantoj",
|
||||
"delete_account_confirm": "Averto: ĉi tio por ĉiam forigos ĉiujn viajn datumojn. Enigu pasvorton por konfirmi.",
|
||||
"new_password": "Nova pasvorto",
|
||||
"verify_password": "Konfirmu vian pasvorton",
|
||||
"old_password": "Malnova pasvorto",
|
||||
"show_avatars": "Montri profilbildojn",
|
||||
"search": "Serĉi",
|
||||
"send_message": "Sendi mesaĝon",
|
||||
"top_day": "Supraj tagaj",
|
||||
"top_week": "Supraj semajnaj",
|
||||
"top_month": "Supraj monataj",
|
||||
"top_year": "Supraj jaraj",
|
||||
"top_all": "Supraj ĉiamaj",
|
||||
"most_comments": "Plej komentitaj",
|
||||
"new_comments": "Nove komentitaj",
|
||||
"active": "Aktiva"
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"@@locale": "es",
|
||||
"settings": "Configuración",
|
||||
"password": "Contraseña",
|
||||
"email_or_username": "Correo o usuario",
|
||||
"posts": "Publicaciones",
|
||||
"comments": "Comentarios",
|
||||
"modlog": "Historial de moderación",
|
||||
"community": "Comunidad",
|
||||
"url": "URL",
|
||||
"title": "Título",
|
||||
"body": "Descripción",
|
||||
"nsfw": "Para adultos",
|
||||
"post": "publicar",
|
||||
"save": "guardar",
|
||||
"subscribed": "Suscrito",
|
||||
"local": "Local",
|
||||
"all": "Todo",
|
||||
"replies": "Respuestas",
|
||||
"mentions": "Menciones",
|
||||
"from": "desde",
|
||||
"to": "a",
|
||||
"deleted_by_creator": "eliminado por creador",
|
||||
"more": "más",
|
||||
"mark_as_read": "marcar como leído",
|
||||
"mark_as_unread": "marcar como no leído",
|
||||
"reply": "responder",
|
||||
"edit": "editar",
|
||||
"delete": "eliminar",
|
||||
"restore": "restaurar",
|
||||
"yes": "sí",
|
||||
"no": "no",
|
||||
"avatar": "Avatar",
|
||||
"banner": "Banner",
|
||||
"display_name": "Nombre para visualizar",
|
||||
"bio": "Biografía",
|
||||
"email": "Correo electrónico",
|
||||
"matrix_user": "Usuario Matrix",
|
||||
"sort_type": "Tipo de orden",
|
||||
"type": "Tipo",
|
||||
"show_nsfw": "Mostrar contenido para adultos",
|
||||
"send_notifications_to_email": "Enviar notificaciones al correo",
|
||||
"delete_account": "Eliminar cuenta",
|
||||
"saved": "Guardado",
|
||||
"communities": "Comunidades",
|
||||
"users": "Usuarios",
|
||||
"theme": "Tema",
|
||||
"language": "Idioma",
|
||||
"hot": "Popular",
|
||||
"new_": "Nuevo",
|
||||
"old": "Antiguo",
|
||||
"top": "Lo mejor",
|
||||
"chat": "Chat",
|
||||
"admin": "administrador",
|
||||
"by": "por",
|
||||
"not_an_admin": "No es un administrador.",
|
||||
"couldnt_find_post": "No se pudo encontrar la publicación.",
|
||||
"not_logged_in": "No has iniciado sesión.",
|
||||
"site_ban": "Has sido expulsado del sitio",
|
||||
"community_ban": "Has sido expulsado de esta comunidad.",
|
||||
"downvotes_disabled": "Votos negativos deshabilitados",
|
||||
"invalid_url": "URL no válido.",
|
||||
"locked": "bloqueado",
|
||||
"couldnt_create_comment": "No se pudo crear el comentario.",
|
||||
"couldnt_like_comment": "No se pudo dar me gusta al comentario.",
|
||||
"couldnt_update_comment": "No se pudo actualizar el comentario.",
|
||||
"no_comment_edit_allowed": "No tiene permisos para editar el comentario.",
|
||||
"couldnt_save_comment": "No se pudo guardar el comentario.",
|
||||
"couldnt_get_comments": "No se pudo obtener los comentarios.",
|
||||
"report_reason_required": "Motivo del informe necesario.",
|
||||
"report_too_long": "Informe demasiado largo.",
|
||||
"couldnt_create_report": "No se pudo generar el informe.",
|
||||
"couldnt_resolve_report": "No se pudo resolver el informe.",
|
||||
"invalid_post_title": "Título de la publicación no válido",
|
||||
"couldnt_create_post": "No se pudo crear la publicación.",
|
||||
"couldnt_like_post": "No se pudo dar me gusta a la publicación.",
|
||||
"couldnt_find_community": "No se pudo encontrar la comunidad.",
|
||||
"couldnt_get_posts": "No se pudo obtener las publicaciones",
|
||||
"no_post_edit_allowed": "No tiene permisos para editar la publicación.",
|
||||
"couldnt_save_post": "No se pudo guardar la publicación.",
|
||||
"site_already_exists": "El sitio ya existe.",
|
||||
"couldnt_update_site": "No se pudo actualizar el sitio.",
|
||||
"invalid_community_name": "Nombre no válido.",
|
||||
"community_already_exists": "Esta comunidad ya existe.",
|
||||
"community_moderator_already_exists": "Este moderador de la comunidad ya existe.",
|
||||
"community_follower_already_exists": "Este seguidor de la comunidad ya existe.",
|
||||
"not_a_moderator": "No eres moderador.",
|
||||
"couldnt_update_community": "No se pudo actualizar la comunidad.",
|
||||
"no_community_edit_allowed": "No tiene permisos para editar la comunidad.",
|
||||
"system_err_login": "Error del sistema. Intente cerrar sesión e ingresar de nuevo.",
|
||||
"community_user_already_banned": "Este usuario de la comunidad ya fue expulsado.",
|
||||
"couldnt_find_that_username_or_email": "No se pudo encontrar ese nombre de usuario o correo electrónico.",
|
||||
"password_incorrect": "Contraseña incorrecta.",
|
||||
"registration_closed": "Registro cerrado",
|
||||
"invalid_password": "Contraseña no válida. La contraseña debe ser <= 60 carácteres.",
|
||||
"passwords_dont_match": "Las contraseñas no coinciden.",
|
||||
"captcha_incorrect": "Captcha incorrecto.",
|
||||
"invalid_username": "Nombre de usuario inválido.",
|
||||
"bio_length_overflow": "La biografía del usuario no puede exceder los 300 caracteres.",
|
||||
"couldnt_update_user": "No se pudo actualizar el usuario.",
|
||||
"couldnt_update_private_message": "No se pudo actualizar el mensaje privado.",
|
||||
"couldnt_update_post": "No se pudo actualizar la publicación",
|
||||
"couldnt_create_private_message": "No se pudo crear el mensaje privado.",
|
||||
"no_private_message_edit_allowed": "Sin permisos para editar el mensaje privado.",
|
||||
"post_title_too_long": "El título de la publicación es muy largo.",
|
||||
"email_already_exists": "El correo ya está en uso.",
|
||||
"user_already_exists": "El usuario ya existe.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} usuario en línea} other{{count} usuarios en línea}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} Comentario} other{{count} Comentarios}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Publicación} other{{count} Publicaciones}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} suscriptor} other{{count} suscriptores}}",
|
||||
"number_of_users": "{count,plural, =1{{count} usuario} other{{count} usuarios}}",
|
||||
"unsubscribe": "Desuscribirse",
|
||||
"subscribe": "Suscribirse",
|
||||
"messages": "Mensajes",
|
||||
"banned_users": "Usuarios expulsados",
|
||||
"delete_account_confirm": "Advertencia: esta acción eliminará permanentemente toda su información. Introduzca su contraseña para confirmar.",
|
||||
"new_password": "Nueva contraseña",
|
||||
"verify_password": "Verificar contraseña",
|
||||
"old_password": "Antigua contraseña",
|
||||
"show_avatars": "Mostrar avatares",
|
||||
"search": "Buscar",
|
||||
"send_message": "Enviar mensaje",
|
||||
"top_day": "Lo mejor del día",
|
||||
"top_week": "Lo mejor de la semana",
|
||||
"top_month": "Lo mejor del mes",
|
||||
"top_year": "Lo mejor del año",
|
||||
"top_all": "Lo mejor de todos los tiempos",
|
||||
"most_comments": "La mayoría de los comentarios",
|
||||
"new_comments": "Nuevos Comentarios",
|
||||
"active": "Activo"
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"@@locale": "eu",
|
||||
"settings": "Ezarpenak",
|
||||
"password": "Pasahitza",
|
||||
"email_or_username": "Eposta edo erabiltzaile-izena",
|
||||
"posts": "Bidalketak",
|
||||
"comments": "Iruzkinak",
|
||||
"modlog": "Moderazio loga",
|
||||
"community": "Komunitatea",
|
||||
"url": "URL",
|
||||
"title": "Izenburua",
|
||||
"body": "Gorputza",
|
||||
"nsfw": "Eduki hunkigarriak (NSFW)",
|
||||
"post": "bidali",
|
||||
"save": "gorde",
|
||||
"subscribed": "Harpidetuta",
|
||||
"local": "Lokala",
|
||||
"all": "Guztiak",
|
||||
"replies": "Erantzunak",
|
||||
"mentions": "Aipamenak",
|
||||
"from": "nork",
|
||||
"to": "non:",
|
||||
"deleted_by_creator": "sortzaileak ezabatu du",
|
||||
"more": "gehiago",
|
||||
"mark_as_read": "markatu irakurritako gisa",
|
||||
"mark_as_unread": "markatu ez irakurrita",
|
||||
"reply": "erantzun",
|
||||
"edit": "editatu",
|
||||
"delete": "ezabatu",
|
||||
"restore": "leheneratu",
|
||||
"yes": "bai",
|
||||
"no": "ez",
|
||||
"avatar": "Avatarra",
|
||||
"banner": "Banerra",
|
||||
"display_name": "Bistaratzeko izena",
|
||||
"bio": "Biografia",
|
||||
"email": "Eposta",
|
||||
"matrix_user": "Matrix erabiltzailea",
|
||||
"sort_type": "Ordena-mota",
|
||||
"type": "Mota",
|
||||
"show_nsfw": "Erakutsi eduki hunkigarriak (NSFW)",
|
||||
"send_notifications_to_email": "Bidali jakinarazpenak epostara",
|
||||
"delete_account": "Ezabatu kontua",
|
||||
"saved": "Gordeta",
|
||||
"communities": "Komunitateak",
|
||||
"users": "Erabiltzaileak",
|
||||
"theme": "Itxura",
|
||||
"language": "Hizkuntza",
|
||||
"hot": "Pil-pilean",
|
||||
"new_": "Berriak",
|
||||
"old": "Zaharrak",
|
||||
"top": "Bozkatuenak",
|
||||
"chat": "Txata",
|
||||
"admin": "administratzailea",
|
||||
"by": "egilea:",
|
||||
"not_an_admin": "Ez zara administratzailea.",
|
||||
"couldnt_find_post": "Ezin izan da bidalketarik aurkitu.",
|
||||
"not_logged_in": "Ez duzu saiorik hasi.",
|
||||
"site_ban": "Gune honetan sartzea debekatu dizute",
|
||||
"community_ban": "Komunitate honetan sartzea debekatu dizute.",
|
||||
"downvotes_disabled": "Kontrako bozkak desgaituta",
|
||||
"invalid_url": "URL baliogabea.",
|
||||
"locked": "blokeatuta",
|
||||
"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.",
|
||||
"no_comment_edit_allowed": "Ezin duzu iruzkina editatu.",
|
||||
"couldnt_save_comment": "Ezin izan da iruzkina gorde.",
|
||||
"couldnt_get_comments": "Ezin izan da iruzkinik lortu.",
|
||||
"report_reason_required": "Salaketaren arrazoia ezinbestekoa da.",
|
||||
"report_too_long": "Salaketa luzeegia.",
|
||||
"couldnt_create_report": "Ezin izan da salaketa sortu.",
|
||||
"couldnt_resolve_report": "Ezin izan da salaketa itxi.",
|
||||
"invalid_post_title": "Bidalketa izenburu baliogabea",
|
||||
"couldnt_create_post": "Ezin izan da bidalketa sortu.",
|
||||
"couldnt_like_post": "Ezin izan da bidalketari datsegit eman.",
|
||||
"couldnt_find_community": "Ezin izan da komunitaterik aurkitu.",
|
||||
"couldnt_get_posts": "Ezin izan da bidalketa lortu",
|
||||
"no_post_edit_allowed": "Ezin duzu bidalketa editatu.",
|
||||
"couldnt_save_post": "Ezin izan da bidalketa gorde.",
|
||||
"site_already_exists": "Gunea dagoeneko existitzen da.",
|
||||
"couldnt_update_site": "Ezin izan da gunea eguneratu.",
|
||||
"invalid_community_name": "Izen baliogabea.",
|
||||
"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.",
|
||||
"not_a_moderator": "Ez zara moderatzailea.",
|
||||
"couldnt_update_community": "Ezin izan da komunitatea eguneratu.",
|
||||
"no_community_edit_allowed": "Ezin duzu komunitatea editatu.",
|
||||
"system_err_login": "Sistemaren errorea. Saiatu saioa ixten eta berriz hasten.",
|
||||
"community_user_already_banned": "Komunitateko erabiltzaile hau dagoeneko debekatuta dago.",
|
||||
"couldnt_find_that_username_or_email": "Ezin izan da aurkitu erabiltzaile-izen edo eposta hori.",
|
||||
"password_incorrect": "Pasahitz okerra.",
|
||||
"registration_closed": "Izen-ematea itxira",
|
||||
"invalid_password": "Pasahitz baliogabea. Pasahitzak <= 60 karaktere izan behar ditu.",
|
||||
"passwords_dont_match": "Pasahitzak ez dira berdinak.",
|
||||
"captcha_incorrect": "Okerreko captcha.",
|
||||
"invalid_username": "Erabiltzaile-izen baliogabea.",
|
||||
"bio_length_overflow": "Erabiltzailearen biografiak ezin ditu 300 hizki baino gehiago izan.",
|
||||
"couldnt_update_user": "Ezin izan da erabiltzailea eguneratu.",
|
||||
"couldnt_update_private_message": "Ezin izan da mezu pribatu hori eguneratu.",
|
||||
"couldnt_update_post": "Ezin izan da bidalketa eguneratu",
|
||||
"couldnt_create_private_message": "Ezin izan da mezu pribatu hori sortu.",
|
||||
"no_private_message_edit_allowed": "Ezin duzu mezu pribaturik editatu.",
|
||||
"post_title_too_long": "Bidalketaren izenburua luzeegia da.",
|
||||
"email_already_exists": "Eposta hori dagoeneko existitzen da.",
|
||||
"user_already_exists": "Erabiltzaile hori dagoeneko existitzen da.",
|
||||
"number_of_users_online": "{count,plural, =1{Erabiltzaile {count} konektatuta} other{{count} erabiltzaile konektatuta}}",
|
||||
"number_of_comments": "{count,plural, =1{Iruzkin {count}} other{{count} iruzkin}}",
|
||||
"number_of_posts": "{count,plural, =1{Bidalketa {count}} other{{count} bidalketa}}",
|
||||
"number_of_subscribers": "{count,plural, =1{Harpidetu {count}} other{{count} harpidetu}}",
|
||||
"number_of_users": "{count,plural, =1{Erabiltzaile {count}} other{{count} erabiltzaile}}",
|
||||
"unsubscribe": "Ezabatu harpidetza",
|
||||
"subscribe": "Harpidetu",
|
||||
"messages": "Mezuak",
|
||||
"banned_users": "Debekatutako erabiltzaileak",
|
||||
"delete_account_confirm": "Abisua: honek zure datu guztiak betirako ezabatu ditu. Sartu zure pasahitza baieztatzeko.",
|
||||
"new_password": "Pasahitz berria",
|
||||
"verify_password": "Balioztatu pasahitza",
|
||||
"old_password": "Aurreko pasahitza",
|
||||
"show_avatars": "Erakutsi avatarrak",
|
||||
"search": "Bilatu",
|
||||
"send_message": "Bidali mezua",
|
||||
"top_day": "Gaur pil-pilean",
|
||||
"top_week": "Asteko Onena",
|
||||
"top_month": "Hilabeteko Onena",
|
||||
"top_year": "Urteko Onena",
|
||||
"top_all": "Onena",
|
||||
"most_comments": "Iruzkin gehienak",
|
||||
"new_comments": "Iruzkin berriak",
|
||||
"active": "Aktibo"
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
{
|
||||
"@@locale": "fa",
|
||||
"settings": "تنظیمات",
|
||||
"password": "گذرواژه",
|
||||
"email_or_username": "رایانامه یا نامکاربری",
|
||||
"posts": "مطالب",
|
||||
"comments": "نظرات",
|
||||
"title": "عنوان",
|
||||
"nsfw": "NSFW",
|
||||
"post": "مطلب",
|
||||
"save": "ذخیره",
|
||||
"all": "همه",
|
||||
"replies": "پاسخها",
|
||||
"mentions": "اشارهها",
|
||||
"deleted_by_creator": "پاک شد",
|
||||
"mark_as_read": "علامتگذاری به عنوان خوانده شده",
|
||||
"mark_as_unread": "علامتگذاری به عنوان خوانده نشده",
|
||||
"reply": "پاسخ",
|
||||
"edit": "ویرایش",
|
||||
"delete": "پاک کردن",
|
||||
"restore": "بازگردانی",
|
||||
"yes": "بله",
|
||||
"no": "خیر",
|
||||
"avatar": "آواتار",
|
||||
"email": "رایانامه",
|
||||
"sort_type": "نوع ترتیب",
|
||||
"type": "نوع",
|
||||
"show_nsfw": "نمایش محتوای NSFW",
|
||||
"send_notifications_to_email": "فرستادن اعلانات به رایانامه",
|
||||
"delete_account": "پاک کردن حساب",
|
||||
"communities": "جوامع",
|
||||
"users": "کاربران",
|
||||
"language": "زبان",
|
||||
"hot": "داغ",
|
||||
"new_": "تازه",
|
||||
"top": "بالاترین",
|
||||
"chat": "گپ",
|
||||
"admin": "مدیر",
|
||||
"not_an_admin": "مدیر نیستید.",
|
||||
"couldnt_find_post": "ناتوانی در یافتن مطلب.",
|
||||
"not_logged_in": "وارد نشدهاید.",
|
||||
"site_ban": "فعالیت شما در این پایگاه ممنوع شده است",
|
||||
"community_ban": "فعالیت شما در این جامعه ممنوع شده است.",
|
||||
"downvotes_disabled": "رای پایین غیرفعال است",
|
||||
"locked": "قفل شد",
|
||||
"couldnt_create_comment": "ناتوانی در ایجاد نظر.",
|
||||
"couldnt_like_comment": "ناتوانی در پسنیدن نظر.",
|
||||
"couldnt_update_comment": "ناتوانی در بهروزرسانی نظر.",
|
||||
"no_comment_edit_allowed": "مجاز به ویرایش نظر نیستید.",
|
||||
"couldnt_save_comment": "ناتوانی در ذخیره نظر.",
|
||||
"couldnt_create_post": "ناتوانی در ایجاد مطلب.",
|
||||
"couldnt_like_post": "ناتوانی در پسندیدن مطلب.",
|
||||
"couldnt_find_community": "ناتوانی در یافتن جامعه.",
|
||||
"couldnt_get_posts": "ناتوانی در دریافت مطالب",
|
||||
"no_post_edit_allowed": "مجاز به ویرایش مطلب نیستید.",
|
||||
"couldnt_save_post": "ناتوانی در ذخیره مطلب.",
|
||||
"site_already_exists": "این پایگاه از قبل وجود داشته است.",
|
||||
"couldnt_update_site": "ناتوانی در بهروزرسانی پایگاه.",
|
||||
"community_already_exists": "این جامعه از قبل وجود داشته است.",
|
||||
"couldnt_update_community": "ناتوانی در بهروزرسانی جامعه.",
|
||||
"no_community_edit_allowed": "مجاز به ویرایش جامعه نیستید.",
|
||||
"system_err_login": "خطای سامانه. سعی کنید خارج شده و دوباره وارد شوید.",
|
||||
"couldnt_find_that_username_or_email": "ناتوانی در یافتن این نام کاربری یا رایانامه.",
|
||||
"password_incorrect": "گذرواژه نادرست.",
|
||||
"registration_closed": "نامنویسی بسته است",
|
||||
"passwords_dont_match": "گذرواژهها با هم منطبق نیستند.",
|
||||
"couldnt_update_user": "ناتوانی در بهروزرسانی کاربر.",
|
||||
"couldnt_update_post": "ناتوای در بهروزرسانی مطلب",
|
||||
"email_already_exists": "این رایانامه از قبل وجود دارد.",
|
||||
"user_already_exists": "این کاربر از قبل وجود دارد.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} کاربر برخط}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} نظر}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} مطلب}}",
|
||||
"number_of_users": "{count,plural, =1{{count} کاربر}}",
|
||||
"delete_account_confirm": "هشدار: این کنش، تمام اطلاعات شما را برای همیشه پاک میکند. برای تایید، گذرواژه خود را وارد کنید.",
|
||||
"new_password": "گذرواژه جدید",
|
||||
"verify_password": "تایید گذرواژه",
|
||||
"old_password": "پسورد پیشین",
|
||||
"show_avatars": "نمایش آواتارها",
|
||||
"search": "جستجو",
|
||||
"top_day": "بهترینهای روز"
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
{
|
||||
"@@locale": "fi",
|
||||
"settings": "Asetukset",
|
||||
"password": "Salasana",
|
||||
"email_or_username": "Sähköposti tai käyttäjätunnus",
|
||||
"posts": "Viestit",
|
||||
"comments": "Kommentit",
|
||||
"modlog": "Moderoinnin loki",
|
||||
"community": "Yhteisö",
|
||||
"url": "URL",
|
||||
"title": "Otsikko",
|
||||
"body": "Sisältö",
|
||||
"nsfw": "NSFW",
|
||||
"post": "viesti",
|
||||
"save": "tallenna",
|
||||
"subscribed": "Tilattu",
|
||||
"all": "Kaikki",
|
||||
"replies": "Vastaukset",
|
||||
"mentions": "Maininnat",
|
||||
"from": "paikasta",
|
||||
"to": "yhteisössä",
|
||||
"deleted_by_creator": "poistettu",
|
||||
"more": "lisää",
|
||||
"mark_as_read": "merkitse luetuksi",
|
||||
"mark_as_unread": "merkitse lukemattomaksi",
|
||||
"reply": "vastaa",
|
||||
"edit": "muokkaa",
|
||||
"delete": "poista",
|
||||
"restore": "palauta",
|
||||
"yes": "kyllä",
|
||||
"no": "ei",
|
||||
"avatar": "avatar",
|
||||
"email": "Sähköposti",
|
||||
"matrix_user": "Matrix-käyttäjä",
|
||||
"sort_type": "Lajittele tyypin mukaan",
|
||||
"type": "Tyyppi",
|
||||
"show_nsfw": "Näytä NSFW-sisältö",
|
||||
"send_notifications_to_email": "Lähetä ilmoitukset sähköpostiin",
|
||||
"delete_account": "Poista tili",
|
||||
"saved": "Tallennettu",
|
||||
"communities": "Yhteisöt",
|
||||
"users": "Käyttäjät",
|
||||
"theme": "Teema",
|
||||
"language": "Kieli",
|
||||
"hot": "Kuumat",
|
||||
"new_": "Uudet",
|
||||
"old": "Vanhat",
|
||||
"top": "Parhaimmat",
|
||||
"chat": "Chat",
|
||||
"admin": "ylläpitäjä",
|
||||
"by": "käyttäjältä",
|
||||
"not_an_admin": "Ei ole ylläpitäjä.",
|
||||
"couldnt_find_post": "Viestiä ei löytynyt.",
|
||||
"not_logged_in": "Ei kirjautunut sisään.",
|
||||
"site_ban": "Sinut on asetettu porttikieltoon tällä sivustolla",
|
||||
"community_ban": "Sinulle on asetettu porttikielto tähän yhteisöön.",
|
||||
"downvotes_disabled": "Alaäänet otettu pois päältä",
|
||||
"locked": "lukittu",
|
||||
"couldnt_create_comment": "Kommenttia ei pystytty luomaan.",
|
||||
"couldnt_like_comment": "Kommentista ei voitu tykätä.",
|
||||
"couldnt_update_comment": "Kommenttia ei voitu päivittää.",
|
||||
"no_comment_edit_allowed": "Sinulla ei ole oikeutta muokata kommenttia.",
|
||||
"couldnt_save_comment": "Kommenttia ei voitu tallentaa.",
|
||||
"couldnt_get_comments": "Kommentteja ei voitu hakea.",
|
||||
"invalid_post_title": "Väärä viestin otsikko",
|
||||
"couldnt_create_post": "Ei voitu luoda viestiä.",
|
||||
"couldnt_like_post": "Viestistä ei voitu tykätä.",
|
||||
"couldnt_find_community": "Yhteisöä ei voitu löytää.",
|
||||
"couldnt_get_posts": "Viestejä ei saatu",
|
||||
"no_post_edit_allowed": "Sinulla ei ole oikeutta muokata viestiä.",
|
||||
"couldnt_save_post": "Viestiä ei voitu tallentaa.",
|
||||
"site_already_exists": "Sivusto on jo olemassa.",
|
||||
"couldnt_update_site": "Sivustoa ei voitu päivittää.",
|
||||
"community_already_exists": "Yhteisö on jo olemassa.",
|
||||
"community_moderator_already_exists": "Yhteisön moderaattori on jo olemassa.",
|
||||
"community_follower_already_exists": "Yhteisön seuraaja on jo olemassa.",
|
||||
"couldnt_update_community": "Yhteisöä ei voitu päivittää.",
|
||||
"no_community_edit_allowed": "Sinulla ei ole oikeutta muokata yhteisöä.",
|
||||
"system_err_login": "Järjestelmävirhe. Yritä kirjautua ulos ja kirjautua uudestaan sisään.",
|
||||
"community_user_already_banned": "Yhteisön käyttäjä on jo porttikiellossa.",
|
||||
"couldnt_find_that_username_or_email": "Käyttäjänimeä tai sähköpostia ei onnistuttu löytämään.",
|
||||
"password_incorrect": "Salasana on väärin.",
|
||||
"registration_closed": "Rekisteröityminen suljettu",
|
||||
"passwords_dont_match": "Salasanat eivät täsmää.",
|
||||
"couldnt_update_user": "Käyttäjää ei voitu päivittää.",
|
||||
"couldnt_update_private_message": "Yksityisviestiä ei voitu päivittää.",
|
||||
"couldnt_update_post": "Viestiä ei voitu päivittää",
|
||||
"couldnt_create_private_message": "Yksityisviestiä ei voitu luoda.",
|
||||
"no_private_message_edit_allowed": "Sinulla ei ole oikeutta muokata yksityisviestiä.",
|
||||
"post_title_too_long": "Viestin otsikko on liian pitkä.",
|
||||
"email_already_exists": "Sähköposti on jo olemassa.",
|
||||
"user_already_exists": "Käyttäjä on jo olemassa.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} käyttäjä aktiivisena} other{{count} käyttäjää aktiivisena}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} kommentti} other{{count} kommenttia}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} viesti} other{{count} viestiä}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} tilaaja} other{{count} tilaajaa}}",
|
||||
"number_of_users": "{count,plural, =1{{count} käyttäjä} other{{count} käyttäjää}}",
|
||||
"unsubscribe": "Poista tilaus",
|
||||
"subscribe": "Tilaa",
|
||||
"messages": "Viestit",
|
||||
"banned_users": "Porttikieltoon asetetut käyttäjät",
|
||||
"delete_account_confirm": "Varoitus: tämä poistaa pysyvästi kaiken datasi. Anna salasanasi varmistukseksi.",
|
||||
"new_password": "Uusi salasana",
|
||||
"verify_password": "Vahvista salasana",
|
||||
"old_password": "Vanha salasana",
|
||||
"show_avatars": "Näytä avatarit",
|
||||
"search": "Etsi",
|
||||
"send_message": "Lähetä viesti",
|
||||
"top_day": "Päivän parhaimmat"
|
||||
}
|
|
@ -0,0 +1,131 @@
|
|||
{
|
||||
"@@locale": "fr",
|
||||
"settings": "Paramètres",
|
||||
"password": "Mot de passe",
|
||||
"email_or_username": "Email ou nom d’utilisateur·rice",
|
||||
"posts": "Publications",
|
||||
"comments": "Commentaires",
|
||||
"modlog": "Historique de modération",
|
||||
"community": "Communauté",
|
||||
"url": "URL",
|
||||
"title": "Titre",
|
||||
"body": "Texte",
|
||||
"nsfw": "Pas sûr pour le travail (NSFW)",
|
||||
"post": "publication",
|
||||
"save": "sauvegarder",
|
||||
"subscribed": "Abonnés",
|
||||
"local": "Local",
|
||||
"all": "Tout",
|
||||
"replies": "Réponses",
|
||||
"mentions": "Mentions",
|
||||
"from": "de",
|
||||
"to": "dans",
|
||||
"deleted_by_creator": "supprimé par le créateur",
|
||||
"more": "plus",
|
||||
"mark_as_read": "marquer comme lu",
|
||||
"mark_as_unread": "marquer comme non-lu",
|
||||
"reply": "répondre",
|
||||
"edit": "éditer",
|
||||
"delete": "supprimer",
|
||||
"restore": "restaurer",
|
||||
"yes": "oui",
|
||||
"no": "non",
|
||||
"avatar": "Avatar",
|
||||
"banner": "Bannière",
|
||||
"display_name": "Nom affiché",
|
||||
"bio": "Bio",
|
||||
"email": "Email",
|
||||
"matrix_user": "Utilisateur Matrix",
|
||||
"sort_type": "Trier",
|
||||
"type": "Type",
|
||||
"show_nsfw": "Afficher le contenu NSFW",
|
||||
"send_notifications_to_email": "Envoyer des notifications par email",
|
||||
"delete_account": "Supprimer le compte",
|
||||
"saved": "Sauvegardé",
|
||||
"communities": "Communautés",
|
||||
"users": "Utilisateurs",
|
||||
"theme": "Thème",
|
||||
"language": "Langue",
|
||||
"hot": "Tendances",
|
||||
"new_": "Nouveaux",
|
||||
"old": "Ancien",
|
||||
"top": "Top",
|
||||
"chat": "Chat",
|
||||
"admin": "admin",
|
||||
"by": "par",
|
||||
"not_an_admin": "Pas administrateur.",
|
||||
"couldnt_find_post": "Impossible de trouver la publication.",
|
||||
"not_logged_in": "Vous n’êtes pas connecté.",
|
||||
"site_ban": "Vous avez été banni du site",
|
||||
"community_ban": "Vous avez été banni de cette communauté.",
|
||||
"downvotes_disabled": "Votes négatifs désactivés",
|
||||
"invalid_url": "URL invalide.",
|
||||
"locked": "verrouillé",
|
||||
"couldnt_create_comment": "Impossible de publier le commentaire.",
|
||||
"couldnt_like_comment": "Impossible d’aimer le commentaire.",
|
||||
"couldnt_update_comment": "Impossible de mettre à jour le commentaire.",
|
||||
"no_comment_edit_allowed": "Vous n’êtes pas autorisé à éditer ce commentaire.",
|
||||
"couldnt_save_comment": "Impossible de sauvegarder le commentaire.",
|
||||
"couldnt_get_comments": "Impossible d'obtenir les commentaires.",
|
||||
"report_reason_required": "Raison du signalement requise.",
|
||||
"couldnt_create_report": "Impossible de créer le signalement.",
|
||||
"couldnt_resolve_report": "Impossible de résoudre le rapport.",
|
||||
"invalid_post_title": "Titre du post invalide",
|
||||
"couldnt_create_post": "Impossible de créer la publication.",
|
||||
"couldnt_like_post": "Impossible d’aimer la publication.",
|
||||
"couldnt_find_community": "Impossible de trouver cette communauté.",
|
||||
"couldnt_get_posts": "Impossible d’obtenir les publications",
|
||||
"no_post_edit_allowed": "Vous n’êtes pas autorisé à éditer cette publication.",
|
||||
"couldnt_save_post": "Impossible de sauvegarder la publication.",
|
||||
"site_already_exists": "Le site existe déjà.",
|
||||
"couldnt_update_site": "Impossible de mettre à jour le site.",
|
||||
"invalid_community_name": "Nom invalide.",
|
||||
"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é.",
|
||||
"not_a_moderator": "N'êtes pas un modérateur.",
|
||||
"couldnt_update_community": "Impossible de mettre à jour cette communauté.",
|
||||
"no_community_edit_allowed": "Vous n’êtes pas autorisé à éditer cette communauté.",
|
||||
"system_err_login": "Erreur système. Essayez de vous déconnecter puis de vous reconnecter.",
|
||||
"community_user_already_banned": "Ce membre est déjà banni.",
|
||||
"couldnt_find_that_username_or_email": "Impossible de trouver cet·te utilisateur·rice ou cet email.",
|
||||
"password_incorrect": "Mot de passe incorrect.",
|
||||
"registration_closed": "Inscriptions fermées",
|
||||
"invalid_password": "Mot de passe erroné. La longueur du mot de passe doit être <= 60 caractères.",
|
||||
"passwords_dont_match": "Les mots de passes ne correspondent pas.",
|
||||
"captcha_incorrect": "Captcha erroné.",
|
||||
"invalid_username": "Nom d'utilisateur invalide.",
|
||||
"bio_length_overflow": "La bio utilisateur ne peut dépasser 300 caractères.",
|
||||
"couldnt_update_user": "Impossible de mettre à jour l’utilisateur·rice.",
|
||||
"couldnt_update_private_message": "Impossible de modifier le message privé.",
|
||||
"couldnt_update_post": "Impossible de mettre à jour la publication",
|
||||
"couldnt_create_private_message": "Impossible de créer un message privé.",
|
||||
"no_private_message_edit_allowed": "Pas autorisé à modifier un message privé.",
|
||||
"post_title_too_long": "Le titre de la publication est trop long.",
|
||||
"email_already_exists": "L’email existe déjà.",
|
||||
"user_already_exists": "L’utilisateur·rice existe déjà.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} Utilisateur en ligne} other{{count} Utilisateurs en ligne}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} Commentaire} other{{count} Commentaires}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Publication} other{{count} Publications}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} Abonné} other{{count} Abonnés}}",
|
||||
"number_of_users": "{count,plural, =1{{count} Utilisateur} other{{count} Utilisateurs}}",
|
||||
"unsubscribe": "Se désabonner",
|
||||
"subscribe": "S’abonner",
|
||||
"messages": "Messages",
|
||||
"banned_users": "Utilisateurs interdits",
|
||||
"delete_account_confirm": "Avertissement : cette action supprimera toutes vos données de façons permanente ! Saisissez votre mot de passe pour confirmer.",
|
||||
"new_password": "Nouveau mot de passe",
|
||||
"verify_password": "Vérifiez le mot de passe",
|
||||
"old_password": "Ancien mot de passe",
|
||||
"show_avatars": "Afficher les avatars",
|
||||
"search": "Rechercher",
|
||||
"send_message": "Envoyer le message",
|
||||
"top_day": "Top du jour",
|
||||
"top_week": "Top de la semaine",
|
||||
"top_month": "Top du mois",
|
||||
"top_year": "Top de l'année",
|
||||
"top_all": "Top",
|
||||
"most_comments": "Plus commentés",
|
||||
"new_comments": "Nouveaux commentaires",
|
||||
"active": "Actif"
|
||||
}
|
|
@ -0,0 +1,123 @@
|
|||
{
|
||||
"@@locale": "ga",
|
||||
"settings": "Socruithe",
|
||||
"password": "Pasfhocal",
|
||||
"email_or_username": "Ríomhphost nó Ainm Úsáideora",
|
||||
"posts": "Postálacha",
|
||||
"comments": "Tráchtanna",
|
||||
"modlog": "Logamod",
|
||||
"community": "Pobal",
|
||||
"url": "URL",
|
||||
"title": "Teideal",
|
||||
"body": "Corp",
|
||||
"nsfw": "NSFW",
|
||||
"post": "postáil",
|
||||
"save": "sábháil",
|
||||
"subscribed": "Suibscríofa",
|
||||
"local": "Áitiúil",
|
||||
"all": "Gach",
|
||||
"replies": "Freagraí",
|
||||
"mentions": "Luann",
|
||||
"from": "ó",
|
||||
"to": "chun",
|
||||
"deleted_by_creator": "scriosta ag cruthaitheoir",
|
||||
"more": "tuilleadh",
|
||||
"mark_as_read": "marc mar a léitear",
|
||||
"mark_as_unread": "marc mar neamhléite",
|
||||
"reply": "freagra",
|
||||
"edit": "cuir in eagar",
|
||||
"delete": "scriosadh",
|
||||
"restore": "athchóirigh",
|
||||
"yes": "tá",
|
||||
"no": "níl",
|
||||
"avatar": "Abhatár",
|
||||
"banner": "Meirge",
|
||||
"display_name": "Ainm taispeána",
|
||||
"bio": "Beathaisnéis",
|
||||
"email": "Ríomhphost",
|
||||
"matrix_user": "Úsáideoir Matrix",
|
||||
"sort_type": "Cineál sórtála",
|
||||
"type": "Cineál",
|
||||
"show_nsfw": "Taispeáin ábhar NSFW",
|
||||
"send_notifications_to_email": "Seol fógraí chuig Ríomhphost",
|
||||
"delete_account": "Scrios Cuntas",
|
||||
"saved": "Coinníodh",
|
||||
"communities": "Pobail",
|
||||
"users": "Úsáideoirí",
|
||||
"theme": "Téama",
|
||||
"language": "Teanga",
|
||||
"hot": "Te",
|
||||
"new_": "Nua",
|
||||
"old": "Sean",
|
||||
"top": "Barr",
|
||||
"chat": "Comhrá",
|
||||
"admin": "riarthóir",
|
||||
"by": "le",
|
||||
"not_an_admin": "Ní riarthóir é.",
|
||||
"couldnt_find_post": "Níorbh fhéidir an post a aimsiú.",
|
||||
"not_logged_in": "Ní logáilte isteach.",
|
||||
"site_ban": "Cuireadh cosc ort ón suíomh",
|
||||
"community_ban": "Cuireadh cosc ort ón bpobal seo.",
|
||||
"downvotes_disabled": "Síosvótaí faoi mhíchumas",
|
||||
"invalid_url": "URL neamhbhailí.",
|
||||
"locked": "glasáilte",
|
||||
"couldnt_create_comment": "Níorbh fhéidir a chruthú trácht.",
|
||||
"couldnt_like_comment": "Níorbh fhéidir a is maith trácht.",
|
||||
"couldnt_update_comment": "Níorbh fhéidir trácht a nuashonrú.",
|
||||
"no_comment_edit_allowed": "Ní cheadaítear trácht a chur in eagar.",
|
||||
"couldnt_save_comment": "Níorbh fhéidir trácht a shábháil.",
|
||||
"couldnt_get_comments": "Níorbh fhéidir tuairimí a fháil.",
|
||||
"invalid_post_title": "Teideal poist neamhbhailí",
|
||||
"couldnt_create_post": "Níorbh fhéidir postáil a chruthú.",
|
||||
"couldnt_like_post": "Níorbh fhéidir a is maith post.",
|
||||
"couldnt_find_community": "Níorbh fhéidir Pobal a aimsiú.",
|
||||
"couldnt_get_posts": "Níorbh fhéidir an post a fháil",
|
||||
"no_post_edit_allowed": "Ní cheadaítear an post a chur in eagar.",
|
||||
"couldnt_save_post": "Níorbh fhéidir an post a shábháil.",
|
||||
"site_already_exists": "Suíomh ann cheana.",
|
||||
"couldnt_update_site": "Níorbh fhéidir an suíomh a nuashonrú.",
|
||||
"invalid_community_name": "Ainm neamhbhailí.",
|
||||
"community_already_exists": "Pobal ann cheana féin.",
|
||||
"community_moderator_already_exists": "Tá modhnóir pobail ann cheana féin.",
|
||||
"community_follower_already_exists": "Tá leantóir pobail ann cheana féin.",
|
||||
"not_a_moderator": "Ní modhnóir.",
|
||||
"couldnt_update_community": "Níorbh fhéidir an Pobal a nuashonrú.",
|
||||
"no_community_edit_allowed": "Ní cheadaítear an pobal a chur in eagar.",
|
||||
"system_err_login": "Earráid chórais. Bain triail as logáil amach agus ar ais isteach.",
|
||||
"community_user_already_banned": "Toirmisctear úsáideoir pobail cheana féin.",
|
||||
"couldnt_find_that_username_or_email": "Níorbh fhéidir an t-ainm úsáideora nó an ríomhphost sin a fháil.",
|
||||
"password_incorrect": "Pasfhocal mícheart.",
|
||||
"registration_closed": "Clárú dúnta",
|
||||
"invalid_password": "Pasfhocal neamhbhailí. Caithfidh <= 60 carachtar a bheith sa phasfhocal.",
|
||||
"passwords_dont_match": "Ní hionann pasfhocail.",
|
||||
"captcha_incorrect": "Ta Captcha mícheart.",
|
||||
"invalid_username": "Ainm Úsáideora neamhbhailí.",
|
||||
"bio_length_overflow": "Ní féidir le bith-úsáideoir níos mó ná 300 carachtar.",
|
||||
"couldnt_update_user": "Níorbh fhéidir an t-úsáideoir a nuashonrú.",
|
||||
"couldnt_update_private_message": "Níorbh fhéidir teachtaireacht phríobháideach a nuashonrú.",
|
||||
"couldnt_update_post": "Níorbh fhéidir an post a nuashonrú",
|
||||
"couldnt_create_private_message": "Níorbh fhéidir teachtaireacht phríobháideach a chruthú.",
|
||||
"no_private_message_edit_allowed": "Ní cheadaítear teachtaireacht phríobháideach a chur in eagar.",
|
||||
"post_title_too_long": "Tá teideal an postáil ró-fhada.",
|
||||
"email_already_exists": "Tá ríomhphost ann cheana féin.",
|
||||
"user_already_exists": "Úsáideoir ann cheana.",
|
||||
"unsubscribe": "Díliostáil",
|
||||
"subscribe": "Liostáil",
|
||||
"messages": "Teachtaireachtaí",
|
||||
"banned_users": "Úsáideoirí Coisceadh",
|
||||
"delete_account_confirm": "Rabhadh: scriosfaidh sé seo do chuid sonraí go buan. Iontráil do phasfhocal le deimhniú.",
|
||||
"new_password": "Focal Faire Nua",
|
||||
"verify_password": "Deimhnigh Pasfhocal",
|
||||
"old_password": "Sean Pasfhocal",
|
||||
"show_avatars": "Taispeáin Abhatáranna",
|
||||
"search": "Cuardaigh",
|
||||
"send_message": "Seol Teachtaireacht",
|
||||
"top_day": "Lá Barr",
|
||||
"top_week": "Seachtain Barr",
|
||||
"top_month": "Barr Mí",
|
||||
"top_year": "Bar Bliain",
|
||||
"top_all": "Barr an Ama Uile",
|
||||
"most_comments": "Tuairimí an chuid is mó",
|
||||
"new_comments": "Tráchtaireachtaí Nua",
|
||||
"active": "Gnóthach"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"@@locale": "gl"
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"@@locale": "hi",
|
||||
"settings": "समायोजन (सेटिंग्स)",
|
||||
"posts": "पोस्ट",
|
||||
"comments": "टिप्पणी (कमेंट )",
|
||||
"community": "समुदाय",
|
||||
"post": "पोस्ट",
|
||||
"more": "और भी",
|
||||
"reply": "जवाब दें",
|
||||
"edit": "संपादित करें ( एडिट करें )",
|
||||
"avatar": "अवतार",
|
||||
"communities": "सामुदायिक",
|
||||
"users": "उपयोगकर्ता",
|
||||
"admin": "प्रशासक",
|
||||
"couldnt_find_post": "पोस्ट नहीं ढूंढ़ पाएं |",
|
||||
"locked": "बंद",
|
||||
"couldnt_create_comment": "टिप्पणी (कमेंट) नहीं बना पाईं |",
|
||||
"couldnt_find_community": "समुदायों नहीं ढूंढ़ पाएं |",
|
||||
"community_already_exists": "यह समुदाय पहले स मौजूद है |",
|
||||
"number_of_comments": "{count,plural, =1{{{ count }} टिप्पणी (कमेंट )} other{{{ count }} टिप्पणियाँ (कोम्मेंट्स )}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} पोस्ट} other{{count} पोस्ट्स}}",
|
||||
"show_avatars": "अवतार दिखाएँ",
|
||||
"send_message": "संदेश भेजें"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"@@locale": "hr"
|
||||
}
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"@@locale": "hu",
|
||||
"settings": "Beállítások",
|
||||
"password": "Jelszó",
|
||||
"email_or_username": "Email vagy felhasználónév",
|
||||
"posts": "Bejegyzések",
|
||||
"comments": "Hozzászólások",
|
||||
"modlog": "Moderációs napló",
|
||||
"community": "Közösség",
|
||||
"url": "URL",
|
||||
"title": "Cím",
|
||||
"body": "Törzs",
|
||||
"nsfw": "Korhatáros tartalom",
|
||||
"post": "Elküld",
|
||||
"save": "mentés",
|
||||
"subscribed": "Feliratkozva",
|
||||
"all": "Mind",
|
||||
"replies": "Válaszok",
|
||||
"mentions": "Említések",
|
||||
"from": "küldő",
|
||||
"to": "címzett",
|
||||
"deleted_by_creator": "eltávolítva a szerző által",
|
||||
"more": "több",
|
||||
"mark_as_read": "megjelölés olvasottnak",
|
||||
"mark_as_unread": "megjelölés olvasatlannak",
|
||||
"reply": "válasz",
|
||||
"edit": "szerkesztés",
|
||||
"delete": "törlés",
|
||||
"restore": "visszaállítás",
|
||||
"yes": "igen",
|
||||
"no": "nem",
|
||||
"avatar": "Avatár",
|
||||
"email": "Email",
|
||||
"matrix_user": "Matrix felhasználó",
|
||||
"sort_type": "Rendezési mód",
|
||||
"type": "Típus",
|
||||
"show_nsfw": "Korhatáros tartalom megjelenítése",
|
||||
"send_notifications_to_email": "Értesítések küldése emailen keresztül",
|
||||
"delete_account": "FIók törlése",
|
||||
"saved": "Mentve",
|
||||
"communities": "Közösségek",
|
||||
"users": "Felhasználók",
|
||||
"theme": "Téma",
|
||||
"language": "Nyelv",
|
||||
"hot": "Népszerű",
|
||||
"new_": "Új",
|
||||
"old": "Régi",
|
||||
"top": "Legjobb",
|
||||
"chat": "Csevegés",
|
||||
"admin": "admin",
|
||||
"by": "szerző",
|
||||
"not_an_admin": "Nem egy admin.",
|
||||
"couldnt_find_post": "A bejegyzés nem található.",
|
||||
"not_logged_in": "Nem vagy bejelentkezve.",
|
||||
"site_ban": "Ki lettél tiltva az oldalról",
|
||||
"community_ban": "Ki lettél tiltva ebből a közösségből.",
|
||||
"downvotes_disabled": "Negatív szavazatok letiltva",
|
||||
"locked": "zárolva",
|
||||
"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.",
|
||||
"no_comment_edit_allowed": "A hozzászólás szerkesztése nem engedélyezett.",
|
||||
"couldnt_save_comment": "Nem lehetett menteni a hozzászólást.",
|
||||
"couldnt_get_comments": "Nem lehetett lekérdezni a hozzászólást.",
|
||||
"couldnt_create_post": "Nem lehetett létrehozni a bejegyzést.",
|
||||
"couldnt_like_post": "Nem lehetett kedvelni a bejegyzést.",
|
||||
"couldnt_find_community": "A közösség nem található.",
|
||||
"couldnt_get_posts": "Nem lehetett lekérdezni a bejegyzéseket",
|
||||
"no_post_edit_allowed": "A bejegyzés szerkesztése nem engedélyezett.",
|
||||
"couldnt_save_post": "Nem lehetett menteni a bejegyzést.",
|
||||
"site_already_exists": "Az oldal már létezik.",
|
||||
"couldnt_update_site": "Nem lehetett frissíteni az oldalt.",
|
||||
"invalid_community_name": "Érvénytelen név.",
|
||||
"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ő.",
|
||||
"couldnt_update_community": "Nem lehetett frissíteni a közösséget.",
|
||||
"no_community_edit_allowed": "A közösség szerkesztése nem engedélyezett.",
|
||||
"system_err_login": "Rendszerhiba. Próbálj meg ki- és bejelentkezni!",
|
||||
"community_user_already_banned": "A közösségi felhasználó már ki lett tiltva.",
|
||||
"couldnt_find_that_username_or_email": "Az a felhasználónév vagy email nem található.",
|
||||
"password_incorrect": "Rossz jelszó.",
|
||||
"registration_closed": "Regisztráció lezárva",
|
||||
"passwords_dont_match": "A jelszavak nem egyeznek.",
|
||||
"invalid_username": "Érvénytelen felhasználónév.",
|
||||
"couldnt_update_user": "Nem lehetett frissíteni a felhasználót.",
|
||||
"couldnt_update_private_message": "Nem lehetett frissíteni a privát üzenetet.",
|
||||
"couldnt_update_post": "Nem lehetett frissíteni a bejegyzést",
|
||||
"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.",
|
||||
"post_title_too_long": "A bejegyzés címe túl hosszú.",
|
||||
"email_already_exists": "Az email már létezik.",
|
||||
"user_already_exists": "A felhasználó már létezik.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} online felhasználó} other{{count} online felhasználó}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} hozzászólás} other{{count} hozzászólás}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} bejegyzés} other{{count} bejegyzés}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} feliratkozó} other{{count} feliratkozó}}",
|
||||
"number_of_users": "{count,plural, =1{{count} felhasználó} other{{count} felhasználó}}",
|
||||
"unsubscribe": "Leiratkozás",
|
||||
"subscribe": "Feliratkozás",
|
||||
"messages": "Üzenetek",
|
||||
"banned_users": "Kitiltott felhasználók",
|
||||
"delete_account_confirm": "Figyelmeztetés: ez véglegesen törölni fogja az összes adatodat. A megerősítéshez írd be a jelszavad!",
|
||||
"new_password": "Új jelszó",
|
||||
"verify_password": "Jelszó megerősítése",
|
||||
"old_password": "Régi jelszó",
|
||||
"show_avatars": "Avatárok mutatása",
|
||||
"search": "Keresés",
|
||||
"send_message": "Üzenet küldése",
|
||||
"top_day": "A nap bejegyzése"
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"@@locale": "it",
|
||||
"settings": "Impostazioni",
|
||||
"password": "Password",
|
||||
"email_or_username": "Email o Nome Utente",
|
||||
"posts": "Pubblicazioni",
|
||||
"comments": "Commenti",
|
||||
"modlog": "Registro di moderazione",
|
||||
"community": "Comunità",
|
||||
"url": "URL",
|
||||
"title": "Titolo",
|
||||
"body": "Contenuto",
|
||||
"nsfw": "NSFW",
|
||||
"post": "pubblica",
|
||||
"save": "salva",
|
||||
"subscribed": "Iscritto",
|
||||
"local": "Locale",
|
||||
"all": "Tutti",
|
||||
"replies": "Risposte",
|
||||
"mentions": "Menzioni",
|
||||
"from": "da",
|
||||
"to": "su",
|
||||
"deleted_by_creator": "eliminato dal creatore",
|
||||
"more": "altro",
|
||||
"mark_as_read": "segna come letto",
|
||||
"mark_as_unread": "segna come non letto",
|
||||
"reply": "rispondi",
|
||||
"edit": "modifica",
|
||||
"delete": "cancella",
|
||||
"restore": "ripristina",
|
||||
"yes": "sì",
|
||||
"no": "no",
|
||||
"avatar": "Avatar",
|
||||
"banner": "Banner",
|
||||
"display_name": "Nome visualizzato",
|
||||
"bio": "Descrizione",
|
||||
"email": "Email",
|
||||
"matrix_user": "Utente Matrix",
|
||||
"sort_type": "Ordina per",
|
||||
"type": "Tipo",
|
||||
"show_nsfw": "Mostra contenuto NSFW",
|
||||
"send_notifications_to_email": "Invia notifiche via email",
|
||||
"delete_account": "Cancella Account",
|
||||
"saved": "Salvati",
|
||||
"communities": "Comunità",
|
||||
"users": "Utenti",
|
||||
"theme": "Tema",
|
||||
"language": "Lingua",
|
||||
"hot": "Popolari",
|
||||
"new_": "Nuovi",
|
||||
"old": "Vecchi",
|
||||
"top": "Migliori",
|
||||
"chat": "Chat",
|
||||
"admin": "amministratore",
|
||||
"by": "di",
|
||||
"not_an_admin": "Non un amministratore.",
|
||||
"couldnt_find_post": "Impossibile trovare la pubblicazione.",
|
||||
"not_logged_in": "Non hai effettuato l'accesso.",
|
||||
"site_ban": "Sei stato escluso dal sito",
|
||||
"community_ban": "Sei stato escluso da questa comunità.",
|
||||
"downvotes_disabled": "Voti negativi disabilitati",
|
||||
"invalid_url": "URL non valido.",
|
||||
"locked": "bloccato",
|
||||
"couldnt_create_comment": "Impossibile creare il commento.",
|
||||
"couldnt_like_comment": "Impossibile apprezzare il commento.",
|
||||
"couldnt_update_comment": "Impossibile aggiornare il commento.",
|
||||
"no_comment_edit_allowed": "Non sei autorizzato a modificare il commento.",
|
||||
"couldnt_save_comment": "Impossibile salvare il commento.",
|
||||
"couldnt_get_comments": "Impossibile ottenere i commenti.",
|
||||
"report_reason_required": "Motivazione della segnalazione obbligatoria.",
|
||||
"report_too_long": "Segnalazione troppo lunga.",
|
||||
"couldnt_create_report": "Impossibile creare segnalazione.",
|
||||
"couldnt_resolve_report": "Impossibile risolvere segnalazione.",
|
||||
"invalid_post_title": "Titolo della pubblicazione non valido",
|
||||
"couldnt_create_post": "Impossibile creare la pubblicazione.",
|
||||
"couldnt_like_post": "Impossibile apprezzare la pubblicazione.",
|
||||
"couldnt_find_community": "Impossibile trovare la comunità.",
|
||||
"couldnt_get_posts": "Impossibile recuperare le pubblicazioni",
|
||||
"no_post_edit_allowed": "Non sei autorizzato a modificare la pubblicazione.",
|
||||
"couldnt_save_post": "Impossibile salvare la pubblicazione.",
|
||||
"site_already_exists": "Il sito esiste già.",
|
||||
"couldnt_update_site": "Impossibile aggiornare il sito.",
|
||||
"invalid_community_name": "Nome non valido.",
|
||||
"community_already_exists": "La comunità esiste già.",
|
||||
"community_moderator_already_exists": "Questo utente è già moderatore della comunità.",
|
||||
"community_follower_already_exists": "Utente già membro della comunità.",
|
||||
"not_a_moderator": "Non moderatore.",
|
||||
"couldnt_update_community": "Impossibile aggiornare la comunità.",
|
||||
"no_community_edit_allowed": "Non sei autorizzato a modificare la comunità.",
|
||||
"system_err_login": "Si è verificato un errore. Prova ad effettuare nuovamente l'accesso.",
|
||||
"community_user_already_banned": "L'utente della comunità è già stato espulso.",
|
||||
"couldnt_find_that_username_or_email": "Il nome utente o l'email non sono stati trovati.",
|
||||
"password_incorrect": "Password non corretta.",
|
||||
"registration_closed": "Registrazione Chiusa",
|
||||
"invalid_password": "Password non valida. La password deve contenere <= 60 caratteri.",
|
||||
"passwords_dont_match": "Le password non corrispondono.",
|
||||
"captcha_incorrect": "Captcha errato.",
|
||||
"invalid_username": "Nome utente non valido.",
|
||||
"bio_length_overflow": "La descrizione non può superare i 300 caratteri.",
|
||||
"couldnt_update_user": "Impossibile aggiornare l'utente.",
|
||||
"couldnt_update_private_message": "Impossibile aggiornare un messaggio privato.",
|
||||
"couldnt_update_post": "Impossibile aggiornare la pubblicazione",
|
||||
"couldnt_create_private_message": "Impossibile creare un messaggio privato.",
|
||||
"no_private_message_edit_allowed": "Non hai i permessi per modificare un messaggio privato.",
|
||||
"post_title_too_long": "Titolo della pubblicazione troppo lungo.",
|
||||
"email_already_exists": "Indirizzo email già presente.",
|
||||
"user_already_exists": "L'utente esiste già.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} utente connesso} other{{count} utenti connessi}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} Commento} other{{count} Commenti}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Pubblicazione} other{{count} Pubblicazioni}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} iscritto} other{{count} iscritti}}",
|
||||
"number_of_users": "{count,plural, =1{{count} utente} other{{count} utenti}}",
|
||||
"unsubscribe": "Disiscriviti",
|
||||
"subscribe": "Iscriviti",
|
||||
"messages": "Messaggi",
|
||||
"banned_users": "Utenti Espulsi",
|
||||
"delete_account_confirm": "Attenzione: stai per cancellare permanentemente tutti i tuoi dati. Inserisci la tua password per confermare questa azione.",
|
||||
"new_password": "Nuova Password",
|
||||
"verify_password": "Verifica Password",
|
||||
"old_password": "Vecchia Password",
|
||||
"show_avatars": "Mostra Avatar",
|
||||
"search": "Cerca",
|
||||
"send_message": "Invia Messaggio",
|
||||
"top_day": "Migliori della giornata",
|
||||
"top_week": "Migliori della settimana",
|
||||
"top_month": "Migliori del mese",
|
||||
"top_year": "Migliori dell'anno",
|
||||
"top_all": "Migliori di sempre",
|
||||
"most_comments": "Più commenti",
|
||||
"new_comments": "Nuovi Commenti",
|
||||
"active": "Attivi"
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
"@@locale": "ja",
|
||||
"settings": "設定",
|
||||
"password": "パスワード",
|
||||
"email_or_username": "メールアドレスまたはユーザー名",
|
||||
"posts": "投稿",
|
||||
"comments": "コメント",
|
||||
"modlog": "モデレーションログ",
|
||||
"community": "コミュニティ",
|
||||
"url": "URL",
|
||||
"title": "タイトル",
|
||||
"body": "本文",
|
||||
"nsfw": "閲覧注意",
|
||||
"post": "投稿",
|
||||
"save": "保存",
|
||||
"subscribed": "登録済み",
|
||||
"all": "全て",
|
||||
"replies": "返信",
|
||||
"mentions": "言及",
|
||||
"from": "から",
|
||||
"to": "宛先",
|
||||
"deleted_by_creator": "削除済み",
|
||||
"more": "さらに表示",
|
||||
"mark_as_read": "既読にする",
|
||||
"mark_as_unread": "未読にする",
|
||||
"reply": "返信",
|
||||
"edit": "編集",
|
||||
"delete": "削除",
|
||||
"restore": "復元",
|
||||
"yes": "はい",
|
||||
"no": "いいえ",
|
||||
"avatar": "アバター",
|
||||
"banner": "バナー",
|
||||
"display_name": "表示名",
|
||||
"bio": "自己紹介",
|
||||
"email": "メールアドレス",
|
||||
"matrix_user": "Matrix のユーザーアカウント",
|
||||
"sort_type": "並び順の種類",
|
||||
"type": "種類",
|
||||
"show_nsfw": "閲覧注意のコンテンツを表示",
|
||||
"send_notifications_to_email": "通知をメール送信",
|
||||
"delete_account": "アカウントを削除",
|
||||
"saved": "保存済み",
|
||||
"communities": "コミュニティ",
|
||||
"users": "ユーザー",
|
||||
"theme": "テーマ",
|
||||
"language": "言語",
|
||||
"hot": "人気",
|
||||
"new_": "新しい順",
|
||||
"old": "古い順",
|
||||
"top": "トップ",
|
||||
"chat": "会話",
|
||||
"admin": "管理者",
|
||||
"by": "投稿者",
|
||||
"not_an_admin": "管理者ではありません。",
|
||||
"couldnt_find_post": "投稿が見付かりません。",
|
||||
"not_logged_in": "ログインしていません。",
|
||||
"site_ban": "サイトへのアクセスを禁止されています",
|
||||
"community_ban": "このコミュニティへのアクセスを禁止されています。",
|
||||
"downvotes_disabled": "反対票を無効化",
|
||||
"locked": "凍結中",
|
||||
"couldnt_create_comment": "投稿を作成できませんでした。",
|
||||
"couldnt_like_comment": "コメントが「いいね」できない。",
|
||||
"couldnt_update_comment": "コメントが更新されない。",
|
||||
"no_comment_edit_allowed": "コメントの編集権限がありません。",
|
||||
"couldnt_save_comment": "コメントが保存されない。",
|
||||
"couldnt_get_comments": "コメントが取得されない。",
|
||||
"couldnt_create_post": "投稿ができない。",
|
||||
"couldnt_like_post": "投稿が「いいね」できない。",
|
||||
"couldnt_find_community": "コミュニティが見付かりません。",
|
||||
"couldnt_get_posts": "投稿が取得できない",
|
||||
"no_post_edit_allowed": "投稿の編集権限がありません。",
|
||||
"couldnt_save_post": "投稿が保存されない。",
|
||||
"site_already_exists": "サイトは既に存在します。",
|
||||
"couldnt_update_site": "サイトが更新されない。",
|
||||
"community_already_exists": "コミュニティは既に存在します。",
|
||||
"community_moderator_already_exists": "コミュニティ管理人は既に存在します。",
|
||||
"community_follower_already_exists": "コミュニティフォロワーは既に存在します。",
|
||||
"couldnt_update_community": "コミュニティが更新されない。",
|
||||
"no_community_edit_allowed": "コミュニティの編集許可がありません。",
|
||||
"system_err_login": "システムエラーが発生しました。一度ログアウトして、再度ログインをお試しください。",
|
||||
"community_user_already_banned": "コミュニティユーザーは既に禁止されています。",
|
||||
"couldnt_find_that_username_or_email": "ユーザー名またはメールアドレスが見付かりません。",
|
||||
"password_incorrect": "パスワードが不正です。",
|
||||
"registration_closed": "登録は受け付けていません",
|
||||
"passwords_dont_match": "パスワードが一致しません。",
|
||||
"bio_length_overflow": "自己紹介は 300 文字までです。",
|
||||
"couldnt_update_user": "ユーザーが更新されない。",
|
||||
"couldnt_update_private_message": "プライベートメッセージが更新されない。",
|
||||
"couldnt_update_post": "投稿が更新されない",
|
||||
"couldnt_create_private_message": "プライベートメッセージが作成されない。",
|
||||
"no_private_message_edit_allowed": "プライベートメッセージの編集許可がありません。",
|
||||
"post_title_too_long": "投稿のタイトルが長すぎます。",
|
||||
"email_already_exists": "メールアドレスが既に使用されています。",
|
||||
"user_already_exists": "ユーザーは既に存在します。",
|
||||
"number_of_users_online": "{count,plural, =1{{count} 名のユーザーがオンライン}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} 件のコメント}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} 件の投稿}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} 名の登録者}}",
|
||||
"number_of_users": "{count,plural, =1{{count} 名のユーザー}}",
|
||||
"unsubscribe": "登録解除",
|
||||
"subscribe": "登録",
|
||||
"messages": "メッセージ",
|
||||
"delete_account_confirm": "警告: あなたのデータを全て恒久的に削除します。確認のためパスワードを入力してください。",
|
||||
"new_password": "新しいパスワード",
|
||||
"verify_password": "パスワードの確認",
|
||||
"old_password": "現在のパスワード",
|
||||
"show_avatars": "アバターを表示",
|
||||
"search": "検索",
|
||||
"send_message": "メッセージを送信",
|
||||
"top_day": "日間トップ",
|
||||
"active": "活発さ"
|
||||
}
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"@@locale": "ka",
|
||||
"settings": "პარამეტრები",
|
||||
"password": "პაროლი",
|
||||
"email_or_username": "ელ-პოსტა ან მომხმარებლის სახელი",
|
||||
"posts": "პოსტები",
|
||||
"comments": "კომენტარები",
|
||||
"modlog": "მოდ-ლოგი",
|
||||
"community": "თემა",
|
||||
"url": "მისამართი",
|
||||
"title": "სათაური",
|
||||
"body": "ტექსტი",
|
||||
"nsfw": "NSFW",
|
||||
"post": "პოსტი",
|
||||
"save": "დამახსოვრება",
|
||||
"subscribed": "გამოწერილია",
|
||||
"all": "ყველა",
|
||||
"replies": "პასუხები",
|
||||
"mentions": "ხსენებები",
|
||||
"from": "from",
|
||||
"to": "to",
|
||||
"deleted_by_creator": "წაშლილია",
|
||||
"more": "მეტი",
|
||||
"mark_as_read": "მონიშნე როგორც წაკითხული",
|
||||
"mark_as_unread": "მონიშნე როგორც წაუკითხავი",
|
||||
"reply": "პასუხის გაცემა",
|
||||
"edit": "რადექტირება",
|
||||
"delete": "წაშლა",
|
||||
"restore": "რასტორაცია",
|
||||
"yes": "კი",
|
||||
"no": "არა",
|
||||
"avatar": "ავატარი",
|
||||
"email": "ელ-პოსტა",
|
||||
"matrix_user": "მატრიცული მომხმარებელი",
|
||||
"sort_type": "სორტირების ტიპი",
|
||||
"type": "ტიპი",
|
||||
"show_nsfw": "Show NSFW content",
|
||||
"send_notifications_to_email": "შეტყობინების გაგზავნა ელ-პოსტაზე",
|
||||
"delete_account": "ჩემი ანგარიშის წაშლა",
|
||||
"saved": "შანახული",
|
||||
"communities": "თემები",
|
||||
"users": "მომხმარებელი",
|
||||
"theme": "საიტის თემა",
|
||||
"language": "ენა",
|
||||
"hot": "ცხელი",
|
||||
"new_": "ახალი",
|
||||
"old": "ძველი",
|
||||
"top": "ტოპ",
|
||||
"chat": "ჩეტი",
|
||||
"admin": "ადმინი",
|
||||
"by": "by",
|
||||
"not_an_admin": "ადმინი არ არის",
|
||||
"couldnt_find_post": "პოსტი ვერ მოიძებნა.",
|
||||
"not_logged_in": "შასული არ ხართ",
|
||||
"site_ban": "საიტიდან გაშავებული ხარ.",
|
||||
"community_ban": "შენ ამ თემისგან გაშავებული ხარ.",
|
||||
"downvotes_disabled": "არმოწონები გამორთულია",
|
||||
"locked": "ჩაკეტილი",
|
||||
"couldnt_create_comment": "კომენტარის შექმნა ვერ მოხერხდა.",
|
||||
"couldnt_like_comment": "კომენტარის მოწონება ვერ მოხერხდა.",
|
||||
"couldnt_update_comment": "კომენტარის განახლება ვერ მოხერხდა.",
|
||||
"no_comment_edit_allowed": "კომენტარის რედაკტირება არ შეიძლება.",
|
||||
"couldnt_save_comment": "კომენტარის შენახვა ვერ მოხერხდა.",
|
||||
"couldnt_get_comments": "კომენტარების ნახვა ვერ მოხერხდა.",
|
||||
"couldnt_create_post": "პოსტი ვერ შეიქმნა.",
|
||||
"couldnt_like_post": "პოსტის მოწონება ვერ მოხერხდა.",
|
||||
"couldnt_find_community": "ტემა არ მოიძებნა.",
|
||||
"couldnt_get_posts": "პოსტები არ არის.",
|
||||
"no_post_edit_allowed": "პოსტის რედაკტირება არ შეიძლება.",
|
||||
"couldnt_save_post": "პოსტის დასეივება ვერ მოხერხდა.",
|
||||
"site_already_exists": "Site already exists.",
|
||||
"couldnt_update_site": "Couldn't update site.",
|
||||
"community_already_exists": "ეს თემა უკვე არსებობს.",
|
||||
"community_moderator_already_exists": "ამ თემის მოდერატორი უკვე არსებობს.",
|
||||
"community_follower_already_exists": "თემის ფოლოვორი უკვე არსებობს.",
|
||||
"couldnt_update_community": "თემა ვერ განახლდა.",
|
||||
"no_community_edit_allowed": "თემის რედაკტირება არ შეიძლება.",
|
||||
"system_err_login": "ერორი. თავიდან შემოსვლა ცადეთ.",
|
||||
"community_user_already_banned": "თემის მომხმარებელი უკვე შავ სიაშია.",
|
||||
"couldnt_find_that_username_or_email": "სახელი ან ელ-პოსტა ვერ მოიძებნა.",
|
||||
"password_incorrect": "პაროლი არასწორია .",
|
||||
"registration_closed": "რეგისტრაცია დახურულია",
|
||||
"passwords_dont_match": "პაროლები იგივი არ არის.",
|
||||
"couldnt_update_user": "მომხმარებლის განახლება ვერ მოხერხდა.",
|
||||
"couldnt_update_post": "პოსტი ვერ განახლდა",
|
||||
"post_title_too_long": "პოსტის სათაური ძალიან გრძელია.",
|
||||
"email_already_exists": "ელ-პოსტა უკვე არსებობს.",
|
||||
"user_already_exists": "მომხმარებელი უკვე არსებობს.",
|
||||
"number_of_users_online": "{count,plural, =1{მომხმარებელი საიტზე} other{მომხმარებელი საიტზე}}",
|
||||
"number_of_comments": "{count,plural, =1{კომენტარი} other{კომანტარები}}",
|
||||
"number_of_posts": "{count,plural, =1{თარგმნა} other{თარგმნა}}",
|
||||
"number_of_subscribers": "{count,plural, =1{გამომწერი} other{გამომწერები}}",
|
||||
"number_of_users": "{count,plural, =1{მომხმარებელი} other{მომხმარებლები}}",
|
||||
"unsubscribe": "გამოწერის გაუქმნება",
|
||||
"subscribe": "გამოწერა",
|
||||
"messages": "მესეჯები",
|
||||
"banned_users": "გაშავებული მომხმარებლები",
|
||||
"delete_account_confirm": "გაფთხილება: ეს შენს ყველაფერს წაშლის. პაროლი ჩაწერეთ რომ დაადასტუროთ.",
|
||||
"new_password": "ახალი პაროლი",
|
||||
"verify_password": "პაროლის დადასტურება",
|
||||
"old_password": "ძველი პაროლი",
|
||||
"show_avatars": "ავატარები გამოჩენა",
|
||||
"search": "ძებმა",
|
||||
"send_message": "მესეჯის გაგზავნა",
|
||||
"top_day": "ტოპ დღეს"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"@@locale": "km"
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"@@locale": "ko",
|
||||
"settings": "설정",
|
||||
"password": "비밀번호",
|
||||
"email_or_username": "이메일 또는 유저명",
|
||||
"posts": "게시글",
|
||||
"comments": "덧글",
|
||||
"modlog": "관리기록",
|
||||
"community": "커뮤니티",
|
||||
"url": "URL",
|
||||
"title": "제목",
|
||||
"body": "내용",
|
||||
"nsfw": "민감한 콘텐츠(후방주의, 성인)",
|
||||
"post": "등록",
|
||||
"save": "저장",
|
||||
"subscribed": "구독",
|
||||
"local": "Local",
|
||||
"all": "모두",
|
||||
"replies": "댓글",
|
||||
"mentions": "언급",
|
||||
"from": "에서",
|
||||
"to": "to",
|
||||
"deleted_by_creator": "글쓴이에 의해 삭제됨",
|
||||
"more": "더 보기",
|
||||
"mark_as_read": "읽은 상태로 표시",
|
||||
"mark_as_unread": "읽지 않은 상태로 표시",
|
||||
"reply": "댓글",
|
||||
"edit": "수정",
|
||||
"delete": "삭제",
|
||||
"restore": "복원",
|
||||
"yes": "네",
|
||||
"no": "아니오",
|
||||
"avatar": "아바타",
|
||||
"banner": "배너",
|
||||
"display_name": "표시 이름",
|
||||
"bio": "자기 소개",
|
||||
"email": "이메일",
|
||||
"matrix_user": "메트릭스 사용자",
|
||||
"sort_type": "정렬",
|
||||
"type": "유형",
|
||||
"show_nsfw": "민감한 콘텐츠 보기",
|
||||
"send_notifications_to_email": "이메일로 알림 보내기",
|
||||
"delete_account": "계정 삭제",
|
||||
"saved": "저장한글",
|
||||
"communities": "커뮤니티",
|
||||
"users": "유저",
|
||||
"theme": "테마",
|
||||
"language": "언어",
|
||||
"hot": "인기있는",
|
||||
"new_": "새로운",
|
||||
"old": "오래된",
|
||||
"top": "Top",
|
||||
"chat": "대화",
|
||||
"admin": "관리자",
|
||||
"by": "작성",
|
||||
"not_an_admin": "관리자가 아닙니다.",
|
||||
"couldnt_find_post": "게시물을 찾을 수 없습니다.",
|
||||
"not_logged_in": "로그인하지 않았습니다.",
|
||||
"site_ban": "당신은 사이트에서 추방되었습니다",
|
||||
"community_ban": "이 커뮤니티에서 추방되었습니다.",
|
||||
"downvotes_disabled": "내림 비활성화",
|
||||
"invalid_url": "잘못된 URL.",
|
||||
"locked": "잠김",
|
||||
"couldnt_create_comment": "덧글을 작성할 수 없습니다.",
|
||||
"couldnt_like_comment": "덧글에 좋아요 표시를 할 수 없습니다.",
|
||||
"couldnt_update_comment": "덧글을 업데이트 할 수 없습니다.",
|
||||
"no_comment_edit_allowed": "덧글을 수정할 수 없습니다.",
|
||||
"couldnt_save_comment": "덧글을 저장할 수 없습니다.",
|
||||
"couldnt_get_comments": "덧글을 가져올 수 없습니다.",
|
||||
"report_reason_required": "사유를 제출해야합니다.",
|
||||
"report_too_long": "보고 글이 너무 길어요.",
|
||||
"couldnt_create_report": "보고서를 생성할 수 없습니다.",
|
||||
"couldnt_resolve_report": "보고서를 해결할 수 없습니다.",
|
||||
"invalid_post_title": "잘못된 게시물 제목",
|
||||
"couldnt_create_post": "게시물을 작성할 수 없습니다.",
|
||||
"couldnt_like_post": "이 게시물에 좋아요 표시를 할 수 없습니다.",
|
||||
"couldnt_find_community": "커뮤니티를 찾을 수 없습니다.",
|
||||
"couldnt_get_posts": "게시물을 가져올 수 없습니다",
|
||||
"no_post_edit_allowed": "게시물을 수정할 수 없습니다.",
|
||||
"couldnt_save_post": "게시물을 저장할 수 없습니다.",
|
||||
"site_already_exists": "사이트가 이미 존재합니다.",
|
||||
"couldnt_update_site": "사이트를 업데이트 할 수 없습니다.",
|
||||
"invalid_community_name": "잘못된 이름.",
|
||||
"community_already_exists": "커뮤니티가 이미 존재합니다.",
|
||||
"community_moderator_already_exists": "커뮤니티 운영자가 이미 존재합니다.",
|
||||
"community_follower_already_exists": "커뮤니티 팔로어가 이미 존재합니다.",
|
||||
"not_a_moderator": "중재자가 아닙니다.",
|
||||
"couldnt_update_community": "커뮤니티를 업데이트 할 수 없습니다.",
|
||||
"no_community_edit_allowed": "커뮤니티를 수정할 수 없습니다.",
|
||||
"system_err_login": "시스템 오류. 다시 로그인하십시오.",
|
||||
"community_user_already_banned": "커뮤니티 사용자가 이미 차단되었습니다.",
|
||||
"couldnt_find_that_username_or_email": "해당 사용자 이름이나 이메일을 찾을 수 없습니다.",
|
||||
"password_incorrect": "잘못된 비밀번호입니다.",
|
||||
"registration_closed": "등록 닫기",
|
||||
"invalid_password": "잘못된 비밀번호입니다. 비밀번호는 60글자이하로 만들어야 합니다.",
|
||||
"passwords_dont_match": "비밀번호가 일치하지 않습니다.",
|
||||
"captcha_incorrect": "보안문자가 일치하지 않습니다.",
|
||||
"invalid_username": "잘못된 사용자 이름.",
|
||||
"bio_length_overflow": "자기 소개는 300자를 초과 할 수 없습니다.",
|
||||
"couldnt_update_user": "사용자를 업데이트 할 수 없습니다.",
|
||||
"couldnt_update_private_message": "개인 메시지를 업데이트 할 수 없습니다.",
|
||||
"couldnt_update_post": "게시물을 업데이트 할 수 없습니다",
|
||||
"couldnt_create_private_message": "개인 메시지를 만들 수 없습니다.",
|
||||
"no_private_message_edit_allowed": "개인 메시지를 편집 할 수 없습니다.",
|
||||
"post_title_too_long": "게시물 제목이 너무 깁니다.",
|
||||
"email_already_exists": "이메일이 이미 존재합니다.",
|
||||
"user_already_exists": "사용자가 이미 존재합니다.",
|
||||
"number_of_users_online": "{count,plural, =1{접속자수 {count}}}",
|
||||
"number_of_comments": "{count,plural, =1{덧글수 {count}}}",
|
||||
"number_of_posts": "{count,plural, =1{게시물 수 {count}}}",
|
||||
"number_of_subscribers": "{count,plural, =1{구독자수{count}}}",
|
||||
"number_of_users": "{count,plural, =1{가입자수 {count}}}",
|
||||
"unsubscribe": "구독취소",
|
||||
"subscribe": "구독",
|
||||
"messages": "메세지",
|
||||
"banned_users": "금지 된 사용자",
|
||||
"delete_account_confirm": "경고 : 모든 데이터가 영구적으로 삭제됩니다. 확인을 위해 비밀번호를 입력하십시오.",
|
||||
"new_password": "새 비밀번호",
|
||||
"verify_password": "비밀번호 재입력",
|
||||
"old_password": "기존 비밀번호",
|
||||
"show_avatars": "아바타 보기",
|
||||
"search": "검색",
|
||||
"send_message": "메세지 전송",
|
||||
"top_day": "일별",
|
||||
"top_week": "주별",
|
||||
"top_month": "월별",
|
||||
"top_year": "년간",
|
||||
"top_all": "전체",
|
||||
"most_comments": "최근 댓글",
|
||||
"new_comments": "새 덧글",
|
||||
"active": "활발한"
|
||||
}
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"@@locale": "nl",
|
||||
"settings": "Instellingen",
|
||||
"password": "Wachtwoord",
|
||||
"email_or_username": "E-mail of gebruikersnaam",
|
||||
"posts": "Posts",
|
||||
"comments": "Reacties",
|
||||
"modlog": "Moderatorlog",
|
||||
"community": "Community",
|
||||
"url": "url",
|
||||
"title": "Titel",
|
||||
"body": "Tekst",
|
||||
"nsfw": "NSFW",
|
||||
"post": "post",
|
||||
"save": "opslaan",
|
||||
"subscribed": "Geabonneerd",
|
||||
"all": "Alle",
|
||||
"replies": "Reacties",
|
||||
"mentions": "vermeldingen",
|
||||
"from": "van",
|
||||
"to": "aan",
|
||||
"deleted_by_creator": "verwijderd door maker",
|
||||
"more": "meer",
|
||||
"mark_as_read": "markeer als gelezen",
|
||||
"mark_as_unread": "markeer als ongelezen",
|
||||
"reply": "reageer",
|
||||
"edit": "bewerk",
|
||||
"delete": "verwijder",
|
||||
"restore": "herstellen",
|
||||
"yes": "ja",
|
||||
"no": "nee",
|
||||
"avatar": "Avatar",
|
||||
"email": "E-mail",
|
||||
"matrix_user": "Matrix gebruikers-id",
|
||||
"sort_type": "Sorteertype",
|
||||
"type": "Type",
|
||||
"show_nsfw": "Laat NSFW-inhoud zien",
|
||||
"send_notifications_to_email": "Stuur meldingen naar je email",
|
||||
"delete_account": "Verwijder account",
|
||||
"saved": "Opgeslagen",
|
||||
"communities": "Gemeenschappen",
|
||||
"users": "Gebruikers",
|
||||
"theme": "Thema",
|
||||
"language": "Taal",
|
||||
"hot": "Populair",
|
||||
"new_": "Nieuw",
|
||||
"old": "Oud",
|
||||
"top": "Top",
|
||||
"chat": "Praat",
|
||||
"admin": "beheerder",
|
||||
"by": "door",
|
||||
"not_an_admin": "Niet een beheerder.",
|
||||
"couldnt_find_post": "Kon post niet vinden.",
|
||||
"not_logged_in": "Niet ingelogd.",
|
||||
"site_ban": "Je bent verbannen van deze site",
|
||||
"community_ban": "Je bent verbannen uit deze community.",
|
||||
"downvotes_disabled": "Downvotes geblokkeerd",
|
||||
"locked": "gesloten",
|
||||
"couldnt_create_comment": "Kon reactie niet maken.",
|
||||
"couldnt_like_comment": "Kon reactie niet leuk vinden.",
|
||||
"couldnt_update_comment": "Kon reactie niet bijwerken.",
|
||||
"no_comment_edit_allowed": "Niet toegestaan om reactie te bewerken.",
|
||||
"couldnt_save_comment": "Kon reactie niet opslaan.",
|
||||
"couldnt_get_comments": "Kon reacties niet ophalen.",
|
||||
"couldnt_create_post": "Kon post niet maken.",
|
||||
"couldnt_like_post": "Kon post niet leuk vinden.",
|
||||
"couldnt_find_community": "Kon community niet vinden.",
|
||||
"couldnt_get_posts": "Kon posts niet ophalen",
|
||||
"no_post_edit_allowed": "Niet toegestaan om posts te bewerken.",
|
||||
"couldnt_save_post": "Kon post niet opslaan.",
|
||||
"site_already_exists": "Site bestaat al.",
|
||||
"couldnt_update_site": "Kon site niet bijwerken.",
|
||||
"invalid_community_name": "Ongeldige naam.",
|
||||
"community_already_exists": "Community bestaat al.",
|
||||
"community_moderator_already_exists": "Community-moderator bestaat al.",
|
||||
"community_follower_already_exists": "Community-volger bestaat al.",
|
||||
"couldnt_update_community": "Kon community niet bijwerken.",
|
||||
"no_community_edit_allowed": "Niet toegestaan om community te bewerken.",
|
||||
"system_err_login": "Systeemfout. Probeer uit te loggen en weer in te loggen.",
|
||||
"community_user_already_banned": "Community-gebruiker reeds verbannen.",
|
||||
"couldnt_find_that_username_or_email": "Kon gebruikersnaam of e-mailadres niet vinden.",
|
||||
"password_incorrect": "Wachtwoord incorrect.",
|
||||
"registration_closed": "Registratie gesloten",
|
||||
"passwords_dont_match": "Wachtwoorden zijn niet gelijk.",
|
||||
"invalid_username": "Ongeldige gebruikersnaam.",
|
||||
"couldnt_update_user": "Kon gebruiker niet bijwerken.",
|
||||
"couldnt_update_private_message": "Kan beveiligd bericht niet bijwerken.",
|
||||
"couldnt_update_post": "Kon post niet bijwerken",
|
||||
"couldnt_create_private_message": "Kan beveiligd bericht niet maken.",
|
||||
"no_private_message_edit_allowed": "Niet toegestaan om privé berichten te wijzigen.",
|
||||
"post_title_too_long": "Posttitel te lang.",
|
||||
"email_already_exists": "Email bestaat al.",
|
||||
"user_already_exists": "Gebruiker bestaat al.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} gebruiker online} other{{count} gebruikers online}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} reactie} other{{count} reacties}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} post} other{{count} posts}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} abonnee} other{{count} abonnees}}",
|
||||
"number_of_users": "{count,plural, =1{{count} gebruiker} other{{count} gebruikers}}",
|
||||
"unsubscribe": "Afmelden",
|
||||
"subscribe": "Abonneren",
|
||||
"messages": "Berichten",
|
||||
"banned_users": "Verbannen gebruikers",
|
||||
"delete_account_confirm": "Waarschuwing: dit zal al uw data voorgoed verwijderen, vul uw wachtwoord in om te bevestigen.",
|
||||
"new_password": "Nieuw wachtwoord",
|
||||
"verify_password": "Herhaal wachtwoord",
|
||||
"old_password": "Oud wachtwoord",
|
||||
"show_avatars": "Toon avatars",
|
||||
"search": "Zoek",
|
||||
"send_message": "Verstuur bericht",
|
||||
"top_day": "Dagelijkse top"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"@@locale": "oc"
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
{
|
||||
"@@locale": "pl",
|
||||
"settings": "Ustawienia",
|
||||
"password": "Hasło",
|
||||
"email_or_username": "Email lub Nazwa Użytkownika",
|
||||
"posts": "Posty",
|
||||
"comments": "Komentarze",
|
||||
"modlog": "Log moderatorski",
|
||||
"community": "Społeczność",
|
||||
"url": "URL",
|
||||
"title": "Tytuł",
|
||||
"body": "Treść",
|
||||
"nsfw": "NSFW",
|
||||
"post": "post",
|
||||
"save": "zapisz",
|
||||
"subscribed": "Zasubskrybowane",
|
||||
"local": "Lokalne",
|
||||
"all": "Wszystko",
|
||||
"replies": "Odpowiedzi",
|
||||
"mentions": "Wzmianki",
|
||||
"from": "od",
|
||||
"to": "do",
|
||||
"deleted_by_creator": "usunięte przez autora",
|
||||
"more": "więcej",
|
||||
"mark_as_read": "zaznacz jako przeczytane",
|
||||
"mark_as_unread": "zaznacz jako nieprzeczytane",
|
||||
"reply": "odpowiedz",
|
||||
"edit": "edytuj",
|
||||
"delete": "usuń",
|
||||
"restore": "przywróć",
|
||||
"yes": "tak",
|
||||
"no": "nie",
|
||||
"avatar": "Awatar",
|
||||
"banner": "Banner",
|
||||
"display_name": "Nazwa wyświetlana",
|
||||
"bio": "Opis",
|
||||
"email": "Email",
|
||||
"matrix_user": "Użytkownik Matrixa",
|
||||
"sort_type": "Sortuj typ",
|
||||
"type": "Rodzaj",
|
||||
"show_nsfw": "Pokaż treści NSFW (+18)",
|
||||
"send_notifications_to_email": "Wysyłaj powiadomienia na Email",
|
||||
"delete_account": "Usuń Konto",
|
||||
"saved": "Zapisane",
|
||||
"communities": "Społeczności",
|
||||
"users": "Użytkownicy",
|
||||
"theme": "Motyw",
|
||||
"language": "Język",
|
||||
"hot": "Popularne",
|
||||
"new_": "Nowe",
|
||||
"old": "Stare",
|
||||
"top": "Najpopularniejsze",
|
||||
"chat": "Czat",
|
||||
"admin": "administrator",
|
||||
"by": "przez",
|
||||
"not_an_admin": "Nie jest administratorem.",
|
||||
"couldnt_find_post": "Nie udało się znaleźć posta.",
|
||||
"not_logged_in": "Nie jesteś zalogowana/y.",
|
||||
"site_ban": "Zostałaś/eś zbanowana/y z tej witryny",
|
||||
"community_ban": "Zostałaś/eś zbanowana/y z tej społeczności.",
|
||||
"downvotes_disabled": "Wdółgłosy wyłączone",
|
||||
"invalid_url": "Nieprawidłowy URL.",
|
||||
"locked": "zablokowane",
|
||||
"couldnt_create_comment": "Nie udało się stworzyć komentarza.",
|
||||
"couldnt_like_comment": "Polubienie komentarza nie powiodło się.",
|
||||
"couldnt_update_comment": "Zaktualizowanie komentarza nie powiodło się.",
|
||||
"no_comment_edit_allowed": "Nie masz uprawnień do edycji komentarza.",
|
||||
"couldnt_save_comment": "Zapisanie komentarza nie powiodło się.",
|
||||
"couldnt_get_comments": "Pobranie komentarzy nie powiodło się.",
|
||||
"report_reason_required": "Wymagane jest uzasadnienie zgłoszenia.",
|
||||
"report_too_long": "Zgłoszenie jest zbyt długie.",
|
||||
"couldnt_create_report": "Nie udało się stworzyć zgłoszenia.",
|
||||
"couldnt_resolve_report": "Nie udało się rozwiazać zgłoszenia.",
|
||||
"invalid_post_title": "Nieprawidłowy tytuł posta",
|
||||
"couldnt_create_post": "Nie udało się stworzyć posta.",
|
||||
"couldnt_like_post": "Nie udało się polubić posta.",
|
||||
"couldnt_find_community": "Nie udało się znaleźć społeczności.",
|
||||
"couldnt_get_posts": "Nie udało się pobrać postów",
|
||||
"no_post_edit_allowed": "Nie masz uprawnień do edycji posta.",
|
||||
"couldnt_save_post": "Nie udało się zapisać posta.",
|
||||
"site_already_exists": "Witryna już istnieje.",
|
||||
"couldnt_update_site": "Nie udało się zaktualizować witryny.",
|
||||
"invalid_community_name": "Niepoprawna nazwa.",
|
||||
"community_already_exists": "Społeczność już istnieje.",
|
||||
"community_moderator_already_exists": "Moderator społeczności już istnieje.",
|
||||
"community_follower_already_exists": "Osoba obserwująca społeczność już istnieje.",
|
||||
"not_a_moderator": "Nie jest moderatorem.",
|
||||
"couldnt_update_community": "Nie udało się zaktualizować Społeczności.",
|
||||
"no_community_edit_allowed": "Nie masz uprawnień do edycji społeczności.",
|
||||
"system_err_login": "Błąd systemu. Spróbuj wylogować się i następnie zalogować ponownie.",
|
||||
"community_user_already_banned": "Użytkownik społeczności jest już zbanowany.",
|
||||
"couldnt_find_that_username_or_email": "Nie udało się znaleźć takiej nazwy użytkownika lub adresu email.",
|
||||
"password_incorrect": "Hasło niepoprawne.",
|
||||
"registration_closed": "Rejestracja Zamknięta",
|
||||
"invalid_password": "Nieprawidłowe hasło. Hasło musi mieć mniej niż 60 znaków.",
|
||||
"passwords_dont_match": "Hasła nie pasują do siebie.",
|
||||
"captcha_incorrect": "Captcha niepoprawna.",
|
||||
"invalid_username": "Nieprawidłowa nazwa użytkownika.",
|
||||
"bio_length_overflow": "To pole nie może przekraczać 300 znaków.",
|
||||
"couldnt_update_user": "Nie udało się zaktualizować użytkownika.",
|
||||
"couldnt_update_private_message": "Nie udało się zaktualizować prywatnej wiadomości.",
|
||||
"couldnt_update_post": "Nie udało się zaktualizować postów",
|
||||
"couldnt_create_private_message": "Nie udało się stworzyć prywatnej wiadomości.",
|
||||
"no_private_message_edit_allowed": "Brak uprawnień do edycji prywatnej wiadomości.",
|
||||
"post_title_too_long": "Tytuł posta zbyt długi.",
|
||||
"email_already_exists": "Email już istnieje.",
|
||||
"user_already_exists": "Użytkownik już istnieje.",
|
||||
"unsubscribe": "Odsubskrybuj",
|
||||
"subscribe": "Subskrybuj",
|
||||
"messages": "Wiadomości",
|
||||
"banned_users": "Zbanowani Użytkownicy",
|
||||
"delete_account_confirm": "Ostrzeżenie: twoje dane zostaną bezpowrotnie usunięte. Wpisz swoje hasło aby potwierdzić.",
|
||||
"new_password": "Nowe Hasło",
|
||||
"verify_password": "Zweryfikuj Hasło",
|
||||
"old_password": "Stare Hasło",
|
||||
"show_avatars": "Pokaż Awatary",
|
||||
"search": "Szukaj",
|
||||
"send_message": "Wyślij Wiadomość",
|
||||
"top_day": "Najpopularniejsze dziś",
|
||||
"top_week": "Najpopularniejsze tydzień",
|
||||
"top_month": "Najpopularniejsze miesiąc",
|
||||
"top_year": "Najpopularniejsze rok",
|
||||
"top_all": "Najpopularniejsze kiedykolwiek",
|
||||
"most_comments": "Najwięcej komentarzy",
|
||||
"active": "Aktywne"
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{}
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"@@locale": "pt_BR",
|
||||
"settings": "Configurações",
|
||||
"password": "Senha",
|
||||
"email_or_username": "E-mail ou nome de usuário",
|
||||
"posts": "Publicações",
|
||||
"comments": "Comentários",
|
||||
"modlog": "Registro de moderação",
|
||||
"community": "Comunidade",
|
||||
"url": "URL",
|
||||
"title": "Título",
|
||||
"body": "Conteúdo",
|
||||
"nsfw": "NSFW",
|
||||
"post": "publicação",
|
||||
"save": "guardar",
|
||||
"subscribed": "Inscrito",
|
||||
"local": "Local",
|
||||
"all": "Tudo",
|
||||
"replies": "Respostas",
|
||||
"mentions": "Menções",
|
||||
"from": "de",
|
||||
"to": "para",
|
||||
"deleted_by_creator": "apagado pelo criador",
|
||||
"more": "mais",
|
||||
"mark_as_read": "marcar como lido",
|
||||
"mark_as_unread": "marcar como não lido",
|
||||
"reply": "responder",
|
||||
"edit": "editar",
|
||||
"delete": "apagar",
|
||||
"restore": "restaurar",
|
||||
"yes": "sim",
|
||||
"no": "não",
|
||||
"avatar": "Avatar",
|
||||
"banner": "Banner",
|
||||
"display_name": "Nome de exibição",
|
||||
"bio": "Biografia",
|
||||
"email": "E-mail",
|
||||
"matrix_user": "Usuário Matrix",
|
||||
"sort_type": "Ordenação",
|
||||
"type": "Tipo",
|
||||
"show_nsfw": "Mostrar conteúdo NSFW",
|
||||
"send_notifications_to_email": "Enviar notificações para o e-mail",
|
||||
"delete_account": "Apagar conta",
|
||||
"saved": "Guardado",
|
||||
"communities": "Comunidades",
|
||||
"users": "Usuários",
|
||||
"theme": "Tema",
|
||||
"language": "Idioma",
|
||||
"hot": "Popular",
|
||||
"new_": "Novo",
|
||||
"old": "Velho",
|
||||
"top": "Top",
|
||||
"chat": "Chat",
|
||||
"admin": "administrador",
|
||||
"by": "por",
|
||||
"not_an_admin": "Não é administrador.",
|
||||
"couldnt_find_post": "Não foi possível encontrar a publicação.",
|
||||
"not_logged_in": "Não autenticado.",
|
||||
"site_ban": "Você foi banido do site",
|
||||
"community_ban": "Você foi banido desta comunidade.",
|
||||
"downvotes_disabled": "Votos negativos desativados",
|
||||
"invalid_url": "URL inválida.",
|
||||
"locked": "trancado",
|
||||
"couldnt_create_comment": "Não foi possível criar o comentário.",
|
||||
"couldnt_like_comment": "Não foi possível curtir o comentário.",
|
||||
"couldnt_update_comment": "Não foi possível atualizar o comentário.",
|
||||
"no_comment_edit_allowed": "Sem permissão para editar comentário.",
|
||||
"couldnt_save_comment": "Não foi possível salvar o comentário.",
|
||||
"couldnt_get_comments": "Não foi possível obter os comentários.",
|
||||
"invalid_post_title": "Título de publicação inválido",
|
||||
"couldnt_create_post": "Não foi possível criar a publicação.",
|
||||
"couldnt_like_post": "Não foi possível curtir a publicação.",
|
||||
"couldnt_find_community": "Não foi possível encontrar a comunidade.",
|
||||
"couldnt_get_posts": "Não foi possível obter as publicações",
|
||||
"no_post_edit_allowed": "Sem permissão para editar publicação.",
|
||||
"couldnt_save_post": "Não foi possível guardar a publicação.",
|
||||
"site_already_exists": "O site já existe.",
|
||||
"couldnt_update_site": "Não foi possível atualizar o site.",
|
||||
"invalid_community_name": "Nome inválido.",
|
||||
"community_already_exists": "Esta comunidade já existe.",
|
||||
"community_moderator_already_exists": "Este moderador da comunidade já existe.",
|
||||
"community_follower_already_exists": "Este seguidor da comunidade já existe.",
|
||||
"not_a_moderator": "Não é da moderação.",
|
||||
"couldnt_update_community": "Não foi possível atualizar a comunidade.",
|
||||
"no_community_edit_allowed": "Sem permissão para editar comunidade.",
|
||||
"system_err_login": "Erro no sistema. Tente sair e autenticar-se outra vez.",
|
||||
"community_user_already_banned": "Este usuário da comunidade já foi banido.",
|
||||
"couldnt_find_that_username_or_email": "Não foi possível encontrar esse usuário ou e-mail.",
|
||||
"password_incorrect": "Senha incorreta.",
|
||||
"registration_closed": "Registros desativados",
|
||||
"invalid_password": "Senha inválida. A senha deve ter no máximo 60 caracteres.",
|
||||
"passwords_dont_match": "As senhas não são iguais.",
|
||||
"captcha_incorrect": "Captcha incorreto.",
|
||||
"invalid_username": "Nome de usuário inválido.",
|
||||
"bio_length_overflow": "Uma biografia de usuário não pode ter mais de 300 caracters.",
|
||||
"couldnt_update_user": "Não foi possível atualizar o usuário.",
|
||||
"couldnt_update_private_message": "Não foi possível atualizar a mensagem privada.",
|
||||
"couldnt_update_post": "Não foi possível atualizar a publicação",
|
||||
"couldnt_create_private_message": "Não foi possível criar mensagem privada.",
|
||||
"no_private_message_edit_allowed": "Sem permissão para editar mensagem privada.",
|
||||
"post_title_too_long": "Título da publicação muito longo.",
|
||||
"email_already_exists": "Este e-mail já existe.",
|
||||
"user_already_exists": "Este usuário já existe.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} usuário online} other{{count} usuários online}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} comentário} other{{count} comentários}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} publicação} other{{count} publicações}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} inscrito} other{{count} inscritos}}",
|
||||
"number_of_users": "{count,plural, =1{{count} usuário} other{{count} usuários}}",
|
||||
"unsubscribe": "Cancelar inscrição",
|
||||
"subscribe": "Inscrever-se",
|
||||
"messages": "Mensagens",
|
||||
"banned_users": "Usuários Banidos",
|
||||
"delete_account_confirm": "Aviso: isso vai apagar seus dados de forma permanente. Escreva sua senha para confirmar.",
|
||||
"new_password": "Nova senha",
|
||||
"verify_password": "Verifique a senha",
|
||||
"old_password": "Senha antiga",
|
||||
"show_avatars": "Mostrar Avatares",
|
||||
"search": "Busca",
|
||||
"send_message": "Enviar mensagem",
|
||||
"top_day": "Top do dia",
|
||||
"active": "Ativo"
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
{
|
||||
"@@locale": "ru",
|
||||
"settings": "Настройки",
|
||||
"password": "Пароль",
|
||||
"email_or_username": "Электронная почта или имя пользователя",
|
||||
"posts": "Записи",
|
||||
"comments": "Комментарии",
|
||||
"modlog": "Модлог",
|
||||
"community": "Сообщество",
|
||||
"url": "URL",
|
||||
"title": "Название",
|
||||
"body": "Тело",
|
||||
"nsfw": "NSFW",
|
||||
"post": "запись",
|
||||
"save": "сохранить",
|
||||
"subscribed": "Подписаны",
|
||||
"local": "Местное",
|
||||
"all": "Всё",
|
||||
"replies": "Ответы",
|
||||
"mentions": "Упоминания",
|
||||
"from": "от",
|
||||
"to": "в",
|
||||
"deleted_by_creator": "удалено автором",
|
||||
"more": "больше",
|
||||
"mark_as_read": "пометить как прочитанное",
|
||||
"mark_as_unread": "пометить как непрочитанное",
|
||||
"reply": "ответить",
|
||||
"edit": "редактировать",
|
||||
"delete": "удалить",
|
||||
"restore": "восстановить",
|
||||
"yes": "да",
|
||||
"no": "нет",
|
||||
"avatar": "Аватар",
|
||||
"banner": "Баннер",
|
||||
"display_name": "Отображаемое имя",
|
||||
"bio": "Описание пользователя",
|
||||
"email": "Электронная почта",
|
||||
"matrix_user": "Адрес в Matrix",
|
||||
"sort_type": "Тип сортировки",
|
||||
"type": "Тип",
|
||||
"show_nsfw": "Показывать NSFW-контент",
|
||||
"send_notifications_to_email": "Посылать уведомления на e-mail адрес",
|
||||
"delete_account": "Удалить аккаунт",
|
||||
"saved": "Сохранено",
|
||||
"communities": "Сообщества",
|
||||
"users": "Пользователи",
|
||||
"theme": "Визуальная тема",
|
||||
"language": "Язык",
|
||||
"hot": "Популярно",
|
||||
"new_": "Новое",
|
||||
"old": "Старое",
|
||||
"top": "Лучшее",
|
||||
"chat": "Чат",
|
||||
"admin": "администратор",
|
||||
"by": "от",
|
||||
"not_an_admin": "Не администратор.",
|
||||
"couldnt_find_post": "Не получилось найти запись.",
|
||||
"not_logged_in": "Не авторизованы.",
|
||||
"site_ban": "Вы были заблокированы на данном сайте",
|
||||
"community_ban": "Вы были заблокированы в данном сообществе.",
|
||||
"downvotes_disabled": "Отрицательное голосование отключено",
|
||||
"invalid_url": "Недопустимый URL.",
|
||||
"locked": "заблокировано",
|
||||
"couldnt_create_comment": "Не получилось создать комментарий.",
|
||||
"couldnt_like_comment": "Не получилось лайкнуть комментарий.",
|
||||
"couldnt_update_comment": "Не получилось обновить комментарий.",
|
||||
"no_comment_edit_allowed": "Невозможно отредактировать комментарий.",
|
||||
"couldnt_save_comment": "Не получилось сохранить комментарий.",
|
||||
"couldnt_get_comments": "Не удалось получить комментарии.",
|
||||
"report_reason_required": "Укажите причину жалобы.",
|
||||
"report_too_long": "Жалоба слишком длинная.",
|
||||
"couldnt_create_report": "Невозможно создать жалобу.",
|
||||
"couldnt_resolve_report": "Невозможно разрешить жалобу.",
|
||||
"invalid_post_title": "Недопустимый заголовок записи",
|
||||
"couldnt_create_post": "Не получилось создать запись.",
|
||||
"couldnt_like_post": "Не получилось лайкнуть запись.",
|
||||
"couldnt_find_community": "Не получилось найти сообщество.",
|
||||
"couldnt_get_posts": "Не получилось найти записи",
|
||||
"no_post_edit_allowed": "Невозможно отредактировать запись.",
|
||||
"couldnt_save_post": "Не получилось сохранить запись.",
|
||||
"site_already_exists": "Сайт уже существует.",
|
||||
"couldnt_update_site": "Не получилось обновить сайт.",
|
||||
"invalid_community_name": "Неверное имя пользователя.",
|
||||
"community_already_exists": "Сообщество уже существует.",
|
||||
"community_moderator_already_exists": "Модератор сообщества уже существует.",
|
||||
"community_follower_already_exists": "Подписчик сообщества уже существует.",
|
||||
"not_a_moderator": "Не модератор.",
|
||||
"couldnt_update_community": "Не получилось обновить сообщество.",
|
||||
"no_community_edit_allowed": "Невозможно отредактировать сообщество.",
|
||||
"system_err_login": "Системная ошибка. Попробуйте выйти из системы и вернуться обратно.",
|
||||
"community_user_already_banned": "Пользователь сообщества уже заблокирован.",
|
||||
"couldnt_find_that_username_or_email": "Не получилось найти данное имя пользователя или электронную почту.",
|
||||
"password_incorrect": "Неверный пароль.",
|
||||
"registration_closed": "Регистрация закрыта",
|
||||
"invalid_password": "Некорректный пароль. Пароль должен быть не длиннее 60 символов.",
|
||||
"passwords_dont_match": "Пароли не совпадают.",
|
||||
"captcha_incorrect": "Некорректная капча.",
|
||||
"invalid_username": "Неверное имя пользователя.",
|
||||
"bio_length_overflow": "Описание пользователя не может быть длиннее 300 символов.",
|
||||
"couldnt_update_user": "Не получилось обновить пользователя.",
|
||||
"couldnt_update_private_message": "Не удалось обновить личное сообщение.",
|
||||
"couldnt_update_post": "Не получилось обновить запись",
|
||||
"couldnt_create_private_message": "Не удалось создать личное сообщение.",
|
||||
"no_private_message_edit_allowed": "Не разрешается редактировать личное сообщение.",
|
||||
"post_title_too_long": "Длина названия записи превышает допустимый лимит.",
|
||||
"email_already_exists": "E-mail уже существует.",
|
||||
"user_already_exists": "Пользователь уже существует.",
|
||||
"unsubscribe": "Отписаться",
|
||||
"subscribe": "Подписаться",
|
||||
"messages": "Сообщения",
|
||||
"banned_users": "Забаненные пользователи",
|
||||
"delete_account_confirm": "Предупреждение: это действие полностью уничтожит все данные вашего аккаунта. Введите свой пароль для подтверждения.",
|
||||
"new_password": "Новый пароль",
|
||||
"verify_password": "Повторите пароль",
|
||||
"old_password": "Действующий пароль",
|
||||
"show_avatars": "Показывать аватары",
|
||||
"search": "Поиск",
|
||||
"send_message": "Послать сообщение",
|
||||
"top_day": "Лучшее за день",
|
||||
"top_week": "Лучшее за неделю",
|
||||
"top_month": "Лучшее за месяц",
|
||||
"top_year": "Лучшее за год",
|
||||
"top_all": "Лучшее за все время",
|
||||
"active": "Активное"
|
||||
}
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"@@locale": "sq",
|
||||
"settings": "Konfigurimet",
|
||||
"password": "Fjalëkalimi",
|
||||
"email_or_username": "Email-i ose Emri Virtual",
|
||||
"posts": "Postime",
|
||||
"comments": "Komentet",
|
||||
"modlog": "Ditari i moderimit",
|
||||
"community": "Komuniteti",
|
||||
"url": "URL",
|
||||
"title": "Titulli",
|
||||
"body": "Teksti",
|
||||
"nsfw": "NSFW",
|
||||
"post": "publiko",
|
||||
"save": "ruaj",
|
||||
"subscribed": "Jeni abonuar",
|
||||
"all": "Gjithçka",
|
||||
"replies": "Përgjigjet",
|
||||
"mentions": "Përmendur",
|
||||
"from": "nga",
|
||||
"to": "në",
|
||||
"deleted_by_creator": "është fshirë nga autori",
|
||||
"more": "më shumë",
|
||||
"mark_as_read": "shëno si të lexuar",
|
||||
"mark_as_unread": "shëno si të palexuar",
|
||||
"reply": "përgjigju",
|
||||
"edit": "redakto",
|
||||
"delete": "fshije",
|
||||
"restore": "riktheje",
|
||||
"yes": "po",
|
||||
"no": "jo",
|
||||
"avatar": "Fotoja e profilit",
|
||||
"email": "Email",
|
||||
"matrix_user": "Përdorues i Matrix-it",
|
||||
"sort_type": "Radhit sipas",
|
||||
"type": "Lloji",
|
||||
"show_nsfw": "Shfaq përmbajtje NSFW",
|
||||
"send_notifications_to_email": "Dërgo njoftimet në Email",
|
||||
"delete_account": "Fshije Account-in",
|
||||
"saved": "E ruajtur",
|
||||
"communities": "Komunitetet",
|
||||
"users": "Përdoruesit",
|
||||
"theme": "Pamja",
|
||||
"language": "Gjuha",
|
||||
"hot": "Popullore",
|
||||
"new_": "Të rejat",
|
||||
"old": "Të vjetrat",
|
||||
"top": "Më të pëqlyerat",
|
||||
"chat": "Chat",
|
||||
"admin": "administrator",
|
||||
"by": "nga",
|
||||
"not_an_admin": "Nuk je administrator.",
|
||||
"couldnt_find_post": "Nuk mund të gjendeshin postimet.",
|
||||
"not_logged_in": "Nuk jeni kyçur.",
|
||||
"site_ban": "Jeni dëbuar nga kjo faqe",
|
||||
"community_ban": "Jeni dëbuar nga ky komunitet.",
|
||||
"downvotes_disabled": "Votat negative janë të çaktivizuara",
|
||||
"locked": "mbyllur",
|
||||
"couldnt_create_comment": "Krijimi i komentit nuk ishte i mundshëm.",
|
||||
"couldnt_like_comment": "Pëlqimi i komentit nuk ishte i mundshëm.",
|
||||
"couldnt_update_comment": "Përditësimi i komentit nuk ishte i mundshëm.",
|
||||
"no_comment_edit_allowed": "Nuk të lejohet redaktimi i komentit.",
|
||||
"couldnt_save_comment": "Ruajtja e komentit nuk ishte e mundshme.",
|
||||
"couldnt_get_comments": "Nuk mund të merrnim komentet.",
|
||||
"couldnt_create_post": "Nuk mund të krijohej postimi.",
|
||||
"couldnt_like_post": "Nuk mund të pëlqehej postimi.",
|
||||
"couldnt_find_community": "Komuniteti nuk mund të gjendej.",
|
||||
"couldnt_get_posts": "Nuk mund të merreshin postimet",
|
||||
"no_post_edit_allowed": "Nuk lejohet redaktimi i postimit.",
|
||||
"couldnt_save_post": "Postimi nuk u ruajt.",
|
||||
"site_already_exists": "Faqja tashmë ekziston.",
|
||||
"couldnt_update_site": "Faqja nuk mund të përditësohej.",
|
||||
"invalid_community_name": "Emër invalid.",
|
||||
"community_already_exists": "Komuniteti ekziston më.",
|
||||
"community_moderator_already_exists": "Moderatori i komunitetit tashmë ekziston.",
|
||||
"community_follower_already_exists": "Ndjekësi i komunitetit tashmë ekziston.",
|
||||
"couldnt_update_community": "Komuniteti nuk mundi të përditësohej.",
|
||||
"no_community_edit_allowed": "Nuk të lejohet redaktimi i komunitetit.",
|
||||
"system_err_login": "Gabim sistemi. Provo të shkyçesh dhe të kyçesh përsëri.",
|
||||
"community_user_already_banned": "Anëtari i komunitetit tashmë është dëbuar.",
|
||||
"couldnt_find_that_username_or_email": "Nuk mund të gjendej ky emër virtual ose email.",
|
||||
"password_incorrect": "Fjalëkalimi është i pasaktë.",
|
||||
"registration_closed": "Regjistrimi u mbyll",
|
||||
"passwords_dont_match": "Fjalëkalimet nuk janë të njëjta.",
|
||||
"invalid_username": "Emri virtual është invalid.",
|
||||
"couldnt_update_user": "Përditësimi i përdoruesit nuk ishte i mundshëm.",
|
||||
"couldnt_update_private_message": "Nuk mundëm të përditësonim mesazhin privat.",
|
||||
"couldnt_update_post": "Postimi nuk mundi të përditësohej",
|
||||
"couldnt_create_private_message": "Nuk mund të krijohej mesazhi privat.",
|
||||
"no_private_message_edit_allowed": "Nuk lejohet redaktimi i mesazhit privat.",
|
||||
"post_title_too_long": "Titulli i postimit ishte shumë i gjatë.",
|
||||
"email_already_exists": "Email-i tashmë ekziston.",
|
||||
"user_already_exists": "Përdoruesi tashmë ekziston.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} Përdorues Online} other{{count} Përdoruesa Online}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} Koment} other{{count} Komente}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Postim} other{{count} Postime}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} i abonuar} other{{count} të abonuar}}",
|
||||
"number_of_users": "{count,plural, =1{{count} Përdorues} other{{count} Përdoruesa}}",
|
||||
"unsubscribe": "Ndalo Abonimin",
|
||||
"subscribe": "Abonohu",
|
||||
"messages": "Mesazhet",
|
||||
"banned_users": "Pëdoruesit e dëbuar",
|
||||
"delete_account_confirm": "Paralajmërim: kjo do të fshij të gjitha të dhënat e juaja përgjithmonë. Shtyp fjalëkalimin tënd për ta konfirmuar.",
|
||||
"new_password": "Fjalëkalimi i ri",
|
||||
"verify_password": "Konfirmo Fjalëkalimin",
|
||||
"old_password": "Fjalëkalimi i vjetër",
|
||||
"show_avatars": "Shfaq fotot e profilit",
|
||||
"search": "Kërko",
|
||||
"send_message": "Dërgo Mesazh",
|
||||
"top_day": "Më të pëlqyerat e ditës"
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"@@locale": "sr_Latn",
|
||||
"password": "Lozinka",
|
||||
"community": "Zajednica",
|
||||
"url": "URL",
|
||||
"body": "Sadržaj",
|
||||
"nsfw": "NSFW",
|
||||
"from": "od",
|
||||
"to": "do",
|
||||
"yes": "da",
|
||||
"no": "ne",
|
||||
"email": "Email",
|
||||
"matrix_user": "Korisnik Matrixa",
|
||||
"show_nsfw": "Prikaži NSFW sadržaj",
|
||||
"send_notifications_to_email": "Primajte notifikacie na Vaš Email",
|
||||
"theme": "Tema",
|
||||
"language": "Jezik",
|
||||
"chat": "Ćaskanje",
|
||||
"by": "od",
|
||||
"downvotes_disabled": "Onemogućite negativne glasove",
|
||||
"registration_closed": "Zatvorena registracija",
|
||||
"new_password": "Nova Lozinka",
|
||||
"verify_password": "Potvrdite Loziku",
|
||||
"old_password": "Stara Lozinka"
|
||||
}
|
|
@ -0,0 +1,131 @@
|
|||
{
|
||||
"@@locale": "sv",
|
||||
"settings": "Inställningar",
|
||||
"password": "Lösenord",
|
||||
"email_or_username": "E-postadress eller användarnamn",
|
||||
"posts": "Inlägg",
|
||||
"comments": "Kommentarer",
|
||||
"modlog": "Moderationslogg",
|
||||
"community": "Gemenskap",
|
||||
"url": "URL",
|
||||
"title": "Titel",
|
||||
"body": "Text",
|
||||
"nsfw": "Känsligt eller oförbehållsamt innehåll",
|
||||
"post": "publicera",
|
||||
"save": "spara",
|
||||
"subscribed": "Prenumererar",
|
||||
"local": "Lokalt",
|
||||
"all": "Allt",
|
||||
"replies": "Svar",
|
||||
"mentions": "Nämner",
|
||||
"from": "från",
|
||||
"to": "till",
|
||||
"deleted_by_creator": "raderad av skapare",
|
||||
"more": "mer",
|
||||
"mark_as_read": "markera som läst",
|
||||
"mark_as_unread": "markera som oläst",
|
||||
"reply": "svara",
|
||||
"edit": "redigera",
|
||||
"delete": "radera",
|
||||
"restore": "återställ",
|
||||
"yes": "ja",
|
||||
"no": "nej",
|
||||
"avatar": "Profilbild",
|
||||
"banner": "Omslagsbild",
|
||||
"display_name": "Visningsnamn",
|
||||
"bio": "Presentation",
|
||||
"email": "E-postadress",
|
||||
"matrix_user": "Matrix-användare",
|
||||
"sort_type": "Sortering",
|
||||
"type": "Typ",
|
||||
"show_nsfw": "Visa känsligt eller oförbehållsamt innehåll",
|
||||
"send_notifications_to_email": "Skicka aviseringar till e-postadress",
|
||||
"delete_account": "Ta bort konto",
|
||||
"saved": "Sparade",
|
||||
"communities": "Gemenskaper",
|
||||
"users": "Användare",
|
||||
"theme": "Utseende",
|
||||
"language": "Språk",
|
||||
"hot": "Hett",
|
||||
"new_": "Nytt",
|
||||
"old": "Gammalt",
|
||||
"top": "Topp",
|
||||
"chat": "Chatta",
|
||||
"admin": "administratör",
|
||||
"by": "av",
|
||||
"not_an_admin": "Inte en administratör.",
|
||||
"couldnt_find_post": "Kunde inte hitta inlägg.",
|
||||
"not_logged_in": "Inte inloggad.",
|
||||
"site_ban": "Du har blockerats från webbplatsen",
|
||||
"community_ban": "Du har blockerats från den här gemenskapen.",
|
||||
"downvotes_disabled": "Nedröstningar inaktiverade",
|
||||
"invalid_url": "Ogiltig URL.",
|
||||
"locked": "låst",
|
||||
"couldnt_create_comment": "Kunde inte skapa kommentar.",
|
||||
"couldnt_like_comment": "Kunde inte gilla kommentar.",
|
||||
"couldnt_update_comment": "Kunde inte uppdatera kommentar.",
|
||||
"no_comment_edit_allowed": "Har inte behörighet att redigera kommentar.",
|
||||
"couldnt_save_comment": "Kunde inte spara kommentar.",
|
||||
"couldnt_get_comments": "Kunde inte hämta kommentarer.",
|
||||
"report_reason_required": "En anledning måste anges.",
|
||||
"report_too_long": "Anmälan är för lång.",
|
||||
"couldnt_create_report": "Kunde inte skapa anmälan.",
|
||||
"couldnt_resolve_report": "Kunde inte markera anmälan som löst.",
|
||||
"invalid_post_title": "Ogiltig inläggstitel",
|
||||
"couldnt_create_post": "Kunde inte skapa inlägg.",
|
||||
"couldnt_like_post": "Kunde inte gilla inlägg.",
|
||||
"couldnt_find_community": "Kunde inte hitta gemenskap.",
|
||||
"couldnt_get_posts": "Kunde inte hämta inlägg",
|
||||
"no_post_edit_allowed": "Har inte behörighet att redigera inlägg.",
|
||||
"couldnt_save_post": "Kunde inte spara inlägg.",
|
||||
"site_already_exists": "Webbplatsen finns redan.",
|
||||
"couldnt_update_site": "Kunde inte uppdatera webbplats.",
|
||||
"invalid_community_name": "Ogiltigt namn.",
|
||||
"community_already_exists": "Gemenskapen finns redan.",
|
||||
"community_moderator_already_exists": "Gemenskapsmoderatorn finns redan.",
|
||||
"community_follower_already_exists": "Gemenskapsföljaren finns redan.",
|
||||
"not_a_moderator": "Inte en moderator.",
|
||||
"couldnt_update_community": "Kunde inte uppdatera gemenskap.",
|
||||
"no_community_edit_allowed": "Har inte behörighet att redigera gemenskap.",
|
||||
"system_err_login": "Systemfel. Försök att logga ut och sedan in igen.",
|
||||
"community_user_already_banned": "Gemenskapsanvändaren redan blockerad.",
|
||||
"couldnt_find_that_username_or_email": "Kunde inte hitta det användarnamnet eller e-postadressen.",
|
||||
"password_incorrect": "Ogiltigt lösenord.",
|
||||
"registration_closed": "Registrering stängd",
|
||||
"invalid_password": "Ogiltigt lösenord. Lösenordet måste innehålla minst 60 tecken.",
|
||||
"passwords_dont_match": "Lösenorden stämmer inte överens.",
|
||||
"captcha_incorrect": "Captchan stämmer inte.",
|
||||
"invalid_username": "Ogiltigt användarnamn.",
|
||||
"bio_length_overflow": "Användarpresentationen får inte innehålla fler än 300 tecken.",
|
||||
"couldnt_update_user": "Kunde inte uppdatera användare.",
|
||||
"couldnt_update_private_message": "Kunde inte uppdatera privat meddelande.",
|
||||
"couldnt_update_post": "Kunde inte uppdatera inlägg",
|
||||
"couldnt_create_private_message": "Kunde inte skapa privat meddelande.",
|
||||
"no_private_message_edit_allowed": "Inte tillåtet att redigera privata meddelanden.",
|
||||
"post_title_too_long": "Inläggstiteln är för lång.",
|
||||
"email_already_exists": "E-post finns redan.",
|
||||
"user_already_exists": "Användaren finns redan.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} användare inloggad} other{{count} användare inloggade}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} kommentar} other{{count} kommentarer}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} inlägg} other{{count} inlägg}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} prenumerant} other{{count} prenumeranter}}",
|
||||
"number_of_users": "{count,plural, =1{{count} användare} other{{count} användare}}",
|
||||
"unsubscribe": "Avsluta prenumeration",
|
||||
"subscribe": "Prenumerera",
|
||||
"messages": "Meddelanden",
|
||||
"banned_users": "Blockerade användare",
|
||||
"delete_account_confirm": "Varning: den här åtgärden kommer radera alla dina data permanent. Skriv in ditt lösenord för att bekräfta.",
|
||||
"new_password": "Nytt lösenord",
|
||||
"verify_password": "Bekräfta lösenord",
|
||||
"old_password": "Gammalt lösenord",
|
||||
"show_avatars": "Visa profilbilder",
|
||||
"search": "Sök",
|
||||
"send_message": "Skicka meddelande",
|
||||
"top_day": "Dagstoppen",
|
||||
"top_week": "Veckotoppen",
|
||||
"top_month": "Månadstoppen",
|
||||
"top_year": "Årstoppen",
|
||||
"top_all": "Totaltoppen",
|
||||
"most_comments": "Flest kommentarer",
|
||||
"active": "Aktivt"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"@@locale": "th"
|
||||
}
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"@@locale": "tr",
|
||||
"settings": "Ayarlar",
|
||||
"password": "Şifre",
|
||||
"email_or_username": "E-mail ya da Kullanıcı Adı",
|
||||
"posts": "Paylaşımlar",
|
||||
"comments": "Yorumlar",
|
||||
"modlog": "İdare geçmişi",
|
||||
"community": "Topluluk",
|
||||
"url": "URL",
|
||||
"title": "Başlık",
|
||||
"body": "Metin",
|
||||
"nsfw": "Müstehcen",
|
||||
"post": "paylaşım",
|
||||
"save": "kaydet",
|
||||
"subscribed": "Takibe alındı",
|
||||
"all": "Hepsi",
|
||||
"replies": "Cevaplar",
|
||||
"mentions": "Bahisler",
|
||||
"from": "tarafından",
|
||||
"to": "tarafına",
|
||||
"deleted_by_creator": "yazarı tarafından silindi",
|
||||
"more": "dahası",
|
||||
"mark_as_read": "okunmuş olarak işaretle",
|
||||
"mark_as_unread": "okunmamış olarak işaretle",
|
||||
"reply": "cevapla",
|
||||
"edit": "düzenle",
|
||||
"delete": "sil",
|
||||
"restore": "geri al",
|
||||
"yes": "evet",
|
||||
"no": "hayır",
|
||||
"avatar": "Avatar",
|
||||
"email": "E-mail",
|
||||
"matrix_user": "Matrix Kullanıcısı",
|
||||
"sort_type": "Sıralama metodu",
|
||||
"type": "Tür",
|
||||
"show_nsfw": "Müstehcen içerikleri göster",
|
||||
"send_notifications_to_email": "E-maile bildirim yolla",
|
||||
"delete_account": "Hesabı Sil",
|
||||
"saved": "Kaydedildi",
|
||||
"communities": "Topluluklar",
|
||||
"users": "Kullanıcılar",
|
||||
"theme": "Tema",
|
||||
"language": "Dil",
|
||||
"hot": "Flaş",
|
||||
"new_": "Yeni",
|
||||
"old": "Eski",
|
||||
"top": "En iyiler",
|
||||
"chat": "Sohbet",
|
||||
"admin": "baş idareci",
|
||||
"by": "tarafından",
|
||||
"not_an_admin": "Baş idareci değil.",
|
||||
"couldnt_find_post": "Paylaşım bulunamadı.",
|
||||
"not_logged_in": "Hesaba giriş yapılmamış.",
|
||||
"site_ban": "Bu siteden yasaklandınız",
|
||||
"community_ban": "Bu topluluğa yazmanız yasaklandı.",
|
||||
"downvotes_disabled": "Eksi puan verme özelliği kaldırıldı",
|
||||
"locked": "kilitlendi",
|
||||
"couldnt_create_comment": "Yorum yapılamadı.",
|
||||
"couldnt_like_comment": "Yorum beğenilemedi.",
|
||||
"couldnt_update_comment": "Yorum güncellenemedi.",
|
||||
"no_comment_edit_allowed": "Yorumu düzenleme izniniz yok.",
|
||||
"couldnt_save_comment": "Yorum kaydedilemedi.",
|
||||
"couldnt_get_comments": "Yorumlar yüklenemedi.",
|
||||
"couldnt_create_post": "Paylaşım yapılamadı.",
|
||||
"couldnt_like_post": "Paylaşım beğenilemedi.",
|
||||
"couldnt_find_community": "Topluluk bulunamadı.",
|
||||
"couldnt_get_posts": "Paylaşımlar yüklenemedi",
|
||||
"no_post_edit_allowed": "Paylaşımı düzenleme izniniz yok.",
|
||||
"couldnt_save_post": "Paylaşım kaydedilemedi.",
|
||||
"site_already_exists": "Bu site zaten var.",
|
||||
"couldnt_update_site": "Site güncellenemedi.",
|
||||
"invalid_community_name": "Hatalı ad.",
|
||||
"community_already_exists": "Böyle bir topluluk zaten var.",
|
||||
"community_moderator_already_exists": "Bu kullanıcı zaten bu topluluğun bir idarecisi.",
|
||||
"community_follower_already_exists": "Topluluğun böyle bir takipçisi zaten var.",
|
||||
"couldnt_update_community": "Topluluk bilgisi güncellenemedi.",
|
||||
"no_community_edit_allowed": "Topluluğu düzenleme yetkiniz yok.",
|
||||
"system_err_login": "Sistem hatası. Hesaptan çıkıp tekrar girmeyi deneyin.",
|
||||
"community_user_already_banned": "Bu kullanıcı zaten bu toplulukta yasaklı.",
|
||||
"couldnt_find_that_username_or_email": "Böyle bir e-mail ya da kullanıcı adı bulunamadı.",
|
||||
"password_incorrect": "Şifre yanlış.",
|
||||
"registration_closed": "Kayıt kapalı",
|
||||
"passwords_dont_match": "Şifreler eşleşmiyor.",
|
||||
"invalid_username": "Hatalı kullanıcı adı.",
|
||||
"couldnt_update_user": "Kullanıcı bilgisi güncellenemedi.",
|
||||
"couldnt_update_private_message": "Şahsa özel mesaj güncellenemedi.",
|
||||
"couldnt_update_post": "Paylaşım güncellenemedi",
|
||||
"couldnt_create_private_message": "Şahsa özel mesaj yaratılamadı.",
|
||||
"no_private_message_edit_allowed": "Şahsa özel mesajı düzenlemek mümkün değil.",
|
||||
"post_title_too_long": "Paylaşım başlığı çok uzun.",
|
||||
"email_already_exists": "Böyle bir e-mail adresi zaten var.",
|
||||
"user_already_exists": "Böyle bir kullanıcı zaten var.",
|
||||
"number_of_users_online": "{count,plural, =1{{count} Kullanıcı Hatta} other{{count} Kullanıcı Hatta}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} Yorum} other{{count} Yorum}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} Paylaşım} other{{count} Paylaşım}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} Takipçi} other{{count} Takipçi}}",
|
||||
"number_of_users": "{count,plural, =1{{count} Kullanıcı} other{{count} Kullanıcı}}",
|
||||
"unsubscribe": "Takibi bırak",
|
||||
"subscribe": "Takip et",
|
||||
"messages": "Mesajlar",
|
||||
"banned_users": "Yasaklanmış Kullanıcılar",
|
||||
"delete_account_confirm": "Uyarı: Devam etmek bütün verilerinizi kalıcı olarak silecektir. Onaylamak için şifrenizi girin.",
|
||||
"new_password": "Yeni şifre",
|
||||
"verify_password": "Şifreyi doğrulayın",
|
||||
"old_password": "Eski şifre",
|
||||
"show_avatars": "Avatarları Göster",
|
||||
"search": "Ara",
|
||||
"send_message": "Mesaj Yolla",
|
||||
"top_day": "Günün en iyileri"
|
||||
}
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"@@locale": "uk",
|
||||
"settings": "Налаштування",
|
||||
"password": "Пароль",
|
||||
"email_or_username": "email або ім'я користувача",
|
||||
"posts": "Записи",
|
||||
"comments": "Коментарі",
|
||||
"modlog": "Модлог",
|
||||
"community": "Спільнота",
|
||||
"url": "URL",
|
||||
"title": "Назва",
|
||||
"body": "Тіло",
|
||||
"nsfw": "NSFW",
|
||||
"post": "Запис",
|
||||
"save": "зберегти",
|
||||
"subscribed": "Підписані",
|
||||
"all": "Все",
|
||||
"replies": "Відповіді",
|
||||
"mentions": "Згадування",
|
||||
"from": "від",
|
||||
"to": "в",
|
||||
"deleted_by_creator": "видалено автором",
|
||||
"more": "більше",
|
||||
"mark_as_read": "позначити як прочитані",
|
||||
"mark_as_unread": "позначити як непрочитані",
|
||||
"reply": "відповісти",
|
||||
"edit": "редагувати",
|
||||
"delete": "видалити",
|
||||
"restore": "відновити",
|
||||
"yes": "так",
|
||||
"no": "ні",
|
||||
"avatar": "Аватар",
|
||||
"email": "email",
|
||||
"matrix_user": "Matrix айді користувача",
|
||||
"sort_type": "Тип сортування",
|
||||
"type": "Тип",
|
||||
"show_nsfw": "Показувати NSFW-контент",
|
||||
"send_notifications_to_email": "Посилати повідомлення на e-mail адресу",
|
||||
"delete_account": "Видалити акаунт",
|
||||
"saved": "Збережено",
|
||||
"communities": "Спільноти",
|
||||
"users": "Користувачі",
|
||||
"theme": "Візуальна тема",
|
||||
"language": "Мова",
|
||||
"hot": "Популярне",
|
||||
"new_": "Нове",
|
||||
"old": "Старе",
|
||||
"top": "Найкраще",
|
||||
"chat": "Чат",
|
||||
"admin": "адміністратор",
|
||||
"by": "від",
|
||||
"not_an_admin": "Не адміністратор.",
|
||||
"couldnt_find_post": "Не вдалося знайти запис.",
|
||||
"not_logged_in": "Не авторизовані.",
|
||||
"site_ban": "Ви були заблоковані на данному сайті",
|
||||
"community_ban": "Ви були заблоковані в цій спільноті.",
|
||||
"downvotes_disabled": "Від'ємне голосування вимкненно.",
|
||||
"locked": "заблоковоано",
|
||||
"couldnt_create_comment": "Не вдалося створити коментар.",
|
||||
"couldnt_like_comment": "Не вдалося лайкнути коментар.",
|
||||
"couldnt_update_comment": "Не вдалося обновити коментар.",
|
||||
"no_comment_edit_allowed": "Неможливо відредагувати коментар.",
|
||||
"couldnt_save_comment": "Не вдалося зберегти коментар.",
|
||||
"couldnt_get_comments": "Не вдалося отримати коментар.",
|
||||
"couldnt_create_post": "Не вдалося створити запис.",
|
||||
"couldnt_like_post": "Не вдалося лайкнути запис.",
|
||||
"couldnt_find_community": "Не вдалося знайти спільноту.",
|
||||
"couldnt_get_posts": "Не вдалося знайти записи",
|
||||
"no_post_edit_allowed": "Неможливо відредагувати запис.",
|
||||
"couldnt_save_post": "Не вдалося зберегти запис.",
|
||||
"site_already_exists": "Сайт вже існує.",
|
||||
"couldnt_update_site": "Не вдалося оновити сайт.",
|
||||
"invalid_community_name": "Неправильне ім'я користувача.",
|
||||
"community_already_exists": "Спільнота вже існує.",
|
||||
"community_moderator_already_exists": "Модератор спільноти вже існує.",
|
||||
"community_follower_already_exists": "Підписник спільноти вже існує.",
|
||||
"couldnt_update_community": "Не вдалося обновити спільноту.",
|
||||
"no_community_edit_allowed": "Неможливо відредагувати спільноту.",
|
||||
"system_err_login": "Системна помилка. Спробуйте вийти та зайти назад.",
|
||||
"community_user_already_banned": "Член спільноти вже забаниний..",
|
||||
"couldnt_find_that_username_or_email": "Не вдалося знайти ім'я користувача чи email.",
|
||||
"password_incorrect": "Неправильний пароль.",
|
||||
"registration_closed": "Реєстрацію закрито",
|
||||
"passwords_dont_match": "Паролі не співпадають.",
|
||||
"invalid_username": "Неправильне ім'я користувача.",
|
||||
"couldnt_update_user": "Не вдалося оновити користувача.",
|
||||
"couldnt_update_private_message": "Не вдалося оновити особисте повідомлення.",
|
||||
"couldnt_update_post": "Не вдалося обновити запис",
|
||||
"couldnt_create_private_message": "Не вдалося отримати особисте повідомлення.",
|
||||
"no_private_message_edit_allowed": "Не можна редагувати особисті повідомлення.",
|
||||
"post_title_too_long": "Довжина назви перебільшує допустимий ліміт.",
|
||||
"email_already_exists": "E-mail вже існує.",
|
||||
"user_already_exists": "Користувач вже існує.",
|
||||
"unsubscribe": "Відписатися",
|
||||
"subscribe": "Підписатися",
|
||||
"messages": "Повідомлення",
|
||||
"banned_users": "Забанані користувачі",
|
||||
"delete_account_confirm": "Попередження: ця дія повністю знищить всі данні вашего акаунта. Введіть свій пароль для підтвердження.",
|
||||
"new_password": "Новий пароль",
|
||||
"verify_password": "Повторіть пароль",
|
||||
"old_password": "Діючий пароль",
|
||||
"show_avatars": "Показувати аватари",
|
||||
"search": "Пошук",
|
||||
"send_message": "Послати повідомлення",
|
||||
"top_day": "Найкраще за день"
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"@@locale": "zh",
|
||||
"settings": "设置",
|
||||
"password": "密码",
|
||||
"email_or_username": "邮箱或用户名",
|
||||
"posts": "帖子",
|
||||
"comments": "评论",
|
||||
"modlog": "管理记录",
|
||||
"community": "社群",
|
||||
"url": "相关网址",
|
||||
"title": "标语",
|
||||
"body": "内容",
|
||||
"nsfw": "工作场所不宜",
|
||||
"post": "回帖",
|
||||
"save": "保存",
|
||||
"subscribed": "已订阅",
|
||||
"local": "本地",
|
||||
"all": "所有",
|
||||
"replies": "回复",
|
||||
"mentions": "提到",
|
||||
"from": "由",
|
||||
"to": "发布到",
|
||||
"deleted_by_creator": "作者已删除",
|
||||
"more": "更多",
|
||||
"mark_as_read": "标记为已读",
|
||||
"mark_as_unread": "标记为未读",
|
||||
"reply": "回复",
|
||||
"edit": "编辑",
|
||||
"delete": "删除",
|
||||
"restore": "恢复",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"avatar": "头像",
|
||||
"banner": "横幅",
|
||||
"display_name": "显示名称",
|
||||
"bio": "简介",
|
||||
"email": "邮箱",
|
||||
"matrix_user": "Matrix用户",
|
||||
"sort_type": "排序方式",
|
||||
"type": "类型",
|
||||
"show_nsfw": "显示工作场所不宜内容",
|
||||
"send_notifications_to_email": "向邮箱发送通知",
|
||||
"delete_account": "删除账号",
|
||||
"saved": "保存",
|
||||
"communities": "社群",
|
||||
"users": "用户",
|
||||
"theme": "主题",
|
||||
"language": "语言",
|
||||
"hot": "最热",
|
||||
"new_": "最新",
|
||||
"old": "最早",
|
||||
"top": "推荐",
|
||||
"chat": "聊天",
|
||||
"admin": "总管理员",
|
||||
"by": " ",
|
||||
"not_an_admin": "不是管理员。",
|
||||
"couldnt_find_post": "无法找到帖子。",
|
||||
"not_logged_in": "未登录.",
|
||||
"site_ban": "你已被本站拉黑",
|
||||
"community_ban": "你已被此社群拉黑。",
|
||||
"downvotes_disabled": "踩已禁用",
|
||||
"invalid_url": "URL无效.",
|
||||
"locked": "已锁定",
|
||||
"couldnt_create_comment": "无法创建评论。",
|
||||
"couldnt_like_comment": "无法点赞评论。",
|
||||
"couldnt_update_comment": "无法更新评论。",
|
||||
"no_comment_edit_allowed": "没有编辑评论的权限。",
|
||||
"couldnt_save_comment": "无法保存评论。",
|
||||
"couldnt_get_comments": "无法获取评论。",
|
||||
"report_reason_required": "需要报告原因.",
|
||||
"report_too_long": "报告时间过长.",
|
||||
"couldnt_create_report": "无法创建报告.",
|
||||
"couldnt_resolve_report": "无法解析报告.",
|
||||
"invalid_post_title": "帖子标题无效",
|
||||
"couldnt_create_post": "无法创建帖子。",
|
||||
"couldnt_like_post": "无法点赞帖子。",
|
||||
"couldnt_find_community": "无法找到社群。",
|
||||
"couldnt_get_posts": "无法获取帖子",
|
||||
"no_post_edit_allowed": "没有编辑帖子的权限。",
|
||||
"couldnt_save_post": "无法保存帖子。",
|
||||
"site_already_exists": "站点已存在。",
|
||||
"couldnt_update_site": "无法更新站点。",
|
||||
"invalid_community_name": "无效名称.",
|
||||
"community_already_exists": "社群已存在。",
|
||||
"community_moderator_already_exists": "社群监管人已存在。",
|
||||
"community_follower_already_exists": "社群关注者已存在。",
|
||||
"not_a_moderator": "不是仲裁员.",
|
||||
"couldnt_update_community": "无法更新社群。",
|
||||
"no_community_edit_allowed": "没有编辑社群的权限。",
|
||||
"system_err_login": "系统错误。请尝试注销后重新登入。",
|
||||
"community_user_already_banned": "社群用户已被禁止。",
|
||||
"couldnt_find_that_username_or_email": "用户名/邮箱不存在。",
|
||||
"password_incorrect": "密码不正确。",
|
||||
"registration_closed": "注册功能已关闭",
|
||||
"invalid_password": "密码无效。密码长度必须小于60个字符。",
|
||||
"passwords_dont_match": "密码不匹配。",
|
||||
"captcha_incorrect": "验证码不正确。",
|
||||
"invalid_username": "用户名无效",
|
||||
"bio_length_overflow": "自我介绍不能超过300个字符。",
|
||||
"couldnt_update_user": "无法更新用户。",
|
||||
"couldnt_update_private_message": "无法更新私信。",
|
||||
"couldnt_update_post": "无法更新帖子",
|
||||
"couldnt_create_private_message": "无法创建私信。",
|
||||
"no_private_message_edit_allowed": "没有编辑私信的权限。",
|
||||
"post_title_too_long": "帖子标题过长。",
|
||||
"email_already_exists": "邮箱已占用.",
|
||||
"user_already_exists": "用户已存在。",
|
||||
"number_of_users_online": "{count,plural, =1{{count} 在线用户} other{{count} 名在线用户}}",
|
||||
"number_of_comments": "{count,plural, =1{{count} 条评论} other{{count} 条评论}}",
|
||||
"number_of_posts": "{count,plural, =1{{count} 个帖子} other{{count} 条帖子}}",
|
||||
"number_of_subscribers": "{count,plural, =1{{count} 订阅者} other{{count} 名订阅者}}",
|
||||
"number_of_users": "{count,plural, =1{{count} 用户} other{{count} 名用户}}",
|
||||
"unsubscribe": "取消订阅",
|
||||
"subscribe": "订阅",
|
||||
"messages": "信息",
|
||||
"banned_users": "被禁止用户",
|
||||
"delete_account_confirm": "警告:此操作将永久删除你的数据,请输入密码进行确认。",
|
||||
"new_password": "新密码",
|
||||
"verify_password": "确认密码",
|
||||
"old_password": "当前密码",
|
||||
"show_avatars": "显示头像",
|
||||
"search": "搜索",
|
||||
"send_message": "发送消息",
|
||||
"top_day": "日推荐",
|
||||
"top_week": "周推荐",
|
||||
"top_month": "月推荐",
|
||||
"top_year": "年推荐",
|
||||
"top_all": "全部推荐",
|
||||
"most_comments": "最多评论",
|
||||
"new_comments": "新评论",
|
||||
"active": "活跃"
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
export 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
export 'l10n_api.dart';
|
||||
export 'l10n_from_string.dart';
|
||||
|
||||
abstract class LocaleSerde {
|
||||
static Locale fromJson(String json) {
|
||||
if (json == null) return null;
|
||||
|
||||
final lang = json.split('-');
|
||||
|
||||
return Locale(lang[0], lang.length > 1 ? lang[1] : null);
|
||||
}
|
||||
|
||||
static String toJson(Locale locale) => locale.toLanguageTag();
|
||||
}
|
||||
|
||||
const _languageNames = {
|
||||
'ca': 'Català',
|
||||
'ar': 'عربي',
|
||||
'en': 'English',
|
||||
'el': 'Ελληνικά',
|
||||
'eu': 'Euskara',
|
||||
'eo': 'Esperanto',
|
||||
'es': 'Español',
|
||||
'da': 'Dansk',
|
||||
'de': 'Deutsch',
|
||||
'ga': 'Gaeilge',
|
||||
'gl': 'Galego',
|
||||
'hr': 'hrvatski',
|
||||
'hu': 'Magyar Nyelv',
|
||||
'ka': 'ქართული ენა',
|
||||
'ko': '한국어',
|
||||
'km': 'ភាសាខ្មែរ',
|
||||
'hi': 'मानक हिन्दी',
|
||||
'fa': 'فارسی',
|
||||
'ja': '日本語',
|
||||
'oc': 'Occitan',
|
||||
'pl': 'Polski',
|
||||
'pt': 'Português',
|
||||
'pt_BR': 'Português Brasileiro',
|
||||
'zh': '中文',
|
||||
'fi': 'Suomi',
|
||||
'fr': 'Français',
|
||||
'sv': 'Svenska',
|
||||
'sq': 'Shqip',
|
||||
'sr_Latn': 'srpski',
|
||||
'th': 'ภาษาไทย',
|
||||
'tr': 'Türkçe',
|
||||
'uk': 'Українська Mова',
|
||||
'ru': 'Русский',
|
||||
'nl': 'Nederlands',
|
||||
'it': 'Italiano',
|
||||
};
|
||||
|
||||
extension LanguageName on Locale {
|
||||
/// returns the name of the language in the given language
|
||||
String get languageName => _languageNames[toString()] ?? toString();
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:lemmy_api_client/v2.dart';
|
||||
|
||||
extension SortTypeL10n on SortType {
|
||||
String tr(BuildContext context) {
|
||||
switch (this) {
|
||||
case SortType.hot:
|
||||
return L10n.of(context).hot;
|
||||
case SortType.new_:
|
||||
return L10n.of(context).new_;
|
||||
case SortType.topYear:
|
||||
return L10n.of(context).top_year;
|
||||
case SortType.topMonth:
|
||||
return L10n.of(context).top_month;
|
||||
case SortType.topWeek:
|
||||
return L10n.of(context).top_week;
|
||||
case SortType.topDay:
|
||||
return L10n.of(context).top_day;
|
||||
case SortType.topAll:
|
||||
return L10n.of(context).top_all;
|
||||
case SortType.newComments:
|
||||
return L10n.of(context).new_comments;
|
||||
case SortType.active:
|
||||
return L10n.of(context).active;
|
||||
case SortType.mostComments:
|
||||
return L10n.of(context).most_comments;
|
||||
default:
|
||||
throw Exception('unreachable');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension PostListingTypeL10n on PostListingType {
|
||||
String tr(BuildContext context) {
|
||||
switch (this) {
|
||||
case PostListingType.all:
|
||||
return L10n.of(context).all;
|
||||
case PostListingType.community:
|
||||
return L10n.of(context).community;
|
||||
case PostListingType.local:
|
||||
return L10n.of(context).local;
|
||||
case PostListingType.subscribed:
|
||||
return L10n.of(context).subscribed;
|
||||
default:
|
||||
throw Exception('unreachable');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension SearchTypeL10n on SearchType {
|
||||
String tr(BuildContext context) {
|
||||
switch (this) {
|
||||
case SearchType.all:
|
||||
return L10n.of(context).all;
|
||||
case SearchType.comments:
|
||||
return L10n.of(context).comments;
|
||||
case SearchType.communities:
|
||||
return L10n.of(context).communities;
|
||||
case SearchType.posts:
|
||||
return L10n.of(context).posts;
|
||||
case SearchType.url:
|
||||
return L10n.of(context).url;
|
||||
case SearchType.users:
|
||||
return L10n.of(context).users;
|
||||
default:
|
||||
throw Exception('unreachable');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,404 @@
|
|||
// FILE GENERATED AUTOMATICALLY, TO NOT EDIT BY HAND
|
||||
// ignore_for_file: constant_identifier_names
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
abstract class L10nStrings {
|
||||
static const settings = 'settings';
|
||||
static const password = 'password';
|
||||
static const email_or_username = 'email_or_username';
|
||||
static const posts = 'posts';
|
||||
static const comments = 'comments';
|
||||
static const modlog = 'modlog';
|
||||
static const community = 'community';
|
||||
static const url = 'url';
|
||||
static const title = 'title';
|
||||
static const body = 'body';
|
||||
static const nsfw = 'nsfw';
|
||||
static const post = 'post';
|
||||
static const save = 'save';
|
||||
static const subscribed = 'subscribed';
|
||||
static const local = 'local';
|
||||
static const all = 'all';
|
||||
static const replies = 'replies';
|
||||
static const mentions = 'mentions';
|
||||
static const from = 'from';
|
||||
static const to = 'to';
|
||||
static const deleted_by_creator = 'deleted_by_creator';
|
||||
static const more = 'more';
|
||||
static const mark_as_read = 'mark_as_read';
|
||||
static const mark_as_unread = 'mark_as_unread';
|
||||
static const reply = 'reply';
|
||||
static const edit = 'edit';
|
||||
static const delete = 'delete';
|
||||
static const restore = 'restore';
|
||||
static const yes = 'yes';
|
||||
static const no = 'no';
|
||||
static const avatar = 'avatar';
|
||||
static const banner = 'banner';
|
||||
static const display_name = 'display_name';
|
||||
static const bio = 'bio';
|
||||
static const email = 'email';
|
||||
static const matrix_user = 'matrix_user';
|
||||
static const sort_type = 'sort_type';
|
||||
static const type = 'type';
|
||||
static const show_nsfw = 'show_nsfw';
|
||||
static const send_notifications_to_email = 'send_notifications_to_email';
|
||||
static const delete_account = 'delete_account';
|
||||
static const saved = 'saved';
|
||||
static const communities = 'communities';
|
||||
static const users = 'users';
|
||||
static const theme = 'theme';
|
||||
static const language = 'language';
|
||||
static const hot = 'hot';
|
||||
static const new_ = 'new_';
|
||||
static const old = 'old';
|
||||
static const top = 'top';
|
||||
static const chat = 'chat';
|
||||
static const admin = 'admin';
|
||||
static const by = 'by';
|
||||
static const not_a_mod_or_admin = 'not_a_mod_or_admin';
|
||||
static const not_an_admin = 'not_an_admin';
|
||||
static const couldnt_find_post = 'couldnt_find_post';
|
||||
static const not_logged_in = 'not_logged_in';
|
||||
static const site_ban = 'site_ban';
|
||||
static const community_ban = 'community_ban';
|
||||
static const downvotes_disabled = 'downvotes_disabled';
|
||||
static const invalid_url = 'invalid_url';
|
||||
static const locked = 'locked';
|
||||
static const couldnt_create_comment = 'couldnt_create_comment';
|
||||
static const couldnt_like_comment = 'couldnt_like_comment';
|
||||
static const couldnt_update_comment = 'couldnt_update_comment';
|
||||
static const no_comment_edit_allowed = 'no_comment_edit_allowed';
|
||||
static const couldnt_save_comment = 'couldnt_save_comment';
|
||||
static const couldnt_get_comments = 'couldnt_get_comments';
|
||||
static const report_reason_required = 'report_reason_required';
|
||||
static const report_too_long = 'report_too_long';
|
||||
static const couldnt_create_report = 'couldnt_create_report';
|
||||
static const couldnt_resolve_report = 'couldnt_resolve_report';
|
||||
static const invalid_post_title = 'invalid_post_title';
|
||||
static const couldnt_create_post = 'couldnt_create_post';
|
||||
static const couldnt_like_post = 'couldnt_like_post';
|
||||
static const couldnt_find_community = 'couldnt_find_community';
|
||||
static const couldnt_get_posts = 'couldnt_get_posts';
|
||||
static const no_post_edit_allowed = 'no_post_edit_allowed';
|
||||
static const couldnt_save_post = 'couldnt_save_post';
|
||||
static const site_already_exists = 'site_already_exists';
|
||||
static const couldnt_update_site = 'couldnt_update_site';
|
||||
static const invalid_community_name = 'invalid_community_name';
|
||||
static const community_already_exists = 'community_already_exists';
|
||||
static const community_moderator_already_exists =
|
||||
'community_moderator_already_exists';
|
||||
static const community_follower_already_exists =
|
||||
'community_follower_already_exists';
|
||||
static const not_a_moderator = 'not_a_moderator';
|
||||
static const couldnt_update_community = 'couldnt_update_community';
|
||||
static const no_community_edit_allowed = 'no_community_edit_allowed';
|
||||
static const system_err_login = 'system_err_login';
|
||||
static const community_user_already_banned = 'community_user_already_banned';
|
||||
static const couldnt_find_that_username_or_email =
|
||||
'couldnt_find_that_username_or_email';
|
||||
static const password_incorrect = 'password_incorrect';
|
||||
static const registration_closed = 'registration_closed';
|
||||
static const invalid_password = 'invalid_password';
|
||||
static const passwords_dont_match = 'passwords_dont_match';
|
||||
static const captcha_incorrect = 'captcha_incorrect';
|
||||
static const invalid_username = 'invalid_username';
|
||||
static const bio_length_overflow = 'bio_length_overflow';
|
||||
static const couldnt_update_user = 'couldnt_update_user';
|
||||
static const couldnt_update_private_message =
|
||||
'couldnt_update_private_message';
|
||||
static const couldnt_update_post = 'couldnt_update_post';
|
||||
static const couldnt_create_private_message =
|
||||
'couldnt_create_private_message';
|
||||
static const no_private_message_edit_allowed =
|
||||
'no_private_message_edit_allowed';
|
||||
static const post_title_too_long = 'post_title_too_long';
|
||||
static const email_already_exists = 'email_already_exists';
|
||||
static const user_already_exists = 'user_already_exists';
|
||||
static const number_of_users_online = 'number_of_users_online';
|
||||
static const number_of_comments = 'number_of_comments';
|
||||
static const number_of_posts = 'number_of_posts';
|
||||
static const number_of_subscribers = 'number_of_subscribers';
|
||||
static const number_of_users = 'number_of_users';
|
||||
static const unsubscribe = 'unsubscribe';
|
||||
static const subscribe = 'subscribe';
|
||||
static const messages = 'messages';
|
||||
static const banned_users = 'banned_users';
|
||||
static const delete_account_confirm = 'delete_account_confirm';
|
||||
static const new_password = 'new_password';
|
||||
static const verify_password = 'verify_password';
|
||||
static const old_password = 'old_password';
|
||||
static const show_avatars = 'show_avatars';
|
||||
static const search = 'search';
|
||||
static const send_message = 'send_message';
|
||||
static const top_day = 'top_day';
|
||||
static const top_week = 'top_week';
|
||||
static const top_month = 'top_month';
|
||||
static const top_year = 'top_year';
|
||||
static const top_all = 'top_all';
|
||||
static const most_comments = 'most_comments';
|
||||
static const new_comments = 'new_comments';
|
||||
static const active = 'active';
|
||||
}
|
||||
|
||||
extension L10nFromString on String {
|
||||
String tr(BuildContext context) {
|
||||
switch (this) {
|
||||
case L10nStrings.settings:
|
||||
return L10n.of(context).settings;
|
||||
case L10nStrings.password:
|
||||
return L10n.of(context).password;
|
||||
case L10nStrings.email_or_username:
|
||||
return L10n.of(context).email_or_username;
|
||||
case L10nStrings.posts:
|
||||
return L10n.of(context).posts;
|
||||
case L10nStrings.comments:
|
||||
return L10n.of(context).comments;
|
||||
case L10nStrings.modlog:
|
||||
return L10n.of(context).modlog;
|
||||
case L10nStrings.community:
|
||||
return L10n.of(context).community;
|
||||
case L10nStrings.url:
|
||||
return L10n.of(context).url;
|
||||
case L10nStrings.title:
|
||||
return L10n.of(context).title;
|
||||
case L10nStrings.body:
|
||||
return L10n.of(context).body;
|
||||
case L10nStrings.nsfw:
|
||||
return L10n.of(context).nsfw;
|
||||
case L10nStrings.post:
|
||||
return L10n.of(context).post;
|
||||
case L10nStrings.save:
|
||||
return L10n.of(context).save;
|
||||
case L10nStrings.subscribed:
|
||||
return L10n.of(context).subscribed;
|
||||
case L10nStrings.local:
|
||||
return L10n.of(context).local;
|
||||
case L10nStrings.all:
|
||||
return L10n.of(context).all;
|
||||
case L10nStrings.replies:
|
||||
return L10n.of(context).replies;
|
||||
case L10nStrings.mentions:
|
||||
return L10n.of(context).mentions;
|
||||
case L10nStrings.from:
|
||||
return L10n.of(context).from;
|
||||
case L10nStrings.to:
|
||||
return L10n.of(context).to;
|
||||
case L10nStrings.deleted_by_creator:
|
||||
return L10n.of(context).deleted_by_creator;
|
||||
case L10nStrings.more:
|
||||
return L10n.of(context).more;
|
||||
case L10nStrings.mark_as_read:
|
||||
return L10n.of(context).mark_as_read;
|
||||
case L10nStrings.mark_as_unread:
|
||||
return L10n.of(context).mark_as_unread;
|
||||
case L10nStrings.reply:
|
||||
return L10n.of(context).reply;
|
||||
case L10nStrings.edit:
|
||||
return L10n.of(context).edit;
|
||||
case L10nStrings.delete:
|
||||
return L10n.of(context).delete;
|
||||
case L10nStrings.restore:
|
||||
return L10n.of(context).restore;
|
||||
case L10nStrings.yes:
|
||||
return L10n.of(context).yes;
|
||||
case L10nStrings.no:
|
||||
return L10n.of(context).no;
|
||||
case L10nStrings.avatar:
|
||||
return L10n.of(context).avatar;
|
||||
case L10nStrings.banner:
|
||||
return L10n.of(context).banner;
|
||||
case L10nStrings.display_name:
|
||||
return L10n.of(context).display_name;
|
||||
case L10nStrings.bio:
|
||||
return L10n.of(context).bio;
|
||||
case L10nStrings.email:
|
||||
return L10n.of(context).email;
|
||||
case L10nStrings.matrix_user:
|
||||
return L10n.of(context).matrix_user;
|
||||
case L10nStrings.sort_type:
|
||||
return L10n.of(context).sort_type;
|
||||
case L10nStrings.type:
|
||||
return L10n.of(context).type;
|
||||
case L10nStrings.show_nsfw:
|
||||
return L10n.of(context).show_nsfw;
|
||||
case L10nStrings.send_notifications_to_email:
|
||||
return L10n.of(context).send_notifications_to_email;
|
||||
case L10nStrings.delete_account:
|
||||
return L10n.of(context).delete_account;
|
||||
case L10nStrings.saved:
|
||||
return L10n.of(context).saved;
|
||||
case L10nStrings.communities:
|
||||
return L10n.of(context).communities;
|
||||
case L10nStrings.users:
|
||||
return L10n.of(context).users;
|
||||
case L10nStrings.theme:
|
||||
return L10n.of(context).theme;
|
||||
case L10nStrings.language:
|
||||
return L10n.of(context).language;
|
||||
case L10nStrings.hot:
|
||||
return L10n.of(context).hot;
|
||||
case L10nStrings.new_:
|
||||
return L10n.of(context).new_;
|
||||
case L10nStrings.old:
|
||||
return L10n.of(context).old;
|
||||
case L10nStrings.top:
|
||||
return L10n.of(context).top;
|
||||
case L10nStrings.chat:
|
||||
return L10n.of(context).chat;
|
||||
case L10nStrings.admin:
|
||||
return L10n.of(context).admin;
|
||||
case L10nStrings.by:
|
||||
return L10n.of(context).by;
|
||||
case L10nStrings.not_a_mod_or_admin:
|
||||
return L10n.of(context).not_a_mod_or_admin;
|
||||
case L10nStrings.not_an_admin:
|
||||
return L10n.of(context).not_an_admin;
|
||||
case L10nStrings.couldnt_find_post:
|
||||
return L10n.of(context).couldnt_find_post;
|
||||
case L10nStrings.not_logged_in:
|
||||
return L10n.of(context).not_logged_in;
|
||||
case L10nStrings.site_ban:
|
||||
return L10n.of(context).site_ban;
|
||||
case L10nStrings.community_ban:
|
||||
return L10n.of(context).community_ban;
|
||||
case L10nStrings.downvotes_disabled:
|
||||
return L10n.of(context).downvotes_disabled;
|
||||
case L10nStrings.invalid_url:
|
||||
return L10n.of(context).invalid_url;
|
||||
case L10nStrings.locked:
|
||||
return L10n.of(context).locked;
|
||||
case L10nStrings.couldnt_create_comment:
|
||||
return L10n.of(context).couldnt_create_comment;
|
||||
case L10nStrings.couldnt_like_comment:
|
||||
return L10n.of(context).couldnt_like_comment;
|
||||
case L10nStrings.couldnt_update_comment:
|
||||
return L10n.of(context).couldnt_update_comment;
|
||||
case L10nStrings.no_comment_edit_allowed:
|
||||
return L10n.of(context).no_comment_edit_allowed;
|
||||
case L10nStrings.couldnt_save_comment:
|
||||
return L10n.of(context).couldnt_save_comment;
|
||||
case L10nStrings.couldnt_get_comments:
|
||||
return L10n.of(context).couldnt_get_comments;
|
||||
case L10nStrings.report_reason_required:
|
||||
return L10n.of(context).report_reason_required;
|
||||
case L10nStrings.report_too_long:
|
||||
return L10n.of(context).report_too_long;
|
||||
case L10nStrings.couldnt_create_report:
|
||||
return L10n.of(context).couldnt_create_report;
|
||||
case L10nStrings.couldnt_resolve_report:
|
||||
return L10n.of(context).couldnt_resolve_report;
|
||||
case L10nStrings.invalid_post_title:
|
||||
return L10n.of(context).invalid_post_title;
|
||||
case L10nStrings.couldnt_create_post:
|
||||
return L10n.of(context).couldnt_create_post;
|
||||
case L10nStrings.couldnt_like_post:
|
||||
return L10n.of(context).couldnt_like_post;
|
||||
case L10nStrings.couldnt_find_community:
|
||||
return L10n.of(context).couldnt_find_community;
|
||||
case L10nStrings.couldnt_get_posts:
|
||||
return L10n.of(context).couldnt_get_posts;
|
||||
case L10nStrings.no_post_edit_allowed:
|
||||
return L10n.of(context).no_post_edit_allowed;
|
||||
case L10nStrings.couldnt_save_post:
|
||||
return L10n.of(context).couldnt_save_post;
|
||||
case L10nStrings.site_already_exists:
|
||||
return L10n.of(context).site_already_exists;
|
||||
case L10nStrings.couldnt_update_site:
|
||||
return L10n.of(context).couldnt_update_site;
|
||||
case L10nStrings.invalid_community_name:
|
||||
return L10n.of(context).invalid_community_name;
|
||||
case L10nStrings.community_already_exists:
|
||||
return L10n.of(context).community_already_exists;
|
||||
case L10nStrings.community_moderator_already_exists:
|
||||
return L10n.of(context).community_moderator_already_exists;
|
||||
case L10nStrings.community_follower_already_exists:
|
||||
return L10n.of(context).community_follower_already_exists;
|
||||
case L10nStrings.not_a_moderator:
|
||||
return L10n.of(context).not_a_moderator;
|
||||
case L10nStrings.couldnt_update_community:
|
||||
return L10n.of(context).couldnt_update_community;
|
||||
case L10nStrings.no_community_edit_allowed:
|
||||
return L10n.of(context).no_community_edit_allowed;
|
||||
case L10nStrings.system_err_login:
|
||||
return L10n.of(context).system_err_login;
|
||||
case L10nStrings.community_user_already_banned:
|
||||
return L10n.of(context).community_user_already_banned;
|
||||
case L10nStrings.couldnt_find_that_username_or_email:
|
||||
return L10n.of(context).couldnt_find_that_username_or_email;
|
||||
case L10nStrings.password_incorrect:
|
||||
return L10n.of(context).password_incorrect;
|
||||
case L10nStrings.registration_closed:
|
||||
return L10n.of(context).registration_closed;
|
||||
case L10nStrings.invalid_password:
|
||||
return L10n.of(context).invalid_password;
|
||||
case L10nStrings.passwords_dont_match:
|
||||
return L10n.of(context).passwords_dont_match;
|
||||
case L10nStrings.captcha_incorrect:
|
||||
return L10n.of(context).captcha_incorrect;
|
||||
case L10nStrings.invalid_username:
|
||||
return L10n.of(context).invalid_username;
|
||||
case L10nStrings.bio_length_overflow:
|
||||
return L10n.of(context).bio_length_overflow;
|
||||
case L10nStrings.couldnt_update_user:
|
||||
return L10n.of(context).couldnt_update_user;
|
||||
case L10nStrings.couldnt_update_private_message:
|
||||
return L10n.of(context).couldnt_update_private_message;
|
||||
case L10nStrings.couldnt_update_post:
|
||||
return L10n.of(context).couldnt_update_post;
|
||||
case L10nStrings.couldnt_create_private_message:
|
||||
return L10n.of(context).couldnt_create_private_message;
|
||||
case L10nStrings.no_private_message_edit_allowed:
|
||||
return L10n.of(context).no_private_message_edit_allowed;
|
||||
case L10nStrings.post_title_too_long:
|
||||
return L10n.of(context).post_title_too_long;
|
||||
case L10nStrings.email_already_exists:
|
||||
return L10n.of(context).email_already_exists;
|
||||
case L10nStrings.user_already_exists:
|
||||
return L10n.of(context).user_already_exists;
|
||||
case L10nStrings.unsubscribe:
|
||||
return L10n.of(context).unsubscribe;
|
||||
case L10nStrings.subscribe:
|
||||
return L10n.of(context).subscribe;
|
||||
case L10nStrings.messages:
|
||||
return L10n.of(context).messages;
|
||||
case L10nStrings.banned_users:
|
||||
return L10n.of(context).banned_users;
|
||||
case L10nStrings.delete_account_confirm:
|
||||
return L10n.of(context).delete_account_confirm;
|
||||
case L10nStrings.new_password:
|
||||
return L10n.of(context).new_password;
|
||||
case L10nStrings.verify_password:
|
||||
return L10n.of(context).verify_password;
|
||||
case L10nStrings.old_password:
|
||||
return L10n.of(context).old_password;
|
||||
case L10nStrings.show_avatars:
|
||||
return L10n.of(context).show_avatars;
|
||||
case L10nStrings.search:
|
||||
return L10n.of(context).search;
|
||||
case L10nStrings.send_message:
|
||||
return L10n.of(context).send_message;
|
||||
case L10nStrings.top_day:
|
||||
return L10n.of(context).top_day;
|
||||
case L10nStrings.top_week:
|
||||
return L10n.of(context).top_week;
|
||||
case L10nStrings.top_month:
|
||||
return L10n.of(context).top_month;
|
||||
case L10nStrings.top_year:
|
||||
return L10n.of(context).top_year;
|
||||
case L10nStrings.top_all:
|
||||
return L10n.of(context).top_all;
|
||||
case L10nStrings.most_comments:
|
||||
return L10n.of(context).most_comments;
|
||||
case L10nStrings.new_comments:
|
||||
return L10n.of(context).new_comments;
|
||||
case L10nStrings.active:
|
||||
return L10n.of(context).active;
|
||||
|
||||
default:
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -6,6 +6,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
|
|||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'hooks/stores.dart';
|
||||
import 'l10n/l10n.dart';
|
||||
import 'pages/communities_tab.dart';
|
||||
import 'pages/create_post.dart';
|
||||
import 'pages/home_tab.dart';
|
||||
|
@ -42,8 +43,11 @@ class MyApp extends HookWidget {
|
|||
|
||||
return MaterialApp(
|
||||
title: 'lemmur',
|
||||
supportedLocales: L10n.supportedLocales,
|
||||
localizationsDelegates: L10n.localizationsDelegates,
|
||||
themeMode: configStore.theme,
|
||||
darkTheme: configStore.amoledDarkMode ? amoledTheme : darkTheme,
|
||||
locale: configStore.locale,
|
||||
theme: lightTheme,
|
||||
home: const MyHomePage(),
|
||||
);
|
||||
|
|
|
@ -7,6 +7,7 @@ import 'package:url_launcher/url_launcher.dart' as ul;
|
|||
|
||||
import '../hooks/delayed_loading.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../widgets/fullscreenable_image.dart';
|
||||
import '../widgets/radio_picker.dart';
|
||||
import 'add_instance.dart';
|
||||
|
@ -110,13 +111,14 @@ class AddAccountPage extends HookWidget {
|
|||
TextField(
|
||||
autofocus: true,
|
||||
controller: usernameController,
|
||||
decoration: const InputDecoration(labelText: 'Username or email'),
|
||||
decoration:
|
||||
InputDecoration(labelText: L10n.of(context).email_or_username),
|
||||
),
|
||||
const SizedBox(height: 5),
|
||||
TextField(
|
||||
controller: passwordController,
|
||||
obscureText: true,
|
||||
decoration: const InputDecoration(labelText: 'Password'),
|
||||
decoration: InputDecoration(labelText: L10n.of(context).password),
|
||||
),
|
||||
ElevatedButton(
|
||||
onPressed: usernameController.text.isEmpty ||
|
||||
|
@ -138,6 +140,7 @@ class AddAccountPage extends HookWidget {
|
|||
),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
// TODO: extract to LemmyUrls or something
|
||||
ul.launch('https://${selectedInstance.value}/login');
|
||||
},
|
||||
child: const Text('Register'),
|
||||
|
|
|
@ -10,6 +10,7 @@ import '../hooks/delayed_loading.dart';
|
|||
import '../hooks/logged_in_action.dart';
|
||||
import '../hooks/memo_future.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/extensions/api.dart';
|
||||
import '../util/extensions/spaced.dart';
|
||||
import '../util/goto.dart';
|
||||
|
@ -171,11 +172,11 @@ class CommunityPage extends HookWidget {
|
|||
preferredSize: const TabBar(tabs: []).preferredSize,
|
||||
child: Material(
|
||||
color: theme.cardColor,
|
||||
child: const TabBar(
|
||||
child: TabBar(
|
||||
tabs: [
|
||||
Tab(text: 'Posts'),
|
||||
Tab(text: 'Comments'),
|
||||
Tab(text: 'About'),
|
||||
Tab(text: L10n.of(context).posts),
|
||||
Tab(text: L10n.of(context).comments),
|
||||
const Tab(text: 'About'),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
@ -397,10 +398,12 @@ class _AboutTab extends StatelessWidget {
|
|||
scrollDirection: Axis.horizontal,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 15),
|
||||
children: [
|
||||
Chip(label: Text('${onlineUsers ?? 'X'} users online')),
|
||||
Chip(
|
||||
label: Text(
|
||||
'${community.counts.subscribers} subscriber${pluralS(community.counts.subscribers)}')),
|
||||
label: Text(L10n.of(context)
|
||||
.number_of_users_online(onlineUsers ?? 0))),
|
||||
Chip(
|
||||
label: Text(L10n.of(context)
|
||||
.number_of_subscribers(community.counts.subscribers))),
|
||||
Chip(
|
||||
label: Text(
|
||||
'${community.counts.posts} post${pluralS(community.counts.posts)}')),
|
||||
|
@ -430,7 +433,7 @@ class _AboutTab extends StatelessWidget {
|
|||
communityName: community.community.name,
|
||||
),
|
||||
),
|
||||
child: const Text('Modlog'),
|
||||
child: Text(L10n.of(context).modlog),
|
||||
),
|
||||
),
|
||||
const _Divider(),
|
||||
|
@ -525,7 +528,9 @@ class _FollowButton extends HookWidget {
|
|||
icon: isSubbed.value
|
||||
? const Icon(Icons.remove, size: 18)
|
||||
: const Icon(Icons.add, size: 18),
|
||||
label: Text('${isSubbed.value ? 'un' : ''}subscribe'),
|
||||
label: Text(isSubbed.value
|
||||
? L10n.of(context).unsubscribe
|
||||
: L10n.of(context).subscribe),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
@ -10,6 +10,7 @@ import '../hooks/image_picker.dart';
|
|||
import '../hooks/logged_in_action.dart';
|
||||
import '../hooks/memo_future.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/extensions/api.dart';
|
||||
import '../util/extensions/spaced.dart';
|
||||
import '../util/goto.dart';
|
||||
|
@ -165,7 +166,7 @@ class CreatePostPage extends HookWidget {
|
|||
child: DropdownButtonHideUnderline(
|
||||
child: DropdownButton<int>(
|
||||
value: selectedCommunity.value?.community?.id,
|
||||
hint: const Text('Community'),
|
||||
hint: Text(L10n.of(context).community),
|
||||
onChanged: (communityId) => selectedCommunity.value =
|
||||
allCommunitiesSnap.data
|
||||
?.firstWhere((e) => e.community.id == communityId),
|
||||
|
@ -179,9 +180,9 @@ class CreatePostPage extends HookWidget {
|
|||
child: TextField(
|
||||
enabled: pictrsDeleteToken.value == null,
|
||||
controller: urlController,
|
||||
decoration: const InputDecoration(
|
||||
labelText: 'URL',
|
||||
suffixIcon: Icon(Icons.link),
|
||||
decoration: InputDecoration(
|
||||
labelText: L10n.of(context).url,
|
||||
suffixIcon: const Icon(Icons.link),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
@ -203,7 +204,7 @@ class CreatePostPage extends HookWidget {
|
|||
controller: titleController,
|
||||
minLines: 1,
|
||||
maxLines: 2,
|
||||
decoration: const InputDecoration(labelText: 'Title'),
|
||||
decoration: InputDecoration(labelText: L10n.of(context).title),
|
||||
);
|
||||
|
||||
final body = IndexedStack(
|
||||
|
@ -214,7 +215,7 @@ class CreatePostPage extends HookWidget {
|
|||
keyboardType: TextInputType.multiline,
|
||||
maxLines: null,
|
||||
minLines: 5,
|
||||
decoration: const InputDecoration(labelText: 'Body'),
|
||||
decoration: InputDecoration(labelText: L10n.of(context).body),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(16),
|
||||
|
@ -289,7 +290,7 @@ class CreatePostPage extends HookWidget {
|
|||
value: nsfw.value,
|
||||
onChanged: (val) => nsfw.value = val,
|
||||
),
|
||||
const Text('NSFW')
|
||||
Text(L10n.of(context).nsfw)
|
||||
],
|
||||
),
|
||||
),
|
||||
|
@ -297,7 +298,7 @@ class CreatePostPage extends HookWidget {
|
|||
onPressed: delayed.pending ? () {} : handleSubmit,
|
||||
child: delayed.loading
|
||||
? const CircularProgressIndicator()
|
||||
: const Text('post'),
|
||||
: Text(L10n.of(context).post),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
|
@ -9,6 +9,7 @@ import 'package:lemmy_api_client/v2.dart';
|
|||
import '../hooks/infinite_scroll.dart';
|
||||
import '../hooks/memo_future.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/goto.dart';
|
||||
import '../widgets/bottom_modal.dart';
|
||||
import '../widgets/infinite_scroll.dart';
|
||||
|
@ -83,7 +84,7 @@ class HomeTab extends HookWidget {
|
|||
),
|
||||
ListTile(
|
||||
title: Text(
|
||||
'Subscribed',
|
||||
L10n.of(context).subscribed,
|
||||
style: TextStyle(
|
||||
color: accStore.hasNoAccount
|
||||
? theme.textTheme.bodyText1.color.withOpacity(0.4)
|
||||
|
@ -143,7 +144,7 @@ class HomeTab extends HookWidget {
|
|||
),
|
||||
ListTile(
|
||||
title: Text(
|
||||
'Subscribed',
|
||||
L10n.of(context).subscribed,
|
||||
style: TextStyle(
|
||||
color: accStore.isAnonymousFor(instance)
|
||||
? theme.textTheme.bodyText1.color.withOpacity(0.4)
|
||||
|
@ -161,7 +162,7 @@ class HomeTab extends HookWidget {
|
|||
leading: const SizedBox(width: 20),
|
||||
),
|
||||
ListTile(
|
||||
title: const Text('Local'),
|
||||
title: Text(L10n.of(context).local),
|
||||
onTap: () => pop(_SelectedList(
|
||||
listingType: PostListingType.local,
|
||||
instanceHost: instance,
|
||||
|
@ -169,7 +170,7 @@ class HomeTab extends HookWidget {
|
|||
leading: const SizedBox(width: 20),
|
||||
),
|
||||
ListTile(
|
||||
title: const Text('All'),
|
||||
title: Text(L10n.of(context).all),
|
||||
onTap: () => pop(_SelectedList(
|
||||
listingType: PostListingType.all,
|
||||
instanceHost: instance,
|
||||
|
@ -188,7 +189,7 @@ class HomeTab extends HookWidget {
|
|||
}
|
||||
|
||||
final title = () {
|
||||
final first = selectedList.value.listingType.value;
|
||||
final first = selectedList.value.listingType.tr(context);
|
||||
|
||||
final last = selectedList.value.instanceHost == null
|
||||
? ''
|
||||
|
|
|
@ -10,6 +10,7 @@ import 'package:matrix4_transform/matrix4_transform.dart';
|
|||
import '../hooks/delayed_loading.dart';
|
||||
import '../hooks/infinite_scroll.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/delayed_action.dart';
|
||||
import '../util/extensions/api.dart';
|
||||
import '../util/extensions/datetime.dart';
|
||||
|
@ -90,11 +91,11 @@ class InboxPage extends HookWidget {
|
|||
tooltip: unreadOnly.value ? 'show all' : 'show only unread',
|
||||
)
|
||||
],
|
||||
bottom: const TabBar(
|
||||
bottom: TabBar(
|
||||
tabs: [
|
||||
Tab(text: 'Replies'),
|
||||
Tab(text: 'Mentions'),
|
||||
Tab(text: 'Messages'),
|
||||
Tab(text: L10n.of(context).replies),
|
||||
Tab(text: L10n.of(context).mentions),
|
||||
Tab(text: L10n.of(context).messages),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
@ -279,7 +280,7 @@ class PrivateMessageTile extends HookWidget {
|
|||
Row(
|
||||
children: [
|
||||
Text(
|
||||
toMe ? 'from ' : 'to ',
|
||||
'${toMe ? L10n.of(context).from : L10n.of(context).to} ',
|
||||
style: TextStyle(color: theme.textTheme.caption.color),
|
||||
),
|
||||
InkWell(
|
||||
|
@ -334,8 +335,10 @@ class PrivateMessageTile extends HookWidget {
|
|||
),
|
||||
const SizedBox(height: 5),
|
||||
if (pmv.value.privateMessage.deleted)
|
||||
const Text('deleted by creator',
|
||||
style: TextStyle(fontStyle: FontStyle.italic))
|
||||
Text(
|
||||
L10n.of(context).deleted_by_creator,
|
||||
style: const TextStyle(fontStyle: FontStyle.italic),
|
||||
)
|
||||
else
|
||||
body,
|
||||
Row(children: [
|
||||
|
@ -343,19 +346,19 @@ class PrivateMessageTile extends HookWidget {
|
|||
TileAction(
|
||||
icon: moreIcon,
|
||||
onPressed: showMoreMenu,
|
||||
tooltip: 'more',
|
||||
tooltip: L10n.of(context).more,
|
||||
),
|
||||
if (toMe) ...[
|
||||
TileAction(
|
||||
iconColor: read.value ? theme.accentColor : null,
|
||||
icon: Icons.check,
|
||||
tooltip: 'mark as read',
|
||||
tooltip: L10n.of(context).mark_as_read,
|
||||
onPressed: handleRead,
|
||||
delayedLoading: readDelayed,
|
||||
),
|
||||
TileAction(
|
||||
icon: Icons.reply,
|
||||
tooltip: 'reply',
|
||||
tooltip: L10n.of(context).reply,
|
||||
onPressed: () {
|
||||
showCupertinoModalPopup(
|
||||
context: context,
|
||||
|
@ -368,7 +371,7 @@ class PrivateMessageTile extends HookWidget {
|
|||
] else ...[
|
||||
TileAction(
|
||||
icon: Icons.edit,
|
||||
tooltip: 'edit',
|
||||
tooltip: L10n.of(context).edit,
|
||||
onPressed: () async {
|
||||
final val = await showCupertinoModalPopup<PrivateMessageView>(
|
||||
context: context,
|
||||
|
@ -379,7 +382,9 @@ class PrivateMessageTile extends HookWidget {
|
|||
TileAction(
|
||||
delayedLoading: deleteDelayed,
|
||||
icon: deleted.value ? Icons.restore : Icons.delete,
|
||||
tooltip: deleted.value ? 'restore' : 'delete',
|
||||
tooltip: deleted.value
|
||||
? L10n.of(context).restore
|
||||
: L10n.of(context).delete,
|
||||
onPressed: handleDelete,
|
||||
),
|
||||
]
|
||||
|
|
|
@ -7,6 +7,7 @@ import 'package:lemmy_api_client/v2.dart';
|
|||
import 'package:url_launcher/url_launcher.dart' as ul;
|
||||
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/extensions/api.dart';
|
||||
import '../util/extensions/spaced.dart';
|
||||
import '../util/goto.dart';
|
||||
|
@ -162,11 +163,11 @@ class InstancePage extends HookWidget {
|
|||
preferredSize: const TabBar(tabs: []).preferredSize,
|
||||
child: Material(
|
||||
color: theme.cardColor,
|
||||
child: const TabBar(
|
||||
child: TabBar(
|
||||
tabs: [
|
||||
Tab(text: 'Posts'),
|
||||
Tab(text: 'Comments'),
|
||||
Tab(text: 'About'),
|
||||
Tab(text: L10n.of(context).posts),
|
||||
Tab(text: L10n.of(context).comments),
|
||||
const Tab(text: 'About'),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
@ -215,11 +216,13 @@ class _AboutTab extends HookWidget {
|
|||
: assert(communitiesFuture != null),
|
||||
assert(instanceHost != null);
|
||||
|
||||
void goToBannedUsers(BuildContext c) {
|
||||
void goToBannedUsers(BuildContext context) {
|
||||
goTo(
|
||||
c,
|
||||
context,
|
||||
(_) => UsersListPage(
|
||||
users: site.banned.reversed.toList(), title: 'Banned users'),
|
||||
users: site.banned.reversed.toList(),
|
||||
title: L10n.of(context).banned_users,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -266,8 +269,12 @@ class _AboutTab extends HookWidget {
|
|||
scrollDirection: Axis.horizontal,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 15),
|
||||
children: [
|
||||
Chip(label: Text('${site.online} users online')),
|
||||
Chip(label: Text('${site.siteView.counts.users} users')),
|
||||
Chip(
|
||||
label: Text(L10n.of(context)
|
||||
.number_of_users_online(site.online))),
|
||||
Chip(
|
||||
label: Text(L10n.of(context)
|
||||
.number_of_users(site.siteView.counts.users))),
|
||||
Chip(
|
||||
label: Text(
|
||||
'${site.siteView.counts.communities} communities')),
|
||||
|
@ -328,11 +335,11 @@ class _AboutTab extends HookWidget {
|
|||
),
|
||||
const _Divider(),
|
||||
ListTile(
|
||||
title: const Center(child: Text('Banned users')),
|
||||
title: Center(child: Text(L10n.of(context).banned_users)),
|
||||
onTap: () => goToBannedUsers(context),
|
||||
),
|
||||
ListTile(
|
||||
title: const Center(child: Text('Modlog')),
|
||||
title: Center(child: Text(L10n.of(context).modlog)),
|
||||
onTap: () => goTo(
|
||||
context,
|
||||
(context) => ModlogPage.forInstance(instanceHost: instanceHost),
|
||||
|
|
|
@ -9,6 +9,7 @@ import '../hooks/delayed_loading.dart';
|
|||
import '../hooks/image_picker.dart';
|
||||
import '../hooks/ref.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/pictrs.dart';
|
||||
import '../widgets/bottom_safe.dart';
|
||||
import '../widgets/radio_picker.dart';
|
||||
|
@ -148,29 +149,29 @@ class _ManageAccount extends HookWidget {
|
|||
final confirmDelete = await showDialog<bool>(
|
||||
context: context,
|
||||
builder: (context) => AlertDialog(
|
||||
title: const Text('Remove account?'),
|
||||
title: Text(
|
||||
'${L10n.of(context).delete_account} @${user.instanceHost}@${user.name}'),
|
||||
content: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Text(
|
||||
'Are you sure you want to remove @${user.instanceHost}@${user.name}? '
|
||||
'WARNING: this removes your account COMPLETELY, not from lemmur only',
|
||||
),
|
||||
Text(L10n.of(context).delete_account_confirm),
|
||||
const SizedBox(height: 10),
|
||||
TextField(
|
||||
controller: deleteAccountPasswordController,
|
||||
obscureText: true,
|
||||
decoration: const InputDecoration(hintText: 'Password'),
|
||||
decoration:
|
||||
InputDecoration(hintText: L10n.of(context).password),
|
||||
)
|
||||
],
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(context).pop(false),
|
||||
child: const Text('no'),
|
||||
child: Text(L10n.of(context).no),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(context).pop(true),
|
||||
child: const Text('yes'),
|
||||
child: Text(L10n.of(context).yes),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
@ -205,7 +206,7 @@ class _ManageAccount extends HookWidget {
|
|||
children: [
|
||||
_ImagePicker(
|
||||
user: user,
|
||||
name: 'Avatar',
|
||||
name: L10n.of(context).avatar,
|
||||
initialUrl: avatar.current,
|
||||
onChange: (value) => avatar.current = value,
|
||||
informAcceptedRef: informAcceptedAvatarRef,
|
||||
|
@ -213,41 +214,42 @@ class _ManageAccount extends HookWidget {
|
|||
const SizedBox(height: 8),
|
||||
_ImagePicker(
|
||||
user: user,
|
||||
name: 'Banner',
|
||||
name: L10n.of(context).banner,
|
||||
initialUrl: banner.current,
|
||||
onChange: (value) => banner.current = value,
|
||||
informAcceptedRef: informAcceptedBannerRef,
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
Text('Display Name', style: theme.textTheme.headline6),
|
||||
Text(L10n.of(context).display_name, style: theme.textTheme.headline6),
|
||||
TextField(controller: displayNameController),
|
||||
const SizedBox(height: 8),
|
||||
Text('Bio', style: theme.textTheme.headline6),
|
||||
Text(L10n.of(context).bio, style: theme.textTheme.headline6),
|
||||
TextField(
|
||||
controller: bioController,
|
||||
minLines: 4,
|
||||
maxLines: 10,
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
Text('Email', style: theme.textTheme.headline6),
|
||||
Text(L10n.of(context).email, style: theme.textTheme.headline6),
|
||||
TextField(controller: emailController),
|
||||
const SizedBox(height: 8),
|
||||
Text('Matrix User', style: theme.textTheme.headline6),
|
||||
Text(L10n.of(context).matrix_user, style: theme.textTheme.headline6),
|
||||
TextField(controller: matrixUserController),
|
||||
const SizedBox(height: 8),
|
||||
Text('New password', style: theme.textTheme.headline6),
|
||||
Text(L10n.of(context).new_password, style: theme.textTheme.headline6),
|
||||
TextField(
|
||||
controller: newPasswordController,
|
||||
obscureText: true,
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
Text('Verify password', style: theme.textTheme.headline6),
|
||||
Text(L10n.of(context).verify_password,
|
||||
style: theme.textTheme.headline6),
|
||||
TextField(
|
||||
controller: newPasswordVerifyController,
|
||||
obscureText: true,
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
Text('Old password', style: theme.textTheme.headline6),
|
||||
Text(L10n.of(context).old_password, style: theme.textTheme.headline6),
|
||||
TextField(
|
||||
controller: oldPasswordController,
|
||||
obscureText: true,
|
||||
|
@ -258,9 +260,9 @@ class _ManageAccount extends HookWidget {
|
|||
children: [
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: const [
|
||||
Text('Sort type'),
|
||||
Text(
|
||||
children: [
|
||||
Text(L10n.of(context).type),
|
||||
const Text(
|
||||
'This has currently no effect on lemmur',
|
||||
style: TextStyle(fontSize: 10),
|
||||
)
|
||||
|
@ -284,9 +286,9 @@ class _ManageAccount extends HookWidget {
|
|||
children: [
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: const [
|
||||
Text('Type'),
|
||||
Text(
|
||||
children: [
|
||||
Text(L10n.of(context).sort_type),
|
||||
const Text(
|
||||
'This has currently no effect on lemmur',
|
||||
style: TextStyle(fontSize: 10),
|
||||
)
|
||||
|
@ -304,7 +306,7 @@ class _ManageAccount extends HookWidget {
|
|||
CheckboxListTile(
|
||||
value: showAvatars.value,
|
||||
onChanged: (checked) => showAvatars.value = checked,
|
||||
title: const Text('Show avatars'),
|
||||
title: Text(L10n.of(context).show_avatars),
|
||||
subtitle: const Text('This has currently no effect on lemmur'),
|
||||
dense: true,
|
||||
),
|
||||
|
@ -312,7 +314,7 @@ class _ManageAccount extends HookWidget {
|
|||
CheckboxListTile(
|
||||
value: showNsfw.value,
|
||||
onChanged: (checked) => showNsfw.value = checked,
|
||||
title: const Text('Show NSFW content'),
|
||||
title: Text(L10n.of(context).show_nsfw),
|
||||
subtitle: const Text('This has currently no effect on lemmur'),
|
||||
dense: true,
|
||||
),
|
||||
|
@ -320,7 +322,7 @@ class _ManageAccount extends HookWidget {
|
|||
CheckboxListTile(
|
||||
value: sendNotificationsToEmail.value,
|
||||
onChanged: (checked) => sendNotificationsToEmail.value = checked,
|
||||
title: const Text('Send notifications to Email'),
|
||||
title: Text(L10n.of(context).send_notifications_to_email),
|
||||
dense: true,
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
|
@ -332,7 +334,7 @@ class _ManageAccount extends HookWidget {
|
|||
height: 20,
|
||||
child: CircularProgressIndicator(),
|
||||
)
|
||||
: const Text('save'),
|
||||
: Text(L10n.of(context).save),
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
ElevatedButton(
|
||||
|
@ -340,7 +342,7 @@ class _ManageAccount extends HookWidget {
|
|||
style: ElevatedButton.styleFrom(
|
||||
primary: Colors.red,
|
||||
),
|
||||
child: const Text('DELETE ACCOUNT'),
|
||||
child: Text(L10n.of(context).delete_account.toUpperCase()),
|
||||
),
|
||||
const BottomSafe(),
|
||||
],
|
||||
|
|
|
@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
|
|||
import 'package:lemmy_api_client/v2.dart';
|
||||
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../widgets/sortable_infinite_list.dart';
|
||||
|
||||
/// Page with saved posts/comments. Fetches such saved data from the default user
|
||||
|
@ -16,11 +17,11 @@ class SavedPage extends HookWidget {
|
|||
length: 2,
|
||||
child: Scaffold(
|
||||
appBar: AppBar(
|
||||
title: const Text('Saved'),
|
||||
bottom: const TabBar(
|
||||
title: Text(L10n.of(context).saved),
|
||||
bottom: TabBar(
|
||||
tabs: [
|
||||
Tab(text: 'Posts'),
|
||||
Tab(text: 'Comments'),
|
||||
Tab(text: L10n.of(context).posts),
|
||||
Tab(text: L10n.of(context).comments),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
|
|||
import 'package:lemmy_api_client/v2.dart';
|
||||
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../widgets/comment.dart';
|
||||
import '../widgets/post.dart';
|
||||
import '../widgets/sortable_infinite_list.dart';
|
||||
|
@ -27,13 +28,13 @@ class SearchResultsPage extends HookWidget {
|
|||
child: Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text('Looking for "$query"'),
|
||||
bottom: const TabBar(
|
||||
bottom: TabBar(
|
||||
isScrollable: true,
|
||||
tabs: [
|
||||
Tab(text: 'Posts'),
|
||||
Tab(text: 'Comments'),
|
||||
Tab(text: 'Users'),
|
||||
Tab(text: 'Communities'),
|
||||
Tab(text: L10n.of(context).posts),
|
||||
Tab(text: L10n.of(context).comments),
|
||||
Tab(text: L10n.of(context).users),
|
||||
Tab(text: L10n.of(context).communities),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/goto.dart';
|
||||
import '../widgets/radio_picker.dart';
|
||||
import 'search_results.dart';
|
||||
|
@ -38,7 +39,7 @@ class SearchTab extends HookWidget {
|
|||
TextField(
|
||||
controller: searchInputController,
|
||||
textAlign: TextAlign.center,
|
||||
decoration: const InputDecoration(hintText: 'search'),
|
||||
decoration: InputDecoration(hintText: L10n.of(context).search),
|
||||
),
|
||||
const SizedBox(height: 5),
|
||||
Row(
|
||||
|
@ -65,7 +66,7 @@ class SearchTab extends HookWidget {
|
|||
instanceHost: instanceHost.value,
|
||||
query: searchInputController.text,
|
||||
)),
|
||||
child: const Text('search'),
|
||||
child: Text(L10n.of(context).search),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
|
@ -6,8 +6,10 @@ import 'package:flutter_slidable/flutter_slidable.dart';
|
|||
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
|
||||
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/goto.dart';
|
||||
import '../widgets/about_tile.dart';
|
||||
import '../widgets/radio_picker.dart';
|
||||
import 'add_account.dart';
|
||||
import 'add_instance.dart';
|
||||
import 'manage_account.dart';
|
||||
|
@ -19,7 +21,7 @@ class SettingsPage extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) => Scaffold(
|
||||
appBar: AppBar(
|
||||
title: const Text('Settings'),
|
||||
title: Text(L10n.of(context).settings),
|
||||
),
|
||||
body: ListView(
|
||||
children: [
|
||||
|
@ -68,11 +70,29 @@ class AppearanceConfigPage extends HookWidget {
|
|||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
title: const Text('AMOLED dark mode'),
|
||||
value: configStore.amoledDarkMode,
|
||||
onChanged: (checked) {
|
||||
configStore.amoledDarkMode = checked;
|
||||
})
|
||||
title: const Text('AMOLED dark mode'),
|
||||
value: configStore.amoledDarkMode,
|
||||
onChanged: (checked) {
|
||||
configStore.amoledDarkMode = checked;
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
const _SectionHeading('General'),
|
||||
ListTile(
|
||||
title: Text(L10n.of(context).language),
|
||||
trailing: SizedBox(
|
||||
width: 120,
|
||||
child: RadioPicker<Locale>(
|
||||
title: 'Choose language',
|
||||
groupValue: configStore.locale,
|
||||
values: L10n.supportedLocales,
|
||||
mapValueToString: (locale) => locale.languageName,
|
||||
onChanged: (selected) {
|
||||
configStore.locale = selected;
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
@ -97,11 +117,11 @@ class AccountsConfigPage extends HookWidget {
|
|||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(context).pop(false),
|
||||
child: const Text('no'),
|
||||
child: Text(L10n.of(context).no),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(context).pop(true),
|
||||
child: const Text('yes'),
|
||||
child: Text(L10n.of(context).yes),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
@ -121,11 +141,11 @@ class AccountsConfigPage extends HookWidget {
|
|||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(context).pop(false),
|
||||
child: const Text('no'),
|
||||
child: Text(L10n.of(context).no),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(context).pop(true),
|
||||
child: const Text('yes'),
|
||||
child: Text(L10n.of(context).yes),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
|
|||
import 'package:lemmy_api_client/v2.dart';
|
||||
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/extensions/api.dart';
|
||||
import '../widgets/markdown_mode_icon.dart';
|
||||
import '../widgets/markdown_text.dart';
|
||||
|
@ -41,8 +42,8 @@ class WriteMessagePage extends HookWidget {
|
|||
useTextEditingController(text: privateMessage?.content);
|
||||
final loading = useState(false);
|
||||
|
||||
final submit = _isEdit ? 'save' : 'send';
|
||||
final title = _isEdit ? 'Edit message' : 'Send message';
|
||||
final submit = _isEdit ? L10n.of(context).save : 'send';
|
||||
final title = _isEdit ? 'Edit message' : L10n.of(context).send_message;
|
||||
|
||||
handleSubmit() async {
|
||||
if (_isEdit) {
|
||||
|
|
|
@ -5,6 +5,8 @@ import 'package:flutter/material.dart';
|
|||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import '../l10n/l10n.dart';
|
||||
|
||||
part 'config_store.g.dart';
|
||||
|
||||
/// Store managing user-level configuration such as theme or language
|
||||
|
@ -31,12 +33,23 @@ class ConfigStore extends ChangeNotifier {
|
|||
save();
|
||||
}
|
||||
|
||||
Locale _locale;
|
||||
// default value is set in the `load` method because json_serializable does
|
||||
// not accept non-literals as constant values
|
||||
@JsonKey(fromJson: LocaleSerde.fromJson, toJson: LocaleSerde.toJson)
|
||||
Locale get locale => _locale;
|
||||
set locale(Locale locale) {
|
||||
_locale = locale;
|
||||
notifyListeners();
|
||||
save();
|
||||
}
|
||||
|
||||
static Future<ConfigStore> load() async {
|
||||
final prefs = await _prefs;
|
||||
|
||||
return _$ConfigStoreFromJson(
|
||||
jsonDecode(prefs.getString(prefsKey) ?? '{}') as Map<String, dynamic>,
|
||||
);
|
||||
).._locale ??= const Locale('en');
|
||||
}
|
||||
|
||||
Future<void> save() async {
|
||||
|
|
|
@ -10,13 +10,15 @@ ConfigStore _$ConfigStoreFromJson(Map<String, dynamic> json) {
|
|||
return ConfigStore()
|
||||
..theme = _$enumDecodeNullable(_$ThemeModeEnumMap, json['theme']) ??
|
||||
ThemeMode.system
|
||||
..amoledDarkMode = json['amoledDarkMode'] as bool ?? false;
|
||||
..amoledDarkMode = json['amoledDarkMode'] as bool ?? false
|
||||
..locale = LocaleSerde.fromJson(json['locale'] as String);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$ConfigStoreToJson(ConfigStore instance) =>
|
||||
<String, dynamic>{
|
||||
'theme': _$ThemeModeEnumMap[instance.theme],
|
||||
'amoledDarkMode': instance.amoledDarkMode,
|
||||
'locale': LocaleSerde.toJson(instance.locale),
|
||||
};
|
||||
|
||||
T _$enumDecode<T>(
|
||||
|
|
|
@ -10,6 +10,7 @@ import '../comment_tree.dart';
|
|||
import '../hooks/delayed_loading.dart';
|
||||
import '../hooks/logged_in_action.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../util/delayed_action.dart';
|
||||
import '../util/extensions/api.dart';
|
||||
import '../util/extensions/datetime.dart';
|
||||
|
@ -217,10 +218,10 @@ class CommentWidget extends HookWidget {
|
|||
|
||||
final body = () {
|
||||
if (isDeleted.value) {
|
||||
return const Flexible(
|
||||
return Flexible(
|
||||
child: Text(
|
||||
'comment deleted by creator',
|
||||
style: TextStyle(fontStyle: FontStyle.italic),
|
||||
L10n.of(context).deleted_by_creator,
|
||||
style: const TextStyle(fontStyle: FontStyle.italic),
|
||||
),
|
||||
);
|
||||
} else if (comment.comment.removed) {
|
||||
|
@ -292,14 +293,14 @@ class CommentWidget extends HookWidget {
|
|||
icon: Icons.more_horiz,
|
||||
onPressed: () => _openMoreMenu(context),
|
||||
delayedLoading: delayedDeletion,
|
||||
tooltip: 'more',
|
||||
tooltip: L10n.of(context).more,
|
||||
),
|
||||
_SaveComment(commentTree.comment),
|
||||
if (!isDeleted.value && !comment.comment.removed)
|
||||
TileAction(
|
||||
icon: Icons.reply,
|
||||
onPressed: loggedInAction((_) => reply()),
|
||||
tooltip: 'reply',
|
||||
tooltip: L10n.of(context).reply,
|
||||
),
|
||||
TileAction(
|
||||
icon: Icons.arrow_upward,
|
||||
|
@ -364,7 +365,10 @@ class CommentWidget extends HookWidget {
|
|||
),
|
||||
if (isOP) _CommentTag('OP', theme.accentColor),
|
||||
if (comment.creator.admin)
|
||||
_CommentTag('ADMIN', theme.accentColor),
|
||||
_CommentTag(
|
||||
L10n.of(context).admin.toUpperCase(),
|
||||
theme.accentColor,
|
||||
),
|
||||
if (comment.creator.banned)
|
||||
const _CommentTag('BANNED', Colors.red),
|
||||
if (comment.creatorBannedFromCommunity)
|
||||
|
@ -465,7 +469,9 @@ class _MarkAsRead extends HookWidget {
|
|||
onPressed:
|
||||
userMentionId != null ? handleMarkMentionAsSeen : handleMarkAsSeen,
|
||||
iconColor: isRead.value ? Theme.of(context).accentColor : null,
|
||||
tooltip: 'mark as ${isRead.value ? 'un' : ''}read',
|
||||
tooltip: isRead.value
|
||||
? L10n.of(context).mark_as_unread
|
||||
: L10n.of(context).mark_as_read,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
|
|||
import 'package:lemmy_api_client/v2.dart';
|
||||
|
||||
import '../comment_tree.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import 'bottom_modal.dart';
|
||||
import 'bottom_safe.dart';
|
||||
import 'comment.dart';
|
||||
|
@ -16,11 +17,11 @@ class CommentSection extends HookWidget {
|
|||
final CommentSortType sortType;
|
||||
|
||||
static const sortPairs = {
|
||||
CommentSortType.hot: [Icons.whatshot, 'Hot'],
|
||||
CommentSortType.new_: [Icons.new_releases, 'New'],
|
||||
CommentSortType.old: [Icons.calendar_today, 'Old'],
|
||||
CommentSortType.top: [Icons.trending_up, 'Top'],
|
||||
CommentSortType.chat: [Icons.chat, 'Chat'],
|
||||
CommentSortType.hot: [Icons.whatshot, L10nStrings.hot],
|
||||
CommentSortType.new_: [Icons.new_releases, L10nStrings.new_],
|
||||
CommentSortType.old: [Icons.calendar_today, L10nStrings.old],
|
||||
CommentSortType.top: [Icons.trending_up, L10nStrings.top],
|
||||
CommentSortType.chat: [Icons.chat, L10nStrings.chat],
|
||||
};
|
||||
|
||||
CommentSection(
|
||||
|
@ -60,7 +61,7 @@ class CommentSection extends HookWidget {
|
|||
for (final e in sortPairs.entries)
|
||||
ListTile(
|
||||
leading: Icon(e.value[0] as IconData),
|
||||
title: Text(e.value[1] as String),
|
||||
title: Text((e.value[1] as String).tr(context)),
|
||||
trailing: sorting.value == e.key
|
||||
? const Icon(Icons.check)
|
||||
: null,
|
||||
|
@ -75,7 +76,7 @@ class CommentSection extends HookWidget {
|
|||
},
|
||||
child: Row(
|
||||
children: [
|
||||
Text(sortPairs[sorting.value][1] as String),
|
||||
Text((sortPairs[sorting.value][1] as String).tr(context)),
|
||||
const Icon(Icons.arrow_drop_down),
|
||||
],
|
||||
),
|
||||
|
|
|
@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
|
|||
/// used mostly for pages where markdown editor is used
|
||||
///
|
||||
/// brush icon is rotated to look similarly to build icon
|
||||
Widget markdownModeIcon({bool fancy}) => fancy
|
||||
Widget markdownModeIcon({@required bool fancy}) => fancy
|
||||
? const Icon(Icons.build)
|
||||
: const RotatedBox(
|
||||
quarterTurns: 1,
|
||||
|
|
|
@ -10,6 +10,7 @@ import 'package:url_launcher/url_launcher.dart' as ul;
|
|||
|
||||
import '../hooks/delayed_loading.dart';
|
||||
import '../hooks/logged_in_action.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../pages/full_post.dart';
|
||||
import '../url_launcher.dart';
|
||||
import '../util/cleanup_url.dart';
|
||||
|
@ -180,10 +181,11 @@ class PostWidget extends HookWidget {
|
|||
fontSize: 13,
|
||||
color: theme.textTheme.bodyText1.color),
|
||||
children: [
|
||||
const TextSpan(
|
||||
text: 'by',
|
||||
style:
|
||||
TextStyle(fontWeight: FontWeight.w300)),
|
||||
TextSpan(
|
||||
text: L10n.of(context).by,
|
||||
style: const TextStyle(
|
||||
fontWeight: FontWeight.w300),
|
||||
),
|
||||
TextSpan(
|
||||
text: ' ${post.creator.originDisplayName}',
|
||||
style: const TextStyle(
|
||||
|
@ -203,9 +205,10 @@ class PostWidget extends HookWidget {
|
|||
const TextSpan(text: ' · 📌'),
|
||||
if (post.post.nsfw) const TextSpan(text: ' · '),
|
||||
if (post.post.nsfw)
|
||||
const TextSpan(
|
||||
text: 'NSFW',
|
||||
style: TextStyle(color: Colors.red)),
|
||||
TextSpan(
|
||||
text: L10n.of(context).nsfw,
|
||||
style:
|
||||
const TextStyle(color: Colors.red)),
|
||||
if (urlDomain != null)
|
||||
TextSpan(text: ' · $urlDomain'),
|
||||
if (post.post.removed)
|
||||
|
@ -368,11 +371,11 @@ class PostWidget extends HookWidget {
|
|||
child: Row(
|
||||
children: [
|
||||
const Icon(Icons.comment),
|
||||
const SizedBox(width: 6),
|
||||
Expanded(
|
||||
flex: 999,
|
||||
child: Text(
|
||||
' ${NumberFormat.compact().format(post.counts.comments)}'
|
||||
' comment${post.counts.comments == 1 ? '' : 's'}',
|
||||
L10n.of(context).number_of_comments(post.counts.comments),
|
||||
overflow: TextOverflow.fade,
|
||||
softWrap: false,
|
||||
),
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:lemmy_api_client/v2.dart';
|
||||
|
||||
import '../l10n/l10n.dart';
|
||||
import 'radio_picker.dart';
|
||||
|
||||
/// Dropdown filters where you can change sorting or viewing type
|
||||
|
@ -26,7 +27,7 @@ class PostListOptions extends StatelessWidget {
|
|||
values: SortType.values,
|
||||
groupValue: sortValue,
|
||||
onChanged: onSortChanged,
|
||||
mapValueToString: (value) => value.value,
|
||||
mapValueToString: (value) => value.tr(context),
|
||||
),
|
||||
const Spacer(),
|
||||
if (styleButton)
|
||||
|
|
|
@ -6,11 +6,11 @@ import 'package:lemmy_api_client/v2.dart';
|
|||
|
||||
import '../hooks/memo_future.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import '../pages/manage_account.dart';
|
||||
import '../util/extensions/api.dart';
|
||||
import '../util/extensions/datetime.dart';
|
||||
import '../util/goto.dart';
|
||||
import '../util/intl.dart';
|
||||
import '../util/text_color.dart';
|
||||
import 'avatar.dart';
|
||||
import 'fullscreenable_image.dart';
|
||||
|
@ -81,11 +81,11 @@ class UserProfile extends HookWidget {
|
|||
preferredSize: const TabBar(tabs: []).preferredSize,
|
||||
child: Material(
|
||||
color: theme.cardColor,
|
||||
child: const TabBar(
|
||||
child: TabBar(
|
||||
tabs: [
|
||||
Tab(text: 'Posts'),
|
||||
Tab(text: 'Comments'),
|
||||
Tab(text: 'About'),
|
||||
Tab(text: L10n.of(context).posts),
|
||||
Tab(text: L10n.of(context).comments),
|
||||
const Tab(text: 'About'),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
@ -255,8 +255,8 @@ class _UserOverview extends HookWidget {
|
|||
),
|
||||
const SizedBox(width: 4),
|
||||
Text(
|
||||
'${compactNumber(userView.counts.postCount)}'
|
||||
' Post${pluralS(userView.counts.postCount)}',
|
||||
L10n.of(context)
|
||||
.number_of_posts(userView.counts.postCount),
|
||||
style: TextStyle(color: colorOnTopOfAccentColor),
|
||||
),
|
||||
],
|
||||
|
@ -273,7 +273,8 @@ class _UserOverview extends HookWidget {
|
|||
),
|
||||
const SizedBox(width: 4),
|
||||
Text(
|
||||
'${compactNumber(userView.counts.commentCount)} Comment${pluralS(userView.counts.commentCount)}',
|
||||
L10n.of(context)
|
||||
.number_of_comments(userView.counts.commentCount),
|
||||
style: TextStyle(color: colorOnTopOfAccentColor),
|
||||
),
|
||||
],
|
||||
|
|
|
@ -4,6 +4,7 @@ import 'package:lemmy_api_client/v2.dart';
|
|||
|
||||
import '../hooks/delayed_loading.dart';
|
||||
import '../hooks/stores.dart';
|
||||
import '../l10n/l10n.dart';
|
||||
import 'markdown_mode_icon.dart';
|
||||
import 'markdown_text.dart';
|
||||
|
||||
|
@ -119,7 +120,7 @@ class WriteComment extends HookWidget {
|
|||
onPressed: delayed.pending ? () {} : handleSubmit,
|
||||
child: delayed.loading
|
||||
? const CircularProgressIndicator()
|
||||
: const Text('post'),
|
||||
: Text(L10n.of(context).post),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
|
@ -258,6 +258,11 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.8.1"
|
||||
flutter_localizations:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_markdown:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -367,7 +372,7 @@ packages:
|
|||
source: hosted
|
||||
version: "1.1.6"
|
||||
intl:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: intl
|
||||
url: "https://pub.dartlang.org"
|
||||
|
|
|
@ -45,11 +45,14 @@ dependencies:
|
|||
timeago: ^2.0.27
|
||||
fuzzy: <1.0.0
|
||||
lemmy_api_client: ^0.12.0
|
||||
intl: ^0.16.1
|
||||
matrix4_transform: ^1.1.7
|
||||
json_annotation: ^3.1.1
|
||||
|
||||
flutter:
|
||||
sdk: flutter
|
||||
flutter_localizations:
|
||||
sdk: flutter
|
||||
|
||||
# The following adds the Cupertino Icons font to your application.
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
|
@ -74,6 +77,7 @@ flutter_icons:
|
|||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
# The following section is specific to Flutter.
|
||||
flutter:
|
||||
generate: true
|
||||
# The following line ensures that the Material Icons font is
|
||||
# included with your application, so that you can use the icons in
|
||||
# the material Icons class.
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
import 'dart:io';
|
||||
|
||||
void confirm(String message) {
|
||||
stdout.write('$message [y/n] ');
|
||||
|
||||
switch (stdin.readLineSync()) {
|
||||
case 'y':
|
||||
case 'yes':
|
||||
break;
|
||||
default:
|
||||
print('Exiting');
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
void printError(String message, {bool shouldExit = true}) {
|
||||
stderr.writeln('\x1B[31m$message\x1B[0m');
|
||||
|
||||
if (shouldExit) exit(1);
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/// creates a file with l10n translations from string
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
const baseFile = 'intl_en.arb';
|
||||
const autoGenHeader = '// FILE GENERATED AUTOMATICALLY, TO NOT EDIT BY HAND';
|
||||
|
||||
Future<void> main(List<String> args) async {
|
||||
final strings = jsonDecode(await File('lib/l10n/$baseFile').readAsString())
|
||||
as Map<String, dynamic>;
|
||||
|
||||
final keys = strings.keys.where((key) => !key.startsWith('@')).toSet();
|
||||
final keysWithoutVariables = keys.where((key) {
|
||||
final metadata = strings['@$key'] as Map<String, dynamic>;
|
||||
final placeholders = metadata['placeholders'] as Map<String, dynamic>;
|
||||
|
||||
return placeholders?.isEmpty ?? true;
|
||||
}).toSet();
|
||||
|
||||
await File('lib/l10n/l10n_from_string.dart').writeAsString('''$autoGenHeader
|
||||
// ignore_for_file: constant_identifier_names
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
abstract class L10nStrings {
|
||||
${keys.map((key) => " static const $key = '$key';").join('\n')}
|
||||
}
|
||||
|
||||
extension L10nFromString on String {
|
||||
String tr(BuildContext context) {
|
||||
switch (this) {
|
||||
${keysWithoutVariables.map((key) => " case L10nStrings.$key:\n return L10n.of(context).$key;").join('\n')}
|
||||
|
||||
default:
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
''');
|
||||
|
||||
await Process.run('flutter', ['format', '.']);
|
||||
}
|
|
@ -0,0 +1,365 @@
|
|||
/// migrates chosen strings from lemmy-translations into flutter's i18n solution
|
||||
/// uses prettier to format the files
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'common.dart';
|
||||
import 'gen_l10n_from_string.dart' as gen;
|
||||
|
||||
// config for migration of a single key
|
||||
// ignore: camel_case_types
|
||||
class _ {
|
||||
final String key;
|
||||
final String rename;
|
||||
|
||||
/// make all letters except the first one lower case
|
||||
final bool decapitalize;
|
||||
final bool toLowerCase;
|
||||
|
||||
/// arb format for the placeholder
|
||||
final String format;
|
||||
|
||||
/// arb type for the placeholder
|
||||
final String type;
|
||||
|
||||
const _(
|
||||
this.key, {
|
||||
this.rename,
|
||||
this.decapitalize = false,
|
||||
this.toLowerCase = false,
|
||||
this.format,
|
||||
this.type,
|
||||
});
|
||||
|
||||
String get renamedKey => rename ?? key;
|
||||
|
||||
// will transform a value of a translation of the base language
|
||||
String transform(String input) {
|
||||
if (toLowerCase) return input.toLowerCase();
|
||||
|
||||
if (decapitalize) return '${input[0]}${input.substring(1).toLowerCase()}';
|
||||
|
||||
return input;
|
||||
}
|
||||
}
|
||||
|
||||
const toMigrate = <_>[
|
||||
_('settings'),
|
||||
_('password'),
|
||||
_('email_or_username'),
|
||||
_('posts'),
|
||||
_('comments'),
|
||||
_('modlog'),
|
||||
_('community'),
|
||||
_('url'),
|
||||
_('title'),
|
||||
_('body'),
|
||||
_('nsfw'),
|
||||
_('post'),
|
||||
_('save'),
|
||||
_('subscribed'),
|
||||
_('local'),
|
||||
_('all'),
|
||||
_('replies'),
|
||||
_('mentions'),
|
||||
_('from'),
|
||||
_('to'),
|
||||
_('deleted', rename: 'deleted_by_creator'),
|
||||
_('more'),
|
||||
_('mark_as_read'),
|
||||
_('mark_as_unread'),
|
||||
_('reply'),
|
||||
_('edit'),
|
||||
_('delete'),
|
||||
_('restore'),
|
||||
_('yes'),
|
||||
_('no'),
|
||||
_('avatar'),
|
||||
_('banner'),
|
||||
_('display_name'),
|
||||
_('bio'),
|
||||
_('email'),
|
||||
_('matrix_user_id', rename: 'matrix_user'),
|
||||
_('sort_type'),
|
||||
_('type'),
|
||||
_('show_nsfw'),
|
||||
_('send_notifications_to_email'),
|
||||
_('delete_account', decapitalize: true),
|
||||
_('saved'),
|
||||
_('communities'),
|
||||
_('users'),
|
||||
_('theme'),
|
||||
_('language'),
|
||||
_('hot'),
|
||||
_('new', rename: 'new_'),
|
||||
_('old'),
|
||||
_('top'),
|
||||
_('chat'),
|
||||
_('admin'),
|
||||
_('by'),
|
||||
_('not_a_mod_or_admin'),
|
||||
_('not_an_admin'),
|
||||
_('couldnt_find_post'),
|
||||
_('not_logged_in'),
|
||||
_('site_ban'),
|
||||
_('community_ban'),
|
||||
_('downvotes_disabled'),
|
||||
_('invalid_url'),
|
||||
_('locked'),
|
||||
_('couldnt_create_comment'),
|
||||
_('couldnt_like_comment'),
|
||||
_('couldnt_update_comment'),
|
||||
_('no_comment_edit_allowed'),
|
||||
_('couldnt_save_comment'),
|
||||
_('couldnt_get_comments'),
|
||||
_('report_reason_required'),
|
||||
_('report_too_long'),
|
||||
_('couldnt_create_report'),
|
||||
_('couldnt_resolve_report'),
|
||||
_('invalid_post_title'),
|
||||
_('couldnt_create_post'),
|
||||
_('couldnt_like_post'),
|
||||
_('couldnt_find_community'),
|
||||
_('couldnt_get_posts'),
|
||||
_('no_post_edit_allowed'),
|
||||
_('couldnt_save_post'),
|
||||
_('site_already_exists'),
|
||||
_('couldnt_update_site'),
|
||||
_('invalid_community_name'),
|
||||
_('community_already_exists'),
|
||||
_('community_moderator_already_exists'),
|
||||
_('community_follower_already_exists'),
|
||||
_('not_a_moderator'),
|
||||
_('couldnt_update_community'),
|
||||
_('no_community_edit_allowed'),
|
||||
_('system_err_login'),
|
||||
_('community_user_already_banned'),
|
||||
_('couldnt_find_that_username_or_email'),
|
||||
_('password_incorrect'),
|
||||
_('registration_closed'),
|
||||
_('invalid_password'),
|
||||
_('passwords_dont_match'),
|
||||
_('captcha_incorrect'),
|
||||
_('invalid_username'),
|
||||
_('bio_length_overflow'),
|
||||
_('couldnt_update_user'),
|
||||
_('couldnt_update_private_message'),
|
||||
_('couldnt_update_post'),
|
||||
_('couldnt_create_private_message'),
|
||||
_('no_private_message_edit_allowed'),
|
||||
_('post_title_too_long'),
|
||||
_('email_already_exists'),
|
||||
_('user_already_exists'),
|
||||
_('number_online', rename: 'number_of_users_online'),
|
||||
_('number_of_comments', type: 'int', format: 'compact', toLowerCase: true),
|
||||
_('number_of_posts', type: 'int', format: 'compact', toLowerCase: true),
|
||||
_('number_of_subscribers'),
|
||||
_('number_of_users'),
|
||||
_('unsubscribe', toLowerCase: true),
|
||||
_('subscribe', toLowerCase: true),
|
||||
_('messages'),
|
||||
_('banned_users', decapitalize: true),
|
||||
_('delete_account_confirm'),
|
||||
_('new_password', decapitalize: true),
|
||||
_('verify_password', decapitalize: true),
|
||||
_('old_password', decapitalize: true),
|
||||
_('show_avatars', decapitalize: true),
|
||||
_('search', toLowerCase: true),
|
||||
_('send_message', decapitalize: true),
|
||||
_('top_day'),
|
||||
_('top_week'),
|
||||
_('top_month'),
|
||||
_('top_year'),
|
||||
_('top_all'),
|
||||
_('most_comments'),
|
||||
_('new_comments'),
|
||||
_('active'),
|
||||
];
|
||||
|
||||
const repoName = 'lemmy-translations';
|
||||
const baseLanguage = 'en';
|
||||
const flutterIntlPrefix = 'intl_';
|
||||
|
||||
Future<void> main(List<String> args) async {
|
||||
final force = args.contains('-f') || args.contains('--force');
|
||||
|
||||
checkDuplicateKeys();
|
||||
|
||||
final repoCleanup = await cloneLemmyTranslations();
|
||||
|
||||
final lemmyTranslations = await loadLemmyStrings();
|
||||
final lemmurTranslations = await loadLemmurStrings();
|
||||
portStrings(lemmyTranslations, lemmurTranslations, force: force);
|
||||
|
||||
await save(lemmurTranslations);
|
||||
|
||||
await repoCleanup();
|
||||
|
||||
await Process.run('npx', [
|
||||
'prettier',
|
||||
'lib/l10n/*.arb',
|
||||
'--parser',
|
||||
'json',
|
||||
'--write',
|
||||
'--print-width',
|
||||
'1',
|
||||
]);
|
||||
|
||||
await gen.main(args);
|
||||
}
|
||||
|
||||
/// check if `toMigrate` has duplicate keys
|
||||
void checkDuplicateKeys() {
|
||||
final seen = <String>{};
|
||||
for (final renamedKey in toMigrate.map((e) => e.renamedKey)) {
|
||||
if (seen.contains(renamedKey)) {
|
||||
printError(
|
||||
'The renamedKey "$renamedKey" appears more than once in "toMigrate"');
|
||||
}
|
||||
seen.add(renamedKey);
|
||||
}
|
||||
}
|
||||
|
||||
/// returns a cleanup function
|
||||
Future<Future<void> Function()> cloneLemmyTranslations() async {
|
||||
await Process.run('git', ['clone', 'https://github.com/LemmyNet/$repoName']);
|
||||
|
||||
return () => Directory(repoName).delete(recursive: true);
|
||||
}
|
||||
|
||||
/// Map<languageTag, Map<stringKey, stringValue>>
|
||||
Future<Map<String, Map<String, String>>> loadLemmyStrings() async {
|
||||
final translationsDir = Directory('$repoName/translations');
|
||||
final translations = <String, Map<String, String>>{};
|
||||
|
||||
await for (final file in translationsDir.list()) {
|
||||
final transFile = File.fromUri(file.uri);
|
||||
final trans = Map<String, String>.from(
|
||||
jsonDecode(await transFile.readAsString()) as Map<String, dynamic>,
|
||||
);
|
||||
|
||||
final localeName = file.uri.pathSegments.last.split('.json').first;
|
||||
translations[localeName] = trans;
|
||||
}
|
||||
|
||||
return translations;
|
||||
}
|
||||
|
||||
/// Map<languageTag, Map<stringKey, stringValue>> + some metadata
|
||||
Future<Map<String, Map<String, dynamic>>> loadLemmurStrings() async {
|
||||
final translationsDir = Directory('lib/l10n');
|
||||
final translations = <String, Map<String, dynamic>>{};
|
||||
|
||||
await for (final file in translationsDir.list()) {
|
||||
if (!file.path.endsWith('.arb')) continue;
|
||||
|
||||
final transFile = File.fromUri(file.uri);
|
||||
final trans =
|
||||
jsonDecode(await transFile.readAsString()) as Map<String, dynamic>;
|
||||
|
||||
final localeName = file.uri.pathSegments.last
|
||||
.split('.arb')
|
||||
.first
|
||||
.split(flutterIntlPrefix)
|
||||
.last;
|
||||
translations[localeName] = trans;
|
||||
}
|
||||
|
||||
return translations;
|
||||
}
|
||||
|
||||
/// will port them into `lemmurTranslations`
|
||||
void portStrings(
|
||||
Map<String, Map<String, String>> lemmyTranslations,
|
||||
Map<String, Map<String, dynamic>> lemmurTranslations, {
|
||||
bool force = false,
|
||||
}) {
|
||||
// port all languages
|
||||
for (final language in lemmyTranslations.keys) {
|
||||
if (!lemmurTranslations.containsKey(language)) {
|
||||
lemmurTranslations[language] = {'@@locale': language};
|
||||
}
|
||||
}
|
||||
|
||||
for (final migrate in toMigrate) {
|
||||
if (!lemmyTranslations[baseLanguage].containsKey(migrate.key)) {
|
||||
printError('"${migrate.key}" does not exist in $repoName');
|
||||
}
|
||||
|
||||
if (lemmurTranslations[baseLanguage].containsKey(migrate.renamedKey) &&
|
||||
!force) {
|
||||
confirm('"${migrate.key}" already exists in lemmur, overwrite?');
|
||||
}
|
||||
|
||||
final variableName = RegExp(r'{{([\w_]+)}|')
|
||||
.firstMatch(lemmyTranslations[baseLanguage][migrate.key])
|
||||
?.group(1);
|
||||
|
||||
final metadata = <String, dynamic>{
|
||||
if (variableName != null)
|
||||
'placeholders': {
|
||||
variableName: {
|
||||
if (migrate.type != null) 'type': migrate.type,
|
||||
if (migrate.format != null) 'format': migrate.format,
|
||||
},
|
||||
},
|
||||
};
|
||||
// ignore: omit_local_variable_types
|
||||
String Function(Map<String, String> translations) transformer =
|
||||
(translations) => translations[migrate.key];
|
||||
|
||||
// check if it has a plural form
|
||||
if (lemmyTranslations[baseLanguage].containsKey('${migrate.key}_plural')) {
|
||||
transformer = (translations) {
|
||||
if (translations[migrate.key] == null) return null;
|
||||
|
||||
final fixedVariables = translations[migrate.key]
|
||||
.replaceAll('{{$variableName}}', '{$variableName}');
|
||||
|
||||
final pluralForm = () {
|
||||
if (translations.containsKey('${migrate.key}_plural')) {
|
||||
return translations['${migrate.key}_plural']
|
||||
.replaceAll('{{$variableName}}', '{$variableName}');
|
||||
}
|
||||
|
||||
return null;
|
||||
}();
|
||||
|
||||
return '{$variableName,plural, =1{$fixedVariables}${pluralForm != null ? ' other{$pluralForm}' : ''}}';
|
||||
};
|
||||
}
|
||||
|
||||
for (final trans in lemmyTranslations.entries) {
|
||||
final language = trans.key;
|
||||
final strings = trans.value;
|
||||
|
||||
lemmurTranslations[language][migrate.renamedKey] = transformer(strings);
|
||||
}
|
||||
lemmurTranslations[baseLanguage][migrate.renamedKey] =
|
||||
migrate.transform(transformer(lemmyTranslations[baseLanguage]));
|
||||
lemmurTranslations[baseLanguage]['@${migrate.renamedKey}'] = metadata;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> save(Map<String, Map<String, dynamic>> lemmurTranslations) async {
|
||||
// remove null fields
|
||||
// Vec<(language, key)>
|
||||
final toRemove = <List<String>>[];
|
||||
for (final translations in lemmurTranslations.entries) {
|
||||
final language = translations.key;
|
||||
|
||||
for (final strings in translations.value.entries) {
|
||||
if (strings.value == null) {
|
||||
toRemove.add([language, strings.key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (final rem in toRemove) {
|
||||
lemmurTranslations[rem[0]].remove(rem[1]);
|
||||
}
|
||||
|
||||
for (final language in lemmurTranslations.keys) {
|
||||
await File('lib/l10n/$flutterIntlPrefix$language.arb')
|
||||
.writeAsString(jsonEncode(lemmurTranslations[language]));
|
||||
}
|
||||
}
|
|
@ -1,11 +1,13 @@
|
|||
/// Used to create a new lemmur release. Bumps semver, build number, updates changelog, fastlane, pubspec, and finishes by adding a git tag
|
||||
import 'dart:io';
|
||||
|
||||
import 'common.dart';
|
||||
|
||||
Future<void> main(List<String> args) async {
|
||||
await assertNoStagedGit();
|
||||
|
||||
if (args.isEmpty || !{'patch', 'minor', 'major'}.contains(args[0])) {
|
||||
print('Unknown version bump type');
|
||||
exit(1);
|
||||
printError('Unknown version bump type');
|
||||
}
|
||||
|
||||
final version = await bumpedVersion(args[0]);
|
||||
|
@ -25,8 +27,7 @@ Future<void> assertNoStagedGit() async {
|
|||
await Process.run('git', ['diff-index', '--cached', '--quiet', 'HEAD']);
|
||||
|
||||
if (res.exitCode != 0) {
|
||||
print('You have staged files, commit or unstage them.');
|
||||
exit(1);
|
||||
printError('You have staged files, commit or unstage them.');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -126,16 +127,3 @@ Future<void> runGitCommands(Version version) async {
|
|||
await Process.run('git', ['tag', 'v${version.toStringNoCode()}']);
|
||||
print('done');
|
||||
}
|
||||
|
||||
void confirm(String message) {
|
||||
stdout.write('$message [y/n] ');
|
||||
|
||||
switch (stdin.readLineSync()) {
|
||||
case 'y':
|
||||
case 'yes':
|
||||
break;
|
||||
default:
|
||||
print('Exiting');
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue