Merge commit 'a324edabdf' into upstream-20250416

This commit is contained in:
KMY 2025-04-24 07:27:26 +09:00
commit 94eb912030
71 changed files with 513 additions and 141 deletions

View file

@ -0,0 +1,66 @@
# frozen_string_literal: true
class Api::V1::Accounts::EndorsementsController < Api::BaseController
include Authorization
before_action -> { authorize_if_got_token! :read, :'read:accounts' }, only: :index
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, except: :index
before_action :require_user!, except: :index
before_action :set_account
before_action :set_endorsed_accounts, only: :index
after_action :insert_pagination_headers, only: :index
def index
cache_if_unauthenticated!
render json: @endorsed_accounts, each_serializer: REST::AccountSerializer
end
def create
AccountPin.find_or_create_by!(account: current_account, target_account: @account)
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
def destroy
pin = AccountPin.find_by(account: current_account, target_account: @account)
pin&.destroy!
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
private
def set_account
@account = Account.find(params[:account_id])
end
def set_endorsed_accounts
@endorsed_accounts = @account.unavailable? ? [] : paginated_endorsed_accounts
end
def paginated_endorsed_accounts
@account.endorsed_accounts.without_suspended.includes(:account_stat, :user).paginate_by_max_id(
limit_param(DEFAULT_ACCOUNTS_LIMIT),
params[:max_id],
params[:since_id]
)
end
def relationships_presenter
AccountRelationshipsPresenter.new([@account], current_user.account_id)
end
def next_path
api_v1_account_endorsements_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
api_v1_account_endorsements_url pagination_params(since_id: pagination_since_id) unless @endorsed_accounts.empty?
end
def pagination_collection
@endorsed_accounts
end
def records_continue?
@endorsed_accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
end
end

View file

@ -17,6 +17,6 @@ class Api::V1::Accounts::FeaturedTagsController < Api::BaseController
end
def set_featured_tags
@featured_tags = @account.suspended? ? [] : @account.featured_tags
@featured_tags = @account.unavailable? ? [] : @account.featured_tags
end
end

View file

@ -1,30 +0,0 @@
# frozen_string_literal: true
class Api::V1::Accounts::PinsController < Api::BaseController
include Authorization
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }
before_action :require_user!
before_action :set_account
def create
AccountPin.find_or_create_by!(account: current_account, target_account: @account)
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
def destroy
pin = AccountPin.find_by(account: current_account, target_account: @account)
pin&.destroy!
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
private
def set_account
@account = Account.find(params[:account_id])
end
def relationships_presenter
AccountRelationshipsPresenter.new([@account], current_user.account_id)
end
end

View file

@ -7,10 +7,6 @@ class Api::V1::ListsController < Api::BaseController
before_action :require_user!
before_action :set_list, except: [:index, :create]
rescue_from ArgumentError do |e|
render json: { error: e.to_s }, status: 422
end
def index
@lists = List.where(account: current_account).all
render json: @lists, each_serializer: REST::ListSerializer

View file

@ -567,9 +567,7 @@ export const AccountHeader: React.FC<{
arr.push({
text: intl.formatMessage(
account.getIn(['relationship', 'endorsed'])
? messages.unendorse
: messages.endorse,
relationship.endorsed ? messages.unendorse : messages.endorse,
),
action: handleEndorseToggle,
});
@ -842,7 +840,7 @@ export const AccountHeader: React.FC<{
badges.push(<GroupBadge key='group-badge' />);
}
account.get('roles', []).forEach((role) => {
account.roles.forEach((role) => {
badges.push(
<Badge
key={`role-badge-${role.get('id')}`}

View file

@ -27,6 +27,9 @@
"account.edit_profile": "Редактиране на профила",
"account.enable_notifications": "Известяване при публикуване от @{name}",
"account.endorse": "Представи в профила",
"account.featured": "Препоръчано",
"account.featured.hashtags": "Хаштагове",
"account.featured.posts": "Публикации",
"account.featured_tags.last_status_at": "Последна публикация на {date}",
"account.featured_tags.last_status_never": "Няма публикации",
"account.follow": "Последване",
@ -293,6 +296,7 @@
"emoji_button.search_results": "Резултати от търсене",
"emoji_button.symbols": "Символи",
"emoji_button.travel": "Пътуване и места",
"empty_column.account_featured": "Списъкът е празен",
"empty_column.account_hides_collections": "Този потребител е избрал да не дава тази информация",
"empty_column.account_suspended": "Спрян акаунт",
"empty_column.account_timeline": "Тук няма публикации!",
@ -377,6 +381,8 @@
"generic.saved": "Запазено",
"getting_started.heading": "Първи стъпки",
"hashtag.admin_moderation": "Отваряне на модериращия интерфейс за #{name}",
"hashtag.browse": "Разглеждане на публикации в #{hashtag}",
"hashtag.browse_from_account": "Разглеждане на публикации от @{name} из #{hashtag}",
"hashtag.column_header.tag_mode.all": "и {additional}",
"hashtag.column_header.tag_mode.any": "или {additional}",
"hashtag.column_header.tag_mode.none": "без {additional}",
@ -390,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} публикация} other {{counter} публикации}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} публикация} other {{counter} публикации}} днес",
"hashtag.follow": "Следване на хаштаг",
"hashtag.mute": "Заглушаване на #{hashtag}",
"hashtag.unfollow": "Спиране на следване на хаштаг",
"hashtags.and_other": "…и {count, plural, other {# още}}",
"hints.profiles.followers_may_be_missing": "Последователи за този профил може да липсват.",

View file

@ -27,6 +27,9 @@
"account.edit_profile": "Edita el perfil",
"account.enable_notifications": "Notifica'm els tuts de @{name}",
"account.endorse": "Recomana en el perfil",
"account.featured": "Destacat",
"account.featured.hashtags": "Etiquetes",
"account.featured.posts": "Publicacions",
"account.featured_tags.last_status_at": "Darrer tut el {date}",
"account.featured_tags.last_status_never": "No hi ha tuts",
"account.follow": "Segueix",
@ -293,6 +296,7 @@
"emoji_button.search_results": "Resultats de la cerca",
"emoji_button.symbols": "Símbols",
"emoji_button.travel": "Viatges i llocs",
"empty_column.account_featured": "Aquesta llista està buida",
"empty_column.account_hides_collections": "Aquest usuari ha decidit no mostrar aquesta informació",
"empty_column.account_suspended": "Compte suspès",
"empty_column.account_timeline": "No hi ha tuts aquí!",
@ -390,6 +394,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} tut} other {{counter} tuts}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} tut} other {{counter} tuts}} avui",
"hashtag.follow": "Segueix l'etiqueta",
"hashtag.mute": "Silencia #{hashtag}",
"hashtag.unfollow": "Deixa de seguir l'etiqueta",
"hashtags.and_other": "…i {count, plural, other {# més}}",
"hints.profiles.followers_may_be_missing": "Es poden haver perdut seguidors d'aquest perfil.",

View file

@ -27,6 +27,9 @@
"account.edit_profile": "Upravit profil",
"account.enable_notifications": "Oznamovat mi příspěvky @{name}",
"account.endorse": "Zvýraznit na profilu",
"account.featured": "Doporučené",
"account.featured.hashtags": "Hashtagy",
"account.featured.posts": "Příspěvky",
"account.featured_tags.last_status_at": "Poslední příspěvek {date}",
"account.featured_tags.last_status_never": "Žádné příspěvky",
"account.follow": "Sledovat",
@ -293,6 +296,7 @@
"emoji_button.search_results": "Výsledky hledání",
"emoji_button.symbols": "Symboly",
"emoji_button.travel": "Cestování a místa",
"empty_column.account_featured": "Tento seznam je prázdný",
"empty_column.account_hides_collections": "Tento uživatel se rozhodl tuto informaci nezveřejňovat",
"empty_column.account_suspended": "Účet je pozastaven",
"empty_column.account_timeline": "Nejsou tu žádné příspěvky!",
@ -377,6 +381,8 @@
"generic.saved": "Uloženo",
"getting_started.heading": "Začínáme",
"hashtag.admin_moderation": "Otevřít moderátorské rozhraní pro #{name}",
"hashtag.browse": "Procházet příspěvky na #{hashtag}",
"hashtag.browse_from_account": "Procházet příspěvky od @{name} v #{hashtag}",
"hashtag.column_header.tag_mode.all": "a {additional}",
"hashtag.column_header.tag_mode.any": "nebo {additional}",
"hashtag.column_header.tag_mode.none": "bez {additional}",
@ -390,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} příspěvek} few {{counter} příspěvky} other {{counter} příspěvků}}",
"hashtag.counter_by_uses_today": "Dnes {count, plural, one {{counter} příspěvek} few {{counter} příspěvky} other {{counter} příspěvků}}",
"hashtag.follow": "Sledovat hashtag",
"hashtag.mute": "Skrýt #{hashtag}",
"hashtag.unfollow": "Přestat sledovat hashtag",
"hashtags.and_other": "…a {count, plural, one {# další} few {# další} other {# dalších}}",
"hints.profiles.followers_may_be_missing": "Sledující mohou pro tento profil chybět.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Gemt",
"getting_started.heading": "Startmenu",
"hashtag.admin_moderation": "Åbn modereringsbrugerflade for #{name}",
"hashtag.browse": "Gennemse indlæg i #{hashtag}",
"hashtag.browse_from_account": "Gennemse indlæg fra @{name} i #{hashtag}",
"hashtag.column_header.tag_mode.all": "og {additional}",
"hashtag.column_header.tag_mode.any": "eller {additional}",
"hashtag.column_header.tag_mode.none": "uden {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}} i dag",
"hashtag.follow": "Følg etiket",
"hashtag.mute": "Tavsgør #{hashtag}",
"hashtag.unfollow": "Stop med at følge etiket",
"hashtags.and_other": "…og {count, plural, one {}other {# flere}}",
"hints.profiles.followers_may_be_missing": "Der kan mangle følgere for denne profil.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Gespeichert",
"getting_started.heading": "Auf gehts!",
"hashtag.admin_moderation": "#{name} moderieren",
"hashtag.browse": "Beiträge mit #{hashtag} suchen",
"hashtag.browse_from_account": "Beiträge von @{name} mit #{hashtag} suchen",
"hashtag.column_header.tag_mode.all": "und {additional}",
"hashtag.column_header.tag_mode.any": "oder {additional}",
"hashtag.column_header.tag_mode.none": "ohne {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}} heute",
"hashtag.follow": "Hashtag folgen",
"hashtag.mute": "#{hashtag} stummschalten",
"hashtag.unfollow": "Hashtag entfolgen",
"hashtags.and_other": "… und {count, plural, one{# weiterer} other {# weitere}}",
"hints.profiles.followers_may_be_missing": "Möglicherweise werden für dieses Profil nicht alle Follower angezeigt.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Guardado",
"getting_started.heading": "Inicio de Mastodon",
"hashtag.admin_moderation": "Abrir interface de moderación para #{name}",
"hashtag.browse": "Ver publicaciones con #{hashtag}",
"hashtag.browse_from_account": "Ver publicaciones de @{name} con #{hashtag}",
"hashtag.column_header.tag_mode.all": "y {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sin {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} mensaje} other {{counter} mensajes}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} mensaje} other {{counter} mensajes}} hoy",
"hashtag.follow": "Seguir etiqueta",
"hashtag.mute": "Silenciar #{hashtag}",
"hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}",
"hints.profiles.followers_may_be_missing": "Es posible que falten seguidores de este perfil.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Guardado",
"getting_started.heading": "Primeros pasos",
"hashtag.admin_moderation": "Abrir interfaz de moderación para #{name}",
"hashtag.browse": "Explorar publicaciones en #{hashtag}",
"hashtag.browse_from_account": "Explorar publicaciones desde @{name} en #{hashtag}",
"hashtag.column_header.tag_mode.all": "y {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sin {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}} hoy",
"hashtag.follow": "Seguir etiqueta",
"hashtag.mute": "Silenciar #{hashtag}",
"hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}",
"hints.profiles.followers_may_be_missing": "Puede que no se muestren todos los seguidores de este perfil.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Guardado",
"getting_started.heading": "Primeros pasos",
"hashtag.admin_moderation": "Abrir interfaz de moderación para #{name}",
"hashtag.browse": "Explorar publicaciones en #{hashtag}",
"hashtag.browse_from_account": "Explorar publicaciones desde @{name} en #{hashtag}",
"hashtag.column_header.tag_mode.all": "y {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sin {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}} hoy",
"hashtag.follow": "Seguir etiqueta",
"hashtag.mute": "Silenciar #{hashtag}",
"hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}",
"hints.profiles.followers_may_be_missing": "Puede que no se muestren todos los seguidores de este perfil.",

View file

@ -380,6 +380,8 @@
"generic.saved": "Tallennettu",
"getting_started.heading": "Näin pääset alkuun",
"hashtag.admin_moderation": "Avaa tunnisteen #{name} moderointinäkymä",
"hashtag.browse": "Selaa julkaisuja tunnisteella #{hashtag}",
"hashtag.browse_from_account": "Selaa julkaisuja käyttäjältä @{name} tunnisteella #{hashtag}",
"hashtag.column_header.tag_mode.all": "ja {additional}",
"hashtag.column_header.tag_mode.any": "tai {additional}",
"hashtag.column_header.tag_mode.none": "ilman {additional}",
@ -393,6 +395,7 @@
"hashtag.counter_by_uses": "{count, plural, one{{counter} julkaisu} other {{counter} julkaisua}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} julkaisu} other {{counter} julkaisua}} tänään",
"hashtag.follow": "Seuraa aihetunnistetta",
"hashtag.mute": "Mykistä #{hashtag}",
"hashtag.unfollow": "Lopeta aihetunnisteen seuraaminen",
"hashtags.and_other": "…ja {count, plural, other {# lisää}}",
"hints.profiles.followers_may_be_missing": "Tämän profiilin seuraajia saattaa puuttua.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Goymt",
"getting_started.heading": "At byrja",
"hashtag.admin_moderation": "Lat umsjónarmarkamót upp fyri #{name}",
"hashtag.browse": "Blaða gjøgnum postar í #{hashtag}",
"hashtag.browse_from_account": "Blaða gjøgnum postar frá @{name} í #{hashtag}",
"hashtag.column_header.tag_mode.all": "og {additional}",
"hashtag.column_header.tag_mode.any": "ella {additional}",
"hashtag.column_header.tag_mode.none": "uttan {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} postur} other {{counter} postar}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} postur} other {{counter} postar}} í dag",
"hashtag.follow": "Fylg frámerki",
"hashtag.mute": "Doyv @#{hashtag}",
"hashtag.unfollow": "Gevst at fylgja frámerki",
"hashtags.and_other": "…og {count, plural, other {# afturat}}",
"hints.profiles.followers_may_be_missing": "Fylgjarar hjá hesum vanganum kunnu mangla.",

View file

@ -27,6 +27,9 @@
"account.edit_profile": "Modifier le profil",
"account.enable_notifications": "Me notifier quand @{name} publie",
"account.endorse": "Inclure sur profil",
"account.featured": "En vedette",
"account.featured.hashtags": "Hashtags",
"account.featured.posts": "Messages",
"account.featured_tags.last_status_at": "Dernière publication {date}",
"account.featured_tags.last_status_never": "Aucune publication",
"account.follow": "Suivre",
@ -64,6 +67,7 @@
"account.statuses_counter": "{count, plural, one {{counter} message} other {{counter} messages}}",
"account.unblock": "Débloquer @{name}",
"account.unblock_domain": "Débloquer le domaine {domain}",
"account.unblock_domain_short": "Débloquer",
"account.unblock_short": "Débloquer",
"account.unendorse": "Ne pas inclure sur profil",
"account.unfollow": "Ne plus suivre",
@ -292,6 +296,7 @@
"emoji_button.search_results": "Résultats",
"emoji_button.symbols": "Symboles",
"emoji_button.travel": "Voyage et lieux",
"empty_column.account_featured": "Cette liste est vide",
"empty_column.account_hides_collections": "Cet utilisateur·ice préfère ne pas rendre publiques ces informations",
"empty_column.account_suspended": "Compte suspendu",
"empty_column.account_timeline": "Aucune publication ici!",
@ -904,6 +909,10 @@
"video.expand": "Agrandir la vidéo",
"video.fullscreen": "Plein écran",
"video.hide": "Masquer la vidéo",
"video.mute": "Couper le son",
"video.pause": "Pause",
"video.play": "Lecture"
"video.play": "Lecture",
"video.unmute": "Rétablir le son",
"video.volume_down": "Baisser le volume",
"video.volume_up": "Augmenter le volume"
}

View file

@ -27,6 +27,9 @@
"account.edit_profile": "Modifier le profil",
"account.enable_notifications": "Me notifier quand @{name} publie quelque chose",
"account.endorse": "Recommander sur votre profil",
"account.featured": "En vedette",
"account.featured.hashtags": "Hashtags",
"account.featured.posts": "Messages",
"account.featured_tags.last_status_at": "Dernier message le {date}",
"account.featured_tags.last_status_never": "Aucun message",
"account.follow": "Suivre",
@ -64,6 +67,7 @@
"account.statuses_counter": "{count, plural, one {{counter} message} other {{counter} messages}}",
"account.unblock": "Débloquer @{name}",
"account.unblock_domain": "Débloquer le domaine {domain}",
"account.unblock_domain_short": "Débloquer",
"account.unblock_short": "Débloquer",
"account.unendorse": "Ne plus recommander sur le profil",
"account.unfollow": "Ne plus suivre",
@ -292,6 +296,7 @@
"emoji_button.search_results": "Résultats de la recherche",
"emoji_button.symbols": "Symboles",
"emoji_button.travel": "Voyage et lieux",
"empty_column.account_featured": "Cette liste est vide",
"empty_column.account_hides_collections": "Cet utilisateur·ice préfère ne pas rendre publiques ces informations",
"empty_column.account_suspended": "Compte suspendu",
"empty_column.account_timeline": "Aucun message ici !",
@ -904,6 +909,10 @@
"video.expand": "Agrandir la vidéo",
"video.fullscreen": "Plein écran",
"video.hide": "Masquer la vidéo",
"video.mute": "Couper le son",
"video.pause": "Pause",
"video.play": "Lecture"
"video.play": "Lecture",
"video.unmute": "Rétablir le son",
"video.volume_down": "Baisser le volume",
"video.volume_up": "Augmenter le volume"
}

View file

@ -381,6 +381,8 @@
"generic.saved": "Gardado",
"getting_started.heading": "Primeiros pasos",
"hashtag.admin_moderation": "Abrir interface de moderación para ##{name}",
"hashtag.browse": "Ver publicacións con #{hashtag}",
"hashtag.browse_from_account": "Ver as publicacións de @{name} con #{hashtag}",
"hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sen {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} publicación} other {{counter} publicacións}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} publicación} other {{counter} publicacións}} hoxe",
"hashtag.follow": "Seguir cancelo",
"hashtag.mute": "Acalar a #{hashtag}",
"hashtag.unfollow": "Deixar de seguir cancelo",
"hashtags.and_other": "…e {count, plural, one {}other {# máis}}",
"hints.profiles.followers_may_be_missing": "Poderían faltar seguidoras deste perfil.",

View file

@ -27,6 +27,9 @@
"account.edit_profile": "עריכת פרופיל",
"account.enable_notifications": "שלח לי התראות כש@{name} מפרסם",
"account.endorse": "קדם את החשבון בפרופיל",
"account.featured": "מומלץ",
"account.featured.hashtags": "תגיות",
"account.featured.posts": "הודעות",
"account.featured_tags.last_status_at": "חצרוץ אחרון בתאריך {date}",
"account.featured_tags.last_status_never": "אין חצרוצים",
"account.follow": "לעקוב",
@ -293,6 +296,7 @@
"emoji_button.search_results": "תוצאות חיפוש",
"emoji_button.symbols": "סמלים",
"emoji_button.travel": "טיולים ואתרים",
"empty_column.account_featured": "הרשימה ריקה",
"empty_column.account_hides_collections": "המשתמש.ת בחר.ה להסתיר מידע זה",
"empty_column.account_suspended": "חשבון מושעה",
"empty_column.account_timeline": "אין עדיין אף הודעה!",
@ -377,6 +381,8 @@
"generic.saved": "נשמר",
"getting_started.heading": "בואו נתחיל",
"hashtag.admin_moderation": "פתיחת ממשק פיקוח דיון עבור #{name}",
"hashtag.browse": "קריאת הודעות תחת #{hashtag}",
"hashtag.browse_from_account": "קריאת הודעות מאת @{name} תחת #{hashtag}",
"hashtag.column_header.tag_mode.all": "ו- {additional}",
"hashtag.column_header.tag_mode.any": "או {additional}",
"hashtag.column_header.tag_mode.none": "ללא {additional}",
@ -390,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {הודעה אחת} two {הודעותיים} many {{counter} הודעות} other {{counter} הודעות}}",
"hashtag.counter_by_uses_today": "{count, plural, one {הודעה אחת} two {הודעותיים} many {{counter} הודעות} other {{counter} הודעות}} היום",
"hashtag.follow": "לעקוב אחרי תגית",
"hashtag.mute": "להשתיק את #{hashtag}",
"hashtag.unfollow": "להפסיק לעקוב אחרי תגית",
"hashtags.and_other": "…{count, plural,other {ועוד #}}",
"hints.profiles.followers_may_be_missing": "יתכן כי עוקבים של פרופיל זה חסרים.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Elmentve",
"getting_started.heading": "Első lépések",
"hashtag.admin_moderation": "Moderációs felület megnyitása a következőhöz: #{name}",
"hashtag.browse": "Bejegyzések ebben: #{hashtag}",
"hashtag.browse_from_account": "@{name} bejegyzéseinek tallózása ebben: #{hashtag}",
"hashtag.column_header.tag_mode.all": "és {additional}",
"hashtag.column_header.tag_mode.any": "vagy {additional}",
"hashtag.column_header.tag_mode.none": "{additional} nélkül",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} bejegyzés} other {{counter} bejegyzés}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} bejegyzés} other {{counter} bejegyzés}} ma",
"hashtag.follow": "Hashtag követése",
"hashtag.mute": "#{hashtag} némítása",
"hashtag.unfollow": "Hashtag követésének megszüntetése",
"hashtags.and_other": "…és {count, plural, other {# további}}",
"hints.profiles.followers_may_be_missing": "A profil követői lehet, hogy hiányoznak.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Vistað",
"getting_started.heading": "Komast í gang",
"hashtag.admin_moderation": "Opna umsjónarviðmót fyrir #{name}",
"hashtag.browse": "Skoða færslur með #{hashtag}",
"hashtag.browse_from_account": "Skoða færslur frá @{name} í #{hashtag}",
"hashtag.column_header.tag_mode.all": "og {additional}",
"hashtag.column_header.tag_mode.any": "eða {additional}",
"hashtag.column_header.tag_mode.none": "án {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} færsla} other {{counter} færslur}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} færsla} other {{counter} færslur}} í dag",
"hashtag.follow": "Fylgjast með myllumerki",
"hashtag.mute": "Þagga #{hashtag}",
"hashtag.unfollow": "Hætta að fylgjast með myllumerki",
"hashtags.and_other": "…og {count, plural, other {# til viðbótar}}",
"hints.profiles.followers_may_be_missing": "Fylgjendur frá þessum notanda gæti vantað.",

View file

@ -74,7 +74,7 @@
"alert.rate_limited.title": "Aktum s talast",
"alert.unexpected.message": "Yeḍra-d unezri ur netturaǧu ara.",
"alert.unexpected.title": "Ayhuh!",
"alt_text_badge.title": "Aḍris asegzan",
"alt_text_badge.title": "Aḍris amlellay",
"alt_text_modal.add_alt_text": "Rnu aḍris amlellay",
"alt_text_modal.add_text_from_image": "Rnu aḍris amlellay seg tugna",
"alt_text_modal.cancel": "Semmet",
@ -172,6 +172,7 @@
"confirmations.logout.title": "Tebɣiḍ ad teffɣeḍ ssya?",
"confirmations.missing_alt_text.confirm": "Rnu aḍris amlellay",
"confirmations.missing_alt_text.secondary": "Suffeɣ akken yebɣu yili",
"confirmations.missing_alt_text.title": "Rnu aḍris amlellay?",
"confirmations.mute.confirm": "Sgugem",
"confirmations.redraft.confirm": "Kkes sakin ɛiwed tira",
"confirmations.reply.confirm": "Err",
@ -259,8 +260,11 @@
"follow_request.reject": "Agi",
"follow_suggestions.dismiss": "Dayen ur t-id-skan ara",
"follow_suggestions.featured_longer": "Yettwafraned s ufus sɣur agraw n {domain}",
"follow_suggestions.friends_of_friends_longer": "D aɣeṛfan ar wid i teṭṭafareḍ",
"follow_suggestions.hints.featured": "Amaɣnu-a ifren-it-id wegraw n {domain} s ufus.",
"follow_suggestions.popular_suggestion_longer": "Yettwassen deg {domain}",
"follow_suggestions.hints.friends_of_friends": "Amaɣnu-a d aɣeṛfan ɣer wid i teṭṭafaṛeḍ.",
"follow_suggestions.popular_suggestion": "Asumer aɣeṛfan",
"follow_suggestions.popular_suggestion_longer": "D aɣeṛfan deg {domain}",
"follow_suggestions.view_all": "Wali-ten akk",
"follow_suggestions.who_to_follow": "Ad tḍefreḍ?",
"followed_tags": "Ihacṭagen yettwaḍfaren",

View file

@ -27,6 +27,9 @@
"account.edit_profile": "프로필 편집",
"account.enable_notifications": "@{name} 의 게시물 알림 켜기",
"account.endorse": "프로필에 추천하기",
"account.featured": "추천",
"account.featured.hashtags": "해시태그",
"account.featured.posts": "게시물",
"account.featured_tags.last_status_at": "{date}에 마지막으로 게시",
"account.featured_tags.last_status_never": "게시물 없음",
"account.follow": "팔로우",
@ -64,6 +67,7 @@
"account.statuses_counter": "{count, plural, other {게시물 {counter}개}}",
"account.unblock": "차단 해제",
"account.unblock_domain": "도메인 {domain} 차단 해제",
"account.unblock_domain_short": "차단 해제",
"account.unblock_short": "차단 해제",
"account.unendorse": "프로필에 추천하지 않기",
"account.unfollow": "언팔로우",
@ -292,6 +296,7 @@
"emoji_button.search_results": "검색 결과",
"emoji_button.symbols": "기호",
"emoji_button.travel": "여행과 장소",
"empty_column.account_featured": "목록이 비어있습니다",
"empty_column.account_hides_collections": "이 사용자는 이 정보를 사용할 수 없도록 설정했습니다",
"empty_column.account_suspended": "계정 정지됨",
"empty_column.account_timeline": "이곳에는 게시물이 없습니다!",
@ -376,6 +381,8 @@
"generic.saved": "저장됨",
"getting_started.heading": "시작하기",
"hashtag.admin_moderation": "#{name}에 대한 중재화면 열기",
"hashtag.browse": "#{hashtag}의 게시물 둘러보기",
"hashtag.browse_from_account": "@{name}의 #{hashtag} 게시물 둘러보기",
"hashtag.column_header.tag_mode.all": "및 {additional}",
"hashtag.column_header.tag_mode.any": "또는 {additional}",
"hashtag.column_header.tag_mode.none": "{additional}를 제외하고",
@ -389,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, other {게시물 {counter}개}}",
"hashtag.counter_by_uses_today": "오늘 {count, plural, other {{counter} 개의 게시물}}",
"hashtag.follow": "해시태그 팔로우",
"hashtag.mute": "#{hashtag} 뮤트",
"hashtag.unfollow": "해시태그 팔로우 해제",
"hashtags.and_other": "…및 {count, plural,other {#개}}",
"hints.profiles.followers_may_be_missing": "이 프로필의 팔로워 목록은 일부 누락되었을 수 있습니다.",

View file

@ -1,5 +1,5 @@
{
"about.blocks": "Pelayan yang disederhanakan",
"about.blocks": "Pelayan yang diselaraskan",
"about.contact": "Hubungi:",
"about.disclaimer": "Mastodon ialah perisian sumber terbuka percuma, dan merupakan tanda dagangan Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Sebab tidak tersedia",
@ -11,13 +11,13 @@
"about.not_available": "Maklumat ini belum tersedia pada pelayan ini.",
"about.powered_by": "Media sosial terpencar yang dikuasakan oleh {mastodon}",
"about.rules": "Peraturan pelayan",
"account.account_note_header": "Personal note",
"account.account_note_header": "Catatan peribadi",
"account.add_or_remove_from_list": "Tambah atau Buang dari senarai",
"account.badges.bot": "Bot",
"account.badges.bot": "Automatik",
"account.badges.group": "Kumpulan",
"account.block": "Sekat @{name}",
"account.block_domain": "Sekat domain {domain}",
"account.block_short": "Malay",
"account.block_short": "Sekat",
"account.blocked": "Disekat",
"account.cancel_follow_request": "Batalkan permintaan ikut",
"account.copy": "Salin pautan ke profil",
@ -33,24 +33,24 @@
"account.follow_back": "Ikut balik",
"account.followers": "Pengikut",
"account.followers.empty": "Belum ada yang mengikuti pengguna ini.",
"account.followers_counter": "{count, plural, one {{counter} Diikuti} other {{counter} Diikuti}}",
"account.following": "Mengikuti",
"account.following_counter": "{count, plural, other {{counter} following}}",
"account.followers_counter": "{count, plural, one {{counter} pengikut} other {{counter} pengikut}}",
"account.following": "Ikutan",
"account.following_counter": "{count, plural, other {{counter} ikutan}}",
"account.follows.empty": "Pengguna ini belum mengikuti sesiapa.",
"account.go_to_profile": "Pergi ke profil",
"account.hide_reblogs": "Sembunyikan galakan daripada @{name}",
"account.in_memoriam": "Dalam Memoriam.",
"account.joined_short": "Menyertai",
"account.languages": "Tukar bahasa yang dilanggan",
"account.in_memoriam": "Dalam kenangan.",
"account.joined_short": "Tarikh penyertaan",
"account.languages": "Tukar bahasa langganan",
"account.link_verified_on": "Pemilikan pautan ini telah disemak pada {date}",
"account.locked_info": "Status privasi akaun ini dikunci. Pemiliknya menyaring sendiri siapa yang boleh mengikutinya.",
"account.locked_info": "Taraf privasi akaun ini dikunci. Pemiliknya menyaring sendiri siapa yang boleh mengikutinya.",
"account.media": "Media",
"account.mention": "Sebut @{name}",
"account.moved_to": "{name} telah menandakan bahawa akaun baru mereka sekarang ialah:",
"account.mute": "Bisukan @{name}",
"account.mute_notifications_short": "Redam pemberitahuan",
"account.mute": "Redamkan @{name}",
"account.mute_notifications_short": "Redamkan pemberitahuan",
"account.mute_short": "Redam",
"account.muted": "Dibisukan",
"account.muted": "Diredamkan",
"account.mutual": "Rakan kongsi",
"account.no_bio": "Tiada penerangan diberikan.",
"account.open_original_page": "Buka halaman asal",
@ -64,12 +64,13 @@
"account.statuses_counter": "{count, plural, other {{counter} siaran}}",
"account.unblock": "Nyahsekat @{name}",
"account.unblock_domain": "Nyahsekat domain {domain}",
"account.unblock_domain_short": "Nyahsekat",
"account.unblock_short": "Nyahsekat",
"account.unendorse": "Jangan tampilkan di profil",
"account.unfollow": "Nyahikut",
"account.unmute": "Nyahbisukan @{name}",
"account.unmute_notifications_short": "Nyahredam notifikasi",
"account.unmute_short": "Nyahbisu",
"account.unmute_notifications_short": "Nyahredamkan pemberitahuan",
"account.unmute_short": "Nyahredam",
"account_note.placeholder": "Klik untuk menambah catatan",
"admin.dashboard.daily_retention": "Kadar pengekalan pengguna mengikut hari selepas mendaftar",
"admin.dashboard.monthly_retention": "Kadar pengekalan pengguna mengikut bulan selepas mendaftar",
@ -115,6 +116,8 @@
"attachments_list.unprocessed": "(belum diproses)",
"audio.hide": "Sembunyikan audio",
"block_modal.remote_users_caveat": "Kami akan meminta pelayan {domain} untuk menghormati keputusan anda. Bagaimanapun, pematuhan tidak dijamin kerana ada pelayan yang mungkin menangani sekatan dengan cara berbeza. Hantaran awam mungkin masih tampak kepada pengguna yang tidak log masuk.",
"block_modal.show_less": "Tunjuk kurang",
"block_modal.show_more": "Tunjuk lebih",
"block_modal.they_cant_mention": "Dia tidak boleh menyebut tentang anda atau mengikut anda.",
"block_modal.they_cant_see_posts": "Dia tidak boleh melihat hantaran anda dan sebaliknya.",
"block_modal.they_will_know": "Dia boleh lihat bahawa dia disekat.",
@ -141,13 +144,13 @@
"closed_registrations_modal.preamble": "Mastodon adalah terpencar, oleh itu di mana-mana anda mencipta akaun anda, anda boleh mengikut dan berinteraksi dengan sesiapa pada pelayan ini. Anda juga boleh hos sendiri!",
"closed_registrations_modal.title": "Mendaftar pada Mastodon",
"column.about": "Perihal",
"column.blocks": "Pengguna yang disekat",
"column.blocks": "Pengguna tersekat",
"column.bookmarks": "Tanda buku",
"column.community": "Garis masa tempatan",
"column.create_list": "Cipta senarai",
"column.direct": "Sebutan peribadi",
"column.directory": "Layari profil",
"column.domain_blocks": "Domain disekat",
"column.domain_blocks": "Domain tersekat",
"column.edit_list": "Sunting senarai",
"column.favourites": "Sukaan",
"column.firehose": "Suapan langsung",
@ -155,7 +158,7 @@
"column.home": "Laman Utama",
"column.list_members": "Urus ahli senarai",
"column.lists": "Senarai",
"column.mutes": "Pengguna yang dibisukan",
"column.mutes": "Pengguna teredam",
"column.notifications": "Pemberitahuan",
"column.pins": "Hantaran disemat",
"column.public": "Garis masa bersekutu",
@ -217,13 +220,21 @@
"confirmations.logout.title": "Log keluar?",
"confirmations.missing_alt_text.confirm": "Tambah teks alternatif",
"confirmations.missing_alt_text.message": "Hantaran anda mempunyai media tanpa teks alternatif. Kandungan anda akan lebih mudah tercapai jika anda menambah keterangan.",
"confirmations.mute.confirm": "Bisukan",
"confirmations.missing_alt_text.secondary": "Hantar saja",
"confirmations.missing_alt_text.title": "Tambah teks alternatif?",
"confirmations.mute.confirm": "Redamkan",
"confirmations.redraft.confirm": "Padam & rangka semula",
"confirmations.redraft.message": "Adakah anda pasti anda ingin memadam hantaran ini dan gubal semula? Sukaan dan galakan akan hilang, dan balasan ke hantaran asal akan menjadi yatim.",
"confirmations.redraft.title": "Padam & gubah semula hantaran?",
"confirmations.reply.confirm": "Balas",
"confirmations.reply.message": "Membalas sekarang akan menulis ganti mesej yang anda sedang karang. Adakah anda pasti anda ingin teruskan?",
"confirmations.reply.title": "Tulis ganti hantaran?",
"confirmations.unfollow.confirm": "Nyahikut",
"confirmations.unfollow.message": "Adakah anda pasti anda ingin nyahikuti {name}?",
"confirmations.unfollow.title": "Berhenti mengikut pengguna?",
"content_warning.hide": "Sorok hantaran",
"content_warning.show": "Tunjuk saja",
"content_warning.show_more": "Tunjuk lebih",
"conversation.delete": "Padam perbualan",
"conversation.mark_as_read": "Tanda sudah dibaca",
"conversation.open": "Lihat perbualan",
@ -240,6 +251,22 @@
"dismissable_banner.community_timeline": "Inilah hantaran awam terkini daripada orang yang akaun dihos oleh {domain}.",
"dismissable_banner.dismiss": "Ketepikan",
"dismissable_banner.explore_statuses": "Hantaran-hantaran dari seluruh alam bersekutu ini sedang sohor. Hantaran terbaharu dengan lebih banyak galakan dan sukaan diberi kedudukan lebih tinggi.",
"dismissable_banner.public_timeline": "Hantaran-hantaran awam terkini ini dari pengguna alam bersekutu yang diikuti oleh pengguna dari {domain}.",
"domain_block_modal.block": "Sekat pelayan",
"domain_block_modal.block_account_instead": "Sekat @{name} sahaja",
"domain_block_modal.they_can_interact_with_old_posts": "Pengguna dari pelayan ini boleh berinteraksi dengan hantaran lama anda.",
"domain_block_modal.they_cant_follow": "Pengguna dari pelayan ini tidak boleh mengikuti anda.",
"domain_block_modal.they_wont_know": "Dia tidak akan tahu bahawa dia telah disekat.",
"domain_block_modal.title": "Sekat domain?",
"domain_block_modal.you_will_lose_num_followers": "Anda akan kehilangan {followersCount, plural, other {{followersCountDisplay} pengikut}} dan {followingCount, plural, other {{followingCountDisplay} ikutan}}.",
"domain_block_modal.you_will_lose_relationships": "Anda akan kehilangan semua pengikut dan ikutan anda dari pelayan ini.",
"domain_block_modal.you_wont_see_posts": "Anda tidak akan melihat hantaran atau pemberitahuan dari pengguna pada pelayan ini.",
"domain_pill.activitypub_lets_connect": "Hal ini membolehkan anda berhubung dan berinteraksi bukan sahaja dengan pengguna Mastodon tetapi melintasi pelbagai aplikasi sosial juga.",
"domain_pill.activitypub_like_language": "ActivityPub adalah seperti bahasa yang digunakan oleh Mastodon untuk berhubung dengan jaringan sosial lain.",
"domain_pill.server": "Pelayan",
"domain_pill.your_handle": "Pemegang anda:",
"domain_pill.your_server": "Rumah maya anda, tempatnya hantaran anda disimpan. Tidak berkenan dengan yang ini? Pindah antara pelayan pada bila-bila masa dan bawa pengikut anda sekali.",
"domain_pill.your_username": "Pengenal unik anda pada pelayan ini. Anda mungkin akan berkongsi nama pengguna dengan pengguna daripada pelayan lain.",
"embed.instructions": "Benam hantaran ini di laman sesawang anda dengan menyalin kod berikut.",
"embed.preview": "Begini rupanya nanti:",
"emoji_button.activity": "Aktiviti",
@ -257,6 +284,7 @@
"emoji_button.search_results": "Hasil carian",
"emoji_button.symbols": "Simbol",
"emoji_button.travel": "Kembara & Tempat",
"empty_column.account_featured": "Senarai ini kosong",
"empty_column.account_hides_collections": "Pengguna ini telah memilih untuk tidak menyediakan informasi tersebut",
"empty_column.account_suspended": "Akaun digantung",
"empty_column.account_timeline": "Tiada hantaran di sini!",
@ -274,7 +302,7 @@
"empty_column.hashtag": "Belum ada apa-apa dengan tanda pagar ini.",
"empty_column.home": "Garis masa laman utama anda kosong! Ikuti lebih ramai orang untuk mengisinya. {suggestions}",
"empty_column.list": "Tiada apa-apa di senarai ini lagi. Apabila ahli senarai ini menerbitkan hantaran baharu, ia akan dipaparkan di sini.",
"empty_column.mutes": "Anda belum membisukan sesiapa.",
"empty_column.mutes": "Anda belum meredamkan sesiapa.",
"empty_column.notifications": "Anda belum ada sebarang pemberitahuan. Apabila orang lain berinteraksi dengan anda, ia akan muncul di sini.",
"empty_column.public": "Tiada apa-apa di sini! Tulis sesuatu secara awam, atau ikuti pengguna daripada pelayan lain secara manual untuk mengisinya",
"error.unexpected_crash.explanation": "Disebabkan pepijat dalam kod kami atau masalah keserasian pelayar, halaman ini tidak dapat dipaparkan dengan betulnya.",
@ -341,6 +369,7 @@
"hashtag.counter_by_uses": "{count, plural, other {{counter} siaran}}",
"hashtag.counter_by_uses_today": "{count, plural, other {{counter} siaran}} hari ini",
"hashtag.follow": "Ikuti hashtag",
"hashtag.mute": "Redamkan #{hashtag}",
"hashtag.unfollow": "Nyahikut tanda pagar",
"hashtags.and_other": "…dan {count, plural, other {# more}}",
"home.column_settings.show_reblogs": "Tunjukkan galakan",
@ -361,7 +390,7 @@
"intervals.full.hours": "{number, plural, other {# jam}}",
"intervals.full.minutes": "{number, plural, other {# minit}}",
"keyboard_shortcuts.back": "to navigate back",
"keyboard_shortcuts.blocked": "to open blocked users list",
"keyboard_shortcuts.blocked": "Buka senarai pengguna tersekat",
"keyboard_shortcuts.boost": "to boost",
"keyboard_shortcuts.column": "Tumpu pada lajur",
"keyboard_shortcuts.compose": "to focus the compose textarea",
@ -378,7 +407,7 @@
"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.muted": "Buka senarai pengguna teredam",
"keyboard_shortcuts.my_profile": "to open your profile",
"keyboard_shortcuts.notifications": "to open notifications column",
"keyboard_shortcuts.open_media": "to open media",
@ -408,24 +437,27 @@
"load_pending": "{count, plural, one {# item baharu} other {# item baharu}}",
"loading_indicator.label": "Memuatkan…",
"moved_to_account_banner.text": "Akaun anda {disabledAccount} kini dinyahdayakan kerana anda berpindah ke {movedToAccount}.",
"mute_modal.indefinite": "Sehingga dinyahredamkan",
"mute_modal.they_wont_know": "Dia tidak akan tahu bahawa dia telah diredam.",
"mute_modal.title": "Redamkan pengguna?",
"navigation_bar.about": "Perihal",
"navigation_bar.advanced_interface": "Buka dalam antara muka web lanjutan",
"navigation_bar.blocks": "Pengguna yang disekat",
"navigation_bar.blocks": "Pengguna tersekat",
"navigation_bar.bookmarks": "Tanda buku",
"navigation_bar.community_timeline": "Garis masa tempatan",
"navigation_bar.compose": "Karang hantaran baharu",
"navigation_bar.direct": "Sebutan peribadi",
"navigation_bar.discover": "Teroka",
"navigation_bar.domain_blocks": "Domain disekat",
"navigation_bar.domain_blocks": "Domain tersekat",
"navigation_bar.explore": "Teroka",
"navigation_bar.favourites": "Sukaan",
"navigation_bar.filters": "Perkataan yang dibisukan",
"navigation_bar.filters": "Perkataan teredam",
"navigation_bar.follow_requests": "Permintaan ikutan",
"navigation_bar.followed_tags": "Ikuti hashtag",
"navigation_bar.follows_and_followers": "Ikutan dan pengikut",
"navigation_bar.lists": "Senarai",
"navigation_bar.logout": "Log keluar",
"navigation_bar.mutes": "Pengguna yang dibisukan",
"navigation_bar.mutes": "Pengguna teredam",
"navigation_bar.opened_in_classic_interface": "Kiriman, akaun dan halaman tertentu yang lain dibuka secara lalai di antara muka web klasik.",
"navigation_bar.personal": "Peribadi",
"navigation_bar.pins": "Hantaran disemat",
@ -445,6 +477,8 @@
"notification.own_poll": "Undian anda telah tamat",
"notification.reblog": "{name} menggalak hantaran anda",
"notification.reblog.name_and_others_with_link": "{name} dan <a>{count, plural, other {# orang lain}}</a> telah galakkan hantaran anda",
"notification.relationships_severance_event.domain_block": "Pentadbir dari {from} telah menyekat {target} termasuk {followersCount} pengikut anda dan {followingCount, plural, other {# akaun}} ikutan anda.",
"notification.relationships_severance_event.user_domain_block": "Anda telah menyekat {target} termasuk {followersCount} pengikut anda dan {followingCount, plural, other {# akaun}} ikutan anda.",
"notification.status": "{name} baru sahaja mengirim hantaran",
"notification.update": "{name} menyunting hantaran",
"notifications.clear": "Buang pemberitahuan",
@ -524,7 +558,7 @@
"reply_indicator.cancel": "Batal",
"reply_indicator.poll": "Undian",
"report.block": "Sekat",
"report.block_explanation": "Anda tidak akan melihat hantaran mereka. Mereka tidak dapat melihat hantaran anda atau mengikuti anda. Mereka akan sedar bahawa mereka disekat.",
"report.block_explanation": "Anda tidak akan melihat hantarannya. Dia tidak akan dapat melihat hantaran anda atau mengikuti anda. Dia akan sedar bahawa dia disekat.",
"report.categories.legal": "Sah",
"report.categories.other": "Lain-lain",
"report.categories.spam": "Spam",
@ -537,7 +571,7 @@
"report.comment.title": "Adakah ada hal-hal lain yang perlu kita ketahui?",
"report.forward": "Panjangkan ke {target}",
"report.forward_hint": "Akaun ini daripada pelayan lain. Hantar salinan laporan yang ditanpanamakan ke sana juga?",
"report.mute": "Bisukan",
"report.mute": "Redam",
"report.mute_explanation": "Anda tidak akan melihat siaran mereka. Mereka masih boleh mengikuti dan melihat siaran anda dan tidak akan mengetahui bahawa mereka telah dibisukan.",
"report.next": "Seterusnya",
"report.placeholder": "Ulasan tambahan",
@ -621,8 +655,8 @@
"status.media_hidden": "Media disembunyikan",
"status.mention": "Sebut @{name}",
"status.more": "Lagi",
"status.mute": "Bisukan @{name}",
"status.mute_conversation": "Bisukan perbualan",
"status.mute": "Redamkan @{name}",
"status.mute_conversation": "Redamkan perbualan",
"status.open": "Kembangkan hantaran ini",
"status.pin": "Semat di profil",
"status.pinned": "Hantaran disemat",
@ -648,7 +682,7 @@
"status.translate": "Menterjemah",
"status.translated_from_with": "Diterjemah daripada {lang} dengan {provider}",
"status.uncached_media_warning": "Pratonton tidak tersedia",
"status.unmute_conversation": "Nyahbisukan perbualan",
"status.unmute_conversation": "Nyahredamkan perbualan",
"status.unpin": "Nyahsemat daripada profil",
"subscribed_languages.lead": "Hanya hantaran dalam bahasa-bahasa terpilih akan dipaparkan pada garis masa rumah dan senarai selepas perubahan. Pilih tiada untuk menerima hantaran dalam semua bahasa.",
"subscribed_languages.save": "Simpan perubahan",
@ -682,6 +716,8 @@
"video.expand": "Besarkan video",
"video.fullscreen": "Skrin penuh",
"video.hide": "Sembunyikan video",
"video.mute": "Redam",
"video.pause": "Jeda",
"video.play": "Main"
"video.play": "Main",
"video.unmute": "Nyahredam"
}

View file

@ -27,6 +27,9 @@
"account.edit_profile": "編輯個人資料",
"account.enable_notifications": "佇 {name} PO文ê時通知我",
"account.endorse": "用個人資料推薦對方",
"account.featured": "精選ê",
"account.featured.hashtags": "Hashtag",
"account.featured.posts": "PO文",
"account.featured_tags.last_status_at": "頂kái tī {date} Po文",
"account.featured_tags.last_status_never": "無PO文",
"account.follow": "跟tuè",
@ -293,6 +296,7 @@
"emoji_button.search_results": "Tshiau-tshuē ê結果",
"emoji_button.symbols": "符號",
"emoji_button.travel": "旅行kap地點",
"empty_column.account_featured": "Tsit ê列單是空ê",
"empty_column.account_hides_collections": "Tsit位用者選擇無愛公開tsit ê資訊",
"empty_column.account_suspended": "口座已經受停止",
"empty_column.account_timeline": "Tsia無PO文",
@ -377,6 +381,8 @@
"generic.saved": "儲存ah",
"getting_started.heading": "開始用",
"hashtag.admin_moderation": "Phah開 #{name} ê管理界面",
"hashtag.browse": "瀏覽佇 #{hashtag} ê PO文",
"hashtag.browse_from_account": "瀏覽 @{name} 佇 #{hashtag} 所寫ê PO文",
"hashtag.column_header.tag_mode.all": "kap {additional}",
"hashtag.column_header.tag_mode.any": "á是 {additional}",
"hashtag.column_header.tag_mode.none": "無需要 {additional}",
@ -390,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} 篇} other {{counter} 篇}} PO文",
"hashtag.counter_by_uses_today": "Kin-á日有 {count, plural, one {{counter} 篇} other {{counter} 篇}} PO文",
"hashtag.follow": "跟tuè hashtag",
"hashtag.mute": "消音 #{hashtag}",
"hashtag.unfollow": "取消跟tuè hashtag",
"hashtags.and_other": "……kap 其他 {count, plural, other {# ê}}",
"hints.profiles.followers_may_be_missing": "Tsit ê個人資料ê跟tuè者資訊可能有落勾ê。",
@ -517,8 +524,70 @@
"mute_modal.hide_options": "Khàm掉選項",
"mute_modal.indefinite": "直到我取消消音",
"mute_modal.show_options": "顯示選項",
"mute_modal.they_can_mention_and_follow": "In iáu ē當提起á是跟tuè lí毋過lí看buē著in。",
"mute_modal.they_wont_know": "In buē知影in受消音。",
"mute_modal.title": "Kā用者消音",
"mute_modal.you_wont_see_mentions": "Lí buē看見提起in ê PO文。",
"mute_modal.you_wont_see_posts": "In iáu ē當看著lí ê PO文毋過lí看bē tio̍h in ê。",
"navigation_bar.about": "概要",
"navigation_bar.administration": "管理",
"navigation_bar.advanced_interface": "用進階ê網頁界面開",
"navigation_bar.blocks": "封鎖ê用者",
"navigation_bar.bookmarks": "冊籤",
"navigation_bar.community_timeline": "本地ê時間線",
"navigation_bar.compose": "寫新ê PO文",
"navigation_bar.direct": "私人ê提起",
"navigation_bar.discover": "發現",
"navigation_bar.domain_blocks": "封鎖ê域名",
"navigation_bar.explore": "探查",
"navigation_bar.favourites": "Siōng kah意",
"navigation_bar.filters": "消音ê詞",
"navigation_bar.follow_requests": "跟tuè請求",
"navigation_bar.followed_tags": "跟tuè ê hashtag",
"navigation_bar.follows_and_followers": "Leh跟tuè ê kap跟tuè lí ê",
"navigation_bar.lists": "列單",
"navigation_bar.logout": "登出",
"navigation_bar.moderation": "審核",
"navigation_bar.mutes": "消音ê用者",
"navigation_bar.opened_in_classic_interface": "PO文、口座kap其他指定ê頁面預設ē佇經典ê網頁界面內phah開。",
"navigation_bar.personal": "個人",
"navigation_bar.pins": "釘起來ê PO文",
"navigation_bar.preferences": "偏愛ê設定",
"navigation_bar.public_timeline": "聯邦ê時間線",
"navigation_bar.search": "Tshiau-tshuē",
"navigation_bar.security": "安全",
"not_signed_in_indicator.not_signed_in": "Lí著登入來接近使用tsit ê資源。",
"notification.admin.report": "{name} kā {target} 檢舉ah",
"notification.admin.report_account": "{name} kā {target} 所寫ê {count, plural, other {# 篇PO文}}檢舉ah原因是{category}",
"notification.admin.report_account_other": "{name} kā {target} 所寫ê {count, plural, other {# 篇PO文}}檢舉ah",
"notification.admin.report_statuses": "{name} kā {target} 檢舉ah原因是{category}",
"notification.admin.report_statuses_other": "{name} kā {target} 檢舉ah",
"notification.admin.sign_up": "口座 {name} 有開ah。",
"notification.admin.sign_up.name_and_others": "{name} kap {count, plural, other {其他 # ê lâng}} ê口座有開ah",
"notification.annual_report.message": "Lí ê {year} #Wrapstodon teh等lí緊來看tsit年lí佇Mastodon頂ê上精彩ê內容kap難忘ê時刻",
"notification.annual_report.view": "Kā #Wrapstodon 看māi。",
"notification.favourite": "{name} kah意lí ê PO文",
"notification.favourite.name_and_others_with_link": "{name} kap<a>{count, plural, other {另外 # ê lâng}}</a>kah意lí ê PO文",
"notification.favourite_pm": "{name} kah意lí ê私人提起",
"notification.favourite_pm.name_and_others_with_link": "{name} kap<a>{count, plural, other {另外 # ê lâng}}</a>kah意lí ê私人提起",
"notification.follow": "{name}跟tuè lí",
"notification.follow.name_and_others": "{name} kap<a>{count, plural, other {另外 # ê lâng}}</a>跟tuè lí",
"notification.follow_request": "{name} 請求跟tuè lí",
"notification.follow_request.name_and_others": "{name} kap{count, plural, other {另外 # ê lâng}}請求跟tuè lí",
"notification.label.mention": "提起",
"notification.label.private_mention": "私人ê提起",
"notification.label.private_reply": "私人ê回應",
"notification.label.reply": "回應",
"notification.mention": "提起",
"notification.mentioned_you": "{name}kā lí提起",
"notification.moderation-warning.learn_more": "看詳細",
"notification.moderation_warning": "Lí有收著審核ê警告",
"notification.moderation_warning.action_delete_statuses": "Lí ê一寡PO文hōo lâng thâi掉ah。",
"notification.moderation_warning.action_disable": "Lí ê口座hōo lâng停止使用ah。",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Lí ê一寡PO文hōo lâng標做敏感ê內容。",
"notification.moderation_warning.action_none": "Lí ê口座有收著審核ê警告。",
"notification_requests.edit_selection": "編輯",
"notification_requests.exit_selection": "做好ah",
"search_popout.language_code": "ISO語言代碼",
"status.translated_from_with": "用 {provider} 翻譯 {lang}"
}

View file

@ -381,6 +381,8 @@
"generic.saved": "Opgeslagen",
"getting_started.heading": "Aan de slag",
"hashtag.admin_moderation": "Moderatie-omgeving van #{name} openen",
"hashtag.browse": "Berichten met #{hashtag} bekijken",
"hashtag.browse_from_account": "Berichten van @{name} met #{hashtag} bekijken",
"hashtag.column_header.tag_mode.all": "en {additional}",
"hashtag.column_header.tag_mode.any": "of {additional}",
"hashtag.column_header.tag_mode.none": "zonder {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} bericht} other {{counter} berichten}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} bericht} other {{counter} berichten}} vandaag",
"hashtag.follow": "Hashtag volgen",
"hashtag.mute": "#{hashtag} negeren",
"hashtag.unfollow": "Hashtag ontvolgen",
"hashtags.and_other": "…en {count, plural, one {}other {# meer}}",
"hints.profiles.followers_may_be_missing": "Volgers voor dit profiel kunnen ontbreken.",

View file

@ -28,6 +28,8 @@
"account.enable_notifications": "Уведомлять о постах от @{name}",
"account.endorse": "Рекомендовать в профиле",
"account.featured": "Избранное",
"account.featured.hashtags": "Хэштеги",
"account.featured.posts": "Посты",
"account.featured_tags.last_status_at": "Последний пост {date}",
"account.featured_tags.last_status_never": "Нет постов",
"account.follow": "Подписаться",

View file

@ -27,6 +27,7 @@
"account.edit_profile": "Upraviť profil",
"account.enable_notifications": "Zapnúť upozornenia na príspevky od @{name}",
"account.endorse": "Zobraziť na vlastnom profile",
"account.featured.posts": "Príspevky",
"account.featured_tags.last_status_at": "Posledný príspevok dňa {date}",
"account.featured_tags.last_status_never": "Žiadne príspevky",
"account.follow": "Sledovať",
@ -263,6 +264,7 @@
"emoji_button.search_results": "Výsledky hľadania",
"emoji_button.symbols": "Symboly",
"emoji_button.travel": "Cestovanie a miesta",
"empty_column.account_featured": "Tento zoznam je prázdny",
"empty_column.account_hides_collections": "Tento účet sa rozhodol túto informáciu nesprístupniť",
"empty_column.account_suspended": "Účet bol pozastavený",
"empty_column.account_timeline": "Nie sú tu žiadne príspevky.",
@ -345,6 +347,7 @@
"generic.saved": "Uložené",
"getting_started.heading": "Začíname",
"hashtag.admin_moderation": "Otvor moderovacie rozhranie pre #{name}",
"hashtag.browse": "Prehľadávať príspevky pod #{hashtag}",
"hashtag.column_header.tag_mode.all": "a {additional}",
"hashtag.column_header.tag_mode.any": "alebo {additional}",
"hashtag.column_header.tag_mode.none": "bez {additional}",
@ -358,6 +361,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} príspevok} few {{counter} príspevky} many {{counter} príspevkov} other {{counter} príspevkov}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} príspevok} few {{counter} príspevky} many {{counter} príspevkov} other {{counter} príspevkov}} dnes",
"hashtag.follow": "Sledovať hashtag",
"hashtag.mute": "Utlmiť #{hashtag}",
"hashtag.unfollow": "Prestať sledovať hashtag",
"hashtags.and_other": "…a {count, plural, other {# ďalších}}",
"hints.profiles.followers_may_be_missing": "Nasledovatelia tohto profilu môžu chýbať.",

View file

@ -376,6 +376,8 @@
"generic.saved": "U ruajt",
"getting_started.heading": "Si tia fillohet",
"hashtag.admin_moderation": "Hap ndërfaqe moderimi për #{name}",
"hashtag.browse": "Shfletoni postime me #{hashtag}",
"hashtag.browse_from_account": "Shfletoni postime nga @{name} me #{hashtag}",
"hashtag.column_header.tag_mode.all": "dhe {additional}",
"hashtag.column_header.tag_mode.any": "ose {additional}",
"hashtag.column_header.tag_mode.none": "pa {additional}",
@ -389,6 +391,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} postim} other {{counter} postime}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} postim} other {{counter} postime}} sot",
"hashtag.follow": "Ndiqe hashtag-un",
"hashtag.mute": "Heshtoje #{hashtag}",
"hashtag.unfollow": "Hiqe ndjekjen e hashtag-ut",
"hashtags.and_other": "…dhe {count, plural, one {}other {# më tepër}}",
"hints.profiles.followers_may_be_missing": "Mund të mungojnë ndjekës për këtë profil.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Kaydet",
"getting_started.heading": "Başlarken",
"hashtag.admin_moderation": "#{name} için denetim arayüzünü açın",
"hashtag.browse": "#{hashtag} gönderilerine gözat",
"hashtag.browse_from_account": "@{name} kişisinin #{hashtag} gönderilerine gözat",
"hashtag.column_header.tag_mode.all": "ve {additional}",
"hashtag.column_header.tag_mode.any": "ya da {additional}",
"hashtag.column_header.tag_mode.none": "{additional} olmadan",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} gönderi} other {{counter} gönderi}}",
"hashtag.counter_by_uses_today": "bugün {count, plural, one {{counter} gönderi} other {{counter} gönderi}}",
"hashtag.follow": "Etiketi takip et",
"hashtag.mute": "#{hashtag} gönderilerini sessize al",
"hashtag.unfollow": "Etiketi takibi bırak",
"hashtags.and_other": "…ve {count, plural, one {}other {# fazlası}}",
"hints.profiles.followers_may_be_missing": "Bu profilin takipçileri eksik olabilir.",

View file

@ -394,6 +394,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} допис} few {{counter} дописи} many {{counter} дописів} other {{counter} допис}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} допис} few {{counter} дописи} many {{counter} дописів} other {{counter} допис}} сьогодні",
"hashtag.follow": "Стежити за хештегом",
"hashtag.mute": "Ігнорувати #{hashtag}",
"hashtag.unfollow": "Не стежити за хештегом",
"hashtags.and_other": "…і {count, plural, other {ще #}}",
"hints.profiles.followers_may_be_missing": "Підписники цього профілю можуть бути не показані.",

View file

@ -381,6 +381,8 @@
"generic.saved": "Đã lưu",
"getting_started.heading": "Quản lý",
"hashtag.admin_moderation": "Mở giao diện quản trị #{name}",
"hashtag.browse": "Tìm tút #{hashtag}",
"hashtag.browse_from_account": "Tìm tút của @{name} có chứa #{hashtag}",
"hashtag.column_header.tag_mode.all": "và {additional}",
"hashtag.column_header.tag_mode.any": "hoặc {additional}",
"hashtag.column_header.tag_mode.none": "mà không {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, other {{counter} tút}}",
"hashtag.counter_by_uses_today": "{count, plural, other {{counter} tút}} hôm nay",
"hashtag.follow": "Theo dõi hashtag",
"hashtag.mute": "Ẩn #{hashtag}",
"hashtag.unfollow": "Bỏ theo dõi hashtag",
"hashtags.and_other": "…và {count, plural, other {# nữa}}",
"hints.profiles.followers_may_be_missing": "Số người theo dõi có thể không đầy đủ.",

View file

@ -27,6 +27,9 @@
"account.edit_profile": "修改个人资料",
"account.enable_notifications": "当 @{name} 发布嘟文时通知我",
"account.endorse": "在个人资料中推荐此用户",
"account.featured": "精选",
"account.featured.hashtags": "话题",
"account.featured.posts": "嘟文",
"account.featured_tags.last_status_at": "上次发言于 {date}",
"account.featured_tags.last_status_never": "暂无嘟文",
"account.follow": "关注",
@ -64,6 +67,7 @@
"account.statuses_counter": "{count, plural, other {{counter} 条嘟文}}",
"account.unblock": "取消屏蔽 @{name}",
"account.unblock_domain": "取消屏蔽 {domain} 域名",
"account.unblock_domain_short": "取消屏蔽",
"account.unblock_short": "取消屏蔽",
"account.unendorse": "不在个人资料中推荐此用户",
"account.unfollow": "取消关注",
@ -292,6 +296,7 @@
"emoji_button.search_results": "搜索结果",
"emoji_button.symbols": "符号",
"emoji_button.travel": "旅行与地点",
"empty_column.account_featured": "这个列表为空",
"empty_column.account_hides_collections": "该用户选择不公开此信息",
"empty_column.account_suspended": "账号已被停用",
"empty_column.account_timeline": "这里没有嘟文!",
@ -389,6 +394,7 @@
"hashtag.counter_by_uses": "{count, plural, other {{counter} 条嘟文}}",
"hashtag.counter_by_uses_today": "今日 {count, plural, other {{counter} 条嘟文}}",
"hashtag.follow": "关注话题",
"hashtag.mute": "停止提醒 #{hashtag}",
"hashtag.unfollow": "取消关注话题",
"hashtags.and_other": "… 和另外 {count, plural, other {# 个话题}}",
"hints.profiles.followers_may_be_missing": "该账号的关注者列表可能没有完全显示。",
@ -904,6 +910,12 @@
"video.expand": "展开视频",
"video.fullscreen": "全屏",
"video.hide": "隐藏视频",
"video.mute": "停止提醒",
"video.pause": "暂停",
"video.play": "播放"
"video.play": "播放",
"video.skip_backward": "后退",
"video.skip_forward": "前进",
"video.unmute": "恢复提醒",
"video.volume_down": "音量减小",
"video.volume_up": "提高音量"
}

View file

@ -381,6 +381,8 @@
"generic.saved": "已儲存",
"getting_started.heading": "開始使用",
"hashtag.admin_moderation": "開啟 #{name} 的管理介面",
"hashtag.browse": "瀏覽於 #{hashtag} 之嘟文",
"hashtag.browse_from_account": "瀏覽來自 @{name} 於 #{hashtag} 之嘟文",
"hashtag.column_header.tag_mode.all": "以及 {additional}",
"hashtag.column_header.tag_mode.any": "或是 {additional}",
"hashtag.column_header.tag_mode.none": "而無需 {additional}",
@ -394,6 +396,7 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} 則} other {{counter} 則}}嘟文",
"hashtag.counter_by_uses_today": "本日有 {count, plural, one {{counter} 則} other {{counter} 則}}嘟文",
"hashtag.follow": "跟隨主題標籤",
"hashtag.mute": "靜音 #{hashtag}",
"hashtag.unfollow": "取消跟隨主題標籤",
"hashtags.and_other": "…及其他 {count, plural, other {# 個}}",
"hints.profiles.followers_may_be_missing": "此個人檔案之跟隨者或有缺失。",

View file

@ -17,7 +17,12 @@ body {
font-weight: 400;
color: $primary-text-color;
text-rendering: optimizelegibility;
font-feature-settings: 'kern';
// Disable kerning for Japanese text to preserve monospaced alignment for readability
&:not(:lang(ja)) {
font-feature-settings: 'kern';
}
text-size-adjust: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0%);
-webkit-tap-highlight-color: transparent;

View file

@ -38,7 +38,7 @@ class CustomFilter < ApplicationRecord
include Expireable
include Redisable
enum :action, { warn: 0, hide: 1, blur: 2 }, suffix: :action
enum :action, { warn: 0, hide: 1, blur: 2 }, suffix: :action, validate: true
belongs_to :account
has_many :keywords, class_name: 'CustomFilterKeyword', inverse_of: :custom_filter, dependent: :destroy

View file

@ -20,7 +20,7 @@ class List < ApplicationRecord
PER_ACCOUNT_LIMIT = 50
enum :replies_policy, { list: 0, followed: 1, none: 2 }, prefix: :show
enum :replies_policy, { list: 0, followed: 1, none: 2 }, prefix: :show, validate: true
belongs_to :account