Merge commit '12c22ee5e71ae0220ea10199e4d10deb4140ec44' into glitch-soc/merge-upstream

th-downstream
Claire 11 months ago
commit d288a6162a

@ -227,7 +227,7 @@ jobs:
path: tmp/screenshots/
test-search:
name: Testing search
name: Elastic Search integration testing
runs-on: ubuntu-latest
needs:
@ -314,7 +314,7 @@ jobs:
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
- run: bundle exec rake spec:search
- run: bin/rspec --tag search
- name: Archive logs
uses: actions/upload-artifact@v3

@ -38,6 +38,7 @@ RUN apt-get update && \
corepack enable
COPY Gemfile* package.json yarn.lock .yarnrc.yml /opt/mastodon/
COPY streaming/package.json /opt/mastodon/streaming/
COPY .yarn /opt/mastodon/.yarn
RUN bundle install -j"$(nproc)"

@ -109,6 +109,9 @@ group :test do
# RSpec progress bar formatter
gem 'fuubar', '~> 2.5'
# RSpec helpers for email specs
gem 'email_spec'
# Extra RSpec extenion methods and helpers for sidekiq
gem 'rspec-sidekiq', '~> 4.0'

@ -260,6 +260,10 @@ GEM
elasticsearch-transport (7.13.3)
faraday (~> 1)
multi_json
email_spec (2.2.2)
htmlentities (~> 4.3.3)
launchy (~> 2.1)
mail (~> 2.7)
encryptor (3.0.0)
erubi (1.12.0)
et-orbi (1.2.7)
@ -529,7 +533,7 @@ GEM
private_address_check (0.5.0)
psych (5.1.1.1)
stringio
public_suffix (5.0.3)
public_suffix (5.0.4)
puma (6.4.0)
nio4r (~> 2.0)
pundit (2.3.1)
@ -669,10 +673,11 @@ GEM
rubocop-performance (1.19.1)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
rubocop-rails (2.22.1)
rubocop-rails (2.22.2)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rspec (2.25.0)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
@ -853,6 +858,7 @@ DEPENDENCIES
doorkeeper (~> 5.6)
dotenv-rails (~> 2.8)
ed25519 (~> 1.3)
email_spec
fabrication (~> 2.30)
faker (~> 3.2)
fast_blank (~> 1.0)

@ -5,8 +5,8 @@ import { useIntl, defineMessages, FormattedMessage } from 'react-intl';
import classNames from 'classnames';
import { useHistory } from 'react-router-dom';
import { useDispatch } from 'react-redux';
import { useDispatch } from 'react-redux';
import { ReactComponent as AddPhotoAlternateIcon } from '@material-symbols/svg-600/outlined/add_photo_alternate.svg';
import { ReactComponent as EditIcon } from '@material-symbols/svg-600/outlined/edit.svg';
@ -33,7 +33,6 @@ export const Profile = () => {
const [avatar, setAvatar] = useState(null);
const [header, setHeader] = useState(null);
const [discoverable, setDiscoverable] = useState(account.get('discoverable'));
const [indexable, setIndexable] = useState(account.get('indexable'));
const [isSaving, setIsSaving] = useState(false);
const [errors, setErrors] = useState();
const avatarFileRef = createRef();
@ -54,10 +53,6 @@ export const Profile = () => {
setDiscoverable(e.target.checked);
}, [setDiscoverable]);
const handleIndexableChange = useCallback(e => {
setIndexable(e.target.checked);
}, [setIndexable]);
const handleAvatarChange = useCallback(e => {
setAvatar(e.target?.files?.[0]);
}, [setAvatar]);
@ -78,12 +73,12 @@ export const Profile = () => {
avatar,
header,
discoverable,
indexable,
indexable: discoverable,
})).then(() => history.push('/start/follows')).catch(err => {
setIsSaving(false);
setErrors(err.response.data.details);
});
}, [dispatch, displayName, note, avatar, header, discoverable, indexable, history]);
}, [dispatch, displayName, note, avatar, header, discoverable, history]);
return (
<>
@ -141,17 +136,20 @@ export const Profile = () => {
<textarea id='note' value={note} onChange={handleNoteChange} maxLength={500} />
</div>
</div>
</div>
<label className='report-dialog-modal__toggle'>
<Toggle checked={discoverable} onChange={handleDiscoverableChange} />
<FormattedMessage id='onboarding.profile.discoverable' defaultMessage='Feature profile and posts in discovery algorithms' />
</label>
<label className='app-form__toggle'>
<div className='app-form__toggle__label'>
<strong><FormattedMessage id='onboarding.profile.discoverable' defaultMessage='Make my profile discoverable' /></strong> <span className='recommended'><FormattedMessage id='recommended' defaultMessage='Recommended' /></span>
<span className='hint'><FormattedMessage id='onboarding.profile.discoverable_hint' defaultMessage='When you opt in to discoverability on Mastodon, your posts may appear in search results and trending, and your profile may be suggested to people with similar interests to you.' /></span>
</div>
<label className='report-dialog-modal__toggle'>
<Toggle checked={indexable} onChange={handleIndexableChange} />
<FormattedMessage id='onboarding.profile.indexable' defaultMessage='Include public posts in search results' />
</label>
<div className='app-form__toggle__toggle'>
<div>
<Toggle checked={discoverable} onChange={handleDiscoverableChange} />
</div>
</div>
</label>
</div>
<div className='onboarding__footer'>
<Button block onClick={handleSubmit} disabled={isSaving}>{isSaving ? <LoadingIndicator /> : <FormattedMessage id='onboarding.profile.save_and_continue' defaultMessage='Save and continue' />}</Button>

@ -13,27 +13,38 @@
"about.rules": "Normes del sirvidor",
"account.account_note_header": "Nota",
"account.add_or_remove_from_list": "Amestar o quitar de les llistes",
"account.badges.bot": "Automatizáu",
"account.badges.group": "Grupu",
"account.block": "Bloquiar a @{name}",
"account.block_domain": "Bloquiar el dominiu {domain}",
"account.block_short": "Bloquiar",
"account.blocked": "Perfil bloquiáu",
"account.browse_more_on_origin_server": "Restolar más nel perfil orixinal",
"account.cancel_follow_request": "Atayar siguimientu",
"account.copy": "Copiar I'enllaz al perfil",
"account.direct": "Mentar a @{name} per privao",
"account.disable_notifications": "Dexar d'avisame cuando @{name} espublice artículos",
"account.domain_blocked": "Dominiu bloquiáu",
"account.edit_profile": "Editar el perfil",
"account.enable_notifications": "Avisame cuando @{name} espublice artículos",
"account.endorse": "Destacar nel perfil",
"account.featured_tags.last_status_at": "Últimu estáu en {date}",
"account.featured_tags.last_status_never": "Sin estaos",
"account.featured_tags.title": "Etiquetes destacaes de: {name}",
"account.follow": "Siguir",
"account.followers": "Siguidores",
"account.followers.empty": "Naide sigue a esti perfil.",
"account.followers_counter": "{count, plural, one {{counter} Siguíu} other {{counter} Siguíos}}",
"account.following": "Siguiendo",
"account.following_counter": "{count, plural,one {Sigue a {counter}} other {Sigue a {counter}}}",
"account.follows.empty": "Esti perfil nun sigue a naide.",
"account.follows_you": "Síguete",
"account.go_to_profile": "Dir al perfil",
"account.hide_reblogs": "Anubrir los artículos compartíos de @{name}",
"account.in_memoriam": "N'alcordanza.",
"account.joined_short": "Data de xunión",
"account.languages": "Camudar llingües suscrites",
"account.link_verified_on": "La propiedá d'esti enllaz foi comprobada'l {date}",
"account.media": "Multimedia",
"account.mention": "Mentar a @{name}",
"account.moved_to": "{name} indicó qu'agora la so cuenta nueva ye:",

@ -21,6 +21,7 @@
"account.blocked": "Заблакіраваны",
"account.browse_more_on_origin_server": "Глядзіце больш у арыгінальным профілі",
"account.cancel_follow_request": "Скасаваць запыт на падпіску",
"account.copy": "Скапіраваць спасылку на профіль",
"account.direct": "Згадаць асабіста @{name}",
"account.disable_notifications": "Не паведамляць мне пра публікацыі @{name}",
"account.domain_blocked": "Дамен заблакаваны",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Адзначыць прачытаным",
"conversation.open": "Прагледзець размову",
"conversation.with": "З {names}",
"copy_icon_button.copied": "Скапіявана ў буфер абмену",
"copypaste.copied": "Скапіравана",
"copypaste.copy_to_clipboard": "Капіраваць у буфер абмену",
"directory.federated": "З вядомага федэсвету",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "На жаль, зараз немагчыма паказаць вынікі. Вы можаце паспрабаваць выкарыстоўваць пошук і праглядзець старонку агляду, каб знайсці людзей, на якіх можна падпісацца, або паўтарыце спробу пазней.",
"onboarding.follows.lead": "Вы самі ствараеце свой хатні канал. Чым больш людзей вы падпішаце, тым больш актыўна і цікавей гэта будзе. Гэтыя профілі могуць стаць добрай адпраўной кропкай — вы заўсёды можаце адмяніць падпіску на іх пазней!",
"onboarding.follows.title": "Папулярна на Mastodon",
"onboarding.profile.discoverable": "Уключыць профіль і допісы ў алгарытмы рэкамендацый",
"onboarding.profile.discoverable": "Зрабіць мой профіль бачным",
"onboarding.profile.discoverable_hint": "Калі вы звяртаецеся да адкрытасці на Mastodon, вашы паведамленні могуць з'яўляцца ў выніках пошуку і тэндэнцый, а ваш профіль можа быць прапанаваны людзям з такімі ж інтарэсамі.",
"onboarding.profile.display_name": "Бачнае імя",
"onboarding.profile.display_name_hint": "Ваша поўнае імя або ваш псеўданім…",
"onboarding.profile.indexable": "Індэксаваць публічныя допісы ў пошукавых сістэмах",
"onboarding.profile.lead": "Вы заўсёды можаце выканаць гэта пазней у Наладах, дзе даступна яшчэ больш параметраў.",
"onboarding.profile.note": "Біяграфія",
"onboarding.profile.note_hint": "Вы можаце @згадаць іншых людзей або выкарыстоўваць #хэштэгі…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Не ў стужках",
"privacy_policy.last_updated": "Адноўлена {date}",
"privacy_policy.title": "Палітыка канфідэнцыйнасці",
"recommended": "Рэкамендуем",
"refresh": "Абнавiць",
"regeneration_indicator.label": "Загрузка…",
"regeneration_indicator.sublabel": "Пачакайце, рыхтуем вашу стужку!",

@ -479,10 +479,8 @@
"onboarding.follows.empty": "За съжаление, в момента не могат да се показват резултати. Може да опитате да употребявате търсене или да прегледате страницата за изследване, за да намерите страница за последване, или да опитате пак по-късно.",
"onboarding.follows.lead": "Може да бъдете куратор на началния си инфоканал. Последвайки повече хора, по-деен и по-интересен ще става. Тези профили може да са добра начална точка, от която винаги по-късно да спрете да следвате!",
"onboarding.follows.title": "Популярно в Mastodon",
"onboarding.profile.discoverable": "Включване на профила и публикации в алгоритмите за откриване",
"onboarding.profile.display_name": "Името на показ",
"onboarding.profile.display_name_hint": "Вашето пълно име или псевдоним…",
"onboarding.profile.indexable": "Включване на обществени публикации в резултатите от търсене",
"onboarding.profile.lead": "Винаги може да завършите това по-късно в настройките, където дори има повече възможности за настройване.",
"onboarding.profile.note": "Биогр.",
"onboarding.profile.note_hint": "Може да @споменавате други хора или #хаштагове…",

@ -21,6 +21,7 @@
"account.blocked": "Blokovaný",
"account.browse_more_on_origin_server": "Více na původním profilu",
"account.cancel_follow_request": "Zrušit žádost o sledování",
"account.copy": "Kopírovat odkaz na profil",
"account.direct": "Soukromě zmínit @{name}",
"account.disable_notifications": "Přestat mě upozorňovat, když @{name} zveřejní příspěvek",
"account.domain_blocked": "Doména blokována",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Označit jako přečtené",
"conversation.open": "Zobrazit konverzaci",
"conversation.with": "S {names}",
"copy_icon_button.copied": "Zkopírováno do schránky",
"copypaste.copied": "Zkopírováno",
"copypaste.copy_to_clipboard": "Zkopírovat do schránky",
"directory.federated": "Ze známého fedivesmíru",

@ -191,6 +191,7 @@
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
"conversation.open": "Gweld sgwrs",
"conversation.with": "Gyda {names}",
"copy_icon_button.copied": "Copïwyd i'r clipfwrdd",
"copypaste.copied": "Wedi ei gopïo",
"copypaste.copy_to_clipboard": "Copïo i'r clipfwrdd",
"directory.federated": "O'r ffedysawd cyfan",
@ -390,6 +391,7 @@
"lists.search": "Chwilio ymysg pobl rydych yn eu dilyn",
"lists.subheading": "Eich rhestrau",
"load_pending": "{count, plural, one {# eitem newydd} other {# eitem newydd}}",
"loading_indicator.label": "Yn llwytho…",
"media_gallery.toggle_visible": "{number, plural, one {Cuddio delwedd} other {Cuddio delwedd}}",
"moved_to_account_banner.text": "Ar hyn y bryd, mae eich cyfrif {disabledAccount} wedi ei analluogi am i chi symud i {movedToAccount}.",
"mute_modal.duration": "Hyd",
@ -478,6 +480,12 @@
"onboarding.follows.empty": "Yn anffodus, nid oes modd dangos unrhyw ganlyniadau ar hyn o bryd. Gallwch geisio defnyddio chwilio neu bori'r dudalen archwilio i ddod o hyd i bobl i'w dilyn, neu ceisio eto yn nes ymlaen.",
"onboarding.follows.lead": "Rydych chi'n curadu eich ffrwd gartref eich hun. Po fwyaf o bobl y byddwch chi'n eu dilyn, y mwyaf egnïol a diddorol fydd hi. Gall y proffiliau hyn fod yn fan cychwyn da - gallwch chi bob amser eu dad-ddilyn yn nes ymlaen:",
"onboarding.follows.title": "Yn boblogaidd ar Mastodon",
"onboarding.profile.display_name_hint": "Eich enw llawn neu'ch enw hwyl…",
"onboarding.profile.note": "Bywgraffiad",
"onboarding.profile.note_hint": "Gallwch @grybwyll pobl eraill neu #hashnodau…",
"onboarding.profile.save_and_continue": "Cadw a pharhau",
"onboarding.profile.title": "Gosodiad proffil",
"onboarding.profile.upload_avatar": "Llwytho llun proffil",
"onboarding.share.lead": "Cofiwch ddweud wrth bobl sut y gallan nhw ddod o hyd i chi ar Mastodon!",
"onboarding.share.message": "Fi yw {username} ar #Mastodon! Dewch i'm dilyn i yn {url}",
"onboarding.share.next_steps": "Camau nesaf posib:",

@ -21,6 +21,7 @@
"account.blocked": "Blokeret",
"account.browse_more_on_origin_server": "Se mere på den oprindelige profil",
"account.cancel_follow_request": "Annullér anmodning om at følge",
"account.copy": "Kopiér link til profil",
"account.direct": "Privat omtale @{name}",
"account.disable_notifications": "Advisér mig ikke længere, når @{name} poster",
"account.domain_blocked": "Domæne blokeret",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Markér som læst",
"conversation.open": "Vis samtale",
"conversation.with": "Med {names}",
"copy_icon_button.copied": "Kopieret til udklipsholderen",
"copypaste.copied": "Kopieret",
"copypaste.copy_to_clipboard": "Kopiér til udklipsholder",
"directory.federated": "Fra kendt fedivers",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Ingen resultater tilgængelige pt. Prøv at bruge søgning eller gennemse siden for at finde personer at følge, eller forsøg igen senere.",
"onboarding.follows.lead": "Man kurerer sin eget hjemme-feed. Jo flere personer man følger, des mere aktiv og interessant vil det være. Disse profiler kan være et godt udgangspunkt de kan altid fjernes senere!",
"onboarding.follows.title": "Populært på Mastodon",
"onboarding.profile.discoverable": "Fremhæv profil og indlæg i detekteringsalgoritmer",
"onboarding.profile.discoverable": "Gør min profil synlig",
"onboarding.profile.discoverable_hint": "Når man vælger at være synlig på Mastodon, kan ens indlæg fremgå i søgeresultater og tendenser, og profilen kan blive foreslået til andre med tilsvarende interesse.",
"onboarding.profile.display_name": "Visningsnavn",
"onboarding.profile.display_name_hint": "Fulde navn eller dit sjove navn…",
"onboarding.profile.indexable": "Medtag offentlige indlæg i søgeresultater",
"onboarding.profile.lead": "Dette kan altid færdiggøres senere i indstillingerne, hvor endnu flere tilpasningsmuligheder forefindes.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "Man kan @omtale andre personer eller #hashtags…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Diskret",
"privacy_policy.last_updated": "Senest opdateret {date}",
"privacy_policy.title": "Privatlivspolitik",
"recommended": "Anbefalet",
"refresh": "Genindlæs",
"regeneration_indicator.label": "Indlæser…",
"regeneration_indicator.sublabel": "Din hjemmetidslinje klargøres!",

@ -21,6 +21,7 @@
"account.blocked": "Blockiert",
"account.browse_more_on_origin_server": "Mehr auf dem Originalprofil durchsuchen",
"account.cancel_follow_request": "Folgeanfrage zurückziehen",
"account.copy": "Link zum Profil kopieren",
"account.direct": "@{name} privat erwähnen",
"account.disable_notifications": "Höre auf mich zu benachrichtigen wenn @{name} etwas postet",
"account.domain_blocked": "Domain versteckt",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Als gelesen markieren",
"conversation.open": "Unterhaltung anzeigen",
"conversation.with": "Mit {names}",
"copy_icon_button.copied": "In die Zwischenablage kopiert",
"copypaste.copied": "Kopiert",
"copypaste.copy_to_clipboard": "In die Zwischenablage kopieren",
"directory.federated": "Aus bekanntem Fediverse",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Bedauerlicherweise können aktuell keine Ergebnisse angezeigt werden. Du kannst die Suche verwenden oder den Reiter „Entdecken“ auswählen, um neue Leute zum Folgen zu finden oder du versuchst es später erneut.",
"onboarding.follows.lead": "Deine Startseite ist der primäre Anlaufpunkt, um Mastodon zu erleben. Je mehr Profilen du folgst, umso aktiver und interessanter wird sie. Damit du direkt loslegen kannst, gibt es hier ein paar Vorschläge:",
"onboarding.follows.title": "Personalisiere deine Startseite",
"onboarding.profile.discoverable": "Profil und Beiträge in Suchalgorithmen berücksichtigen",
"onboarding.profile.discoverable": "Mein Profil auffindbar machen",
"onboarding.profile.discoverable_hint": "Wenn du entdeckt werden möchtest, dann können deine Beiträge in Suchergebnissen und Trends erscheinen. Dein Profil kann ebenfalls anderen mit ähnlichen Interessen vorgeschlagen werden.",
"onboarding.profile.display_name": "Anzeigename",
"onboarding.profile.display_name_hint": "Dein richtiger Name oder dein Fantasiename …",
"onboarding.profile.indexable": "Öffentliche Beiträge in die Suchergebnisse einbeziehen",
"onboarding.profile.lead": "Du kannst das später in den Einstellungen vervollständigen, wo noch mehr Anpassungsmöglichkeiten zur Verfügung stehen.",
"onboarding.profile.note": "Über mich",
"onboarding.profile.note_hint": "Du kannst andere @Profile erwähnen oder #Hashtags verwenden …",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Nicht gelistet",
"privacy_policy.last_updated": "Stand: {date}",
"privacy_policy.title": "Datenschutzerklärung",
"recommended": "Empfohlen",
"refresh": "Aktualisieren",
"regeneration_indicator.label": "Wird geladen …",
"regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!",

@ -168,6 +168,7 @@
"confirmations.mute.explanation": "Αυτό θα κρύψει τις δημοσιεύσεις τους και τις δημοσιεύσεις που τους αναφέρουν, αλλά θα συνεχίσουν να μπορούν να βλέπουν τις δημοσιεύσεις σου και να σε ακολουθούν.",
"confirmations.mute.message": "Σίγουρα θες να αποσιωπήσεις {name};",
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
"confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την ανάρτηση και να την ξαναγράψεις; Οι προτιμήσεις και προωθήσεις θα χαθούν και οι απαντήσεις στην αρχική ανάρτηση θα μείνουν ορφανές.",
"confirmations.reply.confirm": "Απάντησε",
"confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
"confirmations.unfollow.confirm": "Άρση ακολούθησης",
@ -187,6 +188,7 @@
"dismissable_banner.community_timeline": "Αυτές είναι οι πιο πρόσφατες δημόσιες αναρτήσεις ατόμων των οποίων οι λογαριασμοί φιλοξενούνται στο {domain}.",
"dismissable_banner.dismiss": "Παράβλεψη",
"dismissable_banner.explore_links": "Αυτές οι ειδήσεις συζητούνται σε αυτόν και άλλους διακομιστές του αποκεντρωμένου δικτύου αυτή τη στιγμή.",
"dismissable_banner.explore_statuses": "Αυτές είναι οι αναρτήσεις που έχουν απήχηση στο κοινωνικό δίκτυο σήμερα. Οι νεώτερες αναρτήσεις με περισσότερες προωθήσεις και προτιμήσεις κατατάσσονται ψηλότερα.",
"dismissable_banner.explore_tags": "Αυτές οι ετικέτες αποκτούν απήχηση σε αυτόν και άλλους διακομιστές του αποκεντρωμένου δικτύου αυτή τη στιγμή.",
"embed.instructions": "Ενσωμάτωσε αυτή την ανάρτηση στην ιστοσελίδα σου αντιγράφοντας τον παρακάτω κώδικα.",
"embed.preview": "Ορίστε πως θα φαίνεται:",
@ -279,13 +281,17 @@
"home.column_settings.basic": "Βασικές ρυθμίσεις",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
"home.explore_prompt.body": "Your home feed will have a mix of posts from the hashtags you've chosen to follow, the people you've chosen to follow, and the posts they boost. If that feels too quiet, you may want to:\nΗ τροφοδοσία της αρχικής σελίδας σας είναι ένα μίγμα από αναρτήσεις με τις ετικέτες και τα άτομα που επιλέξατε να ακολουθείτε, και τις αναρτήσεις που προωθούν. Εάν αυτό σας φαίνεται πολύ ήσυχο, μπορεί να θέλετε:",
"home.hide_announcements": "Απόκρυψη ανακοινώσεων",
"home.show_announcements": "Εμφάνιση ανακοινώσεων",
"interaction_modal.description.follow": "Με έναν λογαριασμό Mastodon, μπορείς να ακολουθήσεις τον/την {name} ώστε να λαμβάνεις τις αναρτήσεις του/της στη δική σου ροή.",
"interaction_modal.description.reblog": "Με ένα λογαριασμό Mastodon, μπορείς να ενισχύσεις αυτή την ανάρτηση για να τη μοιραστείς με τους δικούς σου ακολούθους.",
"interaction_modal.description.reply": "Με ένα λογαριασμό Mastodon, μπορείς να απαντήσεις σε αυτή την ανάρτηση.",
"interaction_modal.login.action": "Take me home\nΠήγαινέ με στην αρχική σελίδα",
"interaction_modal.no_account_yet": "Not on Mastodon?\nΔεν είστε στο Mastodon;",
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
"interaction_modal.title.favourite": "Favorite {name}'s post\nΠροτίμησε την ανάρτηση της/του {name}",
"interaction_modal.title.follow": "Ακολούθησε {name}",
"interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}",
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
@ -376,6 +382,7 @@
"not_signed_in_indicator.not_signed_in": "Πρέπει να συνδεθείς για να αποκτήσεις πρόσβαση σε αυτόν τον πόρο.",
"notification.admin.report": "Ο/Η {name} ανέφερε τον {target}",
"notification.admin.sign_up": "{name} έχει εγγραφεί",
"notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
"notification.follow": "Ο/Η {name} σε ακολούθησε",
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
"notification.mention": "Ο/Η {name} σε επισήμανε",
@ -405,7 +412,7 @@
"notifications.column_settings.unread_notifications.highlight": "Επισήμανση μη αναγνωσμένων ειδοποιήσεων",
"notifications.column_settings.update": "Επεξεργασίες:",
"notifications.filter.all": "Όλες",
"notifications.filter.boosts": "Ενισχύσεις",
"notifications.filter.boosts": "Προωθήσεις",
"notifications.filter.follows": "Ακολουθείς",
"notifications.filter.mentions": "Επισημάνσεις",
"notifications.filter.polls": "Αποτελέσματα δημοσκόπησης",
@ -425,9 +432,11 @@
"onboarding.actions.go_to_home": "Πηγαίνετε στην αρχική σας ροή",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Δημοφιλή στο Mastodon",
"onboarding.share.lead": "Let people know how they can find you on Mastodon!\nΕνημερώστε άλλα άτομα πώς μπορούν να σας βρουν στο Mastodon!",
"onboarding.share.next_steps": "Πιθανά επόμενα βήματα:",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.start.title": "You've made it!\nΤα καταφέρατε!",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
"onboarding.steps.publish_status.body": "Say hello to the world.",
@ -572,7 +581,7 @@
"status.read_more": "Διάβασε περισότερα",
"status.reblog": "Ενίσχυση",
"status.reblog_private": "Ενίσχυση με αρχική ορατότητα",
"status.reblogged_by": "{name} ενισχύθηκε",
"status.reblogged_by": "{name} προώθησε",
"status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
"status.redraft": "Σβήσε & ξαναγράψε",
"status.remove_bookmark": "Αφαίρεση σελιδοδείκτη",

@ -478,10 +478,8 @@
"onboarding.follows.empty": "Unfortunately, no results can be shown right now. You can try using search or browsing the explore page to find people to follow, or try again later.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Personalize your home feed",
"onboarding.profile.discoverable": "Feature profile and posts in discovery algorithms",
"onboarding.profile.display_name": "Display name",
"onboarding.profile.display_name_hint": "Your full name or your fun name…",
"onboarding.profile.indexable": "Include public posts in search results",
"onboarding.profile.lead": "You can always complete this later in the settings, where even more customisation options are available.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "You can @mention other people or #hashtags…",

@ -481,10 +481,10 @@
"onboarding.follows.empty": "Unfortunately, no results can be shown right now. You can try using search or browsing the explore page to find people to follow, or try again later.",
"onboarding.follows.lead": "Your home feed is the primary way to experience Mastodon. The more people you follow, the more active and interesting it will be. To get you started, here are some suggestions:",
"onboarding.follows.title": "Personalize your home feed",
"onboarding.profile.discoverable": "Feature profile and posts in discovery algorithms",
"onboarding.profile.discoverable": "Make my profile discoverable",
"onboarding.profile.discoverable_hint": "When you opt in to discoverability on Mastodon, your posts may appear in search results and trending, and your profile may be suggested to people with similar interests to you.",
"onboarding.profile.display_name": "Display name",
"onboarding.profile.display_name_hint": "Your full name or your fun name…",
"onboarding.profile.indexable": "Include public posts in search results",
"onboarding.profile.lead": "You can always complete this later in the settings, where even more customization options are available.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "You can @mention other people or #hashtags…",
@ -535,6 +535,7 @@
"privacy.unlisted.short": "Unlisted",
"privacy_policy.last_updated": "Last updated {date}",
"privacy_policy.title": "Privacy Policy",
"recommended": "Recommended",
"refresh": "Refresh",
"regeneration_indicator.label": "Loading…",
"regeneration_indicator.sublabel": "Your home feed is being prepared!",

@ -350,6 +350,7 @@
"lightbox.previous": "Malantaŭen",
"limited_account_hint.action": "Montru profilon ĉiukaze",
"limited_account_hint.title": "La profilo estas kaŝita de la moderigantoj de {domain}.",
"link_preview.author": "De {name}",
"lists.account.add": "Aldoni al la listo",
"lists.account.remove": "Forigi de la listo",
"lists.delete": "Forigi la liston",
@ -446,6 +447,7 @@
"onboarding.follows.empty": "Bedaŭrinde, neniu rezulto estas montrebla nuntempe. Vi povas provi serĉi aŭ foliumi la esploran paĝon por trovi kontojn por sekvi, aŭ retrovi baldaŭ.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.save_and_continue": "Konservi kaj daŭrigi",
"onboarding.share.message": "Mi estas {username} en #Mastodon! Sekvu min ĉe {url}",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?",

@ -21,6 +21,7 @@
"account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Explorar más en el perfil original",
"account.cancel_follow_request": "Dejar de seguir",
"account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada a @{name}",
"account.disable_notifications": "Dejar de notificarme cuando @{name} envíe mensajes",
"account.domain_blocked": "Dominio bloqueado",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como leída",
"conversation.open": "Ver conversación",
"conversation.with": "Con {names}",
"copy_icon_button.copied": "Copiado en el portapapeles",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar al portapapeles",
"directory.federated": "Desde fediverso conocido",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Desafortunadamente, no se pueden mostrar resultados en este momento. Podés intentar usar la búsqueda o navegar por la página de exploración para encontrar cuentas a las que seguir, o intentarlo de nuevo más tarde.",
"onboarding.follows.lead": "Tu línea temporal de inicio es la forma principal de experimentar Mastodon. Cuanta más cuentas sigás, más activa e interesante será. Para empezar, acá tenés algunas sugerencias:",
"onboarding.follows.title": "Personalizá tu línea de tiempo principal",
"onboarding.profile.discoverable": "Destacar perfil y mensajes en algoritmos de descubrimiento",
"onboarding.profile.discoverable": "Hacer que mi perfil sea detectable",
"onboarding.profile.discoverable_hint": "Cuando optás por ser detectable en Mastodon, tus mensajes pueden aparecer en los resultados de búsqueda y de tendencia, y tu perfil puede ser sugerido a personas con intereses similares a los tuyos.",
"onboarding.profile.display_name": "Nombre para mostrar",
"onboarding.profile.display_name_hint": "Tu nombre completo o tu pseudónimo…",
"onboarding.profile.indexable": "Incluir mensajes públicos en resultados de búsqueda",
"onboarding.profile.lead": "Siempre podés completar esto más tarde en la configuración, donde hay disponibles más opciones de personalización.",
"onboarding.profile.note": "Biografía",
"onboarding.profile.note_hint": "Podés @mencionar otras cuentas o usar #etiquetas…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "No listado",
"privacy_policy.last_updated": "Última actualización: {date}",
"privacy_policy.title": "Política de privacidad",
"recommended": "Opción recomendada",
"refresh": "Refrescar",
"regeneration_indicator.label": "Cargando…",
"regeneration_indicator.sublabel": "¡Se está preparando tu línea temporal principal!",

@ -21,6 +21,7 @@
"account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Ver más en el perfil original",
"account.cancel_follow_request": "Retirar solicitud de seguimiento",
"account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada @{name}",
"account.disable_notifications": "Dejar de notificarme cuando @{name} publique algo",
"account.domain_blocked": "Dominio oculto",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como leído",
"conversation.open": "Ver conversación",
"conversation.with": "Con {names}",
"copy_icon_button.copied": "Copiado al portapapeles",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar al portapapeles",
"directory.federated": "Desde el fediverso conocido",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Desafortunadamente, no se pueden mostrar resultados en este momento. Puedes intentar usar la búsqueda o navegar por la página de exploración para encontrar gente a la que seguir, o inténtalo de nuevo más tarde.",
"onboarding.follows.lead": "Tienes que personalizar tu inicio. Cuantas más personas sigas, más activo e interesante será. Estos perfiles pueden ser un buen punto de partida, ¡pero siempre puedes dejar de seguirlos más adelante!",
"onboarding.follows.title": "Popular en Mastodon",
"onboarding.profile.discoverable": "Destacar el perfil y las publicaciones en el algoritmo de descubrimiento",
"onboarding.profile.discoverable": "Hacer que mi perfil aparezca en búsquedas",
"onboarding.profile.discoverable_hint": "Cuando permites que tu perfil aparezca en búsquedas en Mastodon, tus publicaciones podrán aparecer en los resultados de búsqueda y en tendencias, y tu perfil podrá recomendarse a gente con intereses similares a los tuyos.",
"onboarding.profile.display_name": "Nombre a mostrar",
"onboarding.profile.display_name_hint": "Tu nombre completo o tu apodo…",
"onboarding.profile.indexable": "Incluir publicaciones públicas en los resultados de búsqueda",
"onboarding.profile.lead": "Siempre puedes completar esto más tarde en los ajustes, donde hay aún más opciones de personalización disponibles.",
"onboarding.profile.note": "Biografía",
"onboarding.profile.note_hint": "Puedes @mencionar a otras personas o #hashtags…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "No listado",
"privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad",
"recommended": "Recomendado",
"refresh": "Actualizar",
"regeneration_indicator.label": "Cargando…",
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",

@ -21,6 +21,7 @@
"account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Ver más en el perfil original",
"account.cancel_follow_request": "Retirar solicitud de seguimiento",
"account.copy": "Copiar enlace al perfil",
"account.direct": "Mención privada a @{name}",
"account.disable_notifications": "Dejar de notificarme cuando @{name} publique algo",
"account.domain_blocked": "Dominio bloqueado",
@ -65,7 +66,7 @@
"account.unblock": "Desbloquear a @{name}",
"account.unblock_domain": "Desbloquear dominio {domain}",
"account.unblock_short": "Desbloquear",
"account.unendorse": "No destacar en el perfil",
"account.unendorse": "No mostrar en el perfil",
"account.unfollow": "Dejar de seguir",
"account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications_short": "Dejar de silenciar notificaciones",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como leído",
"conversation.open": "Ver conversación",
"conversation.with": "Con {names}",
"copy_icon_button.copied": "Copiado al portapapeles",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar al portapapeles",
"directory.federated": "Desde el fediverso conocido",
@ -479,7 +481,17 @@
"onboarding.follows.empty": "Desafortunadamente, no se pueden mostrar resultados en este momento. Puedes intentar usar la búsqueda o navegar por la página de exploración para encontrar personas a las que seguir, o inténtalo de nuevo más tarde.",
"onboarding.follows.lead": "Tu línea de inicio es la forma principal de experimentar Mastodon. Cuanta más personas sigas, más activa e interesante será. Para empezar, aquí hay algunas sugerencias:",
"onboarding.follows.title": "Personaliza tu línea de inicio",
"onboarding.profile.discoverable": "Hacer que mi perfil aparezca en búsquedas",
"onboarding.profile.discoverable_hint": "Cuando permites que tu perfil aparezca en búsquedas en Mastodon, tus publicaciones podrán aparecer en los resultados de búsqueda y en tendencias, y tu perfil podrá recomendarse a gente con intereses similares a los tuyos.",
"onboarding.profile.display_name": "Nombre para mostrar",
"onboarding.profile.display_name_hint": "Tu nombre completo o tu apodo…",
"onboarding.profile.lead": "Siempre puedes completar esto más tarde en los ajustes, donde hay aún más opciones de personalización disponibles.",
"onboarding.profile.note": "Biografía",
"onboarding.profile.note_hint": "Puedes @mencionar a otras personas o #etiquetas…",
"onboarding.profile.save_and_continue": "Guardar y continuar",
"onboarding.profile.title": "Configuración del perfil",
"onboarding.profile.upload_avatar": "Subir foto de perfil",
"onboarding.profile.upload_header": "Subir encabezado de perfil",
"onboarding.share.lead": "¡Cuéntale a otras personas cómo te pueden encontrar en Mastodon!",
"onboarding.share.message": "¡Soy {username} en #Mastodon! Ven a seguirme en {url}",
"onboarding.share.next_steps": "Posibles siguientes pasos:",
@ -523,6 +535,7 @@
"privacy.unlisted.short": "No listado",
"privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad",
"recommended": "Recomendado",
"refresh": "Actualizar",
"regeneration_indicator.label": "Cargando…",
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",

@ -21,6 +21,7 @@
"account.blocked": "Blokeatuta",
"account.browse_more_on_origin_server": "Arakatu gehiago jatorrizko profilean",
"account.cancel_follow_request": "Baztertu jarraitzeko eskaera",
"account.copy": "Kopiatu profilerako esteka",
"account.direct": "Aipatu pribatuki @{name}",
"account.disable_notifications": "Utzi jakinarazteari @{name} erabiltzailearen bidalketetan",
"account.domain_blocked": "Ezkutatutako domeinua",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Markatu irakurrita bezala",
"conversation.open": "Ikusi elkarrizketa",
"conversation.with": "Hauekin: {names}",
"copy_icon_button.copied": "Arbelera kopiatu da",
"copypaste.copied": "Kopiatuta",
"copypaste.copy_to_clipboard": "Kopiatu arbelera",
"directory.federated": "Fedibertso ezagunekoak",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Zoritxarrez, ezin da emaitzik erakutsi orain. Bilaketa erabil dezakezu edo Arakatu orrian jendea bilatu jarraitzeko, edo saiatu geroago.",
"onboarding.follows.lead": "Hasierako orria zuk pertsonalizatzen duzu. Gero eta jende gehiagori jarraitu, orduan eta aktibo eta interesgarriago izango da. Profil hauek egokiak izan daitezke hasteko, beti ere, geroago jarraitzeari utz diezazkiekezu!",
"onboarding.follows.title": "Mastodonen pil-pilean",
"onboarding.profile.discoverable": "Ezagutarazi profila eta bidalketak bilaketa algoritmoetan",
"onboarding.profile.discoverable": "Profila aurkitzeko moduan jarri",
"onboarding.profile.discoverable_hint": "Mastodon zure profila aurkitzeko moduan duzunean, zure mezuak bilaketa-emaitzetan eta jarraipenetan ager daitezke, eta zure profila antzeko interesa duen jendeari iradoki ahal zaio.",
"onboarding.profile.display_name": "Bistaratzeko izena",
"onboarding.profile.display_name_hint": "Zure izena edo ezizena…",
"onboarding.profile.indexable": "Gehitu argitalpen publikoak bilaketa-emaitzetan",
"onboarding.profile.lead": "Geroagoago bete daiteke konfigurazioan, non pertsonalizatzeko aukera gehiago dauden.",
"onboarding.profile.note": "Biografia",
"onboarding.profile.note_hint": "Beste pertsona batzuk @aipa ditzakezu edo #traolak erabili…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Zerrendatu gabea",
"privacy_policy.last_updated": "Azkenengo eguneraketa {date}",
"privacy_policy.title": "Pribatutasun politika",
"recommended": "Gomendatua",
"refresh": "Berritu",
"regeneration_indicator.label": "Kargatzen…",
"regeneration_indicator.sublabel": "Zure hasiera-jarioa prestatzen ari da!",

@ -479,7 +479,7 @@
"onboarding.follows.empty": "متأسفانه هم‌اکنون نتیجه‌ای قابل نمایش نیست. می‌توانید استفاده از جست‌وجو یا مرور صفحهٔ کاوش را برای یافتن افرادی برای پی‌گیری آزموده یا دوباره تلاش کنید.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.discoverable": "معرفی نمایه و فرسته‌ها در الگوریتم‌های کشف",
"onboarding.profile.discoverable": "نمایه خود را قابل نمایش کنید",
"onboarding.profile.display_name": "نام نمایشی",
"onboarding.profile.display_name_hint": "نام کامل یا نام باحالتان…",
"onboarding.profile.note": "درباره شما",
@ -529,6 +529,7 @@
"privacy.unlisted.short": "فهرست نشده",
"privacy_policy.last_updated": "آخرین به‌روز رسانی در {date}",
"privacy_policy.title": "سیاست محرمانگی",
"recommended": "پیشنهادشده",
"refresh": "نوسازی",
"regeneration_indicator.label": "در حال بار شدن…",
"regeneration_indicator.sublabel": "خوراک خانگیتان دارد آماده می‌شود!",

@ -21,6 +21,7 @@
"account.blocked": "Estetty",
"account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
"account.cancel_follow_request": "Peruuta seurantapyyntö",
"account.copy": "Kopioi profiililinkki",
"account.direct": "Mainitse @{name} yksityisesti",
"account.disable_notifications": "Lopeta ilmoittamasta minulle, kun @{name} julkaisee",
"account.domain_blocked": "Verkkotunnus estetty",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Merkitse luetuksi",
"conversation.open": "Näytä keskustelu",
"conversation.with": "{names} kanssa",
"copy_icon_button.copied": "Kopioitiin leikepöydälle",
"copypaste.copied": "Kopioitu",
"copypaste.copy_to_clipboard": "Kopioi leikepöydälle",
"directory.federated": "Koko tunnettu fediversumi",
@ -479,11 +481,11 @@
"onboarding.follows.empty": "Valitettavasti tuloksia ei voida näyttää juuri nyt. Voit kokeilla hakua tai selata tutustumissivua löytääksesi seurattavaa tai yrittää myöhemmin uudelleen.",
"onboarding.follows.lead": "Kokoat oman kotisyötteesi itse. Mitä enemmän ihmisiä seuraat, sitä aktiivisempi ja kiinnostavampi syöte on. Nämä profiilit voivat olla alkuun hyvä lähtökohta — voit aina lopettaa niiden seuraamisen myöhemmin!",
"onboarding.follows.title": "Mukauta kotisyötettäsi",
"onboarding.profile.discoverable": "Pidä profiilia ja julkaisuja esillä löytämisalgoritmeissa",
"onboarding.profile.discoverable": "Aseta profiilini löydettäväksi",
"onboarding.profile.discoverable_hint": "Kun olet määrittänyt itsesi löydettäväksi Mastodonista, voivat julkaisusi näkyä hakutuloksissa ja suosituissa kohteissa, ja profiiliasi voidaan ehdottaa käyttäjille, jotka ovat kiinnostuneet samoista aiheista kuin sinä.",
"onboarding.profile.display_name": "Näyttönimi",
"onboarding.profile.display_name_hint": "Koko nimesi tai lempinimesi…",
"onboarding.profile.indexable": "Sisällytä julkiset julkaisut hakutuloksiin",
"onboarding.profile.lead": "Voit viimeistellä tämän milloin tahansa asetuksissa, jossa on saatavilla vielä enemmän mukautusvalintoja.",
"onboarding.profile.lead": "Voit viimeistellä tämän milloin tahansa asetuksista, jotka tarjoavat vielä enemmän mukautusvalintoja.",
"onboarding.profile.note": "Elämäkerta",
"onboarding.profile.note_hint": "Voit @mainita muita käyttäjiä tai #aihetunnisteita…",
"onboarding.profile.save_and_continue": "Tallenna ja jatka",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Listaamaton",
"privacy_policy.last_updated": "Viimeksi päivitetty {date}",
"privacy_policy.title": "Tietosuojakäytäntö",
"recommended": "Suositeltu",
"refresh": "Päivitä",
"regeneration_indicator.label": "Ladataan…",
"regeneration_indicator.sublabel": "Kotisyötettäsi valmistellaan!",

@ -21,6 +21,7 @@
"account.blocked": "Bannað/ur",
"account.browse_more_on_origin_server": "Kaga meira á upprunaligu vangamyndina",
"account.cancel_follow_request": "Strika fylgjaraumbøn",
"account.copy": "Avrita leinki til vangan",
"account.direct": "Umrøð @{name} privat",
"account.disable_notifications": "Ikki boða mær frá, tá @{name} skrivar",
"account.domain_blocked": "Økisnavn bannað",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Merk sum lisið",
"conversation.open": "Vís samrøðu",
"conversation.with": "Við {names}",
"copy_icon_button.copied": "Avritað til setiborðið",
"copypaste.copied": "Avritað",
"copypaste.copy_to_clipboard": "Avrita til setiborðið",
"directory.federated": "Frá tí kenda fediversinum",
@ -478,6 +480,8 @@
"onboarding.follows.empty": "Tíverri kunnu eingi úrslit vísast beint nú. Tú kanst royna at brúka leiting ella at kaga gjøgnum Rannsaka síðuna fyri at finna fólk at fylgja - ella royna aftur seinni.",
"onboarding.follows.lead": "Tú snikkar sjálv/ur tína heimarás til. Jú fleiri fólk, tú fylgir, jú virknari og áhugaverdari verður tað. Hesir vangar kunnu vera ein góð byrjan — tú kanst altíð gevast at fylgja teimum seinni!",
"onboarding.follows.title": "Vælumtókt á Mastodon",
"onboarding.profile.discoverable": "Ger tað møguligt hjá øðrum at finna vangan hjá mær",
"onboarding.profile.discoverable_hint": "Tá tú játtar at onnur skulu kunna finna teg á Mastodon, so kann henda, at postar tínir síggjast í leitiúrslitum og rákum, og vangin hjá tær kann vera skotin upp fyri fólki við áhugamálum sum minna um tíni.",
"onboarding.share.lead": "Lat fólk vita, hvussu tey kunnu finna teg á Mastodon!",
"onboarding.share.message": "Eg eri {username} á #Mastodon! Kom og fylg mær á {url}",
"onboarding.share.next_steps": "Møgulig næstu stig:",
@ -521,6 +525,7 @@
"privacy.unlisted.short": "Ikki listað",
"privacy_policy.last_updated": "Seinast dagført {date}",
"privacy_policy.title": "Privatlívspolitikkur",
"recommended": "Viðmælt",
"refresh": "Endurles",
"regeneration_indicator.label": "Innlesur…",
"regeneration_indicator.sublabel": "Tín heimarás verður gjørd klár!",

@ -390,6 +390,7 @@
"lists.search": "Rechercher parmi les gens que vous suivez",
"lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
"loading_indicator.label": "Chargement…",
"media_gallery.toggle_visible": "{number, plural, one {Cacher limage} other {Cacher les images}}",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous avez déménagé sur {movedToAccount}.",
"mute_modal.duration": "Durée",
@ -478,6 +479,12 @@
"onboarding.follows.empty": "Malheureusement, aucun résultat ne peut être affiché pour le moment. Vous pouvez essayer de rechercher ou de parcourir la page \"Explorer\" pour trouver des personnes à suivre, ou réessayer plus tard.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.display_name": "Nom affiché",
"onboarding.profile.note": "Biographie",
"onboarding.profile.save_and_continue": "Enregistrer et continuer",
"onboarding.profile.title": "Configuration du profil",
"onboarding.profile.upload_avatar": "Importer une photo de profil",
"onboarding.profile.upload_header": "Envoyer une image de profil",
"onboarding.share.lead": "Faites savoir aux gens comment vous trouver sur Mastodon!",
"onboarding.share.message": "Je suis {username} sur #Mastodon! Suivez-moi sur {url}",
"onboarding.share.next_steps": "Étapes suivantes possibles:",

@ -107,7 +107,7 @@
"closed_registrations_modal.preamble": "Mastodon est décentralisé : peu importe où vous créez votre compte, vous serez en mesure de suivre et d'interagir avec quiconque sur ce serveur. Vous pouvez même l'héberger !",
"closed_registrations_modal.title": "Inscription sur Mastodon",
"column.about": "À propos",
"column.blocks": "Comptes bloqués",
"column.blocks": "Utilisateurs bloqués",
"column.bookmarks": "Marque-pages",
"column.community": "Fil public local",
"column.direct": "Mentions privées",
@ -390,6 +390,7 @@
"lists.search": "Rechercher parmi les gens que vous suivez",
"lists.subheading": "Vos listes",
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
"loading_indicator.label": "Chargement…",
"media_gallery.toggle_visible": "{number, plural, one {Cacher limage} other {Cacher les images}}",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous l'avez déplacé à {movedToAccount}.",
"mute_modal.duration": "Durée",
@ -478,6 +479,12 @@
"onboarding.follows.empty": "Malheureusement, aucun résultat ne peut être affiché pour le moment. Vous pouvez essayer d'utiliser la recherche ou parcourir la page de découverte pour trouver des personnes à suivre, ou réessayez plus tard.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Personnaliser votre flux principal",
"onboarding.profile.display_name": "Nom affiché",
"onboarding.profile.note": "Biographie",
"onboarding.profile.save_and_continue": "Enregistrer et continuer",
"onboarding.profile.title": "Configuration du profil",
"onboarding.profile.upload_avatar": "Importer une photo de profil",
"onboarding.profile.upload_header": "Envoyer une image de profil",
"onboarding.share.lead": "Faites savoir aux gens comment ils peuvent vous trouver sur Mastodon!",
"onboarding.share.message": "Je suis {username} sur #Mastodon! Suivez-moi sur {url}",
"onboarding.share.next_steps": "Étapes suivantes possibles :",

@ -21,6 +21,7 @@
"account.blocked": "Bloqueada",
"account.browse_more_on_origin_server": "Busca máis no perfil orixinal",
"account.cancel_follow_request": "Cancelar a solicitude de seguimento",
"account.copy": "Copiar ligazón ao perfil",
"account.direct": "Mencionar de xeito privado a @{name}",
"account.disable_notifications": "Deixar de notificarme cando @{name} publica",
"account.domain_blocked": "Dominio agochado",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como lido",
"conversation.open": "Ver conversa",
"conversation.with": "Con {names}",
"copy_icon_button.copied": "Copiada ao portapapeis",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar ao portapapeis",
"directory.federated": "Do fediverso coñecido",
@ -390,6 +392,7 @@
"lists.search": "Procurar entre as persoas que segues",
"lists.subheading": "As túas listaxes",
"load_pending": "{count, plural, one {# novo elemento} other {# novos elementos}}",
"loading_indicator.label": "Estase a cargar…",
"media_gallery.toggle_visible": "Agochar {number, plural, one {imaxe} other {imaxes}}",
"moved_to_account_banner.text": "A túa conta {disabledAccount} está actualmente desactivada porque movéchela a {movedToAccount}.",
"mute_modal.duration": "Duración",
@ -478,6 +481,17 @@
"onboarding.follows.empty": "Desgraciadamente agora mesmo non hai nada que mostrar. Podes intentalo coa busca ou na páxina descubrir para atopar persoas ás que seguir, ou intentalo máis tarde.",
"onboarding.follows.lead": "Podes facer que a túa cronoloxía de inicio sexa como ti a queres. Canta máis xente sigas máis interesante será. Estes perfís poderían axudarche a comezar —sempre poderás deixar de seguilos despois!",
"onboarding.follows.title": "Popular en Mastodon",
"onboarding.profile.discoverable": "Que o meu perfil sexa atopable",
"onboarding.profile.discoverable_hint": "Cando elixes que poidan atoparte en Mastodon as túas publicacións aparecerán nos resultados das buscas e nos temas en voga, e o teu perfil podería ser suxerido para seguimento a persoas con intereses semellantes aos teus.",
"onboarding.profile.display_name": "Nome público",
"onboarding.profile.display_name_hint": "O teu nome completo ou un nome divertido…",
"onboarding.profile.lead": "Sempre poderás incluír esta información mais tarde nos axustes, onde terás máis opcións dispoñibles.",
"onboarding.profile.note": "Acerca de ti",
"onboarding.profile.note_hint": "Podes @mencionar a outras persoas ou usar #cancelos…",
"onboarding.profile.save_and_continue": "Gardar e continuar",
"onboarding.profile.title": "Configuración do perfil",
"onboarding.profile.upload_avatar": "Subir imaxe do perfil",
"onboarding.profile.upload_header": "Subir cabeceira para o perfil",
"onboarding.share.lead": "Fai que as persoas saiban como atoparte en Mastodon!",
"onboarding.share.message": "Son {username} en #Mastodon! Ségueme en {url}",
"onboarding.share.next_steps": "Seguintes pasos:",
@ -521,6 +535,7 @@
"privacy.unlisted.short": "Sen listar",
"privacy_policy.last_updated": "Actualizado por última vez no {date}",
"privacy_policy.title": "Política de Privacidade",
"recommended": "Aconsellable",
"refresh": "Actualizar",
"regeneration_indicator.label": "Estase a cargar…",
"regeneration_indicator.sublabel": "Estase a preparar a túa cronoloxía de inicio!",

@ -21,6 +21,7 @@
"account.blocked": "לחסום",
"account.browse_more_on_origin_server": "ראה יותר בפרופיל המקורי",
"account.cancel_follow_request": "משיכת בקשת מעקב",
"account.copy": "להעתיק קישור לפרופיל",
"account.direct": "הודעה פרטית אל @{name}",
"account.disable_notifications": "הפסק לשלוח לי התראות כש@{name} מפרסמים",
"account.domain_blocked": "הדומיין חסום",
@ -30,7 +31,7 @@
"account.featured_tags.last_status_at": "חצרוץ אחרון בתאריך {date}",
"account.featured_tags.last_status_never": "אין חצרוצים",
"account.featured_tags.title": "התגיות המועדפות של {name}",
"account.follow": "עקוב",
"account.follow": "לעקוב",
"account.followers": "עוקבים",
"account.followers.empty": "אף אחד לא עוקב אחר המשתמש הזה עדיין.",
"account.followers_counter": "{count, plural,one {עוקב אחד} other {{counter} עוקבים}}",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "סמן כנקרא",
"conversation.open": "צפו בשיחה",
"conversation.with": "עם {names}",
"copy_icon_button.copied": "הועתק ללוח",
"copypaste.copied": "הועתק",
"copypaste.copy_to_clipboard": "העתקה ללוח הגזירים",
"directory.federated": "מהפדרציה הידועה",
@ -300,15 +302,15 @@
"hashtag.counter_by_accounts": "{count, plural,one{{count} משתתף.ת}other{{count} משתתפיםות}}",
"hashtag.counter_by_uses": "{count, plural, one {הודעה אחת} two {הודעותיים} many {{count} הודעות} other {{count} הודעות}}",
"hashtag.counter_by_uses_today": "{count, plural, one {הודעה אחת} two {הודעותיים} many {{count} הודעות} other {{count} הודעות}} היום",
"hashtag.follow": "מעקב אחר תגית",
"hashtag.unfollow": "ביטול מעקב אחר תגית",
"hashtag.follow": "לעקוב אחרי תגית",
"hashtag.unfollow": "להפסיק לעקוב אחרי תגית",
"hashtags.and_other": "…{count, plural,other {ועוד #}}",
"home.actions.go_to_explore": "הצגת מגמות",
"home.actions.go_to_suggestions": "למצוא א.נשים לעקוב אחריהן.ם",
"home.column_settings.basic": "למתחילים",
"home.column_settings.show_reblogs": "הצגת הדהודים",
"home.column_settings.show_replies": "הצגת תגובות",
"home.explore_prompt.body": "זרם הבית שלך יכיל תערובת של הודעות מהתגיות והאנשים שבחרת לעקיבה, וההודעות שהנעקבים בוחרים להדהד. אם זה נראה שקט מדי כרגע אז מה לגבי:",
"home.explore_prompt.body": "פיד הבית שלך יכיל תערובת של הודעות מהתגיות והאנשים שבחרת למעקב, וההודעות שהנעקבים בוחרים להדהד. אם זה נראה שקט מדי כרגע אז מה לגבי:",
"home.explore_prompt.title": "זהו בסיס הבית שלך בתוך מסטודון.",
"home.hide_announcements": "הסתר הכרזות",
"home.pending_critical_update.body": "יש לעדכן את תוכנת מסטודון בהקדם האפשרי!",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "למצער, תוצאות לחיפושך אינן בנמצא. ניתן להשתמש בחיפוש או בדף החקירות לשם מציאת אנשים ולעקבם. אפשר גם לנסות שוב אחר כך.",
"onboarding.follows.lead": "אתם אוצרים את הזרם הבייתי שלכם. ככל שתעקבו אחרי יותר אנשים, הוא יהיה עשיר ופעיל יותר. הנה כמה פרופילים להתחיל בהם - תמיד ניתן להפסיק מעקב אחריהם בהמשך!",
"onboarding.follows.title": "פופולארי על מסטודון",
"onboarding.profile.discoverable": "הצגת פרופיל והודעות במסך התגליות",
"onboarding.profile.discoverable": "כלול את הפרופיל שלי בעמודת התגליות",
"onboarding.profile.discoverable_hint": "כשתבחרו להכלל ב\"תגליות\" על מסטודון, ההודעות שלכם עשויות להופיע בתוצאות חיפוש ועמודות \"נושאים חמים\", והפרופיל יוצע לאחרים עם תחומי עניין משותפים לכם.",
"onboarding.profile.display_name": "שם להצגה",
"onboarding.profile.display_name_hint": "שמך המלא או כינוי הכיף שלך…",
"onboarding.profile.indexable": "הכללת הודעות ציבוריות בתוצאות החיפוש",
"onboarding.profile.lead": "תמיד ניתן להשלים זאת אחר כך בהגדרות, שם יש אפילו עוד אפשרויות להתאמה אישית.",
"onboarding.profile.note": "אודות",
"onboarding.profile.note_hint": "ניתן @לאזכר משתמשים אחרים או #תגיות…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "לא רשום (לא לפיד הכללי)",
"privacy_policy.last_updated": "עודכן לאחרונה {date}",
"privacy_policy.title": "מדיניות פרטיות",
"recommended": "מומלץ",
"refresh": "רענון",
"regeneration_indicator.label": "טוען…",
"regeneration_indicator.sublabel": "פיד הבית שלך בהכנה!",

@ -415,6 +415,8 @@
"onboarding.compose.template": "नमस्कार #मस्टोडोन",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.discoverable": "अपना प्रोफाइल खोजने योग्य बनाएं",
"onboarding.profile.discoverable_hint": "जब आप मॅस्टोडॉन पर डिस्कवरेबिलिटी चुनते हैं तो आपके पोस्ट ट्रेंडिंग और सर्च में दिख सकते हैं और आपका प्रोफाइल आपके ही जैसे अकाउंट्स को सुझाया जा सकता है।",
"onboarding.share.message": "मैं {username} मॅस्टोडॉन पर हूं! मुझे यहां {url} फॉलो करें",
"onboarding.share.next_steps": "आगे कि संभवित विधि",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
@ -441,6 +443,7 @@
"privacy.public.long": "सब को दिखाई देगा",
"privacy.public.short": "सार्वजनिक",
"privacy.unlisted.short": "अनलिस्टेड",
"recommended": "अनुशंसित",
"refresh": "रीफ्रेश करें",
"regeneration_indicator.label": "लोड हो रहा है...",
"relative_time.full.just_now": "अभी-अभी",

@ -225,6 +225,7 @@
"follow_request.authorize": "Autoriziraj",
"follow_request.reject": "Odbij",
"footer.about": "O aplikaciji",
"footer.directory": "Direktorij profila",
"footer.get_app": "Preuzmi aplikaciju",
"footer.invite": "Pozovi ljude",
"footer.keyboard_shortcuts": "Tipkovni prečaci",
@ -244,6 +245,7 @@
"hashtag.column_settings.tag_toggle": "Uključi dodatne oznake za ovaj stupac",
"hashtag.follow": "Prati hashtag",
"hashtag.unfollow": "Prestani pratiti hashtag",
"home.actions.go_to_explore": "Vidi trendove",
"home.column_settings.basic": "Osnovno",
"home.column_settings.show_reblogs": "Pokaži boostove",
"home.column_settings.show_replies": "Pokaži odgovore",
@ -310,6 +312,7 @@
"mute_modal.duration": "Trajanje",
"mute_modal.hide_notifications": "Sakrij obavijesti ovog korisnika?",
"navigation_bar.about": "O aplikaciji",
"navigation_bar.advanced_interface": "Otvori u naprednom web sučelju",
"navigation_bar.blocks": "Blokirani korisnici",
"navigation_bar.community_timeline": "Lokalna vremenska crta",
"navigation_bar.compose": "Compose new toot",
@ -364,6 +367,7 @@
"onboarding.actions.go_to_home": "Go to your home feed",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.upload_avatar": "Učitaj sliku profila",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
@ -393,6 +397,7 @@
"privacy.unlisted.short": "Neprikazano",
"privacy_policy.last_updated": "Zadnje ažurirannje {date}",
"privacy_policy.title": "Pravila o zaštiti privatnosti",
"recommended": "Preporučeno",
"refresh": "Osvježi",
"regeneration_indicator.label": "Učitavanje…",
"regeneration_indicator.sublabel": "Priprema se Vaša početna stranica!",

@ -21,6 +21,7 @@
"account.blocked": "Letiltva",
"account.browse_more_on_origin_server": "További böngészés az eredeti profilon",
"account.cancel_follow_request": "Követési kérés visszavonása",
"account.copy": "Hivatkozás másolása a profilba",
"account.direct": "@{name} személyes említése",
"account.disable_notifications": "Ne figyelmeztessen, ha @{name} bejegyzést tesz közzé",
"account.domain_blocked": "Letiltott domain",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Megjelölés olvasottként",
"conversation.open": "Beszélgetés megtekintése",
"conversation.with": "Velük: {names}",
"copy_icon_button.copied": "A szöveg a vágólapra másolva",
"copypaste.copied": "Másolva",
"copypaste.copy_to_clipboard": "Másolás vágólapra",
"directory.federated": "Az ismert fediverzumból",
@ -479,15 +481,15 @@
"onboarding.follows.empty": "Sajnos jelenleg nem jeleníthető meg eredmény. Kipróbálhatod a keresést vagy böngészheted a felfedező oldalon a követni kívánt személyeket, vagy próbáld meg később.",
"onboarding.follows.lead": "A saját hírfolyamod az elsődleges tapasztalás a Mastodonon. Minél több embert követsz, annál aktívabb és érdekesebb a dolog. Az induláshoz itt van néhány javaslat:",
"onboarding.follows.title": "Népszerű a Mastodonon",
"onboarding.profile.discoverable": "Profil és bejegyzések szerepeltetése a felfedezési algoritmusokban",
"onboarding.profile.discoverable": "Saját profil beállítása felfedezhetőként",
"onboarding.profile.discoverable_hint": "A Mastodonon a felfedezhetőség választása esetén a saját bejegyzéseid megjelenhetnek a keresési eredmények és a felkapott tartalmak között, valamint a profilod a hozzád hasonló érdeklődési körrel rendelkező embereknél is ajánlásra kerülhet.",
"onboarding.profile.display_name": "Megjelenített név",
"onboarding.profile.display_name_hint": "Teljes név vagy becenév…",
"onboarding.profile.indexable": "Nyilvános bejegyzések is a keresési eredményekben",
"onboarding.profile.lead": "Ezt később bármikor elvégezhető a beállításoknál, ahol még több testreszabási lehetőség áll rendelkezésre.",
"onboarding.profile.note": "Biográfia",
"onboarding.profile.note_hint": "@említhetünk másokat vagy #hashtag elemeket…",
"onboarding.profile.display_name_hint": "Teljes neved vagy vicces neved…",
"onboarding.profile.lead": "Ezt később bármikor befejezheted a beállításokban, ahol még több testreszabási lehetőség áll rendelkezésre.",
"onboarding.profile.note": "Bemutatkozás",
"onboarding.profile.note_hint": "Megemlíthetsz @másokat vagy #hashtag-eket…",
"onboarding.profile.save_and_continue": "Mentés és folytatás",
"onboarding.profile.title": "Profil beüzemelés",
"onboarding.profile.title": "Profilbeállítás",
"onboarding.profile.upload_avatar": "Profilkép feltöltése",
"onboarding.profile.upload_header": "Profil fejléc feltöltése",
"onboarding.share.lead": "Tudassuk az emberekkel, hogyan találhatnak meg a Mastodonon!",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Listázatlan",
"privacy_policy.last_updated": "Utoljára frissítve: {date}",
"privacy_policy.title": "Adatvédelmi szabályzat",
"recommended": "Ajánlott",
"refresh": "Frissítés",
"regeneration_indicator.label": "Betöltés…",
"regeneration_indicator.sublabel": "A saját idővonalad épp készül!",

@ -21,6 +21,7 @@
"account.blocked": "Útilokaður",
"account.browse_more_on_origin_server": "Skoða nánari upplýsingar á notandasniðinu",
"account.cancel_follow_request": "Taka fylgjendabeiðni til baka",
"account.copy": "Afrita tengil í notandasnið",
"account.direct": "Einkaspjall við @{name}",
"account.disable_notifications": "Hætta að láta mig vita þegar @{name} sendir inn",
"account.domain_blocked": "Lén útilokað",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Merkja sem lesið",
"conversation.open": "Skoða samtal",
"conversation.with": "Við {names}",
"copy_icon_button.copied": "Afritað á klippispjald",
"copypaste.copied": "Afritað",
"copypaste.copy_to_clipboard": "Afrita á klippispjald",
"directory.federated": "Frá samtengdum vefþjónum",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Því miður er ekki hægt að birta neinar niðurstöður í augnablikinu. Þú getur reynt að nota leitina eða skoðað könnunarsíðuna til að finna fólk til að fylgjast með, nú eða prófað aftur síðar.",
"onboarding.follows.lead": "Þú ræktar heimastreymið þitt. Því fleira fólki sem þú fylgist með, því virkara og áhugaverðara verður það. Að fylgjast með þessum notendum gæti verið ágætt til að byrja með - þú getur alltaf hætt að fylgjast með þeim síðar!",
"onboarding.follows.title": "Vinsælt á Mastodon",
"onboarding.profile.discoverable": "Hafa notandasnið og færslur með í reikniritum leitar",
"onboarding.profile.discoverable": "Gera notandasniðið mitt uppgötvanlegt",
"onboarding.profile.discoverable_hint": "Þegar þú velur að hægt sé að uppgötva þig á Mastodon, munu færslurnar þínar birtast í leitarniðurstöðum og vinsældalistum, auk þess sem stungið verður upp á notandasniðinu þínu við fólk sem er með svipuð áhugamál og þú.",
"onboarding.profile.display_name": "Birtingarnafn",
"onboarding.profile.display_name_hint": "Fullt nafn þitt eða eitthvað til gamans…",
"onboarding.profile.indexable": "Hafa opinberar færslur með í leitarniðurstöðum",
"onboarding.profile.lead": "Þú getur alltaf klárað þetta seinna í stillingunum, þar sem enn fleiri möguleikar bjóðast á sérsníðingum.",
"onboarding.profile.note": "Æviágrip",
"onboarding.profile.note_hint": "Þú getur @minnst á annað fólk eða #myllumerki…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Óskráð",
"privacy_policy.last_updated": "Síðast uppfært {date}",
"privacy_policy.title": "Persónuverndarstefna",
"recommended": "Mælt með",
"refresh": "Endurlesa",
"regeneration_indicator.label": "Hleð inn…",
"regeneration_indicator.sublabel": "Verið er að útbúa heimastreymið þitt!",

@ -21,6 +21,7 @@
"account.blocked": "Bloccato",
"account.browse_more_on_origin_server": "Sfoglia di più sul profilo originale",
"account.cancel_follow_request": "Annulla la richiesta di seguire",
"account.copy": "Copia link del profilo",
"account.direct": "Menziona privatamente @{name}",
"account.disable_notifications": "Smetti di avvisarmi quando @{name} pubblica un post",
"account.domain_blocked": "Dominio bloccato",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Segna come letto",
"conversation.open": "Visualizza conversazione",
"conversation.with": "Con {names}",
"copy_icon_button.copied": "Copiato negli appunti",
"copypaste.copied": "Copiato",
"copypaste.copy_to_clipboard": "Copia negli Appunti",
"directory.federated": "Da un fediverse noto",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Sfortunatamente, nessun risultato può essere mostrato in questo momento. Puoi provare a utilizzare la ricerca o sfogliare la pagina di esplorazione per trovare persone da seguire, oppure riprova più tardi.",
"onboarding.follows.lead": "La cronologia della tua home è gestita da te. Più persone segui, più attiva e interessante sarà. Questi profili possono essere un buon punto di partenza; puoi sempre smettere di seguirli in seguito!",
"onboarding.follows.title": "Popolare su Mastodon",
"onboarding.profile.discoverable": "Include il profilo e i post negli algoritmi di scoperta",
"onboarding.profile.discoverable": "Rendi il mio profilo rilevabile",
"onboarding.profile.discoverable_hint": "Quando attivi la rilevabilità su Mastodon, i tuoi post potrebbero apparire nei risultati di ricerca e nelle tendenze e il tuo profilo potrebbe essere suggerito a persone con interessi simili ai tuoi.",
"onboarding.profile.display_name": "Nome da visualizzare",
"onboarding.profile.display_name_hint": "Il tuo nome completo o il tuo nome divertente…",
"onboarding.profile.indexable": "Includi i post pubblici nei risultati di ricerca",
"onboarding.profile.lead": "Puoi sempre completarlo in un secondo momento nelle impostazioni, dove sono disponibili ancora più opzioni di personalizzazione.",
"onboarding.profile.note": "Biografia",
"onboarding.profile.note_hint": "Puoi @menzionare altre persone o #hashtags…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Non elencato",
"privacy_policy.last_updated": "Ultimo aggiornamento {date}",
"privacy_policy.title": "Politica sulla Privacy",
"recommended": "Consigliato",
"refresh": "Ricarica",
"regeneration_indicator.label": "Caricamento…",
"regeneration_indicator.sublabel": "Il feed della tua home è in preparazione!",

@ -21,6 +21,7 @@
"account.blocked": "ブロック済み",
"account.browse_more_on_origin_server": "リモートで表示",
"account.cancel_follow_request": "フォローリクエストの取り消し",
"account.copy": "プロフィールのリンクをコピーして下さい",
"account.direct": "@{name}さんに非公開でメンション",
"account.disable_notifications": "@{name}さんの投稿時の通知を停止",
"account.domain_blocked": "ドメインブロック中",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "既読にする",
"conversation.open": "会話を表示",
"conversation.with": "{names}",
"copy_icon_button.copied": "クリップボードにコピーされた",
"copypaste.copied": "コピーしました",
"copypaste.copy_to_clipboard": "クリップボードにコピー",
"directory.federated": "既知の連合より",
@ -479,6 +481,17 @@
"onboarding.follows.empty": "表示できる結果はありません。検索やエクスプローラーを使ったり、ほかのアカウントをフォローしたり、後でもう一度試しください。",
"onboarding.follows.lead": "ホームタイムラインはMastodonの軸足となる場所です。たくさんのユーザーをフォローすることで、ホームタイムラインはよりにぎやかでおもしろいものになります。手はじめに、おすすめのアカウントから何人かフォローしてみましょう:",
"onboarding.follows.title": "ホームタイムラインを埋める",
"onboarding.profile.discoverable": "自分のプロフィールが発見できないようにする",
"onboarding.profile.discoverable_hint": "マストドンの見つけやすくする機能が個人情報を利用することに承諾すると、あなたの投稿が検索結果やトレンドに表示されることがあります。また、あなたのプロフィールがあなたと似た興味関心を持つ人に提案されることがあります。",
"onboarding.profile.display_name": "表示名",
"onboarding.profile.display_name_hint": "あなたのフルネーム、または楽しい名前…",
"onboarding.profile.lead": "このことは後でいつでも設定から完了させることが出来ますし、設定では更に多くのカスタマイズが利用可能になっています。",
"onboarding.profile.note": "自己紹介",
"onboarding.profile.note_hint": "@を使用して他の人々にメンションをすることができます。また#でハッシュタグが使用できます",
"onboarding.profile.save_and_continue": "保存してから続行して下さい",
"onboarding.profile.title": "プロフィールの設定",
"onboarding.profile.upload_avatar": "プロフィール画像をアップロードしてください",
"onboarding.profile.upload_header": "プロフィールのヘッダー画像をアップロードして下さい",
"onboarding.share.lead": "新しいMastodonのアカウントをみんなに紹介しましょう。",
"onboarding.share.message": "「{username}」で #Mastodon はじめました! {url}",
"onboarding.share.next_steps": "次のステップに進む:",
@ -522,6 +535,7 @@
"privacy.unlisted.short": "非収載",
"privacy_policy.last_updated": "{date}に更新",
"privacy_policy.title": "プライバシーポリシー",
"recommended": "おすすめ",
"refresh": "更新",
"regeneration_indicator.label": "読み込み中…",
"regeneration_indicator.sublabel": "ホームタイムラインは準備中です!",

@ -21,6 +21,7 @@
"account.blocked": "차단함",
"account.browse_more_on_origin_server": "원본 프로필에서 더 탐색하기",
"account.cancel_follow_request": "팔로우 취소",
"account.copy": "프로필 링크 복사",
"account.direct": "@{name} 님에게 개인적으로 멘션",
"account.disable_notifications": "@{name} 의 게시물 알림 끄기",
"account.domain_blocked": "도메인 차단함",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "읽은 상태로 표시",
"conversation.open": "대화 보기",
"conversation.with": "{names} 님과",
"copy_icon_button.copied": "클립보드에 복사됨",
"copypaste.copied": "복사됨",
"copypaste.copy_to_clipboard": "클립보드에 복사",
"directory.federated": "알려진 연합우주로부터",
@ -479,10 +481,9 @@
"onboarding.follows.empty": "안타깝지만 아직은 아무 것도 보여드릴 수 없습니다. 검색을 이용하거나 발견하기 페이지에서 팔로우 할 사람을 찾을 수 있습니다. 아니면 잠시 후에 다시 시도하세요.",
"onboarding.follows.lead": "홈 피드는 마스토돈을 경험하는 주된 경로입니다. 더 많은 사람들을 팔로우 할수록 더 활발하고 흥미로워질 것입니다. 여기 시작을 위한 몇몇 추천을 드립니다:",
"onboarding.follows.title": "내게 맞는 홈 피드 꾸미기",
"onboarding.profile.discoverable": "발견하기 알고리즘에 프로필과 게시물을 추천하기",
"onboarding.profile.discoverable": "내 프로필을 발견 가능하도록 설정",
"onboarding.profile.display_name": "표시되는 이름",
"onboarding.profile.display_name_hint": "진짜 이름 또는 재미난 이름…",
"onboarding.profile.indexable": "공개 게시물을 검색 결과에 포함시키기",
"onboarding.profile.lead": "언제든지 나중에 설정 메뉴에서 마저 할 수 있고, 그곳에서 더 많은 맞춤 옵션을 고를 수 있습니다.",
"onboarding.profile.note": "자기소개",
"onboarding.profile.note_hint": "남을 @mention 하거나 #hashtag 태그를 달 수 있습니다…",
@ -533,6 +534,7 @@
"privacy.unlisted.short": "미등재",
"privacy_policy.last_updated": "{date}에 마지막으로 업데이트됨",
"privacy_policy.title": "개인정보처리방침",
"recommended": "추천함",
"refresh": "새로고침",
"regeneration_indicator.label": "불러오는 중…",
"regeneration_indicator.sublabel": "홈 피드를 준비하고 있습니다!",

@ -21,6 +21,7 @@
"account.blocked": "Užblokuota",
"account.browse_more_on_origin_server": "Naršyti daugiau originaliame profilyje",
"account.cancel_follow_request": "Atšaukti sekimą",
"account.copy": "Kopijuoti nuorodą į profilį",
"account.direct": "Privačiai paminėti @{name}",
"account.disable_notifications": "Nustoti man pranešti, kai @{name} paskelbia",
"account.domain_blocked": "Užblokuotas domenas",
@ -29,14 +30,17 @@
"account.endorse": "Savybė profilyje",
"account.featured_tags.last_status_at": "Paskutinį kartą paskelbta {date}",
"account.featured_tags.last_status_never": "Nėra įrašų",
"account.featured_tags.title": "{name} rekomenduojamos grotažymės",
"account.follow": "Sekti",
"account.followers": "Sekėjai",
"account.followers.empty": "Šio naudotojo dar niekas neseka.",
"account.followers_counter": "{count, plural, one {{counter} sekėjas (-a)} few {{counter} sekėjai} many {{counter} sekėjo} other {{counter} sekėjų}}",
"account.following": "Seka",
"account.following_counter": "{count, plural, one {{counter} Seka} few {{counter} Seka} many {{counter} Seka} other {{counter} Seka}}",
"account.follows.empty": "Šis (-i) naudotojas (-a) dar nieko neseka.",
"account.follows_you": "Seka tave",
"account.go_to_profile": "Eiti į profilį",
"account.hide_reblogs": "Slėpti \"boosts\" iš @{name}",
"account.in_memoriam": "Atminimui.",
"account.joined_short": "Prisijungė",
"account.languages": "Keisti prenumeruojamas kalbas",
@ -57,14 +61,19 @@
"account.requested": "Laukiama patvirtinimo. Spausk, kad atšaukti sekimo užklausą.",
"account.requested_follow": "{name} paprašė tave sekti",
"account.share": "Bendrinti @{name} profilį",
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
"account.unblock_domain": "Unhide {domain}",
"account.show_reblogs": "Rodyti \"boosts\" iš @{name}",
"account.statuses_counter": "{count, plural, one {{counter} įrašas} few {{counter} įrašai} many {{counter} įrašo} other {{counter} įrašų}}",
"account.unblock": "Atblokuoti @{name}",
"account.unblock_domain": "Atblokuoti domeną {domain}",
"account.unblock_short": "Atblokuoti",
"account.unendorse": "Nerodyti profilyje",
"account.unfollow": "Nebesekti",
"account.unmute": "Atitildyti @{name}",
"account.unmute_notifications_short": "Atitildyti pranešimus",
"account.unmute_short": "Atitildyti",
"account_note.placeholder": "Spausk norėdamas (-a) pridėti pastabą",
"admin.dashboard.daily_retention": "Vartotojų išbuvimo rodiklis pagal dieną po registracijos",
"admin.dashboard.monthly_retention": "Vartotojų išbuvimo rodiklis pagal mėnesį po registracijos",
"admin.dashboard.retention.average": "Vidurkis",
"admin.dashboard.retention.cohort": "Registravimo mėnuo",
"admin.dashboard.retention.cohort_size": "Nauji naudotojai",
@ -91,55 +100,101 @@
"bundle_column_error.routing.body": "Prašyto puslapio nepavyko rasti. Ar esi tikras (-a), kad adreso juostoje nurodytas URL adresas yra teisingas?",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Uždaryti",
"bundle_modal_error.message": "Kraunant šį komponentą kažkas nepavyko.",
"bundle_modal_error.retry": "Bandyti dar kartą",
"closed_registrations.other_server_instructions": "Kadangi Mastodon yra decentralizuotas, gali susikurti paskyrą kitame serveryje ir vis tiek bendrauti su šiuo serveriu.",
"closed_registrations_modal.description": "Sukurti paskyrą {domain} šiuo metu neįmanoma, tačiau nepamiršk, kad norint naudotis Mastodon nebūtina turėti paskyrą {domain}.",
"closed_registrations_modal.find_another_server": "Rasti kitą serverį",
"column.domain_blocks": "Hidden domains",
"closed_registrations_modal.preamble": "Mastodon yra decentralizuotas, todėl nesvarbu, kur susikursi paskyrą, galėsi sekti ir bendrauti su bet kuriuo šiame serveryje esančiu asmeniu. Jį gali net savarankiškai talpinti!",
"closed_registrations_modal.title": "Užsiregistravimas į Mastodon",
"column.about": "Apie",
"column.blocks": "Užblokuoti naudotojai",
"column.bookmarks": "Žymės",
"column.community": "Vietinė laiko skalė",
"column.direct": "Privatūs paminėjimai",
"column.directory": "Naršyti profilius",
"column.domain_blocks": "Užblokuoti domenai",
"column.favourites": "Mėgstamiausi",
"column.firehose": "Tiesioginiai padavimai",
"column.follow_requests": "Sekti prašymus",
"column.home": "Pradžia",
"column.lists": "Sąrašai",
"column.mutes": "Užtildyti vartotojai",
"column.pins": "Pinned toot",
"column.mutes": "Užtildyti naudotojai",
"column.notifications": "Pranešimai",
"column.pins": "Prisegti įrašai",
"column.public": "Federacinė laiko skalė",
"column_back_button.label": "Atgal",
"column_header.hide_settings": "Slėpti nustatymus",
"column_header.moveLeft_settings": "Judinti stulpelį į kairę",
"column_header.moveRight_settings": "Judinti stulpelį į dešinę",
"column_header.pin": "Prisegti",
"column_header.show_settings": "Rodyti nustatymus",
"column_header.unpin": "Atsegti",
"column_subheading.settings": "Nustatymai",
"community.column_settings.local_only": "Tik vietinis",
"community.column_settings.media_only": "Tik medija",
"community.column_settings.remote_only": "Tik nuotolinis",
"compose.language.change": "Keisti kalbą",
"compose.language.search": "Ieškoti kalbų...",
"compose.published.body": "Įrašas paskelbtas.",
"compose.published.open": "Atidaryti",
"compose.saved.body": "Įrašas išsaugotas.",
"compose_form.direct_message_warning_learn_more": "Sužinoti daugiau",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Jūsų paskyra nėra {locked}. Kiekvienas gali jus sekti ir peržiūrėti tik sekėjams skirtus įrašus.",
"compose_form.lock_disclaimer.lock": "užrakinta",
"compose_form.placeholder": "Kas tavo mintyse?",
"compose_form.poll.add_option": "Pridėti pasirinkimą",
"compose_form.poll.duration": "Apklausos trukmė",
"compose_form.poll.option_placeholder": "Pasirinkimas {number}",
"compose_form.poll.remove_option": "Pašalinti šį pasirinkimą",
"compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų galima pasirinkti kelis pasirinkimus",
"compose_form.publish_form": "Publish",
"compose_form.sensitive.hide": "{count, plural, one {Žymėti mediją kaip jautrią} few {Žymėti medijas kaip jautrias} many {Žymėti medijos kaip jautrios} other {Žymėti medijų kaip jautrių}}",
"compose_form.sensitive.marked": "{count, plural, one {Medija pažymėta kaip jautri} few {Medijos pažymėtos kaip jautrios} many {Medijos pažymėta kaip jautrios} other {Medijų pažymėtos kaip jautrios}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Medija nepažymėta kaip jautri} few {Medijos nepažymėtos kaip jautrios} many {Medijos nepažymėta kaip jautri} other {Medijų nepažymėta kaip jautrios}}",
"compose_form.spoiler.marked": "Text is hidden behind warning",
"compose_form.poll.switch_to_single": "Pakeisti apklausą, kad būtų galima pasirinkti vieną variantą",
"compose_form.publish": "Skelbti",
"compose_form.publish_form": "Naujas įrašas",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Išsaugoti pakeitimus",
"compose_form.sensitive.hide": "{count, plural, one {Žymėti mediją kaip jautrią} few {Žymėti medijas kaip jautrias} many {Žymėti medijo kaip jautrio} other {Žymėti medijų kaip jautrių}}",
"compose_form.sensitive.marked": "{count, plural, one {Medija pažymėta kaip jautri} few {Medijos pažymėtos kaip jautrios} many {Medijo pažymėta kaip jautrio} other {Medijų pažymėtų kaip jautrių}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Medija nepažymėta kaip jautri} few {Medijos nepažymėtos kaip jautrios} many {Medijo nepažymėta kaip jautrio} other {Medijų nepažymėtų kaip jautrių}}",
"compose_form.spoiler.marked": "Pašalinti turinio įspėjimą",
"compose_form.spoiler.unmarked": "Pridėti turinio įspėjimą",
"compose_form.spoiler_placeholder": "Rašyk savo įspėjimą čia",
"confirmation_modal.cancel": "Atšaukti",
"confirmations.block.block_and_report": "Blokuoti ir pranešti",
"confirmations.block.confirm": "Blokuoti",
"confirmations.block.message": "Ar tikrai nori užblokuoti {name}?",
"confirmations.cancel_follow_request.confirm": "Atšaukti prašymą",
"confirmations.cancel_follow_request.message": "Ar tikrai nori atšaukti savo prašymą sekti {name}?",
"confirmations.delete.confirm": "Ištrinti",
"confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.delete_list.confirm": "Ištrinti",
"confirmations.delete_list.message": "Ar tikrai nori visam laikui ištrinti šį sąrašą?",
"confirmations.discard_edit_media.confirm": "Atmesti",
"confirmations.discard_edit_media.message": "Turi neišsaugotų medijos aprašymo ar peržiūros pakeitimų, vis tiek juos atmesti?",
"confirmations.domain_block.confirm": "Hide entire domain",
"confirmations.edit.confirm": "Redaguoti",
"confirmations.edit.message": "Redaguojant dabar, bus perrašyta šiuo metu kuriama žinutė. Ar tikrai nori tęsti?",
"confirmations.logout.confirm": "Atsijungti",
"confirmations.logout.message": "Ar tikrai nori atsijungti?",
"confirmations.mute.confirm": "Nutildyti",
"confirmations.mute.explanation": "Tai paslėps jų įrašus ir įrašus, kuriuose jie menėmi, tačiau jie vis tiek galės matyti tavo įrašus ir sekti.",
"confirmations.reply.confirm": "Atsakyti",
"confirmations.reply.message": "Atsakydamas (-a) dabar perrašysi šiuo metu rašomą žinutę. Ar tikrai nori tęsti?",
"confirmations.reply.message": "Atsakant dabar, bus perrašyta metu kuriama žinutė. Ar tikrai nori tęsti?",
"confirmations.unfollow.confirm": "Nebesekti",
"conversation.mark_as_read": "Žymėti kaip skaitytą",
"conversation.open": "Peržiūrėti pokalbį",
"conversation.with": "Su {names}",
"copy_icon_button.copied": "Nukopijuota į iškarpinę",
"copypaste.copied": "Nukopijuota",
"copypaste.copy_to_clipboard": "Kopijuoti į iškarpinę",
"disabled_account_banner.account_settings": "Paskyros nustatymai",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Štai kaip tai atrodys:",
"emoji_button.objects": "Objektai",
"emoji_button.search": "Paieška...",
"empty_column.account_hides_collections": "Šis naudotojas (-a) pasirinko nepadaryti šią informaciją prieinamą",
"empty_column.account_timeline": "No toots here!",
@ -148,12 +203,64 @@
"empty_column.hashtag": "Nėra nieko šiame saitažodyje kol kas.",
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
"explore.title": "Naršyti",
"explore.trending_links": "Naujienos",
"explore.trending_statuses": "Įrašai",
"explore.trending_tags": "Saitažodžiai",
"filter_modal.added.context_mismatch_explanation": "Ši filtro kategorija netaikoma kontekste, kuriame peržiūrėjote šį pranešimą. Jei norite, kad pranešimas būtų filtruojamas ir šiame kontekste, turėsite redaguoti filtrą.",
"filter_modal.added.context_mismatch_title": "Konteksto neatitikimas!",
"filter_modal.added.expired_explanation": "Ši filtro kategorija nustojo galioti, kad ji būtų taikoma, turėsite pakeisti galiojimo datą.",
"filter_modal.added.expired_title": "Pasibaigė filtro galiojimo laikas!",
"filter_modal.added.review_and_configure": "Norėdami peržiūrėti ir toliau konfigūruoti šią filtro kategoriją, eikite į {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filtro nuostatos",
"filter_modal.added.settings_link": "nustatymų puslapis",
"filter_modal.added.short_explanation": "Šis pranešimas buvo įtrauktas į šią filtro kategoriją: {title}.",
"filter_modal.added.title": "Pridėtas filtras!",
"filter_modal.select_filter.context_mismatch": "netaikoma šiame kontekste",
"filter_modal.select_filter.expired": "nebegalioja",
"filter_modal.select_filter.prompt_new": "Nauja kategorija: {name}",
"filter_modal.select_filter.search": "Ieškoti arba sukurti",
"filter_modal.select_filter.subtitle": "Naudoti esamą kategoriją arba sukurti naują",
"filter_modal.select_filter.title": "Filtruoti šį įrašą",
"filter_modal.title.status": "Filtruoti šį įrašą",
"firehose.all": "Visi",
"firehose.local": "Šis serveris",
"firehose.remote": "Kiti serveriai",
"follow_request.authorize": "Autorizuoti",
"follow_request.reject": "Atmesti",
"follow_requests.unlocked_explanation": "Nors tavo paskyra neužrakinta, {domain} personalas mano, kad galbūt norėsi rankiniu būdu patikrinti šių paskyrų sekimo užklausas.",
"followed_tags": "Sekamos saitažodžiai",
"footer.about": "Apie",
"footer.directory": "Profilių katalogas",
"footer.get_app": "Gauti programėlę",
"footer.invite": "Kviesti žmones",
"footer.keyboard_shortcuts": "Spartieji klavišai",
"footer.privacy_policy": "Privatumo politika",
"footer.source_code": "Peržiūrėti šaltinio kodą",
"footer.status": "Būsena",
"generic.saved": "Išsaugoti",
"getting_started.heading": "Pradedant",
"hashtag.column_header.tag_mode.all": "ir {additional}",
"hashtag.column_header.tag_mode.any": "ar {additional}",
"hashtag.column_header.tag_mode.none": "be {additional}",
"hashtag.column_settings.select.no_options_message": "Pasiūlymų nerasta",
"hashtag.column_settings.select.placeholder": "Įvesti grotažymes…",
"hashtag.column_settings.tag_mode.all": "Visi šie",
"hashtag.column_settings.tag_mode.any": "Bet kuris šių",
"hashtag.column_settings.tag_mode.none": "Nė vienas iš šių",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.counter_by_accounts": "{count, plural,one {{counter} dalyvis}other {{counter} dalyviai}}",
"hashtag.counter_by_uses": "{count, plural, one {{counter} įrašas} other {{counter} įrašų}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} įrašas} other {{counter} įrašų}} šiandien",
"hashtag.follow": "Sekti grotažymę",
"hashtag.unfollow": "Nesekti grotažymės",
"hashtags.and_other": "…ir{count, plural,other {#daugiau}}",
"home.actions.go_to_explore": "Žiūrėti kas populiaru",
"home.actions.go_to_suggestions": "Rasti žmonių sekimui",
"home.column_settings.basic": "Pagrindinis",
"home.column_settings.show_reblogs": "Rodyti \"boosts\"",
"home.column_settings.show_replies": "Rodyti atsakymus",
"home.hide_announcements": "Slėpti skelbimus",
"interaction_modal.no_account_yet": "Nesi Mastodon?",
"interaction_modal.on_another_server": "Kitame serveryje",
"interaction_modal.on_this_server": "Šiame serveryje",
@ -194,8 +301,18 @@
"lightbox.close": "Uždaryti",
"loading_indicator.label": "Kraunama…",
"media_gallery.toggle_visible": "{number, plural, one {Slėpti vaizdą} few {Slėpti vaizdus} many {Slėpti vaizdo} other {Slėpti vaizdų}}",
"moved_to_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu yra išjungta, nes persikėlei į {movedToAccount}.",
"mute_modal.duration": "Trukmė",
"mute_modal.hide_notifications": "Slėpti šio naudotojo pranešimus?",
"navigation_bar.compose": "Compose new toot",
"navigation_bar.discover": "Atrasti",
"navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Redaguoti profilį",
"navigation_bar.explore": "Naršyti",
"navigation_bar.favourites": "Mėgstamiausi",
"navigation_bar.filters": "Nutylėti žodžiai",
"navigation_bar.follow_requests": "Sekti prašymus",
"navigation_bar.followed_tags": "Sekti grotažymę",
"navigation_bar.follows_and_followers": "Sekimai ir sekėjai",
"navigation_bar.lists": "Sąrašai",
"navigation_bar.logout": "Atsijungti",
@ -204,7 +321,16 @@
"navigation_bar.personal": "Asmeninis",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Nuostatos",
"navigation_bar.public_timeline": "Federuota laiko juosta",
"navigation_bar.search": "Ieškoti",
"navigation_bar.security": "Apsauga",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
"notification.admin.report": "{name} pranešė.{target}",
"notification.admin.sign_up": "{name} užsiregistravo",
"notification.favourite": "{name} pamėgo jūsų įrašą",
"notification.follow": "{name} pradėjo jus sekti",
"notification.follow_request": "{name} nori tapti jūsų sekėju",
"notification.mention": "{name} paminėjo jus",
"notification.own_poll": "Tavo apklausa baigėsi",
"notification.poll": "Apklausa, kurioje balsavai, pasibaigė",
"notification.reblog": "{name} boosted your status",
@ -213,15 +339,51 @@
"notifications.clear": "Išvalyti pranešimus",
"notifications.clear_confirmation": "Ar tikrai nori visam laikui išvalyti visus pranešimus?",
"notifications.column_settings.admin.report": "Nauji ataskaitos:",
"notifications.column_settings.admin.sign_up": "Nauji prisiregistravimai:",
"notifications.column_settings.alert": "Darbalaukio pranešimai",
"notifications.column_settings.favourite": "Mėgstamiausi:",
"notifications.column_settings.filter_bar.advanced": "Rodyti visas kategorijas",
"notifications.column_settings.filter_bar.category": "Greito filtro juosta",
"notifications.column_settings.filter_bar.show_bar": "Rodyti filtro juostą",
"notifications.column_settings.follow": "Nauji sekėjai:",
"notifications.column_settings.follow_request": "Nauji prašymai sekti:",
"notifications.column_settings.mention": "Paminėjimai:",
"notifications.column_settings.poll": "Balsavimo rezultatai:",
"notifications.column_settings.push": "\"Push\" pranešimai",
"notifications.column_settings.reblog": "\"Boost\" kiekis:",
"notifications.column_settings.show": "Rodyti stulpelyje",
"notifications.column_settings.sound": "Paleisti garsą",
"notifications.column_settings.status": "New toots:",
"notifications.column_settings.unread_notifications.category": "Neperskaityti pranešimai",
"notifications.column_settings.unread_notifications.highlight": "Paryškinti neperskaitytus pranešimus",
"notifications.column_settings.update": "Redagavimai:",
"notifications.filter.all": "Visi",
"notifications.filter.boosts": "\"Boost\" kiekis",
"notifications.filter.favourites": "Mėgstamiausi",
"notifications.filter.follows": "Sekimai",
"notifications.filter.mentions": "Paminėjimai",
"notifications.filter.polls": "Balsavimo rezultatai",
"notifications.filter.statuses": "Atnaujinimai iš žmonių kuriuos sekate",
"notifications.grant_permission": "Suteikti leidimą.",
"notifications.group": "{count} pranešimai",
"notifications.mark_as_read": "Pažymėti kiekvieną pranešimą kaip perskaitytą",
"notifications.permission_denied": "Darbalaukio pranešimai nepasiekiami dėl anksčiau atmestos naršyklės leidimų užklausos",
"notifications.permission_denied_alert": "Negalima įjungti darbalaukio pranešimų, nes prieš tai naršyklės leidimas buvo atmestas",
"notifications.permission_required": "Darbalaukio pranešimai nepasiekiami, nes nesuteiktas reikiamas leidimas.",
"notifications_permission_banner.enable": "Įjungti darbalaukio pranešimus",
"notifications_permission_banner.how_to_control": "Jei norite gauti pranešimus, kai \"Mastodon\" nėra atidarytas, įjunkite darbalaukio pranešimus. Įjungę darbalaukio pranešimus, galite tiksliai valdyti, kokių tipų sąveikos generuoja darbalaukio pranešimus, naudodamiesi pirmiau esančiu mygtuku {icon}.",
"onboarding.action.back": "Gražinkite mane atgal",
"onboarding.actions.back": "Gražinkite mane atgal",
"onboarding.actions.go_to_explore": "See what's trending",
"onboarding.actions.go_to_home": "Go to your home feed",
"onboarding.compose.template": "Sveiki #Mastodon!",
"onboarding.follows.empty": "Deja, šiuo metu jokių rezultatų parodyti negalima. Galite pabandyti naudoti paiešką arba naršyti atradimo puslapyje, kad surastumėte žmonių, kuriuos norite sekti, arba pabandyti vėliau.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.discoverable": "Padaryti mano profilį atrandamą",
"onboarding.profile.discoverable_hint": "Kai pasirenki Mastodon atrandamumą, tavo įrašai gali būti rodomi paieškos rezultatuose ir trendose, o profilis gali būti siūlomas panašių interesų turintiems žmonėms.",
"onboarding.profile.display_name": "Rodomas vardas",
"onboarding.profile.display_name_hint": "Tavo pilnas vardas arba linksmas vardas…",
"onboarding.profile.indexable": "Įtraukti viešus įrašus į paieškos rezultatus",
"onboarding.profile.lead": "Gali visada tai užbaigti vėliau nustatymuose, kur yra dar daugiau pritaikymo parinkčių.",
"onboarding.profile.note": "Biografija",
"onboarding.profile.note_hint": "Gali @paminėti kitus žmones arba #saitažodžius…",
@ -229,12 +391,15 @@
"onboarding.profile.title": "Profilio konfigūravimas",
"onboarding.profile.upload_avatar": "Įkelti profilio nuotrauką",
"onboarding.profile.upload_header": "Įkelti profilio antraštę",
"onboarding.share.lead": "Praneškite žmonėms, kaip jus rasti \"Mastodon\"!",
"onboarding.share.message": "Aš {username} #Mastodon! Ateik sekti manęs adresu {url}",
"onboarding.share.next_steps": "Galimi kiti žingsniai:",
"onboarding.start.lead": "Dabar esi Mastodon dalis unikalios decentralizuotos socialinės žiniasklaidos platformos, kurioje tu, o ne algoritmas, pats nustatai savo patirtį. Pradėkime tavo kelionę šioje naujoje socialinėje erdvėje:",
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
"onboarding.steps.publish_status.body": "Say hello to the world.",
"onboarding.steps.publish_status.title": "Susikūrk savo pirmąjį įrašą",
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
"onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
@ -250,30 +415,108 @@
"privacy.unlisted.long": "Matomas visiems, bet atsisakyta atradimo funkcijų",
"privacy.unlisted.short": "Neįtrauktas į sąrašą",
"privacy_policy.last_updated": "Paskutinį kartą atnaujinta {date}",
"report.placeholder": "Type or paste additional comments",
"report.submit": "Submit report",
"recommended": "Rekomenduojama",
"relative_time.hours": "{number} val.",
"relative_time.just_now": "dabar",
"relative_time.minutes": "{number} min.",
"relative_time.seconds": "{number} sek.",
"relative_time.today": "šiandien",
"report.mute_explanation": "Jų įrašų nematysi. Jie vis tiek gali tave sekti ir matyti įrašus, bet nežinos, kad jie nutildyti.",
"report.next": "Tęsti",
"report.placeholder": "Papildomi komentarai",
"report.reasons.dislike": "Man tai nepatinka",
"report.reasons.dislike_description": "Tai nėra tai, ką nori matyti",
"report.reasons.legal": "Tai nelegalu",
"report.reasons.legal_description": "Manai, kad tai pažeidžia tavo arba serverio šalies įstatymus",
"report.reasons.other": "Tai kažkas kita",
"report.rules.subtitle": "Pasirink viską, kas tinka",
"report.rules.title": "Kokios taisyklės pažeidžiamos?",
"report.statuses.subtitle": "Pasirinkti viską, kas tinka",
"report.statuses.title": "Ar yra kokių nors įrašų, patvirtinančių šį pranešimą?",
"report.submit": "Pateikti",
"report.target": "Report {target}",
"report.thanks.take_action": "Čia pateikiamos galimybės kontroliuoti, ką matote \"Mastodon\":",
"report.thanks.take_action_actionable": "Kol tai peržiūrėsime, galite imtis veiksmų prieš @{name}:",
"report.thanks.title": "Nenorite to matyti?",
"report.thanks.title_actionable": "Ačiū, kad pranešėte, mes tai išnagrinėsime.",
"report.unfollow": "Nebesekti @{name}",
"report.unfollow_explanation": "Jūs sekate šią paskyrą. Norėdami nebematyti jų įrašų savo pagrindiniame kanale, panaikinkite jų sekimą.",
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
"search.placeholder": "Paieška",
"search.search_or_paste": "Ieškok arba įklijuok URL",
"search_popout.full_text_search_disabled_message": "Nepasiekima {domain}.",
"search_popout.language_code": "ISO kalbos kodas",
"search_popout.specific_date": "konkreti data",
"search_popout.user": "naudotojas",
"search_results.accounts": "Profiliai",
"search_results.all": "Visi",
"search_results.hashtags": "Saitažodžiai",
"search_results.nothing_found": "Nepavyko rasti nieko pagal šiuos paieškos terminus.",
"search_results.statuses": "Toots",
"sign_in_banner.sign_in": "Sign in",
"sign_in_banner.sign_in": "Prisijungimas",
"sign_in_banner.text": "Prisijunk, kad galėtum sekti profilius arba saitažodžius, mėgsti, bendrinti ir atsakyti į įrašus. Taip pat gali bendrauti iš savo paskyros kitame serveryje.",
"status.admin_status": "Open this status in the moderation interface",
"status.copy": "Copy link to status",
"status.copy": "Kopijuoti nuorodą į įrašą",
"status.delete": "Ištrinti",
"status.edit": "Redaguoti",
"status.edited": "Redaguota {date}",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.hide": "Slėpti įrašą",
"status.load_more": "Pakrauti daugiau",
"status.media.open": "Spausk, kad atidaryti",
"status.media.show": "Spausk, kad pamatyti",
"status.media.show": "Spausk, kad matyti",
"status.media_hidden": "Paslėpta medija",
"status.mention": "Paminėti @{name}",
"status.more": "Daugiau",
"status.open": "Expand this status",
"status.pinned": "Pinned toot",
"status.pin": "Prisegti prie profilio",
"status.pinned": "Prisegtas įrašas",
"status.read_more": "Skaityti daugiau",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"status.redraft": "Ištrinti ir iš naujo parengti juodraštį",
"status.reply": "Atsakyti",
"status.replyAll": "Atsakyti į giją",
"status.report": "Pranešti @{name}",
"status.sensitive_warning": "Jautrus turinys",
"status.share": "Bendrinti",
"status.show_filter_reason": "Rodyti vis tiek",
"status.show_less": "Rodyti mažiau",
"status.show_less_all": "Rodyti mažiau visiems",
"status.show_more": "Rodyti daugiau",
"status.show_more_all": "Rodyti daugiau visiems",
"status.show_original": "Rodyti originalą",
"status.title.with_attachments": "{user}{attachmentCount, plural, one {priedas} few {{attachmentCount} priedai} many {{attachmentCount} priedo} other {{attachmentCount} priedų}}",
"status.translate": "Versti",
"status.translated_from_with": "Išversta iš {lang} naudojant {provider}",
"status.uncached_media_warning": "Peržiūra nepasiekiama",
"timeline_hint.resources.statuses": "Older toots",
"tabs_bar.home": "Pradžia",
"tabs_bar.notifications": "Pranešimai",
"time_remaining.days": "Liko {number, plural, one {# diena} few {# dienos} many {# dieno} other {# dienų}}",
"timeline_hint.remote_resource_not_displayed": "{resource} iš kitų serverių nerodomas.",
"timeline_hint.resources.followers": "Sekėjai",
"timeline_hint.resources.follows": "Seka",
"timeline_hint.resources.statuses": "Senesni įrašai",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
"ui.beforeunload": "Jei paliksi Mastodon, tavo juodraštis bus prarastas.",
"units.short.thousand": "{count} tūkst.",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired",
"upload_form.description_missing": "Nėra pridėto aprašymo",
"upload_form.edit": "Redaguoti",
"upload_form.undo": "Ištrinti",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment",
"upload_modal.choose_image": "Pasirinkti vaizdą",
"upload_modal.description_placeholder": "Greita rudoji lapė peršoka tinginį šunį",
"upload_modal.edit_media": "Redaguoti mediją",
"upload_progress.label": "Uploading…"
"upload_progress.label": "Įkeliama...",
"upload_progress.processing": "Apdorojama…",
"username.taken": "Šis naudotojo vardas užimtas. Pabandyk kitą.",
"video.close": "Uždaryti vaizdo įrašą",
"video.download": "Atsisiųsti failą",
"video.exit_fullscreen": "Išeiti iš viso ekrano",
"video.fullscreen": "Visas ekranas",
"video.hide": "Slėpti vaizdo įrašą",
"video.mute": "Nutildyti garsą",
"video.play": "Leisti",
"video.unmute": "Atitildyti garsą"
}

@ -21,6 +21,7 @@
"account.blocked": "Geblokkeerd",
"account.browse_more_on_origin_server": "Zie meer op het originele profiel",
"account.cancel_follow_request": "Ontvolgen",
"account.copy": "Link naar profiel kopiëren",
"account.direct": "@{name} een privébericht sturen",
"account.disable_notifications": "Geen melding meer geven wanneer @{name} een bericht plaatst",
"account.domain_blocked": "Domein geblokkeerd",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Als gelezen markeren",
"conversation.open": "Gesprek tonen",
"conversation.with": "Met {names}",
"copy_icon_button.copied": "Gekopieerd naar klembord",
"copypaste.copied": "Gekopieerd",
"copypaste.copy_to_clipboard": "Naar klembord kopiëren",
"directory.federated": "Fediverse (wat bekend is)",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Helaas kunnen op dit moment geen resultaten worden getoond. Je kunt proberen te zoeken of op de verkenningspagina te bladeren om mensen te vinden die je kunt volgen, of probeer het later opnieuw.",
"onboarding.follows.lead": "Jouw starttijdlijn is de belangrijkste manier om Mastodon te ervaren. Hoe meer mensen je volgt, hoe actiever en interessanter het zal zijn. Om te beginnen, zijn hier enkele suggesties:",
"onboarding.follows.title": "Je starttijdlijn aan jouw wensen aanpassen",
"onboarding.profile.discoverable": "Profiel en berichten laten uitlichten in ontdekkingsalgoritmes",
"onboarding.profile.discoverable": "Maak mij profiel ontdekbaar",
"onboarding.profile.discoverable_hint": "Wanneer je kiest voor Mastodon kun je berichten weergeven in zoekresultaten en trending, en je profiel kan worden voorgesteld aan mensen met vergelijkbare interesses.",
"onboarding.profile.display_name": "Weergavenaam",
"onboarding.profile.display_name_hint": "Jouw volledige naam of een leuke bijnaam…",
"onboarding.profile.indexable": "Openbare berichten in zoekresultaten opnemen",
"onboarding.profile.lead": "Je kunt dit later altijd aanvullen in de instellingen, waar nog meer aanpassingsopties beschikbaar zijn.",
"onboarding.profile.note": "Biografie",
"onboarding.profile.note_hint": "Je kunt andere mensen @vermelden of #hashtags gebruiken…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Minder openbaar",
"privacy_policy.last_updated": "Laatst bijgewerkt op {date}",
"privacy_policy.title": "Privacybeleid",
"recommended": "Aanbevolen",
"refresh": "Vernieuwen",
"regeneration_indicator.label": "Aan het laden…",
"regeneration_indicator.sublabel": "Jouw starttijdlijn wordt aangemaakt!",

@ -21,6 +21,7 @@
"account.blocked": "Blokkert",
"account.browse_more_on_origin_server": "Sjå gjennom meir på den opphavlege profilen",
"account.cancel_follow_request": "Trekk attende fylgeførespurnad",
"account.copy": "Kopier lenka til profilen",
"account.direct": "Nevn @{name} privat",
"account.disable_notifications": "Slutt å varsle meg når @{name} skriv innlegg",
"account.domain_blocked": "Domenet er sperra",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marker som lesen",
"conversation.open": "Sjå samtale",
"conversation.with": "Med {names}",
"copy_icon_button.copied": "Kopiert til utklyppstavla",
"copypaste.copied": "Kopiert",
"copypaste.copy_to_clipboard": "Kopier til utklyppstavla",
"directory.federated": "Frå den kjende allheimen",
@ -390,7 +392,7 @@
"lists.search": "Søk blant folk du fylgjer",
"lists.subheading": "Listene dine",
"load_pending": "{count, plural, one {# nytt element} other {# nye element}}",
"loading_indicator.label": "Laster…",
"loading_indicator.label": "Lastar…",
"media_gallery.toggle_visible": "{number, plural, one {Skjul bilete} other {Skjul bilete}}",
"moved_to_account_banner.text": "Kontoen din, {disabledAccount} er for tida deaktivert fordi du har flytta til {movedToAccount}.",
"mute_modal.duration": "Varigheit",
@ -479,17 +481,15 @@
"onboarding.follows.empty": "Me kan ikkje visa deg nokon resultat no. Du kan prøva å søkja eller bla gjennom utforsk-sida for å finna folk å fylgja, eller du kan prøva att seinare.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.discoverable": "Fremhevede profiler og innlegg i oppdagelsealgoritmer",
"onboarding.profile.display_name": "Visningsnavn",
"onboarding.profile.display_name_hint": "Ditt fulle navn eller ditt morsomme navn…",
"onboarding.profile.indexable": "Inkluder offentlige innlegg i søkeresultatene",
"onboarding.profile.lead": "Du kan alltid fullføre dette senere i innstillingene, der enda flere tilpasningsalternativer er tilgjengelige.",
"onboarding.profile.display_name": "Synleg namn",
"onboarding.profile.display_name_hint": "Det fulle namnet eller kallenamnet ditt…",
"onboarding.profile.lead": "Du kan alltid fullføra dette seinare i innstillingane, og der er det endå fleire tilpassingsalternativ.",
"onboarding.profile.note": "Om meg",
"onboarding.profile.note_hint": "Du kan @nevne andre eller #emneknagger…",
"onboarding.profile.save_and_continue": "Lagre og fortsett",
"onboarding.profile.title": "Konfigurering av profil",
"onboarding.profile.upload_avatar": "Last opp profilbilde",
"onboarding.profile.upload_header": "Last opp profiltoppbilde",
"onboarding.profile.note_hint": "Du kan @nemna folk eller #emneknaggar…",
"onboarding.profile.save_and_continue": "Lagre og hald fram",
"onboarding.profile.title": "Profiloppsett",
"onboarding.profile.upload_avatar": "Last opp profilbilete",
"onboarding.profile.upload_header": "Last opp profiltoppbilete",
"onboarding.share.lead": "La folk vita korleis dei kan finna deg på Mastodon!",
"onboarding.share.message": "Eg er {username} på #Mastodon! Du kan fylgja meg på {url}",
"onboarding.share.next_steps": "Dette kan du gjera no:",

@ -21,6 +21,7 @@
"account.blocked": "Blokkert",
"account.browse_more_on_origin_server": "Bla mer på den opprinnelige profilen",
"account.cancel_follow_request": "Avbryt følgeforespørselen",
"account.copy": "Kopier lenke til profil",
"account.direct": "Nevn @{name} privat",
"account.disable_notifications": "Slutt å varsle meg når @{name} legger ut innlegg",
"account.domain_blocked": "Domene blokkert",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marker som lest",
"conversation.open": "Vis samtale",
"conversation.with": "Med {names}",
"copy_icon_button.copied": "Kopiert til utklippstavlen",
"copypaste.copied": "Kopiert",
"copypaste.copy_to_clipboard": "Kopier til utklippstavle",
"directory.federated": "Fra det kjente strømiverset",
@ -479,10 +481,8 @@
"onboarding.follows.empty": "Dessverre kan ingen resultater vises akkurat nå. Du kan prøve å bruke søk eller bla gjennom utforske-siden for å finne folk å følge, eller prøve igjen senere.",
"onboarding.follows.lead": "Hjem-skjermen din er den viktigste måten å oppleve Mastodon på. Jo flere du følger, jo mer aktiv og interessant blir det. For å komme i gang, er her noen forslag:",
"onboarding.follows.title": "Populært på Mastodon",
"onboarding.profile.discoverable": "Fremhevede profiler og innlegg i oppdagelsealgoritmer",
"onboarding.profile.display_name": "Visningsnavn",
"onboarding.profile.display_name_hint": "Ditt fulle navn eller ditt morsomme navn…",
"onboarding.profile.indexable": "Inkluder offentlige innlegg i søkeresultatene",
"onboarding.profile.lead": "Du kan alltid fullføre dette senere i innstillingene, der enda flere tilpasningsalternativer er tilgjengelige.",
"onboarding.profile.note": "Om meg",
"onboarding.profile.note_hint": "Du kan @nevne andre eller #emneknagger…",

@ -21,6 +21,7 @@
"account.blocked": "Zablokowany(-a)",
"account.browse_more_on_origin_server": "Zobacz więcej na oryginalnym profilu",
"account.cancel_follow_request": "Wycofaj żądanie obserwowania",
"account.copy": "Skopiuj odnośnik do profilu",
"account.direct": "Prywatna wzmianka @{name}",
"account.disable_notifications": "Przestań powiadamiać mnie o wpisach @{name}",
"account.domain_blocked": "Ukryto domenę",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Oznacz jako przeczytane",
"conversation.open": "Zobacz konwersację",
"conversation.with": "Z {names}",
"copy_icon_button.copied": "Skopiowano do schowka",
"copypaste.copied": "Skopiowano",
"copypaste.copy_to_clipboard": "Skopiuj do schowka",
"directory.federated": "Ze znanego fediwersum",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Niestety w tej chwili nie można przedstawić żadnych wyników. Możesz spróbować wyszukać lub przeglądać stronę, aby znaleźć osoby do śledzenia, lub spróbować ponownie później.",
"onboarding.follows.lead": "Zarządasz swoim własnym kanałem. Im więcej ludzi śledzisz, tym bardziej aktywny i ciekawy będzie Twój kanał. Te profile mogą być dobrym punktem wyjścia— możesz przestać je obserwować w dowolnej chwili!",
"onboarding.follows.title": "Popularne na Mastodonie",
"onboarding.profile.discoverable": "Udostępniaj profil i wpisy funkcjom odkrywania",
"onboarding.profile.discoverable": "Spraw mój profil odkrywalnym",
"onboarding.profile.discoverable_hint": "Kiedy zapisujesz się do odkrywalności w Mastodonie, twoje wpisy mogą pokazywać się w wynikach wyszukiwania i trendach, a twój profil może być sugerowany użytkownikom o podobnych zainteresowaniach.",
"onboarding.profile.display_name": "Nazwa wyświetlana",
"onboarding.profile.display_name_hint": "Twoje imię lub pseudonim…",
"onboarding.profile.indexable": "Pokaż publiczne wpisy w wynikach wyszukiwania",
"onboarding.profile.lead": "Możesz wypełnić te dane później w menu ustawień, gdzie dostępnych jest jeszcze więcej opcji.",
"onboarding.profile.note": "O mnie",
"onboarding.profile.note_hint": "Możesz @wspomnieć użytkowników albo #hasztagi…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Niewidoczny",
"privacy_policy.last_updated": "Data ostatniej aktualizacji: {date}",
"privacy_policy.title": "Polityka prywatności",
"recommended": "Zalecane",
"refresh": "Odśwież",
"regeneration_indicator.label": "Ładuję…",
"regeneration_indicator.sublabel": "Twoja oś czasu jest przygotowywana!",

@ -21,6 +21,7 @@
"account.blocked": "Bloqueado",
"account.browse_more_on_origin_server": "Veja mais no perfil original",
"account.cancel_follow_request": "Cancelar solicitação para seguir",
"account.copy": "Copiar link do perfil",
"account.direct": "Mencione em privado @{name}",
"account.disable_notifications": "Cancelar notificações de @{name}",
"account.domain_blocked": "Domínio bloqueado",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como lida",
"conversation.open": "Ver conversa",
"conversation.with": "Com {names}",
"copy_icon_button.copied": "Copiado para a área de transferência",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar para a área de transferência",
"directory.federated": "Do fediverso conhecido",
@ -390,6 +392,7 @@
"lists.search": "Procurar entre as pessoas que segue",
"lists.subheading": "Suas listas",
"load_pending": "{count, plural, one {# novo item} other {# novos items}}",
"loading_indicator.label": "Carregando…",
"media_gallery.toggle_visible": "{number, plural, one {Ocultar mídia} other {Ocultar mídias}}",
"moved_to_account_banner.text": "Sua conta {disabledAccount} está desativada porque você a moveu para {movedToAccount}.",
"mute_modal.duration": "Duração",
@ -478,6 +481,17 @@
"onboarding.follows.empty": "Infelizmente, não é possível mostrar resultados agora. Você pode tentar usar a busca ou navegar na página de exploração para encontrar pessoas para seguir, ou tentar novamente mais tarde.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular no Mastodon",
"onboarding.profile.discoverable": "Tornar meu perfil descobrível",
"onboarding.profile.discoverable_hint": "Quando você aceita a capacidade de descoberta no Mastodon, suas postagens podem aparecer nos resultados de pesquisa e nas tendências, e seu perfil pode ser sugerido a pessoas com interesses similares aos seus.",
"onboarding.profile.display_name": "Nome de exibição",
"onboarding.profile.display_name_hint": "Seu nome completo ou apelido…",
"onboarding.profile.lead": "Você sempre pode completar isso mais tarde nas configurações, onde ainda mais opções de personalização estão disponíveis.",
"onboarding.profile.note": "Biografia",
"onboarding.profile.note_hint": "Você pode @mencionar outras pessoas ou usar #hashtags…",
"onboarding.profile.save_and_continue": "Salvar e continuar",
"onboarding.profile.title": "Configuração do perfil",
"onboarding.profile.upload_avatar": "Enviar imagem de perfil",
"onboarding.profile.upload_header": "Carregar cabeçalho do perfil",
"onboarding.share.lead": "Deixe as pessoas saberem como elas podem te encontrar no Mastodon!",
"onboarding.share.message": "Eu sou {username} no #Mastodon! Venha me seguir em {url}",
"onboarding.share.next_steps": "Possíveis próximos passos:",
@ -521,6 +535,7 @@
"privacy.unlisted.short": "Não-listado",
"privacy_policy.last_updated": "Atualizado {date}",
"privacy_policy.title": "Política de privacidade",
"recommended": "Recomendado",
"refresh": "Atualizar",
"regeneration_indicator.label": "Carregando…",
"regeneration_indicator.sublabel": "Sua página inicial está sendo preparada!",

@ -21,6 +21,7 @@
"account.blocked": "Bloqueado(a)",
"account.browse_more_on_origin_server": "Encontrar mais no perfil original",
"account.cancel_follow_request": "Retirar pedido para seguir",
"account.copy": "Copiar hiperligação para o perfil",
"account.direct": "Mencionar @{name} em privado",
"account.disable_notifications": "Parar de me notificar das publicações de @{name}",
"account.domain_blocked": "Domínio bloqueado",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Marcar como lida",
"conversation.open": "Ver conversa",
"conversation.with": "Com {names}",
"copy_icon_button.copied": "Copiado para a área de transferência",
"copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar para a área de transferência",
"directory.federated": "Do fediverso conhecido",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Infelizmente, não é possível mostrar resultados neste momento. Pode tentar utilizar a pesquisa ou navegar na página \"Explorar\" para encontrar pessoas para seguir ou tentar novamente mais tarde.",
"onboarding.follows.lead": "Você personaliza a sua própria página inicial. Quanto mais pessoas seguir, mais ativa e interessante ela será. Estes perfis podem ser um bom ponto de partida - pode sempre deixar de os seguir mais tarde!",
"onboarding.follows.title": "Popular no Mastodon",
"onboarding.profile.discoverable": "Destacar perfil e publicações nos algoritmos de descoberta",
"onboarding.profile.discoverable": "Permitir que o meu perfil seja descoberto",
"onboarding.profile.discoverable_hint": "Quando opta pela possibilidade de ser descoberto no Mastodon, as suas mensagens podem aparecer nos resultados de pesquisa e nas tendências, e o seu perfil pode ser sugerido a pessoas com interesses semelhantes aos seus.",
"onboarding.profile.display_name": "Nome a apresentar",
"onboarding.profile.display_name_hint": "O seu nome completo ou o seu nome divertido…",
"onboarding.profile.indexable": "Incluir publicações públicas nos resultados de pesquisa",
"onboarding.profile.lead": "Pode sempre completar isto mais tarde, nas configurações, onde ainda estão disponíveis mais opções de personalização.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "Pode @mencionar outras pessoas ou #hashtags…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Não listar",
"privacy_policy.last_updated": "Última atualização em {date}",
"privacy_policy.title": "Política de privacidade",
"recommended": "Recomendado",
"refresh": "Actualizar",
"regeneration_indicator.label": "A carregar…",
"regeneration_indicator.sublabel": "A tua página inicial está a ser preparada!",

@ -21,6 +21,7 @@
"account.blocked": "Blokovaný/á",
"account.browse_more_on_origin_server": "Prehľadávaj viac na pôvodnom profile",
"account.cancel_follow_request": "Zruš žiadosť o sledovanie",
"account.copy": "Skopíruj odkaz pre profil",
"account.direct": "Spomeň @{name} súkromne",
"account.disable_notifications": "Prestaň mi oznamovať, keď má @{name} príspevky",
"account.domain_blocked": "Doména skrytá",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Označ za prečítané",
"conversation.open": "Ukáž konverzáciu",
"conversation.with": "S {names}",
"copy_icon_button.copied": "Skopírovaný do schránky",
"copypaste.copied": "Skopírované",
"copypaste.copy_to_clipboard": "Skopíruj do schránky",
"directory.federated": "Zo známého fedivesmíru",
@ -477,6 +479,7 @@
"onboarding.follows.empty": "Žiaľ, momentálne sa nedajú zobraziť žiadne výsledky. Môžete skúsiť použiť vyhľadávanie alebo navštíviť stránku objavovania a nájsť ľudí, ktorých chcete sledovať, alebo to skúste znova neskôr.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.discoverable": "Urob môj profil objaviteľný",
"onboarding.share.lead": "Daj ľudom vedieť, ako ťa môžu na Mastodone nájsť!",
"onboarding.share.message": "Na Mastodone som {username}. Príď ma nasledovať na {url}",
"onboarding.share.next_steps": "Ďalšie možné kroky:",
@ -520,6 +523,7 @@
"privacy.unlisted.short": "Verejne, ale nezobraziť v osi",
"privacy_policy.last_updated": "Posledná úprava {date}",
"privacy_policy.title": "Zásady súkromia",
"recommended": "Odporúčané",
"refresh": "Obnoviť",
"regeneration_indicator.label": "Načítava sa…",
"regeneration_indicator.sublabel": "Tvoja domovská nástenka sa pripravuje!",

@ -21,6 +21,7 @@
"account.blocked": "Blokirano",
"account.browse_more_on_origin_server": "Brskaj več po izvirnem profilu",
"account.cancel_follow_request": "Umakni zahtevo za sledenje",
"account.copy": "Kopiraj povezavo do profila",
"account.direct": "Zasebno omeni @{name}",
"account.disable_notifications": "Ne obveščaj me več, ko ima @{name} novo objavo",
"account.domain_blocked": "Blokirana domena",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Označi kot prebrano",
"conversation.open": "Pokaži pogovor",
"conversation.with": "Z {names}",
"copy_icon_button.copied": "Kopirano v odložišče",
"copypaste.copied": "Kopirano",
"copypaste.copy_to_clipboard": "Kopiraj na odložišče",
"directory.federated": "Iz znanega fediverzuma",
@ -390,6 +392,7 @@
"lists.search": "Iščite med ljudmi, katerim sledite",
"lists.subheading": "Vaši seznami",
"load_pending": "{count, plural, one {# nov element} two {# nova elementa} few {# novi elementi} other {# novih elementov}}",
"loading_indicator.label": "Nalaganje …",
"media_gallery.toggle_visible": "{number, plural,one {Skrij sliko} two {Skrij sliki} other {Skrij slike}}",
"moved_to_account_banner.text": "Vaš račun {disabledAccount} je trenutno onemogočen, ker ste se prestavili na {movedToAccount}.",
"mute_modal.duration": "Trajanje",
@ -478,6 +481,17 @@
"onboarding.follows.empty": "Žal trenutno ni mogoče prikazati nobenih rezultatov. Lahko poskusite z iskanjem ali brskanjem po strani za raziskovanje, da poiščete osebe, ki jim želite slediti, ali poskusite znova pozneje.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Priljubljeno na Mastodonu",
"onboarding.profile.discoverable": "Naj bo moj profil mogoče najti",
"onboarding.profile.discoverable_hint": "Ko se odločite za razkrivanje na Mastodonu, se lahko vaše objave pojavijo v rezultatih iskanja in trendih, vaš profil pa se lahko predlaga ljudem, ki imajo podobne interese kot vi.",
"onboarding.profile.display_name": "Pojavno ime",
"onboarding.profile.display_name_hint": "Vaše polno ime ali lažno ime ...",
"onboarding.profile.lead": "To lahko vedno dokončate med nastavitvami, kjer je na voljo še več možnosti prilagajanja.",
"onboarding.profile.note": "Biografija",
"onboarding.profile.note_hint": "Druge osebe lahko @omenite ali #ključite ...",
"onboarding.profile.save_and_continue": "Shrani in nadaljuj",
"onboarding.profile.title": "Nastavitev profila",
"onboarding.profile.upload_avatar": "Naloži sliko profila",
"onboarding.profile.upload_header": "Naloži glavo profila",
"onboarding.share.lead": "Povejte vsem, kako vas lahko najdejo na Mastodonu!",
"onboarding.share.message": "Sem {username} na #Mastodon! Sledite mi na {url}",
"onboarding.share.next_steps": "Možni naslednji koraki:",
@ -521,6 +535,7 @@
"privacy.unlisted.short": "Ni prikazano",
"privacy_policy.last_updated": "Zadnja posodobitev {date}",
"privacy_policy.title": "Pravilnik o zasebnosti",
"recommended": "Priporočeno",
"refresh": "Osveži",
"regeneration_indicator.label": "Nalaganje …",
"regeneration_indicator.sublabel": "Vaš domači vir se pripravlja!",

@ -21,6 +21,7 @@
"account.blocked": "E bllokuar",
"account.browse_more_on_origin_server": "Shfletoni më tepër rreth profilit origjinal",
"account.cancel_follow_request": "Tërhiq mbrapsht kërkesë për ndjekje",
"account.copy": "Kopjoje lidhjen te profili",
"account.direct": "Përmendje private për @{name}",
"account.disable_notifications": "Resht së njoftuari mua, kur poston @{name}",
"account.domain_blocked": "Përkatësia u bllokua",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Vëri shenjë si të lexuar",
"conversation.open": "Shfaq bisedën",
"conversation.with": "Me {names}",
"copy_icon_button.copied": "U kopjua në të papastër",
"copypaste.copied": "U kopjua",
"copypaste.copy_to_clipboard": "Kopjoje në të papastër",
"directory.federated": "Nga fedivers i njohur",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Mjerisht, smund të shfaqen përfundime tani. Mund të provoni të përdorni kërkimin, ose të shfletoni faqen e eksplorimit, që të gjeni persona për ndjekje, ose të riprovoni më vonë.",
"onboarding.follows.lead": "Ju kujdeseni për prurjen tuaj. Sa më tepër persona të tjerë të ndiqni, aq më aktive dhe interesante do të bëhet ajo. Këto profile mund të jenë një pikënisje e mirë—mundeni përherë të ndërpritni ndjekjen e tyre më vonë!",
"onboarding.follows.title": "Popullore në Mastodon",
"onboarding.profile.discoverable": "Profilin dhe postimet bëji objekt të algoritmeve të zbulimit",
"onboarding.profile.discoverable": "Bëje profilin tim të zbulueshëm",
"onboarding.profile.discoverable_hint": "Kur zgjidhni të jeni i zbulueshëm në Mastodon, postimet tuaja mund të shfaqen në përfundime kërkimesh dhe gjëra në modë dhe profili juaj mund tu sugjerohet njerëzve me interesa të ngjashme me ju.",
"onboarding.profile.display_name": "Emër në ekran",
"onboarding.profile.display_name_hint": "Emri juaj i plotë, ose çtë doni…",
"onboarding.profile.indexable": "Përfshi postime publike në përfundime kërkimi",
"onboarding.profile.lead": "Këtë mund ta plotësoni përherë më vonë, te rregullimet, ku ka edhe më tepër mundësi përshtatjeje.",
"onboarding.profile.note": "Jetëshkrim",
"onboarding.profile.note_hint": "Mund të @përmendni persona të tjerë, ose #hashtagë…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Jo në lista",
"privacy_policy.last_updated": "Përditësuar së fundi më {date}",
"privacy_policy.title": "Rregulla Privatësie",
"recommended": "E rekomanduar",
"refresh": "Rifreskoje",
"regeneration_indicator.label": "Po ngarkohet…",
"regeneration_indicator.sublabel": "Prurja juaj vetjake po përgatitet!",

@ -21,6 +21,7 @@
"account.blocked": "Блокиран",
"account.browse_more_on_origin_server": "Прегледајте још на оригиналном профилу",
"account.cancel_follow_request": "Откажи праћење",
"account.copy": "Копирај везу у профил",
"account.direct": "Приватно помени @{name}",
"account.disable_notifications": "Заустави обавештавање за објаве корисника @{name}",
"account.domain_blocked": "Домен је блокиран",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Означи као прочитано",
"conversation.open": "Прикажи разговор",
"conversation.with": "Са {names}",
"copy_icon_button.copied": "Копирано",
"copypaste.copied": "Копирано",
"copypaste.copy_to_clipboard": "Копирај",
"directory.federated": "Са знаног федиверзума",
@ -390,6 +392,7 @@
"lists.search": "Претражи међу људима које пратите",
"lists.subheading": "Ваше листе",
"load_pending": "{count, plural, one {# нова ставка} few {# нове ставке} other {# нових ставки}}",
"loading_indicator.label": "Учитавање…",
"media_gallery.toggle_visible": "{number, plural, one {Сакриј слику} few {Сакриј слике} other {Сакриј слике}}",
"moved_to_account_banner.text": "Ваш налог {disabledAccount} је тренутно онемогућен јер сте прешли на {movedToAccount}.",
"mute_modal.duration": "Трајање",
@ -478,6 +481,17 @@
"onboarding.follows.empty": "Нажалост, тренутно се не могу приказати резултати. Можете покушати са коришћењем претраге или прегледањем странице за истраживање да бисте пронашли људе које ћете пратити или покушајте поново касније.",
"onboarding.follows.lead": "Ваша почетна страница је примарни начин да доживите Mastodon. Што више људи будете пратили, то ће бити активније и занимљивије. Да бисте започели, ево неколико предлога:",
"onboarding.follows.title": "Персонализујте своју почетну страницу",
"onboarding.profile.discoverable": "Нека се мој профил може открити другима",
"onboarding.profile.discoverable_hint": "Када омогућите могућност откривања на Mastodon-у, ваше објаве се могу појавити у резултатима претраге и у тренду, а ваш профил може бити предложен људима са сличним интересовањима.",
"onboarding.profile.display_name": "Име за приказ",
"onboarding.profile.display_name_hint": "Ваше пуно име или надимак…",
"onboarding.profile.lead": "Ово можете увек довршити касније у подешавањима, где је доступно још више опција прилагођавања.",
"onboarding.profile.note": "Биографија",
"onboarding.profile.note_hint": "Можете да @поменете друге људе или #хеш ознаке…",
"onboarding.profile.save_and_continue": "Сачувај и настави",
"onboarding.profile.title": "Подешавање профила",
"onboarding.profile.upload_avatar": "Отпреми слику профила",
"onboarding.profile.upload_header": "Отпреми заглавље профила",
"onboarding.share.lead": "Нека људи знају како могу да вас пронађу на Mastodon-у!",
"onboarding.share.message": "Ја сам {username} на #Mastodon-у! Пратите ме на {url}",
"onboarding.share.next_steps": "Могући следећи кораци:",
@ -521,6 +535,7 @@
"privacy.unlisted.short": "Неизлистано",
"privacy_policy.last_updated": "Последње ажурирање {date}",
"privacy_policy.title": "Политика приватности",
"recommended": "Препоручено",
"refresh": "Освежи",
"regeneration_indicator.label": "Учитавање…",
"regeneration_indicator.sublabel": "Ваша почетна страница се припрема!",

@ -21,6 +21,7 @@
"account.blocked": "Blockerad",
"account.browse_more_on_origin_server": "Läs mer på den ursprungliga profilen",
"account.cancel_follow_request": "Återkalla din begäran om att få följa",
"account.copy": "Kopiera länk till profil",
"account.direct": "Nämn @{name} privat",
"account.disable_notifications": "Sluta notifiera mig när @{name} gör inlägg",
"account.domain_blocked": "Domän blockerad",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Markera som läst",
"conversation.open": "Visa konversation",
"conversation.with": "Med {names}",
"copy_icon_button.copied": "Kopierad till urklipp",
"copypaste.copied": "Kopierad",
"copypaste.copy_to_clipboard": "Kopiera till urklipp",
"directory.federated": "Från känt fediversum",
@ -479,9 +481,10 @@
"onboarding.follows.empty": "Tyvärr kan inga resultat visas just nu. Du kan prova att använda sökfunktionen eller utforska sidan för att hitta personer att följa, eller försök igen senare.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.discoverable": "Gör min profil upptäckbar",
"onboarding.profile.discoverable_hint": "När du väljer att vara upptäckbar på Mastodon kan dina inlägg visas i sök- och trendresultat, och din profil kan föreslås för personer med liknande intressen som du.",
"onboarding.profile.display_name": "Visningsnamn",
"onboarding.profile.display_name_hint": "Fullständigt namn eller ditt roliga namn…",
"onboarding.profile.indexable": "Inkludera offentliga inlägg i sökresultaten",
"onboarding.profile.lead": "Du kan alltid slutföra detta senare i inställningarna, där ännu fler anpassningsalternativ finns tillgängliga.",
"onboarding.profile.note": "Bio",
"onboarding.profile.note_hint": "Du kan @nämna andra personer eller #hashtags…",
@ -530,6 +533,7 @@
"privacy.unlisted.short": "Olistad",
"privacy_policy.last_updated": "Senast uppdaterad {date}",
"privacy_policy.title": "Integritetspolicy",
"recommended": "Rekommenderas",
"refresh": "Läs om",
"regeneration_indicator.label": "Laddar…",
"regeneration_indicator.sublabel": "Ditt hemmaflöde förbereds!",

@ -21,6 +21,7 @@
"account.blocked": "ปิดกั้นอยู่",
"account.browse_more_on_origin_server": "เรียกดูเพิ่มเติมในโปรไฟล์ดั้งเดิม",
"account.cancel_follow_request": "ยกเลิกการติดตาม",
"account.copy": "คัดลอกลิงก์ไปยังโปรไฟล์",
"account.direct": "กล่าวถึง @{name} แบบส่วนตัว",
"account.disable_notifications": "หยุดแจ้งเตือนฉันเมื่อ @{name} โพสต์",
"account.domain_blocked": "ปิดกั้นโดเมนอยู่",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "ทำเครื่องหมายว่าอ่านแล้ว",
"conversation.open": "ดูการสนทนา",
"conversation.with": "กับ {names}",
"copy_icon_button.copied": "คัดลอกไปยังคลิปบอร์ดแล้ว",
"copypaste.copied": "คัดลอกแล้ว",
"copypaste.copy_to_clipboard": "คัดลอกไปยังคลิปบอร์ด",
"directory.federated": "จากจักรวาลสหพันธ์ที่รู้จัก",
@ -479,22 +481,22 @@
"onboarding.follows.empty": "น่าเสียดาย ไม่สามารถแสดงผลลัพธ์ได้ในตอนนี้ คุณสามารถลองใช้การค้นหาหรือเรียกดูหน้าสำรวจเพื่อค้นหาผู้คนที่จะติดตาม หรือลองอีกครั้งในภายหลัง",
"onboarding.follows.lead": "ฟีดหน้าแรกของคุณเป็นวิธีหลักในการสัมผัส Mastodon ยิ่งคุณติดตามผู้คนมากเท่าไร ฟีดหน้าแรกก็จะยิ่งมีการใช้งานและน่าสนใจมากขึ้นเท่านั้น เพื่อช่วยให้คุณเริ่มต้นใช้งาน นี่คือข้อเสนอแนะบางส่วน:",
"onboarding.follows.title": "ปรับแต่งฟีดหน้าแรกของคุณ",
"onboarding.profile.discoverable": "แสดงโปรไฟล์และโพสต์ในอัลกอริทึมการค้นพบ",
"onboarding.profile.discoverable": "ทำให้โปรไฟล์ของฉันสามารถค้นพบได้",
"onboarding.profile.discoverable_hint": "เมื่อคุณเลือกรับความสามารถในการค้นพบใน Mastodon โพสต์ของคุณอาจปรากฏในผลลัพธ์การค้นหาและกำลังนิยม และอาจเสนอแนะโปรไฟล์ของคุณให้กับผู้คนที่มีความสนใจคล้ายกับคุณ",
"onboarding.profile.display_name": "ชื่อที่แสดง",
"onboarding.profile.display_name_hint": "ชื่อเต็มหรือชื่อแบบสนุกสนานของคุณ",
"onboarding.profile.indexable": "รวมโพสต์สาธารณะในผลลัพธ์การค้นหา",
"onboarding.profile.lead": "คุณสามารถกลับมาทำต่อได้เสมอในการตั้งค่า ซึ่งจะมีตัวเลือกในการปรับแต่งมากกว่า",
"onboarding.profile.display_name_hint": "ชื่อเต็มของคุณหรือชื่อแบบสนุกสนานของคุณ…",
"onboarding.profile.lead": "คุณสามารถทำสิ่งนี้ให้เสร็จสมบูรณ์ในภายหลังได้เสมอในการตั้งค่า ที่ซึ่งตัวเลือกการปรับแต่งเพิ่มเติมพร้อมใช้งาน",
"onboarding.profile.note": "ชีวประวัติ",
"onboarding.profile.note_hint": "คุณสามารถ @กล่าวถึง ผู้คนอื่น ๆ หรือ #แฮชแท็ก",
"onboarding.profile.note_hint": "คุณสามารถ @กล่าวถึง ผู้คนอื่น ๆ หรือ #แฮชแท็ก",
"onboarding.profile.save_and_continue": "บันทึกและดำเนินการต่อ",
"onboarding.profile.title": "การตั้งค่าโปรไฟล์",
"onboarding.profile.upload_avatar": "อัปโหลดรูปโปรไฟล์",
"onboarding.profile.upload_header": "อัปโหลดรูปส่วนหัวโปรไฟล์",
"onboarding.profile.upload_avatar": "อัปโหลดรูปภาพโปรไฟล์",
"onboarding.profile.upload_header": "อัปโหลดส่วนหัวโปรไฟล์",
"onboarding.share.lead": "แจ้งให้ผู้คนทราบวิธีที่เขาสามารถค้นหาคุณใน Mastodon!",
"onboarding.share.message": "ฉันคือ {username} ใน #Mastodon! มาติดตามฉันที่ {url}",
"onboarding.share.next_steps": "ขั้นตอนถัดไปที่เป็นไปได้:",
"onboarding.share.title": "แบ่งปันโปรไฟล์ของคุณ",
"onboarding.start.lead": "ตอนนี้คุณเป็นส่วนหนึ่งของ Mastodon แพลตฟอร์มสื่อสังคมที่มีเอกลักษณ์ กระจายศูนย์ ที่ซึ่งคุณ—ไม่ใช่อัลกอริทึม—เรียบเรียงประสบการณ์ของคุณเอง มาช่วยให้คุณเริ่มต้นใช้งานพรมแดนทางสังคมใหม่นี้กันเลย:",
"onboarding.start.lead": "ตอนนี้คุณเป็นส่วนหนึ่งของ Mastodon แพลตฟอร์มสื่อสังคมที่มีเอกลักษณ์เฉพาะตัว กระจายศูนย์ ที่ซึ่งคุณ—ไม่ใช่อัลกอริทึม—เรียบเรียงประสบการณ์ของคุณเอง มาช่วยให้คุณเริ่มต้นใช้งานพรมแดนทางสังคมใหม่นี้กันเลย:",
"onboarding.start.skip": "ไม่ต้องการความช่วยเหลือในการเริ่มต้นใช้งาน?",
"onboarding.start.title": "คุณทำสำเร็จแล้ว!",
"onboarding.steps.follow_people.body": "การติดตามผู้คนที่น่าสนใจคือสิ่งที่ Mastodon ให้ความสำคัญ",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "ไม่อยู่ในรายการ",
"privacy_policy.last_updated": "อัปเดตล่าสุดเมื่อ {date}",
"privacy_policy.title": "นโยบายความเป็นส่วนตัว",
"recommended": "แนะนำ",
"refresh": "รีเฟรช",
"regeneration_indicator.label": "กำลังโหลด…",
"regeneration_indicator.sublabel": "กำลังเตรียมฟีดหน้าแรกของคุณ!",

@ -21,6 +21,7 @@
"account.blocked": "Engellendi",
"account.browse_more_on_origin_server": "Orijinal profilde daha fazlasına göz atın",
"account.cancel_follow_request": "Takip isteğini geri çek",
"account.copy": "Gönderi bağlantısını kopyala",
"account.direct": "@{name} kullanıcısına özelden değin",
"account.disable_notifications": "@{name} kişisinin gönderi bildirimlerini kapat",
"account.domain_blocked": "Alan adı engellendi",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Okundu olarak işaretle",
"conversation.open": "Sohbeti görüntüle",
"conversation.with": "{names} ile",
"copy_icon_button.copied": "Panoya kopyalandı",
"copypaste.copied": "Kopyalandı",
"copypaste.copy_to_clipboard": "Panoya kopyala",
"directory.federated": "Bilinen fediverse'lerden",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "Maalesef şu an bir sonuç gösterilemiyor. Takip edilecek kişileri bulmak için arama veya keşfet sayfasına gözatmayı kullanabilirsiniz veya daha sonra tekrar deneyin.",
"onboarding.follows.lead": "Kendi ana akışınızı siz düzenliyorsunuz. Siz daha fazla insanı takip ettikçe, daha etkin ve ilgi çekici olacaktır. Bu profiller iyi bir başlangıç olabilir, isterseniz izlemeyi daha sonra bırakabilirsiniz:",
"onboarding.follows.title": "Mastodon'da Popüler",
"onboarding.profile.discoverable": "Profil ve gönderileri keşif algoritmalarında kullan",
"onboarding.profile.discoverable": "Profilimi keşfedilebilir yap",
"onboarding.profile.discoverable_hint": "Mastodon'da keşfedilebilirliği etkinleştirdiğinizde, gönderileriniz arama sonuçlarında ve trendlerde görünebilir aynı zamanda profiliniz sizinle benzer ilgi alanlarına sahip kişilere önerilebilir.",
"onboarding.profile.display_name": "Görünen isim",
"onboarding.profile.display_name_hint": "Tam adınız veya kullanıcı adınız…",
"onboarding.profile.indexable": "Herkese açık gönderileri arama sonuçlarına ekle",
"onboarding.profile.lead": "Bunu her zaman daha sonra ayarlardan tamamlayabilirsiniz, hatta daha fazla özelleştirme seçeneğine de ulaşabilirsiniz.",
"onboarding.profile.note": "Kişisel bilgiler",
"onboarding.profile.note_hint": "Diğer insanlara @değinebilir veya #etiketler kullanabilirsiniz…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Listelenmemiş",
"privacy_policy.last_updated": "Son güncelleme {date}",
"privacy_policy.title": "Gizlilik Politikası",
"recommended": "Önerilen",
"refresh": "Yenile",
"regeneration_indicator.label": "Yükleniyor…",
"regeneration_indicator.sublabel": "Ana akışın hazırlanıyor!",

@ -21,6 +21,7 @@
"account.blocked": "Заблоковані",
"account.browse_more_on_origin_server": "Переглянути більше в оригінальному профілі",
"account.cancel_follow_request": "Відкликати запит на стеження",
"account.copy": "Копіювати посилання на профіль",
"account.direct": "Особиста згадка @{name}",
"account.disable_notifications": "Не повідомляти мене про дописи @{name}",
"account.domain_blocked": "Домен заблоковано",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Позначити як прочитане",
"conversation.open": "Переглянути бесіду",
"conversation.with": "З {names}",
"copy_icon_button.copied": "Скопійовано до буфера обміну",
"copypaste.copied": "Скопійовано",
"copypaste.copy_to_clipboard": "Копіювати до буфера обміну",
"directory.federated": "З відомого федесвіту",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "На жаль, жоден результат не може бути показаний просто зараз. Ви можете спробувати скористатися пошуком або переглядом сторінки огляду, щоб знайти людей для слідкування або повторіть спробу пізніше.",
"onboarding.follows.lead": "Ваша домашня стрічка - основний спосіб роботи Mastodon. Чим більше людей, які ви підписані, тим активнішою і цікавою. Ось деякі пропозиції на початок:",
"onboarding.follows.title": "Персоналізуйте домашню стрічку",
"onboarding.profile.discoverable": "Враховувати профіль та дописи в алгоритмах пошуку",
"onboarding.profile.discoverable": "Зробити мій профіль видимим",
"onboarding.profile.discoverable_hint": "Якщо ви погоджуєтеся на видимість у Mastodon, ваші дописи можуть з'являтися в результатах пошуку і трендах, і ваш профіль може бути запропоновано людям зі схожими з вашими інтересами.",
"onboarding.profile.display_name": "Видиме ім'я",
"onboarding.profile.display_name_hint": "Ваше повне ім'я або ваш псевдонім…",
"onboarding.profile.indexable": "Включити загальнодоступні дописи в результати пошуку",
"onboarding.profile.lead": "Ви завжди можете завершити це пізніше в Налаштуваннях, де доступно ще більше опцій налаштування.",
"onboarding.profile.note": "Біографія",
"onboarding.profile.note_hint": "Ви можете @згадувати інших людей або #гештеґи…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "Прихований",
"privacy_policy.last_updated": "Оновлено {date}",
"privacy_policy.title": "Політика приватності",
"recommended": "Рекомендовано",
"refresh": "Оновити",
"regeneration_indicator.label": "Завантаження…",
"regeneration_indicator.sublabel": "Хвилинку, ми готуємо вашу стрічку!",

@ -21,6 +21,7 @@
"account.blocked": "Đã chặn",
"account.browse_more_on_origin_server": "Truy cập trang của người này",
"account.cancel_follow_request": "Thu hồi yêu cầu theo dõi",
"account.copy": "Sao chép địa chỉ",
"account.direct": "Nhắn riêng @{name}",
"account.disable_notifications": "Tắt thông báo khi @{name} đăng tút",
"account.domain_blocked": "Tên miền đã chặn",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Đánh dấu là đã đọc",
"conversation.open": "Xem toàn bộ tin nhắn",
"conversation.with": "Với {names}",
"copy_icon_button.copied": "Đã sao chép vào bộ nhớ tạm",
"copypaste.copied": "Đã sao chép",
"copypaste.copy_to_clipboard": "Sao chép vào bộ nhớ tạm",
"directory.federated": "Từ mạng liên hợp",
@ -390,6 +392,7 @@
"lists.search": "Tìm kiếm những người mà bạn quan tâm",
"lists.subheading": "Danh sách của bạn",
"load_pending": "{count, plural, one {# tút mới} other {# tút mới}}",
"loading_indicator.label": "Đang tải…",
"media_gallery.toggle_visible": "{number, plural, other {Ẩn hình ảnh}}",
"moved_to_account_banner.text": "Tài khoản {disabledAccount} của bạn hiện không khả dụng vì bạn đã chuyển sang {movedToAccount}.",
"mute_modal.duration": "Thời hạn",
@ -478,6 +481,17 @@
"onboarding.follows.empty": "Không có kết quả có thể được hiển thị lúc này. Bạn có thể thử sử dụng tính năng tìm kiếm hoặc duyệt qua trang khám phá để tìm những người theo dõi hoặc thử lại sau.",
"onboarding.follows.lead": "Bạn quản lý bảng tin của riêng bạn. Bạn càng theo dõi nhiều người, nó sẽ càng sôi động và thú vị. Để bắt đầu, đây là vài gợi ý:",
"onboarding.follows.title": "Thịnh hành trên Mastodon",
"onboarding.profile.discoverable": "Bật khám phá cho hồ sơ của tôi",
"onboarding.profile.discoverable_hint": "Khi bạn bật khám phá trên Mastodon, các tút của bạn có thể xuất hiện trong kết quả tìm kiếm và xu hướng, đồng thời hồ sơ của bạn sẽ được đề xuất cho những người có cùng sở thích với bạn.",
"onboarding.profile.display_name": "Biệt danh",
"onboarding.profile.display_name_hint": "Tên đầy đủ hoặc biệt danh đều được…",
"onboarding.profile.lead": "Bạn có thể cài đặt lại trong phần cài đặt, nơi thậm chí còn có nhiều tùy chọn hơn.",
"onboarding.profile.note": "Giới thiệu",
"onboarding.profile.note_hint": "Bạn có thể @nhắnriêng ai đó hoặc #hashtags…",
"onboarding.profile.save_and_continue": "Lưu và tiếp tục",
"onboarding.profile.title": "Thiết lập hồ sơ",
"onboarding.profile.upload_avatar": "Tải lên ảnh đại diện",
"onboarding.profile.upload_header": "Tải lên ảnh bìa",
"onboarding.share.lead": "Hãy cho mọi người biết làm thế nào họ có thể tìm thấy bạn trên Mastodon!",
"onboarding.share.message": "Tôi là {username} trên #Mastodon! Hãy theo dõi tôi tại {url}",
"onboarding.share.next_steps": "Các bước kế tiếp:",
@ -521,6 +535,7 @@
"privacy.unlisted.short": "Hạn chế",
"privacy_policy.last_updated": "Cập nhật lần cuối {date}",
"privacy_policy.title": "Chính sách bảo mật",
"recommended": "Đề xuất",
"refresh": "Làm mới",
"regeneration_indicator.label": "Đang tải…",
"regeneration_indicator.sublabel": "Trang chính của bạn đang được cập nhật!",

@ -21,6 +21,7 @@
"account.blocked": "已屏蔽",
"account.browse_more_on_origin_server": "在原始个人资料页面上浏览详情",
"account.cancel_follow_request": "撤回关注请求",
"account.copy": "复制资料卡链接",
"account.direct": "私下提及 @{name}",
"account.disable_notifications": "当 @{name} 发布嘟文时不要通知我",
"account.domain_blocked": "域名已屏蔽",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "标记为已读",
"conversation.open": "查看对话",
"conversation.with": "与 {names}",
"copy_icon_button.copied": "已复制到剪贴板",
"copypaste.copied": "已复制",
"copypaste.copy_to_clipboard": "复制到剪贴板",
"directory.federated": "来自已知的联邦宇宙",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "很抱歉,现在无法显示任何结果。您可以尝试使用搜索或浏览探索页面来查找要关注的人,或稍后再试。",
"onboarding.follows.lead": "你管理你自己的家庭饲料。你关注的人越多,它将越活跃和有趣。 这些配置文件可能是一个很好的起点——你可以随时取消关注它们!",
"onboarding.follows.title": "定制您的主页动态",
"onboarding.profile.discoverable": "在发现算法中展示您的个人资料和嘟文",
"onboarding.profile.discoverable": "让我的资料卡可被他人发现",
"onboarding.profile.discoverable_hint": "当您选择在 Mastodon 上启用发现功能时,你的嘟文可能会出现在搜索结果和热门中,你的账户可能会被推荐给与你兴趣相似的人。",
"onboarding.profile.display_name": "昵称",
"onboarding.profile.display_name_hint": "您的全名或昵称…",
"onboarding.profile.indexable": "将您的公开嘟文纳入搜索范围",
"onboarding.profile.lead": "您可以稍后在设置中完成此操作,设置中有更多的自定义选项。",
"onboarding.profile.note": "简介",
"onboarding.profile.note_hint": "您可以提及 @其他人 或 #标签…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "不公开",
"privacy_policy.last_updated": "最近更新于 {date}",
"privacy_policy.title": "隐私政策",
"recommended": "推荐",
"refresh": "刷新",
"regeneration_indicator.label": "加载中…",
"regeneration_indicator.sublabel": "你的主页动态正在准备中!",

@ -21,6 +21,7 @@
"account.blocked": "已封鎖",
"account.browse_more_on_origin_server": "前往原始的個人檔案頁瀏覽更多",
"account.cancel_follow_request": "撤回追蹤請求",
"account.copy": "複製個人檔案連結",
"account.direct": "私下提及 @{name}",
"account.disable_notifications": "當 @{name} 發文時不要再通知我",
"account.domain_blocked": "網域被封鎖",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "標為已讀",
"conversation.open": "檢視對話",
"conversation.with": "與 {names}",
"copy_icon_button.copied": "已複製到剪貼簿",
"copypaste.copied": "已複製",
"copypaste.copy_to_clipboard": "複製到剪貼簿",
"directory.federated": "來自已知的聯盟網絡",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "很遺憾,現在無法顯示任何結果。你可以嘗試搜尋或瀏覽探索頁面來找使用者來追蹤,或者稍後再試。",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.discoverable": "在探索的演算法中展示個人檔案和帖文",
"onboarding.profile.discoverable": "將個人檔案設為可被搜尋",
"onboarding.profile.discoverable_hint": "當你在 Mastodon 上選擇可被搜尋時,你的帖文可能會出現在搜尋結果和熱門,你的個人檔案也可能被推薦給與你興趣相似的人。",
"onboarding.profile.display_name": "顯示名稱",
"onboarding.profile.display_name_hint": "你的全名或暱稱…",
"onboarding.profile.indexable": "將公開帖文納入搜尋結果中",
"onboarding.profile.lead": "你可以隨時在設定中完成此動作,那裏有更多自訂選項。",
"onboarding.profile.note": "簡介",
"onboarding.profile.note_hint": "你可以 @提及他人 或使用 #標籤…",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "公開",
"privacy_policy.last_updated": "最後更新 {date}",
"privacy_policy.title": "私隱政策",
"recommended": "推薦",
"refresh": "重新整理",
"regeneration_indicator.label": "載入中……",
"regeneration_indicator.sublabel": "你的主頁時間軸正在準備中!",

@ -21,6 +21,7 @@
"account.blocked": "已封鎖",
"account.browse_more_on_origin_server": "在該伺服器上的個人檔案頁面瀏覽更多",
"account.cancel_follow_request": "收回跟隨請求",
"account.copy": "複製個人檔案連結",
"account.direct": "私訊 @{name}",
"account.disable_notifications": "取消來自 @{name} 嘟文的通知",
"account.domain_blocked": "已封鎖網域",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "標記為已讀",
"conversation.open": "檢視對話",
"conversation.with": "與 {names}",
"copy_icon_button.copied": "已複製到剪貼簿",
"copypaste.copied": "已複製",
"copypaste.copy_to_clipboard": "複製到剪貼簿",
"directory.federated": "來自已知聯邦宇宙",
@ -479,10 +481,10 @@
"onboarding.follows.empty": "很遺憾,目前未能顯示任何結果。您可以嘗試使用搜尋、瀏覽探索頁面以找尋人們跟隨、或稍候再試。",
"onboarding.follows.lead": "您的首頁時間軸是 Mastodon 的核心體驗。若您跟隨更多人的話,它將會變得更活躍有趣。這些個人檔案也許是個好起點,您可以隨時取消跟隨他們!",
"onboarding.follows.title": "客製化您的首頁時間軸",
"onboarding.profile.discoverable": "於探索演算法中推薦個人檔案及嘟文",
"onboarding.profile.discoverable": "使我的個人檔案可以被找到",
"onboarding.profile.discoverable_hint": "當您於 Mastodon 上選擇加入可發現性時,您的嘟文可能會出現於搜尋結果與趨勢中。您的個人檔案可能會被推薦給與您志趣相投的人。",
"onboarding.profile.display_name": "顯示名稱",
"onboarding.profile.display_name_hint": "完整名稱或暱稱...",
"onboarding.profile.indexable": "允許公開嘟文顯示於搜尋結果中",
"onboarding.profile.lead": "您隨時可以稍候於設定中完成此操作,將有更多自訂選項可使用。",
"onboarding.profile.note": "個人簡介",
"onboarding.profile.note_hint": "您可以 @mention 其他人或者使用 #主題標籤...",
@ -533,6 +535,7 @@
"privacy.unlisted.short": "不公開",
"privacy_policy.last_updated": "最後更新:{date}",
"privacy_policy.title": "隱私權政策",
"recommended": "推薦設定",
"refresh": "重新整理",
"regeneration_indicator.label": "載入中…",
"regeneration_indicator.sublabel": "您的首頁時間軸正在準備中!",

@ -1222,10 +1222,6 @@ code {
}
.app-form {
& > * {
margin-bottom: 16px;
}
&__avatar-input,
&__header-input {
display: block;
@ -1290,4 +1286,49 @@ code {
&__header-input {
aspect-ratio: 580/193;
}
&__toggle {
display: flex;
align-items: center;
gap: 16px;
color: $darker-text-color;
font-size: 14px;
line-height: 20px;
.icon {
flex: 0 0 auto;
}
.icon {
width: 24px;
height: 24px;
}
&__label {
flex: 1 1 auto;
strong {
color: $primary-text-color;
font-weight: 600;
}
.recommended {
position: absolute;
margin: 0 4px;
margin-top: -2px;
}
}
&__toggle {
flex: 0 0 auto;
display: flex;
align-items: center;
}
&__toggle > div {
display: flex;
border-inline-start: 1px solid lighten($ui-base-color, 8%);
padding-inline-start: 16px;
}
}
}

@ -611,6 +611,7 @@ bg:
created_at: Докладвано
delete_and_resolve: Изтриване на публикациите
forwarded: Препратено
forwarded_replies_explanation: Този доклад е от отдалечен потребител и за отдалечено съдържание. То е препратено до вас, защото докладваното съдържание е в отговор на един от потребителите ви.
forwarded_to: Препратено до %{domain}
mark_as_resolved: Маркиране като решено
mark_as_sensitive: Означаване като деликатно

@ -1 +1,35 @@
---
lt:
devise:
confirmations:
confirmed: Tavo el. pašto adresas buvo sėkmingai patvirtintas.
send_instructions: Po kelių minučių gausi el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto laiškų aplanką.
send_paranoid_instructions: Jei tavo el. pašto adresas yra mūsų duomenų bazėje, po kelių minučių gausi el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto laiškų aplanką.
failure:
already_authenticated: Tu jau prisijungęs (-usi).
inactive: Tavo paskyra dar nėra aktyvuota.
invalid: Netinkami %{authentication_keys} arba slaptažodis.
last_attempt: Turi dar vieną bandymą, kol tavo paskyra bus užrakinta.
locked: Tavo paskyra užrakinta.
not_found_in_database: Netinkami %{authentication_keys} arba slaptažodis.
pending: Tavo paskyra vis dar peržiūrima.
timeout: Tavo seansas baigėsi. Norėdamas (-a) tęsti, prisijunk dar kartą.
unauthenticated: Prieš tęsdamas (-a) turi prisijungti arba užsiregistruoti.
unconfirmed: Prieš tęsdamas (-a) turi patvirtinti savo el. pašto adresą.
mailer:
confirmation_instructions:
action: Patvirtinti el. pašto adresą
action_with_app: Patvirtinti ir grįžti į %{app}
explanation: Šiuo el. pašto adresu sukūrei paskyrą %{host}. Iki jos aktyvavimo liko vienas paspaudimas. Jei tai buvo ne tu, ignoruok šį el. laišką.
explanation_when_pending: Šiuo el. pašto adresu pateikei paraišką pakvietimui į %{host}. Kai patvirtinsi savo el. pašto adresą, mes peržiūrėsime tavo paraišką. Gali prisijungti ir pakeisti savo duomenis arba ištrinti paskyrą, tačiau negalėsi naudotis daugeliu funkcijų, kol tavo paskyra nebus patvirtinta. Jei tavo paraiška bus atmesta, duomenys bus pašalinti, todėl jokių papildomų veiksmų iš tavęs nereikės. Jei tai buvo ne tu, ignoruok šį el. laišką.
unlock_instructions:
subject: 'Mastodon: atrakinimo instrukcijos'
passwords:
no_token: Į šį puslapį gali patekti tik gavęs (-usi) slaptažodžio atstatymo el. laišką. Jei atėjai iš slaptažodžio atstatymo el. laiško, įsitikink, kad naudojai visą pateiktą URL adresą.
registrations:
destroyed: Iki pasimatymo! Tavo paskyra sėkmingai atšaukta. Tikimės, kad netrukus vėl pasimatysime.
errors:
messages:
expired: nustojo galioti, prašyk naujos.
not_found: nerasta.
not_locked: nebuvo užrakintas.

@ -1720,6 +1720,10 @@ eo:
seamless_external_login: Vi estas ensalutinta per ekstera servo, do pasvortaj kaj retadresaj agordoj ne estas disponeblaj.
signed_in_as: 'Salutinta kiel:'
verification:
extra_instructions_html: <strong>Konsilo:</strong> La ligilo en via retejo povas esti nevidebla. La grava parto estas <code>rel="me"</code>, kiu evitas identoŝtelon en retejoj kun enhavo generita de uzantoj. Vi povas eĉ uzi <code>link</code>-etikedon en la <code>header</code> de la paĝo anstataŭ <code>a</code>, sed la HTML devas esti atingebla sen plenumado de JavaScript.
here_is_how: Jen gvidilo
hint_html: "<strong>Ĉiu ajn povas aŭtentigi sian identecon en Mastodon.</strong> Bazinte sur malfermitaj interretaj normoj, nun kaj ĉiame senkoste. Vi nur bezonas personan retejon, per kiu homoj rekonas vin. Kiam vi ligos tiun retejon de via profilo, ni kontrolos, ĉu la retejo responde ligiĝas kun via profilo, kaj montros videblan indikilon tie."
instructions_html: Kopiu kaj algluu la jenan kodon en la HTML de via retejo. Poste aldonu la adreson de via retejo en unu el la kromaj kampoj de via profilo en la langeto "Redakti profilon" kaj konservu la ŝanĝojn.
verification: Kontrolo
verified_links: Via kontrolitaj ligiloj
webauthn_credentials:

@ -611,6 +611,7 @@ es:
created_at: Denunciado
delete_and_resolve: Eliminar publicaciones
forwarded: Reenviado
forwarded_replies_explanation: Este informe es de un usuario remoto y sobre contenido remoto. Se le ha enviado porque el contenido reportado es en respuesta a uno de sus usuarios.
forwarded_to: Reenviado a %{domain}
mark_as_resolved: Marcar como resuelto
mark_as_sensitive: Marcar como sensible

@ -613,6 +613,7 @@ eu:
created_at: Salatua
delete_and_resolve: Ezabatu bidalketak
forwarded: Birbidalia
forwarded_replies_explanation: Salaketa hau beste instantzia bateko erabiltzaile baten edukiari buruzkoa da, eta zure instantziako erabiltzaile bati egidako erantzuna delako bidali dizugu mezu hau.
forwarded_to: 'Hona birbidalia: %{domain}'
mark_as_resolved: Markatu konpondutako gisa
mark_as_sensitive: Markatu hunkigarri gisa

@ -384,7 +384,7 @@ gl:
domain_blocks:
add_new: Engadir novo bloqueo de dominio
confirm_suspension:
cancel: Cancelar
cancel: Desbotar
confirm: Suspender
permanent_action: Ao retirar a suspensión non restableces os datos ou a relación.
preamble_html: Vas suspender a <strong>%{domain}</strong> e os seus subdominios.
@ -611,6 +611,7 @@ gl:
created_at: Denunciado
delete_and_resolve: Eliminar publicacións
forwarded: Reenviado
forwarded_replies_explanation: Esta denuncia procede dunha usuaria remota e acerca de contido remoto. Enviouseche unha copia porque o contido denunciado é unha resposta a unha das túas usuarias.
forwarded_to: Reenviado a %{domain}
mark_as_resolved: Marcar como resolto
mark_as_sensitive: Marcar como sensible
@ -783,7 +784,7 @@ gl:
destroyed_msg: Eliminado correctamente o subido!
software_updates:
critical_update: Crítica - actualiza axiña
description: Recomendamos manter actualizado o teu servidor Mastodon para beneficiarte dos últimos arranxos e características. A maiores, de cando en vez hai actualizacións para evitar problemas importantes de seguridade. Debido a isto, Mastodon comproba cada 30 minutos se hai actualizacións e avisarate seguindo as túas preferencias de notificación por correo electrónico.
description: Aconsellamos manter actualizado o teu servidor Mastodon para beneficiarte dos últimos arranxos e características. A maiores, de cando en vez hai actualizacións para evitar problemas importantes de seguridade. Debido a isto, Mastodon comproba cada 30 minutos se hai actualizacións e avisarate seguindo as túas preferencias de notificación por correo electrónico.
documentation_link: Saber máis
release_notes: Notas da versión
title: Actualizacións dispoñibles
@ -1790,7 +1791,7 @@ gl:
change_password: cambia o teu contrasinal
details: 'Estos son os detalles do acceso:'
explanation: Detectamos que accedeches á conta desde un novo enderezo IP.
further_actions_html: Se non foches ti, recomendámosche %{action} inmediatamente e activa o segundo factor de autenticación para manter conta segura.
further_actions_html: Se non foches ti, aconsellámosche %{action} inmediatamente e activar o segundo factor de autenticación para manter conta segura.
subject: Accedeuse á túa conta desde novos enderezos IP
title: Novo acceso
warning:

@ -76,7 +76,7 @@ he:
enabled_msg: ביטול השעית החשבון של %{username} בוצע בהצלחה
followers: עוקבים
follows: נעקבים
header: כותרת
header: תמונת נושא
inbox_url: כתובת תיבת דואר נכנס
invite_request_text: סיבות להצטרפות
invited_by: הוזמן על ידי
@ -128,7 +128,7 @@ he:
remove_avatar: הסרת תמונת פרופיל
remove_header: הסרת כותרת
removed_avatar_msg: תמונת הפרופיל של %{username} הוסרה בהצלחה
removed_header_msg: תמונת הראשה של %{username} הוסרה בהצלחה
removed_header_msg: תמונת הנושא של %{username} הוסרה בהצלחה
resend_confirmation:
already_confirmed: משתמש זה כבר אושר
send: שלח מחדש קישור לאימות
@ -1281,7 +1281,7 @@ he:
keywords: מילות מפתח
statuses: הודעות מסויימות
statuses_hint_html: הסנן פועל על בחירה ידנית של הודעות בין אם הן מתאימות למילות המפתח להלן ואם לאו. posts regardless of whether they match the keywords below. <a href="%{path}">בחינה או הסרה של ההודעות מהסנן</a>.
title: ערוך מסנן
title: לערוך מסנן
errors:
deprecated_api_multiple_keywords: לא ניתן לשנות פרמטרים אלו מהיישומון הזה בגלל שהם חלים על יותר ממילת מפתח אחת. ניתן להשתמש ביישומון מעודכן יותר או בממשק הוובי.
invalid_context: לא סופק הקשר או הקשר לא תקין
@ -1478,7 +1478,7 @@ he:
not_found: לא נמצאו
on_cooldown: את/ה בתקופת צינון
followers_count: עוקבים בזמן המעבר
incoming_migrations: מעבר לחשבון אחר
incoming_migrations: מעבר מחשבון אחר
incoming_migrations_html: כדי לעבור מחשבון אחר לחשבון זה, עליך ראשית <a href="%{path}">ליצור שם נרדף לחשבון</a>.
moved_msg: חשבונך מופנה עתה ל-%{acct} וכל עוקביך מועברים לשם.
not_redirecting: חשבונכם לא מפנה לשום חשבון אחר כעת.
@ -1516,8 +1516,8 @@ he:
subject: הודעתך חובבה על ידי %{name}
title: חיבוב חדש
follow:
body: "%{name} עכשיו במעקב אחריך!"
subject: "%{name} עכשיו במעקב אחריך"
body: "%{name} עכשיו עוקב אחריך!"
subject: "%{name} עכשיו עוקב אחריך"
title: עוקב/ת חדש/ה
follow_request:
action: ניהול בקשות מעקב

@ -65,6 +65,25 @@ hr:
empty: Nema pronađenih izvješća.
filter_by_action: Filtriraj prema radnji
filter_by_user: Filtriraj prema korisniku
email_domain_blocks:
add_new: Dodaj novi
ip_blocks:
add_new: Stvori pravilo
roles:
privileges:
invite_users_description: Dopusti korisnicima da pozovu nove ljude na server
settings:
about:
title: O aplikaciji
warning_presets:
add_new: Dodaj novi
aliases:
add_new: Stvori alias
appearance:
advanced_web_interface: Napredno web sučelje
localization:
body: Mastodon prevode dobrovoljci.
guide_link_text: Svi mogu doprinjeti.
application_mailer:
settings: 'Promijeni postavke e-pošte: %{link}'
view: 'Vidi:'
@ -85,14 +104,19 @@ hr:
less_than_x_seconds: Upravo sada
over_x_years: "%{count}god"
x_months: "%{count}mj"
edit_profile:
basic_information: Osnovne informacije
exports:
archive_takeout:
date: Datum
download: Preuzmite svoju arhivu
request: Zatraži svoju arhivu
size: Veličina
blocks: Blokirali ste
lists: Liste
storage: Pohrana medijskih sadržaja
featured_tags:
add_new: Dodaj novi
filters:
contexts:
notifications: Obavijesti
@ -130,6 +154,7 @@ hr:
few: "%{count} korištenja"
one: 1 korištenje
other: "%{count} korištenja"
title: Pozovi ljude
notification_mailer:
favourite:
body: "%{name} je označio/la Vaš status favoritom:"
@ -167,6 +192,8 @@ hr:
remote_follow:
missing_resource: Nije moguće pronaći traženi URL preusmjeravanja za Vaš račun
sessions:
browsers:
ie: Internet Explorer
revoke: Opozovi
revoke_success: Sesija je uspješno opozvana
title: Sesije
@ -183,9 +210,11 @@ hr:
export: Izvoz podataka
featured_tags: Istaknuti hashtagovi
import: Uvezi
import_and_export: Uvezi i izvezi
notifications: Obavijesti
preferences: Postavke
profile: Profil
statuses_cleanup: Automatsko brisanje postova
two_factor_authentication: Dvofaktorska autentifikacija
statuses:
open_in_web: Otvori na webu
@ -205,7 +234,11 @@ hr:
visibilities:
private: Samo pratitelji
public: Javno
public_long: Svi mogu vidjeti
unlisted: Neprikazano
unlisted_long: Svi mogu vidjeti, ali nije izlistano u javnim timelineovima
statuses_cleanup:
enabled: Automatski obriši strare postove
stream_entries:
sensitive_content: Osjetljivi sadržaj
two_factor_authentication:

@ -611,7 +611,7 @@ hu:
created_at: Jelentve
delete_and_resolve: Bejegyzések törlése
forwarded: Továbbítva
forwarded_replies_explanation: Ez a jelentés egy távoli felhasználótól származik, és távoli tartalomról szól. Azért lett neked továbbítva, mert a jelentett tartalom az egyik felhasználódnak küldött válasz.
forwarded_replies_explanation: Ez a jelentés egy távoli flehasználótól származik, és távoli tartalomról szól. Azért lett neked továbbítva, mert a jelentett tartalom az egyik felhasználódnak küldött válasz.
forwarded_to: 'Továbbítva ide: %{domain}'
mark_as_resolved: Megjelölés megoldottként
mark_as_sensitive: Érzékenynek jelölés

@ -599,6 +599,7 @@ ja:
created_at: 通報日時
delete_and_resolve: 投稿を削除
forwarded: 転送済み
forwarded_replies_explanation: この報告はリモートユーザーからのものであり、またリモートコンテンツに関するものです。報告されたコンテンツがあなたのユーザーの内の一人に対するリプライの中にあるため、あなたに転送されました。
forwarded_to: "%{domain}に転送されました"
mark_as_resolved: 解決済みとしてマーク
mark_as_sensitive: 閲覧注意にする
@ -1343,6 +1344,7 @@ ja:
'86400': 1日
expires_in_prompt: 無期限
generate: 招待リンクを作成
invalid: この招待は無効です
invited_by: '次の人に招待されました:'
max_uses:
other: "%{count}"

@ -763,7 +763,7 @@ ko:
open: 누구나 가입 할 수 있음
security:
authorized_fetch: 연합된 서버들에게서 인증 필수
authorized_fetch_hint: 연합된 서버들에게서 인증을 요구하는 것은 사용자 레벨과 서버 레벨의 차단 좀 더 확실하게 해줍니다. 한편으로는 성능적인 페널티, 답글의 전달 범위 감소, 몇몇 연합된 서비스들과의 호환성 문제가 있을 가능성이 있습니다. 추가적으로 이 기능은 전용 액터가 공개돤 게시물이나 계정을 페치하는 것은 막지 않습니다.
authorized_fetch_hint: 연합된 서버들에게서 인증을 요구하는 것은 사용자 레벨과 서버 레벨의 차단 좀 더 확실하게 해줍니다. 한편으로는 성능적인 페널티, 답글의 전달 범위 감소, 몇몇 연합된 서비스들과의 호환성 문제가 있을 가능성이 있습니다. 추가적으로 이 기능은 전용 액터가 공개돤 게시물이나 계정을 페치하는 것은 막지 않습니다.
authorized_fetch_overridden_hint: 현재 이 값은 환경변수에 의해 설정되어 있기에 설정을 변경할 수 없습니다.
federation_authentication: 연합 인증 필수
title: 서버 설정

@ -534,7 +534,7 @@ nn:
total_reported: Rapportar om dei
total_storage: Medievedlegg
totals_time_period_hint_html: Totalsum vist nedanfor gjeld data for alle tidsperiodar.
unknown_instance: Dette domenet er ukjent for denne serveren.
unknown_instance: Domenet er ukjent for denne tenaren.
invites:
deactivate_all: Slå av alle
filter:
@ -611,7 +611,7 @@ nn:
created_at: Rapportert
delete_and_resolve: Slett innlegg
forwarded: Videresendt
forwarded_replies_explanation: Denne rapporten er fra en ekstern bruker og handler om eksternt innhold. Den er videresendt til deg fordi det rapporterte innholdet svarer til en av brukerne dine.
forwarded_replies_explanation: Denne rapporten gjeld innhald på ein annan nettstad. Rapporten er vidaresend til deg fordi det rapporterte innhaldet er eit svar på noko ein av brukarane på nettstaden din har skrive.
forwarded_to: Videresendt til %{domain}
mark_as_resolved: Merk som løyst
mark_as_sensitive: Marker som ømtolig
@ -1042,14 +1042,14 @@ nn:
hint_html: Berre ein ting til! Vi må bekrefte at du er et menneske (så vi kan halde spam ute!). Løys CAPTCHA-en nedanfor og klikk "Fortsett".
title: Sikkerheitssjekk
confirmations:
awaiting_review: Din e-post adresse er bekreftet! %{domain} ansatte gjennomgår nå registreringen din. Du vil motta en e-post hvis de godkjenner din konto!
awaiting_review_title: Din registrering blir vurdert
clicking_this_link: klikke på denne lenken
login_link: logg inn
proceed_to_login_html: Du kan nå fortsette til %{login_link}.
redirect_to_app_html: Du burde bli omdirigert til <strong>%{app_name}</strong> -appen. Hvis det ikke skjedde, kan du prøve %{clicking_this_link} eller manuelt gå tilbake til appen.
registration_complete: Registreringen på %{domain} er nå fullført!
welcome_title: Velkommen, %{name}!
awaiting_review: Epostadressa di er stadfesta! Styrarane på %{domain} ser gjennom registreringa di. Du får ein epost frå dei om dei godkjenner brukarkontoen din.
awaiting_review_title: Me går gjennom registreringa di
clicking_this_link: klikka på denne lenka
login_link: logga inn
proceed_to_login_html: No kan du %{login_link}.
redirect_to_app_html: Du skulle vorte vidaresend til <strong>%{app_name}</strong>-appen. Viss det ikkje skjedde, kan du prøva å %{clicking_this_link} eller manuelt gå tilbake til appen.
registration_complete: Du har registrert deg som brukar på %{domain}.
welcome_title: Velkomen, %{name}!
wrong_email_hint: Viss epostadressa er feil, kan du endra ho i kontoinnstillingane.
delete_account: Slett konto
delete_account_html: Om du vil sletta kontoen din, kan du <a href="%{path}">gå hit</a>. Du vert spurd etter stadfesting.
@ -1111,7 +1111,7 @@ nn:
functional: Kontoen din er fullt operativt.
pending: Søknaden din ventar på gjennomgang frå personalet vårt. Dette kan taka litt tid. Du får ein e-post om søknaden din vert godkjend.
redirecting_to: Kontoen din er inaktiv fordi den for øyeblikket omdirigerer til %{acct}.
self_destruct: Siden %{domain} stenger, vil du kun ha begrenset tilgang til kontoen din.
self_destruct: Av di %{domain} er i ferd med å stenga, vil du berre få avgrensa tilgang til brukarkontoen din.
view_strikes: Vis tidligere advarsler mot kontoen din
too_fast: Skjemaet ble sendt inn for raskt, prøv på nytt.
use_security_key: Bruk sikkerhetsnøkkel
@ -1583,8 +1583,8 @@ nn:
over_total_limit: Du har overskredet grensen på %{limit} planlagte tuter
too_soon: Den planlagte datoen må være i fremtiden
self_destruct:
lead_html: Dessverre stenger <strong>%{domain}</strong> for alltid. Hvis du hadde en konto der vil du ikke kunne fortsette å bruke den, men du kan fremdeles be om en sikkerhetskopi av dataene dine.
title: Denne serveren stenger
lead_html: Diverre stengjer <strong>%{domain}</strong> dørene for godt. Viss du hadde ein brukarkonto der, vil du ikkje kunna halda fram å bruka han, men du kan få ut ein tryggingskopi av dataa dine.
title: Denne tenaren stengjer
sessions:
activity: Siste aktivitet
browser: Nettlesar

@ -1533,7 +1533,7 @@
posting_defaults: Innleggsstandarder
public_timelines: Offentlige tidslinjer
privacy:
hint_html: "<strong>Tilpass hvordan du vil at din profil og dine innlegg skal bli funnet.</strong> En rekke funksjoner i Mastodon kan hjelpe deg med å nå et bredere publikum når de aktiverte. Ta deg et øyeblikk til å vurdere disse innstillingene for å forsikre deg om at de passer deg og ditt bruk."
hint_html: "<strong>Tilpass hvordan du vil at din profil og dine innlegg skal bli funnet.</strong> En rekke funksjoner i Mastodon kan hjelpe deg med å nå et bredere publikum når det er aktivert. Ta deg et øyeblikk til å vurdere disse innstillingene for å forsikre deg om at de passer deg og ditt bruk."
privacy: Personvern
privacy_hint_html: Kontrollér hvor mye du ønsker å dele til fordel for andre. Folk oppdager interessante profiler og kule app'er ved å bla gjennom andres følgere og ved å se hvilke app'er de bruker, men du kan velge å holde det skjult.
reach: Rekkevidde

@ -611,6 +611,7 @@ pt-BR:
created_at: Denunciado
delete_and_resolve: Excluir publicações
forwarded: Encaminhados
forwarded_replies_explanation: Este relatório é de um usuário remoto e é sobre um conteúdo remoto. Ele foi encaminhado para você porque o conteúdo denunciado está em resposta a um de seus usuários.
forwarded_to: Encaminhado para %{domain}
mark_as_resolved: Marcar como resolvido
mark_as_sensitive: Marcar como sensível

@ -108,7 +108,7 @@ gl:
text: Esto axudaranos a revisar a tua solicitude
ip_block:
comment: Opcional. Lembrar a razón para engadir esta regra.
expires_in: Os enderezos IP son un recurso finito, a veces son compartidos e cambian de mans con frecuencia. Por esta razón, non se recomendan os bloqueos indefinidos de IPs.
expires_in: Os enderezos IP son un recurso finito, a veces son compartidos e cambian de mans con frecuencia. Por esta razón, non se aconsellan os bloqueos indefinidos de IPs.
ip: Escribe un enderezo IPv4 ou IPv6. Podes bloquear rangos completos usando a sintaxe CIDR. Ten coidado e non te bloquees a ti mesma!
severities:
no_access: Bloquear acceso a tódolos recursos
@ -295,7 +295,7 @@ gl:
all: Notificar todas as actualizacións
critical: Notificar só as actualizacións críticas
label: Hai unha nova versión de Mastodon dispoñible
none: Non notificar nunca as actualizacións (non se recomenda)
none: Non notificar nunca as actualizacións (non se aconsella)
patch: Notificar as actualizacións de arranxos
trending_tag: Hai que revisar unha nova tendencia
rule:
@ -322,9 +322,9 @@ gl:
template: Modelo de carga
url: URL do extremo
'no': Non
not_recommended: Non é recomendable
not_recommended: Non se aconsella
overridden: Sobreescrita
recommended: Recomendado
recommended: Aconsellable
required:
mark: "*"
text: requerido

@ -268,7 +268,7 @@ he:
interactions:
must_be_follower: חסימת התראות משאינם עוקבים
must_be_following: חסימת התראות משאינם נעקבים
must_be_following_dm: חסימת הודעות ישירות מכותבים שאינם במעקב
must_be_following_dm: חסימת הודעות ישירות מחשבונות שאתם לא עוקבים אחריהם
invite:
comment: הערה
invite_request:
@ -286,7 +286,7 @@ he:
digest: שליחת הודעות דוא"ל מסכמות
favourite: שליחת דוא"ל כשמחבבים הודעה
follow: שליחת דוא"ל כשנוספות עוקבות
follow_request: שליחת דוא"ל כשמבקשים לעקוב
follow_request: מישהו.י ביקש.ה לעקוב אחריך
mention: שליחת דוא"ל כשפונים אלייך
pending_account: נדרשת סקירה של חשבון חדש
reblog: שליחת דוא"ל כשמהדהדים הודעה שלך

@ -7,6 +7,7 @@ hr:
account_warning_preset:
title: Proizvoljno. Nije vidljivo primatelju
defaults:
autofollow: Ljudi koji se registriraju kroz pozivnicu će te automatski slijediti
avatar: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjeno na %{dimensions}px
header: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjeno na %{dimensions}px
password: Mora biti najmanje 8 znakova
@ -22,6 +23,7 @@ hr:
admin_account_action:
type: Radnja
defaults:
avatar: Profilna slika
confirm_new_password: Potvrdi novu lozinku
confirm_password: Potvrdi lozinku
current_password: Trenutna lozinka
@ -38,8 +40,10 @@ hr:
setting_display_media_default: Zadano
setting_display_media_hide_all: Sakrij sve
setting_display_media_show_all: Prikaži sve
setting_reduce_motion: Smanji kretanje u animacijama
setting_system_font_ui: Koristi zadani font sustava
setting_theme: Tema stranice
setting_trends: Prikaži današnje trendove
type: Tip uvoza
username: Korisničko ime
interactions:
@ -53,6 +57,8 @@ hr:
mention: Netko Vas spomene
reblog: Netko boosta Vaš status
'no': Ne
not_recommended: Nije preporučeno
recommended: Preporučeno
required:
text: obavezno
'yes': Da

@ -635,6 +635,7 @@ sl:
created_at: Prijavljeno
delete_and_resolve: Izbriši objave
forwarded: Posredovano
forwarded_replies_explanation: To poročilo je od oddaljenega uporabnika in se nanaša na oddaljeno vsebino. Posredovano vam je bilo, ker je vsebina, o kateri poroča, odgovor enemu od vaših uporabnikov.
forwarded_to: Posredovano na %{domain}
mark_as_resolved: Označi kot rešeno
mark_as_sensitive: Označi, kot občutljivo

@ -623,6 +623,7 @@ sr-Latn:
created_at: Prijavljena
delete_and_resolve: Obriši objave
forwarded: Prosleđeno
forwarded_replies_explanation: Ovaj izveštaj je od udaljenog korisnika i o udaljenom sadržaju. Prosleđen vam je jer je prijavljeni sadržaj u odgovoru jednom od vaših korisnika.
forwarded_to: Prosleđeno ka %{domain}
mark_as_resolved: Označi kao rešenu
mark_as_sensitive: Obeleži kao osetljivo

@ -623,6 +623,7 @@ sr:
created_at: Пријављена
delete_and_resolve: Обриши објаве
forwarded: Прослеђено
forwarded_replies_explanation: Овај извештај је од удаљеног корисника и о удаљеном садржају. Прослеђен вам је јер је пријављени садржај у одговору једном од ваших корисника.
forwarded_to: Прослеђено ка %{domain}
mark_as_resolved: Означи као решену
mark_as_sensitive: Обележи као осетљиво

@ -560,7 +560,7 @@ th:
enabled: เปิดใช้งานอยู่
inbox_url: URL ของรีเลย์
pending: กำลังรอการอนุมัติของรีเลย์
save_and_enable: บันทึกแล้วเปิดใช้งาน
save_and_enable: บันทึกแลเปิดใช้งาน
setup: ตั้งค่าการเชื่อมต่อรีเลย์
signatures_not_enabled: รีเลย์อาจทำงานไม่ถูกต้องขณะที่มีการเปิดใช้งานโหมดปลอดภัยหรือโหมดการติดต่อกับภายนอกแบบจำกัด
status: สถานะ
@ -599,7 +599,7 @@ th:
created_at: รายงานเมื่อ
delete_and_resolve: ลบโพสต์
forwarded: ส่งต่อแล้ว
forwarded_replies_explanation: รายงานนี้มาจากผู้ใช้ระยะไกล และเป็นรายงานเกี่ยวกับเนื้อหาระยะไกล ซึ่งถูกส่งต่อมาหาคุณเนื่องจากเนื้อหาที่ถูกรายงานอยู่ในการตอบกลับไปยังหนึ่งในผู้ใช้ของคุณ
forwarded_replies_explanation: รายงานนี้มาจากผู้ใช้ระยะไกลและเกี่ยวกับเนื้อหาระยะไกล มีการส่งต่อรายงานไปยังคุณเนื่องจากเนื้อหาที่รายงานอยู่ในการตอบกลับหนึ่งในผู้ใช้ของคุณ
forwarded_to: ส่งต่อไปยัง %{domain} แล้ว
mark_as_resolved: ทำเครื่องหมายว่าแก้ปัญหาแล้ว
mark_as_sensitive: ทำเครื่องหมายว่าละเอียดอ่อน
@ -1557,7 +1557,7 @@ th:
over_total_limit: คุณมีโพสต์ที่จัดกำหนดการไว้เกินขีดจำกัดที่ %{limit} แล้ว
too_soon: วันที่จัดกำหนดการต้องอยู่ในอนาคต
self_destruct:
lead_html: น่าเสียดาย <strong>%{domain}</strong> กำลังปิดตัวลงอย่างถาวร หากคุณมีบัญชีที่นั่น คุณจะไม่สามารถใช้บัญชีต่อไปได้ แต่คุณยังสามารถขอข้อมูลสำรองของข้อมูลของคุณ
lead_html: น่าเสียดาย <strong>%{domain}</strong> กำลังปิดตัวลงอย่างถาวร หากคุณมีบัญชีที่นั่น คุณจะไม่สามารถใช้บัญชีต่อไปได้ แต่คุณยังคงสามารถขอข้อมูลสำรองของข้อมูลของคุณ
title: เซิร์ฟเวอร์นี้กำลังปิดตัวลง
sessions:
activity: กิจกรรมล่าสุด

@ -611,6 +611,7 @@ tr:
created_at: Şikayet edildi
delete_and_resolve: Gönderileri sil
forwarded: İletildi
forwarded_replies_explanation: Bu bildirim başka bir sunucudaki kullanıcı ve içerik ile ilgili. Bildirilen içerik kullanıcılarınızdan birine yanıt şeklinde olduğu için size yönlendirildi.
forwarded_to: "%{domain}'e iletildi"
mark_as_resolved: Giderildi olarak işaretle
mark_as_sensitive: Hassas olarak işaretle

@ -599,6 +599,7 @@ vi:
created_at: Báo cáo lúc
delete_and_resolve: Xóa tút
forwarded: Chuyển tiếp
forwarded_replies_explanation: Báo cáo này từ người dùng ở một máy chủ khác và về nội dung ở một máy chủ khác. Nó được chuyển tiếp tới bạn vì nội dung bị báo cáo là lượt trả lời cho một trong những người dùng của bạn.
forwarded_to: Chuyển tiếp tới %{domain}
mark_as_resolved: Xử lý xong
mark_as_sensitive: Đánh dấu nhạy cảm

@ -599,6 +599,7 @@ zh-CN:
created_at: 举报时间
delete_and_resolve: 删除嘟文
forwarded: 已转发
forwarded_replies_explanation: 该举报来自外站用户,涉及外站内容。之所以转发给您,是因为被举报的内容是对您站点一位用户的回复。
forwarded_to: 转发举报至 %{domain}
mark_as_resolved: 标记为已处理
mark_as_sensitive: 标记为敏感内容

@ -9,13 +9,3 @@ if Rake::Task.task_defined?('spec:system')
Rake::Task['spec:system'].enhance ['spec:enable_system_specs']
end
if Rake::Task.task_defined?('spec:search')
namespace :spec do
task :enable_search_specs do # rubocop:disable Rails/RakeEnvironment
ENV['RUN_SEARCH_SPECS'] = 'true'
end
end
Rake::Task['spec:search'].enhance ['spec:enable_search_specs']
end

@ -13,14 +13,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
it 'renders the headers' do
expect(mail.subject).to eq("New report for cb6e6126.ngrok.io (##{report.id})")
expect(mail.to).to eq [recipient.user_email]
expect(mail.from).to eq ['notifications@localhost']
end
it 'renders the body' do
expect(mail.body.encoded).to eq("Mike,\r\n\r\nJohn has reported Mike\r\n\r\nView: https://cb6e6126.ngrok.io/admin/reports/#{report.id}\r\n")
it 'renders the email' do
expect(mail)
.to be_present
.and(deliver_to(recipient.user_email))
.and(deliver_from('notifications@localhost'))
.and(have_subject("New report for cb6e6126.ngrok.io (##{report.id})"))
.and(have_body_text("Mike,\r\n\r\nJohn has reported Mike\r\n\r\nView: https://cb6e6126.ngrok.io/admin/reports/#{report.id}\r\n"))
end
end
@ -33,14 +32,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
it 'renders the headers' do
expect(mail.subject).to eq("#{appeal.account.username} is appealing a moderation decision on cb6e6126.ngrok.io")
expect(mail.to).to eq [recipient.user_email]
expect(mail.from).to eq ['notifications@localhost']
end
it 'renders the body' do
expect(mail.body.encoded).to match "#{appeal.account.username} is appealing a moderation decision by #{appeal.strike.account.username}"
it 'renders the email' do
expect(mail)
.to be_present
.and(deliver_to(recipient.user_email))
.and(deliver_from('notifications@localhost'))
.and(have_subject("#{appeal.account.username} is appealing a moderation decision on cb6e6126.ngrok.io"))
.and(have_body_text("#{appeal.account.username} is appealing a moderation decision by #{appeal.strike.account.username}"))
end
end
@ -53,14 +51,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
it 'renders the headers' do
expect(mail.subject).to eq("New account up for review on cb6e6126.ngrok.io (#{user.account.username})")
expect(mail.to).to eq [recipient.user_email]
expect(mail.from).to eq ['notifications@localhost']
end
it 'renders the body' do
expect(mail.body.encoded).to match 'The details of the new account are below. You can approve or reject this application.'
it 'renders the email' do
expect(mail)
.to be_present
.and(deliver_to(recipient.user_email))
.and(deliver_from('notifications@localhost'))
.and(have_subject("New account up for review on cb6e6126.ngrok.io (#{user.account.username})"))
.and(have_body_text('The details of the new account are below. You can approve or reject this application.'))
end
end
@ -75,14 +72,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
it 'renders the headers' do
expect(mail.subject).to eq('New trends up for review on cb6e6126.ngrok.io')
expect(mail.to).to eq [recipient.user_email]
expect(mail.from).to eq ['notifications@localhost']
end
it 'renders the body' do
expect(mail.body.encoded).to match 'The following items need a review before they can be displayed publicly'
it 'renders the email' do
expect(mail)
.to be_present
.and(deliver_to(recipient.user_email))
.and(deliver_from('notifications@localhost'))
.and(have_subject('New trends up for review on cb6e6126.ngrok.io'))
.and(have_body_text('The following items need a review before they can be displayed publicly'))
end
end
@ -94,14 +90,13 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
it 'renders the headers' do
expect(mail.subject).to eq('New Mastodon versions are available for cb6e6126.ngrok.io!')
expect(mail.to).to eq [recipient.user_email]
expect(mail.from).to eq ['notifications@localhost']
end
it 'renders the body' do
expect(mail.body.encoded).to match 'New Mastodon versions have been released, you may want to update!'
it 'renders the email' do
expect(mail)
.to be_present
.and(deliver_to(recipient.user_email))
.and(deliver_from('notifications@localhost'))
.and(have_subject('New Mastodon versions are available for cb6e6126.ngrok.io!'))
.and(have_body_text('New Mastodon versions have been released, you may want to update!'))
end
end
@ -113,18 +108,16 @@ RSpec.describe AdminMailer do
recipient.user.update(locale: :en)
end
it 'renders the headers', :aggregate_failures do
expect(mail.subject).to eq('Critical Mastodon updates are available for cb6e6126.ngrok.io!')
expect(mail.to).to eq [recipient.user_email]
expect(mail.from).to eq ['notifications@localhost']
expect(mail['Importance'].value).to eq 'high'
expect(mail['Priority'].value).to eq 'urgent'
expect(mail['X-Priority'].value).to eq '1'
end
it 'renders the body' do
expect(mail.body.encoded).to match 'New critical versions of Mastodon have been released, you may want to update as soon as possible!'
it 'renders the email' do
expect(mail)
.to be_present
.and(deliver_to(recipient.user_email))
.and(deliver_from('notifications@localhost'))
.and(have_subject('Critical Mastodon updates are available for cb6e6126.ngrok.io!'))
.and(have_body_text('New critical versions of Mastodon have been released, you may want to update as soon as possible!'))
.and(have_header('Importance', 'high'))
.and(have_header('Priority', 'urgent'))
.and(have_header('X-Priority', '1'))
end
end
end

@ -8,24 +8,27 @@ RSpec.describe NotificationMailer do
let(:foreign_status) { Fabricate(:status, account: sender, text: 'The body of the foreign status') }
let(:own_status) { Fabricate(:status, account: receiver.account, text: 'The body of the own status') }
shared_examples 'headers' do |type, thread|
it 'renders the to and from headers' do
expect(mail[:to].value).to eq "#{receiver.account.username} <#{receiver.email}>"
expect(mail.from).to eq ['notifications@localhost']
end
it 'renders the list headers' do
expect(mail['List-ID'].value).to eq "<#{type}.alice.cb6e6126.ngrok.io>"
expect(mail['List-Unsubscribe'].value).to match(%r{<https://cb6e6126.ngrok.io/unsubscribe\?token=.+>})
expect(mail['List-Unsubscribe'].value).to match("&type=#{type}")
expect(mail['List-Unsubscribe-Post'].value).to eq 'List-Unsubscribe=One-Click'
shared_examples 'standard headers' do |type|
it 'renders the email' do
expect(mail)
.to be_present
.and(have_header('To', "#{receiver.account.username} <#{receiver.email}>"))
.and(have_header('List-ID', "<#{type}.alice.cb6e6126.ngrok.io>"))
.and(have_header('List-Unsubscribe', %r{<https://cb6e6126.ngrok.io/unsubscribe\?token=.+>}))
.and(have_header('List-Unsubscribe', /&type=#{type}/))
.and(have_header('List-Unsubscribe-Post', 'List-Unsubscribe=One-Click'))
.and(deliver_to("#{receiver.account.username} <#{receiver.email}>"))
.and(deliver_from('notifications@localhost'))
end
end
if thread
it 'renders the thread headers' do
expect(mail['In-Reply-To'].value).to match(/<conversation-\d+.\d\d\d\d-\d\d-\d\d@cb6e6126.ngrok.io>/)
expect(mail['References'].value).to match(/<conversation-\d+.\d\d\d\d-\d\d-\d\d@cb6e6126.ngrok.io>/)
end
shared_examples 'thread headers' do
it 'renders the email with conversation thread headers' do
conversation_header_regex = /<conversation-\d+.\d\d\d\d-\d\d-\d\d@cb6e6126.ngrok.io>/
expect(mail)
.to be_present
.and(have_header('In-Reply-To', conversation_header_regex))
.and(have_header('References', conversation_header_regex))
end
end
@ -35,15 +38,15 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(receiver.account).mention }
include_examples 'localized subject', 'notification_mailer.mention.subject', name: 'bob'
include_examples 'headers', 'mention', true
it 'renders the subject' do
expect(mail.subject).to eq('You were mentioned by bob')
end
it 'renders the body' do
expect(mail.body.encoded).to match('You were mentioned by bob')
expect(mail.body.encoded).to include 'The body of the foreign status'
include_examples 'standard headers', 'mention'
include_examples 'thread headers'
it 'renders the email' do
expect(mail)
.to be_present
.and(have_subject('You were mentioned by bob'))
.and(have_body_text('You were mentioned by bob'))
.and(have_body_text('The body of the foreign status'))
end
end
@ -53,14 +56,13 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(receiver.account).follow }
include_examples 'localized subject', 'notification_mailer.follow.subject', name: 'bob'
include_examples 'headers', 'follow', false
it 'renders the subject' do
expect(mail.subject).to eq('bob is now following you')
end
include_examples 'standard headers', 'follow'
it 'renders the body' do
expect(mail.body.encoded).to match('bob is now following you')
it 'renders the email' do
expect(mail)
.to be_present
.and(have_subject('bob is now following you'))
.and(have_body_text('bob is now following you'))
end
end
@ -70,15 +72,15 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(own_status.account).favourite }
include_examples 'localized subject', 'notification_mailer.favourite.subject', name: 'bob'
include_examples 'headers', 'favourite', true
it 'renders the subject' do
expect(mail.subject).to eq('bob favorited your post')
end
it 'renders the body' do
expect(mail.body.encoded).to match('Your post was favorited by bob')
expect(mail.body.encoded).to include 'The body of the own status'
include_examples 'standard headers', 'favourite'
include_examples 'thread headers'
it 'renders the email' do
expect(mail)
.to be_present
.and(have_subject('bob favorited your post'))
.and(have_body_text('Your post was favorited by bob'))
.and(have_body_text('The body of the own status'))
end
end
@ -88,15 +90,15 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(own_status.account).reblog }
include_examples 'localized subject', 'notification_mailer.reblog.subject', name: 'bob'
include_examples 'headers', 'reblog', true
it 'renders the subject' do
expect(mail.subject).to eq('bob boosted your post')
end
it 'renders the body' do
expect(mail.body.encoded).to match('Your post was boosted by bob')
expect(mail.body.encoded).to include 'The body of the own status'
include_examples 'standard headers', 'reblog'
include_examples 'thread headers'
it 'renders the email' do
expect(mail)
.to be_present
.and(have_subject('bob boosted your post'))
.and(have_body_text('Your post was boosted by bob'))
.and(have_body_text('The body of the own status'))
end
end
@ -106,14 +108,13 @@ RSpec.describe NotificationMailer do
let(:mail) { prepared_mailer_for(receiver.account).follow_request }
include_examples 'localized subject', 'notification_mailer.follow_request.subject', name: 'bob'
include_examples 'headers', 'follow_request', false
it 'renders the subject' do
expect(mail.subject).to eq('Pending follower: bob')
end
include_examples 'standard headers', 'follow_request'
it 'renders the body' do
expect(mail.body.encoded).to match('bob has requested to follow you')
it 'renders the email' do
expect(mail)
.to be_present
.and(have_subject('Pending follower: bob'))
.and(have_body_text('bob has requested to follow you'))
end
end

@ -10,9 +10,12 @@ describe UserMailer do
it 'renders confirmation instructions' do
receiver.update!(locale: nil)
expect(mail.body.encoded).to include I18n.t('devise.mailer.confirmation_instructions.title')
expect(mail.body.encoded).to include 'spec'
expect(mail.body.encoded).to include Rails.configuration.x.local_domain
expect(mail)
.to be_present
.and(have_body_text(I18n.t('devise.mailer.confirmation_instructions.title')))
.and(have_body_text('spec'))
.and(have_body_text(Rails.configuration.x.local_domain))
end
include_examples 'localized subject',
@ -25,13 +28,17 @@ describe UserMailer do
it 'renders reconfirmation instructions' do
receiver.update!(email: 'new-email@example.com', locale: nil)
expect(mail.body.encoded).to include I18n.t('devise.mailer.reconfirmation_instructions.title')
expect(mail.body.encoded).to include 'spec'
expect(mail.body.encoded).to include Rails.configuration.x.local_domain
expect(mail.subject).to eq I18n.t('devise.mailer.reconfirmation_instructions.subject',
instance: Rails.configuration.x.local_domain,
locale: I18n.default_locale)
expect(mail)
.to be_present
.and(have_body_text(I18n.t('devise.mailer.reconfirmation_instructions.title')))
.and(have_body_text('spec'))
.and(have_body_text(Rails.configuration.x.local_domain))
end
include_examples 'localized subject',
'devise.mailer.confirmation_instructions.subject',
instance: Rails.configuration.x.local_domain
end
describe '#reset_password_instructions' do
@ -39,8 +46,11 @@ describe UserMailer do
it 'renders reset password instructions' do
receiver.update!(locale: nil)
expect(mail.body.encoded).to include I18n.t('devise.mailer.reset_password_instructions.title')
expect(mail.body.encoded).to include 'spec'
expect(mail)
.to be_present
.and(have_body_text(I18n.t('devise.mailer.reset_password_instructions.title')))
.and(have_body_text('spec'))
end
include_examples 'localized subject',
@ -52,7 +62,10 @@ describe UserMailer do
it 'renders password change notification' do
receiver.update!(locale: nil)
expect(mail.body.encoded).to include I18n.t('devise.mailer.password_change.title')
expect(mail)
.to be_present
.and(have_body_text(I18n.t('devise.mailer.password_change.title')))
end
include_examples 'localized subject',
@ -64,7 +77,10 @@ describe UserMailer do
it 'renders email change notification' do
receiver.update!(locale: nil)
expect(mail.body.encoded).to include I18n.t('devise.mailer.email_changed.title')
expect(mail)
.to be_present
.and(have_body_text(I18n.t('devise.mailer.email_changed.title')))
end
include_examples 'localized subject',
@ -77,8 +93,11 @@ describe UserMailer do
it 'renders warning notification' do
receiver.update!(locale: nil)
expect(mail.body.encoded).to include I18n.t('user_mailer.warning.title.suspend', acct: receiver.account.acct)
expect(mail.body.encoded).to include strike.text
expect(mail)
.to be_present
.and(have_body_text(I18n.t('user_mailer.warning.title.suspend', acct: receiver.account.acct)))
.and(have_body_text(strike.text))
end
end
@ -88,7 +107,10 @@ describe UserMailer do
it 'renders webauthn credential deleted notification' do
receiver.update!(locale: nil)
expect(mail.body.encoded).to include I18n.t('devise.mailer.webauthn_credential.deleted.title')
expect(mail)
.to be_present
.and(have_body_text(I18n.t('devise.mailer.webauthn_credential.deleted.title')))
end
include_examples 'localized subject',
@ -103,7 +125,10 @@ describe UserMailer do
it 'renders suspicious sign in notification' do
receiver.update!(locale: nil)
expect(mail.body.encoded).to include I18n.t('user_mailer.suspicious_sign_in.explanation')
expect(mail)
.to be_present
.and(have_body_text(I18n.t('user_mailer.suspicious_sign_in.explanation')))
end
include_examples 'localized subject',
@ -115,8 +140,10 @@ describe UserMailer do
let(:mail) { described_class.appeal_approved(receiver, appeal) }
it 'renders appeal_approved notification' do
expect(mail.subject).to eq I18n.t('user_mailer.appeal_approved.subject', date: I18n.l(appeal.created_at))
expect(mail.body.encoded).to include I18n.t('user_mailer.appeal_approved.title')
expect(mail)
.to be_present
.and(have_subject(I18n.t('user_mailer.appeal_approved.subject', date: I18n.l(appeal.created_at))))
.and(have_body_text(I18n.t('user_mailer.appeal_approved.title')))
end
end
@ -125,8 +152,10 @@ describe UserMailer do
let(:mail) { described_class.appeal_rejected(receiver, appeal) }
it 'renders appeal_rejected notification' do
expect(mail.subject).to eq I18n.t('user_mailer.appeal_rejected.subject', date: I18n.l(appeal.created_at))
expect(mail.body.encoded).to include I18n.t('user_mailer.appeal_rejected.title')
expect(mail)
.to be_present
.and(have_subject(I18n.t('user_mailer.appeal_rejected.subject', date: I18n.l(appeal.created_at))))
.and(have_body_text(I18n.t('user_mailer.appeal_rejected.title')))
end
end
@ -134,8 +163,10 @@ describe UserMailer do
let(:mail) { described_class.two_factor_enabled(receiver) }
it 'renders two_factor_enabled mail' do
expect(mail.subject).to eq I18n.t('devise.mailer.two_factor_enabled.subject')
expect(mail.body.encoded).to include I18n.t('devise.mailer.two_factor_enabled.explanation')
expect(mail)
.to be_present
.and(have_subject(I18n.t('devise.mailer.two_factor_enabled.subject')))
.and(have_body_text(I18n.t('devise.mailer.two_factor_enabled.explanation')))
end
end
@ -143,8 +174,10 @@ describe UserMailer do
let(:mail) { described_class.two_factor_disabled(receiver) }
it 'renders two_factor_disabled mail' do
expect(mail.subject).to eq I18n.t('devise.mailer.two_factor_disabled.subject')
expect(mail.body.encoded).to include I18n.t('devise.mailer.two_factor_disabled.explanation')
expect(mail)
.to be_present
.and(have_subject(I18n.t('devise.mailer.two_factor_disabled.subject')))
.and(have_body_text(I18n.t('devise.mailer.two_factor_disabled.explanation')))
end
end
@ -152,8 +185,10 @@ describe UserMailer do
let(:mail) { described_class.webauthn_enabled(receiver) }
it 'renders webauthn_enabled mail' do
expect(mail.subject).to eq I18n.t('devise.mailer.webauthn_enabled.subject')
expect(mail.body.encoded).to include I18n.t('devise.mailer.webauthn_enabled.explanation')
expect(mail)
.to be_present
.and(have_subject(I18n.t('devise.mailer.webauthn_enabled.subject')))
.and(have_body_text(I18n.t('devise.mailer.webauthn_enabled.explanation')))
end
end
@ -161,8 +196,10 @@ describe UserMailer do
let(:mail) { described_class.webauthn_disabled(receiver) }
it 'renders webauthn_disabled mail' do
expect(mail.subject).to eq I18n.t('devise.mailer.webauthn_disabled.subject')
expect(mail.body.encoded).to include I18n.t('devise.mailer.webauthn_disabled.explanation')
expect(mail)
.to be_present
.and(have_subject(I18n.t('devise.mailer.webauthn_disabled.subject')))
.and(have_body_text(I18n.t('devise.mailer.webauthn_disabled.explanation')))
end
end
@ -170,8 +207,10 @@ describe UserMailer do
let(:mail) { described_class.two_factor_recovery_codes_changed(receiver) }
it 'renders two_factor_recovery_codes_changed mail' do
expect(mail.subject).to eq I18n.t('devise.mailer.two_factor_recovery_codes_changed.subject')
expect(mail.body.encoded).to include I18n.t('devise.mailer.two_factor_recovery_codes_changed.explanation')
expect(mail)
.to be_present
.and(have_subject(I18n.t('devise.mailer.two_factor_recovery_codes_changed.subject')))
.and(have_body_text(I18n.t('devise.mailer.two_factor_recovery_codes_changed.explanation')))
end
end
@ -180,8 +219,10 @@ describe UserMailer do
let(:mail) { described_class.webauthn_credential_added(receiver, credential) }
it 'renders webauthn_credential_added mail' do
expect(mail.subject).to eq I18n.t('devise.mailer.webauthn_credential.added.subject')
expect(mail.body.encoded).to include I18n.t('devise.mailer.webauthn_credential.added.explanation')
expect(mail)
.to be_present
.and(have_subject(I18n.t('devise.mailer.webauthn_credential.added.subject')))
.and(have_body_text(I18n.t('devise.mailer.webauthn_credential.added.explanation')))
end
end
@ -189,8 +230,10 @@ describe UserMailer do
let(:mail) { described_class.welcome(receiver) }
it 'renders welcome mail' do
expect(mail.subject).to eq I18n.t('user_mailer.welcome.subject')
expect(mail.body.encoded).to include I18n.t('user_mailer.welcome.explanation')
expect(mail)
.to be_present
.and(have_subject(I18n.t('user_mailer.welcome.subject')))
.and(have_body_text(I18n.t('user_mailer.welcome.explanation')))
end
end
@ -199,8 +242,10 @@ describe UserMailer do
let(:mail) { described_class.backup_ready(receiver, backup) }
it 'renders backup_ready mail' do
expect(mail.subject).to eq I18n.t('user_mailer.backup_ready.subject')
expect(mail.body.encoded).to include I18n.t('user_mailer.backup_ready.explanation')
expect(mail)
.to be_present
.and(have_subject(I18n.t('user_mailer.backup_ready.subject')))
.and(have_body_text(I18n.t('user_mailer.backup_ready.explanation')))
end
end
end

@ -4,7 +4,6 @@ ENV['RAILS_ENV'] ||= 'test'
# This needs to be defined before Rails is initialized
RUN_SYSTEM_SPECS = ENV.fetch('RUN_SYSTEM_SPECS', false)
RUN_SEARCH_SPECS = ENV.fetch('RUN_SEARCH_SPECS', false)
if RUN_SYSTEM_SPECS
STREAMING_PORT = ENV.fetch('TEST_STREAMING_PORT', '4020')
@ -21,6 +20,7 @@ require 'webmock/rspec'
require 'paperclip/matchers'
require 'capybara/rspec'
require 'chewy/rspec'
require 'email_spec/rspec'
Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }
@ -54,20 +54,28 @@ RSpec.configure do |config|
case type
when :system
!RUN_SYSTEM_SPECS
when :search
!RUN_SEARCH_SPECS
end
}
# By default, skip the elastic search integration specs
config.filter_run_excluding search: true
config.fixture_path = Rails.root.join('spec', 'fixtures')
config.use_transactional_fixtures = true
config.order = 'random'
config.infer_spec_type_from_file_location!
config.filter_rails_from_backtrace!
# Set type to `cli` for all CLI specs
config.define_derived_metadata(file_path: Regexp.new('spec/lib/mastodon/cli')) do |metadata|
metadata[:type] = :cli
end
# Set `search` metadata true for all specs in spec/search/
config.define_derived_metadata(file_path: Regexp.new('spec/search/*')) do |metadata|
metadata[:search] = true
end
config.include Devise::Test::ControllerHelpers, type: :controller
config.include Devise::Test::ControllerHelpers, type: :helper
config.include Devise::Test::ControllerHelpers, type: :view

@ -1,53 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
describe 'GET /api/v1/accounts/{account_id}' do
it 'returns account entity as 200 OK' do
account = Fabricate(:account)
get "/api/v1/accounts/#{account.id}"
aggregate_failures do
expect(response).to have_http_status(200)
expect(body_as_json[:id]).to eq(account.id.to_s)
end
end
it 'returns 404 if account not found' do
get '/api/v1/accounts/1'
aggregate_failures do
expect(response).to have_http_status(404)
expect(body_as_json[:error]).to eq('Record not found')
end
end
context 'when with token' do
it 'returns account entity as 200 OK if token is valid' do
account = Fabricate(:account)
user = Fabricate(:user, account: account)
token = Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts').token
get "/api/v1/accounts/#{account.id}", headers: { Authorization: "Bearer #{token}" }
aggregate_failures do
expect(response).to have_http_status(200)
expect(body_as_json[:id]).to eq(account.id.to_s)
end
end
it 'returns 403 if scope of token is invalid' do
account = Fabricate(:account)
user = Fabricate(:user, account: account)
token = Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'write:statuses').token
get "/api/v1/accounts/#{account.id}", headers: { Authorization: "Bearer #{token}" }
aggregate_failures do
expect(response).to have_http_status(403)
expect(body_as_json[:error]).to eq('This action is outside the authorized scopes')
end
end
end
end

@ -2,59 +2,100 @@
require 'rails_helper'
RSpec.describe Api::V1::AccountsController do
render_views
describe '/api/v1/accounts' do
let(:user) { Fabricate(:user) }
let(:scopes) { '' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
let(:user) { Fabricate(:user) }
let(:scopes) { '' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
describe 'GET /api/v1/accounts/:id' do
context 'when logged out' do
let(:account) { Fabricate(:account) }
before do
allow(controller).to receive(:doorkeeper_token) { token }
end
it 'returns account entity as 200 OK', :aggregate_failures do
get "/api/v1/accounts/#{account.id}"
describe 'POST #create' do
let(:app) { Fabricate(:application) }
let(:token) { Doorkeeper::AccessToken.find_or_create_for(application: app, resource_owner: nil, scopes: 'read write', use_refresh_token: false) }
let(:agreement) { nil }
expect(response).to have_http_status(200)
expect(body_as_json[:id]).to eq(account.id.to_s)
end
end
before do
post :create, params: { username: 'test', password: '12345678', email: 'hello@world.tld', agreement: agreement }
context 'when the account does not exist' do
it 'returns http not found' do
get '/api/v1/accounts/1'
expect(response).to have_http_status(404)
expect(body_as_json[:error]).to eq('Record not found')
end
end
context 'when logged in' do
subject do
get "/api/v1/accounts/#{account.id}", headers: headers
end
let(:account) { Fabricate(:account) }
let(:scopes) { 'read:accounts' }
it 'returns account entity as 200 OK', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(body_as_json[:id]).to eq(account.id.to_s)
end
it_behaves_like 'forbidden for wrong scope', 'write:statuses'
end
end
describe 'POST /api/v1/accounts' do
subject do
post '/api/v1/accounts', headers: headers, params: { username: 'test', password: '12345678', email: 'hello@world.tld', agreement: agreement }
end
let(:client_app) { Fabricate(:application) }
let(:token) { Doorkeeper::AccessToken.find_or_create_for(application: client_app, resource_owner: nil, scopes: 'read write', use_refresh_token: false) }
let(:agreement) { nil }
context 'when given truthy agreement' do
let(:agreement) { 'true' }
it 'creates a user', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(body_as_json[:access_token]).to_not be_blank
user = User.find_by(email: 'hello@world.tld')
expect(user).to_not be_nil
expect(user.created_by_application_id).to eq app.id
expect(user.created_by_application_id).to eq client_app.id
end
end
context 'when given no agreement' do
it 'returns http unprocessable entity' do
subject
expect(response).to have_http_status(422)
end
end
end
describe 'POST #follow' do
describe 'POST /api/v1/accounts/:id/follow' do
let(:scopes) { 'write:follows' }
let(:other_account) { Fabricate(:account, username: 'bob', locked: locked) }
context 'when posting to an other account' do
before do
post :follow, params: { id: other_account.id }
subject do
post "/api/v1/accounts/#{other_account.id}/follow", headers: headers
end
context 'with unlocked account' do
let(:locked) { false }
it 'creates a following relation between user and target user', :aggregate_failures do
subject
expect(response).to have_http_status(200)
json = body_as_json
@ -72,6 +113,8 @@ RSpec.describe Api::V1::AccountsController do
let(:locked) { true }
it 'creates a follow request relation between user and target user', :aggregate_failures do
subject
expect(response).to have_http_status(200)
json = body_as_json
@ -94,48 +137,53 @@ RSpec.describe Api::V1::AccountsController do
end
it 'changes reblogs option' do
post :follow, params: { id: other_account.id, reblogs: true }
json = body_as_json
post "/api/v1/accounts/#{other_account.id}/follow", headers: headers, params: { reblogs: true }
expect(json[:following]).to be true
expect(json[:showing_reblogs]).to be true
expect(json[:notifying]).to be false
expect(body_as_json).to include({
following: true,
showing_reblogs: true,
notifying: false,
})
end
it 'changes notify option' do
post :follow, params: { id: other_account.id, notify: true }
post "/api/v1/accounts/#{other_account.id}/follow", headers: headers, params: { notify: true }
json = body_as_json
expect(json[:following]).to be true
expect(json[:showing_reblogs]).to be false
expect(json[:notifying]).to be true
expect(body_as_json).to include({
following: true,
showing_reblogs: false,
notifying: true,
})
end
it 'changes languages option' do
post :follow, params: { id: other_account.id, languages: %w(en es) }
json = body_as_json
expect(json[:following]).to be true
expect(json[:showing_reblogs]).to be false
expect(json[:notifying]).to be false
expect(json[:languages]).to match_array %w(en es)
post "/api/v1/accounts/#{other_account.id}/follow", headers: headers, params: { languages: %w(en es) }
expect(body_as_json).to include({
following: true,
showing_reblogs: false,
notifying: false,
languages: match_array(%w(en es)),
})
end
end
end
describe 'POST #unfollow' do
describe 'POST /api/v1/accounts/:id/unfollow' do
subject do
post "/api/v1/accounts/#{other_account.id}/unfollow", headers: headers
end
let(:scopes) { 'write:follows' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
post :unfollow, params: { id: other_account.id }
end
it 'removes the following relation between user and target user', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be false
end
@ -143,16 +191,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
describe 'POST #remove_from_followers' do
describe 'POST /api/v1/accounts/:id/remove_from_followers' do
subject do
post "/api/v1/accounts/#{other_account.id}/remove_from_followers", headers: headers
end
let(:scopes) { 'write:follows' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
other_account.follow!(user.account)
post :remove_from_followers, params: { id: other_account.id }
end
it 'removes the followed relation between user and target user', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(user.account.followed_by?(other_account)).to be false
end
@ -160,16 +213,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
describe 'POST #block' do
describe 'POST /api/v1/accounts/:id/block' do
subject do
post "/api/v1/accounts/#{other_account.id}/block", headers: headers
end
let(:scopes) { 'write:blocks' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
post :block, params: { id: other_account.id }
end
it 'creates a blocking relation', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be false
expect(user.account.blocking?(other_account)).to be true
@ -178,16 +236,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
describe 'POST #unblock' do
describe 'POST /api/v1/accounts/:id/unblock' do
subject do
post "/api/v1/accounts/#{other_account.id}/unblock", headers: headers
end
let(:scopes) { 'write:blocks' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.block!(other_account)
post :unblock, params: { id: other_account.id }
end
it 'removes the blocking relation between user and target user', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(user.account.blocking?(other_account)).to be false
end
@ -195,16 +258,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
describe 'POST #mute' do
describe 'POST /api/v1/accounts/:id/mute' do
subject do
post "/api/v1/accounts/#{other_account.id}/mute", headers: headers
end
let(:scopes) { 'write:mutes' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
post :mute, params: { id: other_account.id }
end
it 'mutes notifications', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be true
expect(user.account.muting?(other_account)).to be true
@ -214,16 +282,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
describe 'POST #mute with notifications set to false' do
describe 'POST /api/v1/accounts/:id/mute with notifications set to false' do
subject do
post "/api/v1/accounts/#{other_account.id}/mute", headers: headers, params: { notifications: false }
end
let(:scopes) { 'write:mutes' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
post :mute, params: { id: other_account.id, notifications: false }
end
it 'does not mute notifications', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be true
expect(user.account.muting?(other_account)).to be true
@ -233,16 +306,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
describe 'POST #mute with nonzero duration set' do
describe 'POST /api/v1/accounts/:id/mute with nonzero duration set' do
subject do
post "/api/v1/accounts/#{other_account.id}/mute", headers: headers, params: { duration: 300 }
end
let(:scopes) { 'write:mutes' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.follow!(other_account)
post :mute, params: { id: other_account.id, duration: 300 }
end
it 'mutes notifications', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(user.account.following?(other_account)).to be true
expect(user.account.muting?(other_account)).to be true
@ -252,16 +330,21 @@ RSpec.describe Api::V1::AccountsController do
it_behaves_like 'forbidden for wrong scope', 'read:accounts'
end
describe 'POST #unmute' do
describe 'POST /api/v1/accounts/:id/unmute' do
subject do
post "/api/v1/accounts/#{other_account.id}/unmute", headers: headers
end
let(:scopes) { 'write:mutes' }
let(:other_account) { Fabricate(:account, username: 'bob') }
before do
user.account.mute!(other_account)
post :unmute, params: { id: other_account.id }
end
it 'removes the muting relation between user and target user', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(user.account.muting?(other_account)).to be false
end

@ -8,18 +8,12 @@ RSpec.describe 'Account actions' do
let(:scopes) { 'admin:write admin:write:accounts' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
let(:mailer) { instance_double(ActionMailer::MessageDelivery, deliver_later!: nil) }
before do
allow(UserMailer).to receive(:warning).with(target_account.user, anything).and_return(mailer)
end
shared_examples 'a successful notification delivery' do
it 'notifies the user about the action taken' do
subject
expect(UserMailer).to have_received(:warning).with(target_account.user, anything).once
expect(mailer).to have_received(:deliver_later!).once
expect { subject }
.to have_enqueued_job(ActionMailer::MailDeliveryJob)
.with('UserMailer', 'warning', 'deliver_now!', args: [User, AccountWarning])
end
end

@ -2,24 +2,26 @@
require 'rails_helper'
RSpec.describe Api::V1::StatusesController do
render_views
let(:user) { Fabricate(:user) }
let(:app) { Fabricate(:application, name: 'Test app', website: 'http://testapp.com') }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, application: app, scopes: scopes) }
describe '/api/v1/statuses' do
context 'with an oauth token' do
before do
allow(controller).to receive(:doorkeeper_token) { token }
end
let(:user) { Fabricate(:user) }
let(:client_app) { Fabricate(:application, name: 'Test app', website: 'http://testapp.com') }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, application: client_app, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
describe 'GET /api/v1/statuses/:id' do
subject do
get "/api/v1/statuses/#{status.id}", headers: headers
end
describe 'GET #show' do
let(:scopes) { 'read:statuses' }
let(:status) { Fabricate(:status, account: user.account) }
it_behaves_like 'forbidden for wrong scope', 'write write:statuses'
it 'returns http success' do
get :show, params: { id: status.id }
subject
expect(response).to have_http_status(200)
end
@ -31,11 +33,10 @@ RSpec.describe Api::V1::StatusesController do
end
it 'returns filter information', :aggregate_failures do
get :show, params: { id: status.id }
json = body_as_json
subject
expect(response).to have_http_status(200)
expect(json[:filtered][0]).to include({
expect(body_as_json[:filtered][0]).to include({
filter: a_hash_including({
id: user.account.custom_filters.first.id.to_s,
title: 'filter1',
@ -55,11 +56,10 @@ RSpec.describe Api::V1::StatusesController do
end
it 'returns filter information', :aggregate_failures do
get :show, params: { id: status.id }
json = body_as_json
subject
expect(response).to have_http_status(200)
expect(json[:filtered][0]).to include({
expect(body_as_json[:filtered][0]).to include({
filter: a_hash_including({
id: user.account.custom_filters.first.id.to_s,
title: 'filter1',
@ -78,11 +78,10 @@ RSpec.describe Api::V1::StatusesController do
end
it 'returns filter information', :aggregate_failures do
get :show, params: { id: status.id }
json = body_as_json
subject
expect(response).to have_http_status(200)
expect(json[:reblog][:filtered][0]).to include({
expect(body_as_json[:reblog][:filtered][0]).to include({
filter: a_hash_including({
id: user.account.custom_filters.first.id.to_s,
title: 'filter1',
@ -94,7 +93,7 @@ RSpec.describe Api::V1::StatusesController do
end
end
describe 'GET #context' do
describe 'GET /api/v1/statuses/:id/context' do
let(:scopes) { 'read:statuses' }
let(:status) { Fabricate(:status, account: user.account) }
@ -103,20 +102,26 @@ RSpec.describe Api::V1::StatusesController do
end
it 'returns http success' do
get :context, params: { id: status.id }
get "/api/v1/statuses/#{status.id}/context", headers: headers
expect(response).to have_http_status(200)
end
end
describe 'POST #create' do
describe 'POST /api/v1/statuses' do
subject do
post '/api/v1/statuses', headers: headers, params: params
end
let(:scopes) { 'write:statuses' }
let(:params) { { status: 'Hello world' } }
context 'with a basic status body' do
before do
post :create, params: { status: 'Hello world' }
end
it_behaves_like 'forbidden for wrong scope', 'read read:statuses'
context 'with a basic status body' do
it 'returns rate limit headers', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(response.headers['X-RateLimit-Limit']).to eq RateLimiter::FAMILIES[:statuses][:limit].to_s
expect(response.headers['X-RateLimit-Remaining']).to eq (RateLimiter::FAMILIES[:statuses][:limit] - 1).to_s
@ -127,22 +132,22 @@ RSpec.describe Api::V1::StatusesController do
let!(:alice) { Fabricate(:account, username: 'alice') }
let!(:bob) { Fabricate(:account, username: 'bob') }
before do
post :create, params: { status: '@alice hm, @bob is really annoying lately', allowed_mentions: [alice.id] }
end
let(:params) { { status: '@alice hm, @bob is really annoying lately', allowed_mentions: [alice.id] } }
it 'returns serialized extra accounts in body', :aggregate_failures do
subject
expect(response).to have_http_status(422)
expect(body_as_json[:unexpected_accounts].map { |a| a.slice(:id, :acct) }).to eq [{ id: bob.id.to_s, acct: bob.acct }]
end
end
context 'with missing parameters' do
before do
post :create, params: {}
end
let(:params) { {} }
it 'returns rate limit headers', :aggregate_failures do
subject
expect(response).to have_http_status(422)
expect(response.headers['X-RateLimit-Limit']).to eq RateLimiter::FAMILIES[:statuses][:limit].to_s
end
@ -152,10 +157,11 @@ RSpec.describe Api::V1::StatusesController do
before do
rate_limiter = RateLimiter.new(user.account, family: :statuses)
300.times { rate_limiter.record! }
post :create, params: { status: 'Hello world' }
end
it 'returns rate limit headers', :aggregate_failures do
subject
expect(response).to have_http_status(429)
expect(response.headers['X-RateLimit-Limit']).to eq RateLimiter::FAMILIES[:statuses][:limit].to_s
expect(response.headers['X-RateLimit-Remaining']).to eq '0'
@ -163,29 +169,37 @@ RSpec.describe Api::V1::StatusesController do
end
end
describe 'DELETE #destroy' do
describe 'DELETE /api/v1/statuses/:id' do
subject do
delete "/api/v1/statuses/#{status.id}", headers: headers
end
let(:scopes) { 'write:statuses' }
let(:status) { Fabricate(:status, account: user.account) }
before do
post :destroy, params: { id: status.id }
end
it_behaves_like 'forbidden for wrong scope', 'read read:statuses'
it 'removes the status', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(Status.find_by(id: status.id)).to be_nil
end
end
describe 'PUT #update' do
describe 'PUT /api/v1/statuses/:id' do
subject do
put "/api/v1/statuses/#{status.id}", headers: headers, params: { status: 'I am updated' }
end
let(:scopes) { 'write:statuses' }
let(:status) { Fabricate(:status, account: user.account) }
before do
put :update, params: { id: status.id, status: 'I am updated' }
end
it_behaves_like 'forbidden for wrong scope', 'read read:statuses'
it 'updates the status', :aggregate_failures do
subject
expect(response).to have_http_status(200)
expect(status.reload.text).to eq 'I am updated'
end
@ -193,49 +207,49 @@ RSpec.describe Api::V1::StatusesController do
end
context 'without an oauth token' do
before do
allow(controller).to receive(:doorkeeper_token).and_return(nil)
end
context 'with a private status' do
let(:status) { Fabricate(:status, account: user.account, visibility: :private) }
let(:status) { Fabricate(:status, visibility: :private) }
describe 'GET #show' do
describe 'GET /api/v1/statuses/:id' do
it 'returns http unauthorized' do
get :show, params: { id: status.id }
get "/api/v1/statuses/#{status.id}"
expect(response).to have_http_status(404)
end
end
describe 'GET #context' do
describe 'GET /api/v1/statuses/:id/context' do
before do
Fabricate(:status, account: user.account, thread: status)
Fabricate(:status, thread: status)
end
it 'returns http unauthorized' do
get :context, params: { id: status.id }
get "/api/v1/statuses/#{status.id}/context"
expect(response).to have_http_status(404)
end
end
end
context 'with a public status' do
let(:status) { Fabricate(:status, account: user.account, visibility: :public) }
let(:status) { Fabricate(:status, visibility: :public) }
describe 'GET #show' do
describe 'GET /api/v1/statuses/:id' do
it 'returns http success' do
get :show, params: { id: status.id }
get "/api/v1/statuses/#{status.id}"
expect(response).to have_http_status(200)
end
end
describe 'GET #context' do
describe 'GET /api/v1/statuses/:id/context' do
before do
Fabricate(:status, account: user.account, thread: status)
Fabricate(:status, thread: status)
end
it 'returns http success' do
get :context, params: { id: status.id }
get "/api/v1/statuses/#{status.id}/context"
expect(response).to have_http_status(200)
end
end

@ -60,7 +60,7 @@ RSpec.configure do |config|
end
end
config.around :each, type: :search do |example|
config.around :each, :search do |example|
search_data_manager.populate_indexes
example.run
search_data_manager.remove_indexes
@ -73,6 +73,6 @@ RSpec.configure do |config|
end
def search_examples_present?
RUN_SEARCH_SPECS
RSpec.world.filtered_examples.values.flatten.any? { |example| example.metadata[:search] == true }
end
end

@ -1743,10 +1743,10 @@ __metadata:
languageName: node
linkType: hard
"@eslint/js@npm:8.53.0":
version: 8.53.0
resolution: "@eslint/js@npm:8.53.0"
checksum: d29f6c207b2f6dc4ef174d16a3c07b0d3a17ca3d805680496ff267edd773e3bac41db4e7dcab622ca1970d892535bd19671e2a756d4eac75e96fd8c8dcdb619b
"@eslint/js@npm:8.54.0":
version: 8.54.0
resolution: "@eslint/js@npm:8.54.0"
checksum: d61fb4a0be6af2d8cb290121c329697664a75d6255a29926d5454fb02aeb02b87112f67fdf218d10abac42f90c570ac366126751baefc5405d0e017ed0c946c5
languageName: node
linkType: hard
@ -1777,8 +1777,8 @@ __metadata:
linkType: hard
"@formatjs/cli@npm:^6.1.1":
version: 6.2.3
resolution: "@formatjs/cli@npm:6.2.3"
version: 6.2.4
resolution: "@formatjs/cli@npm:6.2.4"
peerDependencies:
vue: ^3.3.4
peerDependenciesMeta:
@ -1786,17 +1786,7 @@ __metadata:
optional: true
bin:
formatjs: bin/formatjs
checksum: 91eada7676333e2e647cbfbf9c0da88e4ca52e7b486dca73a7299594b0b0dea99de00e1b4110fac993633feb4bf5f26c97885b1a870dfd0ef95688d7f3234a03
languageName: node
linkType: hard
"@formatjs/ecma402-abstract@npm:1.17.4":
version: 1.17.4
resolution: "@formatjs/ecma402-abstract@npm:1.17.4"
dependencies:
"@formatjs/intl-localematcher": "npm:0.5.1"
tslib: "npm:^2.4.0"
checksum: c24bf58cd3152ad64a29dfab185d1fde91e44423aabb041f332216b37a23256618efee1e252c0015e735bc688708ee279348e2a4a67a77f6cf918028848ef071
checksum: 3f6bbbc633a3a6ebd4e6fcfc3a9f889bc044043452cbc8f81abcaee97aaef991a778ae785d3b9d21ecc5f55b147eb0009b44520bb895fe244b4c14a36d9b05bd
languageName: node
linkType: hard
@ -1819,17 +1809,6 @@ __metadata:
languageName: node
linkType: hard
"@formatjs/icu-messageformat-parser@npm:2.7.2":
version: 2.7.2
resolution: "@formatjs/icu-messageformat-parser@npm:2.7.2"
dependencies:
"@formatjs/ecma402-abstract": "npm:1.17.4"
"@formatjs/icu-skeleton-parser": "npm:1.6.4"
tslib: "npm:^2.4.0"
checksum: c7a2f7daecec9ba36acda2c5b7ef21f515883b886d4d9965d83c93bc55fc604f56c1097d4641608633c32917aaa0b9b0c65c0d162723428249dc29271270a064
languageName: node
linkType: hard
"@formatjs/icu-messageformat-parser@npm:2.7.3":
version: 2.7.3
resolution: "@formatjs/icu-messageformat-parser@npm:2.7.3"
@ -1841,16 +1820,6 @@ __metadata:
languageName: node
linkType: hard
"@formatjs/icu-skeleton-parser@npm:1.6.4":
version: 1.6.4
resolution: "@formatjs/icu-skeleton-parser@npm:1.6.4"
dependencies:
"@formatjs/ecma402-abstract": "npm:1.17.4"
tslib: "npm:^2.4.0"
checksum: 3688aad6d12fe677ef0ce3d6a3424c5bde9ed223dc49841de8dd33c547bdd2858f8bce4437fcc135048b4f92385374776ab48e39b3cc5063a45bdb1ce85ad2d4
languageName: node
linkType: hard
"@formatjs/icu-skeleton-parser@npm:1.7.0":
version: 1.7.0
resolution: "@formatjs/icu-skeleton-parser@npm:1.7.0"
@ -1883,15 +1852,6 @@ __metadata:
languageName: node
linkType: hard
"@formatjs/intl-localematcher@npm:0.5.1":
version: 0.5.1
resolution: "@formatjs/intl-localematcher@npm:0.5.1"
dependencies:
tslib: "npm:^2.4.0"
checksum: 2282db3e623d3f65681b6a2a2dbffc4f948b8411789f51af1b221610105f809ebec7f58f9afd5008e72c62ed5524c8c321f85c78cab0cffb632e20c0064b701b
languageName: node
linkType: hard
"@formatjs/intl-localematcher@npm:0.5.2":
version: 0.5.2
resolution: "@formatjs/intl-localematcher@npm:0.5.2"
@ -1932,26 +1892,6 @@ __metadata:
languageName: node
linkType: hard
"@formatjs/ts-transformer@npm:3.13.8":
version: 3.13.8
resolution: "@formatjs/ts-transformer@npm:3.13.8"
dependencies:
"@formatjs/icu-messageformat-parser": "npm:2.7.2"
"@types/json-stable-stringify": "npm:^1.0.32"
"@types/node": "npm:14 || 16 || 17"
chalk: "npm:^4.0.0"
json-stable-stringify: "npm:^1.0.1"
tslib: "npm:^2.4.0"
typescript: "npm:5"
peerDependencies:
ts-jest: ">=27"
peerDependenciesMeta:
ts-jest:
optional: true
checksum: 32b13b75732739ca016d9d654e5f40077cafa3ff2f924fbb5fd91155cd6af3292c5fee9be022bb224fb69d2ab60ed9cdda49ee83fbf9e1e8de470ee33ceae4f3
languageName: node
linkType: hard
"@formatjs/ts-transformer@npm:3.13.9":
version: 3.13.9
resolution: "@formatjs/ts-transformer@npm:3.13.9"
@ -2981,8 +2921,8 @@ __metadata:
linkType: hard
"@testing-library/react@npm:^14.0.0":
version: 14.1.0
resolution: "@testing-library/react@npm:14.1.0"
version: 14.1.2
resolution: "@testing-library/react@npm:14.1.2"
dependencies:
"@babel/runtime": "npm:^7.12.5"
"@testing-library/dom": "npm:^9.0.0"
@ -2990,7 +2930,7 @@ __metadata:
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
checksum: 357ad80b11bdd4b6d10d2fb1bf86d5b39fb457cf09293033cf42bcc7a95738a86a2b12b760ae15bad326da0b9c074ca015d2bbf0baae7da38fdbc7c808925820
checksum: b5b0990d3aa0ea8b37c55804e0d5d584fc638a5c7d4df90da9a0fdb00bc981b27b6991468b2dc719982a5d0b0107a41596063ce51ad519eeab47b22bc04d6779
languageName: node
linkType: hard
@ -3724,14 +3664,14 @@ __metadata:
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^6.0.0":
version: 6.10.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.10.0"
version: 6.11.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.11.0"
dependencies:
"@eslint-community/regexpp": "npm:^4.5.1"
"@typescript-eslint/scope-manager": "npm:6.10.0"
"@typescript-eslint/type-utils": "npm:6.10.0"
"@typescript-eslint/utils": "npm:6.10.0"
"@typescript-eslint/visitor-keys": "npm:6.10.0"
"@typescript-eslint/scope-manager": "npm:6.11.0"
"@typescript-eslint/type-utils": "npm:6.11.0"
"@typescript-eslint/utils": "npm:6.11.0"
"@typescript-eslint/visitor-keys": "npm:6.11.0"
debug: "npm:^4.3.4"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.4"
@ -3744,44 +3684,44 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: f50b17cb753afbfc99549d38585eba8558949b977eb4661dd584e73ee946b3dbe944c9e3b12a233fa06b5e1c7d101730ac88a00c7a91b0a7f1e2c37a98e13c7a
checksum: 6645aa09b9d51c5e3ea781eaf74da75b94f83f3e2d7b3dd988d5ce7eb82dd87e3509471cf2ee8c6b2428d907df5f1b02f29dbd04f54c2653f9566c8c4ce98009
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^6.0.0":
version: 6.10.0
resolution: "@typescript-eslint/parser@npm:6.10.0"
version: 6.11.0
resolution: "@typescript-eslint/parser@npm:6.11.0"
dependencies:
"@typescript-eslint/scope-manager": "npm:6.10.0"
"@typescript-eslint/types": "npm:6.10.0"
"@typescript-eslint/typescript-estree": "npm:6.10.0"
"@typescript-eslint/visitor-keys": "npm:6.10.0"
"@typescript-eslint/scope-manager": "npm:6.11.0"
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/typescript-estree": "npm:6.11.0"
"@typescript-eslint/visitor-keys": "npm:6.11.0"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: fd86c31dfdde03636393a3a9cf16716856bb506923069f34d87af14fac363a33578f47476a15d272e4d7a764de00fd905ee11361cc06b81b302a9fa8ebe4c23c
checksum: e7caeb20069102e21f468fc0dbe7ff6fb6b1efa9e72f4c9f39d4a865ed0633f39130b593ef9ae8f394ca1d70563e15410faf30a482a97809951eaac6ed3a67da
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:6.10.0":
version: 6.10.0
resolution: "@typescript-eslint/scope-manager@npm:6.10.0"
"@typescript-eslint/scope-manager@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/scope-manager@npm:6.11.0"
dependencies:
"@typescript-eslint/types": "npm:6.10.0"
"@typescript-eslint/visitor-keys": "npm:6.10.0"
checksum: a5fbee770d763852a7f426b950d495529139f1629fdcb30136c93f787acd82236db4272f78dff1d05a3a10a6406472ae95ae94ab75cfb618a06d75b8cc536cbf
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/visitor-keys": "npm:6.11.0"
checksum: d8999e2d1a4cbde8a79df5e3ec416f0e3db9532d39f2f4bb5a0ebdf954ae75c183d3277579ba05268fe2c88e88ef87f0fa12f02bb8d95d9e67d92e411241f3a3
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:6.10.0":
version: 6.10.0
resolution: "@typescript-eslint/type-utils@npm:6.10.0"
"@typescript-eslint/type-utils@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/type-utils@npm:6.11.0"
dependencies:
"@typescript-eslint/typescript-estree": "npm:6.10.0"
"@typescript-eslint/utils": "npm:6.10.0"
"@typescript-eslint/typescript-estree": "npm:6.11.0"
"@typescript-eslint/utils": "npm:6.11.0"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.0.1"
peerDependencies:
@ -3789,23 +3729,23 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: f7c425d4da4d53d78b3d6630216dc1f2809f8dcaed62dc3cf12252102a53103a2aa39a160b310ca1cedebf87b8c339013be0c2360710c7c836b775374730c10e
checksum: ff68f2e052b8d688f1dc1a0050746704c8e0ab6263b47f1f52da73a7d251678e4950af23a95e1cd8e3fcea2457e6e5294ddbe01d29dafa2fdfb5b11ed9452a3f
languageName: node
linkType: hard
"@typescript-eslint/types@npm:6.10.0":
version: 6.10.0
resolution: "@typescript-eslint/types@npm:6.10.0"
checksum: 30f47de625405b3729db6d26a0376d98628bd966c70ca01fab1adcef91bba810d27ce643d844e42d1cc77bb2c6277e62efe278a090da63ba748dfe5710c4757b
"@typescript-eslint/types@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/types@npm:6.11.0"
checksum: 23182813db39a5e9b9bcc1e85306c953f7b8b22d3885e41fcac0bd725c170fbcb70f4ce55633678cc5921dcf062fa0e55635eb39480c118a4411a00354820223
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:6.10.0":
version: 6.10.0
resolution: "@typescript-eslint/typescript-estree@npm:6.10.0"
"@typescript-eslint/typescript-estree@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/typescript-estree@npm:6.11.0"
dependencies:
"@typescript-eslint/types": "npm:6.10.0"
"@typescript-eslint/visitor-keys": "npm:6.10.0"
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/visitor-keys": "npm:6.11.0"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@ -3814,34 +3754,34 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: ca28ca5a55e2d431c649ad093e4a4302f2b37c430bbeebbe622b05c727fd14dab136aead5a96848499d3ff4d187889733f8871b8dd5205d19bed4a260ad74544
checksum: 3e183e554e1bc74f065da3015f7137eb40c262f989c547701b1e3f4f20134e574e56b749288cd00d77b9d1ddb705546613c2457661ffc63b6060ffa97ba3aac8
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:6.10.0, @typescript-eslint/utils@npm:^6.5.0":
version: 6.10.0
resolution: "@typescript-eslint/utils@npm:6.10.0"
"@typescript-eslint/utils@npm:6.11.0, @typescript-eslint/utils@npm:^6.5.0":
version: 6.11.0
resolution: "@typescript-eslint/utils@npm:6.11.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@types/json-schema": "npm:^7.0.12"
"@types/semver": "npm:^7.5.0"
"@typescript-eslint/scope-manager": "npm:6.10.0"
"@typescript-eslint/types": "npm:6.10.0"
"@typescript-eslint/typescript-estree": "npm:6.10.0"
"@typescript-eslint/scope-manager": "npm:6.11.0"
"@typescript-eslint/types": "npm:6.11.0"
"@typescript-eslint/typescript-estree": "npm:6.11.0"
semver: "npm:^7.5.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
checksum: 809a1d08b154f76ed7a99edddf872369f6ed93987cea19a18cb9f12b8390bddcff9138d9d94955545da54488d59e0001054bec13baf6d858a1761b059480b887
checksum: c91eb4578607959acc2b43ddc791571682e45601a19b25d5d120786ed4af607656f83c5c1fa71972e549ddfb5542acf2f7d443ae93b32ee28192c22c106b8883
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:6.10.0":
version: 6.10.0
resolution: "@typescript-eslint/visitor-keys@npm:6.10.0"
"@typescript-eslint/visitor-keys@npm:6.11.0":
version: 6.11.0
resolution: "@typescript-eslint/visitor-keys@npm:6.11.0"
dependencies:
"@typescript-eslint/types": "npm:6.10.0"
"@typescript-eslint/types": "npm:6.11.0"
eslint-visitor-keys: "npm:^3.4.1"
checksum: f9223c148655ce00bb17db8aa92ee964e62c75d15095893e0b4d653c60a4033f456329b06de3eab4b404d8df359904f0dd6e3c8c842885c6d130e28ccd95ce03
checksum: 5f48329422b7f286196661d39e93e9defd7c5cf80e6c84c8d03459853f5d9f86a5e91c5e80ea572dcdb907ebbe503bbcc77aeb8b468c294b2aa7b3ccfc81cb88
languageName: node
linkType: hard
@ -6009,9 +5949,9 @@ __metadata:
linkType: hard
"core-js@npm:^3.30.2":
version: 3.33.2
resolution: "core-js@npm:3.33.2"
checksum: d6a56ad3e134846c805ce936788dd58cb51e861f173ed1f830979735d7865ea6f6a5a437076c36c8d8b842ba0384d052998f160774a8da7712f0f51df60167fe
version: 3.33.3
resolution: "core-js@npm:3.33.3"
checksum: 08abdc9470c8228b9d09f61e62ab312738681202c4c34e9638889125b304b235f34c4fe22e9d41c20906ac0fcc807dca57c5ff7d6b90021bf64e8fe23461d9ab
languageName: node
linkType: hard
@ -7415,11 +7355,11 @@ __metadata:
linkType: hard
"eslint-plugin-formatjs@npm:^4.10.1":
version: 4.11.2
resolution: "eslint-plugin-formatjs@npm:4.11.2"
version: 4.11.3
resolution: "eslint-plugin-formatjs@npm:4.11.3"
dependencies:
"@formatjs/icu-messageformat-parser": "npm:2.7.2"
"@formatjs/ts-transformer": "npm:3.13.8"
"@formatjs/icu-messageformat-parser": "npm:2.7.3"
"@formatjs/ts-transformer": "npm:3.13.9"
"@types/eslint": "npm:7 || 8"
"@types/picomatch": "npm:^2.3.0"
"@typescript-eslint/utils": "npm:^6.5.0"
@ -7431,7 +7371,7 @@ __metadata:
unicode-emoji-utils: "npm:^1.1.1"
peerDependencies:
eslint: 7 || 8
checksum: f5a6bffd9c65b9ce765be74d384618e543388720036b070d69d93c00b8c2bfded543141affc7793bf402f2c9177e2bbc395a7d1e8b806a40bfde1744c282a13c
checksum: 66481e0b5af5738bdb2b164ac1c74216c5c26f7c7400456a58387e71424bb30554aef39da43ce29bfd551f7dad678818d9af029022edadc4e1024349339f6984
languageName: node
linkType: hard
@ -7598,13 +7538,13 @@ __metadata:
linkType: hard
"eslint@npm:^8.41.0":
version: 8.53.0
resolution: "eslint@npm:8.53.0"
version: 8.54.0
resolution: "eslint@npm:8.54.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.2.0"
"@eslint-community/regexpp": "npm:^4.6.1"
"@eslint/eslintrc": "npm:^2.1.3"
"@eslint/js": "npm:8.53.0"
"@eslint/js": "npm:8.54.0"
"@humanwhocodes/config-array": "npm:^0.11.13"
"@humanwhocodes/module-importer": "npm:^1.0.1"
"@nodelib/fs.walk": "npm:^1.2.8"
@ -7641,7 +7581,7 @@ __metadata:
text-table: "npm:^0.2.0"
bin:
eslint: bin/eslint.js
checksum: c5cd0049488c0463dab7d97466767ca5a1d0b3b59d0a223122683dc8039ecea30b27867fb9e38906b4c1ab9d09ece8a802a6c540d8905016f1cc4b4bb27329af
checksum: 4f205f832bdbd0218cde374b067791f4f76d7abe8de86b2dc849c273899051126d912ebf71531ee49b8eeaa22cad77febdc8f2876698dc2a76e84a8cb976af22
languageName: node
linkType: hard

Loading…
Cancel
Save