diff --git a/app/controllers/api/v1/follow_requests_controller.rb b/app/controllers/api/v1/follow_requests_controller.rb index 313fe2f81c..e9aca5f8a7 100644 --- a/app/controllers/api/v1/follow_requests_controller.rb +++ b/app/controllers/api/v1/follow_requests_controller.rb @@ -13,6 +13,7 @@ class Api::V1::FollowRequestsController < Api::BaseController def authorize AuthorizeFollowService.new.call(account, current_account) + NotifyService.new.call(current_account, Follow.find_by(account: account, target_account: current_account)) render_empty end diff --git a/app/controllers/statuses_controller.rb b/app/controllers/statuses_controller.rb index cf750f4bb4..145e77918d 100644 --- a/app/controllers/statuses_controller.rb +++ b/app/controllers/statuses_controller.rb @@ -60,6 +60,7 @@ class StatusesController < ApplicationController skip_session! expires_in 180, public: true response.headers['X-Frame-Options'] = 'ALLOWALL' + @autoplay = ActiveModel::Type::Boolean.new.cast(params[:autoplay]) render 'stream_entries/embed', layout: 'embedded' end diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb index 14ca2333ef..ae915abf68 100644 --- a/app/helpers/settings_helper.rb +++ b/app/helpers/settings_helper.rb @@ -8,6 +8,7 @@ module SettingsHelper bg: 'Български', ca: 'Català', co: 'Corsu', + cy: 'Cymraeg', da: 'Dansk', de: 'Deutsch', el: 'Ελληνικά', diff --git a/app/javascript/mastodon/features/getting_started/index.js b/app/javascript/mastodon/features/getting_started/index.js index f34ac6b8aa..97c726f627 100644 --- a/app/javascript/mastodon/features/getting_started/index.js +++ b/app/javascript/mastodon/features/getting_started/index.js @@ -126,34 +126,36 @@ export default class GettingStarted extends ImmutablePureComponent { } -
- {!multiColumn && } - {navItems} -
+
+
+ {!multiColumn && } + {navItems} +
- {!multiColumn &&
} + {!multiColumn &&
} -
-
    -
  • ·
  • - {invitesEnabled &&
  • ·
  • } - {multiColumn &&
  • ·
  • } -
  • ·
  • -
  • ·
  • -
  • ·
  • -
  • ·
  • -
  • ·
  • -
  • ·
  • -
  • -
+
+
    +
  • ·
  • + {invitesEnabled &&
  • ·
  • } + {multiColumn &&
  • ·
  • } +
  • ·
  • +
  • ·
  • +
  • ·
  • +
  • ·
  • +
  • ·
  • +
  • ·
  • +
  • +
-

- tootsuite/mastodon (v{version}) }} - /> -

+

+ tootsuite/mastodon (v{version}) }} + /> +

+
); diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 5478e2d3e5..677911e4ec 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -10,9 +10,9 @@ "account.endorse": "إبرازه على الملف الشخصي", "account.follow": "تابِع", "account.followers": "المتابعون", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "لا أحد يتبع هذا الحساب بعد.", "account.follows": "يتبع", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "هذا المستخدِم لا يتبع أحدًا بعد.", "account.follows_you": "يتابعك", "account.hide_reblogs": "إخفاء ترقيات @{name}", "account.media": "وسائط", @@ -89,7 +89,7 @@ "confirmations.mute.confirm": "أكتم", "confirmations.mute.message": "هل أنت متأكد أنك تريد كتم {name} ؟", "confirmations.redraft.confirm": "إزالة و إعادة الصياغة", - "confirmations.redraft.message": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته ؟ سوف تفقد جميع الردود و الترقيات و المفضلة المتصلة به.", + "confirmations.redraft.message": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته ؟ سوف تفقد جميع الإعجابات و الترقيات أما الردود المتصلة به فستُصبِح يتيمة.", "confirmations.unfollow.confirm": "إلغاء المتابعة", "confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {name} ؟", "embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.", @@ -108,10 +108,10 @@ "emoji_button.search_results": "نتائج البحث", "emoji_button.symbols": "رموز", "emoji_button.travel": "أماكن و أسفار", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "لم تقم بحظر أي مستخدِم بعد.", "empty_column.community": "الخط الزمني المحلي فارغ. أكتب شيئا ما للعامة كبداية !", "empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.", - "empty_column.domain_blocks": "There are no hidden domains yet.", + "empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", @@ -119,8 +119,8 @@ "empty_column.home": "إنّ الخيط الزمني لصفحتك الرئيسية فارغ. قم بزيارة {public} أو استخدم حقل البحث لكي تكتشف مستخدمين آخرين.", "empty_column.home.public_timeline": "الخيط العام", "empty_column.list": "هذه القائمة فارغة مؤقتا و لكن سوف تمتلئ تدريجيا عندما يبدأ الأعضاء المُنتَمين إليها بنشر تبويقات.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "ليس عندك أية قائمة بعد. سوف تظهر قائمتك هنا إن قمت بإنشاء واحدة.", + "empty_column.mutes": "لم تقم بكتم أي مستخدم بعد.", "empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.", "empty_column.public": "لا يوجد أي شيء هنا ! قم بنشر شيء ما للعامة، أو إتبع مستخدمين آخرين في الخوادم المثيلة الأخرى لملء خيط المحادثات العام", "follow_request.authorize": "ترخيص", @@ -137,30 +137,30 @@ "home.column_settings.show_reblogs": "عرض الترقيات", "home.column_settings.show_replies": "عرض الردود", "keyboard_shortcuts.back": "للعودة", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "لفتح قائمة المستخدمين المحظورين", "keyboard_shortcuts.boost": "للترقية", "keyboard_shortcuts.column": "للتركيز على منشور على أحد الأعمدة", "keyboard_shortcuts.compose": "للتركيز على نافذة تحرير النصوص", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "لفتح عمود الرسائل المباشرة", "keyboard_shortcuts.down": "للإنتقال إلى أسفل القائمة", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "للإضافة إلى المفضلة", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "لفتح قائمة المفضلات", + "keyboard_shortcuts.federated": "لفتح الخيط الزمني الفديرالي", "keyboard_shortcuts.heading": "Keyboard Shortcuts", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "لفتح الخيط الرئيسي", "keyboard_shortcuts.hotkey": "مفتاح الإختصار", "keyboard_shortcuts.legend": "لعرض هذا المفتاح", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "لفتح الخيط الزمني المحلي", "keyboard_shortcuts.mention": "لذِكر الناشر", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.muted": "لفتح قائمة المستخدِمين المكتومين", + "keyboard_shortcuts.my_profile": "لفتح ملفك الشخصي", + "keyboard_shortcuts.notifications": "لفتح عمود الإشعارات", + "keyboard_shortcuts.pinned": "لفتح قائمة التبويقات المدبسة", "keyboard_shortcuts.profile": "لفتح رابط الناشر", "keyboard_shortcuts.reply": "للردّ", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "لفتح قائمة طلبات المتابعة", "keyboard_shortcuts.search": "للتركيز على البحث", "keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.toggle_hidden": "لعرض أو إخفاء النص مِن وراء التحذير", @@ -183,10 +183,10 @@ "missing_indicator.label": "تعذر العثور عليه", "missing_indicator.sublabel": "تعذر العثور على هذا المورد", "mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟", - "navigation_bar.apps": "Mobile apps", + "navigation_bar.apps": "تطبيقات الأجهزة المحمولة", "navigation_bar.blocks": "الحسابات المحجوبة", "navigation_bar.community_timeline": "الخيط العام المحلي", - "navigation_bar.compose": "Compose new toot", + "navigation_bar.compose": "تحرير تبويق جديد", "navigation_bar.direct": "الرسائل المباشِرة", "navigation_bar.discover": "إكتشف", "navigation_bar.domain_blocks": "النطاقات المخفية", @@ -297,7 +297,7 @@ "status.reblog": "رَقِّي", "status.reblog_private": "القيام بالترقية إلى الجمهور الأصلي", "status.reblogged_by": "رقّاه {name}", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "لم يقم أي أحد بترقية هذا التبويق بعد. عندما يقوم أحدهم بذلك سوف تظهر هنا.", "status.redraft": "إزالة و إعادة الصياغة", "status.reply": "ردّ", "status.replyAll": "رُد على الخيط", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} آخرون {people}} يتحدثون", "ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.", "upload_area.title": "إسحب ثم أفلت للرفع", - "upload_button.label": "إضافة وسائط", + "upload_button.label": "إضافة وسائط (JPEG، PNG، GIF، WebM، MP4، MOV)", "upload_form.description": "وصف للمعاقين بصريا", "upload_form.focus": "قص", "upload_form.undo": "حذف", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index b0f76e834d..c6c3095a7b 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -10,9 +10,9 @@ "account.endorse": "Představit na profilu", "account.follow": "Sleduj", "account.followers": "Sledovatelé", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "Tohoto uživatele ještě nikdo nesleduje.", "account.follows": "Sleduje", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "Tento uživatel ještě nikoho nesleduje.", "account.follows_you": "Sleduje vás", "account.hide_reblogs": "Skrýt boosty od uživatele @{name}", "account.media": "Média", @@ -108,19 +108,19 @@ "emoji_button.search_results": "Výsledky hledání", "emoji_button.symbols": "Symboly", "emoji_button.travel": "Cestování a místa", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "Ještě jste nezablokoval/a žádného uživatele.", "empty_column.community": "Místní časová osa je prázdná. Napište něco veřejně a rozhýbejte to tu!", "empty_column.direct": "Ještě nemáte žádné přímé zprávy. Pokud nějakou pošlete nebo dostanete, zobrazí se zde.", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "Ještě zde nejsou žádné skryté domény.", + "empty_column.favourited_statuses": "Ještě nemáte žádné oblíbené tooty. Pokud si nějaký oblíbíte, zobrazí se zde.", + "empty_column.favourites": "Tento toot si ještě nikdo neoblíbil. Pokud to někdo udělá, zobrazí se zde.", + "empty_column.follow_requests": "Ještě nemáte žádné požadavky o sledování. Pokud nějaký obdržíte, zobrazí se zde.", "empty_column.hashtag": "Pod tímto hashtagem ještě nic není.", "empty_column.home": "Vaše domovská časová osa je prázdná! Začněte navštívením {public} nebo použijte hledání a seznamte se s dalšími uživateli.", "empty_column.home.public_timeline": "veřejné časové osy", "empty_column.list": "V tomto seznamu ještě nic není. Pokud budou členové tohoto seznamu psát nové příspěvky, objeví se zde.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "Ještě nemáte žádný seznam. Pokud nějaký vytvoříte, zobrazí se zde.", + "empty_column.mutes": "Ještě neignorujete žádné uživatele.", "empty_column.notifications": "Ještě nemáte žádná oznámení. Začněte konverzaci komunikováním s ostatními.", "empty_column.public": "Tady nic není! Napište něco veřejně, nebo manuálně začněte sledovat uživatele z jiných instancí, aby tu něco přibylo", "follow_request.authorize": "Autorizovat", @@ -137,33 +137,33 @@ "home.column_settings.show_reblogs": "Zobrazit boosty", "home.column_settings.show_replies": "Zobrazit odpovědi", "keyboard_shortcuts.back": "k návratu zpět", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "k otevření seznamu blokovaných uživatelů", "keyboard_shortcuts.boost": "k boostnutí", "keyboard_shortcuts.column": "k zaměření na příspěvek v jednom ze sloupců", "keyboard_shortcuts.compose": "k zaměření na psací prostor", "keyboard_shortcuts.description": "Popis", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "k otevření sloupce s přímými zprávami", "keyboard_shortcuts.down": "k přesunutí dolů v seznamu", "keyboard_shortcuts.enter": "k otevření příspěvku", "keyboard_shortcuts.favourite": "k oblíbení", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "k otevření seznamu oblíbených", + "keyboard_shortcuts.federated": "k otevření federované časové osy", "keyboard_shortcuts.heading": "Klávesové zkratky", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "k otevření domovské časové osy", "keyboard_shortcuts.hotkey": "Horká klávesa", "keyboard_shortcuts.legend": "k zobrazení této legendy", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "k otevření místní časové osy", "keyboard_shortcuts.mention": "ke zmínění autora", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.muted": "k otevření seznamu ignorovaných uživatelů", + "keyboard_shortcuts.my_profile": "k otevření vašeho profilu", + "keyboard_shortcuts.notifications": "k otevření sloupce s oznámeními", + "keyboard_shortcuts.pinned": "k otevření seznamu připnutých tootů", "keyboard_shortcuts.profile": "k otevření autorova profilu", "keyboard_shortcuts.reply": "k odpovězení", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "k otevření seznamu požadavků o sledování", "keyboard_shortcuts.search": "k zaměření na vyhledávání", - "keyboard_shortcuts.start": "to open \"get started\" column", - "keyboard_shortcuts.toggle_hidden": "k zobrazení/skrytí textu za CW", + "keyboard_shortcuts.start": "k otevření sloupce \"začít\"", + "keyboard_shortcuts.toggle_hidden": "k zobrazení/skrytí textu za varováním o obsahu", "keyboard_shortcuts.toot": "k napsání úplně nového tootu", "keyboard_shortcuts.unfocus": "ke zrušení soustředění na psací prostor/hledání", "keyboard_shortcuts.up": "k posunutí nahoru v seznamu", @@ -297,7 +297,7 @@ "status.reblog": "Boostnout", "status.reblog_private": "Boostnout původnímu publiku", "status.reblogged_by": "{name} boostnul/a", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "Tento toot ještě nikdo neboostnul. Pokud to někdo udělá, zobrazí se zde.", "status.redraft": "Vymazat a přepsat", "status.reply": "Odpovědět", "status.replyAll": "Odpovědět na vlákno", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {člověk} other {lidí}} diskutuje", "ui.beforeunload": "Váš koncept se ztratí, pokud Mastodon opustíte.", "upload_area.title": "Přetažením nahrajete", - "upload_button.label": "Přidat média (JPEG, PNG, GIF, WebM, MP4)", + "upload_button.label": "Přidat média (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Popis pro zrakově postižené", "upload_form.focus": "Vystřihnout", "upload_form.undo": "Smazat", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json new file mode 100644 index 0000000000..d80eba2c13 --- /dev/null +++ b/app/javascript/mastodon/locales/cy.json @@ -0,0 +1,336 @@ +{ + "account.badges.bot": "Bot", + "account.block": "Block @{name}", + "account.block_domain": "Hide everything from {domain}", + "account.blocked": "Blocked", + "account.direct": "Direct message @{name}", + "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", + "account.domain_blocked": "Domain hidden", + "account.edit_profile": "Edit profile", + "account.endorse": "Feature on profile", + "account.follow": "Follow", + "account.followers": "Followers", + "account.followers.empty": "No one follows this user yet.", + "account.follows": "Follows", + "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows_you": "Follows you", + "account.hide_reblogs": "Hide boosts from @{name}", + "account.media": "Media", + "account.mention": "Mention @{name}", + "account.moved_to": "{name} has moved to:", + "account.mute": "Mute @{name}", + "account.mute_notifications": "Mute notifications from @{name}", + "account.muted": "Muted", + "account.posts": "Toots", + "account.posts_with_replies": "Toots and replies", + "account.report": "Report @{name}", + "account.requested": "Awaiting approval. Click to cancel follow request", + "account.share": "Share @{name}'s profile", + "account.show_reblogs": "Show boosts from @{name}", + "account.unblock": "Unblock @{name}", + "account.unblock_domain": "Unhide {domain}", + "account.unendorse": "Don't feature on profile", + "account.unfollow": "Unfollow", + "account.unmute": "Unmute @{name}", + "account.unmute_notifications": "Unmute notifications from @{name}", + "account.view_full_profile": "View full profile", + "alert.unexpected.message": "An unexpected error occurred.", + "alert.unexpected.title": "Oops!", + "boost_modal.combo": "You can press {combo} to skip this next time", + "bundle_column_error.body": "Something went wrong while loading this component.", + "bundle_column_error.retry": "Try again", + "bundle_column_error.title": "Network error", + "bundle_modal_error.close": "Close", + "bundle_modal_error.message": "Something went wrong while loading this component.", + "bundle_modal_error.retry": "Try again", + "column.blocks": "Blocked users", + "column.community": "Local timeline", + "column.direct": "Direct messages", + "column.domain_blocks": "Hidden domains", + "column.favourites": "Favourites", + "column.follow_requests": "Follow requests", + "column.home": "Home", + "column.lists": "Lists", + "column.mutes": "Muted users", + "column.notifications": "Notifications", + "column.pins": "Pinned toot", + "column.public": "Federated timeline", + "column_back_button.label": "Back", + "column_header.hide_settings": "Hide settings", + "column_header.moveLeft_settings": "Move column to the left", + "column_header.moveRight_settings": "Move column to the right", + "column_header.pin": "Pin", + "column_header.show_settings": "Show settings", + "column_header.unpin": "Unpin", + "column_subheading.settings": "Settings", + "community.column_settings.media_only": "Media Only", + "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", + "compose_form.direct_message_warning_learn_more": "Learn more", + "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", + "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", + "compose_form.lock_disclaimer.lock": "locked", + "compose_form.placeholder": "What is on your mind?", + "compose_form.publish": "Toot", + "compose_form.publish_loud": "{publish}!", + "compose_form.sensitive.marked": "Media is marked as sensitive", + "compose_form.sensitive.unmarked": "Media is not marked as sensitive", + "compose_form.spoiler.marked": "Text is hidden behind warning", + "compose_form.spoiler.unmarked": "Text is not hidden", + "compose_form.spoiler_placeholder": "Write your warning here", + "confirmation_modal.cancel": "Cancel", + "confirmations.block.confirm": "Block", + "confirmations.block.message": "Are you sure you want to block {name}?", + "confirmations.delete.confirm": "Delete", + "confirmations.delete.message": "Are you sure you want to delete this status?", + "confirmations.delete_list.confirm": "Delete", + "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", + "confirmations.domain_block.confirm": "Hide entire domain", + "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.", + "confirmations.mute.confirm": "Mute", + "confirmations.mute.message": "Are you sure you want to mute {name}?", + "confirmations.redraft.confirm": "Delete & redraft", + "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.", + "confirmations.unfollow.confirm": "Unfollow", + "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", + "embed.instructions": "Embed this status on your website by copying the code below.", + "embed.preview": "Here is what it will look like:", + "emoji_button.activity": "Activity", + "emoji_button.custom": "Custom", + "emoji_button.flags": "Flags", + "emoji_button.food": "Food & Drink", + "emoji_button.label": "Insert emoji", + "emoji_button.nature": "Nature", + "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", + "emoji_button.objects": "Objects", + "emoji_button.people": "People", + "emoji_button.recent": "Frequently used", + "emoji_button.search": "Search...", + "emoji_button.search_results": "Search results", + "emoji_button.symbols": "Symbols", + "emoji_button.travel": "Travel & Places", + "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", + "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.domain_blocks": "There are no hidden domains yet.", + "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", + "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", + "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.hashtag": "There is nothing in this hashtag yet.", + "empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.", + "empty_column.home.public_timeline": "the public timeline", + "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", + "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", + "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", + "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", + "follow_request.authorize": "Authorize", + "follow_request.reject": "Reject", + "getting_started.developers": "Developers", + "getting_started.documentation": "Documentation", + "getting_started.find_friends": "Find friends from Twitter", + "getting_started.heading": "Getting started", + "getting_started.invite": "Invite people", + "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.", + "getting_started.security": "Security", + "getting_started.terms": "Terms of service", + "home.column_settings.basic": "Basic", + "home.column_settings.show_reblogs": "Show boosts", + "home.column_settings.show_replies": "Show replies", + "keyboard_shortcuts.back": "to navigate back", + "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.boost": "to boost", + "keyboard_shortcuts.column": "to focus a status in one of the columns", + "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.description": "Description", + "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.down": "to move down in the list", + "keyboard_shortcuts.enter": "to open status", + "keyboard_shortcuts.favourite": "to favourite", + "keyboard_shortcuts.favourites": "to open favourites list", + "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.heading": "Keyboard Shortcuts", + "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.hotkey": "Hotkey", + "keyboard_shortcuts.legend": "to display this legend", + "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.mention": "to mention author", + "keyboard_shortcuts.muted": "to open muted users list", + "keyboard_shortcuts.my_profile": "to open your profile", + "keyboard_shortcuts.notifications": "to open notifications column", + "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.profile": "to open author's profile", + "keyboard_shortcuts.reply": "to reply", + "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.search": "to focus search", + "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", + "keyboard_shortcuts.toot": "to start a brand new toot", + "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", + "keyboard_shortcuts.up": "to move up in the list", + "lightbox.close": "Close", + "lightbox.next": "Next", + "lightbox.previous": "Previous", + "lists.account.add": "Add to list", + "lists.account.remove": "Remove from list", + "lists.delete": "Delete list", + "lists.edit": "Edit list", + "lists.new.create": "Add list", + "lists.new.title_placeholder": "New list title", + "lists.search": "Search among people you follow", + "lists.subheading": "Your lists", + "loading_indicator.label": "Loading...", + "media_gallery.toggle_visible": "Toggle visibility", + "missing_indicator.label": "Not found", + "missing_indicator.sublabel": "This resource could not be found", + "mute_modal.hide_notifications": "Hide notifications from this user?", + "navigation_bar.apps": "Mobile apps", + "navigation_bar.blocks": "Blocked users", + "navigation_bar.community_timeline": "Local timeline", + "navigation_bar.compose": "Compose new toot", + "navigation_bar.direct": "Direct messages", + "navigation_bar.discover": "Discover", + "navigation_bar.domain_blocks": "Hidden domains", + "navigation_bar.edit_profile": "Edit profile", + "navigation_bar.favourites": "Favourites", + "navigation_bar.filters": "Muted words", + "navigation_bar.follow_requests": "Follow requests", + "navigation_bar.info": "About this instance", + "navigation_bar.keyboard_shortcuts": "Hotkeys", + "navigation_bar.lists": "Lists", + "navigation_bar.logout": "Logout", + "navigation_bar.mutes": "Muted users", + "navigation_bar.personal": "Personal", + "navigation_bar.pins": "Pinned toots", + "navigation_bar.preferences": "Preferences", + "navigation_bar.public_timeline": "Federated timeline", + "navigation_bar.security": "Security", + "notification.favourite": "{name} favourited your status", + "notification.follow": "{name} followed you", + "notification.mention": "{name} mentioned you", + "notification.reblog": "{name} boosted your status", + "notifications.clear": "Clear notifications", + "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.alert": "Desktop notifications", + "notifications.column_settings.favourite": "Favourites:", + "notifications.column_settings.follow": "New followers:", + "notifications.column_settings.mention": "Mentions:", + "notifications.column_settings.push": "Push notifications", + "notifications.column_settings.push_meta": "This device", + "notifications.column_settings.reblog": "Boosts:", + "notifications.column_settings.show": "Show in column", + "notifications.column_settings.sound": "Play sound", + "notifications.group": "{count} notifications", + "onboarding.done": "Done", + "onboarding.next": "Next", + "onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.", + "onboarding.page_four.home": "The home timeline shows posts from people you follow.", + "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.", + "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", + "onboarding.page_one.welcome": "Welcome to Mastodon!", + "onboarding.page_six.admin": "Your instance's admin is {admin}.", + "onboarding.page_six.almost_done": "Almost done...", + "onboarding.page_six.appetoot": "Bon Appetoot!", + "onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.", + "onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.", + "onboarding.page_six.guidelines": "community guidelines", + "onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!", + "onboarding.page_six.various_app": "mobile apps", + "onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.", + "onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.", + "onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.", + "onboarding.skip": "Skip", + "privacy.change": "Adjust status privacy", + "privacy.direct.long": "Post to mentioned users only", + "privacy.direct.short": "Direct", + "privacy.private.long": "Post to followers only", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Post to public timelines", + "privacy.public.short": "Public", + "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.short": "Unlisted", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", + "relative_time.days": "{number}d", + "relative_time.hours": "{number}h", + "relative_time.just_now": "now", + "relative_time.minutes": "{number}m", + "relative_time.seconds": "{number}s", + "reply_indicator.cancel": "Cancel", + "report.forward": "Forward to {target}", + "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", + "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:", + "report.placeholder": "Additional comments", + "report.submit": "Submit", + "report.target": "Report {target}", + "search.placeholder": "Search", + "search_popout.search_format": "Advanced search format", + "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", + "search_popout.tips.hashtag": "hashtag", + "search_popout.tips.status": "status", + "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", + "search_popout.tips.user": "user", + "search_results.accounts": "People", + "search_results.hashtags": "Hashtags", + "search_results.statuses": "Toots", + "search_results.total": "{count, number} {count, plural, one {result} other {results}}", + "standalone.public_title": "A look inside...", + "status.block": "Block @{name}", + "status.cancel_reblog_private": "Unboost", + "status.cannot_reblog": "This post cannot be boosted", + "status.delete": "Delete", + "status.detailed_status": "Detailed conversation view", + "status.direct": "Direct message @{name}", + "status.embed": "Embed", + "status.favourite": "Favourite", + "status.filtered": "Filtered", + "status.load_more": "Load more", + "status.media_hidden": "Media hidden", + "status.mention": "Mention @{name}", + "status.more": "More", + "status.mute": "Mute @{name}", + "status.mute_conversation": "Mute conversation", + "status.open": "Expand this status", + "status.pin": "Pin on profile", + "status.pinned": "Pinned toot", + "status.reblog": "Boost", + "status.reblog_private": "Boost to original audience", + "status.reblogged_by": "{name} boosted", + "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.redraft": "Delete & re-draft", + "status.reply": "Reply", + "status.replyAll": "Reply to thread", + "status.report": "Report @{name}", + "status.sensitive_toggle": "Click to view", + "status.sensitive_warning": "Sensitive content", + "status.share": "Share", + "status.show_less": "Show less", + "status.show_less_all": "Show less for all", + "status.show_more": "Show more", + "status.show_more_all": "Show more for all", + "status.unmute_conversation": "Unmute conversation", + "status.unpin": "Unpin from profile", + "tabs_bar.federated_timeline": "Federated", + "tabs_bar.home": "Home", + "tabs_bar.local_timeline": "Local", + "tabs_bar.notifications": "Notifications", + "tabs_bar.search": "Search", + "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking", + "ui.beforeunload": "Your draft will be lost if you leave Mastodon.", + "upload_area.title": "Drag & drop to upload", + "upload_button.label": "Add media (JPEG, PNG, GIF, WebM, MP4, MOV)", + "upload_form.description": "Describe for the visually impaired", + "upload_form.focus": "Crop", + "upload_form.undo": "Delete", + "upload_progress.label": "Uploading...", + "video.close": "Close video", + "video.exit_fullscreen": "Exit full screen", + "video.expand": "Expand video", + "video.fullscreen": "Full screen", + "video.hide": "Hide video", + "video.mute": "Mute sound", + "video.pause": "Pause", + "video.play": "Play", + "video.unmute": "Unmute sound" +} diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 83f049a5bf..f5ce7d0b9d 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -10,9 +10,9 @@ "account.endorse": "Fremhæv på profil", "account.follow": "Følg", "account.followers": "Følgere", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "Der er endnu ingen der følger denne bruger.", "account.follows": "Følger", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "Denne bruger følger endnu ikke nogen.", "account.follows_you": "Følger dig", "account.hide_reblogs": "Skjul fremhævelserne fra @{name}", "account.media": "Medie", @@ -108,19 +108,19 @@ "emoji_button.search_results": "Søgeresultater", "emoji_button.symbols": "Symboler", "emoji_button.travel": "Rejser & steder", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "Du har ikke blokeret nogen endnu.", "empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at starte lavinen!", "empty_column.direct": "Du har endnu ingen direkte beskeder. Når du sender eller modtager en, vil den vises her.", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "Der er endnu ikke nogle skjulte domæner.", + "empty_column.favourited_statuses": "Du har endnu ikke favoriseret nogen trut. Når du favoriserer et, vil det blive vist her.", + "empty_column.favourites": "Endnu ingen har favoriseret dette trut. Når en anden gør vil det blive vist her.", + "empty_column.follow_requests": "Du har endnu ingen følgeranmodninger. Når du modtager en, vil den komme frem her.", "empty_column.hashtag": "Dette hashtag indeholder endnu ikke noget.", "empty_column.home": "Din hjemme tidslinje er tom! Besøg {public} eller brug søgningen for at komme igang og møde andre brugere.", "empty_column.home.public_timeline": "den offentlige tidslinje", "empty_column.list": "Der er endnu intet i denne liste. Når medlemmer af denne liste poster nye statusser, vil de vises her.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "Du har endnu ingen lister. Når du opretter en, vil den blive vist her.", + "empty_column.mutes": "Du har endnu ikke dæmpet nogen som helst bruger.", "empty_column.notifications": "Du har endnu ingen notifikationer. Tag ud og bland dig med folkemængden for at starte samtalen.", "empty_column.public": "Der er ikke noget at se her! Skriv noget offentligt eller start ud med manuelt at følge brugere fra andre instanser for st udfylde tomrummet", "follow_request.authorize": "Godkend", @@ -137,32 +137,32 @@ "home.column_settings.show_reblogs": "Vis fremhævelser", "home.column_settings.show_replies": "Vis svar", "keyboard_shortcuts.back": "for at navigere dig tilbage", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "for at åbne listen over blokerede brugere", "keyboard_shortcuts.boost": "for at fremhæve", "keyboard_shortcuts.column": "for at fokusere på en status i en af kolonnerne", "keyboard_shortcuts.compose": "for at fokusere på skriveområdet", "keyboard_shortcuts.description": "Beskrivelse", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "for at åbne privat besked kolonnen", "keyboard_shortcuts.down": "for at rykke ned ad listen", "keyboard_shortcuts.enter": "for at åbne status", "keyboard_shortcuts.favourite": "for at favorisere", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "for at åbne listen over favoritter", + "keyboard_shortcuts.federated": "for at åbne den forenede tidslinje", "keyboard_shortcuts.heading": "Tastaturgenveje", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "for at åbne hjem tidslinjen", "keyboard_shortcuts.hotkey": "Hurtigtast", "keyboard_shortcuts.legend": "for at vise denne legende", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "for at åbne den lokale tidslinje", "keyboard_shortcuts.mention": "for at nævne forfatteren", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.muted": "for at åbne listen over dæmpede brugere", + "keyboard_shortcuts.my_profile": "for at åbne din profil", + "keyboard_shortcuts.notifications": "for at åbne notifikations kolonnen", + "keyboard_shortcuts.pinned": "for at åbne listen over fastgjorte trut", "keyboard_shortcuts.profile": "til profil af åben forfatter", "keyboard_shortcuts.reply": "for at svare", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "for at åbne listen over følgeranmodninger", "keyboard_shortcuts.search": "for at fokusere søgningen", - "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.start": "for at åbne \"kom igen\" kolonnen", "keyboard_shortcuts.toggle_hidden": "for at vise/skjule tekst bag CW", "keyboard_shortcuts.toot": "for at påbegynde et helt nyt trut", "keyboard_shortcuts.unfocus": "for at fjerne fokus fra skriveområde/søgning", @@ -186,7 +186,7 @@ "navigation_bar.apps": "Mobil apps", "navigation_bar.blocks": "Blokerede brugere", "navigation_bar.community_timeline": "Lokal tidslinje", - "navigation_bar.compose": "Compose new toot", + "navigation_bar.compose": "Skriv nyt trut", "navigation_bar.direct": "Direkte beskeder", "navigation_bar.discover": "Opdag", "navigation_bar.domain_blocks": "Skjulte domæner", @@ -201,7 +201,7 @@ "navigation_bar.mutes": "Dæmpede brugere", "navigation_bar.personal": "Personligt", "navigation_bar.pins": "Fastgjorte toots", - "navigation_bar.preferences": "Indstillinger", + "navigation_bar.preferences": "Præferencer", "navigation_bar.public_timeline": "Fælles tidslinje", "navigation_bar.security": "Sikkerhed", "notification.favourite": "{name} favoriserede din status", @@ -237,7 +237,7 @@ "onboarding.page_six.guidelines": "retningslinjer for fællesskabet", "onboarding.page_six.read_guidelines": "Læs venligst {domain}s {guidelines}!", "onboarding.page_six.various_app": "apps til mobilen", - "onboarding.page_three.profile": "Rediger din profil for at ændre profilbillede, beskrivelse og visningsnavn. Der vil du også finde andre indstillinger.", + "onboarding.page_three.profile": "Rediger din profil for at ændre profilbillede, beskrivelse og visningsnavn. Der vil du også finde andre præferencer.", "onboarding.page_three.search": "Brug søgefeltdet for at finde folk og at kigge på hashtags, så som {illustration} and {introductions}. For at finde en person der ikke er på denne instans, brug deres fulde brugernavn.", "onboarding.page_two.compose": "Skriv opslag fra skrive kolonnen. Du kan uploade billeder, ændre privatlivsindstillinger, og tilføje indholds advarsler med ikoner forneden.", "onboarding.skip": "Spring over", @@ -280,7 +280,7 @@ "status.cancel_reblog_private": "Fremhæv ikke længere", "status.cannot_reblog": "Denne post kan ikke fremhæves", "status.delete": "Slet", - "status.detailed_status": "Detailed conversation view", + "status.detailed_status": "Detaljeret visning af samtale", "status.direct": "Send direkte besked til @{name}", "status.embed": "Indlejre", "status.favourite": "Favorit", @@ -297,7 +297,7 @@ "status.reblog": "Fremhæv", "status.reblog_private": "Fremhæv til oprindeligt publikum", "status.reblogged_by": "{name} fremhævede", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "Der er endnu ingen der har fremhævet dette trut. Når der er nogen der gør, vil det blive vist her.", "status.redraft": "Slet og omskriv", "status.reply": "Svar", "status.replyAll": "Svar samtale", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} snakker", "ui.beforeunload": "Din kladde vil gå tabt hvis du forlader Mastodon.", "upload_area.title": "Træk og slip for at uploade", - "upload_button.label": "Tilføj medie (JPEG, PNG, GIF, WebM, MP4)", + "upload_button.label": "Tilføj medie (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Beskriv for de svagtseende", "upload_form.focus": "Beskær", "upload_form.undo": "Slet", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index e117175cd5..133dde963b 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -69,7 +69,7 @@ "compose_form.hashtag_warning": "Dieser Beitrag wird nicht unter einen dieser Hashtags sichtbar sein, solange er ungelistet ist. Bei einer Suche kann er nicht gefunden werden.", "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.", "compose_form.lock_disclaimer.lock": "gesperrt", - "compose_form.placeholder": "Was gibt's neues?", + "compose_form.placeholder": "Was gibt's Neues?", "compose_form.publish": "Tröt", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Medien sind als heikel markiert", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index 0c55090f6f..aef1f5ea11 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -2128,4 +2128,4 @@ ], "path": "app/javascript/mastodon/features/video/index.json" } -] +] \ No newline at end of file diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 0ab2d4bac7..ad7f040d64 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} μιλάνε", "ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.", "upload_area.title": "Drag & drop για να ανεβάσεις", - "upload_button.label": "Πρόσθεσε πολυμέσα (JPEG, PNG, GIF, WebM, MP4)", + "upload_button.label": "Πρόσθεσε πολυμέσα (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης", "upload_form.focus": "Περικοπή", "upload_form.undo": "Διαγραφή", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index a52024b150..433815c668 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -10,9 +10,9 @@ "account.endorse": "Nabarmendu profilean", "account.follow": "Jarraitu", "account.followers": "Jarraitzaileak", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "Ez du inork erabiltzaile hau jarraitzen oraindik.", "account.follows": "Jarraitzen", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.", "account.follows_you": "Jarraitzen zaitu", "account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak", "account.media": "Media", @@ -89,7 +89,7 @@ "confirmations.mute.confirm": "Mututu", "confirmations.mute.message": "Ziur {name} mututu nahi duzula?", "confirmations.redraft.confirm": "Ezabatu eta berridatzi", - "confirmations.redraft.message": "Ziur mezu hau ezabatu eta berridatzi nahi duzula? Berari egindako erantzun, bultzada eta gogokoak galduko dira.", + "confirmations.redraft.message": "Ziur mezu hau ezabatu eta berridatzi nahi duzula? Gogokoak eta bultzadak galduko dira eta jaso dituen erantzunak umezurtz geratuko dira.", "confirmations.unfollow.confirm": "Utzi jarraitzeari", "confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?", "embed.instructions": "Txertatu mezu hau zure webgunean beheko kodea kopatuz.", @@ -108,19 +108,19 @@ "emoji_button.search_results": "Bilaketaren emaitzak", "emoji_button.symbols": "Sinboloak", "emoji_button.travel": "Bidaiak eta tokiak", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "Ez duzu erabiltzailerik blokeatu oraindik.", "empty_column.community": "Denbora-lerro lokala hutsik dago. Idatzi zerbait publikoki pilota biraka jartzeko!", "empty_column.direct": "Ez duzu mezu zuzenik oraindik. Baten bat bidali edo jasotzen duzunean, hemen agertuko da.", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "Ez dago ezkutatutako domeinurik oraindik.", + "empty_column.favourited_statuses": "Ez duzu gogokorik oraindik. Gogokoren bat duzunean hemen agertuko da.", + "empty_column.favourites": "Ez du inork gogokoetara gehitu toot hau oraindik. Inork egiten duenean, hemen agertuko dira.", + "empty_column.follow_requests": "Ez duzu jarraitzeko eskaririk oraindik. Baten bat jasotzen duzunean, hemen agertuko da.", "empty_column.hashtag": "Ez dago ezer traola honetan oraindik.", "empty_column.home": "Zure hasierako denbora-lerroa hutsik dago! Ikusi {public} edo erabili bilaketa lehen urratsak eman eta beste batzuk aurkitzeko.", "empty_column.home.public_timeline": "denbora-lerro publikoa", "empty_column.list": "Ez dago ezer zerrenda honetan. Zerrenda honetako kideek mezu berriak argitaratzean, hemen agertuko dira.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "Ez duzu zerrendarik oraindik. Baten bat sortzen duzunean hemen agertuko da.", + "empty_column.mutes": "Ez duzu erabiltzailerik mututu oraindik.", "empty_column.notifications": "Ez duzu jakinarazpenik oraindik. Jarri besteekin harremanetan elkarrizketa abiatzeko.", "empty_column.public": "Ez dago ezer hemen! Idatzi zerbait publikoki edo jarraitu eskuz beste instantzia batzuetako erabiltzailean hau betetzeko", "follow_request.authorize": "Baimendu", @@ -137,32 +137,32 @@ "home.column_settings.show_reblogs": "Erakutsi bultzadak", "home.column_settings.show_replies": "Erakutsi erantzunak", "keyboard_shortcuts.back": "atzera nabigatzeko", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "blokeatutako erabiltzaileen zerrenda irekitzeko", "keyboard_shortcuts.boost": "bultzada ematea", "keyboard_shortcuts.column": "mezu bat zutabe batean fokatzea", "keyboard_shortcuts.compose": "testua konposatzeko arean fokatzea", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "mezu zuzenen zutabea irekitzeko", "keyboard_shortcuts.down": "zerrendan behera mugitzea", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "gogoko egitea", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "gogokoen zerrenda irekitzeko", + "keyboard_shortcuts.federated": "federatutako denbora-lerroa irekitzeko", "keyboard_shortcuts.heading": "Keyboard Shortcuts", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "hasierako denbora-lerroa irekitzeko", "keyboard_shortcuts.hotkey": "Laster-tekla", "keyboard_shortcuts.legend": "legenda hau bistaratzea", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "denbora-lerro lokala irekitzeko", "keyboard_shortcuts.mention": "egilea aipatzea", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.muted": "mutututako erabiltzaileen zerrenda irekitzeko", + "keyboard_shortcuts.my_profile": "zure profila irekitzeko", + "keyboard_shortcuts.notifications": "jakinarazpenen zutabea irekitzeko", + "keyboard_shortcuts.pinned": "finkatutako toot-en zerrenda irekitzeko", "keyboard_shortcuts.profile": "egilearen profila irekitzeko", "keyboard_shortcuts.reply": "erantzutea", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "jarraitzeko eskarien zerrenda irekitzeko", "keyboard_shortcuts.search": "bilaketan fokua jartzea", - "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.start": "\"Menua\" zutabea irekitzeko", "keyboard_shortcuts.toggle_hidden": "testua erakustea/ezkutatzea abisu baten atzean", "keyboard_shortcuts.toot": "toot berria hastea", "keyboard_shortcuts.unfocus": "testua konposatzeko area / bilaketatik fokua kentzea", @@ -183,10 +183,10 @@ "missing_indicator.label": "Ez aurkitua", "missing_indicator.sublabel": "Baliabide hau ezin izan da aurkitu", "mute_modal.hide_notifications": "Ezkutatu erabiltzaile honen jakinarazpenak?", - "navigation_bar.apps": "Mobile apps", + "navigation_bar.apps": "Mugikorrerako aplikazioak", "navigation_bar.blocks": "Blokeatutako erabiltzaileak", "navigation_bar.community_timeline": "Denbora-lerro lokala", - "navigation_bar.compose": "Compose new toot", + "navigation_bar.compose": "Idatzi toot berria", "navigation_bar.direct": "Mezu zuzenak", "navigation_bar.discover": "Aurkitu", "navigation_bar.domain_blocks": "Ezkutatutako domeinuak", @@ -280,7 +280,7 @@ "status.cancel_reblog_private": "Kendu bultzada", "status.cannot_reblog": "Mezu honi ezin zaio bultzada eman", "status.delete": "Ezabatu", - "status.detailed_status": "Detailed conversation view", + "status.detailed_status": "Elkarrizketaren ikuspegi xehetsua", "status.direct": "Mezu zuzena @{name}(r)i", "status.embed": "Txertatu", "status.favourite": "Gogokoa", @@ -297,7 +297,7 @@ "status.reblog": "Bultzada", "status.reblog_private": "Bultzada jatorrizko hartzaileei", "status.reblogged_by": "{name}(r)en bultzada", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "Ez dio inork bultzada eman toot honi oraindik. Inork egiten duenean, hemen agertuko dira.", "status.redraft": "Ezabatu eta berridatzi", "status.reply": "Erantzun", "status.replyAll": "Erantzun harian", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} hitz egiten", "ui.beforeunload": "Zure zirriborroa galduko da Mastodon uzten baduzu.", "upload_area.title": "Arrastatu eta jaregin igotzeko", - "upload_button.label": "Gehitu multimedia", + "upload_button.label": "Gehitu multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Deskribatu ikusmen arazoak dituztenentzat", "upload_form.focus": "Moztu", "upload_form.undo": "Ezabatu", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index f57c1354ed..44956aeb3d 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -10,9 +10,9 @@ "account.endorse": "نمایش در نمایه", "account.follow": "پی بگیرید", "account.followers": "پیگیران", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "هنوز هیچ کسی پیگیر این کاربر نیست.", "account.follows": "پی می‌گیرد", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "این کاربر هنوز هیچ کسی را پی نمی‌گیرد.", "account.follows_you": "پیگیر شماست", "account.hide_reblogs": "پنهان کردن بازبوق‌های @{name}", "account.media": "عکس و ویدیو", @@ -108,19 +108,19 @@ "emoji_button.search_results": "نتایج جستجو", "emoji_button.symbols": "نمادها", "emoji_button.travel": "سفر و مکان", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "شما هنوز هیچ کسی را مسدود نکرده‌اید.", "empty_column.community": "فهرست نوشته‌های محلی خالی است. چیزی بنویسید تا چرخش بچرخد!", "empty_column.direct": "شما هیچ پیغام مستقیمی ندارید. اگر چنین پیغامی بگیرید یا بفرستید این‌جا نمایش خواهد یافت.", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "هنوز هیچ دامینی پنهان نشده است.", + "empty_column.favourited_statuses": "شما هنوز هیچ بوقی را نپسندیده‌اید. وقتی بوقی را بپسندید، این‌جا نمایش خواهد یافت.", + "empty_column.favourites": "هنوز هیچ کسی این بوق را نپسندیده است. وقتی کسی آن را بپسندد، نامش این‌جا نمایش خواهد یافت.", + "empty_column.follow_requests": "شما هنوز هیچ درخواست پیگیری‌ای ندارید. وقتی چنین درخواستی بگیرید، این‌جا نمایش خواهد یافت.", "empty_column.hashtag": "هنوز هیچ چیزی با این هشتگ نیست.", "empty_column.home": "شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.", "empty_column.home.public_timeline": "فهرست نوشته‌های همه‌جا", "empty_column.list": "در این فهرست هنوز چیزی نیست. وقتی اعضای این فهرست چیزی بنویسند، این‌جا ظاهر خواهد شد.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "شما هنوز هیچ فهرستی ندارید. اگر فهرستی بسازید، این‌جا نمایش خواهد یافت.", + "empty_column.mutes": "شما هنوز هیچ کاربری را بی‌صدا نکرده‌اید.", "empty_column.notifications": "هنوز هیچ اعلانی ندارید. به نوشته‌های دیگران واکنش نشان دهید تا گفتگو آغاز شود.", "empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران دیگر را پی بگیرید تا این‌جا پر شود", "follow_request.authorize": "اجازه دهید", @@ -137,32 +137,32 @@ "home.column_settings.show_reblogs": "نمایش بازبوق‌ها", "home.column_settings.show_replies": "نمایش پاسخ‌ها", "keyboard_shortcuts.back": "برای بازگشت", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "برای گشودن کاربران بی‌صداشده", "keyboard_shortcuts.boost": "برای بازبوقیدن", "keyboard_shortcuts.column": "برای برجسته‌کردن یک نوشته در یکی از ستون‌ها", "keyboard_shortcuts.compose": "برای فعال‌کردن کادر نوشتهٔ تازه", "keyboard_shortcuts.description": "توضیح", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "برای گشودن ستون پیغام‌های مستقیم", "keyboard_shortcuts.down": "برای پایین‌رفتن در فهرست", "keyboard_shortcuts.enter": "برای گشودن نوشته", "keyboard_shortcuts.favourite": "برای پسندیدن", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "برای گشودن پیغام‌های پسندیده‌شده", + "keyboard_shortcuts.federated": "برای گشودن فهرست نوشته‌های همه‌جا", "keyboard_shortcuts.heading": "میان‌برهای صفحه‌کلید", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "برای گشودن ستون اصلی پیگیری‌ها", "keyboard_shortcuts.hotkey": "میان‌بر", "keyboard_shortcuts.legend": "برای نمایش این راهنما", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "برای گشودن فهرست نوشته‌های محلی", "keyboard_shortcuts.mention": "برای نام‌بردن از نویسنده", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.muted": "برای گشودن فهرست کاربران بی‌صداشده", + "keyboard_shortcuts.my_profile": "برای گشودن صفحهٔ نمایهٔ شما", + "keyboard_shortcuts.notifications": "برای گشودن ستون اعلان‌ها", + "keyboard_shortcuts.pinned": "برای گشودن فهرست نوشته‌‌های ثابت", "keyboard_shortcuts.profile": "گشودن نمایهٔ نویسنده", "keyboard_shortcuts.reply": "برای پاسخ‌دادن", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "برای گشودن فهرست درخواست‌های پیگیری", "keyboard_shortcuts.search": "برای فعال‌کردن جستجو", - "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.start": "برای گشودن ستون «آغاز کنید»", "keyboard_shortcuts.toggle_hidden": "برای نمایش/نهفتن نوشتهٔ پشت هشدار محتوا", "keyboard_shortcuts.toot": "برای آغاز یک بوق تازه", "keyboard_shortcuts.unfocus": "برای برداشتن توجه از نوشتن/جستجو", @@ -183,11 +183,11 @@ "missing_indicator.label": "پیدا نشد", "missing_indicator.sublabel": "این منبع پیدا نشد", "mute_modal.hide_notifications": "اعلان‌های این کاربر پنهان شود؟", - "navigation_bar.apps": "Mobile apps", + "navigation_bar.apps": "اپ‌های موبایل", "navigation_bar.blocks": "کاربران مسدودشده", "navigation_bar.community_timeline": "نوشته‌های محلی", - "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "پیغام‌های خصوصی", + "navigation_bar.compose": "نوشتن بوق تازه", + "navigation_bar.direct": "پیغام‌های مستقیم", "navigation_bar.discover": "گشت و گذار", "navigation_bar.domain_blocks": "دامین‌های پنهان‌شده", "navigation_bar.edit_profile": "ویرایش نمایه", @@ -280,7 +280,7 @@ "status.cancel_reblog_private": "حذف بازبوق", "status.cannot_reblog": "این نوشته را نمی‌شود بازبوقید", "status.delete": "پاک‌کردن", - "status.detailed_status": "Detailed conversation view", + "status.detailed_status": "نمایش کامل گفتگو", "status.direct": "پیغام مستقیم به @{name}", "status.embed": "جاگذاری", "status.favourite": "پسندیدن", @@ -297,7 +297,7 @@ "status.reblog": "بازبوقیدن", "status.reblog_private": "بازبوق به مخاطبان اولیه", "status.reblogged_by": "‫{name}‬ بازبوقید", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "هنوز هیچ کسی این بوق را بازنبوقیده است. وقتی کسی چنین کاری کند، این‌جا نمایش خواهد یافت.", "status.redraft": "پاک‌کردن و بازنویسی", "status.reply": "پاسخ", "status.replyAll": "به نوشته پاسخ دهید", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {نفر نوشته است} other {نفر نوشته‌اند}}", "ui.beforeunload": "اگر از ماستدون خارج شوید پیش‌نویس شما پاک خواهد شد.", "upload_area.title": "برای بارگذاری به این‌جا بکشید", - "upload_button.label": "افزودن عکس و ویدیو (JPEG, PNG, GIF, WebM, MP4)", + "upload_button.label": "افزودن عکس و ویدیو (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "نوشتهٔ توضیحی برای کم‌بینایان و نابینایان", "upload_form.focus": "بریدن لبه‌ها", "upload_form.undo": "حذف", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 41eaab4175..f40cff7f69 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -10,9 +10,9 @@ "account.endorse": "Figure sur le profil", "account.follow": "Suivre", "account.followers": "Abonné⋅e⋅s", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "Personne ne suit cet utilisateur pour l'instant.", "account.follows": "Abonnements", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "Cet utilisateur ne suit personne pour l'instant.", "account.follows_you": "Vous suit", "account.hide_reblogs": "Masquer les partages de @{name}", "account.media": "Média", @@ -108,19 +108,19 @@ "emoji_button.search_results": "Résultats de la recherche", "emoji_button.symbols": "Symboles", "emoji_button.travel": "Lieux & Voyages", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "Vous n'avez bloqué aucun utilisateur pour le moment.", "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !", "empty_column.direct": "Vous n’avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s’affichera ici.", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "Il n'y a aucun domaine caché pour le moment.", + "empty_column.favourited_statuses": "Vous n'avez aucun pouet favoris pour le moment. Lorsque vous en mettrez un en favori, il apparaîtra ici.", + "empty_column.favourites": "Personne n'a encore mis ce pouet en favori. Lorsque quelqu'un le fera, il apparaîtra ici.", + "empty_column.follow_requests": "Vous n'avez pas encore de demande de suivi. Lorsque vous en recevrez une, elle apparaîtra ici.", "empty_column.hashtag": "Il n’y a encore aucun contenu associé à ce hashtag.", "empty_column.home": "Vous ne suivez personne. Visitez {public} ou utilisez la recherche pour trouver d’autres personnes à suivre.", "empty_column.home.public_timeline": "le fil public", "empty_column.list": "Il n’y a rien dans cette liste pour l’instant. Dès que des personnes de cette liste publieront de nouveaux statuts, ils apparaîtront ici.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "Vous n'avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.", + "empty_column.mutes": "Vous n'avez pas encore mis des utilisateurs en silence.", "empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.", "empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des personnes d’autres instances pour remplir le fil public", "follow_request.authorize": "Accepter", @@ -137,16 +137,16 @@ "home.column_settings.show_reblogs": "Afficher les partages", "home.column_settings.show_replies": "Afficher les réponses", "keyboard_shortcuts.back": "revenir en arrière", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "pour ouvrir une liste d'utilisateurs bloqués", "keyboard_shortcuts.boost": "partager", "keyboard_shortcuts.column": "focaliser un statut dans l’une des colonnes", "keyboard_shortcuts.compose": "pour centrer la zone de rédaction", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "pour ouvrir une colonne des messages directs", "keyboard_shortcuts.down": "pour descendre dans la liste", "keyboard_shortcuts.enter": "pour ouvrir le statut", "keyboard_shortcuts.favourite": "vers les favoris", - "keyboard_shortcuts.favourites": "to open favourites list", + "keyboard_shortcuts.favourites": "pour ouvrir une liste de favoris", "keyboard_shortcuts.federated": "to open federated timeline", "keyboard_shortcuts.heading": "Raccourcis clavier", "keyboard_shortcuts.home": "to open home timeline", @@ -154,13 +154,13 @@ "keyboard_shortcuts.legend": "pour afficher cette légende", "keyboard_shortcuts.local": "to open local timeline", "keyboard_shortcuts.mention": "pour mentionner l’auteur·rice", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", + "keyboard_shortcuts.muted": "pour ouvrir la liste des utilisateurs rendus muets", + "keyboard_shortcuts.my_profile": "pour ouvrir votre profil", + "keyboard_shortcuts.notifications": "pour ouvrir votre colonne de notifications", "keyboard_shortcuts.pinned": "to open pinned toots list", "keyboard_shortcuts.profile": "pour ouvrir le profil de l’auteur·rice", "keyboard_shortcuts.reply": "pour répondre", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "pour ouvrir la liste de demandes de suivi", "keyboard_shortcuts.search": "pour cibler la recherche", "keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.toggle_hidden": "pour afficher/cacher un texte derrière CW", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {personne} other {personnes}} discutent", "ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.", "upload_area.title": "Glissez et déposez pour envoyer", - "upload_button.label": "Joindre un média (JPEG, PNG, GIF, WebM, MP4)", + "upload_button.label": "Joindre un média (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Décrire pour les malvoyant·e·s", "upload_form.focus": "Recadrer", "upload_form.undo": "Supprimer", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 26c99e541d..c550306ac0 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -89,7 +89,7 @@ "confirmations.mute.confirm": "Acalar", "confirmations.mute.message": "Está segura de que quere acalar a {name}?", "confirmations.redraft.confirm": "Eliminar e reescribir", - "confirmations.redraft.message": "Está segura de querer eliminar este estado e voltalo a escribir? Perderá todas as réplicas, promocións e favoritas da mensaxe.", + "confirmations.redraft.message": "Está segura de querer eliminar este estado e voltalo a escribir? Perderá réplicas e favoritas, e as respostas ao orixinal quedarán orfas.", "confirmations.unfollow.confirm": "Deixar de seguir", "confirmations.unfollow.message": "Quere deixar de seguir a {name}?", "embed.instructions": "Copie o código inferior para incrustar no seu sitio web este estado.", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking", "ui.beforeunload": "O borrador perderase se sae de Mastodon.", "upload_area.title": "Arrastre e solte para subir", - "upload_button.label": "Engadir medios", + "upload_button.label": "Engadir medios (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Describa para deficientes visuais", "upload_form.focus": "Recortar", "upload_form.undo": "Eliminar", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index c1eada4477..0affa00cc3 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -10,9 +10,9 @@ "account.endorse": "プロフィールで紹介する", "account.follow": "フォロー", "account.followers": "フォロワー", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "まだ誰もフォローしていません。", "account.follows": "フォロー", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "まだ誰もフォローしていません。", "account.follows_you": "フォローされています", "account.hide_reblogs": "@{name}さんからのブーストを非表示", "account.media": "メディア", @@ -93,7 +93,7 @@ "confirmations.mute.confirm": "ミュート", "confirmations.mute.message": "本当に{name}さんをミュートしますか?", "confirmations.redraft.confirm": "削除して下書きに戻す", - "confirmations.redraft.message": "本当にこのトゥートを削除して下書きに戻しますか? このトゥートへのお気に入り登録やブーストは失われ、リプライは孤立することになります。", + "confirmations.redraft.message": "本当にこのトゥートを削除して下書きに戻しますか? このトゥートへのお気に入り登録やブーストは失われ、返信は孤立することになります。", "confirmations.unfollow.confirm": "フォロー解除", "confirmations.unfollow.message": "本当に{name}さんのフォローを解除しますか?", "embed.instructions": "下記のコードをコピーしてウェブサイトに埋め込みます。", @@ -112,19 +112,19 @@ "emoji_button.search_results": "検索結果", "emoji_button.symbols": "記号", "emoji_button.travel": "旅行と場所", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "まだ誰もブロックしていません。", "empty_column.community": "ローカルタイムラインはまだ使われていません。何か書いてみましょう!", "empty_column.direct": "ダイレクトメッセージはまだありません。ダイレクトメッセージをやりとりすると、ここに表示されます。", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "まだ非表示にしたドメインがありません。", + "empty_column.favourited_statuses": "まだ何もお気に入り登録していません。お気に入り登録するとここに表示されます。", + "empty_column.favourites": "まだ誰もお気に入り登録していません。お気に入り登録されるとここに表示されます。", + "empty_column.follow_requests": "まだフォローリクエストを受けていません。フォローリクエストを受けるとここに表示されます。", "empty_column.hashtag": "このハッシュタグはまだ使われていません。", "empty_column.home": "まだ誰もフォローしていません。{public}を見に行くか、検索を使って他のユーザーを見つけましょう。", "empty_column.home.public_timeline": "連合タイムライン", "empty_column.list": "このリストにはまだなにもありません。このリストのメンバーが新しいトゥートをするとここに表示されます。", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "まだリストがありません。リストを作るとここに表示されます。", + "empty_column.mutes": "まだ誰もミュートしていません。", "empty_column.notifications": "まだ通知がありません。他の人とふれ合って会話を始めましょう。", "empty_column.public": "ここにはまだ何もありません! 公開で何かを投稿したり、他のインスタンスのユーザーをフォローしたりしていっぱいにしましょう", "follow_request.authorize": "許可", @@ -141,32 +141,32 @@ "home.column_settings.show_reblogs": "ブースト表示", "home.column_settings.show_replies": "返信表示", "keyboard_shortcuts.back": "戻る", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "ブロックしたユーザーのリストを開く", "keyboard_shortcuts.boost": "ブースト", "keyboard_shortcuts.column": "左からn番目のカラム内最新トゥートに移動", "keyboard_shortcuts.compose": "トゥート入力欄に移動", "keyboard_shortcuts.description": "説明", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "ダイレクトメッセージのカラムを開く", "keyboard_shortcuts.down": "カラム内一つ下に移動", "keyboard_shortcuts.enter": "トゥートの詳細を表示", "keyboard_shortcuts.favourite": "お気に入り", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "お気に入り登録のリストを開く", + "keyboard_shortcuts.federated": "連合タイムラインを開く", "keyboard_shortcuts.heading": "キーボードショートカット", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "ホームタイムラインを開く", "keyboard_shortcuts.hotkey": "ホットキー", "keyboard_shortcuts.legend": "この一覧を表示", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "ローカルタイムラインを開く", "keyboard_shortcuts.mention": "メンション", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.muted": "ミュートしたユーザーのリストを開く", + "keyboard_shortcuts.my_profile": "自分のプロフィールを開く", + "keyboard_shortcuts.notifications": "通知カラムを開く", + "keyboard_shortcuts.pinned": "固定したトゥートのリストを開く", "keyboard_shortcuts.profile": "プロフィールを開く", "keyboard_shortcuts.reply": "返信", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "フォローリクエストのリストを開く", "keyboard_shortcuts.search": "検索欄に移動", - "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.start": "\"スタート\" カラムを開く", "keyboard_shortcuts.toggle_hidden": "CWで隠れた文を見る/隠す", "keyboard_shortcuts.toot": "新規トゥート", "keyboard_shortcuts.unfocus": "トゥート入力欄・検索欄から離れる", @@ -302,7 +302,7 @@ "status.reblog": "ブースト", "status.reblog_private": "ブースト", "status.reblogged_by": "{name}さんがブースト", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "まだ誰もブーストしていません。ブーストされるとここに表示されます。", "status.redraft": "削除して下書きに戻す", "status.reply": "返信", "status.replyAll": "全員に返信", @@ -324,7 +324,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {人} other {人}} がトゥート", "ui.beforeunload": "Mastodonから離れると送信前の投稿は失われます。", "upload_area.title": "ドラッグ&ドロップでアップロード", - "upload_button.label": "メディアを追加 (JPEG, PNG, GIF, WebM, MP4)", + "upload_button.label": "メディアを追加 (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "視覚障害者のための説明", "upload_form.focus": "焦点", "upload_form.undo": "削除", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index c2c25fe506..50f785c1ae 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -10,9 +10,9 @@ "account.endorse": "프로필에 나타내기", "account.follow": "팔로우", "account.followers": "팔로워", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "아직 아무도 이 유저를 팔로우 하고 있지 않습니다.", "account.follows": "팔로우", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "이 유저는 아직 아무도 팔로우 하고 있지 않습니다.", "account.follows_you": "날 팔로우합니다", "account.hide_reblogs": "@{name}의 부스트를 숨기기", "account.media": "미디어", @@ -89,7 +89,7 @@ "confirmations.mute.confirm": "뮤트", "confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?", "confirmations.redraft.confirm": "삭제하고 다시 쓰기", - "confirmations.redraft.message": "정말로 이 포스트를 삭제하고 다시 쓰시겠습니까? 해당 포스트에 대한 답장과 부스트, 그리고 즐겨찾기를 잃게 됩니다.", + "confirmations.redraft.message": "정말로 이 포스트를 삭제하고 다시 쓰시겠습니까? 해당 포스트에 대한 부스트와 즐겨찾기를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.", "confirmations.unfollow.confirm": "언팔로우", "confirmations.unfollow.message": "정말로 {name}를 언팔로우하시겠습니까?", "embed.instructions": "아래의 코드를 복사하여 대화를 원하는 곳으로 공유하세요.", @@ -108,19 +108,19 @@ "emoji_button.search_results": "검색 결과", "emoji_button.symbols": "기호", "emoji_button.travel": "여행과 장소", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "아직 아무도 차단하지 않았습니다.", "empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!", "empty_column.direct": "아직 다이렉트 메시지가 없습니다. 다이렉트 메시지를 보내거나 받은 경우, 여기에 표시 됩니다.", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "아직 숨겨진 도메인이 없습니다.", + "empty_column.favourited_statuses": "아직 즐겨찾기 한 툿이 없습니다. 툿을 즐겨찾기 하면 여기에 나타납니다.", + "empty_column.favourites": "아직 아무도 이 툿을 즐겨찾기 하지 않았습니다. 누군가 즐겨찾기를 하면 여기에 그들이 나타납니다.", + "empty_column.follow_requests": "아직 팔로우 요청이 없습니다. 요청을 받았을 때 여기에 나타납니다.", "empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.", "empty_column.home": "아직 아무도 팔로우 하고 있지 않습니다. {public}를 보러 가거나, 검색하여 다른 사용자를 찾아 보세요.", "empty_column.home.public_timeline": "연합 타임라인", "empty_column.list": "리스트에 아직 아무 것도 없습니다.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "아직 리스트가 없습니다. 리스트를 만들면 여기에 나타납니다.", + "empty_column.mutes": "아직 아무도 뮤트하지 않았습니다.", "empty_column.notifications": "아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요.", "empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 인스턴스의 유저를 팔로우 해서 채워보세요", "follow_request.authorize": "허가", @@ -137,32 +137,32 @@ "home.column_settings.show_reblogs": "부스트 표시", "home.column_settings.show_replies": "답글 표시", "keyboard_shortcuts.back": "뒤로가기", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "차단한 유저 리스트 열기", "keyboard_shortcuts.boost": "부스트", "keyboard_shortcuts.column": "해당 열에 포커스", "keyboard_shortcuts.compose": "작성창으로 포커스", "keyboard_shortcuts.description": "설명", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "다이렉트 메시지 컬럼 열기", "keyboard_shortcuts.down": "리스트에서 아래로 이동", "keyboard_shortcuts.enter": "열기", "keyboard_shortcuts.favourite": "관심글 지정", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "즐겨찾기 리스트 열기", + "keyboard_shortcuts.federated": "연합 타임라인 열기", "keyboard_shortcuts.heading": "키보드 단축키", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "홈 타임라인 열기", "keyboard_shortcuts.hotkey": "핫키", "keyboard_shortcuts.legend": "이 도움말 표시", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "로컬 타임라인 열기", "keyboard_shortcuts.mention": "멘션", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.muted": "뮤트 된 유저 리스트 열기", + "keyboard_shortcuts.my_profile": "내 프로필 열기", + "keyboard_shortcuts.notifications": "알림 컬럼 열기", + "keyboard_shortcuts.pinned": "고정 툿 리스트 열기", "keyboard_shortcuts.profile": "프로필 열기", "keyboard_shortcuts.reply": "답장", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "팔로우 요청 리스트 열기", "keyboard_shortcuts.search": "검색창에 포커스", - "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.start": "\"시작하기\" 컬럼 열기", "keyboard_shortcuts.toggle_hidden": "CW로 가려진 텍스트를 표시/비표시", "keyboard_shortcuts.toot": "새 툿 작성", "keyboard_shortcuts.unfocus": "작성창에서 포커스 해제", @@ -186,7 +186,7 @@ "navigation_bar.apps": "모바일 앱", "navigation_bar.blocks": "차단한 사용자", "navigation_bar.community_timeline": "로컬 타임라인", - "navigation_bar.compose": "Compose new toot", + "navigation_bar.compose": "새 툿 작성", "navigation_bar.direct": "다이렉트 메시지", "navigation_bar.discover": "발견하기", "navigation_bar.domain_blocks": "숨겨진 도메인", @@ -280,7 +280,7 @@ "status.cancel_reblog_private": "부스트 취소", "status.cannot_reblog": "이 포스트는 부스트 할 수 없습니다", "status.delete": "삭제", - "status.detailed_status": "Detailed conversation view", + "status.detailed_status": "대화 자세히 보기", "status.direct": "@{name}에게 다이렉트 메시지", "status.embed": "공유하기", "status.favourite": "즐겨찾기", @@ -297,7 +297,7 @@ "status.reblog": "부스트", "status.reblog_private": "원래의 수신자들에게 부스트", "status.reblogged_by": "{name}님이 부스트 했습니다", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "아직 아무도 이 툿을 부스트하지 않았습니다. 부스트 한 사람들이 여기에 표시 됩니다.", "status.redraft": "지우고 다시 쓰기", "status.reply": "답장", "status.replyAll": "전원에게 답장", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {명} other {명}} 의 사람들이 말하고 있습니다", "ui.beforeunload": "지금 나가면 저장되지 않은 항목을 잃게 됩니다.", "upload_area.title": "드래그 & 드롭으로 업로드", - "upload_button.label": "미디어 추가", + "upload_button.label": "미디어 추가 (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "시각장애인을 위한 설명", "upload_form.focus": "크롭", "upload_form.undo": "삭제", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 2ad2a6928a..2a1eaa13f3 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -1,7 +1,7 @@ { "account.badges.bot": "Bot", "account.block": "Blokkeer @{name}", - "account.block_domain": "Negeer alles van {domain}", + "account.block_domain": "Verberg alles van {domain}", "account.blocked": "Geblokkeerd", "account.direct": "Direct Message @{name}", "account.disclaimer_full": "De informatie hieronder kan mogelijk een incompleet beeld geven van dit gebruikersprofiel.", @@ -10,9 +10,9 @@ "account.endorse": "Op profiel weergeven", "account.follow": "Volgen", "account.followers": "Volgers", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "Niemand volgt nog deze gebruiker.", "account.follows": "Volgt", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "Deze gebruiker volgt nog niemand.", "account.follows_you": "Volgt jou", "account.hide_reblogs": "Verberg boosts van @{name}", "account.media": "Media", @@ -28,7 +28,7 @@ "account.share": "Profiel van @{name} delen", "account.show_reblogs": "Toon boosts van @{name}", "account.unblock": "Deblokkeer @{name}", - "account.unblock_domain": "{domain} niet langer negeren", + "account.unblock_domain": "{domain} niet langer verbergen", "account.unendorse": "Niet op profiel weergeven", "account.unfollow": "Ontvolgen", "account.unmute": "@{name} niet langer negeren", @@ -46,7 +46,7 @@ "column.blocks": "Geblokkeerde gebruikers", "column.community": "Lokale tijdlijn", "column.direct": "Directe berichten", - "column.domain_blocks": "Verborgen domeinen", + "column.domain_blocks": "Genegeerde servers", "column.favourites": "Favorieten", "column.follow_requests": "Volgverzoeken", "column.home": "Start", @@ -84,12 +84,12 @@ "confirmations.delete.message": "Weet je het zeker dat je deze toot wilt verwijderen?", "confirmations.delete_list.confirm": "Verwijderen", "confirmations.delete_list.message": "Weet je zeker dat je deze lijst definitief wilt verwijderen?", - "confirmations.domain_block.confirm": "Negeer alles van deze server", + "confirmations.domain_block.confirm": "Verberg alles van deze server", "confirmations.domain_block.message": "Weet je het echt heel erg zeker dat je alles van {domain} wilt negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en beter. Je zult geen toots van deze server op openbare tijdlijnen zien of in jouw meldingen. Jouw volgers van deze server worden verwijderd.", "confirmations.mute.confirm": "Negeren", "confirmations.mute.message": "Weet je het zeker dat je {name} wilt negeren?", "confirmations.redraft.confirm": "Verwijderen en herschrijven", - "confirmations.redraft.message": "Weet je zeker dat je deze toot wilt verwijderen en herschrijven? Je verliest wel alle reacties, boosts en favorieten.", + "confirmations.redraft.message": "Weet je zeker dat je deze toot wilt verwijderen en herschrijven? Je verliest wel de boosts en favorieten, en reacties op de originele toot zitten niet meer aan de nieuwe toot vast.", "confirmations.unfollow.confirm": "Ontvolgen", "confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?", "embed.instructions": "Embed deze toot op jouw website, door de onderstaande code te kopiëren.", @@ -108,19 +108,19 @@ "emoji_button.search_results": "Zoekresultaten", "emoji_button.symbols": "Symbolen", "emoji_button.travel": "Reizen en plekken", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "Jij hebt nog geen enkele gebruiker geblokkeerd.", "empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de bal aan het rollen te krijgen!", "empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, zijn deze hier te zien.", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "Er zijn nog geen genegeerde domeinen.", + "empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een als favoriet markeert, valt deze hier te zien.", + "empty_column.favourites": "Niemand heeft nog deze toot als favoriet gemarkeerd. Wanneer iemand dit doet, valt dat hier te zien.", + "empty_column.follow_requests": "Jij hebt nog enkel volgverzoek ontvangen. Wanneer je er eentje ontvangt, valt dat hier te zien.", "empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.", "empty_column.home": "Jij volgt nog niemand. Bezoek {public} of gebruik het zoekvenster om andere mensen te ontmoeten.", "empty_column.home.public_timeline": "de globale tijdlijn", "empty_column.list": "Er is nog niks in deze lijst. Wanneer lijstleden nieuwe toots publiceren, zijn deze hier te zien.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.lists": "Jij hebt nog enkele lijst. Wanneer je er eentje hebt aangemaakt, valt deze hier te zien.", + "empty_column.mutes": "Jij hebt nog geen gebruikers genegeerd.", "empty_column.notifications": "Je hebt nog geen meldingen. Begin met iemand een gesprek.", "empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere servers om het te vullen", "follow_request.authorize": "Goedkeuren", @@ -137,32 +137,32 @@ "home.column_settings.show_reblogs": "Boosts tonen", "home.column_settings.show_replies": "Reacties tonen", "keyboard_shortcuts.back": "om terug te gaan", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "om de door jou geblokkeerde gebruikers te tonen", "keyboard_shortcuts.boost": "om te boosten", "keyboard_shortcuts.column": "om op een toot te focussen in één van de kolommen", "keyboard_shortcuts.compose": "om het tekstvak voor toots te focussen", "keyboard_shortcuts.description": "Omschrijving", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "om jouw directe berichten te tonen", "keyboard_shortcuts.down": "om naar beneden door de lijst te bewegen", "keyboard_shortcuts.enter": "om toot volledig te tonen", "keyboard_shortcuts.favourite": "om als favoriet te markeren", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "om jouw lijst met favorieten te tonen", + "keyboard_shortcuts.federated": "om de globale tijdlijn te tonen", "keyboard_shortcuts.heading": "Sneltoetsen", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "om jouw starttijdlijn te tonen", "keyboard_shortcuts.hotkey": "Sneltoets", "keyboard_shortcuts.legend": "om deze legenda te tonen", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "om de lokale tijdlijn te tonen", "keyboard_shortcuts.mention": "om de auteur te vermelden", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.muted": "om de door jou genegeerde gebruikers te tonen", + "keyboard_shortcuts.my_profile": "om jouw profiel te tonen", + "keyboard_shortcuts.notifications": "om jouw meldingen te tonen", + "keyboard_shortcuts.pinned": "om jouw vastgezette toots te tonen", "keyboard_shortcuts.profile": "om het gebruikersprofiel te openen", "keyboard_shortcuts.reply": "om te reageren", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "om jouw volgverzoeken te tonen", "keyboard_shortcuts.search": "om het zoekvak te focussen", - "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.start": "om de \"Aan de slag\"-kolom te tonen", "keyboard_shortcuts.toggle_hidden": "om tekst achter een waarschuwing (CW) te tonen/verbergen", "keyboard_shortcuts.toot": "om een nieuwe toot te starten", "keyboard_shortcuts.unfocus": "om het tekst- en zoekvak te ontfocussen", @@ -183,16 +183,16 @@ "missing_indicator.label": "Niet gevonden", "missing_indicator.sublabel": "Deze hulpbron kan niet gevonden worden", "mute_modal.hide_notifications": "Verberg meldingen van deze persoon?", - "navigation_bar.apps": "Mobile apps", + "navigation_bar.apps": "Mobiele apps", "navigation_bar.blocks": "Geblokkeerde gebruikers", "navigation_bar.community_timeline": "Lokale tijdlijn", - "navigation_bar.compose": "Compose new toot", + "navigation_bar.compose": "Nieuw toot schrijven", "navigation_bar.direct": "Directe berichten", "navigation_bar.discover": "Ontdekken", - "navigation_bar.domain_blocks": "Verborgen domeinen", + "navigation_bar.domain_blocks": "Genegeerde domeinen", "navigation_bar.edit_profile": "Profiel bewerken", "navigation_bar.favourites": "Favorieten", - "navigation_bar.filters": "Genegeerde woorden", + "navigation_bar.filters": "Filters", "navigation_bar.follow_requests": "Volgverzoeken", "navigation_bar.info": "Over deze server", "navigation_bar.keyboard_shortcuts": "Sneltoetsen", @@ -280,7 +280,7 @@ "status.cancel_reblog_private": "Niet langer boosten", "status.cannot_reblog": "Deze toot kan niet geboost worden", "status.delete": "Verwijderen", - "status.detailed_status": "Detailed conversation view", + "status.detailed_status": "Uitgebreide gespreksweergave", "status.direct": "Directe toot @{name}", "status.embed": "Embed", "status.favourite": "Favoriet", @@ -297,7 +297,7 @@ "status.reblog": "Boost", "status.reblog_private": "Boost naar oorspronkelijke ontvangers", "status.reblogged_by": "{name} boostte", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "Niemand heeft deze toot nog geboost. Wanneer iemand dit doet, valt dat hier te zien.", "status.redraft": "Verwijderen en herschrijven", "status.reply": "Reageren", "status.replyAll": "Reageer op iedereen", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {persoon praat} other {mensen praten}} hierover", "ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.", "upload_area.title": "Hierin slepen om te uploaden", - "upload_button.label": "Media toevoegen", + "upload_button.label": "Media toevoegen (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking", "upload_form.focus": "Bijsnijden", "upload_form.undo": "Verwijderen", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 06fa058dbe..900198932b 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -10,9 +10,9 @@ "account.endorse": "Mostrar pel perfil", "account.follow": "Sègre", "account.followers": "Seguidors", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "Degun sèc pas aqueste utilizaire pel moment.", "account.follows": "Abonaments", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "Aqueste utilizaire sèc pas degun pel moment.", "account.follows_you": "Vos sèc", "account.hide_reblogs": "Rescondre los partatges de @{name}", "account.media": "Mèdias", @@ -89,7 +89,7 @@ "confirmations.mute.confirm": "Rescondre", "confirmations.mute.message": "Volètz vertadièrament rescondre {name} ?", "confirmations.redraft.confirm": "Escafar & tornar formular", - "confirmations.redraft.message": "Volètz vertadièrament escafar aqueste estatut e lo reformular ? Perdretz totas sas responsas, sos partiments e favorits.", + "confirmations.redraft.message": "Volètz vertadièrament escafar aqueste estatut e lo reformular ? Tote sos partiments e favorits seràn perduts, e sas responsas seràn orfanèlas.", "confirmations.unfollow.confirm": "Quitar de sègre", "confirmations.unfollow.message": "Volètz vertadièrament quitar de sègre {name} ?", "embed.instructions": "Embarcar aqueste estatut per lo far veire sus un site Internet en copiar lo còdi çai-jos.", @@ -108,7 +108,7 @@ "emoji_button.search_results": "Resultats de recèrca", "emoji_button.symbols": "Simbòls", "emoji_button.travel": "Viatges & lòcs", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "Avètz pas blocat degun pel moment.", "empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir !", "empty_column.direct": "Avètz pas encara cap de messatges. Quand ne mandatz un o que ne recebètz un, serà mostrat aquí.", "empty_column.domain_blocks": "There are no hidden domains yet.", @@ -319,7 +319,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} ne charra other {people}} ne charran", "ui.beforeunload": "Vòstre brolhon serà perdut se quitatz Mastodon.", "upload_area.title": "Lisatz e depausatz per mandar", - "upload_button.label": "Ajustar un mèdia", + "upload_button.label": "Ajustar un mèdia (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Descripcion pels mal vesents", "upload_form.focus": "Retalhar", "upload_form.undo": "Suprimir", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 0ad3499bcf..c5f28c2d07 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -324,7 +324,7 @@ "trends.count_by_accounts": "{count} {rawCount, plural, one {osoba rozmawia} few {osoby rozmawiają} other {osób rozmawia}} o tym", "ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Mastodona.", "upload_area.title": "Przeciągnij i upuść aby wysłać", - "upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4)", + "upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących", "upload_form.focus": "Przytnij", "upload_form.undo": "Usuń", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index b388b0b6f8..cec07b87e1 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -222,7 +222,7 @@ "notifications.group": "{count} notifications", "onboarding.done": "Tamam", "onboarding.next": "Sıradaki", - "onboarding.page_five.public_timelines": "Yerel zaman tüneli, bu sunucudaki herkesten gelen gönderileri gösterir.Federe zaman tüneli, kullanıcıların diğer sunuculardan takip ettiği kişilerin herkese açık gönderilerini gösterir. Bunlar herkese açık zaman tünelleridir ve yeni insanlarla tanışmak için harika yerlerdir. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new ", + "onboarding.page_five.public_timelines": "Yerel zaman tüneli, bu sunucudaki herkesten gelen gönderileri gösterir.Federe zaman tüneli, kullanıcıların diğer sunuculardan takip ettiği kişilerin herkese açık gönderilerini gösterir. Bunlar herkese açık zaman tünelleridir ve yeni insanlarla tanışmak için harika yerlerdir. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new", "onboarding.page_four.home": "Takip ettiğiniz insanlardan gelen gönderileri gosteren zaman tünelidir", "onboarding.page_four.notifications": "Herkimse sizinle iletişime geçtiğinde gelen bildirimleri gösterir.", "onboarding.page_one.federation": "Mastodon, geniş bir sosyal ağ kurmak için birleşen bağımsız sunuculardan oluşan bir ağdır.", diff --git a/app/javascript/mastodon/locales/whitelist_cy.json b/app/javascript/mastodon/locales/whitelist_cy.json new file mode 100644 index 0000000000..0d4f101c7a --- /dev/null +++ b/app/javascript/mastodon/locales/whitelist_cy.json @@ -0,0 +1,2 @@ +[ +] diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 09e9150d0a..4e437f0e02 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -7,12 +7,12 @@ "account.disclaimer_full": "下列資料不一定完整。", "account.domain_blocked": "站點被隱藏", "account.edit_profile": "編輯使用者資訊", - "account.endorse": "Feature on profile", + "account.endorse": "在個人資訊頁面上推薦對方", "account.follow": "關注", "account.followers": "關注者", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "還沒有人關注這個使用者", "account.follows": "正在關注", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "這個使用者還沒有關注任何人", "account.follows_you": "關注你", "account.hide_reblogs": "隱藏來自 @{name} 的轉推", "account.media": "媒體", @@ -29,7 +29,7 @@ "account.show_reblogs": "顯示來自 @{name} 的嘟文", "account.unblock": "取消封鎖 @{name}", "account.unblock_domain": "不再隱藏 {domain}", - "account.unendorse": "Don't feature on profile", + "account.unendorse": "不再於個人資訊頁面上推薦對方", "account.unfollow": "取消關注", "account.unmute": "不再靜音 @{name}", "account.unmute_notifications": "不再對來自 @{name} 的通知靜音", @@ -108,25 +108,25 @@ "emoji_button.search_results": "搜尋結果", "emoji_button.symbols": "符號", "emoji_button.travel": "旅遊與地點", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "你還沒有封鎖任何使用者。", "empty_column.community": "本地時間軸是空的。公開寫點什麼吧!", "empty_column.direct": "你還沒有使用過私訊。當你發出或著收到私訊時,它會在這裡顯示。", - "empty_column.domain_blocks": "There are no hidden domains yet.", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.domain_blocks": "還沒有隱藏任何網域。", + "empty_column.favourited_statuses": "你還沒有收藏任何嘟文。收藏後的嘟文會顯示在這裡。", + "empty_column.favourites": "還沒有人收藏此嘟文。如果有人收藏,會顯示在這裡。", + "empty_column.follow_requests": "還沒有人請求關注你。如果收到關注請求,會顯示在這裡。", "empty_column.hashtag": "這個主題標籤下什麼都沒有。", "empty_column.home": "你還沒關注任何人。造訪{public}或利用搜尋功能找到其他用者。", "empty_column.home.public_timeline": "公開時間軸", - "empty_column.list": "此份清單尚未有東西。當此清單的成員嘟出了新的狀態時,它們就會出現在這裡。", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.list": "此份名單尚未有東西。當此名單的成員嘟出了新的狀態時,它們就會出現在這裡。", + "empty_column.lists": "你還沒有建立任何名單。你建立的名單將會顯示在這裡。", + "empty_column.mutes": "你還沒有靜音任何使用者。", "empty_column.notifications": "還沒有任何通知。和別的使用者互動來開始對話。", "empty_column.public": "這裡什麼都沒有! 寫一些公開的嘟文,或著關注其他站點的使用者後,這裡就會有嘟文出現了", "follow_request.authorize": "授權", "follow_request.reject": "拒絕", "getting_started.developers": "開發", - "getting_started.documentation": "Documentation", + "getting_started.documentation": "文件", "getting_started.find_friends": "尋找 Twitter 好友", "getting_started.heading": "馬上開始", "getting_started.invite": "邀請使用者", @@ -137,32 +137,32 @@ "home.column_settings.show_reblogs": "顯示轉推", "home.column_settings.show_replies": "顯示回應", "keyboard_shortcuts.back": "回到上一個", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "到封鎖的使用者名單", "keyboard_shortcuts.boost": "到轉推", "keyboard_shortcuts.column": "選擇第 X 欄中的嘟文", "keyboard_shortcuts.compose": "焦點移至撰寫文字區塊", "keyboard_shortcuts.description": "描述", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "到私訊欄", "keyboard_shortcuts.down": "在列表往下移動", - "keyboard_shortcuts.enter": "to open status", + "keyboard_shortcuts.enter": "看嘟文", "keyboard_shortcuts.favourite": "收藏", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "到收藏名單", + "keyboard_shortcuts.federated": "到其他站點時間軸", "keyboard_shortcuts.heading": "鍵盤快速鍵", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "到主頁時間軸", "keyboard_shortcuts.hotkey": "快速鍵", "keyboard_shortcuts.legend": "顯示這個說明", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "到本地時間軸", "keyboard_shortcuts.mention": "到提到的作者", - "keyboard_shortcuts.muted": "to open muted users list", - "keyboard_shortcuts.my_profile": "to open your profile", - "keyboard_shortcuts.notifications": "to open notifications column", - "keyboard_shortcuts.pinned": "to open pinned toots list", - "keyboard_shortcuts.profile": "to open author's profile", + "keyboard_shortcuts.muted": "到靜音的使用者列表", + "keyboard_shortcuts.my_profile": "到你的個人資訊頁", + "keyboard_shortcuts.notifications": "打開通知欄", + "keyboard_shortcuts.pinned": "到收藏的嘟文名單", + "keyboard_shortcuts.profile": "到嘟文作者的個人資訊頁", "keyboard_shortcuts.reply": "到回應", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "打開關注請求名單", "keyboard_shortcuts.search": "把滑鼠移動到搜尋", - "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.start": "到「馬上開始」", "keyboard_shortcuts.toggle_hidden": "顯示或隱藏被標為敏感的嘟文", "keyboard_shortcuts.toot": "新的嘟文", "keyboard_shortcuts.unfocus": "取消輸入", @@ -186,13 +186,13 @@ "navigation_bar.apps": "Mobile apps", "navigation_bar.blocks": "封鎖的使用者", "navigation_bar.community_timeline": "本地時間軸", - "navigation_bar.compose": "Compose new toot", + "navigation_bar.compose": "寫新的嘟文", "navigation_bar.direct": "私訊", "navigation_bar.discover": "探索", "navigation_bar.domain_blocks": "隱藏的站點", "navigation_bar.edit_profile": "編輯使用者資訊", "navigation_bar.favourites": "最愛", - "navigation_bar.filters": "Muted words", + "navigation_bar.filters": "消音的詞", "navigation_bar.follow_requests": "關注請求", "navigation_bar.info": "關於本站", "navigation_bar.keyboard_shortcuts": "快捷鍵", @@ -280,7 +280,7 @@ "status.cancel_reblog_private": "取消轉嘟", "status.cannot_reblog": "這篇嘟文無法被轉嘟", "status.delete": "刪除", - "status.detailed_status": "Detailed conversation view", + "status.detailed_status": "對話的詳細內容", "status.direct": "發送私訊給 @{name}", "status.embed": "嵌入", "status.favourite": "最愛", @@ -297,7 +297,7 @@ "status.reblog": "轉嘟", "status.reblog_private": "轉嘟給原有關注者", "status.reblogged_by": "{name} 轉嘟了", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "還沒有人轉嘟。如果有,會顯示在這裡。", "status.redraft": "刪除 & 編輯", "status.reply": "回覆", "status.replyAll": "回覆所有人", diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 8f279e1382..359b2b6a71 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -2279,28 +2279,6 @@ a.account__display-name { .getting-started { color: $dark-text-color; - p { - color: $dark-text-color; - font-size: 13px; - margin-bottom: 20px; - - a { - color: $dark-text-color; - text-decoration: underline; - } - } - - a { - text-decoration: none; - color: $darker-text-color; - - &:hover, - &:focus, - &:active { - text-decoration: underline; - } - } - &__footer { flex: 0 0 auto; padding: 10px; @@ -2313,6 +2291,28 @@ a.account__display-name { ul li { display: inline; } + + p { + color: $dark-text-color; + font-size: 13px; + margin-bottom: 20px; + + a { + color: $dark-text-color; + text-decoration: underline; + } + } + + a { + text-decoration: none; + color: $darker-text-color; + + &:hover, + &:focus, + &:active { + text-decoration: underline; + } + } } &__trends { diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss index 8ecedd2cb7..2c2ce5d3b8 100644 --- a/app/javascript/styles/mastodon/containers.scss +++ b/app/javascript/styles/mastodon/containers.scss @@ -345,6 +345,23 @@ margin-bottom: 10px; box-shadow: 0 0 15px rgba($base-shadow-color, 0.2); + &.inactive { + opacity: 0.5; + + .public-account-header__image, + .avatar { + filter: grayscale(100%); + } + + .logo-button { + background-color: $secondary-text-color; + + svg path:last-child { + fill: $secondary-text-color; + } + } + } + &__image { border-radius: 4px 4px 0 0; overflow: hidden; @@ -582,6 +599,10 @@ border-bottom: 4px solid $highlight-text-color; opacity: 1; } + + &.inactive::after { + border-bottom-color: $secondary-text-color; + } } &:hover { diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index e1ab05cc0b..8b694536c2 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -23,7 +23,7 @@ class Formatter unless status.local? html = reformat(raw_content) - html = encode_custom_emojis(html, status.emojis) if options[:custom_emojify] + html = encode_custom_emojis(html, status.emojis, options[:autoplay]) if options[:custom_emojify] return html.html_safe # rubocop:disable Rails/OutputSafety end @@ -33,7 +33,7 @@ class Formatter html = raw_content html = "RT @#{prepend_reblog} #{html}" if prepend_reblog html = encode_and_link_urls(html, linkable_accounts) - html = encode_custom_emojis(html, status.emojis) if options[:custom_emojify] + html = encode_custom_emojis(html, status.emojis, options[:autoplay]) if options[:custom_emojify] html = simple_format(html, {}, sanitize: false) html = html.delete("\n") @@ -53,7 +53,7 @@ class Formatter def simplified_format(account, **options) html = account.local? ? linkify(account.note) : reformat(account.note) - html = encode_custom_emojis(html, account.emojis) if options[:custom_emojify] + html = encode_custom_emojis(html, account.emojis, options[:autoplay]) if options[:custom_emojify] html.html_safe # rubocop:disable Rails/OutputSafety end @@ -61,22 +61,22 @@ class Formatter Sanitize.fragment(html, config) end - def format_spoiler(status) + def format_spoiler(status, **options) html = encode(status.spoiler_text) - html = encode_custom_emojis(html, status.emojis) + html = encode_custom_emojis(html, status.emojis, options[:autoplay]) html.html_safe # rubocop:disable Rails/OutputSafety end def format_display_name(account, **options) html = encode(account.display_name.presence || account.username) - html = encode_custom_emojis(html, account.emojis) if options[:custom_emojify] + html = encode_custom_emojis(html, account.emojis, options[:autoplay]) if options[:custom_emojify] html.html_safe # rubocop:disable Rails/OutputSafety end def format_field(account, str, **options) return reformat(str).html_safe unless account.local? # rubocop:disable Rails/OutputSafety html = encode_and_link_urls(str, me: true) - html = encode_custom_emojis(html, account.emojis) if options[:custom_emojify] + html = encode_custom_emojis(html, account.emojis, options[:autoplay]) if options[:custom_emojify] html.html_safe # rubocop:disable Rails/OutputSafety end @@ -120,10 +120,14 @@ class Formatter end end - def encode_custom_emojis(html, emojis) + def encode_custom_emojis(html, emojis, animate = false) return html if emojis.empty? - emoji_map = emojis.map { |e| [e.shortcode, full_asset_url(e.image.url(:static))] }.to_h + emoji_map = if animate + emojis.map { |e| [e.shortcode, full_asset_url(e.image.url)] }.to_h + else + emojis.map { |e| [e.shortcode, full_asset_url(e.image.url(:static))] }.to_h + end i = -1 tag_open_index = nil diff --git a/app/lib/request.rb b/app/lib/request.rb index 21bdaa7003..36c211dbfe 100644 --- a/app/lib/request.rb +++ b/app/lib/request.rb @@ -73,15 +73,15 @@ class Request algorithm = 'rsa-sha256' signature = Base64.strict_encode64(@keypair.sign(OpenSSL::Digest::SHA256.new, signed_string)) - "keyId=\"#{key_id}\",algorithm=\"#{algorithm}\",headers=\"#{signed_headers}\",signature=\"#{signature}\"" + "keyId=\"#{key_id}\",algorithm=\"#{algorithm}\",headers=\"#{signed_headers.keys.join(' ').downcase}\",signature=\"#{signature}\"" end def signed_string - @headers.map { |key, value| "#{key.downcase}: #{value}" }.join("\n") + signed_headers.map { |key, value| "#{key.downcase}: #{value}" }.join("\n") end def signed_headers - @headers.keys.join(' ').downcase + @headers.without('User-Agent', 'Accept-Encoding') end def key_id diff --git a/app/models/concerns/remotable.rb b/app/models/concerns/remotable.rb index c17f19a600..9372a963bf 100644 --- a/app/models/concerns/remotable.rb +++ b/app/models/concerns/remotable.rb @@ -18,7 +18,7 @@ module Remotable return end - return if !%w(http https).include?(parsed_url.scheme) || parsed_url.host.empty? || self[attribute_name] == url + return if !%w(http https).include?(parsed_url.scheme) || parsed_url.host.blank? || self[attribute_name] == url begin Request.new(:get, url).perform do |response| diff --git a/app/views/accounts/_header.html.haml b/app/views/accounts/_header.html.haml index f09beff98b..95e55a1b02 100644 --- a/app/views/accounts/_header.html.haml +++ b/app/views/accounts/_header.html.haml @@ -1,4 +1,4 @@ -.public-account-header +.public-account-header{:class => ("inactive" if account.moved?)} .public-account-header__image = image_tag account.header.url, class: 'parallax' .public-account-header__bar diff --git a/app/views/stream_entries/_detailed_status.html.haml b/app/views/stream_entries/_detailed_status.html.haml index 7843005c13..bf5f614a11 100644 --- a/app/views/stream_entries/_detailed_status.html.haml +++ b/app/views/stream_entries/_detailed_status.html.haml @@ -1,10 +1,13 @@ .detailed-status.detailed-status--flex = link_to TagManager.instance.url_for(status.account), class: 'detailed-status__display-name p-author h-card', target: stream_link_target, rel: 'noopener' do .detailed-status__display-avatar - = image_tag status.account.avatar.url(:original), width: 48, height: 48, alt: '', class: 'account__avatar u-photo' + - if current_account&.user&.setting_auto_play_gif || autoplay + = image_tag status.account.avatar.url(:original), width: 48, height: 48, alt: '', class: 'account__avatar u-photo' + - else + = image_tag status.account.avatar.url(:static), width: 48, height: 48, alt: '', class: 'account__avatar u-photo' %span.display-name %bdi - %strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true) + %strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true, autoplay: autoplay) %span.display-name__account = acct(status.account) = fa_icon('lock') if status.account.locked? @@ -14,16 +17,16 @@ .status__content.emojify< - if status.spoiler_text? %p{ style: 'margin-bottom: 0' }< - %span.p-summary> #{Formatter.instance.format_spoiler(status)}  + %span.p-summary> #{Formatter.instance.format_spoiler(status, autoplay: autoplay)}  %a.status__content__spoiler-link{ href: '#' }= t('statuses.show_more') - .e-content{ lang: status.language, style: "display: #{status.spoiler_text? ? 'none' : 'block'}; direction: #{rtl_status?(status) ? 'rtl' : 'ltr'}" }= Formatter.instance.format(status, custom_emojify: true) + .e-content{ lang: status.language, style: "display: #{status.spoiler_text? ? 'none' : 'block'}; direction: #{rtl_status?(status) ? 'rtl' : 'ltr'}" }= Formatter.instance.format(status, custom_emojify: true, autoplay: autoplay) - if !status.media_attachments.empty? - if status.media_attachments.first.video? - video = status.media_attachments.first = react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, width: 670, height: 380, detailed: true, inline: true, alt: video.description - else - = react_component :media_gallery, height: 380, sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, standalone: true, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, 'reduceMotion': current_account&.user&.setting_reduce_motion, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } + = react_component :media_gallery, height: 380, sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, standalone: true, 'autoPlayGif': current_account&.user&.setting_auto_play_gif || autoplay, 'reduceMotion': current_account&.user&.setting_reduce_motion, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } - elsif status.preview_cards.first = react_component :card, 'maxDescription': 160, card: ActiveModelSerializers::SerializableResource.new(status.preview_cards.first, serializer: REST::PreviewCardSerializer).as_json diff --git a/app/views/stream_entries/_simple_status.html.haml b/app/views/stream_entries/_simple_status.html.haml index effd4826e7..7b7d71602b 100644 --- a/app/views/stream_entries/_simple_status.html.haml +++ b/app/views/stream_entries/_simple_status.html.haml @@ -7,27 +7,30 @@ = link_to TagManager.instance.url_for(status.account), class: 'status__display-name p-author h-card', target: stream_link_target, rel: 'noopener' do .status__avatar %div - = image_tag status.account.avatar(:original), width: 48, height: 48, alt: '', class: 'u-photo account__avatar' + - if current_account&.user&.setting_auto_play_gif || autoplay + = image_tag status.account.avatar(:original), width: 48, height: 48, alt: '', class: 'u-photo account__avatar' + - else + = image_tag status.account.avatar(:static), width: 48, height: 48, alt: '', class: 'u-photo account__avatar' %span.display-name %bdi - %strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true) + %strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true, autoplay: autoplay) %span.display-name__account = acct(status.account) = fa_icon('lock') if status.account.locked? .status__content.emojify< - if status.spoiler_text? %p{ style: 'margin-bottom: 0' }< - %span.p-summary> #{Formatter.instance.format_spoiler(status)}  + %span.p-summary> #{Formatter.instance.format_spoiler(status, autoplay: autoplay)}  %a.status__content__spoiler-link{ href: '#' }= t('statuses.show_more') .e-content{ lang: status.language, style: "display: #{status.spoiler_text? ? 'none' : 'block'}; direction: #{rtl_status?(status) ? 'rtl' : 'ltr'}" }< - = Formatter.instance.format(status, custom_emojify: true) + = Formatter.instance.format(status, custom_emojify: true, autoplay: autoplay) - unless status.media_attachments.empty? - if status.media_attachments.first.video? - video = status.media_attachments.first = react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, width: 610, height: 343, inline: true, alt: video.description - else - = react_component :media_gallery, height: 343, sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } + = react_component :media_gallery, height: 343, sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, 'autoPlayGif': current_account&.user&.setting_auto_play_gif || autoplay, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } .status__action-bar .status__action-bar__counter diff --git a/app/views/stream_entries/_status.html.haml b/app/views/stream_entries/_status.html.haml index 92003a48f3..83887cd874 100644 --- a/app/views/stream_entries/_status.html.haml +++ b/app/views/stream_entries/_status.html.haml @@ -5,6 +5,7 @@ is_successor ||= false direct_reply_id ||= false parent_id ||= false + autoplay ||= current_account&.user&.setting_auto_play_gif is_direct_parent = direct_reply_id == status.id is_direct_child = parent_id == status.in_reply_to_id centered ||= include_threads && !is_predecessor && !is_successor @@ -18,7 +19,7 @@ .entry{ class: entry_classes } = link_to_more TagManager.instance.url_for(@next_ancestor) - = render partial: 'stream_entries/status', collection: @ancestors, as: :status, locals: { is_predecessor: true, direct_reply_id: status.in_reply_to_id } + = render partial: 'stream_entries/status', collection: @ancestors, as: :status, locals: { is_predecessor: true, direct_reply_id: status.in_reply_to_id }, autoplay: autoplay .entry{ class: entry_classes } @@ -38,14 +39,14 @@ %span = t('stream_entries.pinned') - = render (centered ? 'stream_entries/detailed_status' : 'stream_entries/simple_status'), status: status.proper + = render (centered ? 'stream_entries/detailed_status' : 'stream_entries/simple_status'), status: status.proper, autoplay: autoplay - if include_threads - if @since_descendant_thread_id .entry{ class: entry_classes } = link_to_more short_account_status_url(status.account.username, status, max_descendant_thread_id: @since_descendant_thread_id + 1) - @descendant_threads.each do |thread| - = render partial: 'stream_entries/status', collection: thread[:statuses], as: :status, locals: { is_successor: true, parent_id: status.id } + = render partial: 'stream_entries/status', collection: thread[:statuses], as: :status, locals: { is_successor: true, parent_id: status.id }, autoplay: autoplay - if thread[:next_status] .entry{ class: entry_classes } diff --git a/app/views/stream_entries/embed.html.haml b/app/views/stream_entries/embed.html.haml index d20c1e93e2..4871c101e1 100644 --- a/app/views/stream_entries/embed.html.haml +++ b/app/views/stream_entries/embed.html.haml @@ -1,3 +1,3 @@ - cache @stream_entry.activity do .activity-stream.activity-stream--headless - = render "stream_entries/#{@type}", @type.to_sym => @stream_entry.activity, centered: true + = render "stream_entries/#{@type}", @type.to_sym => @stream_entry.activity, centered: true, autoplay: @autoplay diff --git a/config/application.rb b/config/application.rb index deedd5526a..02def1ce55 100644 --- a/config/application.rb +++ b/config/application.rb @@ -43,6 +43,7 @@ module Mastodon :bg, :ca, :co, + :cy, :da, :de, :el, diff --git a/config/brakeman.ignore b/config/brakeman.ignore index 40fef7283f..e5a5c16b4c 100644 --- a/config/brakeman.ignore +++ b/config/brakeman.ignore @@ -84,7 +84,7 @@ "check_name": "PermitAttributes", "message": "Potentially dangerous key allowed for mass assignment", "file": "app/controllers/admin/reports_controller.rb", - "line": 86, + "line": 80, "link": "https://brakemanscanner.org/docs/warning_types/mass_assignment/", "code": "params.permit(:account_id, :resolved, :target_account_id)", "render_path": null, @@ -97,25 +97,6 @@ "confidence": "High", "note": "" }, - { - "warning_type": "Dynamic Render Path", - "warning_code": 15, - "fingerprint": "44d3f14e05d8fbb5b23e13ac02f15aa38b2a2f0f03b9ba76bab7f98e155a4a4e", - "check_name": "Render", - "message": "Render path contains parameter value", - "file": "app/views/stream_entries/embed.html.haml", - "line": 3, - "link": "https://brakemanscanner.org/docs/warning_types/dynamic_render_path/", - "code": "render(action => \"stream_entries/#{Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase}\", { Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase.to_sym => Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity, :centered => true })", - "render_path": [{"type":"controller","class":"StatusesController","method":"embed","line":58,"file":"app/controllers/statuses_controller.rb"}], - "location": { - "type": "template", - "template": "stream_entries/embed" - }, - "user_input": "params[:id]", - "confidence": "Weak", - "note": "" - }, { "warning_type": "Dynamic Render Path", "warning_code": 15, @@ -174,6 +155,25 @@ "confidence": "Weak", "note": "" }, + { + "warning_type": "Dynamic Render Path", + "warning_code": 15, + "fingerprint": "67afc0d5f7775fa5bd91d1912e1b5505aeedef61876347546fa20f92fd6915e6", + "check_name": "Render", + "message": "Render path contains parameter value", + "file": "app/views/stream_entries/embed.html.haml", + "line": 3, + "link": "https://brakemanscanner.org/docs/warning_types/dynamic_render_path/", + "code": "render(action => \"stream_entries/#{Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase}\", { Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase.to_sym => Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity, :centered => true, :autoplay => ActiveModel::Type::Boolean.new.cast(params[:autoplay]) })", + "render_path": [{"type":"controller","class":"StatusesController","method":"embed","line":59,"file":"app/controllers/statuses_controller.rb"}], + "location": { + "type": "template", + "template": "stream_entries/embed" + }, + "user_input": "params[:id]", + "confidence": "Weak", + "note": "" + }, { "warning_type": "Cross-Site Scripting", "warning_code": 4, @@ -388,6 +388,6 @@ "note": "" } ], - "updated": "2018-08-18 00:49:25 +0200", + "updated": "2018-08-30 21:55:10 +0200", "brakeman_version": "4.2.1" } diff --git a/config/locales/activerecord.cy.yml b/config/locales/activerecord.cy.yml new file mode 100644 index 0000000000..f1dabe347b --- /dev/null +++ b/config/locales/activerecord.cy.yml @@ -0,0 +1,3 @@ +--- +cy: + activerecord: {} diff --git a/config/locales/ar.yml b/config/locales/ar.yml index e32dac7152..21cfa8c047 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -30,16 +30,22 @@ ar: other_instances: خوادم أخرى privacy_policy: سياسة الخصوصية source_code: الشفرة المصدرية - status_count_after: منشورا + status_count_after: + one: منشور + other: منشورات status_count_before: نشروا terms: شروط الخدمة - user_count_after: مستخدم + user_count_after: + one: مستخدِم + other: مستخدِمين user_count_before: يستضيف what_is_mastodon: ما هو ماستدون ؟ accounts: choices_html: 'توصيات %{name} :' follow: إتبع - followers: متابِعون + followers: + one: متابِع + other: متابِعون following: يتابعون joined: انضم·ت في %{date} media: الوسائط @@ -50,7 +56,10 @@ ar: people_who_follow: الأشخاص الذين يتبعون %{name} pin_errors: following: يجب أن تكون مِن متابعي حساب الشخص الذي تريد إبرازه - posts: منشورات + posts: + one: تبويق + other: تبويقات + posts_tab_heading: تبويقات posts_with_replies: التبويقات و الردود reserved_username: إسم المستخدم محجوز roles: @@ -293,6 +302,7 @@ ar: add_new: إضافة مُرحّل جديد enable_hint: عندما تقوم بتنشيط هذه الميزة، سوف يشترك خادومك في جميع التبويقات القادمة مِن هذا المُرحِّل و سيشرع كذلك بإرسال كافة التبويقات العمومية إليه. inbox_url: رابط المُرحّل + pending: في انتظار تسريح المُرحِّل setup: إعداد اتصال بمُرحّل status: الحالة title: المُرحّلات @@ -347,6 +357,9 @@ ar: contact_information: email: البريد الإلكتروني المهني username: الإتصال بالمستخدِم + custom_css: + desc_html: يقوم بتغيير المظهر بواسطة سي أس أس يُحمَّل على كافة الصفحات + title: سي أس أس مخصص hero: desc_html: معروض على الصفحة الأولى. لا يقل عن 600 × 100 بكسل. عند عدم التعيين ، تعود الصورة إلى النسخة المصغرة على سبيل المثال title: الصورة الرأسية @@ -414,6 +427,10 @@ ar: last_delivery: آخر إيداع title: WebSub topic: الموضوع + suspensions: + hint_html: 'لتأكيد إجراء تعليق الحساب، يُرجى إدخال %{value} في الحقل التالي:' + proceed: مواصلة + title: تعليق الحساب %{acct} title: الإدارة admin_mailer: new_report: @@ -787,6 +804,7 @@ ar: title: المغادرة بأرشيف الحساب welcome: edit_profile_action: تهيئة الملف الشخصي + edit_profile_step: يُمكنك·كي تخصيص ملفك الشخصي عن طريق تحميل صورة رمزية ورأسية و بتعديل إسمك·كي العلني وأكثر. و إن أردت·تي معاينة المتابِعين و المتابعات الجُدد قبيل السماح لهم·ن بمتابَعتك فيمكنك·كي تأمين حسابك·كي. explanation: ها هي بعض النصائح قبل بداية الإستخدام final_action: اشرَع في النشر final_step: |- @@ -797,7 +815,9 @@ ar: review_preferences_action: تعديل التفضيلات subject: أهلًا بك على ماستدون tip_bridge_html: إن كنت قادما مِن تويتر، باستطاعتك العثور على أصدقائك على ماستدون باستخدام تطبيق الجسر بشرط أن يكون أصدقاؤك قد سجلوا حساباتهم على الجسر مِن قبل، و إلّا فلن تنجح العملية ! + tip_federated_timeline: الخيط الزمني الفديرالي هو بمثابة شبه نظرة شاملة على شبكة ماستدون. غير أنه لا يشمل إلا على الأشخاص المتابَعين مِن طرف جيرانك و جاراتك، لذا فهذا الخيط لا يعكس كافة الشبكة برُمّتها. tip_following: أنت تتبع تلقائيا مديري و مديرات الخادم. للعثور على أشخاص مميزين أو قد تهمك حساباتهم بإمكانك الإطلاع على الخيوط المحلية و كذا الفدرالية. + tip_local_timeline: الخيط الزمني المحلي هو بمثابة نظرة سريعة على الأشخاص المتواجدين على %{instance} يمكن اعتبارهم كجيرانك وجاراتك الأقرب إليك! tips: نصائح title: أهلاً بك، %{name} ! users: diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 9768177c3f..f573b9d101 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -1,7 +1,7 @@ --- cs: about: - about_hashtag_html: Toto jsou veřejné tooty označené hashtagem#%{hashtag}. Pokud máte účet kdekoliv na fediverse, můžete s nimi interagovat. + about_hashtag_html: Toto jsou veřejné tooty označené hashtagem #%{hashtag}. Pokud máte účet kdekoliv na fediverse, můžete s nimi interagovat. about_mastodon_html: Mastodon je sociální síť založená na otevřených webových protokolech a svobodném, otevřeném softwaru. Je decentrovalizovaná jako e-mail. about_this: O této instanci administered_by: 'Server spravuje:' @@ -24,7 +24,7 @@ cs: real_conversation_title: Vytvořen pro opravdovou konverzaci within_reach_body: Několik aplikací pro iOS, Android a jiné platformy vám díky jednoduchému API ekosystému dovolují držet krok s vašimi přáteli, ať už jste kdekoliv. within_reach_title: Vždy v dosahu - generic_description: "%{domain} je jedním serverem v síti" + generic_description: "%{domain} je jedním ze serverů v síti" hosted_on: Mastodon hostovaný na %{domain} learn_more: Zjistit více other_instances: Seznam instancí @@ -43,7 +43,9 @@ cs: accounts: choices_html: 'Volby uživatele %{name}:' follow: Sledovat - followers: Sledovatelé + followers: + one: Sledovatel + other: Sledovatelé following: Sleduje joined: Připojil/a se %{date} media: Média @@ -54,7 +56,10 @@ cs: people_who_follow: Lidé, kteří sledují uživatele %{name} pin_errors: following: Musíte již sledovat osobu, kterou chcete podpořit - posts: Tooty + posts: + one: Toot + other: Tooty + posts_tab_heading: Tooty posts_with_replies: Tooty a odpovědi reserved_username: Toto uživatelské jméno je rezervováno roles: @@ -298,6 +303,7 @@ cs: description_html: "Federovací most je přechodný server, který vyměňuje velká množství veřejných tootů mezi servery, které z něj odebírají a poblikují na něj. Může pomoci malým a středně velkým serverům objevovat obsah z fediverse, což by jinak vyžadovalo, aby místní uživatelé manuálně sledovali jiné lidi na vzdálených serverech." enable_hint: Je-li tohle povoleno, začne váš server odebírat všechny veřejné tooty z tohoto mostu a odesílat na něj své vlastní veřejné tooty. inbox_url: URL mostu + pending: Čekám na souhlas mostu setup: Nastavit připojení k mostu status: Stav title: Mosty @@ -357,7 +363,7 @@ cs: desc_html: Zobrazuje se na hlavní stránce. Doporučuje se rozlišení alespoň 600x100px. Pokud toto není nastavené, bude zobrazena miniatura instance title: Hlavní obrázek peers_api_enabled: - desc_html: Domény, na které tato instanve narazila ve fediverse + desc_html: Domény, na které tato instance narazila ve fediverse title: Zveřejnit seznam objevených instancí preview_sensitive_media: desc_html: Náhledy odkazů na jiných stránkách budou zobrazeny i pokud jsou media označena jako citlivá diff --git a/config/locales/cy.yml b/config/locales/cy.yml new file mode 100644 index 0000000000..affb560c36 --- /dev/null +++ b/config/locales/cy.yml @@ -0,0 +1,150 @@ +--- +cy: + about: + about_hashtag_html: Dyma dwtiau cyhoeddus wedi eu tagio gyda #%{hashtag}. Gallwch ryngweithio gyda nhw os oes gennych gyfrif yn unrhywle yn y ffedysawd. + about_this: Ynghylch + administered_by: 'Gweinyddir gan:' + api: API + apps: Apiau symudol + contact: Cyswllt + documentation: Dogfennaeth + learn_more: Dysgu mwy + privacy_policy: Polisi preifatrwydd + source_code: Cod ffynhonnell + status_count_after: + one: statws + terms: Telerau Gwasanaeth + user_count_after: + one: defnyddiwr + other: defnyddiwyr + what_is_mastodon: Beth yw Mastodon? + accounts: + choices_html: 'Dewisiadau %{name}:' + follow: Dilynwch + followers: + one: Dilynwr + other: Dilynwyr + joined: Ymunodd %{date} + media: Cyfryngau + network_hidden: Nid yw'r wybodaeth hon ar gael + nothing_here: Does dim byd yma! + posts: + one: Tŵt + other: Tŵtiau + posts_tab_heading: Tŵtiau + roles: + admin: Gweinyddwr + bot: Bot + moderator: Safonwr + unfollow: Dad-ddilyn + admin: + account_moderation_notes: + create: Gadael nodyn + delete: Dileu + accounts: + are_you_sure: Ydych chi'n siŵr? + avatar: Afatar + by_domain: Parth + change_email: + current_email: E-bost Cyfredol + label: Newid E-bost + new_email: E-bost Newydd + submit: Newid E-bost + title: Newid E-bost i %{username} + confirm: Cadarnhau + confirmed: Cadarnhawyd + disable: Diffodd + domain: Parth + edit: Golygu + email: E-bost + email_status: Statws E-bost + enable: Galluogi + feed_url: Ffrwd URL + inbox_url: URL Mewnflwch + ip: IP + location: + all: Popeth + local: Leol + remote: Pell + title: Lleoliad + media_attachments: Atodiadau + moderation: + all: Popeth + title: Cymedroli + outbox_url: URL blwch allan + profile_url: URL proffil + public: Cyhoeddus + reset: Ailosod + reset_password: Newid cyfrinair + roles: + user: Defnyddiwr + search: Chwilio + show: + report: adrodd + subscribe: Tanysgrifio + title: Cyfrifon + username: Enw defnyddiwr + web: Gwe + custom_emojis: + by_domain: Parth + copy: Copïo + delete: Dileu + enable: Galluogi + listed: Rhestredig + upload: Lanlwytho + dashboard: + config: Cyfluniad + feature_registrations: Cofrestriadau + features: Nodweddion + software: Meddalwedd + title: Dangosfwrdd + trends: Tueddiadau + instances: + domain_name: Parth + authorize_follow: + follow: Dilynwch + title: Dilynwch %{acct} + invites: + expires_in: + '86400': 1 dydd + max_uses_prompt: Dim terfyn + table: + uses: Defnyddiau + migrations: + proceed: Cadw + moderation: + title: Cymedroli + notification_mailer: + favourite: + title: Ffefryn newydd + mention: + action: Ateb + pagination: + next: Nesaf + prev: Blaenorol + preferences: + languages: Ieithoedd + other: Arall + web: Gwe + remote_unfollow: + error: Gwall + title: Teitl + sessions: + browser: Porwr + browsers: + alipay: '' + blackberry: '' + current_session: Sesiwn cyfredol + description: "%{browser} ar %{platform}" + title: Sesiynau + themes: + contrast: Cyferbyniad uchel + default: '' + mastodon-light: Mastodon (golau) + time: + formats: + default: "%b %d, %Y, %H:%M" + month: "%b %Y" + user_mailer: + welcome: + subject: Croeso i Mastodon diff --git a/config/locales/da.yml b/config/locales/da.yml index 285a0b23fa..8e31fbfe9f 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -30,16 +30,22 @@ da: other_instances: Liste over instanser privacy_policy: Privatlivspolitik source_code: Kildekode - status_count_after: statusser + status_count_after: + one: status + other: statusser status_count_before: Som har skrevet terms: Vilkår for service - user_count_after: brugere + user_count_after: + one: bruger + other: brugere user_count_before: Hjem til what_is_mastodon: Hvad er Mastodon? accounts: choices_html: "%{name}s valg:" follow: Følg - followers: Følgere + followers: + one: Følger + other: Følgere following: Følger joined: Tilmeldt den %{date} media: Multimedia @@ -50,7 +56,10 @@ da: people_who_follow: Folk der følger %{name} pin_errors: following: Du er nødt til at følge den person du ønsker at støtte - posts: Trut + posts: + one: Trut + other: Trut + posts_tab_heading: Trut posts_with_replies: Trut og svar reserved_username: Brugernavnet er allerede taget roles: @@ -240,7 +249,9 @@ da: domain: Domæne new: create: Opret blokering + hint: Domæne blokeringen vil ikke forhindre oprettelse af konto opslag i databasen, men vil retroaktivt og automatisk benytte specifikke moderator metoder på disse konti. severity: + desc_html: "Dæmp vil gøre denne kontos opslag usynlige til alle der ikke følger dem. Udeluk vil fjerne al kontoens indhold, medie og profildata. Brug Ingen hvis du bare ønsker at afvise medie filer." noop: Ingen silence: Dæmp suspend: Udeluk @@ -289,10 +300,16 @@ da: title: Invitationer relays: add_new: Tilføj nyt relay + description_html: Et federation relay er en mellemleds server der udveksler store mængder af offentlige trut mellem servere der abonnerer på og offentliggør til det. Det kan hjælpe små og mellemstore servere opdage indhold fra fediverset, hvilket der ellers ville kræve at lokale brugere manuelt følger andre folk på fjerne servere. + enable_hint: Når dette er aktiveret, vil serveren abonnere på alle offentlige trut fra dette relay, og vil begynde at sende offentlige trut fra denne server dertil. inbox_url: Link til relay + pending: Venter på godkendelse fra relæet setup: Opsæt en videresendelses forbindelse status: Status title: Videresendelser + report_notes: + created_msg: Anmeldelse note blev oprettet! + destroyed_msg: Anmeldelse note blev slettet! reports: account: note: notat @@ -330,17 +347,26 @@ da: updated_at: Opdateret view: Se settings: + activity_api_enabled: + desc_html: Antal af lokalt opslåede statusser, aktive brugere, og nye registreringer i ugentlige opdelinger + title: Offentliggør samlede statistikker vedrørende brugeraktivitet bootstrap_timeline_accounts: + desc_html: Opdel flere brugernavne ved hjælp af komma. Kun lokale og ulåste konti vil virke. Standard hvis tom er alle lokale administratorer. title: Standard følger for nye brugere contact_information: email: Forretnings email username: Kontakt brugernavn + custom_css: + desc_html: Ændre udseendet med CSS indlæst på hver side + title: Brugerdefineret CSS hero: desc_html: Vist på forsiden. Mindst 600x100px anbefales. Hvis ikke sat, vil dette falde tilbage til billedet for instansen title: Billede af helt peers_api_enabled: + desc_html: Domæne navne denne instans er stødt på i fediverset title: Udgiv liste over opdagede instanser preview_sensitive_media: + desc_html: Forhåndsvisninger af links på andre websider vil vise et miniaturebillede selv hvis mediet er markeret som følsomt title: Vis følsomt medie i OpenGraph forhåndsvisninger registrations: closed_message: @@ -356,15 +382,27 @@ da: desc_html: Tillad alle at oprette en konto title: Åben registrering show_known_fediverse_at_about_page: + desc_html: Når slået til, vil det vise trut fra hele det kendte fedivers på forhåndsvisning. Ellers vil det kun vise lokale trut. title: Vis kendte fedivers på tidslinje forhåndsvisning show_staff_badge: desc_html: Vis personale emblem på en brugerside title: Vis personale emblem site_description: + desc_html: Introduktions afsnit på forsiden. Beskriv hvad der gør denne Mastodon server speciel og alt andet vigtigt. Du kan bruge HTML tags, især <a> og <em>. title: Beskrivelse af instans + site_description_extended: + desc_html: Et godt sted for placering af adfærdskodes, regler, retningslinjer og andre ting der gør din instans unik. Du kan bruge HTML tags + title: Brugerdefineret udvidet information site_short_description: + desc_html: Vist på sidelinjen og meta tags. Beskriv hvad Mastodon er og hvad der gør denne server speciel i et enkelt afsnit. Hvis tomt, vil standard være beskrivelsen af instansen. title: Kort beskrivelse af instans + site_terms: + desc_html: Du kan skrive din egen privatlivpolitik, servicevilkår, eller lignende. Du kan bruge HTML tags + title: Brugerdefineret servicevilkår site_title: Navn på instans + thumbnail: + desc_html: Brugt til forhåndsvisninger via OpenGraph og API. 1200x630px anbefales + title: Miniaturebillede for instans timeline_preview: desc_html: Vis offentlig tidslinje på landingssiden title: Tidslinje forhåndsvisning @@ -379,14 +417,22 @@ da: media: title: Multimedier no_media: Ingen multimedier + no_status_selected: Ingen statusser blev ændret eller ingen blev valgt title: Konto statusser with_media: Med multimedier subscriptions: + callback_url: Callback-URL confirmed: Bekræftet expires_in: Udløber om last_delivery: Sidste levering title: Websub topic: Emne + suspensions: + bad_acct_msg: Bekræftelsværdien stemte ikke overens. Er du ved at udelukke den rigtige konto? + hint_html: 'For at bekræfte udelukkelsen af kontoen, indtast venligst %{value} i nedenstående felt:' + proceed: Fortsæt + title: Udeluk %{acct} + warning_html: 'Udelukkelse af denne konto vil uigenkaldeligt slette al data fra denne konto, hvilket indebærer:' title: Administration admin_mailer: new_report: @@ -394,9 +440,9 @@ da: body_remote: Nogen fra %{domain} har anmeldt %{target} subject: Ny anmeldelse for %{instance} (#%{id}) application_mailer: - notification_preferences: Ændre email indstillinger + notification_preferences: Ændre email præferencer salutation: "%{name}," - settings: 'Ændre email indstillinger: %{link}' + settings: 'Ændre email præferencer: %{link}' view: 'Se:' view_profile: Se profil view_status: Se status @@ -404,16 +450,23 @@ da: created: Applikation blev oprettet destroyed: Applikation er blevet slettet invalid_url: Det angivne URL er ugyldigt + regenerate_token: Regenerer adgangs token + token_regenerated: Adgangs token blev regenereret warning: Vær meget forsigtig med disse data. Del dem aldrig med nogen! + your_token: Din adgangs token auth: + agreement_html: Ved at oprette dig erklærer du dig enig i at følge instanses regler og vores servicevilkår. change_password: Kodeord confirm_email: Bekræft email delete_account: Slet konto + delete_account_html: Hvis du ønsker at slette din konto, kan du gøre det her. Du vil blive bedt om bekræftelse. didnt_get_confirmation: Har du endnu ikke modtaget instrukser for bekræftelse? forgot_password: Glemt dit kodeord? + invalid_reset_password_token: Adgangskode nulstillings token er ugyldig eller udløbet. Anmod venligst om en ny. login: Log ind logout: Log ud migrate_account: Flyt til en anden konto + migrate_account_html: Hvis du ønsker at omdirigere denne konto til en anden, kan du gøre det her. or: eller or_log_in_with: Eller log in med providers: @@ -427,6 +480,7 @@ da: set_new_password: Sæt et nyt kodeord authorize_follow: already_following: Du følger allerede denne konto + error: Der opstod desværre en fejl under søgningen af denne fjerne konto follow: Følg follow_request: 'Du har anmodet om at følge:' following: 'Succes! Du følger nu:' @@ -452,21 +506,30 @@ da: deletes: bad_password_msg: Godt forsøg, hackere! Forkert kodeord confirm_password: Indtast dit nuværende kodeord for at bekræfte din identitet + description_html: Dette vil permanent, uigenkaldeligt fjerne indhold fra din konto samt deaktivere den. Dit brugernavn vil forblive reserveret for at forhindre fremtidige efterligninger. proceed: Slet konto success_msg: Din konto er nu blevet slettet + warning_html: Kun sletning af indhold fra denne specifikke instans er garanteret. Indhold der er blevet delt rundt omkring vil sandsynligvis efterlade spor. Offline servere og servere der ikke længere abonnerer på dine opdateringer vil ikke opdatere deres databaser. + warning_title: Tilgængelighed af delt indhold errors: '403': Du har ikke tilladelse til at se denne side. '404': Den side du leder efter findes ikke. '410': Den side du leder efter findes ikke mere. '422': + content: Sikkerhedsbekræftelse mislykkedes. Blokerer du cookies? title: Sikkerheds godkendelse mislykkedes + '429': Droslet '500': content: Beklager men der gik noget galt i vores ende. title: Siden er ikke korrekt + noscript_html: For at bruge Mastodon web applikationen, aktiver JavaScript. Alternativt kan du prøve en af disse apps til Mastodon for din platform. exports: archive_takeout: date: Dato download: Hent dit arkiv + hint_html: Du kan anmode om et arkiv af dine trut og oplagt medie. Den eksporterede data vil være i ActivityPub formattet, læseligt af enhvert kompatibel program. Du kan anmode om et arkiv en gang om ugen. + in_progress: Udarbejder dit arkiv... + request: Anmod om dit arkiv size: Størrelse blocks: Du blokerer csv: CSV @@ -481,6 +544,9 @@ da: thread: Samtaler edit: title: Rediger filter + errors: + invalid_context: Ingen eller ugyldig kontekst angivet + invalid_irreversible: Uigenkaldelig filtrering virker kun med hjem eller notifikations kontekst index: delete: Slet title: Filtrer @@ -488,9 +554,15 @@ da: title: Tilføj nyt filter followers: domain: Domæne + explanation_html: Hvis du vil sikre dig privatliv over dine statusser, skal du være klar over hvem der følger dig. Dine private statusser leveres til alle instanser som du har følger fra. Det kan være en ide at gennemgå dem, og fjerne følgere hvis du ikke føler dit privatliv respekteres af personalet eller software fra disse instanser. followers_count: Antal følgere lock_link: Lås din konto purge: Fjern fra følgere + success: + one: I gang med at soft-blokere følgere fra et domæne... + other: I gang med at soft-blokere følgere fra %{count} domæner... + true_privacy_html: Husk på, at sand privatliv kan kun opnås via end-to-end kryptering. + unlocked_warning_html: Alle kan følge dig med det samme for at se dine private statusser. %{lock_link} for at være i stand til at gennemse og afvise følgere. unlocked_warning_title: Din konto er ikke låst footer: developers: Udviklere @@ -503,11 +575,14 @@ da: one: Der er noget der ikke er helt som det bør være! Tag lige et kig på følgende fejl forneden other: Der er noget der ikke er helt som det bør være! Tag lige et kig på følgende %{count} fejl forneden imports: + preface: Du kan importere data du har eksporteret fra en anden instans, så som en liste over folk du følger eller blokerer. + success: Dine data blev succesfuldt uploaded og vil nu blive behandlet hurtigst muligt types: blocking: Blokeringsliste following: Følgningsliste muting: Liste over dæmpninger upload: Læg op + in_memoriam_html: Til minde om. invites: delete: Deaktiver expired: Udløbet @@ -525,6 +600,7 @@ da: one: 1 benyttelse other: "%{count} benyttelser" max_uses_prompt: Ubegrænset + prompt: Generer og del links med andre for at give dem adgang til denne instans table: expires_at: Udløber uses: Benyttelser @@ -540,13 +616,16 @@ da: acct: username@domain af den nye konto currently_redirecting: 'Din profil er sat til at henvise til:' proceed: Gem + updated_msg: Dine konti migrærings indstillinger blev opdateret! moderation: title: Moderatering notification_mailer: digest: action: Se alle notifikationer + body: Her er en kort gennemgang af de beskeder du gik glip af siden dit sidste besøg den %{since} mention: "%{name} nævnte dig i:" new_followers_summary: + one: Du har også fået dig en ny følger mens du var væk! Sådan! other: Du har også fået %{count} nye følgere mens du var væk! Fantastisk! subject: one: "1 ny notifikation siden du sidst var her \U0001F418" @@ -563,6 +642,8 @@ da: follow_request: action: Håndter følgeranmodninger body: "%{name} har anmodet om at følge dig" + subject: 'Følger afventer: %{name}' + title: Ny følgeranmodning mention: action: Svar body: 'Du blev nævnt af %{name} i:' @@ -575,6 +656,7 @@ da: number: human: decimal_units: + format: "%n%u" units: billion: mia. million: mio. @@ -587,16 +669,20 @@ da: next: Næste older: Ældre prev: Forrige + truncate: "...…" preferences: languages: Sprog other: Andet publishing: Offentligører web: Web remote_follow: + acct: Indtast dit brugernavn@domæne du vil handle fra + missing_resource: Kunne ikke finde det påkrævede omdirigerings link for din konto no_account_html: Har du ikke en konto? Du kan oprette dig her proceed: Fortsæt for at følge prompt: 'Du er ved at følge:' remote_interaction: + proceed: Fortsæt for at interagere prompt: 'Du ønsker at interagere med dette trut:' remote_unfollow: error: Fejl @@ -606,25 +692,43 @@ da: activity: Sidste aktivitet browser: Browser browsers: + alipay: Ali-pay blackberry: Blackberry OS chrome: Google Chrome edge: Microsoft edge + electron: Elektron firefox: Mozilla Firefox generic: Ukendt browser ie: IE + micro_messenger: Micromessenger + nokia: Nokia S40 ovi browser + opera: Opera browser + otter: Odder + phantom_js: FantomJS qq: QQ browser safari: Apple Safari + uc_browser: UCbrowser + weibo: Weibo browser + current_session: Nuværrende session description: "%{browser} på %{platform}" + explanation: Disse er de web browsere der på nuværende tidspunkt er logget ind på din Mastodon konto. ip: IP platforms: adobe_air: Adobe air android: Android + blackberry: Blackberry OS + chrome_os: Chromeos + firefox_os: Firefox Os ios: iOS linux: Linux mac: Mac. other: ukendt platform windows: Microsoft windows + windows_mobile: Windows mobil windows_phone: Windows fon + revoke: Tilbagekald + revoke_success: Sessionen blev tilbagekaldt + title: Sessioner settings: authorized_apps: Godkendte apps back: Tilbage til Mastodon @@ -636,7 +740,7 @@ da: import: Importer migrate: Konto migrering notifications: Notifikationer - preferences: Indstillinger + preferences: Præferencer settings: Indstillinger two_factor_authentication: To-faktor godkendelse your_apps: Dine applikationer @@ -651,6 +755,9 @@ da: other: "%{count} videoer" boosted_from_html: Fremhævet fra %{acct_link} content_warning: 'Advarsel om indhold: %{warning}' + disallowed_hashtags: + one: 'indeholdte et ikke tilladt hashtag: %{tags}' + other: 'indeholdte de ikke tilladte hashtags: %{tags}' language_detection: Opfang automatisk sprog open_in_web: Åbn i browser over_character_limit: grænsen på %{max} tegn er overskredet @@ -674,10 +781,11 @@ da: reblogged: fremhævede sensitive_content: Følsomt indhold terms: + body_html: "

Privatlivspolitik

\n

Hvilke information indsamler vi?

\n\n
    \n  
  • Grundlæggende kontoinformation : Hvis du registrerer dig på denne server, bliver du måske bedt om at indtaste et brugernavn, en e-mail-adresse og et kodeord. Du kan også indtaste yderligere profiloplysninger, såsom et visningsnavn og biografi, og uploade et profilbillede og headerbillede. Brugernavnet, visningsnavnet, biografien, profilbilledet og hovedbilledet vises altid offentligt.
  • \n  
  • Stillinger, følgende og andre offentlige oplysninger : Listen over personer du følger er offentliggjort, det samme gælder for dine tilhængere. Når du sender en besked, gemmes datoen og klokkeslættet såvel som det program, du sendte beskeden fra. Meddelelser kan indeholde medievedhæftninger, som f.eks. Billeder og videoer. Offentlige og unoterede indlæg er offentligt tilgængelige. Når du har et indlæg på din profil, er det også offentligt tilgængelig information. Dine indlæg leveres til dine tilhængere, i nogle tilfælde betyder det, at de leveres til forskellige servere, og der gemmes kopier der. Når du sletter indlæg, leveres det også til dine tilhængere. Handlingen med reblogging eller favorisering af et andet indlæg er altid offentligt.
  • \n  
  • Direkte og efterfølger-kun indlæg : Alle indlæg gemmes og behandles på serveren. Følgere-kun indlæg leveres til dine tilhængere og brugere, der er nævnt i dem, og direkte indlæg leveres kun til brugere nævnt i dem. I nogle tilfælde betyder det, at de leveres til forskellige servere, og der gemmes kopier der. Vi gør en god tro for at begrænse adgangen til disse stillinger kun til autoriserede personer, men andre servere kan undlade at gøre det. Derfor er det vigtigt at gennemgå de servere, dine tilhængere tilhører. Du kan skifte en mulighed for at godkende og afvise nye følgere manuelt i indstillingerne. Vær opmærksom på, at operatørerne af serveren og enhver modtagende server muligvis kan se sådanne meddelelser , og at modtagere muligvis skærmbilleder, kopierer eller på anden vis deler dem igen. Del ikke nogen farlig information over Mastodon.
  • \n  
  • IP'er og andre metadata : Når du logger ind, registrerer vi den IP-adresse, du logger ind fra, samt navnet på din browser-applikation. Alle indloggede sessioner er tilgængelige til din anmeldelse og tilbagekaldelse i indstillingerne. Den seneste anvendte IP-adresse gemmes i op til 12 måneder. Vi kan også beholde serverlogfiler, som indeholder IP-adressen til hver anmodning til vores server.
  • \n
\n\n
\n\n

Hvad bruger vi dine oplysninger til?

\n\n

Enhver af de oplysninger, vi indsamler fra dig, kan bruges på følgende måder:

\n\n
    \n  
  • At levere kernen funktionalitet Mastodon. Du kan kun interagere med andres indhold og indsende dit eget indhold, når du er logget ind. Du kan f.eks. Følge andre personer for at se deres kombinerede indlæg på din egen personlige tidslinje.
  • \n  
  • For at hjælpe moderering af samfundet, f.eks. sammenligning af din IP-adresse med andre kendte, for at bestemme forbud mod unddragelse eller andre overtrædelser.
  • \n  
  • Den e-mail-adresse, du angiver, kan bruges til at sende dig oplysninger, meddelelser om andre personer, der interagerer med dit indhold eller sender dig beskeder, og for at svare på henvendelser og / eller andre forespørgsler eller spørgsmål.
  • \n
\n\n
\n\n

Hvordan beskytter vi dine oplysninger?

\n\n

Vi implementerer en række sikkerhedsforanstaltninger for at opretholde sikkerheden for dine personlige oplysninger, når du indtaster, indsender eller har adgang til dine personlige oplysninger. Bl.a. er din browsersession samt trafikken mellem dine applikationer og API'en sikret med SSL, og din adgangskode er hashed ved hjælp af en stærk envejsalgoritme. Du kan muligvis aktivere tofaktors godkendelse for yderligere at sikre adgang til din konto.

\n\n
\n\n

Hvad er vores data retention politik?

\n\n

Vi vil gøre en god tro indsats for at:

\n\n
    \n  
  • Behold serverlogfiler, der indeholder IP-adressen på alle anmodninger til denne server, for så vidt som sådanne logfiler holdes, ikke mere end 90 dage.
  • \n  
  • Behold de IP-adresser, der er forbundet med registrerede brugere, ikke mere end 12 måneder.
  • \n
\n\n

Du kan anmode om og downloade et arkiv af dit indhold, herunder dine indlæg, medievedhæftninger, profilbillede og headerbillede.

\n\n

Du kan til enhver tid slette din konto.

\n\n
\n\n

Bruger vi cookies?

\n\n

Ja. Cookies er små filer, som et websted eller dets tjenesteudbyder overfører til din computers harddisk via din webbrowser (hvis du tillader det). Disse cookies gør det muligt for webstedet at genkende din browser og, hvis du har en registreret konto, associerer den med din registrerede konto.

\n\n

Vi bruger cookies til at forstå og gemme dine præferencer til fremtidige besøg.

\n\n
\n\n

Viser vi nogen information til eksterne parter?

\n\n

Vi sælger ikke, handler eller på anden måde overfører dine personlige identificerbare oplysninger til eksterne parter. Dette omfatter ikke tillid til tredjeparter, der hjælper os med at drive vores hjemmeside, udføre vores forretning eller servicere dig, så længe parterne er enige om at holde disse oplysninger fortrolige. Vi kan også frigive dine oplysninger, når vi mener, at udgivelsen er hensigtsmæssig for at overholde loven, håndhæve vores webstedspolitikker eller beskytte vores eller andre rettigheder, ejendom eller sikkerhed.

\n\n

Dit offentlige indhold kan downloades af andre servere i netværket. Dine offentlige og efterfølger-kun indlæg leveres til de servere, hvor dine tilhængere er bosat, og direkte meddelelser leveres til modtagerens servere, for så vidt som disse tilhængere eller modtagere opholder sig på en anden server end dette.

\n\n

Når du autoriserer et program til at bruge din konto, afhænger det af omfanget af tilladelser, du godkender, det kan få adgang til dine offentlige profiloplysninger, din følgende liste, dine tilhængere, dine lister, alle dine indlæg og dine favoritter. Applikationer kan aldrig få adgang til din e-mail-adresse eller adgangskode.

\n\n
\n\n

Bebyggelse af børn

\n\n

Hvis denne server er i EU eller EØS: Vores websted, produkter og tjenester er alle rettet mod personer, der er mindst 16 år gamle. Hvis du er under 16 år, skal du ikke bruge dette websted efter kravene i GDPR ( Generel databeskyttelsesforordning ). .

\n\n

Hvis denne server er i USA: Vores websted, produkter og tjenester er alle rettet mod personer, der er mindst 13 år. Hvis du er under 13 år, skal du ikke bruge kravene i COPPA ( Børns online beskyttelse af personlige oplysninger ) dette websted.

\n\n

Lovkrav kan være anderledes, hvis denne server er i en anden jurisdiktion.

\n\n
\n\n

Ændringer i vores privatlivspolitik

\n\n

Hvis vi beslutter os for at ændre vores privatlivspolitik, vil vi sende disse ændringer på denne side.

\n\n

Dette dokument er CC-BY-SA. Det blev senest opdateret 7. marts 2018.

\n\n

Oprindelig tilpasset fra Discourse privacy policy .

\n" title: Vilkår og privatlivpolitik for %{instance} themes: contrast: Høj kontrast - default: Mastodon + default: Mastodont mastodon-light: Mastodon (lys) time: formats: @@ -685,14 +793,18 @@ da: month: "%b %Y" two_factor_authentication: code_hint: Indtast koden der er genereret af din app for at bekræfte + description_html: Hvis du aktiverer to-faktor godkendelse, vil du være nødt til at være i besiddelse af din telefon, der genererer tokens som du skal indtaste, når du logger ind. disable: Deaktiver enable: Aktiver enabled: To-faktor godkendelse er aktiveret enabled_success: To-faktor godkendelse succesfuldt aktiveret generate_recovery_codes: Generer gendannelseskoder + instructions_html: "Scan denne QR kode i Google Autehnticator eller lignende TOTP app på din telefon. Fra nu af vil den app generere koder som du vil være nødt til at indtaste når du logger ind." + lost_recovery_codes: Gendannelseskoder vil lade dig få adgang til din konto hvis du mister din telefon. Hvis du har mistet dine gendannelseskoder, kan du regenerere dem her. Dine gamle gendannelseskoder vil blive ugyldige. manual_instructions: 'Hvis du ikke kan scanne QR koden er er nødt til at skrive koden ind manuelt, kan er din almindelig tekst secret:' recovery_codes: Reserve koder recovery_codes_regenerated: Reserve koder blev succesfuldt regenereret + recovery_instructions_html: Hvis du nogensinde mister adgang til din telefon, kan du bruge en af genoprettelses koderne forneden for at få adgang til din konto. Gem gendannelses koderne et sikkert sted. Foreksempel kan du printe dem ud og gemme dem sammen med andre vigtige dokumenter. setup: Sæt op wrong_code: Den indtastede kode var ugyldig! Er serverens tid og enhedens tid korrekte? user_mailer: @@ -702,14 +814,17 @@ da: title: Udpluk af arkiv welcome: edit_profile_action: Opsæt profil + edit_profile_step: Du kan skræddersy din profil ved at uploade et profilbillede, overskrift, ændre dit visningsnavn og mere. Hvis du kunne tænke dig at gennemse nye følgere før de må følge dig, kan du låse din konto. explanation: Her er nogle råd til at starte med final_action: Kom igang med at poste final_step: 'Start med at skrive opslag! Selv uden følgere vil dine offentlige beskeder kunne ses af andre, foreksempel på den lokale tidslinje og i hashtags. Måske kunne du tænke dig at introducere dig selv på #introductions hashtagget.' full_handle: Dit fulde brugernavn full_handle_hint: Dette er hvad du vil fortælle dine venner så de kan sende dig beskeder eller følge dig fra andre instanser. review_preferences_action: Ændre præferencer + review_preferences_step: Vær sikker på at sætte dine præferencer, så som hvilke emails du kunne tænke dig at modtage, eller hvilket niveau af privatliv der skal være standard for dine opslag. Hvis du kunne tænke dig ikke at blive køresyg, kan du vælge at aktivere automatisk afspilning af GIFfer. subject: Velkommen til Mastodon tip_bridge_html: Hvis du kommer fra Twitter, kan du finde dine venner på Mastodon ved at bruge bridge appen. Den virker dog kun hvis de også bruger bridge appen! + tip_federated_timeline: Den delte tidslinje er et brandslange agtigt indblik over Mastodon netværket. Men det inkluderer kun folk dine naboer abonnerer på, så den er ikke fuldendt. tip_following: Du følger som standard administratoren(e) for den server du er på. For at finde flere folk, tjek både den lokale og fælles tidslinje. tip_local_timeline: Den lokale tidslinje er et have af folk i %{instance}. Disse er dine umiddelbare naboer! tip_mobile_webapp: Hvis din mobil browser tilbyder dig at tilføje Mastodon til din hjemmeskærm, kan du modtage push meddelelser. Dette opfører sig på mange måder ligesom en almindelig app! diff --git a/config/locales/devise.cy.yml b/config/locales/devise.cy.yml new file mode 100644 index 0000000000..4ef5508a1b --- /dev/null +++ b/config/locales/devise.cy.yml @@ -0,0 +1,3 @@ +--- +cy: + devise: {} diff --git a/config/locales/doorkeeper.cy.yml b/config/locales/doorkeeper.cy.yml new file mode 100644 index 0000000000..2fb4902e84 --- /dev/null +++ b/config/locales/doorkeeper.cy.yml @@ -0,0 +1,3 @@ +--- +cy: + doorkeeper: {} diff --git a/config/locales/el.yml b/config/locales/el.yml index 67baee0f25..d41ab34219 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -30,16 +30,22 @@ el: other_instances: Λίστα κόμβων privacy_policy: Πολιτική απορρήτου source_code: Πηγαίος κώδικας - status_count_after: καταστάσεις + status_count_after: + one: δημοσίευση + other: δημοσιεύσεις status_count_before: Που έγραψαν terms: Όροι χρήσης - user_count_after: χρήστες + user_count_after: + one: χρήστης + other: χρήστες user_count_before: Σπίτι για what_is_mastodon: Τι είναι το Mastodon; accounts: choices_html: 'Επιλογές του/της %{name}:' follow: Ακολούθησε - followers: Ακόλουθοι + followers: + one: Ακόλουθος + other: Ακόλουθοι following: Ακολουθεί joined: Εγγράφηκε στις %{date} media: Πολυμέσα @@ -50,7 +56,10 @@ el: people_who_follow: Χρήστες που ακολουθούν τον/την %{name} pin_errors: following: Πρέπει ήδη να ακολουθείς το άτομο που θέλεις να επιδοκιμάσεις - posts: Τουτ + posts: + one: Τουτ + other: Τουτ + posts_tab_heading: Τουτ posts_with_replies: Τουτ και απαντήσεις reserved_username: Το όνομα χρήστη είναι κατειλημμένο roles: @@ -294,6 +303,7 @@ el: description_html: Ο ομοσπονδιακός ανταποκριτής είναι ένας ενδιάμεσος εξυπηρετητής (server) που ανταλλάσσει μεγάλους όγκους δημόσιων τουτ μεταξύ εξυπηρετητών που εγγράφονται και δημοσιεύουν σε αυτόν. Βοηθάει μικρούς και μεσαίους εξυπηρετητές να ανακαλύψουν περιεχόμενο στο fediverse, που υπό άλλες συνθήκες θα χρειαζόταν κάποιους τοπικούς χρήστες που να ακολουθούν χρήστες σε απομακρυσμένους εξυπηρετητές. enable_hint: Μόλις ενεργοποιηθεί, ο εξυπηρετητής (server) σου θα εγγραφεί σε όλα τα δημόσια τουτ αυτού του ανταποκριτή (relay) και θα αρχίσει να προωθεί τα δικά του δημόσια τουτ σε αυτόν. inbox_url: URL ανταποκριτή + pending: Περιμένοντας την έγκριση του ανταποκριτή setup: Όρισε μια σύνδεση ανταπόκρισης status: Κατάσταση title: Ανταποκριτές @@ -346,6 +356,9 @@ el: contact_information: email: Επαγγελματικό email username: Όνομα χρήστη επικοινωνίας + custom_css: + desc_html: Τροποποίηση της εμφάνισης μέσω CSS που φορτώνεται σε κάθε σελίδα + title: Προσαρμοσμένο CSS hero: desc_html: Εμφανίζεται στην μπροστινή σελίδα. Συνίσταται τουλάχιστον 600x100px. Όταν λείπει, χρησιμοποιείται η μικρογραφία του κόμβου title: Εικόνα ήρωα @@ -414,6 +427,12 @@ el: last_delivery: Τελευταία παράδοση title: WebSub topic: Θέμα + suspensions: + bad_acct_msg: Η τιμή επιβεβαίωσης δεν ταιριάζει. Σίγουρα αναστέλλεις το σωστό λογαριασμό; + hint_html: 'Για να επιβεβαιώσεις την αναστολή του λογαριασμού, γράψε %{value} στο ακόλουθο πεδίο:' + proceed: Συνέχεια + title: Αναστολή %{acct} + warning_html: 'Αναστέλλοντας αυτό το λογαριασμό θα διαγραφούν αμετάκλητα δεδομένα του, μεταξύ των οποίων:' title: Διαχείριση admin_mailer: new_report: diff --git a/config/locales/en.yml b/config/locales/en.yml index 38a6df8f77..227abf409d 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -304,6 +304,7 @@ en: enable_hint: Once enabled, your server will subscribe to all public toots from this relay, and will begin sending this server's public toots to it. inbox_url: Relay URL pending: Waiting for relay's approval + save_and_enable: Save and enable setup: Setup a relay connection status: Status title: Relays diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 1cacad345f..e767d9ad90 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -6,6 +6,7 @@ eu: about_this: Honi buruz administered_by: 'Administratzailea(k):' api: APIa + apps: Aplikazio mugikorrak closed_registrations: Harpidetza itxita dago orain instantzia honetan. Hala ere, beste instantzia bat aurkitu dezakezu kontua egiteko eta hona ere sarbidea izan. contact: Kontaktua contact_missing: Ezarri gabe @@ -29,16 +30,22 @@ eu: other_instances: Instantzien zerrenda privacy_policy: Pribatutasun politika source_code: Iturburu kodea - status_count_after: mezu idatzi dituzte + status_count_after: + one: mezu + other: mezu status_count_before: Hauek terms: Erabilera baldintzak - user_count_after: erabiltzaile daude + user_count_after: + one: erabiltzaile + other: erabiltzaile user_count_before: Hemen what_is_mastodon: Zer da Mastodon? accounts: choices_html: "%{name}(r)en aukerak:" follow: Jarraitu - followers: Jarraitzaile + followers: + one: Jarraitzaile + other: jarraitzaile following: Jarraitzen joined: "%{date}(e)an elkartua" media: Multimedia @@ -49,7 +56,10 @@ eu: people_who_follow: "%{name} jarraitzen dutenak" pin_errors: following: Onetsi nahi duzun pertsona aurretik jarraitu behar duzu - posts: Toot-ak + posts: + one: Toot + other: Toot + posts_tab_heading: Tootak posts_with_replies: Toot eta erantzunak reserved_username: Erabiltzaile-izena erreserbatuta dago roles: @@ -184,6 +194,7 @@ eu: unsuspend_account: "%{name}(e)k %{target} kontuaren kanporaketa atzera bota du" update_custom_emoji: "%{name}(e)k %{target} emoji-a eguneratu du" update_status: "%{name} (e)k %{target}(r)en mezua aldatu du" + deleted_status: "(ezabatutako mezua)" title: Auditoria-egunkaria custom_emojis: by_domain: Domeinua @@ -280,6 +291,7 @@ eu: search: Bilatu title: Instantzia ezagunak invites: + deactivate_all: Desgaitu guztiak filter: all: Denak available: Eskuragarri @@ -288,6 +300,7 @@ eu: title: Gonbidapenak relays: add_new: Gehitu hari berria + status: Mezuak report_notes: created_msg: Salaketa oharra ongi sortu da! destroyed_msg: Salaketa oharra ongi ezabatu da! @@ -337,6 +350,9 @@ eu: contact_information: email: Laneko e-mail helbidea username: Kontaktuaren erabiltzaile-izena + custom_css: + desc_html: Aldatu itxura orri bakoitzean kargatutako CSS bidez + title: CSS pertsonala hero: desc_html: Azaleko orrian bistaratua. Gutxienez 600x100px aholkatzen da. Ezartzen ez bada, instantziaren irudia hartuko du title: Azaleko irudia @@ -372,6 +388,7 @@ eu: desc_html: Zure jokabide-koderako toki on bat, arauak, gidalerroak eta zure instantzia desberdin egiten duten bestelakoak. HTML etiketak erabili ditzakezu title: Informazio hedatu pertsonalizatua site_short_description: + desc_html: Albo-barra eta meta etiketetan bistaratua. Deskribatu zerk egiten duen Mastodon zerbitzari hau berezia paragrafo batean. Hutsik lagatzekotan lehenetsitako deskripzioa agertuko da. title: Instantziaren deskripzio laburra site_terms: desc_html: Zure pribatutasun politika, erabilera baldintzak eta bestelako testu legalak idatzi ditzakezu. HTML etiketak erabili ditzakezu @@ -394,6 +411,7 @@ eu: media: title: Multimedia no_media: Multimediarik ez + no_status_selected: Ez da mezurik aldatu ez delako mezurik aukeratu title: Kontuaren mezuak with_media: Multimediarekin subscriptions: @@ -403,6 +421,11 @@ eu: last_delivery: Azken bidalketa title: WebSub topic: Mintzagaia + suspensions: + bad_acct_msg: Berrespen balioa ez dator bat. Dagokion kontua kanporatzen ari zara? + hint_html: 'Kontuaren kanporatzea berresteko, sartu %{value} beheko eremuan:' + title: Kanporatu %{acct} + warning_html: 'Kontu hau kanporatzeak behin betiko ezabatuko ditu kontu honetako datuak, hauek barne:' title: Administrazioa admin_mailer: new_report: diff --git a/config/locales/fa.yml b/config/locales/fa.yml index f9ed10fd57..244451c045 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -6,6 +6,7 @@ fa: about_this: درباره administered_by: 'با مدیریت:' api: رابط برنامه‌نویسی کاربردی + apps: اپ‌های موبایل closed_registrations: ثبت‌نام روی این سرور هم‌اینک فعال نیست. اما شما می‌توانید سرور دیگری بیابید و با حسابی که آن‌جا می‌سازید دقیقاً به همین شبکه دسترسی داشته باشید. contact: تماس contact_missing: تعیین نشده @@ -29,16 +30,22 @@ fa: other_instances: فهرست سرورها privacy_policy: سیاست رازداری source_code: کدهای منبع - status_count_after: چیز نوشته‌اند + status_count_after: + one: نوشته + other: نوشته status_count_before: که جمعاً terms: شرایط کاربری - user_count_after: کاربر + user_count_after: + one: کاربر + other: کاربر user_count_before: دارای what_is_mastodon: ماستدون چیست؟ accounts: choices_html: 'انتخاب‌های %{name}:' follow: پی بگیرید - followers: پیگیران + followers: + one: پیگیر + other: پیگیر following: پی می‌گیرد joined: کاربر از %{date} media: عکس و ویدیو @@ -49,7 +56,10 @@ fa: people_who_follow: کسانی که %{name} را پی می‌گیرند pin_errors: following: شما باید پیگیر کاربری باشید که می‌خواهید ثابت کنید - posts: نوشته‌ها + posts: + one: بوق + other: بوق + posts_tab_heading: بوق‌ها posts_with_replies: نوشته‌ها و پاسخ‌ها reserved_username: این نام کاربری در دسترس نیست roles: @@ -281,6 +291,7 @@ fa: search: جستجو title: سرورهای شناخته‌شده invites: + deactivate_all: غیرفعال‌کردن همه filter: all: همه available: در دسترس @@ -292,6 +303,7 @@ fa: description_html: یک رلهٔ میان‌سروری (federation relay) یک سرور میانجی است که حجم زیادی از بوق‌های عمومی را بین سرورهای گوناگونی که عضوش می‌شوند جابه‌جا می‌کند. رله‌ها به سرورهای کوچک و متوسط کمک می‌کنند تا مطالب عمومی بیشتری را بیابند. اگر رله نباشد، این مطالب عمومی تنها وقتی پیدا می‌شوند که کاربران محلی خودشان پیگیر کاربران روی سرورهای دیگر شوند. enable_hint: اگر فعال باشد، سرور شما عضو همهٔ بوق‌های عمومی‌ای را که از این رله می‌آید می‌گیرد، و بوق‌های عمومی این سرور را به آن می‌فرستند. inbox_url: نشانی رله + pending: در انتظار پذیرش رله setup: پیوستن به رله‌ها status: وضعیت title: رله‌ها @@ -344,6 +356,9 @@ fa: contact_information: email: ایمیل کاری username: نام کاربری + custom_css: + desc_html: ظاهر ماستدون را با CSS-ای که در همهٔ صفحه‌ها جاسازی می‌شود تغییر دهید + title: سبک CSS سفارشی hero: desc_html: در صفحهٔ آغازین نمایش می‌یابد. دست‌کم ۶۰۰×۱۰۰ پیکسل توصیه می‌شود. اگر تعیین نشود، با تصویر بندانگشتی سرور جایگزین خواهد شد title: تصویر سربرگ @@ -412,6 +427,12 @@ fa: last_delivery: آخرین ارسال title: WebSub topic: موضوع + suspensions: + bad_acct_msg: محتوایی که برای تأیید وارد کردید منطبق نبود. آیا دارید حساب درستی را معلق می‌کنید؟ + hint_html: 'برای تأیید معلق‌کردن حساب، لطفاً در کادر زیر %{value} را وارد کنید:' + proceed: ادامه + title: معلق‌کردن %{acct} + warning_html: 'معلق‌کردن این حساب برای همیشه داده‌هایش را پاک می‌کند. داده‌هایی شامل:' title: مدیریت سرور admin_mailer: new_report: @@ -660,6 +681,9 @@ fa: no_account_html: هنوز عضو نیستید؟ این‌جا می‌توانید حساب باز کنید proceed: درخواست پیگیری prompt: 'شما قرار است این حساب را پیگیری کنید:' + remote_interaction: + proceed: ادامهٔ برهم‌کنش + prompt: 'شما می‌خواهید دربارهٔ این بوق کاری کنید:' remote_unfollow: error: خطا title: عنوان @@ -743,6 +767,7 @@ fa: private: نوشته‌های غیرعمومی را نمی‌توان ثابت کرد reblog: بازبوق‌ها را نمی‌توان ثابت کرد show_more: نمایش + sign_in_to_participate: برای شرکت در گفتگو وارد حساب خود شوید title: '%{name}: "%{quote}"' visibilities: private: خصوصی diff --git a/config/locales/fr.yml b/config/locales/fr.yml index cf8ceb2470..20e2ca33ec 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -30,16 +30,22 @@ fr: other_instances: Liste des instances privacy_policy: Politique de vie privée source_code: Code source - status_count_after: statuts + status_count_after: + one: Statut + other: Statuts status_count_before: Ayant publié terms: Conditions d'utilisation - user_count_after: utilisateur⋅ice⋅s + user_count_after: + one: utilisateur + other: utilisateurs user_count_before: Abrite what_is_mastodon: Qu’est-ce que Mastodon ? accounts: choices_html: "%{name} recommande :" follow: Suivre - followers: Abonné⋅e⋅s + followers: + one: Abonné·e + other: Abonné⋅e⋅s following: Abonnements joined: Inscrit·e en %{date} media: Médias @@ -50,7 +56,10 @@ fr: people_who_follow: Personnes qui suivent %{name} pin_errors: following: Vous devez être déjà abonné·e à la personne que vous désirez recommander - posts: Statuts + posts: + one: Pouet + other: Pouets + posts_tab_heading: Pouets posts_with_replies: Statuts & réponses reserved_username: Ce nom d’utilisateur⋅ice est réservé roles: @@ -294,6 +303,7 @@ fr: description_html: Un relai de fédération est un serveur intermédiaire qui échange de grandes quantités de pouets entre les serveurs qui publient dessus et ceux qui y sont abonnés. Il peut aider les petites et moyennes instances à découvrir du contenu sur le fediverse, ce qui normalement nécessiterait que les membres locaux suivent des gens inscrits sur des serveurs distants. enable_hint: Une fois activé, votre serveur souscrira à tous les pouets publics présents sur ce relais et y enverra ses propres pouets publics. inbox_url: URL de relais + pending: En attente de l'approbation du relai setup: Paramétrer une connexion de relais status: Statut title: Relais @@ -346,6 +356,9 @@ fr: contact_information: email: Entrez une adresse courriel publique username: Entrez un nom d’utilisateur⋅ice + custom_css: + desc_html: Modifier l'apparence avec une CSS chargée sur chaque page + title: CSS personnalisée hero: desc_html: Affichée sur la page d’accueil. Au moins 600x100px recommandé. Lorsqu’elle n’est pas définie, se rabat sur la vignette de l’instance title: Image d’en-tête @@ -414,6 +427,12 @@ fr: last_delivery: Dernière livraison title: WebSub topic: Sujet + suspensions: + bad_acct_msg: La valeur de confirmation n'a pas correspondu. Êtes-vous certain de suspendre le bon compte ? + hint_html: 'Pour confirmer la suspension du compte, veuillez entrer %{value} dans le champ ci-dessous :' + proceed: Traité + title: Suspension de %{acct} + warning_html: 'Suspendre ce compte effacera irréversiblement les données de ce compte, ce qui inclut :' title: Administration admin_mailer: new_report: diff --git a/config/locales/gl.yml b/config/locales/gl.yml index e2944122d1..42794c67f6 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -30,16 +30,22 @@ gl: other_instances: Listado de instancias privacy_policy: Política de intimidade source_code: Código fonte - status_count_after: estados + status_count_after: + one: estado + other: estados status_count_before: Que publicaron terms: Termos do servizo - user_count_after: usuarias + user_count_after: + one: usuaria + other: usuarias user_count_before: Fogar de what_is_mastodon: Qué é Mastodon? accounts: choices_html: 'Eleccións de %{name}:' follow: Seguir - followers: Seguidoras + followers: + one: Seguidora + other: Seguidoras following: Seguindo joined: Uneuse %{date} media: Medios @@ -50,7 +56,10 @@ gl: people_who_follow: Personas que seguen a %{name} pin_errors: following: Debe seguir a persoa que intenta recomendar - posts: Mensaxes + posts: + one: Toot + other: Toots + posts_tab_heading: Toots posts_with_replies: Toots e respostas reserved_username: O nome de usuaria está reservado roles: @@ -294,6 +303,7 @@ gl: description_html: Un repetidor da federación é un servidor intermedio que intercambia grandes volumes de toots públicos entre servidores que se suscriban e publiquen nel. Pode axudar a servidores pequenos e medios a descubrir contido no fediverso, o que de outro xeito precisaría que as usuarias locais seguisen a outra xente en servidores remotos. enable_hint: Unha vez activado, o seu servidor suscribirase a todos os toots públicos de este servidor, e tamén comezará a eviar a el os toots públicos do servidor. inbox_url: URL do repetidor + pending: Agardando polo permiso do repetidor setup: Configurar a conexión ao repetidor status: Estado title: Repetidores @@ -346,6 +356,9 @@ gl: contact_information: email: e-mail de traballo username: Nome de usuaria de contacto + custom_css: + desc_html: Modificar o aspecto con CSS cargado en cada páxina + title: CSS personalizado hero: desc_html: Mostrado na portada. Recoméndase 600x100px como mínimo. Si non se establece, mostrará a imaxe por omisión da instancia title: Imáxe Heróe @@ -414,6 +427,12 @@ gl: last_delivery: Última entrega title: WebSub topic: Asunto + suspensions: + bad_acct_msg: O valor de confirmación non é coincidente. Está a suspender a conta correcta? + hint_html: 'Para confirmar a suspensión da conta introduza %{value} no campo inferior:' + proceed: Proceder + title: Suspender %{acct} + warning_html: 'Ao suspender esta conta eliminará de xeito irreversible os datos de esta conta, que inclúe:' title: Administración admin_mailer: new_report: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index abf6722b1b..a221a8e448 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -298,6 +298,7 @@ ja: description_html: "連合リレーとは、登録しているサーバー間の公開トゥートを仲介するサーバーです。中小規模のサーバーが連合のコンテンツを見つけるのを助けます。これを使用しない場合、ローカルユーザーがリモートユーザーを手動でフォローする必要があります。" enable_hint: 有効にすると、リレーから全ての公開トゥートを受信するようになり、またこのサーバーの全ての公開トゥートをリレーに送信するようになります。 inbox_url: リレーURL + pending: リレーサーバーの承認待ちです setup: リレー接続を設定する status: ステータス title: リレー @@ -351,6 +352,7 @@ ja: email: ビジネスメールアドレス username: 連絡先のユーザー名 custom_css: + desc_html: 全ページに適用されるCSSの編集 title: カスタムCSS hero: desc_html: フロントページに表示されます。サイズは600x100px以上推奨です。未設定の場合、インスタンスのサムネイルが使用されます diff --git a/config/locales/nl.yml b/config/locales/nl.yml index cd706a4844..063123da8b 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -30,16 +30,22 @@ nl: other_instances: Andere servers privacy_policy: Privacybeleid source_code: Broncode - status_count_after: toots + status_count_after: + one: toot + other: toots status_count_before: Zij schreven terms: Gebruiksvoorwaarden - user_count_after: gebruikers + user_count_after: + one: gebruiker + other: gebruikers user_count_before: Thuisbasis van what_is_mastodon: Wat is Mastodon? accounts: choices_html: 'Aanbevelingen van %{name}:' follow: Volgen - followers: Volgers + followers: + one: Volger + other: Volgers following: Volgend joined: Geregistreerd in %{date} media: Media @@ -50,7 +56,10 @@ nl: people_who_follow: Mensen die %{name} volgen pin_errors: following: Je moet dit account wel al volgen, alvorens je het kan aanbevelen - posts: Toots + posts: + one: Toot + other: Toots + posts_tab_heading: Toots posts_with_replies: Toots en reacties reserved_username: Deze gebruikersnaam is gereserveerd roles: @@ -294,6 +303,7 @@ nl: description_html: Een federatierelay is een tussenliggende server die grote hoeveelheden openbare toots uitwisselt tussen servers die zich hierop hebben geabonneerd. Het kan kleine en middelgrote servers helpen om content uit de fediverse te ontdekken, waarvoor anders lokale gebruikers handmatig mensen van externe servers moeten volgen. enable_hint: Eenmaal ingeschakeld gaat jouw server zich op alle openbare toots van deze relayserver abonneren en stuurt het de openbare toots van jouw server naar de relayserver. inbox_url: Relay-URL + pending: Aan het wachten op toestemming van de relayserver setup: Een verbinding met een relayserver maken status: Status title: Relayservers @@ -346,6 +356,9 @@ nl: contact_information: email: Vul een openbaar gebruikt e-mailadres in username: Vul een gebruikersnaam in + custom_css: + desc_html: Het uiterlijk van deze server met CSS aanpassen + title: Aangepaste CSS hero: desc_html: Wordt op de voorpagina getoond. Tenminste 600x100px aanbevolen. Wanneer dit niet is ingesteld wordt de thumbnail van de Mastodonserver getoond title: Hero-afbeelding @@ -414,6 +427,12 @@ nl: last_delivery: Laatste bezorging title: WebSub topic: Account + suspensions: + bad_acct_msg: De bevestigingswaarde kwam niet overeen. Schort je wel het juiste account op? + hint_html: Vul in het veld hieronder %{value} in, om het opschorten van dit account te bevestigen. + proceed: Ga verder + title: "%{acct} opschorten" + warning_html: 'Door het opschorten van dit account worden gegevens van dit account permanent verwijderd, waaronder:' title: Beheer admin_mailer: new_report: @@ -660,7 +679,7 @@ nl: acct: Geef jouw account@domein op die je wilt gebruiken missing_resource: Kon vereiste doorverwijzings-URL voor jouw account niet vinden no_account_html: Heb je geen account? Je kunt er hier een registreren - proceed: Ga door om te volgen + proceed: Ga verder om te volgen prompt: 'Jij gaat volgen:' remote_interaction: proceed: Ga de interactie aan @@ -843,7 +862,7 @@ nl:

This document is CC-BY-SA. It was last updated March 7, 2018.

Originally adapted from the Discourse privacy policy.

- title: "%{instance} Terms of Service and Privacy Policy" + title: Gebruiksvoorwaarden en privacybeleid van %{instance} time: formats: default: "%d %B %Y om %H:%M" @@ -858,7 +877,7 @@ nl: generate_recovery_codes: Herstelcodes genereren instructions_html: "Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon. Van nu af aan genereert deze app aanmeldcodes die je bij het aanmelden moet invoeren." lost_recovery_codes: Met herstelcodes kun je toegang tot jouw account krijgen wanneer je jouw telefoon bent kwijtgeraakt. Wanneer je jouw herstelcodes bent kwijtgeraakt, kan je ze hier opnieuw genereren. Jouw oude herstelcodes zijn daarna ongeldig. - manual_instructions: Hieronder vind je de geheime code in platte tekst. Voor het geval je de QR-code niet kunt scannen en het handmatig moet invoeren. + manual_instructions: Voor het geval je de QR-code niet kunt scannen en het handmatig moet invoeren, vind je hieronder geheime code in gewone tekst. recovery_codes: Herstelcodes back-uppen recovery_codes_regenerated: Opnieuw genereren herstelcodes geslaagd recovery_instructions_html: Wanneer je ooit de toegang verliest tot jouw telefoon, kan je met behulp van een van de herstelcodes hieronder opnieuw toegang krijgen tot jouw account. Zorg ervoor dat je de herstelcodes op een veilige plek bewaard. Je kunt ze bijvoorbeeld printen en ze samen met andere belangrijke documenten bewaren. diff --git a/config/locales/oc.yml b/config/locales/oc.yml index e61fcd0c9c..6f15f26f5b 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -334,7 +334,7 @@ oc: target: Cibla title: Senhalament unassign: Levar - unresolved: Pas resolguts + unresolved: Pas resolgut updated_at: Actualizat view: Veire settings: diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 32f70e977b..856500ed6f 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -30,16 +30,22 @@ pt-BR: other_instances: Lista de instâncias privacy_policy: Política de Privacidade source_code: Código-fonte - status_count_after: publicações + status_count_after: + one: status + other: status status_count_before: Autores de terms: Termos de serviço - user_count_after: usuários + user_count_after: + one: usuário + other: usuários user_count_before: Casa de what_is_mastodon: O que é Mastodon? accounts: choices_html: 'Escolhas de %{name}:' follow: Seguir - followers: Seguidores + followers: + one: Seguidor + other: Seguidores following: Seguindo joined: Participa desde %{date} media: Mídia @@ -50,7 +56,10 @@ pt-BR: people_who_follow: Pessoas que seguem %{name} pin_errors: following: Você tem que estar seguindo a pessoa que você quer sugerir - posts: Toots + posts: + one: Toot + other: Toots + posts_tab_heading: Toots posts_with_replies: Toots e respostas reserved_username: Este usuário está reservado roles: @@ -346,6 +355,9 @@ pt-BR: contact_information: email: E-mail username: Contate usuário + custom_css: + desc_html: Modificar o visual com CSS que é carregado em todas as páginas + title: CSS customizado hero: desc_html: Aparece na página inicial. Ao menos 600x100px é recomendado. Se não estiver definido, o thumbnail da instância é usado no lugar title: Imagem de capa @@ -414,6 +426,12 @@ pt-BR: last_delivery: Última entrega title: WebSub topic: Tópico + suspensions: + bad_acct_msg: Os valores de confirmação não correspondem. Você está suspendendo a conta certa? + hint_html: 'Para confirmar a suspensão da conta, por favor digite %{value} no campo abaixo:' + proceed: Prosseguir + title: Suspender %{acct} + warning_html: 'Suspender essa conta vai remover irreversivelmente dados dessa conta, o que inclui:' title: Administração admin_mailer: new_report: diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml new file mode 100644 index 0000000000..7800fe637c --- /dev/null +++ b/config/locales/simple_form.cy.yml @@ -0,0 +1,3 @@ +--- +cy: + simple_form: {} diff --git a/lib/mastodon/media_cli.rb b/lib/mastodon/media_cli.rb index ee28270da7..12ebdb774c 100644 --- a/lib/mastodon/media_cli.rb +++ b/lib/mastodon/media_cli.rb @@ -10,6 +10,8 @@ module Mastodon class MediaCLI < Thor option :days, type: :numeric, default: 7 option :background, type: :boolean, default: false + option :verbose, type: :boolean, default: false + option :dry_run, type: :boolean, default: false desc 'remove', 'Remove remote media files' long_desc <<-DESC Removes locally cached copies of media attachments from other servers. @@ -22,20 +24,27 @@ module Mastodon possible. In Sidekiq they will be processed with higher concurrency, but it may impact other operations of the Mastodon server, and it may overload the underlying file storage. + + With the --verbose option, output deleting file ID to console (only when --background false). + + With the --dry-run option, output the number of files to delete without deleting. DESC def remove time_ago = options[:days].days.ago queued = 0 processed = 0 + dry_run = options[:dry_run] ? '(DRY RUN)' : '' - MediaAttachment.where.not(remote_url: '').where.not(file_file_name: nil).where('created_at < ?', time_ago).select(:id).reorder(nil).find_in_batches do |media_attachments| - if options[:background] + if options[:background] + MediaAttachment.where.not(remote_url: '').where.not(file_file_name: nil).where('created_at < ?', time_ago).select(:id).reorder(nil).find_in_batches do |media_attachments| queued += media_attachments.size - Maintenance::UncacheMediaWorker.push_bulk(media_attachments.map(&:id)) - else + Maintenance::UncacheMediaWorker.push_bulk(media_attachments.map(&:id)) unless options[:dry_run] + end + else + MediaAttachment.where.not(remote_url: '').where.not(file_file_name: nil).where('created_at < ?', time_ago).reorder(nil).find_in_batches do |media_attachments| media_attachments.each do |m| - Maintenance::UncacheMediaWorker.new.perform(m) - say('.', :green, false) + Maintenance::UncacheMediaWorker.new.perform(m) unless options[:dry_run] + options[:verbose] ? say(m.id) : say('.', :green, false) processed += 1 end end @@ -44,9 +53,9 @@ module Mastodon say if options[:background] - say("Scheduled the deletion of #{queued} media attachments", :green) + say("Scheduled the deletion of #{queued} media attachments #{dry_run}.", :green) else - say("Removed #{processed} media attachments", :green) + say("Removed #{processed} media attachments #{dry_run}.", :green) end end end diff --git a/spec/lib/formatter_spec.rb b/spec/lib/formatter_spec.rb index d60d24bf68..0c2248cae5 100644 --- a/spec/lib/formatter_spec.rb +++ b/spec/lib/formatter_spec.rb @@ -170,6 +170,29 @@ RSpec.describe Formatter do end end + + describe '#format_spoiler' do + subject { Formatter.instance.format_spoiler(status) } + + context 'given a post containing plain text' do + let(:status) { Fabricate(:status, text: 'text', spoiler_text: 'Secret!', uri: nil) } + + it 'Returns the spoiler text' do + is_expected.to eq 'Secret!' + end + end + + context 'given a post with an emoji shortcode at the start' do + let!(:emoji) { Fabricate(:custom_emoji) } + let(:status) { Fabricate(:status, text: 'text', spoiler_text: ':coolcat: Secret!', uri: nil) } + let(:text) { ':coolcat: Beep boop' } + + it 'converts the shortcode to an image tag' do + is_expected.to match(/