Merge pull request #486 from ThibG/glitch-soc/merge-upstream

Merge changes from upstream
This commit is contained in:
ThibG 2018-05-16 23:10:12 +02:00 committed by GitHub
commit 4bf43e6f3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
62 changed files with 672 additions and 437 deletions

View File

@ -19,7 +19,6 @@ gem 'fog-local', '~> 0.5', require: false
gem 'fog-openstack', '~> 0.1', require: false gem 'fog-openstack', '~> 0.1', require: false
gem 'paperclip', '~> 6.0' gem 'paperclip', '~> 6.0'
gem 'paperclip-av-transcoder', '~> 0.6' gem 'paperclip-av-transcoder', '~> 0.6'
gem 'posix-spawn', '~> 0.3'
gem 'streamio-ffmpeg', '~> 3.0' gem 'streamio-ffmpeg', '~> 3.0'
gem 'active_model_serializers', '~> 0.10' gem 'active_model_serializers', '~> 0.10'
@ -63,6 +62,7 @@ gem 'nsa', '~> 0.2'
gem 'oj', '~> 3.5' gem 'oj', '~> 3.5'
gem 'ostatus2', '~> 2.0' gem 'ostatus2', '~> 2.0'
gem 'ox', '~> 2.9' gem 'ox', '~> 2.9'
gem 'posix-spawn', '0.3.12'
gem 'pundit', '~> 1.1' gem 'pundit', '~> 1.1'
gem 'premailer-rails' gem 'premailer-rails'
gem 'rack-attack', '~> 5.2' gem 'rack-attack', '~> 5.2'

View File

@ -389,7 +389,7 @@ GEM
pghero (2.1.0) pghero (2.1.0)
activerecord activerecord
pkg-config (1.3.0) pkg-config (1.3.0)
posix-spawn (0.3.13) posix-spawn (0.3.12)
powerpack (0.1.1) powerpack (0.1.1)
premailer (1.11.1) premailer (1.11.1)
addressable addressable
@ -714,7 +714,7 @@ DEPENDENCIES
pg (~> 1.0) pg (~> 1.0)
pghero (~> 2.1) pghero (~> 2.1)
pkg-config (~> 1.3) pkg-config (~> 1.3)
posix-spawn (~> 0.3) posix-spawn (= 0.3.12)
premailer-rails premailer-rails
private_address_check (~> 0.4.1) private_address_check (~> 0.4.1)
pry-byebug (~> 3.6) pry-byebug (~> 3.6)

View File

@ -27,19 +27,17 @@ class Api::V1::Accounts::StatusesController < Api::BaseController
end end
def account_statuses def account_statuses
default_statuses.tap do |statuses| statuses = truthy_param?(:pinned) ? pinned_scope : permitted_account_statuses
statuses.merge!(only_media_scope) if truthy_param?(:only_media) statuses = statuses.paginate_by_max_id(
statuses.merge!(pinned_scope) if truthy_param?(:pinned)
statuses.merge!(no_replies_scope) if truthy_param?(:exclude_replies)
end
end
def default_statuses
permitted_account_statuses.paginate_by_max_id(
limit_param(DEFAULT_STATUSES_LIMIT), limit_param(DEFAULT_STATUSES_LIMIT),
params[:max_id], params[:max_id],
params[:since_id] params[:since_id]
) )
statuses.merge!(only_media_scope) if truthy_param?(:only_media)
statuses.merge!(no_replies_scope) if truthy_param?(:exclude_replies)
statuses
end end
def permitted_account_statuses def permitted_account_statuses

View File

@ -8,6 +8,8 @@ class MediaProxyController < ApplicationController
if lock.acquired? if lock.acquired?
@media_attachment = MediaAttachment.remote.find(params[:id]) @media_attachment = MediaAttachment.remote.find(params[:id])
redownload! if @media_attachment.needs_redownload? && !reject_media? redownload! if @media_attachment.needs_redownload? && !reject_media?
else
raise Mastodon::RaceConditionError
end end
end end

View File

@ -21,7 +21,7 @@ const WarningWrapper = ({ needsLockWarning, hashtagWarning, directMessageWarning
return <Warning message={<FormattedMessage id='compose_form.hashtag_warning' defaultMessage="This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag." />} />; return <Warning message={<FormattedMessage id='compose_form.hashtag_warning' defaultMessage="This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag." />} />;
} }
if (directMessageWarning) { if (directMessageWarning) {
return <Warning message={<FormattedMessage id='compose_form.direct_message_warning' defaultMessage='This toot will only be visible to all the mentioned users.' />} />; return <Warning message={<FormattedMessage id='compose_form.direct_message_warning' defaultMessage='This toot will only be sent to all the mentioned users. However, the operators of your instance and any receiving instances may see this message.' />} />;
} }
return null; return null;

View File

@ -1,5 +1,5 @@
{ {
"account.badges.bot": "Bot", "account.badges.bot": "روبوت",
"account.block": "حظر @{name}", "account.block": "حظر @{name}",
"account.block_domain": "إخفاء كل شيئ قادم من إسم النطاق {domain}", "account.block_domain": "إخفاء كل شيئ قادم من إسم النطاق {domain}",
"account.blocked": "محظور", "account.blocked": "محظور",
@ -283,7 +283,7 @@
"upload_button.label": "إضافة وسائط", "upload_button.label": "إضافة وسائط",
"upload_form.description": "وصف للمعاقين بصريا", "upload_form.description": "وصف للمعاقين بصريا",
"upload_form.focus": "قص", "upload_form.focus": "قص",
"upload_form.undo": "إلغاء", "upload_form.undo": "حذف",
"upload_progress.label": "يرفع...", "upload_progress.label": "يرفع...",
"video.close": "إغلاق الفيديو", "video.close": "إغلاق الفيديو",
"video.exit_fullscreen": "الخروج من وضع الشاشة المليئة", "video.exit_fullscreen": "الخروج من وضع الشاشة المليئة",

View File

@ -283,7 +283,7 @@
"upload_button.label": "Afegir multimèdia", "upload_button.label": "Afegir multimèdia",
"upload_form.description": "Descriure els problemes visuals", "upload_form.description": "Descriure els problemes visuals",
"upload_form.focus": "Retallar", "upload_form.focus": "Retallar",
"upload_form.undo": "Desfer", "upload_form.undo": "Esborra",
"upload_progress.label": "Pujant...", "upload_progress.label": "Pujant...",
"video.close": "Tancar el vídeo", "video.close": "Tancar el vídeo",
"video.exit_fullscreen": "Surt de pantalla completa", "video.exit_fullscreen": "Surt de pantalla completa",

View File

@ -63,7 +63,7 @@
"column_subheading.lists": "Lists", "column_subheading.lists": "Lists",
"column_subheading.navigation": "Navigation", "column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings", "column_subheading.settings": "Settings",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "compose_form.direct_message_warning": "This toot will only be sent to the mentioned users. However, the operators of yours and any of the receiving instances may inspect this message.",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "locked",

View File

@ -1,5 +1,5 @@
{ {
"account.badges.bot": "Bot", "account.badges.bot": "Roboto",
"account.block": "Bloki @{name}", "account.block": "Bloki @{name}",
"account.block_domain": "Kaŝi ĉion de {domain}", "account.block_domain": "Kaŝi ĉion de {domain}",
"account.blocked": "Blokita", "account.blocked": "Blokita",
@ -18,7 +18,7 @@
"account.mute": "Silentigi @{name}", "account.mute": "Silentigi @{name}",
"account.mute_notifications": "Silentigi sciigojn el @{name}", "account.mute_notifications": "Silentigi sciigojn el @{name}",
"account.muted": "Silentigita", "account.muted": "Silentigita",
"account.posts": "Tootoj", "account.posts": "Mesaĝoj",
"account.posts_with_replies": "Kun respondoj", "account.posts_with_replies": "Kun respondoj",
"account.report": "Signali @{name}", "account.report": "Signali @{name}",
"account.requested": "Atendo de aprobo. Alklaku por nuligi peton de sekvado", "account.requested": "Atendo de aprobo. Alklaku por nuligi peton de sekvado",
@ -283,7 +283,7 @@
"upload_button.label": "Aldoni aŭdovidaĵon", "upload_button.label": "Aldoni aŭdovidaĵon",
"upload_form.description": "Priskribi por misvidantaj homoj", "upload_form.description": "Priskribi por misvidantaj homoj",
"upload_form.focus": "Stuci", "upload_form.focus": "Stuci",
"upload_form.undo": "Malfari", "upload_form.undo": "Forigi",
"upload_progress.label": "Alŝutado…", "upload_progress.label": "Alŝutado…",
"video.close": "Fermi videon", "video.close": "Fermi videon",
"video.exit_fullscreen": "Eksigi plenekrana", "video.exit_fullscreen": "Eksigi plenekrana",

View File

@ -60,7 +60,7 @@
"column_header.unpin": "Retirer", "column_header.unpin": "Retirer",
"column_subheading.navigation": "Navigation", "column_subheading.navigation": "Navigation",
"column_subheading.settings": "Paramètres", "column_subheading.settings": "Paramètres",
"compose_form.direct_message_warning": "Ce pouet sera uniquement visible à tous les utilisateurs mentionnés.", "compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé qu'aux personnes mentionnées. Cependant, l'administration de votre instance et des instances réceptrices pourront inspecter ce message.",
"compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur \"non-listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par hashtag.", "compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur \"non-listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par hashtag.",
"compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.", "compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.",
"compose_form.lock_disclaimer.lock": "verrouillé", "compose_form.lock_disclaimer.lock": "verrouillé",
@ -104,7 +104,7 @@
"empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir!", "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir!",
"empty_column.direct": "Vous n'avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s'affichera ici.", "empty_column.direct": "Vous n'avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s'affichera ici.",
"empty_column.hashtag": "Il ny a encore aucun contenu associé à ce hashtag.", "empty_column.hashtag": "Il ny a encore aucun contenu associé à ce hashtag.",
"empty_column.home": "Vous ne suivez encore personne. Visitez {public} ou bien utilisez la recherche pour vous connecter à dautres personnes.", "empty_column.home": "Vous ne suivez personne. Visitez {public} ou utilisez la recherche pour trouver dautres personnes à suivre.",
"empty_column.home.public_timeline": "le fil public", "empty_column.home.public_timeline": "le fil public",
"empty_column.list": "Il n'y a rien dans cette liste pour l'instant. Dès que des personnes de cette liste publierons de nouveaux statuts, ils apparaîtront ici.", "empty_column.list": "Il n'y a rien dans cette liste pour l'instant. Dès que des personnes de cette liste publierons de nouveaux statuts, ils apparaîtront ici.",
"empty_column.notifications": "Vous navez pas encore de notification. Interagissez avec dautres personnes pour débuter la conversation.", "empty_column.notifications": "Vous navez pas encore de notification. Interagissez avec dautres personnes pour débuter la conversation.",
@ -189,7 +189,7 @@
"onboarding.done": "Effectué", "onboarding.done": "Effectué",
"onboarding.next": "Suivant", "onboarding.next": "Suivant",
"onboarding.page_five.public_timelines": "Le fil public global affiche les messages de toutes les personnes suivies par les membres de {domain}. Le fil public local est identique, mais se limite aux membres de {domain}.", "onboarding.page_five.public_timelines": "Le fil public global affiche les messages de toutes les personnes suivies par les membres de {domain}. Le fil public local est identique, mais se limite aux membres de {domain}.",
"onboarding.page_four.home": "LAccueil affiche les messages des personnes que vous suivez.", "onboarding.page_four.home": "Laccueil affiche les messages des personnes que vous suivez.",
"onboarding.page_four.notifications": "La colonne de notification vous avertit lors d'une interaction avec vous.", "onboarding.page_four.notifications": "La colonne de notification vous avertit lors d'une interaction avec vous.",
"onboarding.page_one.federation": "Mastodon est un réseau de serveurs indépendants qui se joignent pour former un réseau social plus vaste. Nous appelons ces serveurs des instances.", "onboarding.page_one.federation": "Mastodon est un réseau de serveurs indépendants qui se joignent pour former un réseau social plus vaste. Nous appelons ces serveurs des instances.",
"onboarding.page_one.full_handle": "Votre identifiant complet", "onboarding.page_one.full_handle": "Votre identifiant complet",
@ -218,8 +218,8 @@
"privacy.unlisted.short": "Non-listé", "privacy.unlisted.short": "Non-listé",
"regeneration_indicator.label": "Chargement…", "regeneration_indicator.label": "Chargement…",
"regeneration_indicator.sublabel": "Le flux de votre page principale est en cours de préparation!", "regeneration_indicator.sublabel": "Le flux de votre page principale est en cours de préparation!",
"relative_time.days": "{number} j", "relative_time.days": "{number} j",
"relative_time.hours": "{number} h", "relative_time.hours": "{number} h",
"relative_time.just_now": "à linstant", "relative_time.just_now": "à linstant",
"relative_time.minutes": "{number} min", "relative_time.minutes": "{number} min",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
@ -237,7 +237,7 @@
"search_popout.tips.status": "statuts", "search_popout.tips.status": "statuts",
"search_popout.tips.text": "Un texte simple renvoie les noms affichés, les identifiants et les hashtags correspondants", "search_popout.tips.text": "Un texte simple renvoie les noms affichés, les identifiants et les hashtags correspondants",
"search_popout.tips.user": "utilisateur⋅ice", "search_popout.tips.user": "utilisateur⋅ice",
"search_results.accounts": "Personnes", "search_results.accounts": "Comptes",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hashtags",
"search_results.statuses": "Pouets", "search_results.statuses": "Pouets",
"search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}", "search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}",
@ -283,7 +283,7 @@
"upload_button.label": "Joindre un média", "upload_button.label": "Joindre un média",
"upload_form.description": "Décrire pour les malvoyants", "upload_form.description": "Décrire pour les malvoyants",
"upload_form.focus": "Recadrer", "upload_form.focus": "Recadrer",
"upload_form.undo": "Annuler", "upload_form.undo": "Supprimer",
"upload_progress.label": "Envoi en cours…", "upload_progress.label": "Envoi en cours…",
"video.close": "Fermer la vidéo", "video.close": "Fermer la vidéo",
"video.exit_fullscreen": "Quitter plein écran", "video.exit_fullscreen": "Quitter plein écran",

View File

@ -283,7 +283,7 @@
"upload_button.label": "Engadir medios", "upload_button.label": "Engadir medios",
"upload_form.description": "Describa para deficientes visuais", "upload_form.description": "Describa para deficientes visuais",
"upload_form.focus": "Crop", "upload_form.focus": "Crop",
"upload_form.undo": "Desfacer", "upload_form.undo": "Eliminar",
"upload_progress.label": "Subindo...", "upload_progress.label": "Subindo...",
"video.close": "Pechar video", "video.close": "Pechar video",
"video.exit_fullscreen": "Saír da pantalla completa", "video.exit_fullscreen": "Saír da pantalla completa",

View File

@ -1,108 +1,108 @@
{ {
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.block": "Blocca @{name}", "account.block": "Blocca @{name}",
"account.block_domain": "Hide everything from {domain}", "account.block_domain": "Nascondi tutto da {domain}",
"account.blocked": "Bloccato", "account.blocked": "Bloccato",
"account.direct": "Direct Message @{name}", "account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.disclaimer_full": "Il profilo dell'utente mostrato qui sotto potrebbe essere incompleto",
"account.domain_blocked": "Domain hidden", "account.domain_blocked": "Dominio nascosto",
"account.edit_profile": "Modifica profilo", "account.edit_profile": "Modifica profilo",
"account.follow": "Segui", "account.follow": "Segui",
"account.followers": "Seguaci", "account.followers": "Seguaci",
"account.follows": "Segue", "account.follows": "Segue",
"account.follows_you": "Ti segue", "account.follows_you": "Ti segue",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "Nascondi condivisioni da @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Menziona @{name}", "account.mention": "Menziona @{name}",
"account.moved_to": "{name} has moved to:", "account.moved_to": "{name} si è trasferito su:",
"account.mute": "Silenzia @{name}", "account.mute": "Silenzia @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Silenzia notifiche da @{name}",
"account.muted": "Muted", "account.muted": "Silenziato",
"account.posts": "Toot", "account.posts": "Toot",
"account.posts_with_replies": "Toot con risposte", "account.posts_with_replies": "Toot con risposte",
"account.report": "Segnala @{name}", "account.report": "Segnala @{name}",
"account.requested": "In attesa di approvazione", "account.requested": "In attesa di approvazione",
"account.share": "Share @{name}'s profile", "account.share": "Condividi il profilo di @{name}",
"account.show_reblogs": "Show boosts from @{name}", "account.show_reblogs": "Mostra condivisioni da @{name}",
"account.unblock": "Sblocca @{name}", "account.unblock": "Sblocca @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Non nascondere {domain}",
"account.unfollow": "Non seguire", "account.unfollow": "Non seguire",
"account.unmute": "Non silenziare @{name}", "account.unmute": "Non silenziare @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "Non silenziare più le notifiche da @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "Vedi profilo completo",
"alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.message": "Si è verificato un errore inatteso.",
"alert.unexpected.title": "Oops!", "alert.unexpected.title": "Oops!",
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta", "boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "C'è stato un errore mentre questo componente veniva caricato.",
"bundle_column_error.retry": "Try again", "bundle_column_error.retry": "Riprova",
"bundle_column_error.title": "Network error", "bundle_column_error.title": "Network error",
"bundle_modal_error.close": "Close", "bundle_modal_error.close": "Chiudi",
"bundle_modal_error.message": "Something went wrong while loading this component.", "bundle_modal_error.message": "C'è stato un errore mentre questo componente veniva caricato.",
"bundle_modal_error.retry": "Try again", "bundle_modal_error.retry": "Riprova",
"column.blocks": "Utenti bloccati", "column.blocks": "Utenti bloccati",
"column.community": "Timeline locale", "column.community": "Timeline locale",
"column.direct": "Direct messages", "column.direct": "Messaggi diretti",
"column.domain_blocks": "Hidden domains", "column.domain_blocks": "Domini nascosti",
"column.favourites": "Apprezzati", "column.favourites": "Apprezzati",
"column.follow_requests": "Richieste di amicizia", "column.follow_requests": "Richieste di amicizia",
"column.home": "Home", "column.home": "Home",
"column.lists": "Lists", "column.lists": "Liste",
"column.mutes": "Utenti silenziati", "column.mutes": "Utenti silenziati",
"column.notifications": "Notifiche", "column.notifications": "Notifiche",
"column.pins": "Pinned toot", "column.pins": "Pinned toot",
"column.public": "Timeline federata", "column.public": "Timeline federata",
"column_back_button.label": "Indietro", "column_back_button.label": "Indietro",
"column_header.hide_settings": "Hide settings", "column_header.hide_settings": "Nascondi impostazioni",
"column_header.moveLeft_settings": "Move column to the left", "column_header.moveLeft_settings": "Sposta colonna a sinistra",
"column_header.moveRight_settings": "Move column to the right", "column_header.moveRight_settings": "Sposta colonna a destra",
"column_header.pin": "Pin", "column_header.pin": "Fissa in cima",
"column_header.show_settings": "Show settings", "column_header.show_settings": "Mostra impostazioni",
"column_header.unpin": "Unpin", "column_header.unpin": "Non fissare in cima",
"column_subheading.navigation": "Navigation", "column_subheading.navigation": "Navigation",
"column_subheading.settings": "Settings", "column_subheading.settings": "Impostazioni",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "compose_form.direct_message_warning": "Questo toot sarà visibile solo a tutti gli utenti citati.",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "Questo toot non è listato, quindi non sarà trovato nelle ricerche per hashtag. Solo i toot pubblici possono essere cercati per hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Il tuo account non è {bloccato}. Chiunque può decidere di seguirti per vedere i tuoi post per soli seguaci.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "bloccato",
"compose_form.placeholder": "A cosa stai pensando?", "compose_form.placeholder": "A cosa stai pensando?",
"compose_form.publish": "Toot", "compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.marked": "Media is marked as sensitive", "compose_form.sensitive.marked": "Questo media è contrassegnato come sensibile.",
"compose_form.sensitive.unmarked": "Media is not marked as sensitive", "compose_form.sensitive.unmarked": "Questo media non è contrassegnato come sensibile.",
"compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.marked": "Il testo è nascosto dall'avviso",
"compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler.unmarked": "Il testo non è nascosto",
"compose_form.spoiler_placeholder": "Content warning", "compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Cancel", "confirmation_modal.cancel": "Annulla",
"confirmations.block.confirm": "Block", "confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.block.message": "Sei sicuro di voler bloccare {name}?",
"confirmations.delete.confirm": "Delete", "confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?", "confirmations.delete.message": "Sei sicuro di voler cancellare questo status?",
"confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.confirm": "Delete",
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", "confirmations.delete_list.message": "Sei sicuro di voler cancellare definitivamente questa lista?",
"confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.confirm": "Nascondi intero dominio",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.", "confirmations.domain_block.message": "Sei davvero sicuro che vuoi bloccare l'intero {domain}? Nella maggior parte dei casi, pochi blocchi o silenziamenti mirati sono sufficienti e preferibili.",
"confirmations.mute.confirm": "Mute", "confirmations.mute.confirm": "Silenzia",
"confirmations.mute.message": "Are you sure you want to mute {name}?", "confirmations.mute.message": "Sei sicuro di voler silenziare {name}?",
"confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.confirm": "Non seguire più",
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", "confirmations.unfollow.message": "Sei sicuro che non vuoi più seguire {name}?",
"embed.instructions": "Embed this status on your website by copying the code below.", "embed.instructions": "Inserisci questo status nel tuo sito copiando il codice qui sotto.",
"embed.preview": "Here is what it will look like:", "embed.preview": "Ecco come apparirà:",
"emoji_button.activity": "Activity", "emoji_button.activity": "Attività",
"emoji_button.custom": "Custom", "emoji_button.custom": "Personalizzato",
"emoji_button.flags": "Flags", "emoji_button.flags": "Bandiere",
"emoji_button.food": "Food & Drink", "emoji_button.food": "Cibo e bevande",
"emoji_button.label": "Inserisci emoji", "emoji_button.label": "Inserisci emoji",
"emoji_button.nature": "Nature", "emoji_button.nature": "Natura",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects", "emoji_button.objects": "Oggetti",
"emoji_button.people": "People", "emoji_button.people": "Persone",
"emoji_button.recent": "Frequently used", "emoji_button.recent": "Usati di frequente",
"emoji_button.search": "Search...", "emoji_button.search": "Cerca...",
"emoji_button.search_results": "Search results", "emoji_button.search_results": "Risultati della ricerca",
"emoji_button.symbols": "Symbols", "emoji_button.symbols": "Simboli",
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "Viaggi e luoghi",
"empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!", "empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "Non hai ancora nessun messaggio diretto. Quando ne manderai o riceverai qualcuno, apparirà qui.",
"empty_column.hashtag": "Non c'è ancora nessun post con questo hashtag.", "empty_column.hashtag": "Non c'è ancora nessun post con questo hashtag.",
"empty_column.home": "Non stai ancora seguendo nessuno. Visita {public} o usa la ricerca per incontrare nuove persone.", "empty_column.home": "Non stai ancora seguendo nessuno. Visita {public} o usa la ricerca per incontrare nuove persone.",
"empty_column.home.public_timeline": "la timeline pubblica", "empty_column.home.public_timeline": "la timeline pubblica",
@ -111,64 +111,64 @@
"empty_column.public": "Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio.", "empty_column.public": "Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio.",
"follow_request.authorize": "Autorizza", "follow_request.authorize": "Autorizza",
"follow_request.reject": "Rifiuta", "follow_request.reject": "Rifiuta",
"getting_started.appsshort": "Apps", "getting_started.appsshort": "App",
"getting_started.faq": "FAQ", "getting_started.faq": "FAQ",
"getting_started.heading": "Come iniziare", "getting_started.heading": "Come iniziare",
"getting_started.open_source_notice": "Mastodon è un software open source. Puoi contribuire o segnalare errori su GitHub all'indirizzo {github}.", "getting_started.open_source_notice": "Mastodon è un software open source. Puoi contribuire o segnalare errori su GitHub all'indirizzo {github}.",
"getting_started.userguide": "User Guide", "getting_started.userguide": "Manuale utente",
"home.column_settings.advanced": "Avanzato", "home.column_settings.advanced": "Avanzato",
"home.column_settings.basic": "Semplice", "home.column_settings.basic": "Semplice",
"home.column_settings.filter_regex": "Filtra con espressioni regolari", "home.column_settings.filter_regex": "Filtra con espressioni regolari",
"home.column_settings.show_reblogs": "Mostra post condivisi", "home.column_settings.show_reblogs": "Mostra post condivisi",
"home.column_settings.show_replies": "Mostra risposte", "home.column_settings.show_replies": "Mostra risposte",
"home.settings": "Impostazioni colonna", "home.settings": "Impostazioni colonna",
"keyboard_shortcuts.back": "to navigate back", "keyboard_shortcuts.back": "per tornare indietro",
"keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.boost": "per condividere",
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "per portare il focus su uno status in una delle colonne",
"keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.compose": "per portare il focus nell'area di composizione",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "Description",
"keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.down": "per spostarsi in basso nella lista",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite", "keyboard_shortcuts.favourite": "per segnare come apprezzato",
"keyboard_shortcuts.heading": "Keyboard Shortcuts", "keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey", "keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.legend": "per mostrare questa spiegazione",
"keyboard_shortcuts.mention": "to mention author", "keyboard_shortcuts.mention": "per menzionare l'autore",
"keyboard_shortcuts.reply": "to reply", "keyboard_shortcuts.reply": "per rispondere",
"keyboard_shortcuts.search": "to focus search", "keyboard_shortcuts.search": "per spostare il focus sulla ricerca",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "per mostrare/nascondere il testo dei CW",
"keyboard_shortcuts.toot": "to start a brand new toot", "keyboard_shortcuts.toot": "per iniziare a scrivere un toot completamente nuovo",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "per uscire dall'area di composizione o dalla ricerca",
"keyboard_shortcuts.up": "to move up in the list", "keyboard_shortcuts.up": "per spostarsi in alto nella lista",
"lightbox.close": "Chiudi", "lightbox.close": "Chiudi",
"lightbox.next": "Next", "lightbox.next": "Successivo",
"lightbox.previous": "Previous", "lightbox.previous": "Precedente",
"lists.account.add": "Add to list", "lists.account.add": "Aggiungi alla lista",
"lists.account.remove": "Remove from list", "lists.account.remove": "Togli dalla lista",
"lists.delete": "Delete list", "lists.delete": "Delete list",
"lists.edit": "Edit list", "lists.edit": "Modifica lista",
"lists.new.create": "Add list", "lists.new.create": "Aggiungi lista",
"lists.new.title_placeholder": "New list title", "lists.new.title_placeholder": "Titolo della nuova lista",
"lists.search": "Search among people you follow", "lists.search": "Cerca tra le persone che segui",
"lists.subheading": "Your lists", "lists.subheading": "Le tue liste",
"loading_indicator.label": "Carico...", "loading_indicator.label": "Carico...",
"media_gallery.toggle_visible": "Imposta visibilità", "media_gallery.toggle_visible": "Imposta visibilità",
"missing_indicator.label": "Non trovato", "missing_indicator.label": "Non trovato",
"missing_indicator.sublabel": "This resource could not be found", "missing_indicator.sublabel": "Risorsa non trovata",
"mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.hide_notifications": "Nascondere le notifiche da quest'utente?",
"navigation_bar.blocks": "Utenti bloccati", "navigation_bar.blocks": "Utenti bloccati",
"navigation_bar.community_timeline": "Timeline locale", "navigation_bar.community_timeline": "Timeline locale",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "Messaggi diretti",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Domini nascosti",
"navigation_bar.edit_profile": "Modifica profilo", "navigation_bar.edit_profile": "Modifica profilo",
"navigation_bar.favourites": "Apprezzati", "navigation_bar.favourites": "Apprezzati",
"navigation_bar.follow_requests": "Richieste di amicizia", "navigation_bar.follow_requests": "Richieste di amicizia",
"navigation_bar.info": "Informazioni estese", "navigation_bar.info": "Informazioni estese",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts", "navigation_bar.keyboard_shortcuts": "Tasti di scelta rapida",
"navigation_bar.lists": "Lists", "navigation_bar.lists": "Liste",
"navigation_bar.logout": "Logout", "navigation_bar.logout": "Esci",
"navigation_bar.mutes": "Utenti silenziati", "navigation_bar.mutes": "Utenti silenziati",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Toot fissati in cima",
"navigation_bar.preferences": "Impostazioni", "navigation_bar.preferences": "Impostazioni",
"navigation_bar.public_timeline": "Timeline federata", "navigation_bar.public_timeline": "Timeline federata",
"notification.favourite": "{name} ha apprezzato il tuo post", "notification.favourite": "{name} ha apprezzato il tuo post",
@ -181,32 +181,32 @@
"notifications.column_settings.favourite": "Apprezzati:", "notifications.column_settings.favourite": "Apprezzati:",
"notifications.column_settings.follow": "Nuovi seguaci:", "notifications.column_settings.follow": "Nuovi seguaci:",
"notifications.column_settings.mention": "Menzioni:", "notifications.column_settings.mention": "Menzioni:",
"notifications.column_settings.push": "Push notifications", "notifications.column_settings.push": "Notifiche push",
"notifications.column_settings.push_meta": "This device", "notifications.column_settings.push_meta": "Questo dispositivo",
"notifications.column_settings.reblog": "Post condivisi:", "notifications.column_settings.reblog": "Post condivisi:",
"notifications.column_settings.show": "Mostra in colonna", "notifications.column_settings.show": "Mostra in colonna",
"notifications.column_settings.sound": "Riproduci suono", "notifications.column_settings.sound": "Riproduci suono",
"onboarding.done": "Done", "onboarding.done": "Fatto",
"onboarding.next": "Next", "onboarding.next": "Prossimo",
"onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.", "onboarding.page_five.public_timelines": "La timeline locale mostra i post pubblici di tutti gli utenti di {domain}. La timeline federata mostra i post pubblici di tutti gli utenti seguiti da quelli di {domain}. Queste sono le timeline pubbliche, che vi danno grandi possibilità di scoprire nuovi utenti.",
"onboarding.page_four.home": "The home timeline shows posts from people you follow.", "onboarding.page_four.home": "La timeline home mostra i post degli utenti che segui.",
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.", "onboarding.page_four.notifications": "La colonna delle notifiche ti fa vedere quando qualcuno interagisce con te.",
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.", "onboarding.page_one.federation": "Mastodon è una rete di server indipendenti che si collegano tra loro per formare un grande social network. I singoli server sono detti istanze.",
"onboarding.page_one.full_handle": "Your full handle", "onboarding.page_one.full_handle": "Il tuo nome utente completo",
"onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.handle_hint": "È ciò che diresti ai tuoi amici di cercare per trovarti.",
"onboarding.page_one.welcome": "Welcome to Mastodon!", "onboarding.page_one.welcome": "Benvenuto in Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.", "onboarding.page_six.admin": "L'amministratore della tua istanza è {admin}.",
"onboarding.page_six.almost_done": "Almost done...", "onboarding.page_six.almost_done": "Quasi finito...",
"onboarding.page_six.appetoot": "Bon Appetoot!", "onboarding.page_six.appetoot": "Buon appetoot!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.", "onboarding.page_six.apps_available": "Esistono {apps} per iOS, Android e altre piattaforme.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.", "onboarding.page_six.github": "Mastodon è software libero e open-source. Puoi segnalare bug, richiedere nuove funzionalità, o contribuire al codice su {github}.",
"onboarding.page_six.guidelines": "community guidelines", "onboarding.page_six.guidelines": "linee guida per la comunità",
"onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!", "onboarding.page_six.read_guidelines": "Ti preghiamo di leggere le {guidelines} di {domain}!",
"onboarding.page_six.various_app": "mobile apps", "onboarding.page_six.various_app": "app per dispositivi mobili",
"onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.", "onboarding.page_three.profile": "Puoi modificare il tuo profilo per cambiare i tuoi avatar, biografia e nome pubblico. E potrai trovarci altre preferenze.",
"onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.", "onboarding.page_three.search": "Usa la barra di ricerca per trovare persone e hashtag, come {illustration} e {introductions}. Per trovare una persona che non è su questa istanza, usa il suo nome utente completo.",
"onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.", "onboarding.page_two.compose": "Puoi scrivere dei post dalla colonna di composizione. Puoi caricare immagini, modificare le impostazioni di privacy, e aggiungere avvisi sul contenuto con le icone qui sotto.",
"onboarding.skip": "Skip", "onboarding.skip": "Salta",
"privacy.change": "Modifica privacy post", "privacy.change": "Modifica privacy post",
"privacy.direct.long": "Invia solo a utenti menzionati", "privacy.direct.long": "Invia solo a utenti menzionati",
"privacy.direct.short": "Diretto", "privacy.direct.short": "Diretto",
@ -216,11 +216,11 @@
"privacy.public.short": "Pubblico", "privacy.public.short": "Pubblico",
"privacy.unlisted.long": "Non mostrare sulla timeline pubblica", "privacy.unlisted.long": "Non mostrare sulla timeline pubblica",
"privacy.unlisted.short": "Non elencato", "privacy.unlisted.short": "Non elencato",
"regeneration_indicator.label": "Loading…", "regeneration_indicator.label": "Caricamento in corso…",
"regeneration_indicator.sublabel": "Your home feed is being prepared!", "regeneration_indicator.sublabel": "Stiamo preparando il tuo home feed!",
"relative_time.days": "{number}d", "relative_time.days": "{number}d",
"relative_time.hours": "{number}h", "relative_time.hours": "{number}h",
"relative_time.just_now": "now", "relative_time.just_now": "ora",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"reply_indicator.cancel": "Annulla", "reply_indicator.cancel": "Annulla",
@ -283,7 +283,7 @@
"upload_button.label": "Aggiungi file multimediale", "upload_button.label": "Aggiungi file multimediale",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",
"upload_form.focus": "Crop", "upload_form.focus": "Crop",
"upload_form.undo": "Annulla", "upload_form.undo": "Cancella",
"upload_progress.label": "Sto caricando...", "upload_progress.label": "Sto caricando...",
"video.close": "Close video", "video.close": "Close video",
"video.exit_fullscreen": "Exit full screen", "video.exit_fullscreen": "Exit full screen",

View File

@ -287,7 +287,7 @@
"upload_button.label": "メディアを追加", "upload_button.label": "メディアを追加",
"upload_form.description": "視覚障害者のための説明", "upload_form.description": "視覚障害者のための説明",
"upload_form.focus": "焦点", "upload_form.focus": "焦点",
"upload_form.undo": "やり直す", "upload_form.undo": "削除",
"upload_progress.label": "アップロード中...", "upload_progress.label": "アップロード中...",
"video.close": "動画を閉じる", "video.close": "動画を閉じる",
"video.exit_fullscreen": "全画面を終了する", "video.exit_fullscreen": "全画面を終了する",

View File

@ -283,7 +283,7 @@
"upload_button.label": "미디어 추가", "upload_button.label": "미디어 추가",
"upload_form.description": "시각장애인을 위한 설명", "upload_form.description": "시각장애인을 위한 설명",
"upload_form.focus": "크롭", "upload_form.focus": "크롭",
"upload_form.undo": "재시도", "upload_form.undo": "삭제",
"upload_progress.label": "업로드 중...", "upload_progress.label": "업로드 중...",
"video.close": "동영상 닫기", "video.close": "동영상 닫기",
"video.exit_fullscreen": "전체화면 나가기", "video.exit_fullscreen": "전체화면 나가기",

View File

@ -283,7 +283,7 @@
"upload_button.label": "Media toevoegen", "upload_button.label": "Media toevoegen",
"upload_form.description": "Omschrijf dit voor mensen met een visuele beperking", "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
"upload_form.focus": "Bijsnijden", "upload_form.focus": "Bijsnijden",
"upload_form.undo": "Ongedaan maken", "upload_form.undo": "Verwijderen",
"upload_progress.label": "Uploaden...", "upload_progress.label": "Uploaden...",
"video.close": "Video sluiten", "video.close": "Video sluiten",
"video.exit_fullscreen": "Volledig scherm sluiten", "video.exit_fullscreen": "Volledig scherm sluiten",

View File

@ -3,7 +3,7 @@
"account.block": "Blocar @{name}", "account.block": "Blocar @{name}",
"account.block_domain": "Tot amagar del domeni {domain}", "account.block_domain": "Tot amagar del domeni {domain}",
"account.blocked": "Blocat", "account.blocked": "Blocat",
"account.direct": "Direct Message @{name}", "account.direct": "Escriure un MP a @{name}",
"account.disclaimer_full": "Aquelas informacions de perfil pòdon èsser incomplètas.", "account.disclaimer_full": "Aquelas informacions de perfil pòdon èsser incomplètas.",
"account.domain_blocked": "Domeni amagat", "account.domain_blocked": "Domeni amagat",
"account.edit_profile": "Modificar lo perfil", "account.edit_profile": "Modificar lo perfil",
@ -42,7 +42,7 @@
"column.blocks": "Personas blocadas", "column.blocks": "Personas blocadas",
"column.community": "Flux public local", "column.community": "Flux public local",
"column.direct": "Messatges dirèctes", "column.direct": "Messatges dirèctes",
"column.domain_blocks": "Domenis blocats", "column.domain_blocks": "Domenis resconduts",
"column.favourites": "Favorits", "column.favourites": "Favorits",
"column.follow_requests": "Demandas dabonament", "column.follow_requests": "Demandas dabonament",
"column.home": "Acuèlh", "column.home": "Acuèlh",
@ -102,14 +102,14 @@
"emoji_button.symbols": "Simbòls", "emoji_button.symbols": "Simbòls",
"emoji_button.travel": "Viatges & lòcs", "emoji_button.travel": "Viatges & lòcs",
"empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir!", "empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir!",
"empty_column.direct": "Avètz pas encara de messatges. Quand ne mandatz un o que ne recebètz un, serà mostrat aquí.", "empty_column.direct": "Avètz pas encara cap de messatges. Quand ne mandatz un o que ne recebètz un, serà mostrat aquí.",
"empty_column.hashtag": "I a pas encara de contengut ligat a aquesta etiqueta.", "empty_column.hashtag": "I a pas encara de contengut ligat a aquesta etiqueta.",
"empty_column.home": "Vòstre flux dacuèlh es void. Visitatz {public} o utilizatz la recèrca per vos connectar a dautras personas.", "empty_column.home": "Vòstre flux dacuèlh es void. Visitatz {public} o utilizatz la recèrca per vos connectar a dautras personas.",
"empty_column.home.public_timeline": "lo flux public", "empty_column.home.public_timeline": "lo flux public",
"empty_column.list": "I a pas res dins la lista pel moment. Quand de membres daquesta lista publiquen de novèls estatuts los veiretz aquí.", "empty_column.list": "I a pas res dins la lista pel moment. Quand de membres daquesta lista publiquen de novèls estatuts los veiretz aquí.",
"empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualquun per començar una conversacion.", "empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualquun per començar una conversacion.",
"empty_column.public": "I a pas res aquí! Escrivètz quicòm de public, o seguètz de personas dautras instàncias per garnir lo flux public", "empty_column.public": "I a pas res aquí! Escrivètz quicòm de public, o seguètz de personas dautras instàncias per garnir lo flux public",
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Acceptar",
"follow_request.reject": "Regetar", "follow_request.reject": "Regetar",
"getting_started.appsshort": "Aplicacions", "getting_started.appsshort": "Aplicacions",
"getting_started.faq": "FAQ", "getting_started.faq": "FAQ",
@ -159,7 +159,7 @@
"navigation_bar.blocks": "Personas blocadas", "navigation_bar.blocks": "Personas blocadas",
"navigation_bar.community_timeline": "Flux public local", "navigation_bar.community_timeline": "Flux public local",
"navigation_bar.direct": "Messatges dirèctes", "navigation_bar.direct": "Messatges dirèctes",
"navigation_bar.domain_blocks": "Domenis amagats", "navigation_bar.domain_blocks": "Domenis resconduts",
"navigation_bar.edit_profile": "Modificar lo perfil", "navigation_bar.edit_profile": "Modificar lo perfil",
"navigation_bar.favourites": "Favorits", "navigation_bar.favourites": "Favorits",
"navigation_bar.follow_requests": "Demandas dabonament", "navigation_bar.follow_requests": "Demandas dabonament",
@ -259,7 +259,7 @@
"status.pin": "Penjar al perfil", "status.pin": "Penjar al perfil",
"status.pinned": "Tut penjat", "status.pinned": "Tut penjat",
"status.reblog": "Partejar", "status.reblog": "Partejar",
"status.reblog_private": "Partejar al laudiéncia dorigina", "status.reblog_private": "Partejar a laudiéncia dorigina",
"status.reblogged_by": "{name} a partejat", "status.reblogged_by": "{name} a partejat",
"status.reply": "Respondre", "status.reply": "Respondre",
"status.replyAll": "Respondre a la conversacion", "status.replyAll": "Respondre a la conversacion",
@ -283,7 +283,7 @@
"upload_button.label": "Ajustar un mèdia", "upload_button.label": "Ajustar un mèdia",
"upload_form.description": "Descripcion pels mal vesents", "upload_form.description": "Descripcion pels mal vesents",
"upload_form.focus": "Retalhar", "upload_form.focus": "Retalhar",
"upload_form.undo": "Anullar", "upload_form.undo": "Suprimir",
"upload_progress.label": "Mandadís…", "upload_progress.label": "Mandadís…",
"video.close": "Tampar la vidèo", "video.close": "Tampar la vidèo",
"video.exit_fullscreen": "Sortir plen ecran", "video.exit_fullscreen": "Sortir plen ecran",

View File

@ -287,7 +287,7 @@
"upload_button.label": "Dodaj zawartość multimedialną", "upload_button.label": "Dodaj zawartość multimedialną",
"upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących", "upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",
"upload_form.focus": "Przytnij", "upload_form.focus": "Przytnij",
"upload_form.undo": "Cofnij", "upload_form.undo": "Usuń",
"upload_progress.label": "Wysyłanie", "upload_progress.label": "Wysyłanie",
"video.close": "Zamknij film", "video.close": "Zamknij film",
"video.exit_fullscreen": "Opuść tryb pełnoekranowy", "video.exit_fullscreen": "Opuść tryb pełnoekranowy",

View File

@ -1,5 +1,5 @@
{ {
"account.badges.bot": "Bot", "account.badges.bot": "Бот",
"account.block": "Блокировать", "account.block": "Блокировать",
"account.block_domain": "Блокировать все с {domain}", "account.block_domain": "Блокировать все с {domain}",
"account.blocked": "Заблокирован(а)", "account.blocked": "Заблокирован(а)",
@ -41,7 +41,7 @@
"bundle_modal_error.retry": "Попробовать снова", "bundle_modal_error.retry": "Попробовать снова",
"column.blocks": "Список блокировки", "column.blocks": "Список блокировки",
"column.community": "Локальная лента", "column.community": "Локальная лента",
"column.direct": "Direct messages", "column.direct": "Личные сообщения",
"column.domain_blocks": "Скрытые домены", "column.domain_blocks": "Скрытые домены",
"column.favourites": "Понравившееся", "column.favourites": "Понравившееся",
"column.follow_requests": "Запросы на подписку", "column.follow_requests": "Запросы на подписку",
@ -60,7 +60,7 @@
"column_header.unpin": "Открепить", "column_header.unpin": "Открепить",
"column_subheading.navigation": "Навигация", "column_subheading.navigation": "Навигация",
"column_subheading.settings": "Настройки", "column_subheading.settings": "Настройки",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "compose_form.direct_message_warning": "Этот статус будет виден только упомянутым пользователям.",
"compose_form.hashtag_warning": "Этот пост не будет показывается в поиске по хэштегу, т.к. он непубличный. Только публичные посты можно найти в поиске по хэштегу.", "compose_form.hashtag_warning": "Этот пост не будет показывается в поиске по хэштегу, т.к. он непубличный. Только публичные посты можно найти в поиске по хэштегу.",
"compose_form.lock_disclaimer": "Ваш аккаунт не {locked}. Любой человек может подписаться на Вас и просматривать посты для подписчиков.", "compose_form.lock_disclaimer": "Ваш аккаунт не {locked}. Любой человек может подписаться на Вас и просматривать посты для подписчиков.",
"compose_form.lock_disclaimer.lock": "закрыт", "compose_form.lock_disclaimer.lock": "закрыт",
@ -102,7 +102,7 @@
"emoji_button.symbols": "Символы", "emoji_button.symbols": "Символы",
"emoji_button.travel": "Путешествия", "emoji_button.travel": "Путешествия",
"empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!", "empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "У Вас пока нет личных сообщений. Когда Вы начнёте их отправлять или получать, они появятся здесь.",
"empty_column.hashtag": "Статусов с таким хэштегом еще не существует.", "empty_column.hashtag": "Статусов с таким хэштегом еще не существует.",
"empty_column.home": "Пока Вы ни на кого не подписаны. Полистайте {public} или используйте поиск, чтобы освоиться и завести новые знакомства.", "empty_column.home": "Пока Вы ни на кого не подписаны. Полистайте {public} или используйте поиск, чтобы освоиться и завести новые знакомства.",
"empty_column.home.public_timeline": "публичные ленты", "empty_column.home.public_timeline": "публичные ленты",
@ -136,7 +136,7 @@
"keyboard_shortcuts.mention": "упомянуть автора поста", "keyboard_shortcuts.mention": "упомянуть автора поста",
"keyboard_shortcuts.reply": "ответить", "keyboard_shortcuts.reply": "ответить",
"keyboard_shortcuts.search": "перейти к поиску", "keyboard_shortcuts.search": "перейти к поиску",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "показать/скрыть текст за предупреждением",
"keyboard_shortcuts.toot": "начать писать новый пост", "keyboard_shortcuts.toot": "начать писать новый пост",
"keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска", "keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска",
"keyboard_shortcuts.up": "вверх по списку", "keyboard_shortcuts.up": "вверх по списку",
@ -158,7 +158,7 @@
"mute_modal.hide_notifications": "Убрать уведомления от этого пользователя?", "mute_modal.hide_notifications": "Убрать уведомления от этого пользователя?",
"navigation_bar.blocks": "Список блокировки", "navigation_bar.blocks": "Список блокировки",
"navigation_bar.community_timeline": "Локальная лента", "navigation_bar.community_timeline": "Локальная лента",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "Личные сообщения",
"navigation_bar.domain_blocks": "Скрытые домены", "navigation_bar.domain_blocks": "Скрытые домены",
"navigation_bar.edit_profile": "Изменить профиль", "navigation_bar.edit_profile": "Изменить профиль",
"navigation_bar.favourites": "Понравившееся", "navigation_bar.favourites": "Понравившееся",
@ -224,12 +224,12 @@
"relative_time.minutes": "{number}м", "relative_time.minutes": "{number}м",
"relative_time.seconds": "{number}с", "relative_time.seconds": "{number}с",
"reply_indicator.cancel": "Отмена", "reply_indicator.cancel": "Отмена",
"report.forward": "Forward to {target}", "report.forward": "Переслать для {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "Этот аккаунт расположен на другом сервере. Отправить туда анонимную копию Вашей жалобы?",
"report.hint": "Жалоба будет отправлена модераторам Вашего сервера. Вы также можете указать подробную причину жалобы ниже:", "report.hint": "Жалоба будет отправлена модераторам Вашего сервера. Вы также можете указать подробную причину жалобы ниже:",
"report.placeholder": "Комментарий", "report.placeholder": "Комментарий",
"report.submit": "Отправить", "report.submit": "Отправить",
"report.target": "Жалуемся на", "report.target": "Жалуемся на {target}",
"search.placeholder": "Поиск", "search.placeholder": "Поиск",
"search_popout.search_format": "Продвинутый формат поиска", "search_popout.search_format": "Продвинутый формат поиска",
"search_popout.tips.full_text": "Возвращает посты, которые Вы написали, отметили как 'избранное', продвинули или в которых были упомянуты, а также содержащие юзернейм, имя и хэштеги.", "search_popout.tips.full_text": "Возвращает посты, которые Вы написали, отметили как 'избранное', продвинули или в которых были упомянуты, а также содержащие юзернейм, имя и хэштеги.",
@ -237,16 +237,16 @@
"search_popout.tips.status": "статус", "search_popout.tips.status": "статус",
"search_popout.tips.text": "Простой ввод текста покажет совпадающие имена пользователей, отображаемые имена и хэштеги", "search_popout.tips.text": "Простой ввод текста покажет совпадающие имена пользователей, отображаемые имена и хэштеги",
"search_popout.tips.user": "пользователь", "search_popout.tips.user": "пользователь",
"search_results.accounts": "People", "search_results.accounts": "Люди",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Хэштеги",
"search_results.statuses": "Toots", "search_results.statuses": "Посты",
"search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}", "search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}",
"standalone.public_title": "Прямо сейчас", "standalone.public_title": "Прямо сейчас",
"status.block": "Заблокировать @{name}", "status.block": "Заблокировать @{name}",
"status.cancel_reblog_private": "Unboost", "status.cancel_reblog_private": "Не продвигать",
"status.cannot_reblog": "Этот статус не может быть продвинут", "status.cannot_reblog": "Этот статус не может быть продвинут",
"status.delete": "Удалить", "status.delete": "Удалить",
"status.direct": "Direct message @{name}", "status.direct": "Написать @{name}",
"status.embed": "Встроить", "status.embed": "Встроить",
"status.favourite": "Нравится", "status.favourite": "Нравится",
"status.load_more": "Показать еще", "status.load_more": "Показать еще",
@ -257,9 +257,9 @@
"status.mute_conversation": "Заглушить тред", "status.mute_conversation": "Заглушить тред",
"status.open": "Развернуть статус", "status.open": "Развернуть статус",
"status.pin": "Закрепить в профиле", "status.pin": "Закрепить в профиле",
"status.pinned": "Pinned toot", "status.pinned": "Закреплённый статус",
"status.reblog": "Продвинуть", "status.reblog": "Продвинуть",
"status.reblog_private": "Boost to original audience", "status.reblog_private": "Продвинуть для своей аудитории",
"status.reblogged_by": "{name} продвинул(а)", "status.reblogged_by": "{name} продвинул(а)",
"status.reply": "Ответить", "status.reply": "Ответить",
"status.replyAll": "Ответить на тред", "status.replyAll": "Ответить на тред",
@ -268,21 +268,21 @@
"status.sensitive_warning": "Чувствительный контент", "status.sensitive_warning": "Чувствительный контент",
"status.share": "Поделиться", "status.share": "Поделиться",
"status.show_less": "Свернуть", "status.show_less": "Свернуть",
"status.show_less_all": "Show less for all", "status.show_less_all": "Свернуть для всех",
"status.show_more": "Развернуть", "status.show_more": "Развернуть",
"status.show_more_all": "Show more for all", "status.show_more_all": "Развернуть для всех",
"status.unmute_conversation": "Снять глушение с треда", "status.unmute_conversation": "Снять глушение с треда",
"status.unpin": "Открепить от профиля", "status.unpin": "Открепить от профиля",
"tabs_bar.federated_timeline": "Глобальная", "tabs_bar.federated_timeline": "Глобальная",
"tabs_bar.home": "Главная", "tabs_bar.home": "Главная",
"tabs_bar.local_timeline": "Локальная", "tabs_bar.local_timeline": "Локальная",
"tabs_bar.notifications": "Уведомления", "tabs_bar.notifications": "Уведомления",
"tabs_bar.search": "Search", "tabs_bar.search": "Поиск",
"ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.", "ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.",
"upload_area.title": "Перетащите сюда, чтобы загрузить", "upload_area.title": "Перетащите сюда, чтобы загрузить",
"upload_button.label": "Добавить медиаконтент", "upload_button.label": "Добавить медиаконтент",
"upload_form.description": "Описать для людей с нарушениями зрения", "upload_form.description": "Описать для людей с нарушениями зрения",
"upload_form.focus": "Crop", "upload_form.focus": "Обрезать",
"upload_form.undo": "Отменить", "upload_form.undo": "Отменить",
"upload_progress.label": "Загрузка...", "upload_progress.label": "Загрузка...",
"video.close": "Закрыть видео", "video.close": "Закрыть видео",

View File

@ -283,7 +283,7 @@
"upload_button.label": "Pridať médiá", "upload_button.label": "Pridať médiá",
"upload_form.description": "Opis pre slabo vidiacich", "upload_form.description": "Opis pre slabo vidiacich",
"upload_form.focus": "Vystrihni", "upload_form.focus": "Vystrihni",
"upload_form.undo": "Navrátiť", "upload_form.undo": "Vymaž",
"upload_progress.label": "Nahráva sa...", "upload_progress.label": "Nahráva sa...",
"video.close": "Zavrieť video", "video.close": "Zavrieť video",
"video.exit_fullscreen": "Vpnúť zobrazenie na celú obrazovku", "video.exit_fullscreen": "Vpnúť zobrazenie na celú obrazovku",

View File

@ -1,143 +1,143 @@
{ {
"account.badges.bot": "Bot", "account.badges.bot": "Robot",
"account.block": "Blokiraj @{name}", "account.block": "Blokiraj @{name}",
"account.block_domain": "Skrij vse iz {domain}", "account.block_domain": "Skrij vse iz {domain}",
"account.blocked": "Blokirano", "account.blocked": "Blokirano",
"account.direct": "Neposredno sporočilo @{name}", "account.direct": "Neposredno sporočilo @{name}",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.disclaimer_full": "Spodnje informacije lahko nepopolno prikazujejo profil uporabnika.",
"account.domain_blocked": "Domain hidden", "account.domain_blocked": "Skrita domena",
"account.edit_profile": "Edit profile", "account.edit_profile": "Uredi profil",
"account.follow": "Follow", "account.follow": "Sledi",
"account.followers": "Followers", "account.followers": "Sledilci",
"account.follows": "Follows", "account.follows": "Sledi",
"account.follows_you": "Follows you", "account.follows_you": "Ti sledi",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "Skrij napuhke od @{name}",
"account.media": "Media", "account.media": "Mediji",
"account.mention": "Mention @{name}", "account.mention": "Omeni @{name}",
"account.moved_to": "{name} has moved to:", "account.moved_to": "{name} se je premaknil na:",
"account.mute": "Mute @{name}", "account.mute": "Utišaj @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Utišaj obvestila od @{name}",
"account.muted": "Muted", "account.muted": "Utišan",
"account.posts": "Toots", "account.posts": "Tuti",
"account.posts_with_replies": "Toots and replies", "account.posts_with_replies": "Tuti in odgovori",
"account.report": "Report @{name}", "account.report": "Prijavi @{name}",
"account.requested": "Awaiting approval. Click to cancel follow request", "account.requested": "Čakanje na odobritev. Kliknite, da prekličete prošnjo za sledenje",
"account.share": "Share @{name}'s profile", "account.share": "Delite profil osebe @{name}",
"account.show_reblogs": "Show boosts from @{name}", "account.show_reblogs": "Pokaži delitve osebe @{name}",
"account.unblock": "Unblock @{name}", "account.unblock": "Odblokiraj @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Razkrij {domain}",
"account.unfollow": "Unfollow", "account.unfollow": "Prenehaj slediti",
"account.unmute": "Unmute @{name}", "account.unmute": "Odtišaj @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "Vklopi obvestila od @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "Ogled celotnega profila",
"alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.message": "Zgodila se je nepričakovana napaka.",
"alert.unexpected.title": "Oops!", "alert.unexpected.title": "Uups!",
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "Če želite naslednjič preskočiti to, lahko pritisnete {combo}",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Med nalaganjem te komponente je prišlo do napake.",
"bundle_column_error.retry": "Try again", "bundle_column_error.retry": "Poskusi ponovno",
"bundle_column_error.title": "Network error", "bundle_column_error.title": "Napaka omrežja",
"bundle_modal_error.close": "Close", "bundle_modal_error.close": "Zapri",
"bundle_modal_error.message": "Something went wrong while loading this component.", "bundle_modal_error.message": "Med nalaganjem te komponente je prišlo do napake.",
"bundle_modal_error.retry": "Try again", "bundle_modal_error.retry": "Poskusi ponovno",
"column.blocks": "Blocked users", "column.blocks": "Blokirani uporabniki",
"column.community": "Local timeline", "column.community": "Lokalna časovnica",
"column.direct": "Direct messages", "column.direct": "Neposredna sporočila",
"column.domain_blocks": "Hidden domains", "column.domain_blocks": "Skrite domene",
"column.favourites": "Favourites", "column.favourites": "Priljubljene",
"column.follow_requests": "Follow requests", "column.follow_requests": "Sledi prošnjam",
"column.home": "Home", "column.home": "Domov",
"column.lists": "Lists", "column.lists": "Seznami",
"column.mutes": "Muted users", "column.mutes": "Utišani uporabniki",
"column.notifications": "Notifications", "column.notifications": "Obvestila",
"column.pins": "Pinned toot", "column.pins": "Pripeti tuti",
"column.public": "Federated timeline", "column.public": "Združena časovnica",
"column_back_button.label": "Back", "column_back_button.label": "Nazaj",
"column_header.hide_settings": "Hide settings", "column_header.hide_settings": "Skrij nastavitve",
"column_header.moveLeft_settings": "Move column to the left", "column_header.moveLeft_settings": "Premakni stolpec na levo",
"column_header.moveRight_settings": "Move column to the right", "column_header.moveRight_settings": "Premakni stolpec na desno",
"column_header.pin": "Pin", "column_header.pin": "Pripni",
"column_header.show_settings": "Show settings", "column_header.show_settings": "Prikaži nastavitve",
"column_header.unpin": "Unpin", "column_header.unpin": "Odpni",
"column_subheading.navigation": "Navigation", "column_subheading.navigation": "Navigacija",
"column_subheading.settings": "Settings", "column_subheading.settings": "Nastavitve",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "compose_form.direct_message_warning": "Ta tut bo viden le vsem omenjenim uporabnikom.",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "Ta tut ne bo naveden pod nobenim hashtagom, ker ni dodan hashtag. Samo javne tute lahko iščete pod hashtagom.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Vaš račun ni {locked}. Vsakdo vam lahko sledi in si ogleda objave, ki so namenjene samo sledilcem.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "zaklenjen",
"compose_form.placeholder": "What is on your mind?", "compose_form.placeholder": "O čem razmišljaš?",
"compose_form.publish": "Toot", "compose_form.publish": "Tutni",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.marked": "Media is marked as sensitive", "compose_form.sensitive.marked": "Medij je označen kot občutljiv",
"compose_form.sensitive.unmarked": "Media is not marked as sensitive", "compose_form.sensitive.unmarked": "Medij ni označen kot občutljiv",
"compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.marked": "Besedilo je skrito za opozorilom",
"compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler.unmarked": "Besedilo ni skrito",
"compose_form.spoiler_placeholder": "Write your warning here", "compose_form.spoiler_placeholder": "Napišite opozorilo tukaj",
"confirmation_modal.cancel": "Cancel", "confirmation_modal.cancel": "Prekliči",
"confirmations.block.confirm": "Block", "confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.block.message": "Ali ste prepričani, da želite blokirati {name}?",
"confirmations.delete.confirm": "Delete", "confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?", "confirmations.delete.message": "Ali ste prepričani, da želite izbrisati to stanje?",
"confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.confirm": "Delete",
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", "confirmations.delete_list.message": "Ali ste prepričani, da želite trajno izbrisati ta seznam?",
"confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.confirm": "Skrij celotno domeno",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.", "confirmations.domain_block.message": "Ali ste res, res prepričani, da želite blokirati celotno {domain}? V večini primerov je nekaj ciljnih blokiranj ali utišanj dovolj in boljše.",
"confirmations.mute.confirm": "Mute", "confirmations.mute.confirm": "Utišanje",
"confirmations.mute.message": "Are you sure you want to mute {name}?", "confirmations.mute.message": "Ali ste prepričani, da želite utišati {name}?",
"confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.confirm": "Prenehaj slediti",
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", "confirmations.unfollow.message": "Ali ste prepričani, da ne želite več slediti {name}?",
"embed.instructions": "Embed this status on your website by copying the code below.", "embed.instructions": "Vstavi ta status na svojo spletno stran tako, da kopirate spodnjo kodo.",
"embed.preview": "Here is what it will look like:", "embed.preview": "Tukaj je, kako bo izgledalo:",
"emoji_button.activity": "Activity", "emoji_button.activity": "Dejavnost",
"emoji_button.custom": "Custom", "emoji_button.custom": "Po meri",
"emoji_button.flags": "Flags", "emoji_button.flags": "Zastave",
"emoji_button.food": "Food & Drink", "emoji_button.food": "Hrana in Pijača",
"emoji_button.label": "Insert emoji", "emoji_button.label": "Vstavi emojija",
"emoji_button.nature": "Nature", "emoji_button.nature": "Narava",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", "emoji_button.not_found": "Ni emojijev!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects", "emoji_button.objects": "Predmeti",
"emoji_button.people": "People", "emoji_button.people": "Ljudje",
"emoji_button.recent": "Frequently used", "emoji_button.recent": "Pogosto uporabljeni",
"emoji_button.search": "Search...", "emoji_button.search": "Poišči...",
"emoji_button.search_results": "Search results", "emoji_button.search_results": "Rezultati iskanja",
"emoji_button.symbols": "Symbols", "emoji_button.symbols": "Simboli",
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "Potovanja in Kraji",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "Lokalna časovnica je prazna. Napišite nekaj javnega, da se bo žoga zakotalila!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "Nimate še nobenih neposrednih sporočil. Ko ga pošljete ali prejmete, se prikaže tukaj.",
"empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.hashtag": "V tem hashtagu še ni nič.",
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.", "empty_column.home": "Vaša domača časovnica je prazna! Obiščite {public} ali uporabite iskanje, da se boste srečali druge uporabnike.",
"empty_column.home.public_timeline": "the public timeline", "empty_column.home.public_timeline": "javna časovnica",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "empty_column.list": "Na tem seznamu ni ničesar. Ko bodo člani tega seznama objavili nove statuse, se bodo pojavili tukaj.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "empty_column.notifications": "Nimate še nobenih obvestil. Poveži se z drugimi, da začnete pogovor.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", "empty_column.public": "Tukaj ni ničesar! Da ga napolnite, napišite nekaj javnega ali pa ročno sledite uporabnikom iz drugih vozlišč",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Odobri",
"follow_request.reject": "Reject", "follow_request.reject": "Zavrni",
"getting_started.appsshort": "Apps", "getting_started.appsshort": "Aplikacije",
"getting_started.faq": "FAQ", "getting_started.faq": "FAQ",
"getting_started.heading": "Getting started", "getting_started.heading": "Prvi koraki",
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.", "getting_started.open_source_notice": "Mastodon je odprtokodna programska oprema. V GitHubu na {github} lahko prispevate ali poročate o napakah.",
"getting_started.userguide": "User Guide", "getting_started.userguide": "Navodila za uporabo",
"home.column_settings.advanced": "Advanced", "home.column_settings.advanced": "Napredno",
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Osnovno",
"home.column_settings.filter_regex": "Filter out by regular expressions", "home.column_settings.filter_regex": "Filtrirajte z navadnimi izrazi",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Pokaži sunke",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Pokaži odgovore",
"home.settings": "Column settings", "home.settings": "Nastavitve stolpcev",
"keyboard_shortcuts.back": "to navigate back", "keyboard_shortcuts.back": "za krmarjenje nazaj",
"keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.boost": "suniti",
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "osredotočiti status v enega od stolpcev",
"keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.compose": "osredotočiti na sestavljanje besedila",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "Opis",
"keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.down": "premakniti navzdol po seznamu",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "odpreti status",
"keyboard_shortcuts.favourite": "to favourite", "keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts", "keyboard_shortcuts.heading": "Tipkovne bližnjice",
"keyboard_shortcuts.hotkey": "Hotkey", "keyboard_shortcuts.hotkey": "Hitra tipka",
"keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author", "keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply", "keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search", "keyboard_shortcuts.search": "to focus search",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
"keyboard_shortcuts.toot": "to start a brand new toot", "keyboard_shortcuts.toot": "da začnete povsem nov tut",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list", "keyboard_shortcuts.up": "to move up in the list",
"lightbox.close": "Close", "lightbox.close": "Close",
@ -163,12 +163,12 @@
"navigation_bar.edit_profile": "Edit profile", "navigation_bar.edit_profile": "Edit profile",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information", "navigation_bar.info": "O tem vozlišču",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts", "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.lists": "Lists", "navigation_bar.lists": "Lists",
"navigation_bar.logout": "Logout", "navigation_bar.logout": "Logout",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pripeti tuti",
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Preferences",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
@ -197,7 +197,7 @@
"onboarding.page_one.welcome": "Welcome to Mastodon!", "onboarding.page_one.welcome": "Welcome to Mastodon!",
"onboarding.page_six.admin": "Your instance's admin is {admin}.", "onboarding.page_six.admin": "Your instance's admin is {admin}.",
"onboarding.page_six.almost_done": "Almost done...", "onboarding.page_six.almost_done": "Almost done...",
"onboarding.page_six.appetoot": "Bon Appetoot!", "onboarding.page_six.appetoot": "Bon Appetut!",
"onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.", "onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
"onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.", "onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
"onboarding.page_six.guidelines": "community guidelines", "onboarding.page_six.guidelines": "community guidelines",
@ -239,7 +239,7 @@
"search_popout.tips.user": "user", "search_popout.tips.user": "user",
"search_results.accounts": "People", "search_results.accounts": "People",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots", "search_results.statuses": "Tuti",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"standalone.public_title": "A look inside...", "standalone.public_title": "A look inside...",
"status.block": "Block @{name}", "status.block": "Block @{name}",
@ -257,41 +257,41 @@
"status.mute_conversation": "Mute conversation", "status.mute_conversation": "Mute conversation",
"status.open": "Expand this status", "status.open": "Expand this status",
"status.pin": "Pin on profile", "status.pin": "Pin on profile",
"status.pinned": "Pinned toot", "status.pinned": "Pripeti tut",
"status.reblog": "Boost", "status.reblog": "Suni",
"status.reblog_private": "Boost to original audience", "status.reblog_private": "Suni v prvotno občinstvo",
"status.reblogged_by": "{name} boosted", "status.reblogged_by": "{name} sunjen",
"status.reply": "Reply", "status.reply": "Odgovori",
"status.replyAll": "Reply to thread", "status.replyAll": "Odgovori na objavo",
"status.report": "Report @{name}", "status.report": "Prijavi @{name}",
"status.sensitive_toggle": "Click to view", "status.sensitive_toggle": "Kliknite za ogled",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Občutljiva vsebina",
"status.share": "Share", "status.share": "Deli",
"status.show_less": "Show less", "status.show_less": "Prikaži manj",
"status.show_less_all": "Show less for all", "status.show_less_all": "Prikaži manj za vse",
"status.show_more": "Show more", "status.show_more": "Prikaži več",
"status.show_more_all": "Show more for all", "status.show_more_all": "Prikaži več za vse",
"status.unmute_conversation": "Unmute conversation", "status.unmute_conversation": "Odtišaj pogovor",
"status.unpin": "Unpin from profile", "status.unpin": "Odpni iz profila",
"tabs_bar.federated_timeline": "Federated", "tabs_bar.federated_timeline": "Združeno",
"tabs_bar.home": "Home", "tabs_bar.home": "Domov",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Lokalno",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "Obvestila",
"tabs_bar.search": "Search", "tabs_bar.search": "Poišči",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.", "ui.beforeunload": "Vaš osnutek bo izgubljen, če zapustite Mastodona.",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Povlecite in spustite za pošiljanje",
"upload_button.label": "Add media", "upload_button.label": "Dodaj medij",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Opišite za slabovidne",
"upload_form.focus": "Crop", "upload_form.focus": "Obreži",
"upload_form.undo": "Undo", "upload_form.undo": "Izbriši",
"upload_progress.label": "Uploading...", "upload_progress.label": "Pošiljanje...",
"video.close": "Close video", "video.close": "Zapri video",
"video.exit_fullscreen": "Exit full screen", "video.exit_fullscreen": "Izhod iz celozaslonskega načina",
"video.expand": "Expand video", "video.expand": "Razširi video",
"video.fullscreen": "Full screen", "video.fullscreen": "Celozaslonski način",
"video.hide": "Hide video", "video.hide": "Skrij video",
"video.mute": "Mute sound", "video.mute": "Utišaj zvok",
"video.pause": "Pause", "video.pause": "Premor",
"video.play": "Play", "video.play": "Predvajaj",
"video.unmute": "Unmute sound" "video.unmute": "Vklopi zvok"
} }

View File

@ -1,5 +1,5 @@
{ {
"account.badges.bot": "Bot", "account.badges.bot": "機械人",
"account.block": "封鎖 @{name}", "account.block": "封鎖 @{name}",
"account.block_domain": "隱藏來自 {domain} 的一切文章", "account.block_domain": "隱藏來自 {domain} 的一切文章",
"account.blocked": "封鎖", "account.blocked": "封鎖",
@ -41,7 +41,7 @@
"bundle_modal_error.retry": "重試", "bundle_modal_error.retry": "重試",
"column.blocks": "封鎖用戶", "column.blocks": "封鎖用戶",
"column.community": "本站時間軸", "column.community": "本站時間軸",
"column.direct": "Direct messages", "column.direct": "個人訊息",
"column.domain_blocks": "隱藏的服務站", "column.domain_blocks": "隱藏的服務站",
"column.favourites": "最愛的文章", "column.favourites": "最愛的文章",
"column.follow_requests": "關注請求", "column.follow_requests": "關注請求",
@ -102,7 +102,7 @@
"emoji_button.symbols": "符號", "emoji_button.symbols": "符號",
"emoji_button.travel": "旅遊景物", "emoji_button.travel": "旅遊景物",
"empty_column.community": "本站時間軸暫時未有內容,快寫一點東西來搶頭香啊!", "empty_column.community": "本站時間軸暫時未有內容,快寫一點東西來搶頭香啊!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "你沒有個人訊息。當你發出或接收個人訊息,就會在這裡出現。",
"empty_column.hashtag": "這個標籤暫時未有內容。", "empty_column.hashtag": "這個標籤暫時未有內容。",
"empty_column.home": "你還沒有關注任何用戶。快看看{public},向其他用戶搭訕吧。", "empty_column.home": "你還沒有關注任何用戶。快看看{public},向其他用戶搭訕吧。",
"empty_column.home.public_timeline": "公共時間軸", "empty_column.home.public_timeline": "公共時間軸",
@ -136,7 +136,7 @@
"keyboard_shortcuts.mention": "提及作者", "keyboard_shortcuts.mention": "提及作者",
"keyboard_shortcuts.reply": "回覆", "keyboard_shortcuts.reply": "回覆",
"keyboard_shortcuts.search": "把標示移動到搜索", "keyboard_shortcuts.search": "把標示移動到搜索",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "顯示或隱藏被標為敏感的文字",
"keyboard_shortcuts.toot": "新的推文", "keyboard_shortcuts.toot": "新的推文",
"keyboard_shortcuts.unfocus": "把標示移離文字輸入和搜索", "keyboard_shortcuts.unfocus": "把標示移離文字輸入和搜索",
"keyboard_shortcuts.up": "在列表往上移動", "keyboard_shortcuts.up": "在列表往上移動",
@ -158,7 +158,7 @@
"mute_modal.hide_notifications": "隱藏來自這用戶的通知嗎?", "mute_modal.hide_notifications": "隱藏來自這用戶的通知嗎?",
"navigation_bar.blocks": "被你封鎖的用戶", "navigation_bar.blocks": "被你封鎖的用戶",
"navigation_bar.community_timeline": "本站時間軸", "navigation_bar.community_timeline": "本站時間軸",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "個人訊息",
"navigation_bar.domain_blocks": "隱藏的服務站", "navigation_bar.domain_blocks": "隱藏的服務站",
"navigation_bar.edit_profile": "修改個人資料", "navigation_bar.edit_profile": "修改個人資料",
"navigation_bar.favourites": "最愛的內容", "navigation_bar.favourites": "最愛的內容",
@ -243,7 +243,7 @@
"search_results.total": "{count, number} 項結果", "search_results.total": "{count, number} 項結果",
"standalone.public_title": "站點一瞥…", "standalone.public_title": "站點一瞥…",
"status.block": "封鎖 @{name}", "status.block": "封鎖 @{name}",
"status.cancel_reblog_private": "Unboost", "status.cancel_reblog_private": "取消轉推",
"status.cannot_reblog": "這篇文章無法被轉推", "status.cannot_reblog": "這篇文章無法被轉推",
"status.delete": "刪除", "status.delete": "刪除",
"status.direct": "私訊 @{name}", "status.direct": "私訊 @{name}",
@ -259,7 +259,7 @@
"status.pin": "置頂到資料頁", "status.pin": "置頂到資料頁",
"status.pinned": "置頂文章", "status.pinned": "置頂文章",
"status.reblog": "轉推", "status.reblog": "轉推",
"status.reblog_private": "Boost to original audience", "status.reblog_private": "轉推到原讀者",
"status.reblogged_by": "{name} 轉推", "status.reblogged_by": "{name} 轉推",
"status.reply": "回應", "status.reply": "回應",
"status.replyAll": "回應所有人", "status.replyAll": "回應所有人",
@ -283,7 +283,7 @@
"upload_button.label": "上載媒體檔案", "upload_button.label": "上載媒體檔案",
"upload_form.description": "為視覺障礙人士添加文字說明", "upload_form.description": "為視覺障礙人士添加文字說明",
"upload_form.focus": "裁切", "upload_form.focus": "裁切",
"upload_form.undo": "還原", "upload_form.undo": "刪除",
"upload_progress.label": "上載中……", "upload_progress.label": "上載中……",
"video.close": "關閉影片", "video.close": "關閉影片",
"video.exit_fullscreen": "退出全熒幕", "video.exit_fullscreen": "退出全熒幕",

View File

@ -10,9 +10,12 @@ function openWebCache() {
} }
function fetchRoot() { function fetchRoot() {
return fetch('/', { credentials: 'include' }); return fetch('/', { credentials: 'include', redirect: 'manual' });
} }
const firefox = navigator.userAgent.match(/Firefox\/(\d+)/);
const invalidOnlyIfCached = firefox && firefox[1] < 60;
// Cause a new version of a registered Service Worker to replace an existing one // Cause a new version of a registered Service Worker to replace an existing one
// that is already installed, and replace the currently active worker on open pages. // that is already installed, and replace the currently active worker on open pages.
self.addEventListener('install', function(event) { self.addEventListener('install', function(event) {
@ -28,14 +31,10 @@ self.addEventListener('fetch', function(event) {
const asyncResponse = fetchRoot(); const asyncResponse = fetchRoot();
const asyncCache = openWebCache(); const asyncCache = openWebCache();
event.respondWith(asyncResponse.then(response => { event.respondWith(asyncResponse.then(
if (response.ok) { response => asyncCache.then(cache => cache.put('/', response.clone()))
return asyncCache.then(cache => cache.put('/', response)) .then(() => response),
.then(() => response.clone()); () => asyncCache.then(cache => cache.match('/'))));
}
throw null;
}).catch(() => asyncCache.then(cache => cache.match('/'))));
} else if (url.pathname === '/auth/sign_out') { } else if (url.pathname === '/auth/sign_out') {
const asyncResponse = fetch(event.request); const asyncResponse = fetch(event.request);
const asyncCache = openWebCache(); const asyncCache = openWebCache();
@ -54,19 +53,22 @@ self.addEventListener('fetch', function(event) {
event.respondWith(openSystemCache().then(cache => { event.respondWith(openSystemCache().then(cache => {
return cache.match(event.request.url).then(cached => { return cache.match(event.request.url).then(cached => {
if (cached === undefined) { if (cached === undefined) {
return fetch(event.request).then(fetched => { const asyncResponse = invalidOnlyIfCached && event.request.cache === 'only-if-cached' ?
if (fetched.ok) { fetch(event.request, { cache: 'no-cache' }) : fetch(event.request);
const put = cache.put(event.request.url, fetched.clone());
return asyncResponse.then(response => {
if (response.ok) {
const put = cache.put(event.request.url, response.clone());
put.catch(() => freeStorage()); put.catch(() => freeStorage());
return put.then(() => { return put.then(() => {
freeStorage(); freeStorage();
return fetched; return response;
}); });
} }
return fetched; return response;
}); });
} }

View File

@ -184,7 +184,8 @@ export function putStatuses(records) {
export function freeStorage() { export function freeStorage() {
// navigator.storage is not present on: // navigator.storage is not present on:
// Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.100 Safari/537.36 Edge/16.16299 // Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.100 Safari/537.36 Edge/16.16299
return 'storage' in navigator && navigator.storage.estimate().then(({ quota, usage }) => { // estimate method is not present on Chrome 57.0.2987.98 on Linux.
return 'storage' in navigator && 'estimate' in navigator.storage && navigator.storage.estimate().then(({ quota, usage }) => {
if (usage + storageMargin < quota) { if (usage + storageMargin < quota) {
return null; return null;
} }

View File

@ -44,36 +44,25 @@ const getOrientation = (img, type = 'image/png') => new Promise(resolve => {
const processImage = (img, { width, height, orientation, type = 'image/png' }) => new Promise(resolve => { const processImage = (img, { width, height, orientation, type = 'image/png' }) => new Promise(resolve => {
const canvas = document.createElement('canvas'); const canvas = document.createElement('canvas');
[canvas.width, canvas.height] = orientation < 5 ? [width, height] : [height, width];
if (4 < orientation && orientation < 9) {
canvas.width = height;
canvas.height = width;
} else {
canvas.width = width;
canvas.height = height;
}
const context = canvas.getContext('2d'); const context = canvas.getContext('2d');
switch (orientation) { switch (orientation) {
case 2: case 2: context.transform(-1, 0, 0, 1, width, 0); break;
context.translate(width, 0); case 3: context.transform(-1, 0, 0, -1, width, height); break;
break; case 4: context.transform(1, 0, 0, -1, 0, height); break;
case 3: case 5: context.transform(0, 1, 1, 0, 0, 0); break;
context.translate(width, height); case 6: context.transform(0, 1, -1, 0, height, 0); break;
break; case 7: context.transform(0, -1, -1, 0, height, width); break;
case 4: case 8: context.transform(0, -1, 1, 0, 0, width); break;
context.translate(0, height);
break;
case 5:
context.rotate(0.5 * Math.PI);
context.translate(1, -1);
break;
case 6:
context.rotate(0.5 * Math.PI);
context.translate(0, -height);
break;
case 7:
context.rotate(0.5, Math.PI);
context.translate(width, -height);
break;
case 8:
context.rotate(-0.5, Math.PI);
context.translate(-width, 0);
break;
} }
context.drawImage(img, 0, 0, width, height); context.drawImage(img, 0, 0, width, height);

View File

@ -11,6 +11,8 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
if lock.acquired? if lock.acquired?
@status = find_existing_status @status = find_existing_status
process_status if @status.nil? process_status if @status.nil?
else
raise Mastodon::RaceConditionError
end end
end end

View File

@ -15,6 +15,8 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
@status = find_status(id) @status = find_status(id)
return [@status, false] unless @status.nil? return [@status, false] unless @status.nil?
@status = process_status @status = process_status
else
raise Mastodon::RaceConditionError
end end
end end

View File

@ -23,6 +23,8 @@ class ActivityPub::ProcessAccountService < BaseService
create_account if @account.nil? create_account if @account.nil?
update_account update_account
process_tags process_tags
else
raise Mastodon::RaceConditionError
end end
end end
@ -44,7 +46,6 @@ class ActivityPub::ProcessAccountService < BaseService
@account.protocol = :activitypub @account.protocol = :activitypub
@account.username = @username @account.username = @username
@account.domain = @domain @account.domain = @domain
@account.uri = @uri
@account.suspended = true if auto_suspend? @account.suspended = true if auto_suspend?
@account.silenced = true if auto_silence? @account.silenced = true if auto_silence?
@account.private_key = nil @account.private_key = nil
@ -67,6 +68,7 @@ class ActivityPub::ProcessAccountService < BaseService
@account.followers_url = @json['followers'] || '' @account.followers_url = @json['followers'] || ''
@account.featured_collection_url = @json['featured'] || '' @account.featured_collection_url = @json['featured'] || ''
@account.url = url || @uri @account.url = url || @uri
@account.uri = @uri
@account.display_name = @json['name'] || '' @account.display_name = @json['name'] || ''
@account.note = @json['summary'] || '' @account.note = @json['summary'] || ''
@account.locked = @json['manuallyApprovesFollowers'] || false @account.locked = @json['manuallyApprovesFollowers'] || false

View File

@ -23,6 +23,8 @@ class FetchLinkCardService < BaseService
if lock.acquired? if lock.acquired?
@card = PreviewCard.find_by(url: @url) @card = PreviewCard.find_by(url: @url)
process_url if @card.nil? || @card.updated_at <= 2.weeks.ago process_url if @card.nil? || @card.updated_at <= 2.weeks.ago
else
raise Mastodon::RaceConditionError
end end
end end

View File

@ -49,6 +49,8 @@ class ResolveAccountService < BaseService
else else
handle_ostatus handle_ostatus
end end
else
raise Mastodon::RaceConditionError
end end
end end

View File

@ -41,24 +41,24 @@ class UpdateRemoteProfileService < BaseService
account.header.destroy account.header.destroy
end end
save_emojis(account) if remote_profile.emojis.present? save_emojis if remote_profile.emojis.present?
end end
end end
def save_emojis(parent) def save_emojis
do_not_download = DomainBlock.find_by(domain: parent.account.domain)&.reject_media? do_not_download = DomainBlock.find_by(domain: account.domain)&.reject_media?
return if do_not_download return if do_not_download
remote_account.emojis.each do |link| remote_profile.emojis.each do |link|
next unless link['href'] && link['name'] next unless link['href'] && link['name']
shortcode = link['name'].delete(':') shortcode = link['name'].delete(':')
emoji = CustomEmoji.find_by(shortcode: shortcode, domain: parent.account.domain) emoji = CustomEmoji.find_by(shortcode: shortcode, domain: account.domain)
next unless emoji.nil? next unless emoji.nil?
emoji = CustomEmoji.new(shortcode: shortcode, domain: parent.account.domain) emoji = CustomEmoji.new(shortcode: shortcode, domain: account.domain)
emoji.image_remote_url = link['href'] emoji.image_remote_url = link['href']
emoji.save emoji.save
end end

View File

@ -0,0 +1 @@
{}

View File

@ -682,6 +682,7 @@ ca:
video: video:
one: "%{count} vídeo" one: "%{count} vídeo"
other: "%{count} vídeos" other: "%{count} vídeos"
boosted_from_html: Impulsat des de %{acct_link}
content_warning: 'Avís de contingut: %{warning}' content_warning: 'Avís de contingut: %{warning}'
disallowed_hashtags: disallowed_hashtags:
one: 'conté una etiqueta no permesa: %{tags}' one: 'conté una etiqueta no permesa: %{tags}'

View File

@ -0,0 +1 @@
{}

View File

@ -115,5 +115,6 @@ ca:
title: OAuth autorització requerida title: OAuth autorització requerida
scopes: scopes:
follow: seguir, blocar, desblocar i deixar de seguir comptes follow: seguir, blocar, desblocar i deixar de seguir comptes
push: rebre notificacions push del teu compte
read: llegir les dades del teu compte read: llegir les dades del teu compte
write: publicar en el teu nom write: publicar en el teu nom

View File

@ -115,5 +115,6 @@ gl:
title: Precisa autorización OAuth title: Precisa autorización OAuth
scopes: scopes:
follow: seguir, bloquear, desbloquear e deixar de seguir contas follow: seguir, bloquear, desbloquear e deixar de seguir contas
push: recibir notificatións tipo push para a súa conta
read: ler os datos da súa conta read: ler os datos da súa conta
write: publicar no seu nome write: publicar no seu nome

View File

@ -116,5 +116,6 @@ nl:
title: OAuth-autorisatie vereist title: OAuth-autorisatie vereist
scopes: scopes:
follow: accounts volgen, negeren en blokkeren follow: accounts volgen, negeren en blokkeren
push: ontvang pushmeldingen voor jouw account
read: berichten lezen read: berichten lezen
write: berichten plaatsen write: berichten plaatsen

View File

@ -115,5 +115,6 @@ oc:
title: Cal una autorizacion OAuth title: Cal una autorizacion OAuth
scopes: scopes:
follow: sègre, blocar, quitar de blocar e quitar de sègre de comptes follow: sègre, blocar, quitar de blocar e quitar de sègre de comptes
push: recebre las notificacions push per vòstre compte
read: legir las donadas de vòstre compte read: legir las donadas de vòstre compte
write: publicar per vos write: publicar per vos

View File

@ -115,5 +115,6 @@ pl:
title: Uwierzytelnienie OAuth jest wymagane title: Uwierzytelnienie OAuth jest wymagane
scopes: scopes:
follow: możliwość śledzenia, blokowania, usuwania blokad, anulowania śledzenia kont follow: możliwość śledzenia, blokowania, usuwania blokad, anulowania śledzenia kont
push: otrzymywanie powiadomień push dla Twojego konta
read: dostęp do odczytu danych konta read: dostęp do odczytu danych konta
write: możliwość publikowania wpisów w Twoim imieniu write: możliwość publikowania wpisów w Twoim imieniu

View File

@ -115,5 +115,6 @@ ru:
title: Требуется авторизация OAuth title: Требуется авторизация OAuth
scopes: scopes:
follow: подписываться, отписываться, блокировать и разблокировать аккаунты follow: подписываться, отписываться, блокировать и разблокировать аккаунты
push: принимать push-уведомления для Вашего аккаунта
read: читать данные Вашего аккаунта read: читать данные Вашего аккаунта
write: отправлять за Вас посты write: отправлять за Вас посты

View File

@ -115,5 +115,6 @@ sk:
title: Požadovaná OAuth autorizácia title: Požadovaná OAuth autorizácia
scopes: scopes:
follow: sledovať, blokovať, povoliť a zušiť sledovanie účtov follow: sledovať, blokovať, povoliť a zušiť sledovanie účtov
push: dostávaj oznámenia ohľadom tvojho účtu ako notifikácie na plochu
read: prezrieť dáta na vašom účete read: prezrieť dáta na vašom účete
write: poslať vo vašom mene write: poslať vo vašom mene

View File

@ -0,0 +1 @@
{}

View File

@ -115,5 +115,6 @@ zh-HK:
title: 需要 OAuth 授權 title: 需要 OAuth 授權
scopes: scopes:
follow: 關注、封鎖、解除封鎖及取消關注用戶 follow: 關注、封鎖、解除封鎖及取消關注用戶
push: 接收你的帳號的推送通知
read: 閱讀你的用戶資料 read: 閱讀你的用戶資料
write: 以你的名義發佈文章 write: 以你的名義發佈文章

View File

@ -682,6 +682,7 @@ gl:
video: video:
one: "%{count} vídeo" one: "%{count} vídeo"
other: "%{count} vídeos" other: "%{count} vídeos"
boosted_from_html: Promovida desde %{acct_link}
content_warning: 'Aviso sobre o contido: %{warning}' content_warning: 'Aviso sobre o contido: %{warning}'
disallowed_hashtags: disallowed_hashtags:
one: 'contiña unha etiqueta non permitida: %{tags}' one: 'contiña unha etiqueta non permitida: %{tags}'

View File

@ -49,6 +49,7 @@ ja:
reserved_username: このユーザー名は予約されています reserved_username: このユーザー名は予約されています
roles: roles:
admin: Admin admin: Admin
bot: Bot
moderator: Mod moderator: Mod
unfollow: フォロー解除 unfollow: フォロー解除
admin: admin:
@ -354,8 +355,8 @@ ja:
back_to_account: アカウントページに戻る back_to_account: アカウントページに戻る
batch: batch:
delete: 削除 delete: 削除
nsfw_off: 閲覧注意のマークを取り除く nsfw_off: 閲覧注意をはずす
nsfw_on: 閲覧注意としてマークする nsfw_on: 閲覧注意する
failed_to_execute: 実行に失敗しました failed_to_execute: 実行に失敗しました
media: media:
title: メディア title: メディア

View File

@ -49,6 +49,7 @@ ko:
reserved_username: 이 아이디는 예약되어 있습니다 reserved_username: 이 아이디는 예약되어 있습니다
roles: roles:
admin: 관리자 admin: 관리자
bot:
moderator: 모더레이터 moderator: 모더레이터
unfollow: 팔로우 해제 unfollow: 팔로우 해제
admin: admin:

View File

@ -682,6 +682,7 @@ nl:
video: video:
one: "%{count} video" one: "%{count} video"
other: "%{count} video's" other: "%{count} video's"
boosted_from_html: Geboost van %{acct_link}
content_warning: 'Tekstwaarschuwing: %{warning}' content_warning: 'Tekstwaarschuwing: %{warning}'
disallowed_hashtags: disallowed_hashtags:
one: 'bevatte een niet toegestane hashtag: %{tags}' one: 'bevatte een niet toegestane hashtag: %{tags}'

View File

@ -70,7 +70,7 @@ oc:
title: Cambiar ladreça a %{username} title: Cambiar ladreça a %{username}
confirm: Confirmar confirm: Confirmar
confirmed: Confirmat confirmed: Confirmat
confirming: Confirmando confirming: Confirmacion
demote: Retrogradar demote: Retrogradar
disable: Desactivar disable: Desactivar
disable_two_factor_authentication: Desactivar 2FA disable_two_factor_authentication: Desactivar 2FA
@ -79,7 +79,7 @@ oc:
domain: Domeni domain: Domeni
edit: Modificar edit: Modificar
email: Corrièl email: Corrièl
email_status: Estado del correo electrónico email_status: Estat de ladreça
enable: Activar enable: Activar
enabled: Activat enabled: Activat
feed_url: Flux URL feed_url: Flux URL
@ -119,15 +119,16 @@ oc:
redownload: Actualizar los avatars redownload: Actualizar los avatars
remove_avatar: Supriir lavatar remove_avatar: Supriir lavatar
resend_confirmation: resend_confirmation:
already_confirmed: Este usuario ya está confirmado already_confirmed: Aqueste utilizaire es ja confirmat
send: Reenviar el correo electrónico de confirmación send: Tornar mandar lo corrièl de confirmacion
success: "¡Correo electrónico de confirmación enviado con éxito!" success: Corrièl de confirmacion corrèctament mandat !
reset: Reïnicializar reset: Reïnicializar
reset_password: Reïnicializar lo senhal reset_password: Reïnicializar lo senhal
resubscribe: Se tornar abonar resubscribe: Se tornar abonar
role: Permissions role: Permissions
roles: roles:
admin: Administrator admin: Administrator
bot: Robòt
moderator: Moderador moderator: Moderador
staff: Personnal staff: Personnal
user: Uitlizaire user: Uitlizaire
@ -537,7 +538,7 @@ oc:
archive_takeout: archive_takeout:
date: Data date: Data
download: Telecargar vòstre archiu download: Telecargar vòstre archiu
hint_html: Podètz demandar un archiu de vòstres <strong>tuts e mèdias enviats</strong>. Las donadas exportadas seràn al format ActivityPub, ligible pels logicials compatibles. hint_html: Podètz demandar un archiu de vòstres <strong>tuts e mèdias enviats</strong>. Las donadas exportadas seràn al format ActivityPub, ligible pels logicials compatibles. Podètz demandar un archiu cada 7 jorns.
in_progress: Complilacion de vòstre archiu... in_progress: Complilacion de vòstre archiu...
request: Demandar vòstre archiu request: Demandar vòstre archiu
size: Talha size: Talha
@ -561,7 +562,7 @@ oc:
generic: generic:
changes_saved_msg: Cambiaments ben realizats! changes_saved_msg: Cambiaments ben realizats!
powered_by: propulsat per %{link} powered_by: propulsat per %{link}
save_changes: Salvagardar los cambiaments save_changes: Salvar los cambiaments
validation_errors: validation_errors:
one: I a quicòm que truca! Mercés de corregir lerror çai-jos one: I a quicòm que truca! Mercés de corregir lerror çai-jos
other: I a quicòm que truca! Mercés de corregir las %{count} errors çai-jos other: I a quicòm que truca! Mercés de corregir las %{count} errors çai-jos
@ -755,6 +756,7 @@ oc:
video: video:
one: "%{count} vidèo" one: "%{count} vidèo"
other: "%{count} vidèos" other: "%{count} vidèos"
boosted_from_html: Partejat de %{acct_link}
content_warning: 'Avertiment de contengut: %{warning}' content_warning: 'Avertiment de contengut: %{warning}'
disallowed_hashtags: disallowed_hashtags:
one: 'conten una etiqueta desactivada: %{tags}' one: 'conten una etiqueta desactivada: %{tags}'
@ -827,5 +829,6 @@ oc:
users: users:
invalid_email: Ladreça de corrièl es invalida invalid_email: Ladreça de corrièl es invalida
invalid_otp_token: Còdi dautentificacion en dos temps invalid invalid_otp_token: Còdi dautentificacion en dos temps invalid
otp_lost_help_html: Se perdatz laccès al dos, podètz benlèu contactar %{email}
seamless_external_login: Sètz connectat via un servici extèrn, los paramètres de senhal e de corrièl son doncas pas disponibles. seamless_external_login: Sètz connectat via un servici extèrn, los paramètres de senhal e de corrièl son doncas pas disponibles.
signed_in_as: 'Session a:' signed_in_as: 'Session a:'

View File

@ -36,8 +36,8 @@ pl:
what_is_mastodon: Czym jest Mastodon? what_is_mastodon: Czym jest Mastodon?
accounts: accounts:
follow: Śledź follow: Śledź
followers: Śledzących followers: Śledzący
following: Śledzi following: Śledzeni
media: Zawartość multimedialna media: Zawartość multimedialna
moved_html: "%{name} korzysta teraz z konta %{new_profile_link}:" moved_html: "%{name} korzysta teraz z konta %{new_profile_link}:"
nothing_here: Niczego tu nie ma! nothing_here: Niczego tu nie ma!
@ -49,6 +49,7 @@ pl:
reserved_username: Ta nazwa użytkownika jest zarezerwowana reserved_username: Ta nazwa użytkownika jest zarezerwowana
roles: roles:
admin: Administrator admin: Administrator
bot: Bot
moderator: Moderator moderator: Moderator
unfollow: Przestań śledzić unfollow: Przestań śledzić
admin: admin:
@ -694,7 +695,7 @@ pl:
your_apps: Twoje aplikacje your_apps: Twoje aplikacje
statuses: statuses:
attached: attached:
description: 'Przytwierdzony: %{attached}' description: 'Załączono: %{attached}'
image: image:
few: "%{count} obrazy" few: "%{count} obrazy"
many: "%{count} obrazów" many: "%{count} obrazów"
@ -705,6 +706,7 @@ pl:
many: "%{count} filmów" many: "%{count} filmów"
one: "%{count} film" one: "%{count} film"
other: "%{count} filmów" other: "%{count} filmów"
boosted_from_html: Podbito przez %{acct_link}
content_warning: 'Ostrzeżenie o zawartości: %{warning}' content_warning: 'Ostrzeżenie o zawartości: %{warning}'
disallowed_hashtags: disallowed_hashtags:
one: 'zawiera niedozwolony hashtag: %{tags}' one: 'zawiera niedozwolony hashtag: %{tags}'
@ -854,5 +856,6 @@ pl:
users: users:
invalid_email: Adres e-mail jest niepoprawny invalid_email: Adres e-mail jest niepoprawny
invalid_otp_token: Kod uwierzytelniający jest niepoprawny invalid_otp_token: Kod uwierzytelniający jest niepoprawny
otp_lost_help_html: Jeżeli utracisz dostęp do obu, możesz skontaktować się z %{email}
seamless_external_login: Zalogowano z użyciem zewnętrznej usługi, więc ustawienia hasła i adresu e-mail nie są dostępne. seamless_external_login: Zalogowano z użyciem zewnętrznej usługi, więc ustawienia hasła i adresu e-mail nie są dostępne.
signed_in_as: 'Zalogowany jako:' signed_in_as: 'Zalogowany jako:'

View File

@ -4,6 +4,7 @@ ru:
about_hashtag_html: Это публичные статусы, отмеченные хэштегом <strong>#%{hashtag}</strong>. Вы можете взаимодействовать с ними при наличии у Вас аккаунта в глобальной сети Mastodon. about_hashtag_html: Это публичные статусы, отмеченные хэштегом <strong>#%{hashtag}</strong>. Вы можете взаимодействовать с ними при наличии у Вас аккаунта в глобальной сети Mastodon.
about_mastodon_html: Mastodon - это <em>свободная</em> социальная сеть с <em>открытым исходным кодом</em>. Как <em>децентрализованная</em> альтернатива коммерческим платформам, Mastodon предотвращает риск монополизации Вашего общения одной компанией. Выберите сервер, которому Вы доверяете &mdash; что бы Вы ни выбрали, Вы сможете общаться со всеми остальными. Любой может запустить свой собственный узел Mastodon и участвовать в <em>социальной сети</em> совершенно бесшовно. about_mastodon_html: Mastodon - это <em>свободная</em> социальная сеть с <em>открытым исходным кодом</em>. Как <em>децентрализованная</em> альтернатива коммерческим платформам, Mastodon предотвращает риск монополизации Вашего общения одной компанией. Выберите сервер, которому Вы доверяете &mdash; что бы Вы ни выбрали, Вы сможете общаться со всеми остальными. Любой может запустить свой собственный узел Mastodon и участвовать в <em>социальной сети</em> совершенно бесшовно.
about_this: Об этом узле about_this: Об этом узле
administered_by: 'Администратор узла:'
closed_registrations: В данный момент регистрация на этом узле закрыта. closed_registrations: В данный момент регистрация на этом узле закрыта.
contact: Связаться contact: Связаться
contact_missing: Не установлено contact_missing: Не установлено
@ -48,6 +49,7 @@ ru:
reserved_username: Имя пользователя зарезервировано reserved_username: Имя пользователя зарезервировано
roles: roles:
admin: Администратор admin: Администратор
bot: Бот
moderator: Модератор moderator: Модератор
unfollow: Отписаться unfollow: Отписаться
admin: admin:
@ -58,7 +60,15 @@ ru:
destroyed_msg: Заметка модератора успешно удалена! destroyed_msg: Заметка модератора успешно удалена!
accounts: accounts:
are_you_sure: Вы уверены? are_you_sure: Вы уверены?
avatar: Аватар
by_domain: Домен by_domain: Домен
change_email:
changed_msg: E-mail аккаунта успешно изменён!
current_email: Текущий e-mail
label: Сменить e-mail
new_email: Новый e-mail
submit: Сменить e-mail
title: Сменить e-mail для %{username}
confirm: Подтвердить confirm: Подтвердить
confirmed: Подтверждено confirmed: Подтверждено
confirming: подтверждающий confirming: подтверждающий
@ -108,6 +118,7 @@ ru:
public: Публичный public: Публичный
push_subscription_expires: Подписка PuSH истекает push_subscription_expires: Подписка PuSH истекает
redownload: Обновить аватар redownload: Обновить аватар
remove_avatar: Удалить аватар
resend_confirmation: resend_confirmation:
already_confirmed: Этот пользователь уже подтвержден already_confirmed: Этот пользователь уже подтвержден
send: Повторно отправить подтверждение по электронной почте send: Повторно отправить подтверждение по электронной почте
@ -132,13 +143,16 @@ ru:
statuses: Статусы statuses: Статусы
subscribe: Подписаться subscribe: Подписаться
title: Аккаунты title: Аккаунты
unconfirmed_email: Неподтверждённый e-mail
undo_silenced: Снять глушение undo_silenced: Снять глушение
undo_suspension: Снять блокировку undo_suspension: Снять блокировку
unsubscribe: Отписаться unsubscribe: Отписаться
username: Имя пользователя username: Имя пользователя
web: WWW web: Веб
action_logs: action_logs:
actions: actions:
assigned_to_self_report: "%{name} назначил(а) жалобу %{target} на себя"
change_email_user: "%{name} сменил(а) e-mail пользователя %{target}"
confirm_user: "%{name} подтвердил(а) e-mail адрес пользователя %{target}" confirm_user: "%{name} подтвердил(а) e-mail адрес пользователя %{target}"
create_custom_emoji: "%{name} загрузил(а) новый эмодзи %{target}" create_custom_emoji: "%{name} загрузил(а) новый эмодзи %{target}"
create_domain_block: "%{name} заблокировал(а) домен %{target}" create_domain_block: "%{name} заблокировал(а) домен %{target}"
@ -154,10 +168,13 @@ ru:
enable_user: "%{name} включил(а) вход пользователя %{target}" enable_user: "%{name} включил(а) вход пользователя %{target}"
memorialize_account: "%{name} перевел(а) аккаунт пользователя %{target} в режим памятника" memorialize_account: "%{name} перевел(а) аккаунт пользователя %{target} в режим памятника"
promote_user: "%{name} повысил(а) пользователя %{target}" promote_user: "%{name} повысил(а) пользователя %{target}"
remove_avatar_user: "%{name} удалил(а) аватар пользователя %{target}"
reopen_report: "%{name} переоткрыл(а) жалобу %{target}"
reset_password_user: "%{name} сбросил(а) пароль пользователя %{target}" reset_password_user: "%{name} сбросил(а) пароль пользователя %{target}"
resolve_report: "%{name} dismissed report %{target}" resolve_report: "%{name} решил(а) жалобу %{target}"
silence_account: "%{name} заглушил(а) аккаунт %{target}" silence_account: "%{name} заглушил(а) аккаунт %{target}"
suspend_account: "%{name} заморозил(а) аккаунт %{target}" suspend_account: "%{name} заморозил(а) аккаунт %{target}"
unassigned_report: "%{name} сняла назначение жалобы %{target}"
unsilence_account: "%{name} снял(а) глушение аккаунта %{target}" unsilence_account: "%{name} снял(а) глушение аккаунта %{target}"
unsuspend_account: "%{name} разморозил(а) аккаунт %{target}" unsuspend_account: "%{name} разморозил(а) аккаунт %{target}"
update_custom_emoji: "%{name} обновил(а) эмодзи %{target}" update_custom_emoji: "%{name} обновил(а) эмодзи %{target}"
@ -245,24 +262,44 @@ ru:
expired: Истёкшие expired: Истёкшие
title: Фильтр title: Фильтр
title: Приглашения title: Приглашения
report_notes:
created_msg: Примечание жалобы создано!
destroyed_msg: Примечание жалобы удалено!
reports: reports:
account:
note: заметка
report: жалоба
action_taken_by: 'Действие предпринято:' action_taken_by: 'Действие предпринято:'
are_you_sure: Вы уверены? are_you_sure: Вы уверены?
assign_to_self: Назначить себе
assigned: Назначенный модератор
comment: comment:
none: Нет none: Нет
created_at: Создано
id: ID id: ID
mark_as_resolved: Отметить как разрешенную mark_as_resolved: Отметить как разрешенную
mark_as_unresolved: Отметить как неразрешённую
notes:
create: Добавить заметку
create_and_resolve: Разрешить с заметкой
create_and_unresolve: Переоткрыть с заметкой
delete: Удалить
placeholder: Опишите, какие действия были приняты, или любые другие подробности…
reopen: Переоткрыть жалобу
report: 'Жалоба #%{id}' report: 'Жалоба #%{id}'
report_contents: Содержимое report_contents: Содержимое
reported_account: Аккаунт нарушителя reported_account: Аккаунт нарушителя
reported_by: Отправитель жалобы reported_by: Отправитель жалобы
resolved: Разрешено resolved: Разрешено
resolved_msg: Жалоба успешно обработана!
silence_account: Заглушить аккаунт silence_account: Заглушить аккаунт
status: Статус status: Статус
suspend_account: Блокировать аккаунт suspend_account: Блокировать аккаунт
target: Цель target: Цель
title: Жалобы title: Жалобы
unassign: Снять назначение
unresolved: Неразрешенные unresolved: Неразрешенные
updated_at: Обновлена
view: Просмотреть view: Просмотреть
settings: settings:
activity_api_enabled: activity_api_enabled:
@ -339,6 +376,7 @@ ru:
admin_mailer: admin_mailer:
new_report: new_report:
body: "%{reporter} подал(а) жалобу на %{target}" body: "%{reporter} подал(а) жалобу на %{target}"
body_remote: Кто-то с узла %{domain} пожаловался на %{target}
subject: Новая жалоба, узел %{instance} (#%{id}) subject: Новая жалоба, узел %{instance} (#%{id})
application_mailer: application_mailer:
notification_preferences: Изменить настройки e-mail notification_preferences: Изменить настройки e-mail
@ -428,7 +466,7 @@ ru:
archive_takeout: archive_takeout:
date: Дата date: Дата
download: Скачать ваш архив download: Скачать ваш архив
hint_html: Вы можете запросить архив своих <strong>статусов и загруженных медиа-файлов</strong>. Экспортированные данные будут в формате ActivityPub, который можно прочесть любой соответствующей программой. hint_html: Вы можете запросить архив своих <strong>статусов и загруженных медиа-файлов</strong>. Экспортированные данные будут в формате ActivityPub, который можно прочесть любой соответствующей программой. Запрашивать архив можно каждые 7 дней.
in_progress: Собирается ваш архив... in_progress: Собирается ваш архив...
request: Запросить ваш архив request: Запросить ваш архив
size: Размер size: Размер
@ -444,6 +482,8 @@ ru:
lock_link: Закройте аккаунт lock_link: Закройте аккаунт
purge: Удалить из подписчиков purge: Удалить из подписчиков
success: success:
few: В процессе мягкой блокировки подписчиков с %{count} доменов...
many: В процессе мягкой блокировки подписчиков с %{count} доменов...
one: В процессе мягкой блокировки подписчиков с одного домена... one: В процессе мягкой блокировки подписчиков с одного домена...
other: В процессе мягкой блокировки подписчиков с %{count} доменов... other: В процессе мягкой блокировки подписчиков с %{count} доменов...
true_privacy_html: Пожалуйста, заметьте, что <strong>настоящая конфиденциальность может быть достигнута только при помощи end-to-end шифрования</strong>. true_privacy_html: Пожалуйста, заметьте, что <strong>настоящая конфиденциальность может быть достигнута только при помощи end-to-end шифрования</strong>.
@ -454,6 +494,8 @@ ru:
powered_by: работает на %{link} powered_by: работает на %{link}
save_changes: Сохранить изменения save_changes: Сохранить изменения
validation_errors: validation_errors:
few: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже
many: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже
one: Что-то здесь не так! Пожалуйста, прочитайте об ошибке ниже one: Что-то здесь не так! Пожалуйста, прочитайте об ошибке ниже
other: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже other: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже
imports: imports:
@ -549,7 +591,7 @@ ru:
units: units:
billion: млрд billion: млрд
million: млн million: млн
quadrillion: Q quadrillion: квадрлн
thousand: тыс thousand: тыс
trillion: трлн trillion: трлн
unit: '' unit: ''
@ -583,6 +625,10 @@ ru:
missing_resource: Поиск требуемого перенаправления URL для Вашего аккаунта завершился неудачей missing_resource: Поиск требуемого перенаправления URL для Вашего аккаунта завершился неудачей
proceed: Продолжить подписку proceed: Продолжить подписку
prompt: 'Вы хотите подписаться на:' prompt: 'Вы хотите подписаться на:'
remote_unfollow:
error: Ошибка
title: Заголовок
unfollowed: Отписаны
sessions: sessions:
activity: Последняя активность activity: Последняя активность
browser: Браузер browser: Браузер
@ -652,7 +698,13 @@ ru:
many: "%{count} видео" many: "%{count} видео"
one: "%{count} видео" one: "%{count} видео"
other: "%{count} видео" other: "%{count} видео"
boosted_from_html: Продвижение польз. %{acct_link}
content_warning: 'Спойлер: %{warning}' content_warning: 'Спойлер: %{warning}'
disallowed_hashtags:
few: 'содержались запрещённые хэштеги: %{tags}'
many: 'содержались запрещённые хэштеги: %{tags}'
one: 'содержался запрещённый хэштег: %{tags}'
other: 'содержались запрещённые хэштеги: %{tags}'
open_in_web: Открыть в WWW open_in_web: Открыть в WWW
over_character_limit: превышен лимит символов (%{max}) over_character_limit: превышен лимит символов (%{max})
pin_errors: pin_errors:
@ -675,8 +727,86 @@ ru:
reblogged: продвинул(а) reblogged: продвинул(а)
sensitive_content: Чувствительный контент sensitive_content: Чувствительный контент
terms: terms:
body_html: |
<h2>Privacy Policy</h2>
<h3 id="collect">What information do we collect?</h3>
<ul>
<li><em>Basic account information</em>: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.</li>
<li><em>Posts, following and other public information</em>: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.</li>
<li><em>Direct and followers-only posts</em>: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. <em>Please keep in mind that the operators of the server and any receiving server may view such messages</em>, and that recipients may screenshot, copy or otherwise re-share them. <em>Do not share any dangerous information over Mastodon.</em></li>
<li><em>IPs and other metadata</em>: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.</li>
</ul>
<hr class="spacer" />
<h3 id="use">What do we use your information for?</h3>
<p>Any of the information we collect from you may be used in the following ways:</p>
<ul>
<li>To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.</li>
<li>To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.</li>
<li>The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.</li>
</ul>
<hr class="spacer" />
<h3 id="protect">How do we protect your information?</h3>
<p>We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may enable two-factor authentication to further secure access to your account.</p>
<hr class="spacer" />
<h3 id="data-retention">What is our data retention policy?</h3>
<p>We will make a good faith effort to:</p>
<ul>
<li>Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 90 days.</li>
<li>Retain the IP addresses associated with registered users no more than 12 months.</li>
</ul>
<p>You can request and download an archive of your content, including your posts, media attachments, profile picture, and header image.</p>
<p>You may irreversibly delete your account at any time.</p>
<hr class="spacer"/>
<h3 id="cookies">Do we use cookies?</h3>
<p>Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.</p>
<p>We use cookies to understand and save your preferences for future visits.</p>
<hr class="spacer" />
<h3 id="disclose">Do we disclose any information to outside parties?</h3>
<p>We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety.</p>
<p>Your public content may be downloaded by other servers in the network. Your public and followers-only posts are delivered to the servers where your followers reside, and direct messages are delivered to the servers of the recipients, in so far as those followers or recipients reside on a different server than this.</p>
<p>When you authorize an application to use your account, depending on the scope of permissions you approve, it may access your public profile information, your following list, your followers, your lists, all your posts, and your favourites. Applications can never access your e-mail address or password.</p>
<hr class="spacer" />
<h3 id="coppa">Children's Online Privacy Protection Act Compliance</h3>
<p>Our site, products and services are all directed to people who are at least 13 years old. If this server is in the USA, and you are under the age of 13, per the requirements of COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection Act</a>) do not use this site.</p>
<hr class="spacer" />
<h3 id="changes">Changes to our Privacy Policy</h3>
<p>If we decide to change our privacy policy, we will post those changes on this page.</p>
<p>This document is CC-BY-SA. It was last updated March 7, 2018.</p>
<p>Originally adapted from the <a href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
title: Условия обслуживания и политика конфиденциальности %{instance} title: Условия обслуживания и политика конфиденциальности %{instance}
themes: themes:
contrast: Высококонтрастная
default: Mastodon default: Mastodon
time: time:
formats: formats:
@ -722,6 +852,7 @@ ru:
title: Добро пожаловать на борт, %{name}! title: Добро пожаловать на борт, %{name}!
users: users:
invalid_email: Введенный e-mail неверен invalid_email: Введенный e-mail неверен
invalid_otp_token: Введен неверный код invalid_otp_token: Введен неверный код двухфакторной аутентификации
otp_lost_help_html: Если Вы потеряли доступ к обоим, свяжитесь с %{email}
seamless_external_login: Вы залогинены через сторонний сервис, поэтому настройки e-mail и пароля недоступны. seamless_external_login: Вы залогинены через сторонний сервис, поэтому настройки e-mail и пароля недоступны.
signed_in_as: 'Выполнен вход под именем:' signed_in_as: 'Выполнен вход под именем:'

View File

@ -6,15 +6,9 @@ ar:
avatar: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير 2MB. سيتم تصغيره إلى 400x400px avatar: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير 2MB. سيتم تصغيره إلى 400x400px
bot: يُعلِم أنّ هذا الحساب لا يمثل شخصًا bot: يُعلِم أنّ هذا الحساب لا يمثل شخصًا
digest: تُرسَل إليك بعد مُضيّ مدة مِن خمول نشاطك و فقط إذا ما تلقيت رسائل شخصية مباشِرة أثناء فترة غيابك مِن الشبكة digest: تُرسَل إليك بعد مُضيّ مدة مِن خمول نشاطك و فقط إذا ما تلقيت رسائل شخصية مباشِرة أثناء فترة غيابك مِن الشبكة
display_name:
one: <span class="name-counter">1</span> حرف باقي
other: <span class="name-counter">%{count}</span> حروف متبقية
fields: يُمكنك عرض 4 عناصر على شكل جدول في ملفك الشخصي fields: يُمكنك عرض 4 عناصر على شكل جدول في ملفك الشخصي
header: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير 2MB. سيتم تصغيره إلى 700x335px header: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير 2MB. سيتم تصغيره إلى 700x335px
locked: يتطلب منك الموافقة يدويا على طلبات المتابعة locked: يتطلب منك الموافقة يدويا على طلبات المتابعة
note:
one: <span class="note-counter">1</span> حرف متبقي
other: <span class="note-counter">%{count}</span> حروف متبقية
setting_noindex: ذلك يؤثر على حالة ملفك الشخصي و صفحاتك setting_noindex: ذلك يؤثر على حالة ملفك الشخصي و صفحاتك
setting_theme: ذلك يؤثر على الشكل الذي سيبدو عليه ماستدون عندما تقوم بالدخول مِن أي جهاز. setting_theme: ذلك يؤثر على الشكل الذي سيبدو عليه ماستدون عندما تقوم بالدخول مِن أي جهاز.
imports: imports:

View File

@ -4,7 +4,7 @@ en:
hints: hints:
defaults: defaults:
avatar: PNG, GIF or JPG. At most 2MB. Will be downscaled to 400x400px avatar: PNG, GIF or JPG. At most 2MB. Will be downscaled to 400x400px
bot: Warns people that the account does not represent a person bot: This account mainly performs automated actions and might not be monitored
digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence
display_name: display_name:
one: <span class="name-counter">1</span> character left one: <span class="name-counter">1</span> character left

View File

@ -4,6 +4,7 @@ it:
hints: hints:
defaults: defaults:
avatar: PNG, GIF o JPG. Al massimo 2MB. Verranno scalate a 400x400px avatar: PNG, GIF o JPG. Al massimo 2MB. Verranno scalate a 400x400px
bot: Avverte che l'account non rappresenta una persona
digest: Inviata solo dopo un lungo periodo di intattività e solo se hai ricevuto qualsiasi messaggio personale in tua assenza digest: Inviata solo dopo un lungo periodo di intattività e solo se hai ricevuto qualsiasi messaggio personale in tua assenza
display_name: display_name:
one: <span class="name-counter">1</span> carattere rimanente one: <span class="name-counter">1</span> carattere rimanente
@ -19,7 +20,7 @@ it:
imports: imports:
data: File CSV esportato da un altra istanza di Mastodon data: File CSV esportato da un altra istanza di Mastodon
sessions: sessions:
otp: Inserisci il codice due-fattori dal tuo telefono o usa uno dei codici di recupero. otp: 'Inserisci il codice a due fattori generato dall''app del tuo telefono o usa uno dei codici di recupero:'
user: user:
filtered_languages: Le lingue selezionate verranno filtrate dalla timeline pubblica per te filtered_languages: Le lingue selezionate verranno filtrate dalla timeline pubblica per te
labels: labels:
@ -29,6 +30,7 @@ it:
value: Contenuto value: Contenuto
defaults: defaults:
avatar: Avatar avatar: Avatar
bot: Questo account è un bot
confirm_new_password: Conferma nuova password confirm_new_password: Conferma nuova password
confirm_password: Conferma password confirm_password: Conferma password
current_password: Password corrente current_password: Password corrente

View File

@ -3,12 +3,12 @@ ja:
simple_form: simple_form:
hints: hints:
defaults: defaults:
avatar: 2MBまでのPNGGIF、JPGが利用可能です。400x400pxまで縮小されます avatar: 2MBまでのPNGGIF、JPGが利用可能です。400x400pxまで縮小されます
bot: アカウントが人を表すものではないことを表示します bot: アカウントが人を表すものではないことを表示します
digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます
display_name: あと<span class="name-counter">%{count}</span>文字入力できます。 display_name: あと<span class="name-counter">%{count}</span>文字入力できます。
fields: プロフィールに表として4つまでの項目を表示することができます fields: プロフィールに表として4つまでの項目を表示することができます
header: 2MBまでのPNGGIF、JPGが利用可能です。 700x335pxまで縮小されます header: 2MBまでのPNGGIF、JPGが利用可能です。 700x335pxまで縮小されます
locked: フォロワーを手動で承認する必要があります locked: フォロワーを手動で承認する必要があります
note: あと<span class="note-counter">%{count}</span>文字入力できます。 note: あと<span class="note-counter">%{count}</span>文字入力できます。
setting_noindex: 公開プロフィールおよび各投稿ページに影響します setting_noindex: 公開プロフィールおよび各投稿ページに影響します

View File

@ -4,6 +4,7 @@ ko:
hints: hints:
defaults: defaults:
avatar: PNG, GIF 혹은 JPG. 최대 2MB. 400x400px로 다운스케일 될 것임 avatar: PNG, GIF 혹은 JPG. 최대 2MB. 400x400px로 다운스케일 될 것임
bot: 사람들에게 계정이 사람이 아님을 알립니다
digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기 digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기
display_name: display_name:
one: <span class="name-counter">1</span> 글자 남음 one: <span class="name-counter">1</span> 글자 남음
@ -19,7 +20,7 @@ ko:
imports: imports:
data: 다른 마스토돈 인스턴스에서 추출된 CSV 파일 data: 다른 마스토돈 인스턴스에서 추출된 CSV 파일
sessions: sessions:
otp: 2단계 인증 코드를 휴대전화를 보고 입력하거나, 복구 코드 중 하나를 사용하세요. otp: '휴대전화에서 생성 된 2단계 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:'
user: user:
filtered_languages: 선택된 언어가 공개 타임라인에서 제외 될 것입니다 filtered_languages: 선택된 언어가 공개 타임라인에서 제외 될 것입니다
labels: labels:
@ -29,6 +30,7 @@ ko:
value: 내용 value: 내용
defaults: defaults:
avatar: 아바타 avatar: 아바타
bot: 이것은 봇 계정입니다
confirm_new_password: 새로운 비밀번호 다시 입력 confirm_new_password: 새로운 비밀번호 다시 입력
confirm_password: 현재 비밀번호 다시 입력 confirm_password: 현재 비밀번호 다시 입력
current_password: 현재 비밀번호 입력 current_password: 현재 비밀번호 입력

View File

@ -4,6 +4,7 @@ oc:
hints: hints:
defaults: defaults:
avatar: PNG, GIF o JPG. Maximum 2 Mo. Serà retalhat en 400x400px avatar: PNG, GIF o JPG. Maximum 2 Mo. Serà retalhat en 400x400px
bot: Avisar lo monde quaqueste compte es pas duna persona
digest: Solament enviat aprèp un long moment dinactivitat e solament savètz recebut de messatges personals pendent vòstra abséncia digest: Solament enviat aprèp un long moment dinactivitat e solament savètz recebut de messatges personals pendent vòstra abséncia
display_name: display_name:
one: Demòra encara <span class="name-counter">1</span> caractèr one: Demòra encara <span class="name-counter">1</span> caractèr
@ -19,7 +20,7 @@ oc:
imports: imports:
data: Fichièr CSV exportat duna autra instància Mastodon data: Fichièr CSV exportat duna autra instància Mastodon
sessions: sessions:
otp: Picatz lo còdi dautentificacion en dos temps (Two factor code) de vòstre mobil o utilizatz un de vòstres còdis de recuperacion. otp: 'Picatz lo còdi dautentificacion en dos temps (Two factor code) de vòstra aplicacion mobil o utilizatz un de vòstres còdis de recuperacion :'
user: user:
filtered_languages: Las lengas seleccionadas seràn levadas de vòstre flux dactualitat filtered_languages: Las lengas seleccionadas seràn levadas de vòstre flux dactualitat
labels: labels:
@ -29,6 +30,7 @@ oc:
value: Contengut value: Contengut
defaults: defaults:
avatar: Avatar avatar: Avatar
bot: Aquò es lo compte a un robòt
confirm_new_password: Confirmacion del nòu senhal confirm_new_password: Confirmacion del nòu senhal
confirm_password: Confirmatz lo nòu senhal confirm_password: Confirmatz lo nòu senhal
current_password: Senhal actual current_password: Senhal actual

View File

@ -4,6 +4,7 @@ ru:
hints: hints:
defaults: defaults:
avatar: PNG, GIF или JPG. Максимально 2MB. Будет уменьшено до 400x400px avatar: PNG, GIF или JPG. Максимально 2MB. Будет уменьшено до 400x400px
bot: Этот аккаунт обычно выполяет автоматизированные действия и может не просматриваться владельцем
digest: Отсылается лишь после длительной неактивности, если Вы в это время получали личные сообщения digest: Отсылается лишь после длительной неактивности, если Вы в это время получали личные сообщения
display_name: display_name:
few: Осталось <span class="name-counter">%{count}</span> символа few: Осталось <span class="name-counter">%{count}</span> символа
@ -33,6 +34,7 @@ ru:
value: Значение value: Значение
defaults: defaults:
avatar: Аватар avatar: Аватар
bot: Это аккаунт бота
confirm_new_password: Повторите новый пароль confirm_new_password: Повторите новый пароль
confirm_password: Повторите пароль confirm_password: Повторите пароль
current_password: Текущий пароль current_password: Текущий пароль

View File

@ -58,7 +58,7 @@ sk:
setting_reduce_motion: Redukovať pohyb v animáciách setting_reduce_motion: Redukovať pohyb v animáciách
setting_system_font_ui: Použiť základné systémové písmo setting_system_font_ui: Použiť základné systémové písmo
setting_theme: Vzhľad stránky setting_theme: Vzhľad stránky
setting_unfollow_modal: Zobrazovať potvrdzovacie okno pred skončením sledovania iného používateľa setting_unfollow_modal: Zobraziť potvrdzovacie okno pred skončením sledovania iného užívateľa
severity: Závažnosť severity: Závažnosť
type: Typ importu type: Typ importu
username: Užívateľská prezývka username: Užívateľská prezývka

View File

@ -0,0 +1,15 @@
---
sl:
simple_form:
hints:
defaults:
avatar: PNG, GIF ali JPG. Največ 2MB. Zmanjšana bo na 400x400px
bot: Opozarja ljudi, da račun ne predstavlja osebe
digest: Pošlje se le po dolgem obdobju nedejavnosti in samo, če ste prejeli osebna sporočila v vaši odsotnosti
display_name:
one: <span class="name-counter">1</span> znak ostane
other: <span class="name-counter">%{count}</span> znakov ostane
fields: Na svojem profilu lahko imate do 4 predmete prikazane kot tabelo.
header: PNG, GIF ali JPG. Največ 2MB. Zmanjšana bo na 700x335px
imports:
data: Izvožena CSV datoteka iz drugega Mastodon vozlišča

View File

@ -4,6 +4,7 @@ zh-HK:
hints: hints:
defaults: defaults:
avatar: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 2MB會縮裁成 400x400px avatar: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 2MB會縮裁成 400x400px
bot: 提醒用戶本帳號是機械人
digest: 僅在你長時間未登錄,且收到了私信時發送 digest: 僅在你長時間未登錄,且收到了私信時發送
display_name: display_name:
one: 尚餘 <span class="name-counter">1</span> 個字 one: 尚餘 <span class="name-counter">1</span> 個字
@ -29,6 +30,7 @@ zh-HK:
value: 內容 value: 內容
defaults: defaults:
avatar: 個人頭像 avatar: 個人頭像
bot: 這帳號是機械人
confirm_new_password: 確認新密碼 confirm_new_password: 確認新密碼
confirm_password: 確認密碼 confirm_password: 確認密碼
current_password: 目前密碼 current_password: 目前密碼

View File

@ -728,5 +728,6 @@ sk:
users: users:
invalid_email: Emailová adresa je neplatná invalid_email: Emailová adresa je neplatná
invalid_otp_token: Neplatný kód pre dvojfaktorovú autentikáciu invalid_otp_token: Neplatný kód pre dvojfaktorovú autentikáciu
otp_lost_help_html: Pokiaľ si stratil/a prístup k obom, môžeš dať vedieť %{email}
seamless_external_login: Si prihlásená/ý cez externú službu, takže nastavenia hesla a emailu ti niesú prístupné. seamless_external_login: Si prihlásená/ý cez externú službu, takže nastavenia hesla a emailu ti niesú prístupné.
signed_in_as: 'Prihlásený ako:' signed_in_as: 'Prihlásený ako:'

View File

@ -1,7 +1,9 @@
--- ---
sl: sl:
about: about:
about_hashtag_html: To so javni tuti, označeni z <strong>#%{hashtag}</strong>. Z njimi se lahko povežete, če imate račun kjerkoli v fediversu.
about_mastodon_html: Mastodon je socialno omrežje, ki temelji na odprtih spletnih protokolih in prosti ter odprtokodni programski opremi. Je decentraliziran, kot e-pošta. about_mastodon_html: Mastodon je socialno omrežje, ki temelji na odprtih spletnih protokolih in prosti ter odprtokodni programski opremi. Je decentraliziran, kot e-pošta.
about_this: O Mastodonu
administered_by: 'Upravlja:' administered_by: 'Upravlja:'
closed_registrations: Registracije so trenutno zaprte na tem vozlišču. Vendar! Tukaj lahko najdete druga vozlišča, na katerih se prijavite in dostopate do istega omrežja od tam. closed_registrations: Registracije so trenutno zaprte na tem vozlišču. Vendar! Tukaj lahko najdete druga vozlišča, na katerih se prijavite in dostopate do istega omrežja od tam.
contact: Kontakt contact: Kontakt
@ -17,6 +19,9 @@ sl:
humane_approach_title: Bolj human pristop humane_approach_title: Bolj human pristop
not_a_product_title: Ti si oseba, ne izdelek not_a_product_title: Ti si oseba, ne izdelek
real_conversation_title: Zgrajen za pravi pogovor real_conversation_title: Zgrajen za pravi pogovor
within_reach_title: Vedno na dosegu roke
generic_description: "%{domain} je en strežnik v omrežju"
hosted_on: Mastodon gostuje na %{domain}
learn_more: Spoznaj več learn_more: Spoznaj več
other_instances: Seznam vozlišč other_instances: Seznam vozlišč
source_code: Izvorna koda source_code: Izvorna koda
@ -28,20 +33,72 @@ sl:
accounts: accounts:
follow: Sledi follow: Sledi
followers: Sledilci followers: Sledilci
following: Sledim
media: Medij media: Medij
moved_html: "%{name} se je prestavil na %{new_profile_link}:" moved_html: "%{name} se je prestavil na %{new_profile_link}:"
nothing_here: Nič ni tukaj! nothing_here: Nič ni tukaj!
people_followed_by: Ljudje, ki jim sledi %{name} people_followed_by: Ljudje, ki jim sledi %{name}
people_who_follow: Ljudje, ki sledijo %{name} people_who_follow: Ljudje, ki sledijo %{name}
posts: Tuti
posts_with_replies: Tuti in odgovori
remote_follow: Oddaljeno sledenje remote_follow: Oddaljeno sledenje
reserved_username: Uporabniško ime je zasedeno reserved_username: Uporabniško ime je zasedeno
roles: roles:
admin: Skrbnik admin: Skrbnik
bot: Robot
moderator: Mod
unfollow: Prenehaj slediti
admin: admin:
account_moderation_notes: account_moderation_notes:
create: Pusti sporočilo create: Pusti sporočilo
created_msg: Uspešno ustvarjena opomba moderiranja!
delete: Izbriši delete: Izbriši
accounts: accounts:
are_you_sure: Ali si prepričan? are_you_sure: Ali si prepričan?
avatar: Avatar avatar: Avatar
by_domain: Domena by_domain: Domena
change_email:
changed_msg: E-pošta računa je uspešno spremenjena!
current_email: Trenutna E-pošta
label: Spremeni E-pošto
new_email: Nova E-pošta
submit: Spremeni E-pošto
title: Spremeni E-pošto za %{username}
confirm: Potrdi
confirmed: Potrjeno
confirming: Potrjujem
disable: Onemogoči
disable_two_factor_authentication: Onemogoči 2FA
disabled: Onemogočeno
domain: Domena
edit: Uredi
email: E-pošta
email_status: Stanje E-pošte
enable: Omogoči
enabled: Omogočeno
feed_url: URL vir
followers: Sledilci
followers_url: URL sledilci
follows: Sledi
inbox_url: URl v mapi "Prejeto"
ip: IP
location:
all: Vse
local: Lokalno
remote: Oddaljeni
title: Lokacija
login_status: Stanje prijave
media_attachments: Medijske priloge
memorialize: Spremenite v spomin
moderation:
all: Vse
silenced: Utišan
suspended: Suspendiran
title: Moderiranje
moderation_notes: Opombe moderiranja
most_recent_activity: Zadnja aktivnost
most_recent_ip: Zadnji IP
order:
alphabetic: Po abecedi
most_recent: Najnovejše
title: Red

View File

@ -49,11 +49,12 @@ zh-HK:
reserved_username: 此用戶名已被保留 reserved_username: 此用戶名已被保留
roles: roles:
admin: 管理員 admin: 管理員
bot: 機械人
moderator: 監察员 moderator: 監察员
unfollow: 取消關注 unfollow: 取消關注
admin: admin:
account_moderation_notes: account_moderation_notes:
create: 新增 create: 記錄
created_msg: 管理記錄已新增 created_msg: 管理記錄已新增
delete: 刪除 delete: 刪除
destroyed_msg: 管理記錄已被刪除 destroyed_msg: 管理記錄已被刪除
@ -82,7 +83,7 @@ zh-HK:
email_status: 电子邮件状态 email_status: 电子邮件状态
enable: 啟用 enable: 啟用
enabled: 已啟用 enabled: 已啟用
feed_url: Feed URL feed_url: 訂閱 URL
followers: 關注者 followers: 關注者
followers_url: 關注者FollowersURL followers_url: 關注者FollowersURL
follows: 正在關注 follows: 正在關注
@ -463,7 +464,7 @@ zh-HK:
archive_takeout: archive_takeout:
date: 日期 date: 日期
download: 下載檔案 download: 下載檔案
hint_html: 你可以下載包含你的<strong>文章和媒體</strong>的檔案。資料以 ActivityPub 格式儲存,可用於相容的軟體。 hint_html: 你可以下載包含你的<strong>文章和媒體</strong>的檔案。資料以 ActivityPub 格式儲存,可用於相容的軟體。你可以每七天下載一次。
in_progress: 檔案製作中... in_progress: 檔案製作中...
request: 下載檔案 request: 下載檔案
size: 檔案大小 size: 檔案大小
@ -678,7 +679,8 @@ zh-HK:
video: video:
one: "%{count} 段影片" one: "%{count} 段影片"
other: "%{count} 段影片" other: "%{count} 段影片"
content_warning: 'Content warning: %{warning}' boosted_from_html: 轉推自 %{acct_link}
content_warning: 內容警告: %{warning}
disallowed_hashtags: disallowed_hashtags:
one: 包含不允許的標籤: %{tags} one: 包含不允許的標籤: %{tags}
other: 包含不允許的標籤: %{tags} other: 包含不允許的標籤: %{tags}
@ -753,5 +755,6 @@ zh-HK:
users: users:
invalid_email: 電郵地址格式不正確 invalid_email: 電郵地址格式不正確
invalid_otp_token: 雙重認證確認碼不正確 invalid_otp_token: 雙重認證確認碼不正確
otp_lost_help_html: 如果你無法訪問這兩者,可以通過 %{email} 與我們聯繫。
seamless_external_login: 由於你是從外部系統登入,所以不能設定密碼和電郵。 seamless_external_login: 由於你是從外部系統登入,所以不能設定密碼和電郵。
signed_in_as: 目前登入的帳戶: signed_in_as: 目前登入的帳戶: