diff --git a/src/components/gallery/gallery.vue b/src/components/gallery/gallery.vue
index 2366ddf7..ea525c95 100644
--- a/src/components/gallery/gallery.vue
+++ b/src/components/gallery/gallery.vue
@@ -27,7 +27,6 @@
align-content: stretch;
flex-grow: 1;
margin-top: 0.5em;
- margin-bottom: 0.25em;
.attachments, .attachment {
margin: 0 0.5em 0 0;
diff --git a/src/components/image_cropper/image_cropper.js b/src/components/image_cropper/image_cropper.js
index 990c0370..49d51846 100644
--- a/src/components/image_cropper/image_cropper.js
+++ b/src/components/image_cropper/image_cropper.js
@@ -67,7 +67,7 @@ const ImageCropper = {
submit () {
this.submitting = true
this.avatarUploadError = null
- this.submitHandler(this.cropper, this.filename)
+ this.submitHandler(this.cropper, this.file)
.then(() => this.destroy())
.catch((err) => {
this.submitError = err
@@ -88,14 +88,14 @@ const ImageCropper = {
readFile () {
const fileInput = this.$refs.input
if (fileInput.files != null && fileInput.files[0] != null) {
+ this.file = fileInput.files[0]
let reader = new window.FileReader()
reader.onload = (e) => {
this.dataUrl = e.target.result
this.$emit('open')
}
- reader.readAsDataURL(fileInput.files[0])
- this.filename = fileInput.files[0].name || 'unknown'
- this.$emit('changed', fileInput.files[0], reader)
+ reader.readAsDataURL(this.file)
+ this.$emit('changed', this.file, reader)
}
},
clearError () {
diff --git a/src/components/link-preview/link-preview.vue b/src/components/link-preview/link-preview.vue
index 7394668c..64b1a58b 100644
--- a/src/components/link-preview/link-preview.vue
+++ b/src/components/link-preview/link-preview.vue
@@ -23,6 +23,7 @@
flex-direction: row;
cursor: pointer;
overflow: hidden;
+ margin-top: 0.5em;
.card-image {
flex-shrink: 0;
diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue
index 5085570b..40d24b97 100644
--- a/src/components/post_status_form/post_status_form.vue
+++ b/src/components/post_status_form/post_status_form.vue
@@ -30,7 +30,9 @@
@drop="fileDrop"
@dragover.prevent="fileDrag"
@input="resize"
- @paste="paste">
+ @paste="paste"
+ :disabled="posting"
+ >
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index ee6ef7da..4dd20362 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -422,6 +422,11 @@ $status-margin: 0.75em;
max-height: 400px;
vertical-align: middle;
object-fit: contain;
+
+ &.emoji {
+ width: 32px;
+ height: 32px;
+ }
}
blockquote {
diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js
index d6972737..c0ab759c 100644
--- a/src/components/user_settings/user_settings.js
+++ b/src/components/user_settings/user_settings.js
@@ -157,8 +157,8 @@ const UserSettings = {
}
reader.readAsDataURL(file)
},
- submitAvatar (cropper) {
- const img = cropper.getCroppedCanvas().toDataURL('image/jpeg')
+ submitAvatar (cropper, file) {
+ const img = cropper.getCroppedCanvas().toDataURL(file.type)
return this.$store.state.api.backendInteractor.updateAvatar({ params: { img } }).then((user) => {
if (!user.error) {
this.$store.commit('addNewUsers', [user])
diff --git a/src/i18n/cs.json b/src/i18n/cs.json
new file mode 100644
index 00000000..6326032c
--- /dev/null
+++ b/src/i18n/cs.json
@@ -0,0 +1,427 @@
+{
+ "chat": {
+ "title": "Chat"
+ },
+ "features_panel": {
+ "chat": "Chat",
+ "gopher": "Gopher",
+ "media_proxy": "Mediální proxy",
+ "scope_options": "Možnosti rozsahů",
+ "text_limit": "Textový limit",
+ "title": "Vlastnosti",
+ "who_to_follow": "Koho sledovat"
+ },
+ "finder": {
+ "error_fetching_user": "Chyba při načítání uživatele",
+ "find_user": "Najít uživatele"
+ },
+ "general": {
+ "apply": "Použít",
+ "submit": "Odeslat",
+ "more": "Více",
+ "generic_error": "Vyskytla se chyba",
+ "optional": "volitelné"
+ },
+ "image_cropper": {
+ "crop_picture": "Oříznout obrázek",
+ "save": "Uložit",
+ "cancel": "Zrušit"
+ },
+ "login": {
+ "login": "Přihlásit",
+ "description": "Přihlásit pomocí OAuth",
+ "logout": "Odhlásit",
+ "password": "Heslo",
+ "placeholder": "např. lain",
+ "register": "Registrovat",
+ "username": "Uživatelské jméno",
+ "hint": "Chcete-li se přidat do diskuze, přihlaste se"
+ },
+ "media_modal": {
+ "previous": "Předchozí",
+ "next": "Další"
+ },
+ "nav": {
+ "about": "O instanci",
+ "back": "Zpět",
+ "chat": "Místní chat",
+ "friend_requests": "Požadavky o sledování",
+ "mentions": "Zmínky",
+ "dms": "Přímé zprávy",
+ "public_tl": "Veřejná časová osa",
+ "timeline": "Časová osa",
+ "twkn": "Celá známá síť",
+ "user_search": "Hledání uživatelů",
+ "who_to_follow": "Koho sledovat",
+ "preferences": "Předvolby"
+ },
+ "notifications": {
+ "broken_favorite": "Neznámý příspěvek, hledám jej…",
+ "favorited_you": "si oblíbil/a váš příspěvek",
+ "followed_you": "vás nyní sleduje",
+ "load_older": "Načíst starší oznámení",
+ "notifications": "Oznámení",
+ "read": "Číst!",
+ "repeated_you": "zopakoval/a váš příspěvek",
+ "no_more_notifications": "Žádná další oznámení"
+ },
+ "post_status": {
+ "new_status": "Napsat nový příspěvek",
+ "account_not_locked_warning": "Váš účet není {0}. Kdokoliv vás může sledovat a vidět vaše příspěvky pouze pro sledující.",
+ "account_not_locked_warning_link": "uzamčen",
+ "attachments_sensitive": "Označovat přílohy jako citlivé",
+ "content_type": {
+ "plain_text": "Prostý text"
+ },
+ "content_warning": "Předmět (volitelný)",
+ "default": "Právě jsem přistál v L.A.",
+ "direct_warning": "Tento příspěvek uvidí pouze všichni zmínění uživatelé.",
+ "posting": "Přispívání",
+ "scope": {
+ "direct": "Přímý - Poslat pouze zmíněným uživatelům",
+ "private": "Pouze pro sledující - Poslat pouze sledujícím",
+ "public": "Veřejný - Poslat na veřejné časové osy",
+ "unlisted": "Neuvedený - Neposlat na veřejné časové osy"
+ }
+ },
+ "registration": {
+ "bio": "O vás",
+ "email": "E-mail",
+ "fullname": "Zobrazované jméno",
+ "password_confirm": "Potvrzení hesla",
+ "registration": "Registrace",
+ "token": "Token pozvánky",
+ "captcha": "CAPTCHA",
+ "new_captcha": "Kliknutím na obrázek získáte novou CAPTCHA",
+ "username_placeholder": "např. lain",
+ "fullname_placeholder": "např. Lain Iwakura",
+ "bio_placeholder": "např.\nNazdar, jsem Lain\nJsem anime dívka a žiji v příměstském Japonsku. Možná mě znáte z Wired.",
+ "validations": {
+ "username_required": "nemůže být prázdné",
+ "fullname_required": "nemůže být prázdné",
+ "email_required": "nemůže být prázdný",
+ "password_required": "nemůže být prázdné",
+ "password_confirmation_required": "nemůže být prázdné",
+ "password_confirmation_match": "musí být stejné jako heslo"
+ }
+ },
+ "settings": {
+ "app_name": "Název aplikace",
+ "attachmentRadius": "Přílohy",
+ "attachments": "Přílohy",
+ "autoload": "Povolit automatické načítání při rolování dolů",
+ "avatar": "Avatar",
+ "avatarAltRadius": "Avatary (oznámení)",
+ "avatarRadius": "Avatary",
+ "background": "Pozadí",
+ "bio": "O vás",
+ "blocks_tab": "Blokování",
+ "btnRadius": "Tlačítka",
+ "cBlue": "Modrá (Odpovědět, sledovat)",
+ "cGreen": "Zelená (Zopakovat)",
+ "cOrange": "Oranžová (Oblíbit)",
+ "cRed": "Červená (Zrušit)",
+ "change_password": "Změnit heslo",
+ "change_password_error": "Při změně vašeho hesla se vyskytla chyba.",
+ "changed_password": "Heslo bylo úspěšně změněno!",
+ "collapse_subject": "Zabalit příspěvky s předměty",
+ "composing": "Komponování",
+ "confirm_new_password": "Potvrďte nové heslo",
+ "current_avatar": "Váš současný avatar",
+ "current_password": "Současné heslo",
+ "current_profile_banner": "Váš současný profilový banner",
+ "data_import_export_tab": "Import/export dat",
+ "default_vis": "Výchozí rozsah viditelnosti",
+ "delete_account": "Smazat účet",
+ "delete_account_description": "Trvale smaže váš účet a všechny vaše příspěvky.",
+ "delete_account_error": "Při mazání vašeho účtu nastala chyba. Pokud tato chyba bude trvat, kontaktujte prosím admministrátora vaší instance.",
+ "delete_account_instructions": "Pro potvrzení smazání účtu napište své heslo do pole níže.",
+ "avatar_size_instruction": "Doporučená minimální velikost pro avatarové obrázky je 150x150 pixelů.",
+ "export_theme": "Uložit přednastavení",
+ "filtering": "Filtrování",
+ "filtering_explanation": "Všechny příspěvky obsahující tato slova budou skryty. Napište jedno slovo na každý řádek",
+ "follow_export": "Export sledovaných",
+ "follow_export_button": "Exportovat vaše sledované do souboru CSV",
+ "follow_export_processing": "Zpracovávám, brzy si budete moci stáhnout váš soubor",
+ "follow_import": "Import sledovaných",
+ "follow_import_error": "Chyba při importování sledovaných",
+ "follows_imported": "Sledovaní importováni! Jejich zpracování bude chvilku trvat.",
+ "foreground": "Popředí",
+ "general": "Obecné",
+ "hide_attachments_in_convo": "Skrývat přílohy v konverzacích",
+ "hide_attachments_in_tl": "Skrývat přílohy v časové ose",
+ "max_thumbnails": "Maximální počet miniatur na příspěvek",
+ "hide_isp": "Skrýt panel specifický pro instanci",
+ "preload_images": "Přednačítat obrázky",
+ "use_one_click_nsfw": "Otevírat citlivé přílohy pouze jedním kliknutím",
+ "hide_post_stats": "Skrývat statistiky příspěvků (např. počet oblíbení)",
+ "hide_user_stats": "Skrývat statistiky uživatelů (např. počet sledujících)",
+ "hide_filtered_statuses": "Skrývat filtrované příspěvky",
+ "import_followers_from_a_csv_file": "Importovat sledované ze souboru CSV",
+ "import_theme": "Načíst přednastavení",
+ "inputRadius": "Vstupní pole",
+ "checkboxRadius": "Zaškrtávací pole",
+ "instance_default": "(výchozí: {value})",
+ "instance_default_simple": "(výchozí)",
+ "interface": "Rozhraní",
+ "interfaceLanguage": "Jazyk rozhraní",
+ "invalid_theme_imported": "Zvolený soubor není podporovaný motiv Pleroma. Nebyly provedeny žádné změny s vaším motivem.",
+ "limited_availability": "Nedostupné ve vašem prohlížeči",
+ "links": "Odkazy",
+ "lock_account_description": "Omezit váš účet pouze na schválené sledující",
+ "loop_video": "Opakovat videa",
+ "loop_video_silent_only": "Opakovat pouze videa beze zvuku (t.j. „GIFy“ na Mastodonu)",
+ "mutes_tab": "Ignorování",
+ "play_videos_in_modal": "Přehrávat videa přímo v prohlížeči médií",
+ "use_contain_fit": "Neořezávat přílohu v miniaturách",
+ "name": "Jméno",
+ "name_bio": "Jméno a popis",
+ "new_password": "Nové heslo",
+ "notification_visibility": "Typy oznámení k zobrazení",
+ "notification_visibility_follows": "Sledující",
+ "notification_visibility_likes": "Oblíbení",
+ "notification_visibility_mentions": "Zmínky",
+ "notification_visibility_repeats": "Zopakování",
+ "no_rich_text_description": "Odstranit ze všech příspěvků formátování textu",
+ "no_blocks": "Žádná blokování",
+ "no_mutes": "Žádná ignorování",
+ "hide_follows_description": "Nezobrazovat, koho sleduji",
+ "hide_followers_description": "Nezobrazovat, kdo mě sleduje",
+ "show_admin_badge": "Zobrazovat v mém profilu odznak administrátora",
+ "show_moderator_badge": "Zobrazovat v mém profilu odznak moderátora",
+ "nsfw_clickthrough": "Povolit prokliknutelné skrývání citlivých příloh",
+ "oauth_tokens": "Tokeny OAuth",
+ "token": "Token",
+ "refresh_token": "Obnovit token",
+ "valid_until": "Platný do",
+ "revoke_token": "Odvolat",
+ "panelRadius": "Panely",
+ "pause_on_unfocused": "Pozastavit streamování, pokud není záložka prohlížeče v soustředění",
+ "presets": "Přednastavení",
+ "profile_background": "Profilové pozadí",
+ "profile_banner": "Profilový banner",
+ "profile_tab": "Profil",
+ "radii_help": "Nastavit zakulacení rohů rozhraní (v pixelech)",
+ "replies_in_timeline": "Odpovědi v časové ose",
+ "reply_link_preview": "Povolit náhledy odkazu pro odpověď při přejetí myši",
+ "reply_visibility_all": "Zobrazit všechny odpovědiShow all replies",
+ "reply_visibility_following": "Zobrazit pouze odpovědi směřované na mě nebo uživatele, které sleduji",
+ "reply_visibility_self": "Zobrazit pouze odpovědi směřované na mě",
+ "saving_err": "Chyba při ukládání nastavení",
+ "saving_ok": "Nastavení uložena",
+ "security_tab": "Bezpečnost",
+ "scope_copy": "Kopírovat rozsah při odpovídání (přímé zprávy jsou vždy kopírovány)",
+ "set_new_avatar": "Nastavit nový avatar",
+ "set_new_profile_background": "Nastavit nové profilové pozadí",
+ "set_new_profile_banner": "Nastavit nový profilový banner",
+ "settings": "Nastavení",
+ "subject_input_always_show": "Vždy zobrazit pole pro předmět",
+ "subject_line_behavior": "Kopírovat předmět při odpovídání",
+ "subject_line_email": "Jako u e-mailu: „re: předmět“",
+ "subject_line_mastodon": "Jako u Mastodonu: zkopírovat tak, jak je",
+ "subject_line_noop": "Nekopírovat",
+ "post_status_content_type": "Publikovat typ obsahu příspěvku",
+ "status_content_type_plain": "Prostý text",
+ "stop_gifs": "Přehrávat GIFy při přejetí myši",
+ "streaming": "Povolit automatické streamování nových příspěvků při rolování nahoru",
+ "text": "Text",
+ "theme": "Motiv",
+ "theme_help": "Použijte hexadecimální barevné kódy (#rrggbb) pro přizpůsobení vašeho barevného motivu.",
+ "theme_help_v2_1": "Zaškrtnutím pole můžete také přepsat barvy a průhlednost některých komponentů, pro smazání všech přednastavení použijte tlačítko „Smazat vše“.",
+ "theme_help_v2_2": "Ikony pod některými položkami jsou indikátory kontrastu pozadí/textu, pro detailní informace nad nimi přejeďte myší. Prosím berte na vědomí, že při používání kontrastu průhlednosti ukazují indikátory nejhorší možný případ.",
+ "tooltipRadius": "Popisky/upozornění",
+ "upload_a_photo": "Nahrát fotku",
+ "user_settings": "Uživatelská nastavení",
+ "values": {
+ "false": "ne",
+ "true": "ano"
+ },
+ "notifications": "Oznámení",
+ "enable_web_push_notifications": "Povolit webová push oznámení",
+ "style": {
+ "switcher": {
+ "keep_color": "Ponechat barvy",
+ "keep_shadows": "Ponechat stíny",
+ "keep_opacity": "Ponechat průhlednost",
+ "keep_roundness": "Ponechat kulatost",
+ "keep_fonts": "Keep fonts",
+ "save_load_hint": "Možnosti „Ponechat“ dočasně ponechávají aktuálně nastavené možností při volení či nahrávání motivů, také tyto možnosti ukládají při exportování motivu. Pokud není žádné pole zaškrtnuto, uloží export motivu všechno.",
+ "reset": "Resetovat",
+ "clear_all": "Vymazat vše",
+ "clear_opacity": "Vymazat průhlednost"
+ },
+ "common": {
+ "color": "Barva",
+ "opacity": "Průhlednost",
+ "contrast": {
+ "hint": "Poměr kontrastu je {ratio}, {level} {context}",
+ "level": {
+ "aa": "splňuje směrnici úrovně AA (minimální)",
+ "aaa": "splňuje směrnici úrovně AAA (doporučováno)",
+ "bad": "nesplňuje žádné směrnice přístupnosti"
+ },
+ "context": {
+ "18pt": "pro velký (18+ bodů) text",
+ "text": "pro text"
+ }
+ }
+ },
+ "common_colors": {
+ "_tab_label": "Obvyklé",
+ "main": "Obvyklé barvy",
+ "foreground_hint": "Pro detailnější kontrolu viz záložka „Pokročilé“",
+ "rgbo": "Ikony, odstíny, odznaky"
+ },
+ "advanced_colors": {
+ "_tab_label": "Pokročilé",
+ "alert": "Pozadí upozornění",
+ "alert_error": "Chyba",
+ "badge": "Pozadí odznaků",
+ "badge_notification": "Oznámení",
+ "panel_header": "Záhlaví panelu",
+ "top_bar": "Vrchní pruh",
+ "borders": "Okraje",
+ "buttons": "Tlačítka",
+ "inputs": "Vstupní pole",
+ "faint_text": "Vybledlý text"
+ },
+ "radii": {
+ "_tab_label": "Kulatost"
+ },
+ "shadows": {
+ "_tab_label": "Stín a osvětlení",
+ "component": "Komponent",
+ "override": "Přepsat",
+ "shadow_id": "Stín #{value}",
+ "blur": "Rozmazání",
+ "spread": "Rozsah",
+ "inset": "Vsazení",
+ "hint": "Pro stíny můžete také použít --variable jako hodnotu barvy pro použití proměnných CSS3. Prosím berte na vědomí, že nastavení průhlednosti v tomto případě nebude fungovat.",
+ "filter_hint": {
+ "always_drop_shadow": "Varování, tento stín vždy používá {0}, když to prohlížeč podporuje.",
+ "drop_shadow_syntax": "{0} nepodporuje parametr {1} a klíčové slovo {2}.",
+ "avatar_inset": "Prosím berte na vědomí, že kombinování vsazených i nevsazených stínů u avatarů může u průhledných avatarů dát neočekávané výsledky.",
+ "spread_zero": "Stíny s rozsahem > 0 se zobrazí, jako kdyby byl rozsah nastaven na nulu",
+ "inset_classic": "Vsazené stíny budou používat {0}"
+ },
+ "components": {
+ "panel": "Panel",
+ "panelHeader": "Záhlaví panelu",
+ "topBar": "Vrchní pruh",
+ "avatar": "Avatar uživatele (v zobrazení profilu)",
+ "avatarStatus": "Avatar uživatele (v zobrazení příspěvku)",
+ "popup": "Vyskakovací okna a popisky",
+ "button": "Tlačítko",
+ "buttonHover": "Tlačítko (přejetí myši)",
+ "buttonPressed": "Tlačítko (stisknuto)",
+ "buttonPressedHover": "Button (stisknuto+přejetí myši)",
+ "input": "Vstupní pole"
+ }
+ },
+ "fonts": {
+ "_tab_label": "Písma",
+ "help": "Zvolte písmo, které bude použito pro prvky rozhraní. U možnosti „vlastní“ musíte zadat přesný název písma tak, jak se zobrazuje v systému.",
+ "components": {
+ "interface": "Rozhraní",
+ "input": "Vstupní pole",
+ "post": "Text příspěvků",
+ "postCode": "Neproporcionální text v příspěvku (formátovaný text)"
+ },
+ "family": "Název písma",
+ "size": "Velikost (v pixelech)",
+ "weight": "Tloušťka",
+ "custom": "Vlastní"
+ },
+ "preview": {
+ "header": "Náhled",
+ "content": "Obsah",
+ "error": "Příklad chyby",
+ "button": "Tlačítko",
+ "text": "Spousta dalšího {0} a {1}",
+ "mono": "obsahu",
+ "input": "Just landed in L.A.",
+ "faint_link": "pomocný manuál",
+ "fine_print": "Přečtěte si náš {0} a nenaučte se nic užitečného!",
+ "header_faint": "Tohle je v pohodě",
+ "checkbox": "Pročetl/a jsem podmínky používání",
+ "link": "hezký malý odkaz"
+ }
+ }
+ },
+ "timeline": {
+ "collapse": "Zabalit",
+ "conversation": "Konverzace",
+ "error_fetching": "Chyba při načítání aktualizací",
+ "load_older": "Načíst starší příspěvky",
+ "no_retweet_hint": "Příspěvek je označen jako pouze pro sledující či přímý a nemůže být zopakován",
+ "repeated": "zopakoval/a",
+ "show_new": "Zobrazit nové",
+ "up_to_date": "Aktuální",
+ "no_more_statuses": "Žádné další příspěvky",
+ "no_statuses": "Žádné příspěvky"
+ },
+ "status": {
+ "reply_to": "Odpovědět uživateli",
+ "replies_list": "Odpovědi:"
+ },
+
+ "user_card": {
+ "approve": "Schválit",
+ "block": "Blokovat",
+ "blocked": "Blokován/a!",
+ "deny": "Zamítnout",
+ "favorites": "Oblíbené",
+ "follow": "Sledovat",
+ "follow_sent": "Požadavek odeslán!",
+ "follow_progress": "Odeslílám požadavek…",
+ "follow_again": "Odeslat požadavek znovu?",
+ "follow_unfollow": "Přestat sledovat",
+ "followees": "Sledovaní",
+ "followers": "Sledující",
+ "following": "Sledujete!",
+ "follows_you": "Sleduje vás!",
+ "its_you": "Jste to vy!",
+ "media": "Média",
+ "mute": "Ignorovat",
+ "muted": "Ignorován/a",
+ "per_day": "za den",
+ "remote_follow": "Vzdálené sledování",
+ "statuses": "Příspěvky",
+ "unblock": "Odblokovat",
+ "unblock_progress": "Odblokuji…",
+ "block_progress": "Blokuji…",
+ "unmute": "Přestat ignorovat",
+ "unmute_progress": "Ruším ignorování…",
+ "mute_progress": "Ignoruji…"
+ },
+ "user_profile": {
+ "timeline_title": "Uživatelská časová osa",
+ "profile_does_not_exist": "Omlouváme se, tento profil neexistuje.",
+ "profile_loading_error": "Omlouváme se, při načítání tohoto profilu se vyskytla chyba."
+ },
+ "who_to_follow": {
+ "more": "Více",
+ "who_to_follow": "Koho sledovat"
+ },
+ "tool_tip": {
+ "media_upload": "Nahrát média",
+ "repeat": "Zopakovat",
+ "reply": "Odpovědět",
+ "favorite": "Oblíbit",
+ "user_settings": "Uživatelské nastavení"
+ },
+ "upload":{
+ "error": {
+ "base": "Nahrávání selhalo.",
+ "file_too_big": "Soubor je úříliš velký [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
+ "default": "Zkuste to znovu později"
+ },
+ "file_size_units": {
+ "B": "B",
+ "KiB": "KiB",
+ "MiB": "MiB",
+ "GiB": "GiB",
+ "TiB": "TiB"
+ }
+ }
+}
diff --git a/src/i18n/messages.js b/src/i18n/messages.js
index 1adadc32..ab697948 100644
--- a/src/i18n/messages.js
+++ b/src/i18n/messages.js
@@ -10,6 +10,7 @@
const messages = {
ar: require('./ar.json'),
ca: require('./ca.json'),
+ cs: require('./cs.json'),
de: require('./de.json'),
en: require('./en.json'),
eo: require('./eo.json'),
diff --git a/src/i18n/oc.json b/src/i18n/oc.json
index db66bb98..ef32f83b 100644
--- a/src/i18n/oc.json
+++ b/src/i18n/oc.json
@@ -1,51 +1,82 @@
{
"chat": {
"title": "Messatjariá"
+ },
+ "features_panel": {
+ "chat": "Chat",
+ "gopher": "Gopher",
+ "media_proxy": "Servidor mandatari mèdia",
+ "scope_options": "Nivèls de confidencialitat",
+ "text_limit": "Limita de tèxte",
+ "title": "Foncionalitats",
+ "who_to_follow": "Qual seguir"
},
"finder": {
- "error_fetching_user": "Error pendent la recèrca d’un utilizaire",
+ "error_fetching_user": "Error pendent la cèrca d’un utilizaire",
"find_user": "Cercar un utilizaire"
},
"general": {
"apply": "Aplicar",
- "submit": "Mandar"
+ "submit": "Mandar",
+ "more": "Mai",
+ "generic_error": "Una error s’es producha",
+ "optional": "opcional"
+ },
+ "image_cropper": {
+ "crop_picture": "Talhar l’imatge",
+ "save": "Salvar",
+ "cancel": "Anullar"
},
"login": {
"login": "Connexion",
+ "description": "Connexion via OAuth",
"logout": "Desconnexion",
"password": "Senhal",
"placeholder": "e.g. lain",
"register": "Se marcar",
- "username": "Nom d’utilizaire"
+ "username": "Nom d’utilizaire",
+ "hint": "Connectatz-vos per participar a la discutida"
+ },
+ "media_modal": {
+ "previous": "Precedent",
+ "next": "Seguent"
},
"nav": {
+ "about": "A prepaus",
+ "back": "Tornar",
"chat": "Chat local",
+ "friend_requests": "Demandas de seguiment",
"mentions": "Notificacions",
+ "dms": "Messatges privats",
"public_tl": "Estatuts locals",
"timeline": "Flux d’actualitat",
"twkn": "Lo malhum conegut",
- "friend_requests": "Demandas d'abonament"
+ "user_search": "Cèrca d’utilizaires",
+ "who_to_follow": "Qual seguir",
+ "preferences": "Preferéncias"
},
"notifications": {
+ "broken_favorite": "Estatut desconegut, sèm a lo cercar...",
"favorited_you": "a aimat vòstre estatut",
"followed_you": "vos a seguit",
+ "load_older": "Cargar las notificaciones mai ancianas",
"notifications": "Notficacions",
- "read": "Legit !",
+ "read": "Legit !",
"repeated_you": "a repetit vòstre estatut",
- "broken_favorite": "Estatut desconegut, sèm a lo cercar...",
- "load_older": "Cargar las notificaciones mai ancianas"
+ "no_more_notifications": "Pas mai de notificacions"
},
"post_status": {
- "content_warning": "Avís de contengut (opcional)",
- "default": "Escrivètz aquí vòstre estatut.",
- "posting": "Mandadís",
+ "new_status": "Publicar d’estatuts novèls",
"account_not_locked_warning": "Vòstre compte es pas {0}. Qual que siá pòt vos seguir per veire vòstras publicacions destinadas pas qu'a vòstres seguidors.",
"account_not_locked_warning_link": "clavat",
"attachments_sensitive": "Marcar las pèças juntas coma sensiblas",
"content_type": {
"plain_text": "Tèxte brut"
},
+ "content_warning": "Avís de contengut (opcional)",
+ "default": "Escrivètz aquí vòstre estatut.",
"direct_warning": "Aquesta publicacion serà pas que visibla pels utilizaires mencionats.",
+ "posting": "Mandadís",
"scope": {
"direct": "Dirècte - Publicar pels utilizaires mencionats solament",
"private": "Seguidors solament - Publicar pels sols seguidors",
@@ -59,9 +90,23 @@
"fullname": "Nom complèt",
"password_confirm": "Confirmar lo senhal",
"registration": "Inscripcion",
- "token": "Geton de convidat"
+ "token": "Geton de convidat",
+ "captcha": "CAPTCHA",
+ "new_captcha": "Clicatz l’imatge per obténer una nòva captcha",
+ "username_placeholder": "e.g. lain",
+ "fullname_placeholder": "e.g. Lain Iwakura",
+ "bio_placeholder": "e.g.\nHi, Soi lo Lain\nSoi afocada d’animes e vivi al Japan. Benlèu que me coneissètz de the Wired.",
+ "validations": {
+ "username_required": "pòt pas èsser void",
+ "fullname_required": "pòt pas èsser void",
+ "email_required": "pòt pas èsser void",
+ "password_required": "pòt pas èsser void",
+ "password_confirmation_required": "pòt pas èsser void",
+ "password_confirmation_match": "deu èsser lo meteis senhal"
+ }
},
"settings": {
+ "app_name": "Nom de l’aplicacion",
"attachmentRadius": "Pèças juntas",
"attachments": "Pèças juntas",
"autoload": "Activar lo cargament automatic un còp arribat al cap de la pagina",
@@ -70,6 +115,7 @@
"avatarRadius": "Avatars",
"background": "Rèire plan",
"bio": "Biografia",
+ "blocks_tab": "Blocatges",
"btnRadius": "Botons",
"cBlue": "Blau (Respondre, seguir)",
"cGreen": "Verd (Repartajar)",
@@ -78,15 +124,21 @@
"change_password": "Cambiar lo senhal",
"change_password_error": "Una error s’es producha en cambiant lo senhal.",
"changed_password": "Senhal corrèctament cambiat !",
+ "collapse_subject": "Replegar las publicacions amb de subjèctes",
+ "composing": "Escritura",
"confirm_new_password": "Confirmatz lo nòu senhal",
"current_avatar": "Vòstre avatar actual",
"current_password": "Senhal actual",
"current_profile_banner": "Bandièra actuala del perfil",
+ "data_import_export_tab": "Importar / Exportar las donadas",
+ "default_vis": "Nivèl de visibilitat per defaut",
"delete_account": "Suprimir lo compte",
"delete_account_description": "Suprimir vòstre compte e los messatges per sempre.",
"delete_account_error": "Una error s’es producha en suprimir lo compte. S’aquò ten d’arribar mercés de contactar vòstre administrador d’instància.",
"delete_account_instructions": "Picatz vòstre senhal dins lo camp tèxte çai-jos per confirmar la supression del compte.",
- "filtering": "Filtre",
+ "avatar_size_instruction": "La talha minimum recomandada pels imatges d’avatar es 150x150 pixèls.",
+ "export_theme": "Enregistrar la preconfiguracion",
+ "filtering": "Filtratge",
"filtering_explanation": "Totes los estatuts amb aqueles mots seràn en silenci, un mot per linha",
"follow_export": "Exportar los abonaments",
"follow_export_button": "Exportar vòstres abonaments dins un fichièr csv",
@@ -95,63 +147,91 @@
"follow_import_error": "Error en important los seguidors",
"follows_imported": "Seguidors importats. Lo tractament pòt trigar una estona.",
"foreground": "Endavant",
+ "general": "General",
"hide_attachments_in_convo": "Rescondre las pèças juntas dins las conversacions",
"hide_attachments_in_tl": "Rescondre las pèças juntas",
- "import_followers_from_a_csv_file": "Importar los seguidors d’un fichièr csv",
- "inputRadius": "Camps tèxte",
- "links": "Ligams",
- "name": "Nom",
- "name_bio": "Nom & Bio",
- "new_password": "Nòu senhal",
- "nsfw_clickthrough": "Activar lo clic per mostrar los imatges marcats coma pels adults o sensibles",
- "panelRadius": "Panèls",
- "presets": "Pre-enregistrats",
- "profile_background": "Imatge de fons",
- "profile_banner": "Bandièra del perfil",
- "radii_help": "Configurar los caires arredondits de l’interfàcia (en pixèls)",
- "reply_link_preview": "Activar l’apercebut en passar la mirga",
- "set_new_avatar": "Cambiar l’avatar",
- "set_new_profile_background": "Cambiar l’imatge de fons",
- "set_new_profile_banner": "Cambiar de bandièra",
- "settings": "Paramètres",
- "stop_gifs": "Lançar los GIFs al subrevòl",
- "streaming": "Activar lo cargament automatic dels novèls estatus en anar amont",
- "text": "Tèxte",
- "theme": "Tèma",
- "theme_help": "Emplegatz los còdis de color hex (#rrggbb) per personalizar vòstre tèma de color.",
- "tooltipRadius": "Astúcias/Alèrta",
- "user_settings": "Paramètres utilizaire",
- "collapse_subject": "Replegar las publicacions amb de subjèctes",
- "data_import_export_tab": "Importar / Exportar las donadas",
- "default_vis": "Nivèl de visibilitat per defaut",
- "export_theme": "Enregistrar la preconfiguracion",
- "general": "General",
+ "max_thumbnails": "Nombre maximum de vinhetas per publicacion",
+ "hide_isp": "Amagar lo panèl especial instància",
+ "preload_images": "Precargar los imatges",
+ "use_one_click_nsfw": "Dobrir las pèças juntas NSFW amb un clic",
"hide_post_stats": "Amagar los estatistics de publicacion (ex. lo ombre de favorits)",
"hide_user_stats": "Amagar las estatisticas de l’utilizaire (ex. lo nombre de seguidors)",
+ "hide_filtered_statuses": "Amagar los estatuts filtrats",
+ "import_followers_from_a_csv_file": "Importar los seguidors d’un fichièr csv",
"import_theme": "Cargar un tèma",
- "instance_default": "(defaut : {value})",
+ "inputRadius": "Camps tèxte",
+ "checkboxRadius": "Casas de marcar",
+ "instance_default": "(defaut : {value})",
+ "instance_default_simple": "(defaut)",
+ "interface": "Interfàcia",
"interfaceLanguage": "Lenga de l’interfàcia",
"invalid_theme_imported": "Lo fichièr seleccionat es pas un tèma Pleroma valid. Cap de cambiament es estat fach a vòstre tèma.",
"limited_availability": "Pas disponible per vòstre navigador",
+ "links": "Ligams",
"lock_account_description": "Limitar vòstre compte als seguidors acceptats solament",
"loop_video": "Bocla vidèo",
- "loop_video_silent_only": "Legir en bocla solament las vidèos sens son (coma los « Gifs » de Mastodon)",
- "notification_visibility": "Tipes de notificacion de mostrar",
+ "loop_video_silent_only": "Legir en bocla solament las vidèos sens son (coma los « Gifs » de Mastodon)",
+ "mutes_tab": "Agamats",
+ "play_videos_in_modal": "Legir las vidèoas dirèctament dins la visualizaira mèdia",
+ "use_contain_fit": "Talhar pas las pèças juntas per las vinhetas",
+ "name": "Nom",
+ "name_bio": "Nom & Bio",
+ "new_password": "Nòu senhal",
"notification_visibility_follows": "Abonaments",
- "notification_visibility_likes": "Aiman",
+ "notification_visibility_likes": "Aimar",
"notification_visibility_mentions": "Mencions",
"notification_visibility_repeats": "Repeticions",
+ "notification_visibility": "Tipes de notificacion de mostrar",
"no_rich_text_description": "Netejar lo format tèxte de totas las publicacions",
- "oauth_tokens": "Llistats OAuth",
+ "no_blocks": "Cap de blocatge",
+ "no_mutes": "Cap d’amagat",
+ "hide_follows_description": "Mostrar pas qual seguissi",
+ "hide_followers_description": "Mostrar pas qual me seguisson",
+ "show_admin_badge": "Mostrar lo badge Admin badge al perfil meu",
+ "show_moderator_badge": "Mostrar lo badge Moderator al perfil meu",
+ "nsfw_clickthrough": "Activar lo clic per mostrar los imatges marcats coma pels adults o sensibles",
+ "oauth_tokens": "Listats OAuth",
+ "token": "Geton",
+ "refresh_token": "Actualizar lo geton",
+ "valid_until": "Valid fins a",
+ "revoke_token": "Revocar",
+ "panelRadius": "Panèls",
"pause_on_unfocused": "Pausar la difusion quand l’onglet es pas seleccionat",
+ "presets": "Pre-enregistrats",
+ "profile_background": "Imatge de fons",
+ "profile_banner": "Bandièra del perfil",
"profile_tab": "Perfil",
+ "radii_help": "Configurar los caires arredondits de l’interfàcia (en pixèls)",
"replies_in_timeline": "Responsas del flux",
+ "reply_link_preview": "Activar l’apercebut en passar la mirga",
"reply_visibility_all": "Mostrar totas las responsas",
"reply_visibility_following": "Mostrar pas que las responsas que me son destinada a ieu o un utilizaire que seguissi",
"reply_visibility_self": "Mostrar pas que las responsas que me son destinadas",
"saving_err": "Error en enregistrant los paramètres",
"saving_ok": "Paramètres enregistrats",
+ "scope_copy": "Copiar lo nivèl de confidencialitat per las responsas (Totjorn aissí pels Messatges Dirèctes)",
"security_tab": "Seguretat",
+ "set_new_avatar": "Definir un nòu avatar",
+ "set_new_profile_background": "Definir un nòu fons de perfil",
+ "set_new_profile_banner": "Definir una nòva bandièra de perfil",
+ "settings": "Paramètres",
+ "subject_input_always_show": "Totjorn mostrar lo camp de subjècte",
+ "subject_line_behavior": "Copiar lo subjècte per las responsas",
+ "subject_line_email": "Coma los corrièls : \"re: subjècte\"",
+ "subject_line_mastodon": "Coma mastodon : copiar tal coma es",
+ "subject_line_noop": "Copiar pas",
+"post_status_content_type": "Publicar lo tipe de contengut dels estatuts",
+ "status_content_type_plain": "Tèxte brut",
+ "stop_gifs": "Lançar los GIFs al subrevòl",
+ "streaming": "Activar lo cargament automatic dels novèls estatus en anar amont",
+ "text": "Tèxt",
+ "theme": "Tèma",
+ "theme_help_v2_1": "You can also override certain component's colors and opacity by toggling the checkbox, use \"Clear all\" button to clear all overrides.",
+ "theme_help_v2_2": "Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.",
+ "theme_help": "Emplegatz los còdis de color hex (#rrggbb) per personalizar vòstre tèma de color.",
+ "tooltipRadius": "Astúcias/alèrtas",
+ "upload_a_photo": "Enviar una fotografia",
+ "user_settings": "Paramètres utilizaire",
"values": {
"false": "non",
"true": "òc"
@@ -167,36 +247,67 @@
"up_to_date": "A jorn",
"no_retweet_hint": "La publicacion marcada coma pels seguidors solament o dirècte pòt pas èsser repetida"
},
+ "status": {
+ "reply_to": "Respondre à",
+ "replies_list": "Responsas :"
+ },
"user_card": {
+ "approve": "Validar",
"block": "Blocar",
"blocked": "Blocat !",
+ "deny": "Refusar",
+ "favorites": "Favorits",
"follow": "Seguir",
+ "follow_sent": "Demanda enviada !",
+ "follow_progress": "Demanda…",
+ "follow_again": "Tornar enviar la demanda ?",
+ "follow_unfollow": "Quitar de seguir",
"followees": "Abonaments",
"followers": "Seguidors",
- "following": "Seguit !",
- "follows_you": "Vos sèc !",
+ "following": "Seguit !",
+ "follows_you": "Vos sèc !",
+ "its_you": "Sètz vos !",
+ "media": "Mèdia",
"mute": "Amagar",
"muted": "Amagat",
"per_day": "per jorn",
"remote_follow": "Seguir a distància",
"statuses": "Estatuts",
- "approve": "Validar",
- "deny": "Refusar"
+ "unblock": "Desblocar",
+ "unblock_progress": "Desblocatge...",
+ "block_progress": "Blocatge...",
+ "unmute": "Tornar mostrar",
+ "unmute_progress": "Afichatge...",
+ "mute_progress": "A amagar..."
},
"user_profile": {
- "timeline_title": "Flux utilizaire"
- },
- "features_panel": {
- "chat": "Discutida",
- "gopher": "Gopher",
- "media_proxy": "Servidor mandatari dels mèdias",
- "scope_options": "Opcions d'encastres",
- "text_limit": "Limit de tèxte",
- "title": "Foncionalitats",
- "who_to_follow": "Qui seguir"
+ "timeline_title": "Flux utilizaire",
+ "profile_does_not_exist": "Aqueste perfil existís pas.",
+ "profile_loading_error": "Una error s’es producha en cargant aqueste perfil."
},
"who_to_follow": {
"more": "Mai",
- "who_to_follow": "Qui seguir"
+ "who_to_follow": "Qual seguir"
+ },
+ "tool_tip": {
+ "media_upload": "Enviar un mèdia",
+ "repeat": "Repetir",
+ "reply": "Respondre",
+ "favorite": "aimar",
+ "user_settings": "Paramètres utilizaire"
+ },
+ "upload":{
+ "error": {
+ "base": "Mandadís fracassat.",
+ "file_too_big": "Fichièr tròp grand [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
+ "default": "Tornatz ensajar mai tard"
+ },
+ "file_size_units": {
+ "B": "o",
+ "KiB": "Kio",
+ "MiB": "Mio",
+ "GiB": "Gio",
+ "TiB": "Tio"
+ }
}
}
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 2844194e..a3265e3a 100644
--- a/src/main.js
+++ b/src/main.js
@@ -30,8 +30,9 @@ const currentLocale = (window.navigator.language || 'en').split('-')[0]
Vue.use(Vuex)
Vue.use(VueRouter)
Vue.use(VueTimeago, {
- locale: currentLocale === 'ja' ? 'ja' : 'en',
+ locale: currentLocale === 'cs' ? 'cs' : currentLocale === 'ja' ? 'ja' : 'en',
locales: {
+ 'cs': require('../static/timeago-cs.json'),
'en': require('../static/timeago-en.json'),
'ja': require('../static/timeago-ja.json')
}
diff --git a/static/timeago-cs.json b/static/timeago-cs.json
new file mode 100644
index 00000000..697a0397
--- /dev/null
+++ b/static/timeago-cs.json
@@ -0,0 +1,10 @@
+[
+ "teď",
+ ["%s s", "%s s"],
+ ["%s min", "%s min"],
+ ["%s h", "%s h"],
+ ["%s d", "%s d"],
+ ["%s týd", "%s týd"],
+ ["%s měs", "%s měs"],
+ ["%s r", "%s l"]
+]