diff --git a/.github/renovate.json5 b/.github/renovate.json5
index 78530d65b4..879a564e1c 100644
--- a/.github/renovate.json5
+++ b/.github/renovate.json5
@@ -1,20 +1,21 @@
{
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
extends: [
- 'config:base',
- ':dependencyDashboard',
+ 'config:recommended',
':labels(dependencies)',
':maintainLockFilesMonthly', // update non-direct dependencies monthly
- ':prConcurrentLimit10', // only 10 open PRs at the same time
+ ':prConcurrentLimitNone', // Remove limit for open PRs at any time.
+ ':prHourlyLimit2', // Rate limit PR creation to a maximum of two per hour.
],
- stabilityDays: 3, // Wait 3 days after the package has been published before upgrading it
+ minimumReleaseAge: '3', // Wait 3 days after the package has been published before upgrading it
// packageRules order is important, they are applied from top to bottom and are merged,
// meaning the most important ones must be at the bottom, for example grouping rules
// If we do not want a package to be grouped with others, we need to set its groupName
// to `null` after any other rule set it to something.
+ dependencyDashboardHeader: 'This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more. Before approving any upgrade: read the description and comments in the [`renovate.json5` file](https://github.com/mastodon/mastodon/blob/main/.github/renovate.json5).',
packageRules: [
{
- // Ignore major version bumps for these node packages
+ // Require Dependency Dashboard Approval for major version bumps of these node packages
matchManagers: ['npm'],
matchPackageNames: [
'tesseract.js', // Requires code changes
@@ -41,10 +42,10 @@
'react-router-dom',
],
matchUpdateTypes: ['major'],
- enabled: false,
+ dependencyDashboardApproval: true,
},
{
- // Ignore major version bumps for these Ruby packages
+ // Require Dependency Dashboard Approval for major version bumps of these Ruby packages
matchManagers: ['bundler'],
matchPackageNames: [
'rack', // Needs to be synced with Rails version
@@ -55,7 +56,7 @@
'redis', // Requires manual upgrade and sync with Sidekiq version
],
matchUpdateTypes: ['major'],
- enabled: false,
+ dependencyDashboardApproval: true,
},
{
// Update Github Actions and Docker images weekly
@@ -63,25 +64,25 @@
extends: ['schedule:weekly'],
},
{
- // Ignore major & minor bumps for the ruby image, this needs to be synced with .ruby-version
+ // Require Dependency Dashboard Approval for major & minor bumps for the ruby image, this needs to be synced with .ruby-version
matchManagers: ['dockerfile'],
matchPackageNames: ['moritzheiber/ruby-jemalloc'],
matchUpdateTypes: ['minor', 'major'],
- enabled: false,
+ dependencyDashboardApproval: true,
},
{
- // Ignore major bump for the node image, this needs to be synced with .nvmrc
+ // Require Dependency Dashboard Approval for major bumps for the node image, this needs to be synced with .nvmrc
matchManagers: ['dockerfile'],
matchPackageNames: ['node'],
matchUpdateTypes: ['major'],
- enabled: false,
+ dependencyDashboardApproval: true,
},
{
- // Ignore major postgres bumps in the docker-compose file, as those break dev environments
+ // Require Dependency Dashboard Approval for major postgres bumps in the docker-compose file, as those break dev environments
matchManagers: ['docker-compose'],
matchPackageNames: ['postgres'],
matchUpdateTypes: ['major'],
- enabled: false,
+ dependencyDashboardApproval: true,
},
{
// Update devDependencies every week, with one grouped PR
diff --git a/Gemfile.lock b/Gemfile.lock
index 9eef038557..c8a945da2d 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -269,7 +269,7 @@ GEM
tzinfo
excon (0.100.0)
fabrication (2.30.0)
- faker (3.2.0)
+ faker (3.2.1)
i18n (>= 1.8.11, < 2)
faraday (1.10.3)
faraday-em_http (~> 1.0)
@@ -478,7 +478,7 @@ GEM
net-protocol
net-ssh (7.1.0)
nio4r (2.5.9)
- nokogiri (1.15.3)
+ nokogiri (1.15.4)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
oj (3.15.0)
diff --git a/app/chewy/accounts_index.rb b/app/chewy/accounts_index.rb
index 61f5277d2b..1f8571c09d 100644
--- a/app/chewy/accounts_index.rb
+++ b/app/chewy/accounts_index.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class AccountsIndex < Chewy::Index
- settings index: { refresh_interval: '30s' }, analysis: {
+ settings index: index_preset(refresh_interval: '30s'), analysis: {
filter: {
english_stop: {
type: 'stop',
diff --git a/app/chewy/instances_index.rb b/app/chewy/instances_index.rb
index 2bce4043c9..0d58167dc8 100644
--- a/app/chewy/instances_index.rb
+++ b/app/chewy/instances_index.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class InstancesIndex < Chewy::Index
- settings index: { refresh_interval: '30s' }
+ settings index: index_preset(refresh_interval: '30s')
index_scope ::Instance.searchable
diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb
index 6dd4fb18b0..9f680efa52 100644
--- a/app/chewy/statuses_index.rb
+++ b/app/chewy/statuses_index.rb
@@ -3,7 +3,7 @@
class StatusesIndex < Chewy::Index
include FormattingHelper
- settings index: { refresh_interval: '30s' }, analysis: {
+ settings index: index_preset(refresh_interval: '30s', number_of_shards: 5), analysis: {
filter: {
english_stop: {
type: 'stop',
diff --git a/app/chewy/tags_index.rb b/app/chewy/tags_index.rb
index df3d9e4cce..b2d50a000c 100644
--- a/app/chewy/tags_index.rb
+++ b/app/chewy/tags_index.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class TagsIndex < Chewy::Index
- settings index: { refresh_interval: '30s' }, analysis: {
+ settings index: index_preset(refresh_interval: '30s'), analysis: {
analyzer: {
content: {
tokenizer: 'keyword',
diff --git a/app/javascript/flavours/glitch/features/interaction_modal/index.jsx b/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
index 3375afde6f..bbfa9af8d4 100644
--- a/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
+++ b/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
@@ -21,12 +21,16 @@ const messages = defineMessages({
const mapStateToProps = (state, { accountId }) => ({
displayNameHtml: state.getIn(['accounts', accountId, 'display_name_html']),
+ signupUrl: state.getIn(['server', 'server', 'registrations', 'url'], null) || '/auth/sign_up',
});
const mapDispatchToProps = (dispatch) => ({
onSignupClick() {
- dispatch(closeModal());
- dispatch(openModal('CLOSED_REGISTRATIONS'));
+ dispatch(closeModal({
+ modalType: undefined,
+ ignoreFocus: false,
+ }));
+ dispatch(openModal({ modalType: 'CLOSED_REGISTRATIONS' }));
},
});
@@ -294,6 +298,7 @@ class InteractionModal extends React.PureComponent {
url: PropTypes.string,
type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow']),
onSignupClick: PropTypes.func.isRequired,
+ signupUrl: PropTypes.string.isRequired,
};
handleSignupClick = () => {
@@ -301,7 +306,7 @@ class InteractionModal extends React.PureComponent {
};
render () {
- const { url, type, displayNameHtml } = this.props;
+ const { url, type, displayNameHtml, signupUrl } = this.props;
const name = ;
@@ -340,7 +345,7 @@ class InteractionModal extends React.PureComponent {
);
} else if (registrationsOpen) {
signupButton = (
-
+
);
diff --git a/app/javascript/mastodon/features/interaction_modal/index.jsx b/app/javascript/mastodon/features/interaction_modal/index.jsx
index 220719a94a..84e4309254 100644
--- a/app/javascript/mastodon/features/interaction_modal/index.jsx
+++ b/app/javascript/mastodon/features/interaction_modal/index.jsx
@@ -21,12 +21,16 @@ const messages = defineMessages({
const mapStateToProps = (state, { accountId }) => ({
displayNameHtml: state.getIn(['accounts', accountId, 'display_name_html']),
+ signupUrl: state.getIn(['server', 'server', 'registrations', 'url'], null) || '/auth/sign_up',
});
const mapDispatchToProps = (dispatch) => ({
onSignupClick() {
- dispatch(closeModal());
- dispatch(openModal('CLOSED_REGISTRATIONS'));
+ dispatch(closeModal({
+ modalType: undefined,
+ ignoreFocus: false,
+ }));
+ dispatch(openModal({ modalType: 'CLOSED_REGISTRATIONS' }));
},
});
@@ -294,6 +298,7 @@ class InteractionModal extends React.PureComponent {
url: PropTypes.string,
type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow']),
onSignupClick: PropTypes.func.isRequired,
+ signupUrl: PropTypes.string.isRequired,
};
handleSignupClick = () => {
@@ -301,7 +306,7 @@ class InteractionModal extends React.PureComponent {
};
render () {
- const { url, type, displayNameHtml } = this.props;
+ const { url, type, displayNameHtml, signupUrl } = this.props;
const name = ;
@@ -340,7 +345,7 @@ class InteractionModal extends React.PureComponent {
);
} else if (registrationsOpen) {
signupButton = (
-
+
);
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 035ba3f68f..f5843d7d83 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -201,6 +201,7 @@
"dismissable_banner.community_timeline": "هذه هي أحدث المشاركات العامة من الأشخاص الذين تُستضاف حساباتهم على {domain}.",
"dismissable_banner.dismiss": "رفض",
"dismissable_banner.explore_links": "هذه القصص الإخبارية يتحدث عنها حاليًا أشخاص على هذا الخادم وكذا على الخوادم الأخرى للشبكة اللامركزية.",
+ "dismissable_banner.explore_statuses": "هذه هي المنشورات الرائجة على الشبكات الاجتماعيّة اليوم. تظهر المنشورات التي أعيد مشاركتها وحازت على مفضّلات أكثر في مرتبة عليا.",
"dismissable_banner.explore_tags": "هذه الوسوم تكتسب جذب اهتمام الناس حاليًا على هذا الخادم وكذا على الخوادم الأخرى للشبكة اللامركزية.",
"dismissable_banner.public_timeline": "هذه هي أحدث المنشورات العامة من الناس على الشبكة الاجتماعية التي يتبعها الناس على {domain}.",
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
@@ -315,6 +316,7 @@
"interaction_modal.on_another_server": "على خادم مختلف",
"interaction_modal.on_this_server": "على هذا الخادم",
"interaction_modal.sign_in": "لم تقم بتسجيل الدخول إلى هذا الخادم. أين هو مستضاف حسابك؟",
+ "interaction_modal.sign_in_hint": "تلميح: هذا هو الموقع الذي سجّلت عن طريقه. إن لم تتذكّر/ين اسم الموقع، يمكنك البحث عن الرسالة الترحيبيّة في بريدك الالكتروني. يمكنك أيضاً استخدام إسم المستخدم/ـة الكامل! (مثلاً: @Mastadon@mastadon.social)",
"interaction_modal.title.favourite": "إضافة منشور {name} إلى المفضلة",
"interaction_modal.title.follow": "اتبع {name}",
"interaction_modal.title.reblog": "مشاركة منشور {name}",
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index 597d294a6f..af52135ac0 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -212,6 +212,7 @@
"hashtag.column_header.tag_mode.none": "ensin {additional}",
"hashtag.column_settings.select.no_options_message": "Nun s'atopó nenguna suxerencia",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
+ "hashtag.counter_by_accounts": "{count, plural, one {{counter} participante} other {{counter} participantes}}",
"hashtag.follow": "Siguir a la etiqueta",
"hashtag.unfollow": "Dexar de siguir a la etiqueta",
"home.column_settings.basic": "Configuración básica",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 157d984191..2bef3bb4b3 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -38,7 +38,7 @@
"account.following_counter": "{count, plural, one {{counter} Abonnement} other {{counter} Abonnements}}",
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.",
"account.follows_you": "Vous suit",
- "account.go_to_profile": "Voir le profil",
+ "account.go_to_profile": "Aller au profil",
"account.hide_reblogs": "Masquer les partages de @{name}",
"account.in_memoriam": "En mémoire de.",
"account.joined_short": "Ici depuis",
@@ -50,9 +50,9 @@
"account.moved_to": "{name} a indiqué que son nouveau compte est maintenant :",
"account.mute": "Masquer @{name}",
"account.mute_notifications_short": "Désactiver les alertes",
- "account.mute_short": "Mettre en sourdine",
+ "account.mute_short": "Masquer",
"account.muted": "Masqué·e",
- "account.no_bio": "Aucune description enregistrée.",
+ "account.no_bio": "Aucune description fournie.",
"account.open_original_page": "Ouvrir la page d'origine",
"account.posts": "Messages",
"account.posts_with_replies": "Messages et réponses",
diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json
index 3f088b2ea7..ba859498f6 100644
--- a/app/javascript/mastodon/locales/gd.json
+++ b/app/javascript/mastodon/locales/gd.json
@@ -13,14 +13,14 @@
"about.rules": "Riaghailtean an fhrithealaiche",
"account.account_note_header": "Nòta",
"account.add_or_remove_from_list": "Cuir ris no thoir air falbh o na liostaichean",
- "account.badges.bot": "Bot",
+ "account.badges.bot": "Fèin-obrachail",
"account.badges.group": "Buidheann",
"account.block": "Bac @{name}",
"account.block_domain": "Bac an àrainn {domain}",
"account.block_short": "Bac",
"account.blocked": "’Ga bhacadh",
"account.browse_more_on_origin_server": "Rùraich barrachd dheth air a’ phròifil thùsail",
- "account.cancel_follow_request": "Cuir d’ iarrtas leantainn dhan dàrna taobh",
+ "account.cancel_follow_request": "Sguir dhen leantainn",
"account.direct": "Thoir iomradh air @{name} gu prìobhaideach",
"account.disable_notifications": "Na cuir brath thugam tuilleadh nuair a chuireas @{name} post ris",
"account.domain_blocked": "Chaidh an àrainn a bhacadh",
@@ -114,7 +114,7 @@
"column.directory": "Rùraich sna pròifilean",
"column.domain_blocks": "Àrainnean bacte",
"column.favourites": "Annsachdan",
- "column.firehose": "Inbhirean beòtha",
+ "column.firehose": "An saoghal poblach",
"column.follow_requests": "Iarrtasan leantainn",
"column.home": "Dachaigh",
"column.lists": "Liostaichean",
@@ -150,7 +150,7 @@
"compose_form.poll.switch_to_multiple": "Atharraich an cunntas-bheachd ach an gabh iomadh roghainn a thaghadh",
"compose_form.poll.switch_to_single": "Atharraich an cunntas-bheachd gus nach gabh ach aon roghainn a thaghadh",
"compose_form.publish": "Foillsich",
- "compose_form.publish_form": "Foillsich",
+ "compose_form.publish_form": "Post ùr",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Sàbhail na h-atharraichean",
"compose_form.sensitive.hide": "{count, plural, one {Cuir comharra gu bheil am meadhan frionasach} two {Cuir comharra gu bheil na meadhanan frionasach} few {Cuir comharra gu bheil na meadhanan frionasach} other {Cuir comharra gu bheil na meadhanan frionasach}}",
@@ -200,9 +200,9 @@
"disabled_account_banner.text": "Tha an cunntas {disabledAccount} agad à comas aig an àm seo.",
"dismissable_banner.community_timeline": "Seo na postaichean poblach as ùire o dhaoine aig a bheil cunntas air {domain}.",
"dismissable_banner.dismiss": "Leig seachad",
- "dismissable_banner.explore_links": "Seo na naidheachdan air a bhithear a’ bruidhinn an-dràsta fhèin air an fhrithealaiche seo is frithealaichean eile dhen lìonra sgaoilte.",
- "dismissable_banner.explore_statuses": "Tha fèill air na postaichean seo a’ fàs an-diugh thar an lìona shòisealta. Gheibh postaichean nas ùire le barrachd brosnaichean is annsachdan rangachadh nas àirde.",
- "dismissable_banner.explore_tags": "Tha fèill air na tagaichean hais seo a’ fàs an-diugh air an fhrithealaich seo is frithealaichean eile dhen lìonra sgaoilte. Gheibh tagaichean hais a tha gan cleachdadh le daoine eadar-dhealaichte rangachadh nas àirde.",
+ "dismissable_banner.explore_links": "Seo na cinn-naidheachd a tha ’gan co-roinneadh as trice thar an lìona shòisealta an-diugh. Gheibh naidheachdan nas ùire a tha ’gan co-roinneadh le daoine eadar-dhealaichte rangachadh nas àirde.",
+ "dismissable_banner.explore_statuses": "Tha fèill air na postaichean seo a’ fàs thar an lìona shòisealta an-diugh. Gheibh postaichean nas ùire le barrachd brosnaichean is annsachdan rangachadh nas àirde.",
+ "dismissable_banner.explore_tags": "Tha fèill air na tagaichean hais seo a’ fàs air an fhrithealaiche seo is frithealaichean eile dhen lìonra sgaoilte an-diugh. Gheibh tagaichean hais a tha ’gan cleachdadh le daoine eadar-dhealaichte rangachadh nas àirde.",
"dismissable_banner.public_timeline": "Seo na postaichean poblach as ùire o dhaoine air an lìonra sòisealta tha ’gan leantainn le daoine air {domain}.",
"embed.instructions": "Leabaich am post seo san làrach-lìn agad is tu a’ dèanamh lethbhreac dhen chòd gu h-ìosal.",
"embed.preview": "Seo an coltas a bhios air:",
@@ -235,7 +235,7 @@
"empty_column.follow_requests": "Chan eil iarrtas leantainn agad fhathast. Nuair a gheibh thu fear, nochdaidh e an-seo.",
"empty_column.followed_tags": "Cha do lean thu taga hais sam bith fhathast. Nuair a leanas tu, nochdaidh iad an-seo.",
"empty_column.hashtag": "Chan eil dad san taga hais seo fhathast.",
- "empty_column.home": "Tha loidhne-ama na dachaigh agad falamh! Lean barrachd dhaoine gus a lìonadh. {suggestions}",
+ "empty_column.home": "Tha loidhne-ama na dachaigh agad falamh! Lean barrachd dhaoine gus a lìonadh.",
"empty_column.list": "Chan eil dad air an liosta seo fhathast. Nuair a phostaicheas buill a tha air an liosta seo postaichean ùra, nochdaidh iad an-seo.",
"empty_column.lists": "Chan eil liosta agad fhathast. Nuair chruthaicheas tu tè, nochdaidh i an-seo.",
"empty_column.mutes": "Cha do mhùch thu cleachdaiche sam bith fhathast.",
@@ -301,7 +301,7 @@
"hashtag.follow": "Lean an taga hais",
"hashtag.unfollow": "Na lean an taga hais tuilleadh",
"home.actions.go_to_explore": "Faic na tha a’ treandadh",
- "home.actions.go_to_suggestions": "Lorg daoine a leanas tu",
+ "home.actions.go_to_suggestions": "Lorg daoine gus an leantainn",
"home.column_settings.basic": "Bunasach",
"home.column_settings.show_reblogs": "Seall na brosnachaidhean",
"home.column_settings.show_replies": "Seall na freagairtean",
@@ -333,7 +333,7 @@
"keyboard_shortcuts.column": "Cuir am fòcas air colbh",
"keyboard_shortcuts.compose": "Cuir am fòcas air raon teacsa an sgrìobhaidh",
"keyboard_shortcuts.description": "Tuairisgeul",
- "keyboard_shortcuts.direct": "to open direct messages column",
+ "keyboard_shortcuts.direct": "a dh’fhosgladh colbh nan iomraidhean prìobhaideach",
"keyboard_shortcuts.down": "Gluais sìos air an liosta",
"keyboard_shortcuts.enter": "Fosgail post",
"keyboard_shortcuts.favourite": "Cuir am post ris na h-annsachdan",
@@ -380,7 +380,7 @@
"lists.replies_policy.followed": "Cleachdaiche sam bith a leanas mi",
"lists.replies_policy.list": "Buill na liosta",
"lists.replies_policy.none": "Na seall idir",
- "lists.replies_policy.title": "Seall na freagairtean gu:",
+ "lists.replies_policy.title": "Seall freagairtean do:",
"lists.search": "Lorg am measg nan daoine a leanas tu",
"lists.subheading": "Na liostaichean agad",
"load_pending": "{count, plural, one {# nì ùr} two {# nì ùr} few {# nithean ùra} other {# nì ùr}}",
@@ -418,7 +418,7 @@
"not_signed_in_indicator.not_signed_in": "Feumaidh tu clàradh a-steach mus fhaigh thu cothrom air a’ ghoireas seo.",
"notification.admin.report": "Rinn {name} gearan mu {target}",
"notification.admin.sign_up": "Chlàraich {name}",
- "notification.favourite": "Chuir {name} am post agad ris na h-annsachdan",
+ "notification.favourite": "Is annsa le {name} am post agad",
"notification.follow": "Tha {name} ’gad leantainn a-nis",
"notification.follow_request": "Dh’iarr {name} ’gad leantainn",
"notification.mention": "Thug {name} iomradh ort",
@@ -466,12 +466,12 @@
"notifications_permission_banner.title": "Na caill dad gu bràth tuilleadh",
"onboarding.action.back": "Air ais leam",
"onboarding.actions.back": "Air ais leam",
- "onboarding.actions.go_to_explore": "See what's trending",
- "onboarding.actions.go_to_home": "Go to your home feed",
+ "onboarding.actions.go_to_explore": "Thoir dha na treandaichean mi",
+ "onboarding.actions.go_to_home": "Thoir dhachaigh mi",
"onboarding.compose.template": "Shin thu, a #Mhastodon!",
"onboarding.follows.empty": "Gu mì-fhortanach, chan urrainn dhuinn toradh a shealltainn an-dràsta. Feuch gleus an luirg no duilleag an rùrachaidh airson daoine ri leantainn a lorg no feuch ris a-rithist an ceann tamaill.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
- "onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.follows.title": "Cuir dreach pearsanta air do dhachaigh",
"onboarding.share.lead": "Innis do dhaoine mar a gheibh iad grèim ort air Mastodon!",
"onboarding.share.message": "Is mise {username} air #Mastodon! Thig ’gam leantainn air {url}",
"onboarding.share.next_steps": "Ceuman eile as urrainn dhut gabhail:",
@@ -480,13 +480,13 @@
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.start.title": "Rinn thu a’ chùis air!",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
- "onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
+ "onboarding.steps.follow_people.title": "Cuir dreach pearsanta air do dhachaigh",
"onboarding.steps.publish_status.body": "Say hello to the world.",
"onboarding.steps.publish_status.title": "Dèan a’ chiad phost agad",
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
- "onboarding.steps.setup_profile.title": "Customize your profile",
- "onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
- "onboarding.steps.share_profile.title": "Share your profile",
+ "onboarding.steps.setup_profile.title": "Gnàthaich a’ phròifil agad",
+ "onboarding.steps.share_profile.body": "Leig fios dha do charaidean mar a gheibh iad lorg ort air Mastodon",
+ "onboarding.steps.share_profile.title": "Co-roinn a’ phròifil Mastodon agad",
"onboarding.tips.2fa": "An robh fios agad? ’S urrainn dhut an cunntas agad a dhìon is tu a’ suidheachadh dearbhadh dà-cheumnach ann an roghainnean a’ chunntais agad. Obraichidh e le aplacaid dearbhaidh dhà-cheumnaich sam bith a thogras tu gun fheum air àireamh fòn!",
"onboarding.tips.accounts_from_other_servers": "An robh fios agad? On a tha Mastodon sgaoilte, tachraidh tu air pròifilean a tha ’gan òstadh air frithealaichean eile. ’S urrainn dhut bruidhinn riutha gun chnap-starra co-dhiù! ’S e ainm an fhrithealaiche a tha san dàrna leth dhen ainm-chleachdaiche aca!",
"onboarding.tips.migration": "An robh fios agad? Ma thig an latha nach eil thu toilichte le {domain} mar an fhrithealaiche agad tuilleadh, ’s urrainn dhut imrich gu frithealaiche Mastodon eile gun a bhith a’ call an luchd-leantainn agad. ’S urrainn dhut fiù frithealaiche agad fhèin òstadh!",
@@ -655,7 +655,7 @@
"status.show_more": "Seall barrachd dheth",
"status.show_more_all": "Seall barrachd dhen a h-uile",
"status.show_original": "Seall an tionndadh tùsail",
- "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
+ "status.title.with_attachments": "Phostaich {user} {attachmentCount, plural, one {{attachmentCount} cheanglachan} two {{attachmentCount} cheanglachan} few {{attachmentCount} ceanglachain} other {{attachmentCount} ceanglachan}}",
"status.translate": "Eadar-theangaich",
"status.translated_from_with": "Air eadar-theangachadh o {lang} le {provider}",
"status.uncached_media_warning": "Chan eil ro-shealladh ri fhaighinn",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 4b32af595b..5645f4806c 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -114,7 +114,7 @@
"column.directory": "Profilok böngészése",
"column.domain_blocks": "Letiltott tartománynevek",
"column.favourites": "Kedvencek",
- "column.firehose": "Élő hírfolyamok",
+ "column.firehose": "Hírfolyamok",
"column.follow_requests": "Követési kérelmek",
"column.home": "Kezdőlap",
"column.lists": "Listák",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 487fede3fe..0f200cf6fb 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -7,6 +7,7 @@
"account.badges.group": "Agraw",
"account.block": "Seḥbes @{name}",
"account.block_domain": "Ffer kra i d-yekkan seg {domain}",
+ "account.block_short": "Sewḥel",
"account.blocked": "Yettusewḥel",
"account.browse_more_on_origin_server": "Snirem ugar deg umeɣnu aneẓli",
"account.cancel_follow_request": "Withdraw follow request",
@@ -28,6 +29,7 @@
"account.media": "Timidyatin",
"account.mention": "Bder-d @{name}",
"account.mute": "Sgugem @{name}",
+ "account.mute_short": "Sgugem",
"account.muted": "Yettwasgugem",
"account.open_original_page": "Ldi asebter anasli",
"account.posts": "Tisuffaɣ",
@@ -70,6 +72,7 @@
"column.community": "Tasuddemt tadigant",
"column.directory": "Inig deg imaɣnuten",
"column.domain_blocks": "Taɣulin yeffren",
+ "column.favourites": "Imenyafen",
"column.follow_requests": "Isuturen n teḍfeṛt",
"column.home": "Agejdan",
"column.lists": "Tibdarin",
@@ -90,6 +93,7 @@
"community.column_settings.remote_only": "Anmeggag kan",
"compose.language.change": "Beddel tutlayt",
"compose.language.search": "Nadi tutlayin …",
+ "compose.published.open": "Ldi",
"compose_form.direct_message_warning_learn_more": "Issin ugar",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
@@ -177,6 +181,7 @@
"errors.unexpected_crash.copy_stacktrace": "Nɣel stacktrace ɣef wafus",
"errors.unexpected_crash.report_issue": "Mmel ugur",
"explore.search_results": "Igemmaḍ n unadi",
+ "explore.suggested_follows": "Imdanen",
"explore.title": "Snirem",
"explore.trending_links": "Isallen",
"explore.trending_statuses": "Tisuffiɣin",
@@ -184,6 +189,8 @@
"filter_modal.added.settings_link": "asebter n yiɣewwaṛen",
"filter_modal.select_filter.prompt_new": "Taggayt tamaynutt : {name}",
"filter_modal.select_filter.search": "Nadi neɣ snulfu-d",
+ "firehose.all": "Akk",
+ "firehose.local": "Deg uqeddac-ayi",
"follow_request.authorize": "Ssireg",
"follow_request.reject": "Agi",
"footer.about": "Γef",
@@ -252,6 +259,7 @@
"lightbox.expand": "Simeɣer tamnaḍt n uskan n tugna",
"lightbox.next": "Γer zdat",
"lightbox.previous": "Γer deffir",
+ "link_preview.author": "S-ɣur {name}",
"lists.account.add": "Rnu ɣer tebdart",
"lists.account.remove": "Kkes seg tebdart",
"lists.delete": "Kkes tabdart",
@@ -280,6 +288,7 @@
"navigation_bar.domain_blocks": "Tiɣula yeffren",
"navigation_bar.edit_profile": "Ẓreg amaɣnu",
"navigation_bar.explore": "Snirem",
+ "navigation_bar.favourites": "Imenyafen",
"navigation_bar.filters": "Awalen i yettwasgugmen",
"navigation_bar.follow_requests": "Isuturen n teḍfeṛt",
"navigation_bar.follows_and_followers": "Imeḍfaṛen akked wid i teṭṭafaṛeḍ",
@@ -303,6 +312,7 @@
"notifications.clear": "Sfeḍ tilɣa",
"notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk tilɣa-inek·em i lebda?",
"notifications.column_settings.alert": "Tilɣa n tnarit",
+ "notifications.column_settings.favourite": "Imenyafen:",
"notifications.column_settings.filter_bar.advanced": "Ssken-d meṛṛa tiggayin",
"notifications.column_settings.filter_bar.category": "Iri n usizdeg uzrib",
"notifications.column_settings.follow": "Imeḍfaṛen imaynuten:",
@@ -316,6 +326,7 @@
"notifications.column_settings.status": "Tiẓenẓunin timaynutin:",
"notifications.filter.all": "Akk",
"notifications.filter.boosts": "Seǧhed",
+ "notifications.filter.favourites": "Imenyafen",
"notifications.filter.follows": "Yeṭafaṛ",
"notifications.filter.mentions": "Abdar",
"notifications.filter.polls": "Igemmaḍ n usenqed",
@@ -328,6 +339,7 @@
"notifications_permission_banner.title": "Ur zeggel acemma",
"onboarding.actions.go_to_explore": "See what's trending",
"onboarding.actions.go_to_home": "Go to your home feed",
+ "onboarding.compose.template": "Azul a #Mastodon!",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
@@ -396,6 +408,7 @@
"server_banner.learn_more": "Issin ugar",
"sign_in_banner.create_account": "Snulfu-d amiḍan",
"sign_in_banner.sign_in": "Qqen",
+ "sign_in_banner.sso_redirect": "Qqen neɣ jerred",
"status.admin_status": "Open this status in the moderation interface",
"status.block": "Seḥbes @{name}",
"status.bookmark": "Creḍ",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index b0b2e68a16..72195770b4 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -623,7 +623,7 @@
"status.filter": "이 게시물을 필터",
"status.filtered": "필터로 걸러짐",
"status.hide": "게시물 숨기기",
- "status.history.created": "{name} 님이 {date}에 생성함",
+ "status.history.created": "{name} 님이 {date}에 처음 게시함",
"status.history.edited": "{name} 님이 {date}에 수정함",
"status.load_more": "더 보기",
"status.media.open": "클릭하여 열기",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index cff2aa4adf..f45b0427e0 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -17,6 +17,7 @@
"account.badges.group": "Grupa",
"account.block": "Bloķēt @{name}",
"account.block_domain": "Bloķēt domēnu {domain}",
+ "account.block_short": "Bloķēt",
"account.blocked": "Bloķēts",
"account.browse_more_on_origin_server": "Pārlūkot vairāk sākotnējā profilā",
"account.cancel_follow_request": "Atsaukt sekošanas pieprasījumu",
@@ -48,7 +49,9 @@
"account.mention": "Pieminēt @{name}",
"account.moved_to": "{name} norādīja, ka viņu jaunais konts tagad ir:",
"account.mute": "Apklusināt @{name}",
+ "account.mute_short": "Apklusināt",
"account.muted": "Apklusināts",
+ "account.no_bio": "Apraksts nav sniegts.",
"account.open_original_page": "Atvērt oriģinālo lapu",
"account.posts": "Ieraksti",
"account.posts_with_replies": "Ieraksti un atbildes",
@@ -104,6 +107,7 @@
"column.direct": "Privāti pieminēti",
"column.directory": "Pārlūkot profilus",
"column.domain_blocks": "Bloķētie domēni",
+ "column.favourites": "Iecienīti",
"column.follow_requests": "Sekošanas pieprasījumi",
"column.home": "Sākums",
"column.lists": "Saraksti",
@@ -124,6 +128,7 @@
"community.column_settings.remote_only": "Tikai attālinātie",
"compose.language.change": "Mainīt valodu",
"compose.language.search": "Meklēt valodas...",
+ "compose.published.open": "Atvērt",
"compose_form.direct_message_warning_learn_more": "Uzzināt vairāk",
"compose_form.encryption_warning": "Ziņas vietnē Mastodon nav pilnībā šifrētas. Nedalies ar sensitīvu informāciju caur Mastodon.",
"compose_form.hashtag_warning": "Šī ziņa netiks norādīta zem nevienas atsauces, jo tā nav publiska. Tikai publiskās ziņās var meklēt pēc atsauces.",
@@ -251,6 +256,7 @@
"filter_modal.select_filter.subtitle": "Izmanto esošu kategoriju vai izveido jaunu",
"filter_modal.select_filter.title": "Filtrēt šo ziņu",
"filter_modal.title.status": "Filtrēt ziņu",
+ "firehose.remote": "Citi serveri",
"follow_request.authorize": "Autorizēt",
"follow_request.reject": "Noraidīt",
"follow_requests.unlocked_explanation": "Lai gan tavs konts nav bloķēts, {domain} darbinieki iedomājās, ka, iespējams, vēlēsies pārskatīt pieprasījumus no šiem kontiem.",
@@ -452,6 +458,7 @@
"picture_in_picture.restore": "Novietot atpakaļ",
"poll.closed": "Pabeigta",
"poll.refresh": "Atsvaidzināt",
+ "poll.reveal": "Skatīt rezultātus",
"poll.total_people": "{count, plural, zero {# cilvēku} one {# persona} other {# cilvēki}}",
"poll.total_votes": "{count, plural, zero {# balsojumu} one {# balsojums} other {# balsojumi}}",
"poll.vote": "Balsot",
diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json
index 2e02e6af0d..8b389c48fa 100644
--- a/app/javascript/mastodon/locales/ms.json
+++ b/app/javascript/mastodon/locales/ms.json
@@ -21,6 +21,7 @@
"account.blocked": "Disekat",
"account.browse_more_on_origin_server": "Layari selebihnya di profil asal",
"account.cancel_follow_request": "Menarik balik permintaan mengikut",
+ "account.direct": "Sebut secara persendirian @{name}",
"account.disable_notifications": "Berhenti maklumkan saya apabila @{name} mengirim hantaran",
"account.domain_blocked": "Domain disekat",
"account.edit_profile": "Sunting profil",
@@ -39,6 +40,7 @@
"account.follows_you": "Mengikuti anda",
"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.link_verified_on": "Pemilikan pautan ini telah disemak pada {date}",
@@ -74,6 +76,7 @@
"admin.dashboard.retention.cohort": "Bulan pendaftaran",
"admin.dashboard.retention.cohort_size": "Pengguna baru",
"admin.impact_report.instance_accounts": "Profil akaun ini akan dipadamkan",
+ "admin.impact_report.title": "Ringkasan kesan",
"alert.rate_limited.message": "Sila cuba semula selepas {retry_time, time, medium}.",
"alert.rate_limited.title": "Kadar terhad",
"alert.unexpected.message": "Berlaku ralat di luar jangkaan.",
@@ -127,6 +130,7 @@
"community.column_settings.remote_only": "Jauh sahaja",
"compose.language.change": "Tukar bahasa",
"compose.language.search": "Cari bahasa...",
+ "compose.published.body": "Pos telah diterbitkan.",
"compose.published.open": "Buka",
"compose_form.direct_message_warning_learn_more": "Ketahui lebih lanjut",
"compose_form.encryption_warning": "Hantaran pada Mastodon tidak disulitkan hujung ke hujung. Jangan berkongsi sebarang maklumat sensitif melalui Mastodon.",
@@ -171,6 +175,7 @@
"confirmations.mute.explanation": "Ini akan menyembunyikan hantaran daripada mereka dan juga hantaran yang menyebut mereka, tetapi ia masih membenarkan mereka melihat hantaran anda dan mengikuti anda.",
"confirmations.mute.message": "Adakah anda pasti anda ingin membisukan {name}?",
"confirmations.redraft.confirm": "Padam & rangka semula",
+ "confirmations.redraft.message": "Adakah anda pasti anda ingin memadam pos ini dan merangkanya semula? Kegemaran dan galakan akan hilang, dan balasan ke pos asal akan menjadi yatim.",
"confirmations.reply.confirm": "Balas",
"confirmations.reply.message": "Membalas sekarang akan menulis ganti mesej yang anda sedang karang. Adakah anda pasti anda ingin teruskan?",
"confirmations.unfollow.confirm": "Nyahikut",
@@ -180,6 +185,7 @@
"conversation.open": "Lihat perbualan",
"conversation.with": "Dengan {names}",
"copypaste.copied": "Disalin",
+ "copypaste.copy_to_clipboard": "Salin ke papan klip",
"directory.federated": "Dari fediverse yang diketahui",
"directory.local": "Dari {domain} sahaja",
"directory.new_arrivals": "Ketibaan baharu",
@@ -189,7 +195,9 @@
"dismissable_banner.community_timeline": "Inilah hantaran awam terkini daripada orang yang akaun dihos oleh {domain}.",
"dismissable_banner.dismiss": "Ketepikan",
"dismissable_banner.explore_links": "Berita-berita ini sedang dibualkan oleh orang di pelayar ini dan pelayar lain dalam rangkaian terpencar sekarang.",
+ "dismissable_banner.explore_statuses": "Ini adalah pos dari seluruh web sosial yang semakin menarik perhatian hari ini. Pos baharu dengan lebih banyak rangsangan dan kegemaran diberi kedudukan lebih tinggi.",
"dismissable_banner.explore_tags": "Tanda-tanda pagar ini daripada pelayar ini dan pelayar lain dalam rangkaian terpencar sedang hangat pada pelayar ini sekarang.",
+ "dismissable_banner.public_timeline": "Ini ialah pos awam terbaharu daripada orang di web sosial yang diikuti oleh orang di {domain}.",
"embed.instructions": "Benam hantaran ini di laman sesawang anda dengan menyalin kod berikut.",
"embed.preview": "Begini rupanya nanti:",
"emoji_button.activity": "Aktiviti",
@@ -231,6 +239,7 @@
"errors.unexpected_crash.copy_stacktrace": "Salin surih tindanan ke papan keratan",
"errors.unexpected_crash.report_issue": "Laporkan masalah",
"explore.search_results": "Hasil carian",
+ "explore.suggested_follows": "Orang",
"explore.title": "Terokai",
"explore.trending_links": "Baru",
"explore.trending_statuses": "Hantar",
@@ -279,10 +288,12 @@
"hashtag.column_settings.tag_toggle": "Sertakan tag tambahan untuk lajur ini",
"hashtag.follow": "Ikuti hashtag",
"hashtag.unfollow": "Nyahikut tanda pagar",
+ "home.actions.go_to_explore": "Lihat apa yand sedang tren",
"home.actions.go_to_suggestions": "Cari orang untuk diikuti",
"home.column_settings.basic": "Asas",
"home.column_settings.show_reblogs": "Tunjukkan galakan",
"home.column_settings.show_replies": "Tunjukkan balasan",
+ "home.explore_prompt.title": "Ini adalah pusat operasi anda dalam Mastodon.",
"home.hide_announcements": "Sembunyikan pengumuman",
"home.show_announcements": "Tunjukkan pengumuman",
"interaction_modal.description.follow": "Dengan akaun pada Mastodon, anda boleh mengikut {name} untuk menerima hantaran mereka di suapan rumah anda.",
@@ -338,6 +349,7 @@
"lightbox.previous": "Sebelumnya",
"limited_account_hint.action": "Paparkan profil",
"limited_account_hint.title": "Profil ini telah disembunyikan oleh moderator {domain}.",
+ "link_preview.author": "Dengan {name}",
"lists.account.add": "Tambah ke senarai",
"lists.account.remove": "Buang daripada senarai",
"lists.delete": "Padam senarai",
@@ -367,6 +379,7 @@
"navigation_bar.domain_blocks": "Domain disekat",
"navigation_bar.edit_profile": "Sunting profil",
"navigation_bar.explore": "Teroka",
+ "navigation_bar.favourites": "Kegemaran",
"navigation_bar.filters": "Perkataan yang dibisukan",
"navigation_bar.follow_requests": "Permintaan ikutan",
"navigation_bar.followed_tags": "Ikuti hashtag",
@@ -396,6 +409,7 @@
"notifications.column_settings.admin.report": "Laporan baru:",
"notifications.column_settings.admin.sign_up": "Pendaftaran baru:",
"notifications.column_settings.alert": "Pemberitahuan atas meja",
+ "notifications.column_settings.favourite": "Kegemaran:",
"notifications.column_settings.filter_bar.advanced": "Papar semua kategori",
"notifications.column_settings.filter_bar.category": "Bar penapis pantas",
"notifications.column_settings.filter_bar.show_bar": "Paparkan bar penapis",
@@ -413,6 +427,7 @@
"notifications.column_settings.update": "Suntingan:",
"notifications.filter.all": "Semua",
"notifications.filter.boosts": "Galakan",
+ "notifications.filter.favourites": "Kegemaran",
"notifications.filter.follows": "Ikutan",
"notifications.filter.mentions": "Sebutan",
"notifications.filter.polls": "Keputusan undian",
@@ -433,19 +448,29 @@
"onboarding.compose.template": "Hello #Mastodon!",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
+ "onboarding.share.next_steps": "Langkah seterusnya yang mungkin:",
+ "onboarding.share.title": "Berkongsi profil anda",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.start.title": "Anda telah berjaya!",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
"onboarding.steps.publish_status.body": "Say hello to the world.",
+ "onboarding.steps.publish_status.title": "Buat pos pertama anda",
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
"onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
"onboarding.steps.share_profile.title": "Share your profile",
+ "onboarding.tips.2fa": "Tahukah anda? Anda boleh melindungi akaun anda dengan menyediakan pengesahan dua faktor dalam tetapan akaun anda. Ia berfungsi dengan mana-mana aplikasi TOTP pilihan anda, tiada nombor telefon diperlukan!",
+ "onboarding.tips.accounts_from_other_servers": "Tahukah anda? Memandangkan Mastodon tidak berpusat, beberapa profil yang anda temui akan dihoskan pada server selain anda. Namun anda boleh berinteraksi dengan mereka dengan lancar! Server mereka berada di separuh kedua nama pengguna mereka!",
+ "onboarding.tips.migration": "Tahukah anda? Jika anda rasa {domain} bukan pilihan server yang bagus untuk anda pada masa hadapan, anda boleh beralih ke server Mastodon yang lain tanpa kehilangan pengikut anda. Anda juga boleh mengehoskan server anda sendiri!",
+ "onboarding.tips.verification": "Tahukah anda? Anda boleh mengesahkan akaun anda dengan meletakkan pautan ke profil Mastodon anda pada tapak web anda sendiri dan menambah tapak web pada profil anda. Tiada bayaran atau dokumen diperlukan!",
+ "password_confirmation.exceeds_maxlength": "Pengesahan kata laluan melebihi panjang kata laluan maksimum",
+ "password_confirmation.mismatching": "Pengesahan kata laluan tidak sepadan",
"picture_in_picture.restore": "Letak semula",
"poll.closed": "Ditutup",
"poll.refresh": "Muat semula",
+ "poll.reveal": "Hasil carian",
"poll.total_people": "{count, plural, other {# orang}}",
"poll.total_votes": "{count, plural, other {# undian}}",
"poll.vote": "Undi",
@@ -499,6 +524,7 @@
"report.reasons.dislike": "Saya tidak suka",
"report.reasons.dislike_description": "Inilah sesuatu yang anda tidak ingin lihat",
"report.reasons.legal": "Ia haram",
+ "report.reasons.legal_description": "Anda percaya ia melanggar undang-undang negara anda atau negara server",
"report.reasons.other": "Inilah sesuatu yang lain",
"report.reasons.other_description": "Isu ini tidak sesuai untuk kategori lain",
"report.reasons.spam": "Inilah spam",
@@ -523,8 +549,16 @@
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Langgaran peraturan",
"report_notification.open": "Buka laporan",
+ "search.no_recent_searches": "Tiada carian terkini",
"search.placeholder": "Cari",
+ "search.quick_action.account_search": "Pos sepadan {x}",
+ "search.quick_action.go_to_account": "Pergi ke profil {x}",
+ "search.quick_action.go_to_hashtag": "Pergi ke hashtag {x}",
+ "search.quick_action.open_url": "Buka URL dalam Mastadon",
+ "search.quick_action.status_search": "Pos sepadan {x}",
"search.search_or_paste": "Cari atau tampal URL",
+ "search_popout.quick_actions": "Tindakan pantas",
+ "search_popout.recent": "Carian terkini",
"search_results.accounts": "Profil",
"search_results.all": "Semua",
"search_results.hashtags": "Tanda pagar",
@@ -556,8 +590,10 @@
"status.edited": "Disunting {date}",
"status.edited_x_times": "Disunting {count, plural, other {{count} kali}}",
"status.embed": "Benaman",
+ "status.favourite": "Kegemaran",
"status.filter": "Tapiskan hantaran ini",
"status.filtered": "Ditapis",
+ "status.hide": "Sembunyikan pos",
"status.history.created": "{name} mencipta pada {date}",
"status.history.edited": "{name} menyunting pada {date}",
"status.load_more": "Muatkan lagi",
@@ -593,6 +629,7 @@
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
"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.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.",
@@ -640,6 +677,7 @@
"upload_modal.preview_label": "Pratonton ({ratio})",
"upload_progress.label": "Memuat naik...",
"upload_progress.processing": "Memproses…",
+ "username.taken": "Nama pengguna tersebut sudah digunakan. Sila cuba lagi",
"video.close": "Tutup video",
"video.download": "Muat turun fail",
"video.exit_fullscreen": "Keluar skrin penuh",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
index 62c7c5d531..731a5b95f5 100644
--- a/app/javascript/mastodon/locales/nn.json
+++ b/app/javascript/mastodon/locales/nn.json
@@ -295,9 +295,9 @@
"hashtag.column_settings.tag_mode.any": "Kva som helst av desse",
"hashtag.column_settings.tag_mode.none": "Ingen av desse",
"hashtag.column_settings.tag_toggle": "Inkluder fleire emneord for denne kolonna",
- "hashtag.counter_by_accounts": "{count, plural, one {{counter} deltaker} other {{counter} deltakere}}",
- "hashtag.counter_by_uses": "{count, plural, one {ett innlegg} other {{counter} innlegg}}",
- "hashtag.counter_by_uses_today": "{count, plural, one {ett innlegg} other {{counter} innlegg}} i dag",
+ "hashtag.counter_by_accounts": "{count, plural,one {{counter} deltakar} other {{counter} deltakarar}}",
+ "hashtag.counter_by_uses": "{count, plural,one {{counter} innlegg} other {{counter} innlegg}}",
+ "hashtag.counter_by_uses_today": "{count, plural,one {{counter} innlegg} other {{counter} innlegg}} i dag",
"hashtag.follow": "Fylg emneknagg",
"hashtag.unfollow": "Slutt å fylgje emneknaggen",
"home.actions.go_to_explore": "Sjå kva som er populært",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 85460b916e..e2563b60c8 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -13,7 +13,7 @@
"about.rules": "Regler for serveren",
"account.account_note_header": "Notat",
"account.add_or_remove_from_list": "Legg til eller fjern fra lister",
- "account.badges.bot": "Robot",
+ "account.badges.bot": "Automatisert",
"account.badges.group": "Gruppe",
"account.block": "Blokker @{name}",
"account.block_domain": "Blokker domenet {domain}",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index 75153b4694..94562d2bb2 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -358,6 +358,7 @@
"lightbox.previous": "Predchádzajúci",
"limited_account_hint.action": "Ukáž profil aj tak",
"limited_account_hint.title": "Tento profil bol skrytý moderátormi stránky {domain}.",
+ "link_preview.author": "Podľa {name}",
"lists.account.add": "Pridaj do zoznamu",
"lists.account.remove": "Odober zo zoznamu",
"lists.delete": "Vymaž list",
@@ -574,6 +575,7 @@
"server_banner.server_stats": "Serverové štatistiky:",
"sign_in_banner.create_account": "Vytvor účet",
"sign_in_banner.sign_in": "Prihlás sa",
+ "sign_in_banner.sso_redirect": "Prihlás sa, alebo zaregistruj",
"status.admin_account": "Otvor moderovacie rozhranie užívateľa @{name}",
"status.admin_status": "Otvor tento príspevok v moderovacom rozhraní",
"status.block": "Blokuj @{name}",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index f1c3d6c374..991d3f8c92 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -200,8 +200,8 @@
"disabled_account_banner.text": "{disabledAccount} hesabınız şu an devre dışı.",
"dismissable_banner.community_timeline": "Bunlar, {domain} sunucusunda hesabı olanların yakın zamandaki herkese açık gönderileridir.",
"dismissable_banner.dismiss": "Yoksay",
- "dismissable_banner.explore_links": "Bu haberler, merkeziyetsiz ağın bu ve diğer sunucularındaki insanlar tarafından şimdilerde konuşuluyor.",
- "dismissable_banner.explore_statuses": "Merkeziyetsiz ağın bu ve diğer sunucularındaki bu gönderiler, mevcut sunucuda şimdilerde ilgi çekiyorlar.",
+ "dismissable_banner.explore_links": "Bunlar şimdilerde sosyal ağlarda en çok paylaşılan haberler. Farklı kişilerin yayınladığı daha yeni haberler daha üst sıralarda yer alır.",
+ "dismissable_banner.explore_statuses": "Bunlar, sosyal ağ genelinde bugün ilgi gören gönderiler. Daha çok yinelenen ve favorilenen yeni gönderiler daha üst sıralarda yer alır.",
"dismissable_banner.explore_tags": "Bu etiketler, merkeziyetsiz ağda bulunan bu ve diğer sunuculardaki insanların şimdilerde ilgisini çekiyor.",
"dismissable_banner.public_timeline": "Bunlar, {domain} üzerindeki insanların, sosyal ağ da takip ettiği insanlarca gönderilen en son ve herkese açık gönderilerdir.",
"embed.instructions": "Aşağıdaki kodu kopyalayarak bu durumu sitenize gömün.",
@@ -227,7 +227,7 @@
"empty_column.blocks": "Henüz herhangi bir kullanıcıyı engellemedin.",
"empty_column.bookmarked_statuses": "Henüz yer imine eklediğin toot yok. Bir tanesi yer imine eklendiğinde burada görünür.",
"empty_column.community": "Yerel zaman çizelgesi boş. Daha fazla eğlence için herkese açık bir gönderi paylaşın!",
- "empty_column.direct": "Henüz doğrudan değinmeniz yok. Bir tane gönderdiğinizde veya aldığınızda burada listelenecekler.",
+ "empty_column.direct": "Henüz doğrudan değinmeniz yok. Bir tane gönderdiğinizde veya aldığınızda burada listelenecek.",
"empty_column.domain_blocks": "Henüz engellenmiş bir alan adı yok.",
"empty_column.explore_statuses": "Şu an öne çıkan birşey yok. Daha sonra tekrar bakın!",
"empty_column.favourited_statuses": "Henüz bir gönderiyi favorilerinize eklememişsiniz. Bir gönderiyi favorilerinize eklediğinizde burada görünecek.",
@@ -418,7 +418,7 @@
"not_signed_in_indicator.not_signed_in": "Bu kaynağa erişmek için oturum açmanız gerekir.",
"notification.admin.report": "{name}, {target} kişisini bildirdi",
"notification.admin.sign_up": "{name} kaydoldu",
- "notification.favourite": "{name} gönderinizden hoşlandı",
+ "notification.favourite": "{name} gönderinizi beğendi",
"notification.follow": "{name} seni takip etti",
"notification.follow_request": "{name} size takip isteği gönderdi",
"notification.mention": "{name} senden bahsetti",
@@ -582,7 +582,7 @@
"search.quick_action.go_to_hashtag": "Etikete git {x}",
"search.quick_action.open_url": "Bağlantıyı Mastodon'da Aç",
"search.quick_action.status_search": "Eşleşen gönderiler {x}",
- "search.search_or_paste": "Ara veya Bağlantıyı yapıştır",
+ "search.search_or_paste": "Ara veya bağlantıyı yapıştır",
"search_popout.quick_actions": "Hızlı eylemler",
"search_popout.recent": "Son aramalar",
"search_results.accounts": "Profiller",
@@ -610,7 +610,7 @@
"status.bookmark": "Yer işareti ekle",
"status.cancel_reblog_private": "Yeniden paylaşımı geri al",
"status.cannot_reblog": "Bu gönderi yeniden paylaşılamaz",
- "status.copy": "Bağlantı durumunu kopyala",
+ "status.copy": "Gönderi bağlantısını kopyala",
"status.delete": "Sil",
"status.detailed_status": "Ayrıntılı sohbet görünümü",
"status.direct": "@{name} kullanıcısına özelden değin",
@@ -643,7 +643,7 @@
"status.reblogs.empty": "Henüz hiç kimse bu Gönderiyi Yeniden Paylaşmadı. Herhangi bir kullanıcı yeniden paylaştığında burada görüntülenecek.",
"status.redraft": "Sil,Düzenle ve Yeniden paylaş",
"status.remove_bookmark": "Yer işaretini kaldır",
- "status.replied_to": "{name} kullanıcısına yanıt verildi",
+ "status.replied_to": "{name} kullanıcısına yanıt verdi",
"status.reply": "Yanıtla",
"status.replyAll": "Konuyu yanıtla",
"status.report": "@{name} adlı kişiyi bildir",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index 6b5533bfb0..df632ac02e 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -12,7 +12,7 @@
"about.powered_by": "Mạng xã hội liên hợp {mastodon}",
"about.rules": "Nội quy máy chủ",
"account.account_note_header": "Ghi chú",
- "account.add_or_remove_from_list": "Thêm hoặc xóa khỏi danh sách",
+ "account.add_or_remove_from_list": "Thêm vào danh sách",
"account.badges.bot": "Bot",
"account.badges.group": "Nhóm",
"account.block": "Chặn @{name}",
@@ -29,7 +29,7 @@
"account.endorse": "Tôn vinh người này",
"account.featured_tags.last_status_at": "Tút gần nhất {date}",
"account.featured_tags.last_status_never": "Chưa có tút",
- "account.featured_tags.title": "Hashtag {name} thường dùng",
+ "account.featured_tags.title": "Hashtag của {name}",
"account.follow": "Theo dõi",
"account.followers": "Người theo dõi",
"account.followers.empty": "Chưa có người theo dõi nào.",
@@ -116,7 +116,7 @@
"column.favourites": "Lượt thích",
"column.firehose": "Bảng tin",
"column.follow_requests": "Yêu cầu theo dõi",
- "column.home": "Bảng tin",
+ "column.home": "Trang chính",
"column.lists": "Danh sách",
"column.mutes": "Người đã ẩn",
"column.notifications": "Thông báo",
@@ -131,7 +131,7 @@
"column_header.unpin": "Không ghim",
"column_subheading.settings": "Cài đặt",
"community.column_settings.local_only": "Chỉ máy chủ của bạn",
- "community.column_settings.media_only": "Chỉ xem media",
+ "community.column_settings.media_only": "Chỉ hiện tút có media",
"community.column_settings.remote_only": "Chỉ người ở máy chủ khác",
"compose.language.change": "Chọn ngôn ngữ tút",
"compose.language.search": "Tìm ngôn ngữ...",
@@ -185,7 +185,7 @@
"confirmations.reply.confirm": "Trả lời",
"confirmations.reply.message": "Nội dung bạn đang soạn thảo sẽ bị ghi đè, bạn có tiếp tục?",
"confirmations.unfollow.confirm": "Bỏ theo dõi",
- "confirmations.unfollow.message": "Bạn thật sự muốn ngưng theo dõi {name}?",
+ "confirmations.unfollow.message": "Bạn thật sự muốn bỏ theo dõi {name}?",
"conversation.delete": "Xóa tin nhắn này",
"conversation.mark_as_read": "Đánh dấu là đã đọc",
"conversation.open": "Xem toàn bộ tin nhắn",
@@ -198,12 +198,12 @@
"directory.recently_active": "Hoạt động gần đây",
"disabled_account_banner.account_settings": "Cài đặt tài khoản",
"disabled_account_banner.text": "Tài khoản {disabledAccount} của bạn hiện không khả dụng.",
- "dismissable_banner.community_timeline": "Đây là những tút gần đây từ những người thuộc máy chủ {domain}.",
+ "dismissable_banner.community_timeline": "Đây là những tút công khai gần đây trong mạng liên hợp của máy chủ {domain}.",
"dismissable_banner.dismiss": "Bỏ qua",
- "dismissable_banner.explore_links": "Những sự kiện đang được thảo luận nhiều trên máy chủ này và những máy chủ khác thuộc mạng liên hợp của nó.",
- "dismissable_banner.explore_statuses": "Những tút đang phổ biến trên máy chủ này và mạng liên hợp của nó.",
- "dismissable_banner.explore_tags": "Những hashtag đang được sử dụng nhiều trên máy chủ này và những máy chủ khác thuộc mạng liên hợp của nó.",
- "dismissable_banner.public_timeline": "Đây là những tút công khai gần đây từ những người trong mạng liên hợp của {domain}.",
+ "dismissable_banner.explore_links": "Đây là những liên kết đang được chia sẻ nhiều trong mạng liên hợp của máy chủ này.",
+ "dismissable_banner.explore_statuses": "Đây là những tút đang phổ biến trong mạng liên hợp của máy chủ này.",
+ "dismissable_banner.explore_tags": "Đây là những hashtag đang được sử dụng nhiều trong mạng liên hợp của máy chủ này.",
+ "dismissable_banner.public_timeline": "Đây là những tút công khai gần đây trong mạng liên hợp của máy chủ {domain}.",
"embed.instructions": "Sao chép đoạn mã dưới đây và chèn vào trang web của bạn.",
"embed.preview": "Nó sẽ hiển thị như vầy:",
"emoji_button.activity": "Hoạt động",
@@ -235,11 +235,11 @@
"empty_column.follow_requests": "Bạn chưa có yêu cầu theo dõi nào.",
"empty_column.followed_tags": "Bạn chưa theo dõi hashtag nào. Khi bạn theo dõi, chúng sẽ hiện lên ở đây.",
"empty_column.hashtag": "Chưa có tút nào dùng hashtag này.",
- "empty_column.home": "Bảng tin của bạn đang trống! Hãy theo dõi nhiều người hơn. {suggestions}",
+ "empty_column.home": "Trang chính của bạn đang trống! Hãy theo dõi nhiều người hơn để lấp đầy.",
"empty_column.list": "Chưa có tút. Khi những người trong danh sách này đăng tút mới, chúng sẽ xuất hiện ở đây.",
"empty_column.lists": "Bạn chưa tạo danh sách nào.",
"empty_column.mutes": "Bạn chưa ẩn bất kỳ ai.",
- "empty_column.notifications": "Bạn chưa có thông báo nào. Hãy thử theo dõi hoặc nhắn riêng cho một ai đó.",
+ "empty_column.notifications": "Bạn chưa có thông báo nào. Hãy thử theo dõi hoặc nhắn riêng cho ai đó.",
"empty_column.public": "Trống trơn! Bạn hãy viết gì đó hoặc bắt đầu theo dõi những người khác",
"error.unexpected_crash.explanation": "Trang này có thể không hiển thị chính xác do lỗi lập trình Mastodon hoặc vấn đề tương thích trình duyệt.",
"error.unexpected_crash.explanation_addons": "Trang này không thể hiển thị do xung khắc với add-on của trình duyệt hoặc công cụ tự động dịch ngôn ngữ.",
@@ -299,16 +299,16 @@
"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.unfollow": "Ngưng theo dõi hashtag",
+ "hashtag.unfollow": "Bỏ theo dõi hashtag",
"home.actions.go_to_explore": "Khám phá xu hướng",
- "home.actions.go_to_suggestions": "Đề xuất theo dõi",
+ "home.actions.go_to_suggestions": "Tìm người theo dõi",
"home.column_settings.basic": "Tùy chỉnh",
"home.column_settings.show_reblogs": "Hiện những lượt đăng lại",
"home.column_settings.show_replies": "Hiện những tút dạng trả lời",
- "home.explore_prompt.body": "Bảng tin của bạn sẽ có sự kết hợp của các tút gắn hashtag mà bạn đã chọn để theo dõi, những người bạn đã chọn để theo dõi và các bài đăng lại từ họ. Lúc này có vẻ hơi trống, sao bạn không:",
+ "home.explore_prompt.body": "Bảng tin của bạn sẽ bao gồm các tút có hashtag bạn theo dõi, những người bạn theo dõi và các tút mà họ đăng lại. Lúc này có vẻ hơi trống, sao bạn không:",
"home.explore_prompt.title": "Đây là ngôi nhà Mastodon của bạn.",
"home.hide_announcements": "Ẩn thông báo máy chủ",
- "home.show_announcements": "Hiện thông báo máy chủ",
+ "home.show_announcements": "Xem thông báo máy chủ",
"interaction_modal.description.favourite": "Với tài khoản Mastodon, bạn có thể cho người đăng biết bạn thích tút này và lưu lại tút.",
"interaction_modal.description.follow": "Với tài khoản Mastodon, bạn có thể theo dõi {name} để tút của họ hiện trên bảng tin của mình.",
"interaction_modal.description.reblog": "Với tài khoản Mastodon, bạn có thể đăng lại tút này để chia sẻ nó với những người đang theo dõi bạn.",
@@ -340,7 +340,7 @@
"keyboard_shortcuts.favourites": "Mở lượt thích",
"keyboard_shortcuts.federated": "mở mạng liên hợp",
"keyboard_shortcuts.heading": "Danh sách phím tắt",
- "keyboard_shortcuts.home": "mở bảng tin",
+ "keyboard_shortcuts.home": "mở trang chính",
"keyboard_shortcuts.hotkey": "Phím tắt",
"keyboard_shortcuts.legend": "hiện bảng hướng dẫn này",
"keyboard_shortcuts.local": "mở máy chủ của bạn",
@@ -467,26 +467,26 @@
"onboarding.action.back": "Quay lại",
"onboarding.actions.back": "Quay lại",
"onboarding.actions.go_to_explore": "Xem những gì đang thịnh hành",
- "onboarding.actions.go_to_home": "Đi đến bảng tin",
+ "onboarding.actions.go_to_home": "Đến trang chính",
"onboarding.compose.template": "Xin chào #Mastodon!",
"onboarding.follows.empty": "Không có kết quả có thể được hiển thị lúc này. Bạn có thể thử sử dụng tính năng tìm kiếm hoặc duyệt qua trang khám phá để tìm những người theo dõi hoặc thử lại sau.",
- "onboarding.follows.lead": "Bạn quản lý bảng tin của riêng bạn. Bạn càng theo dõi nhiều người, nó sẽ càng sôi động và thú vị. Những hồ sơ này có thể là một điểm khởi đầu tốt—bạn luôn có thể hủy theo dõi họ sau!",
+ "onboarding.follows.lead": "Bạn quản lý bảng tin của riêng bạn. Bạn càng theo dõi nhiều người, nó sẽ càng sôi động và thú vị. Để bắt đầu, đây là vài gợi ý:",
"onboarding.follows.title": "Thịnh hành trên Mastodon",
"onboarding.share.lead": "Hãy cho mọi người biết làm thế nào họ có thể tìm thấy bạn trên Mastodon!",
"onboarding.share.message": "Tôi là {username} trên #Mastodon! Hãy theo dõi tôi tại {url}",
"onboarding.share.next_steps": "Các bước kế tiếp:",
- "onboarding.share.title": "Chia sẻ hồ sơ của bạn",
+ "onboarding.share.title": "Chia sẻ hồ sơ",
"onboarding.start.lead": "Tài khoản Mastodon mới của bạn đã sẵn sàng hoạt động. Đây là cách bạn có thể tận dụng tối đa nó:",
"onboarding.start.skip": "Muốn bỏ qua luôn?",
"onboarding.start.title": "Xong rồi bạn!",
- "onboarding.steps.follow_people.body": "Bạn quản lý bảng tin của riêng bạn. Hãy lấp đầy nó với những người thú vị.",
- "onboarding.steps.follow_people.title": "Theo dõi {count, plural, other {# người}}",
- "onboarding.steps.publish_status.body": "Gửi lời chào tới thế giới mới.",
- "onboarding.steps.publish_status.title": "Đăng tút đầu tiên của bạn",
- "onboarding.steps.setup_profile.body": "Những người khác có nhiều khả năng tương tác với bạn hơn nếu hồ sơ bạn được điền đầy đủ thông tin.",
+ "onboarding.steps.follow_people.body": "Theo dõi những người thú vị trên Mastodon.",
+ "onboarding.steps.follow_people.title": "Cá nhân hóa trang chính",
+ "onboarding.steps.publish_status.body": "Chào cộng đồng bằng lời nói, ảnh hoặc video {emoji}",
+ "onboarding.steps.publish_status.title": "Đăng tút đầu tiên",
+ "onboarding.steps.setup_profile.body": "Tạo sự tương tác bằng một hồ sơ hoàn chỉnh.",
"onboarding.steps.setup_profile.title": "Tùy biến hồ sơ",
"onboarding.steps.share_profile.body": "Hãy để bạn bè của bạn biết cách tìm thấy bạn trên Mastodon!",
- "onboarding.steps.share_profile.title": "Chia sẻ hồ sơ của bạn",
+ "onboarding.steps.share_profile.title": "Chia sẻ hồ sơ Mastodon của bạn",
"onboarding.tips.2fa": "Bạn có biết? Bạn có thể bảo mật tài khoản của mình bằng cách thiết lập xác thực hai yếu tố trong cài đặt tài khoản của mình. Nó hoạt động với bất kỳ ứng dụng OTP nào bạn chọn, không cần số điện thoại!",
"onboarding.tips.accounts_from_other_servers": "Bạn có biết? Vì Mastodon liên hợp, một số hồ sơ bạn gặp sẽ được lưu trữ trên các máy chủ không giống bạn. Tuy nhiên, bạn có thể tương tác với họ một cách liền mạch! Máy chủ của họ nằm ở nửa sau tên người dùng của họ!",
"onboarding.tips.migration": "Bạn có biết? Nếu bạn thấy {domain} không phải là lựa chọn máy chủ tuyệt vời cho bạn trong tương lai, bạn có thể chuyển sang máy chủ Mastodon khác mà không bị mất người theo dõi. Bạn thậm chí có thể lưu trữ máy chủ của riêng bạn!",
@@ -494,7 +494,7 @@
"password_confirmation.exceeds_maxlength": "Mật khẩu vượt quá độ dài mật khẩu tối đa",
"password_confirmation.mismatching": "Mật khẩu không trùng khớp",
"picture_in_picture.restore": "Hiển thị bình thường",
- "poll.closed": "Kết thúc",
+ "poll.closed": "Đóng",
"poll.refresh": "Làm mới",
"poll.reveal": "Xem kết quả",
"poll.total_people": "{count, plural, other {# người bình chọn}}",
@@ -504,7 +504,7 @@
"poll.votes": "{votes, plural, other {# lượt bình chọn}}",
"poll_button.add_poll": "Tạo bình chọn",
"poll_button.remove_poll": "Hủy cuộc bình chọn",
- "privacy.change": "Thay đổi quyền riêng tư",
+ "privacy.change": "Chọn kiểu tút",
"privacy.direct.long": "Chỉ người được nhắc đến mới thấy",
"privacy.direct.short": "Nhắn riêng",
"privacy.private.long": "Dành riêng cho người theo dõi",
@@ -517,7 +517,7 @@
"privacy_policy.title": "Chính sách bảo mật",
"refresh": "Làm mới",
"regeneration_indicator.label": "Đang tải…",
- "regeneration_indicator.sublabel": "Bảng tin của bạn đang được cập nhật!",
+ "regeneration_indicator.sublabel": "Trang chính của bạn đang được cập nhật!",
"relative_time.days": "{number} ngày",
"relative_time.full.days": "{number, plural, other {# ngày}}",
"relative_time.full.hours": "{number, plural, other {# giờ}}",
@@ -537,8 +537,8 @@
"report.categories.violation": "Vi phạm nội quy máy chủ",
"report.category.subtitle": "Chọn lý do phù hợp nhất:",
"report.category.title": "{type} này có vấn đề gì?",
- "report.category.title_account": "người này",
- "report.category.title_status": "tút",
+ "report.category.title_account": "Người",
+ "report.category.title_status": "Tút",
"report.close": "Xong",
"report.comment.title": "Có điều gì mà chúng tôi cần biết không?",
"report.forward": "Chuyển đến {target}",
@@ -567,8 +567,8 @@
"report.thanks.take_action_actionable": "Trong lúc chờ chúng tôi xem xét, bạn có thể áp dụng hành động với @{name}:",
"report.thanks.title": "Không muốn xem thứ này?",
"report.thanks.title_actionable": "Cảm ơn đã báo cáo, chúng tôi sẽ xem xét kỹ.",
- "report.unfollow": "Ngưng theo dõi @{name}",
- "report.unfollow_explanation": "Bạn đang theo dõi người này. Để không thấy tút của họ trong bảng tin nữa, hãy ngưng theo dõi.",
+ "report.unfollow": "Bỏ theo dõi @{name}",
+ "report.unfollow_explanation": "Bạn đang theo dõi người này. Để không thấy tút của họ trên trang chính nữa, hãy bỏ theo dõi.",
"report_notification.attached_statuses": "{count, plural, other {{count} tút}} đính kèm",
"report_notification.categories.legal": "Pháp lý",
"report_notification.categories.other": "Khác",
@@ -623,14 +623,14 @@
"status.filter": "Lọc tút này",
"status.filtered": "Bộ lọc",
"status.hide": "Ẩn tút",
- "status.history.created": "{name} tạo vào {date}",
- "status.history.edited": "{name} sửa vào {date}",
+ "status.history.created": "{name} đăng {date} trước",
+ "status.history.edited": "{name} đã sửa {date} trước",
"status.load_more": "Tải thêm",
"status.media.open": "Nhấn để mở",
"status.media.show": "Nhấn để xem",
"status.media_hidden": "Đã ẩn",
"status.mention": "Nhắc đến @{name}",
- "status.more": "Thêm",
+ "status.more": "Xem thêm",
"status.mute": "Ẩn @{name}",
"status.mute_conversation": "Không quan tâm nữa",
"status.open": "Đọc tút",
@@ -658,7 +658,7 @@
"status.title.with_attachments": "{user} đã đăng {attachmentCount, plural, other {{attachmentCount} đính kèm}}",
"status.translate": "Dịch tút",
"status.translated_from_with": "Dịch từ {lang} bằng {provider}",
- "status.uncached_media_warning": "Xem trước không sẵn có",
+ "status.uncached_media_warning": "Không bản xem trước",
"status.unmute_conversation": "Quan tâm",
"status.unpin": "Bỏ ghim trên hồ sơ",
"subscribed_languages.lead": "Chỉ các tút đăng bằng các ngôn ngữ đã chọn mới được xuất hiện trên bảng tin của bạn. Không chọn gì cả để đọc tút đăng bằng mọi ngôn ngữ.",
@@ -666,7 +666,7 @@
"subscribed_languages.target": "Đổi ngôn ngữ mong muốn cho {target}",
"suggestions.dismiss": "Tắt đề xuất",
"suggestions.header": "Có thể bạn quan tâm…",
- "tabs_bar.home": "Bảng tin",
+ "tabs_bar.home": "Trang chính",
"tabs_bar.notifications": "Thông báo",
"time_remaining.days": "{number, plural, other {# ngày}}",
"time_remaining.hours": "{number, plural, other {# giờ}}",
diff --git a/config/application.rb b/config/application.rb
index a3bd3dfa4e..372adc1680 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -41,6 +41,8 @@ require_relative '../lib/mastodon/rack_middleware'
require_relative '../lib/public_file_server_middleware'
require_relative '../lib/devise/two_factor_ldap_authenticatable'
require_relative '../lib/devise/two_factor_pam_authenticatable'
+require_relative '../lib/chewy/settings_extensions'
+require_relative '../lib/chewy/index_extensions'
require_relative '../lib/chewy/strategy/mastodon'
require_relative '../lib/chewy/strategy/bypass_with_warning'
require_relative '../lib/webpacker/manifest_extensions'
diff --git a/config/initializers/chewy.rb b/config/initializers/chewy.rb
index dc90176213..7d51a08457 100644
--- a/config/initializers/chewy.rb
+++ b/config/initializers/chewy.rb
@@ -25,14 +25,6 @@ Chewy.root_strategy = :bypass_with_warning if Rails.env.production?
Chewy.request_strategy = :mastodon
Chewy.use_after_commit_callbacks = false
-module Chewy
- class << self
- def enabled?
- settings[:enabled]
- end
- end
-end
-
# Elasticsearch uses Faraday internally. Faraday interprets the
# http_proxy env variable by default which leads to issues when
# Mastodon is run with hidden services enabled, because
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index 348521ae82..11d368f77e 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -399,6 +399,12 @@ ar:
confirm_suspension:
cancel: إلغاء
confirm: علّق الحساب
+ permanent_action: لن يستعيد رفع الحظر أي بيانات أو علاقات.
+ preamble_html: أنت على وشك تعليق %{domain} وجميع نطاقاته الفرعيّة.
+ remove_all_data: ستُحذف كل المحتوى والوسائط وبيانات حسابات هذا النطاق من خادومك.
+ stop_communication: سيتوقّف خادومك عن التواصل مع كل هذه الخادومات.
+ title: تأكيد حظر نطاق %{domain}
+ undo_relationships: سيتم التراجع عن أي علاقات متابعة ما بين الحسابات على هذه الخادومات وخادومك.
created_msg: إنّ حجب النطاق حيز التشغيل
destroyed_msg: تم إلغاء الحجب المفروض على النطاق
domain: النطاق
diff --git a/config/locales/de.yml b/config/locales/de.yml
index e1501e1d1d..8bbc33f3a1 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -1018,7 +1018,7 @@ de:
privacy_policy_agreement_html: Ich habe die Datenschutzerklärung gelesen und stimme ihr zu
progress:
confirm: E-Mail-Adresse bestätigen
- details: Deine Daten
+ details: Deine Details
review: Unsere Überprüfung
rules: Regeln akzeptieren
providers:
diff --git a/config/locales/devise.vi.yml b/config/locales/devise.vi.yml
index 2139daca75..904cc51fe9 100644
--- a/config/locales/devise.vi.yml
+++ b/config/locales/devise.vi.yml
@@ -14,7 +14,7 @@ vi:
not_found_in_database: "%{authentication_keys} không có trong dữ liệu."
pending: Tài khoản của bạn vẫn đang được xem xét.
timeout: Phiên của bạn đã hết hạn. Vui lòng đăng nhập lại để tiếp tục.
- unauthenticated: Bạn cần đăng nhập hoặc đăng ký trước khi tiếp tục.
+ unauthenticated: Bạn cần đăng nhập để tiếp tục.
unconfirmed: Bạn phải xác minh địa chỉ email trước khi tiếp tục.
mailer:
confirmation_instructions:
diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml
index aecedbe443..d6e62d82b1 100644
--- a/config/locales/doorkeeper.vi.yml
+++ b/config/locales/doorkeeper.vi.yml
@@ -71,7 +71,7 @@ vi:
confirmations:
revoke: Bạn có chắc không?
index:
- authorized_at: Cho phép vào %{date}
+ authorized_at: Cho phép %{date}
description_html: Đây là những ứng dụng có thể truy cập tài khoản của bạn bằng API. Nếu có ứng dụng bạn không nhận ra ở đây hoặc ứng dụng hoạt động sai, bạn có thể thu hồi quyền truy cập của ứng dụng đó.
last_used_at: Dùng lần cuối %{date}
never_used: Chưa dùng
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index e08939e146..4dff8629b0 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -593,7 +593,7 @@ gd:
pending: A’ feitheamh ri aontachadh an ath-sheachadain
save_and_enable: Sàbhail ’s cuir an comas
setup: Suidhich ceangal ri ath-sheachadain
- signatures_not_enabled: Chan obraich ath-sheachadain mar bu chòir nuair a bhios am modh tèarainte no modh a’ cho-nasgaidh chuingichte an comas
+ signatures_not_enabled: Dh’fhaoidte nach obraich ath-sheachadain mar bu chòir nuair a bhios am modh tèarainte no modh a’ cho-nasgaidh chuingichte an comas
status: Staid
title: Ath-sheachadain
report_notes:
@@ -900,10 +900,10 @@ gd:
no_status_selected: Cha deach post a’ treandadh sam bith atharrachadh o nach deach gin dhiubh a thaghadh
not_discoverable: Cha do chuir an t-ùghdar roimhe gun gabh a rùrachadh
shared_by:
- few: Chaidh a cho-roinneadh no ’na annsachd %{friendly_count} tursan
- one: Chaidh a cho-roinneadh no ’na annsachd %{friendly_count} turas
- other: Chaidh a cho-roinneadh no ’na annsachd %{friendly_count} turas
- two: Chaidh a cho-roinneadh no ’na annsachd %{friendly_count} thuras
+ few: Chaidh a cho-roinneadh no a chur ris na h-annsachdan %{friendly_count} tursan
+ one: Chaidh a cho-roinneadh no a chur ris na h-annsachdan %{friendly_count} turas
+ other: Chaidh a cho-roinneadh no a chur ris na h-annsachdan %{friendly_count} turas
+ two: Chaidh a cho-roinneadh no a chur ris na h-annsachdan %{friendly_count} thuras
title: Postaichean a’ treandadh
tags:
current_score: Sgòr làithreach de %{score}
@@ -1631,7 +1631,7 @@ gd:
migrate: Imrich cunntais
notifications: Brathan
preferences: Roghainnean
- profile: Pròifil
+ profile: Pròifil phoblach
relationships: Dàimhean leantainn
statuses_cleanup: Sguabadh às fèin-obrachail phostaichean
strikes: Rabhaidhean na maorsainneachd
@@ -1717,7 +1717,7 @@ gd:
keep_polls_hint: Cha dèid gin dhe na cunntasan-bheachd agad a sguabadh às
keep_self_bookmark: Cùm na chuir thu ris comharran-lìn
keep_self_bookmark_hint: Cha dèid gin dhe na postaichean agad fhèin a chuir thu ris na comharran-lìn agad a sguabadh às
- keep_self_fav: Cùm na chuir thu ris na h-annsachdan
+ keep_self_fav: Cùm na postaichean a chuir thu ris na h-annsachdan
keep_self_fav_hint: Cha dèid gin dhe na postaichean agad fhèin a chuir thu ris na h-annsachdan agad a sguabadh às
min_age:
'1209600': 2 sheachdain
@@ -1729,8 +1729,8 @@ gd:
'63113904': 2 bhliadhna
'7889238': 3 mìosan
min_age_label: Stairsneach aoise
- min_favs: Cùm na tha ’na annsachd aig co-dhiù
- min_favs_hint: Cha dèid gin dhe na postaichean agad a sguabadh às a tha ’nan annsachd an àireamh de thursan seo air a char as lugha. Fàg seo bàn airson postaichean a sguabadh às ge b’ e co mheud turas a tha iad ’nan annsachd
+ min_favs: Cùm na postaichean a chaidh a chur ris na h-annsachdan co-dhiù
+ min_favs_hint: Cha dèid gin dhe na postaichean agad a sguabadh às a chaidh a chur ris na h-annsachdan an àireamh seo de thursan air a char as lugha. Fàg seo bàn airson na postaichean a sguabadh às ge b’ e co mheud neach a chuir ris na h-annsachdan iad
min_reblogs: Cùm na tha ’ga bhrosnachadh le co-dhiù
min_reblogs_hint: Cha dèid gin dhe na postaichean agad a sguabadh às a tha ’gam brosnachadh an àireamh de thursan seo air a char as lugha. Fàg seo bàn airson postaichean a sguabadh às ge b’ e co mheud turas a tha iad ’gam brosnachadh
stream_entries:
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index 4223467032..eeb8f16ae4 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -101,6 +101,7 @@ kab:
search: Nadi
search_same_email_domain: Iseqdacen-nniḍen s yiwet n taɣult n yimayl
search_same_ip: Imseqdacen-nniḍen s tansa IP am tinn-ik
+ security: Taɣellist
security_measures:
only_password: Awal uffir kan
password_and_2fa: Awal uffir d 2FA
@@ -253,6 +254,8 @@ kab:
undo: Kkes seg tebdart tamellalt
domain_blocks:
add_new: Rni iḥder amaynut n taɣult
+ confirm_suspension:
+ cancel: Sefsex
domain: Taγult
export: Sifeḍ
import: Kter
@@ -283,6 +286,7 @@ kab:
instances:
back_to_all: Akk
back_to_limited: Ɣur-s talast
+ back_to_warning: Γur-wat
by_domain: Taγult
content_policies:
policy: Tasertit
@@ -353,6 +357,7 @@ kab:
category: Taggayt
comment:
none: Ula yiwen
+ confirm: Sentem
mark_as_resolved: Creḍ-it yefra
mark_as_unresolved: Creḍ-it ur yefra ara
notes:
@@ -407,6 +412,7 @@ kab:
application: Asnas
back_to_account: Tuγalin γer usebter n umiḍan
deleted: Yettwakkes
+ favourites: Imenyafen
language: Tutlayt
media:
title: Taγwalt
@@ -437,9 +443,11 @@ kab:
view_profile: Ssken-d amaɣnu
view_status: Ssken-d tasuffiɣt
applications:
+ logout: Ffeɣ
token_regenerated: Ajuṭu n unekcum yettusirew i tikkelt-nniḍen akken iwata
your_token: Ajiṭun-ik·im n unekcum
auth:
+ apply_for_account: Suter amiḍan
delete_account: Kkes amiḍan
description:
prefix_invited_by_user: "@%{name} inced-ik·ikem ad ternuḍ ɣer uqeddac-a n Mastodon!"
@@ -456,6 +464,8 @@ kab:
register: Jerred
registration_closed: "%{instance} ur yeqbil ara imttekkiyen imaynuten"
reset_password: Wennez awal uffir
+ rules:
+ back: Tuɣalin
security: Taγellist
set_new_password: Egr-d awal uffir amaynut
status:
@@ -489,15 +499,8 @@ kab:
username_available: Isem-ik·im n useqdac ad yuɣal yella i tikkelt-nniḍen
username_unavailable: Isem-ik·im n useqdac ad yeqqim ulac-it
errors:
- '400': The request you submitted was invalid or malformed.
- '403': You don't have permission to view this page.
- '404': The page you are looking for isn't here.
- '406': This page is not available in the requested format.
- '410': The page you were looking for doesn't exist here anymore.
- '429': Too many requests
'500':
title: Asebter-ayi d arameγtu
- '503': The page could not be served due to a temporary server failure.
existing_username_validator:
not_found_multiple: ur yezmir ara ad yaf %{usernames}
exports:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 6cce9b9937..b784dad25c 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -1395,8 +1395,8 @@ ko:
title: 새 팔로우 요청
mention:
action: 답장
- body: "%{name} 님이 나를 언급했습니다:"
- subject: "%{name} 님이 나를 언급했습니다"
+ body: "%{name} 님이 나를 멘션했습니다:"
+ subject: "%{name} 님이 나를 멘션했습니다"
title: 새 답글
poll:
subject: "%{name}의 투표가 종료되었습니다"
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index e7d20891b7..c0d0c1eecc 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -115,6 +115,7 @@ ms:
reject: Tolak
rejected_msg: Berjaya menolak permohonan pendaftaran %{username}
remote_suspension_irreversible: Data akaun ini telah dipadamkan secara tidak dapat dipulihkan.
+ remote_suspension_reversible_hint_html: Akaun telah digantung pada server mereka dan data akan dialih keluar sepenuhnya pada %{date}. Sehingga itu, server jauh boleh memulihkan akaun ini tanpa sebarang kesan buruk. Jika anda ingin mengalih keluar semua data akaun dengan segera, anda boleh berbuat demikian di bawah.
remove_avatar: Buang avatar
remove_header: Buang pengepala
removed_avatar_msg: Berjaya membuang imej avatar %{username}
@@ -380,6 +381,9 @@ ms:
permanent_action: Membuat asal penggantungan tidak akan memulihkan sebarang data atau perhubungan.
preamble_html: Anda akan menggantung %{domain} dan subdomainnya.
remove_all_data: Ini akan mengalih keluar semua kandungan, media dan data profil untuk akaun domain ini daripada sever anda.
+ stop_communication: Server anda akan berhenti berkomunikasi dengan server ini.
+ title: Sahkan blok domain untuk %{domain}
+ undo_relationships: Ini akan membuat asal sebarang hubungan ikut antara akaun server ini dan akaun anda.
created_msg: Sekatan domain sedang diproses
destroyed_msg: Sekatan domain telah diundurkan
domain: Domain
@@ -392,6 +396,7 @@ ms:
create: Cipta sekatan
hint: Sekatan domain tidak akan menghindarkan penciptaan entri akaun dalam pangkalan data, tetapi akan dikenakan kaedah penyederhanaan khusus tertentu pada akaun-akaun tersebut secara retroaktif dan automatik.
severity:
+ desc_html: "Had akan menjadikan siaran daripada akaun di domain ini tidak kelihatan kepada sesiapa sahaja yang tidak mengikutinya. Tangguhkan akan mengalih keluar semua kandungan, media dan data profil untuk akaun domain ini daripada server anda. Gunakan Tiada jika anda hanya mahu menolak fail media."
noop: Tiada
silence: Hadkan
suspend: Gantungkan
@@ -426,6 +431,7 @@ ms:
title: Sekat domain e-mel baharu
no_email_domain_block_selected: Tiada sekatan domain e-mel diubah kerana tiada yang dipilih
not_permitted: Tidak dibenarkan
+ resolved_dns_records_hint_html: Nama domain diselesaikan kepada domain MX berikut, yang akhirnya bertanggungjawab untuk menerima e-mel. Menyekat domain MX akan menyekat pendaftaran daripada mana-mana alamat e-mel yang menggunakan domain MX yang sama, walaupun nama domain yang kelihatan berbeza. Berhati-hati untuk tidak menyekat penyedia e-mel utama.
resolved_through_html: Diselesaikan melalui %{domain}
title: Domain e-mel disekat
export_domain_allows:
@@ -434,8 +440,12 @@ ms:
no_file: Tiada fail dipilih
export_domain_blocks:
import:
+ description_html: Anda akan mengimport senarai blok domain. Sila semak senarai ini dengan teliti, terutamanya jika anda belum mengarang senarai ini sendiri.
existing_relationships_warning: Hubungan ikut sedia ada
+ private_comment_description_html: 'Untuk membantu anda menjejak dari mana datangnya blok yang diimport, blok yang diimport akan dibuat dengan ulasan peribadi berikut: %{comment}
'
+ private_comment_template: Diimport daripada %{source} pada %{date}
title: Import blok domain
+ invalid_domain_block: 'Satu atau lebih blok domain telah dilangkau kerana ralat berikut: %{error}'
new:
title: Import blok domain
no_file: Tiada fail yang dipilih
@@ -449,6 +459,8 @@ ms:
unsuppress: Tetap semula saranan ikutan
instances:
availability:
+ failure_threshold_reached: Ambang kegagalan dicapai pada %{date}.
+ no_failures_recorded: Tiada kegagalan dalam rekod.
title: Ketersediaan
warning: Percubaan terakhir untuk menyambung ke pelayan ini tidak berjaya
back_to_all: Semua
@@ -458,6 +470,8 @@ ms:
confirm_purge: Adakah anda pasti mahu menghapuskan senarai ini secara kekal daripada domain ini?
content_policies:
comment: Catatan dalaman
+ description_html: Anda boleh menentukan dasar kandungan yang akan digunakan pada semua akaun daripada domain ini dan mana-mana subdomainnya.
+ limited_federation_mode_description_html: Anda boleh memilih sama ada untuk membenarkan persekutuan dengan domain ini.
policies:
reject_media: Tolak media
reject_reports: Tolak laporan
@@ -485,6 +499,7 @@ ms:
delivery_available: Penghantaran tersedia
delivery_error_days: Hari ralat penghantaran
delivery_error_hint: Jika penghantaran tidak berjaya selama %{count} hari, ia akan ditanda sebagai tidak boleh dihantar.
+ destroyed_msg: Data daripada %{domain} kini beratur untuk pemadaman segera.
empty: Tiada domain dijumpai.
known_accounts:
other: "%{count} akaun dikenali"
@@ -494,12 +509,15 @@ ms:
title: Penyederhanaan
private_comment: Ulasan peribadi
public_comment: Ulasan awam
+ purge: Singkir
+ purge_description_html: Jika anda percaya domain ini berada di luar talian selama-lamanya, anda boleh memadamkan semua rekod akaun dan data yang berkaitan daripada domain ini daripada storan anda. Ini mungkin mengambil sedikit masa.
title: Persekutuan
total_blocked_by_us: Disekati kami
total_followed_by_them: Diikuti mereka
total_followed_by_us: Diikuti kami
total_reported: Laporan tentang mereka
total_storage: Lampiran media
+ totals_time_period_hint_html: Jumlah yang dipaparkan di bawah termasuk data untuk sepanjang masa.
invites:
deactivate_all: Nyahaktifkan semua
filter:
@@ -553,7 +571,12 @@ ms:
actions:
delete_description_html: Hantaran yang dilaporkan akan dihapuskan dan pelanggaran itu akan direkodkan bagi membantu anda menguruskan pelanggaran pada akaun yang sama di masa akan datang.
mark_as_sensitive_description_html: Media di dalam hantaran yang dilaporkan akan ditandakan sebagai sensitif dan pelanggaran itu akan direkodkan bagi membantu anda menguruskan pelanggaran pada akaun yang sama di masa akan datang.
+ other_description_html: Lihat lebih banyak pilihan untuk mengawal tingkah laku akaun dan menyesuaikan komunikasi ke akaun yang dilaporkan.
resolve_description_html: Tiada tindakan akan diambil terhadap akaun yang dilaporkan, tiada pelanggaran direkodkan dan laporan akan ditutup.
+ silence_description_html: Akaun itu akan kelihatan hanya kepada mereka yang telah mengikutinya atau mencarinya secara manual, mengehadkan capaiannya dengan teruk. Sentiasa boleh dikembalikan. Menutup semua laporan terhadap akaun ini.
+ suspend_description_html: Akaun dan semua kandungannya akan tidak boleh diakses dan akhirnya dipadamkan, dan berinteraksi dengannya adalah mustahil. Boleh diterbalikkan dalam masa 30 hari. Menutup semua laporan terhadap akaun ini.
+ actions_description_html: Tentukan tindakan yang perlu diambil untuk menyelesaikan laporan ini. Jika anda mengambil tindakan menghukum terhadap akaun yang dilaporkan, pemberitahuan e-mel akan dihantar kepada mereka, kecuali apabila kategori Spam dipilih.
+ actions_description_remote_html: Tentukan tindakan yang perlu diambil untuk menyelesaikan laporan ini. Ini hanya akan menjejaskan cara serveranda berkomunikasi dengan akaun jauh ini dan mengendalikan kandungannya.
add_to_report: Tambahkan lebih banyak pada laporan
are_you_sure: Adakah anda pasti?
assign_to_self: Menugaskan kepada saya
@@ -561,9 +584,12 @@ ms:
by_target_domain: Domain bagi akaun yang dilaporkan
cancel: Batal
category: Kumpulan
+ category_description_html: Sebab akaun dan/atau kandungan ini dilaporkan akan disebut dalam komunikasi dengan akaun yang dilaporkan
comment:
none: Tiada
+ comment_description_html: 'Untuk memberikan maklumat lanjut, %{name} menulis:'
confirm: Konfirm
+ confirm_action: Sahkan tindakan penyederhanaan terhadap @%{acct}
created_at: Dilaporkan
delete_and_resolve: Padam hantaran
forwarded: Dipanjangkan
@@ -579,7 +605,10 @@ ms:
delete: Padam
placeholder: Terangkan tindakan apa yang telah diambil, atau sebarang kemas kini lain yang berkaitan...
title: Catatan
+ notes_description_html: Lihat dan tinggalkan nota kepada moderator lain dan diri masa depan anda
processed_msg: 'Laporan #%{id} berjaya diproses'
+ quick_actions_description_html: 'Ambil tindakan pantas atau tatal ke bawah untuk melihat kandungan yang dilaporkan:'
+ remote_user_placeholder: pengguna jauh dari %{instance}
reopen: Buka semula laporan
report: 'Laporan #%{id}'
reported_account: Akaun yang dilaporkan
@@ -589,9 +618,29 @@ ms:
skip_to_actions: Langkau ke tindakan
status: Status
statuses: Kandungan yang dilaporkan
+ statuses_description_html: Kandungan yang menyinggung perasaan akan disebut dalam komunikasi dengan akaun yang dilaporkan
+ summary:
+ action_preambles:
+ delete_html: 'Anda akan mengalih keluar beberapa siaran @%{acct}. Ini akan:'
+ mark_as_sensitive_html: 'Anda akan menandai beberapa siaran @%{acct} sebagai sensitif. Ini akan:'
+ silence_html: 'Anda akan menghadkan akaun @%{acct}. Ini akan:'
+ suspend_html: 'Anda akan menggantung akaun @%{acct}. Ini akan:'
+ actions:
+ delete_html: Alih keluar pos yang menyinggung perasaan
+ mark_as_sensitive_html: Tandai media pos yang menyinggung perasaan sebagai sensitif
+ silence_html: Hadkan capaian @%{acct} dengan ketat dengan menjadikan profil dan kandungan mereka hanya kelihatan kepada orang yang sudah mengikuti mereka atau melihat profil itu secara manual
+ suspend_html: Gantung @%{acct}, menjadikan profil dan kandungan mereka tidak boleh diakses dan mustahil untuk berinteraksi dengannya
+ close_report: 'Tandai laporan #%{id} sebagai diselesaikan'
+ close_reports_html: Tandai semua laporan terhadap @%{acct} sebagai telah diselesaikan
+ delete_data_html: Padamkan profil dan kandungan @%{acct} 30 hari dari sekarang melainkan mereka dibatalkan penggantungan buat sementara waktu
+ preview_preamble_html: "@%{acct} akan menerima amaran dengan kandungan berikut:"
+ record_strike_html: Rakam bantahan terhadap @%{acct} untuk membantu anda mempertingkatkan tentang pelanggaran akaun ini pada masa hadapan
+ send_email_html: Hantar @%{acct} e-mel amaran
+ warning_placeholder: Penaakulan tambahan pilihan untuk tindakan penyederhanaan.
target_origin: Asalan akaun yang dilaporkan
title: Laporan
unassign: Nyahtugaskan
+ unknown_action_msg: 'Tindakan tidak diketahui: %{action}'
unresolved: Nyahselesaikan
updated_at: Dikemaskini
view_profile: Lihat profil
@@ -606,12 +655,15 @@ ms:
moderation: Penyederhanaan
special: Khas
delete: Padam
+ description_html: Dengan peranan pengguna, anda boleh menyesuaikan fungsi dan kawasan Mastodon yang boleh diakses oleh pengguna anda.
edit: Sunting peranan '%{name}'
everyone: Kebenaran lalai
+ everyone_full_description_html: Ini ialah peranan asas yang mempengaruhi semua pengguna, walaupun mereka yang tidak mempunyai peranan yang ditetapkan. Semua peranan lain mewarisi kebenaran daripadanya.
permissions_count:
other: "%{count} kebenaran"
privileges:
administrator: Pentadbir
+ administrator_description: Users with this permission will bypass every permission
delete_user_data: Padamkan Data Pengguna
delete_user_data_description: Membenarkan pengguna menghapuskan data pengguna lain tanpa bertangguh
invite_users: Mengundang pengguna
@@ -668,12 +720,24 @@ ms:
preamble: Menyesuaikan antara muka web Mastodon.
title: Penampilan
branding:
+ preamble: Penjenamaan server anda membezakannya daripada server lain dalam rangkaian. Maklumat ini mungkin dipaparkan merentasi pelbagai persekitaran, seperti antara muka web Mastodon, aplikasi asli, dalam pratonton pautan di tapak web lain dan dalam aplikasi pemesejan, dan sebagainya. Atas sebab ini, adalah lebih baik untuk memastikan maklumat ini jelas, pendek dan padat.
title: Penjenamaan
+ captcha_enabled:
+ desc_html: Ini bergantung pada skrip luaran daripada hCaptcha, yang mungkin menjadi kebimbangan keselamatan dan privasi. Selain itu, ini boleh menjadikan proses pendaftaran menjadi kurang dapat diakses oleh sesetengah orang (terutamanya orang kurang upaya). Atas sebab ini, sila pertimbangkan langkah alternatif seperti pendaftaran berasaskan kelulusan atau jemputan.
+ title: Memerlukan pengguna baharu menyelesaikan CAPTCHA untuk mengesahkan akaun mereka
content_retention:
+ preamble: Kawal cara kandungan yang dijana pengguna disimpan dalam Mastodon.
title: Pengekalan kandungan
+ default_noindex:
+ desc_html: Mempengaruhi semua pengguna yang tidak menukar tetapan ini sendiri
+ title: Tarik pengguna keluar daripada pengindeksan enjin carian secara lalai
discovery:
+ follow_recommendations: Ikut cadangan
+ preamble: Memaparkan kandungan yang menarik adalah penting dalam memasukkan pengguna baharu yang mungkin tidak mengenali sesiapa Mastodon. Kawal cara pelbagai ciri penemuan berfungsi pada server anda.
profile_directory: Direktori profil
public_timelines: Garis masa awam
+ publish_discovered_servers: Terbitkan pelayan yang ditemui
+ publish_statistics: Terbitkan statistik
title: Penemuan
trends: Sohor kini
domain_blocks:
@@ -688,16 +752,22 @@ ms:
approved: Kelulusan diperlukan untuk pendaftaran
none: Tiada siapa boleh mendaftar
open: Sesiapapun boleh mendaftar
+ title: Tetapan server
site_uploads:
delete: Hapuskan fail yang dimuat naik
destroyed_msg: Muat naik tapak berjaya dihapuskan!
statuses:
account: Penulis
+ application: Aplikasi
+ back_to_account: Kembali ke halaman akaun
+ back_to_report: Kembali ke halaman laporan
batch:
+ remove_from_report: Alih keluar daripada laporan
report: Laporan
deleted: Dipadamkan
favourites: Gemaran
history: Sejarah versi
+ in_reply_to: Membalas kepada
language: Bahasa
media:
title: Media
@@ -709,6 +779,8 @@ ms:
status_changed: Hantaran diubah
title: Hantaran akaun
trending: Sohor kini
+ visibility: Visibiliti
+ with_media: Dengan media
strikes:
actions:
delete_statuses: "%{name} memadam hantaran %{target}"
@@ -720,15 +792,29 @@ ms:
suspend: "%{name} telah menggantungkan akaun %{target}"
appeal_approved: Dirayu
appeal_pending: Rayuan yang belum selesai
+ appeal_rejected: Rayuan ditolak
system_checks:
+ database_schema_check:
+ message_html: Terdapat migrasi pangkalan data yang belum selesai. Sila jalankannya untuk memastikan aplikasi berfungsi seperti yang diharapkan
+ elasticsearch_running_check:
+ message_html: Tidak dapat menyambung ke Elasticsearch. Sila semak sama ada ia sedang berjalan atau lumpuhkan carian teks penuh
+ elasticsearch_version_check:
+ message_html: 'Versi Elasticsearch tidak serasi: %{value}'
+ version_comparison: Elasticsearch %{running_version} sedang berjalan manakala %{required_version} diperlukan
+ rules_check:
+ action: Urus peraturan server
+ message_html: Anda belum menentukan sebarang peraturan server.
sidekiq_process_check:
message_html: Tiada proses Sidekiq berjalan untuk baris gilir %{value}. Sila semak konfigurasi Sidekiq anda
upload_check_privacy_error:
+ action: Semak di sini untuk maklumat lanjut
message_html: "Server web anda salah konfigurasi. Privasi pengguna anda berisiko"
upload_check_privacy_error_object_storage:
+ action: Semak di sini untuk maklumat lanjut
message_html: "Ruang objek anda salah konfigurasi. Privasi pengguna anda berisiko"
tags:
review: Semak status
+ updated_msg: Tetapan hashtag berjaya dikemas kini
title: Pentadbiran
trends:
allow: Izin
@@ -737,11 +823,19 @@ ms:
links:
allow: Membenarkan pautan
allow_provider: Membenarkan penerbit
+ description_html: Ini ialah pautan yang sedang banyak dikongsi oleh akaun tempat server anda melihat siaran daripadanya. Ia boleh membantu pengguna anda mengetahui perkara yang berlaku di dunia. Tiada pautan dipaparkan secara terbuka sehingga anda meluluskan penerbit. Anda juga boleh membenarkan atau menolak pautan individu.
disallow: Tidak membenarkan pautan
+ disallow_provider: Tolak penerbit
+ no_link_selected: Tiada pautan ditukar kerana tiada pautan dipilih
+ publishers:
+ no_publisher_selected: Tiada penerbit ditukar kerana tiada penerbit dipilih
title: Pautan yang sedang sohor kini
+ usage_comparison: Dikongsi %{today} kali hari ini, berbanding %{yesterday} semalam
not_allowed_to_trend: Tidak dibenarkan menjadi trend
only_allowed: Hanya dibenarkan
+ pending_review: Menunggu semak semula
preview_card_providers:
+ description_html: Ini adalah domain dari mana pautan sering dikongsi pada server anda. Pautan tidak akan menjadi aliran secara terbuka melainkan domain pautan itu diluluskan. Kelulusan (atau penolakan) anda dilanjutkan kepada subdomain.
rejected: Pautan daripada penerbit ini tidak akan menjadi sohor kini
title: Penerbit
rejected: Ditolak
@@ -775,10 +869,41 @@ ms:
empty: You don't have any webhook endpoints configured yet.
enable: Dayakan
enabled: Aktif
+ new: Webhook baru
+ rotate_secret: Putar rahsia
+ secret: Menandatangani rahsia
+ status: Status
+ title: Webhook
+ webhook: Webhook
admin_mailer:
new_appeal:
actions:
+ delete_statuses: untuk memadamkan pos mereka
+ disable: untuk membekukan akaun mereka
+ mark_statuses_as_sensitive: untuk menandakan pos mereka sebagai sensitif
+ none: amaran
+ sensitive: untuk menandakan akaun mereka sebagai sensitif
silence: untuk mengehadkan akaun mereka
+ suspend: untuk menggantung akaun mereka
+ body: "%{target} sedang merayu keputusan penyederhanaan sebanyak %{action_taken_by} dari %{date}, iaitu %{type}. Mereka tulis:"
+ next_steps: Anda boleh meluluskan rayuan untuk membuat asal keputusan penyederhanaan atau mengabaikannya.
+ subject: "%{username} sedang merayu keputusan penyederhanaan pada %{instance}"
+ new_pending_account:
+ body: Butiran akaun baharu ada di bawah. Anda boleh meluluskan atau menolak aplikasi ini.
+ subject: Akaun baharu disediakan untuk semakan pada %{instance} (%{username})
+ new_report:
+ body: "%{reporter} telah melaporkan %{target}"
+ body_remote: Seseorang daripada %{domain} telah melaporkan %{target}
+ subject: Laporan baharu untuk %{instance} (#%{id})
+ new_trends:
+ body: 'Item berikut memerlukan semakan sebelum boleh dipaparkan secara terbuka:'
+ new_trending_links:
+ title: Pautan sohor kini
+ new_trending_statuses:
+ title: Pos sohor kini
+ new_trending_tags:
+ no_approved_tags: Pada masa ini tiada hashtag sohor kini yang diluluskan.
+ requirements: 'Mana-mana calon ini boleh melepasi hashtag arah aliran #%{rank} yang diluluskan, yang pada masa ini ialah #%{lowest_tag_name} dengan markah %{lowest_tag_score}.'
appearance:
advanced_web_interface_hint: 'Jika anda ingin menggunakan keseluruhan lebar skrin anda, antara muka web lanjutan membolehkan anda mengkonfigurasi banyak lajur berbeza untuk melihat seberapa banyak maklumat pada masa yang sama seperti yang anda mahu: Laman Utama, pemberitahuan, garis masa bersekutu, sebarang bilangan senarai dan hashteg.'
discovery: Penemuan
@@ -801,7 +926,11 @@ ms:
delete_account: Padam akaun
description:
prefix_sign_up: Daftar pada Mastodon hari ini!
+ suffix: Dengan akaun, anda akan dapat mengikuti orang, menyiarkan kemas kini dan bertukar-tukar mesej dengan pengguna dari mana-mana server Mastodon dan banyak lagi!
+ didnt_get_confirmation: Tidak menerima pautan pengesahan?
+ dont_have_your_security_key: Tiada kunci keselamatan anda?
forgot_password: Terlupa kata laluan anda?
+ invalid_reset_password_token: Token tetapan semula kata laluan tidak sah atau tamat tempoh. Sila minta yang baharu.
log_in_with: Daftar masuk dengan
login: Daftar masuk
logout: Daftar keluar
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index b6f0d8bfe3..5c81e83976 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -1349,10 +1349,10 @@ nn:
favourite: e-postar om favorittmarkeringar
follow: e-postar om nye fylgjarar
follow_request: e-postar om fylgjeførespurnadar
- mention: e-poster om nevninger
- reblog: e-poster om fremhevinger
- resubscribe_html: Hvis du har avsluttet abonnementet ved en feiltakelse, kan du abonnere på nytt i innstillinger for e-postvarsling.
- success_html: Du vil ikke lenger motta %{type} fra Mastodon på %{domain} i e-posten din på %{email}.
+ mention: e-postar om nemningar
+ reblog: e-postar om framhevingar
+ resubscribe_html: Om du har avslutta avslutta abonnementet ved ein feil, kan du abonnera på nytt i innstillingar for e-postvarsling.
+ success_html: Du vil ikkje lenger motta %{type} frå Mastodon på %{domain} til din e-post %{email}.
title: Meld av
media_attachments:
validations:
@@ -1770,10 +1770,10 @@ nn:
seamless_external_login: Du er logga inn gjennom eit eksternt reiskap, so passord og e-postinstillingar er ikkje tilgjengelege.
signed_in_as: 'Logga inn som:'
verification:
- extra_instructions_html: Tips: Lenken på din nettside kan være usynlig. Den viktige delen er rel="me"
som sikrer at nettsteder med brukergenerert innhold ikke kan utgi seg for å være deg. Du kan til og med bruke en link
lenke i sidens topptekst i stedet for a
, men HTML-koden må være tilgjengelig uten å kjøre JavaScript.
+ extra_instructions_html: Tips: Linken på nettsida di kan vera usynleg. Den viktige delen er rel="me"
, som på nettstader med brukargenerert innhald vil hindra at andre kan låst som dei er deg. Du kan til og med bruka link
i staden for a
i toppteksten til sida, men HTML-koden må vera tilgjengeleg utan å måtte køyra JavaScript.
here_is_how: Slik gjer du
- hint_html: "Verifisering av identiteten din på Mastodon er for alle. Basert på åpne nettstandarder, gratis nå og for alltid. Alt du trenger er en personlig nettside som gjør at folk kjenner deg igjen. Når du lenker til dette nettstedet fra din profil, vil vi sjekke at nettstedet lenker tilbake til profilen din og viser dette på profilen din."
- instructions_html: Kopier og lim inn koden nedenfor i HTML til ditt nettsted. Deretter legger du til adressen til nettstedet ditt i et av ekstrafeltene på profilen din fra fanen "Rediger profil" og lagre endringer.
+ hint_html: "Stadfesting av eigen identitet på Mastodon er for alle. Basert på opne nettstandardar, gratis no og for alltid. Alt du treng er ei personleg nettside der folk kjenner deg att. Om du lagar ein link som peikar på denne nettsida frå profilen din, vil profilen din få ein synleg indikator i dei tilfella der nettsida har ein link som peikar attende på profilen."
+ instructions_html: Kopier og lim inn i koden nedanfor i HTML-koden for nettsida di. Legg deretter adressa til nettsida di til i ei av ekstrafelta på profilen din frå fana "Rediger profil" og lagre endringane.
verification: Stadfesting
verified_links: Dine verifiserte lenker
webauthn_credentials:
diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml
index f1b1e06ad1..ce7a87cf9e 100644
--- a/config/locales/simple_form.gd.yml
+++ b/config/locales/simple_form.gd.yml
@@ -170,8 +170,8 @@ gd:
text: Mìnich carson a bu chòir an caochladh a chur orra
defaults:
autofollow: Thoir cuireadh dhaibh airson an cunntas agad a leantainn
- avatar: Avatar
- bot: Seo cunntas bot
+ avatar: Dealbh na pròifil
+ bot: Seo cunntas fèin-obrachail
chosen_languages: Criathraich na cànain
confirm_new_password: Dearbh am facal-faire ùr
confirm_password: Dearbh am facal-faire
@@ -182,8 +182,8 @@ gd:
display_name: Ainm-taisbeanaidh
email: Seòladh puist-d
expires_in: Falbhaidh an ùine air às dèidh
- fields: Meata-dàta na pròifile
- header: Bann-cinn
+ fields: Raointean a bharrachd
+ header: Dealbh a’ bhanna-chinn
honeypot: "%{label} (na lìon seo)"
inbox_url: URL bogsa a-steach an ath-sheachadain
irreversible: Leig seachad seach falach
diff --git a/config/locales/simple_form.ms.yml b/config/locales/simple_form.ms.yml
index 8f4854858d..511742fdff 100644
--- a/config/locales/simple_form.ms.yml
+++ b/config/locales/simple_form.ms.yml
@@ -4,6 +4,8 @@ ms:
hints:
account:
display_name: Nama penuh anda atau nama anda yang menyeronokkan.
+ fields: Halaman utama anda, kata ganti nama, umur, apa sahaja yang anda mahukan.
+ note: 'Anda boleh @menyebut orang lain atau #hashtags.'
account_alias:
acct: Tentukan namapengguna@domain akaun yang ingin anda alihkan daripada
account_migration:
@@ -20,6 +22,8 @@ ms:
disable: Halang pengguna daripada menggunakan akaun mereka, tetapi jangan hapus atau sorokkan kandungan mereka.
none: Gunakan ini untuk menghantar amaran kepada pengguna, tanpa mencetuskan sebarang tindakan lain.
sensitive: Memaksa semua lampiran media pengguna ini ditandakan sebagai sensitif.
+ silence: Halang pengguna daripada dapat membuat siaran dengan keterlihatan awam, menyembunyikan siaran dan pemberitahuan mereka daripada orang yang tidak mengikutinya. Menutup semua laporan terhadap akaun ini.
+ suspend: Halang sebarang interaksi daripada atau ke akaun ini dan padamkan kandungannya. Boleh diterbalikkan dalam masa 30 hari. Menutup semua laporan terhadap akaun ini.
warning_preset_id: Pilihan. Anda masih boleh menambah teks tersuai pada akhir praset
announcement:
all_day: Apabila diperiksa, hanya tarikh dalam julat masa yang akan dipaparkan
@@ -32,22 +36,43 @@ ms:
defaults:
autofollow: Orang yang mendaftar melalui undangan akan mengikuti anda secara automatik
avatar: PNG, GIF atau JPG. Kebanyakannya %{size}. Saiz akan dikecilkan kepada %{dimensions}px
+ bot: Memberi isyarat kepada orang lain bahawa akaun itu kebanyakannya melakukan tindakan automatik dan mungkin tidak dipantau
+ context: Satu atau berbilang konteks di mana penapis harus digunakan
+ current_password: Untuk tujuan keselamatan sila masukkan kata laluan akaun semasa
+ current_username: Untuk mengesahkan, sila masukkan nama pengguna akaun semasa
+ digest: Hanya dihantar selepas tempoh yang lama tidak aktif dan hanya jika anda telah menerima sebarang mesej peribadi semasa ketiadaan anda
+ discoverable: Benarkan akaun anda ditemui oleh orang yang tidak dikenali melalui pengesyoran, aliran dan ciri lain
email: Anda akan dihantar e-mel pengesahan
+ header: PNG, GIF atau JPG. Paling banyak %{size}. Akan diturunkan skala kepada %{dimensions}px
+ inbox_url: Salin URL dari muka depan geganti yang anda mahu gunakan
+ irreversible: Siaran yang ditapis akan hilang secara tidak dapat dipulihkan, walaupun penapis dialih keluar kemudian
locale: Bahasa untuk antara muka pengguna, e-mel dan pemberitahuan segera
+ locked: Kawal orang yang boleh mengikuti anda secara manual dengan meluluskan permintaan ikuti
password: Gunakan sekurang-kurangnya 8 aksara
+ phrase: Akan dipadankan tanpa mengira sarung dalam teks atau amaran kandungan siaran
+ scopes: API mana yang akan dibenarkan untuk diakses oleh aplikasi. Jika anda memilih skop peringkat atasan, anda tidak perlu memilih skop individu.
+ setting_aggregate_reblogs: Jangan tunjukkan rangsangan baharu untuk siaran yang telah dirangsang baru-baru ini (hanya menjejaskan rangsangan yang baru diterima)
setting_always_send_emails: Biasanya pemberitahuan e-mel tidak akan dihantar apabila anda selalu menggunakan Mastodon
+ setting_default_sensitive: Media sensitif disembunyikan secara lalai dan boleh didedahkan dengan satu klik
setting_display_media_default: Sembunyikan media yang ditanda sebagai sensitif
setting_display_media_hide_all: Sentiasa sembunyikan media
setting_display_media_show_all: Sentiasa paparkan media
setting_hide_network: Sesiapa yang anda ikuti dan sesiapa yang mengikuti anda akan disembunyi daripada profil anda
setting_noindex: Menjejaskan profil awam dan laman hantaran anda
+ setting_show_application: Aplikasi yang anda gunakan untuk menyiarkan akan dipaparkan dalam paparan terperinci siaran anda
form_admin_settings:
closed_registrations_message: Dipaparkan semasa pendaftaran ditutup
+ site_contact_email: Cara orang boleh menghubungi anda untuk pertanyaan undang-undang atau sokongan.
site_contact_username: Bagaimana orang boleh menghubungi anda pada Mastodon.
site_extended_description: Apa-apa maklumat tambahan yang mungkin berguna untuk pelawat dan pengguna anda. Boleh distruktur dengan sintaks Markdown.
+ site_short_description: Penerangan ringkas untuk membantu mengenal pasti server anda. Siapa yang menjalankannya, untuk siapa?
site_terms: Gunakan dasar polisi anda atau biarkan kosong untuk menggunakan lalai. Boleh distruktur dengan sintaks Markdown.
site_title: Bagaimana orang boleh merujuk kepada server anda selain nama domainnya.
status_page_url: URL halaman yang membolehkan orang ramai melihat status server ini semasa gangguan
+ theme: Tema yang pelawat log keluar dan pengguna baharu lihat.
+ thumbnail: Imej kira-kira 2:1 dipaparkan bersama maklumat server anda.
+ timeline_preview: Pelawat yang log keluar akan dapat menyemak imbas siaran awam terkini yang tersedia pada server.
+ trendable_by_default: Langkau semakan manual kandungan sohor kini. Item individu masih boleh dialih keluar daripada trend selepas fakta itu.
form_challenge:
current_password: Anda sedang memasuki kawasan selamat
imports:
@@ -63,9 +88,12 @@ ms:
color: Warna yang akan digunakan untuk peranan ini dalam seluruh UI, sebagai RGB dalam format hex
highlighted: Ini menjadikan peranan ini dipaparkan secara umum
permissions_as_keys: Pengguna dengan peranan ini akan mempunyai akses kepada...
+ webhook:
+ url: Di mana acara akan dihantar
labels:
account:
fields:
+ name: Label
value: Kandungan
account_warning_preset:
title: Tajuk
@@ -79,10 +107,14 @@ ms:
suspend: Gantung
warning_preset_id: Gunakan amaran yang ditetapkan
announcement:
+ all_day: Acara sepanjang hari
+ ends_at: Tamat acara
+ starts_at: Permulaan acara
text: Pengumuman
appeal:
text: Jelaskan mengapa keputusan ini patut diterbalikkan
defaults:
+ avatar: Gambar profil
bot: Ini ialah akaun bot
chosen_languages: Tapis bahasa
confirm_new_password: Sahkan kata laluan baru
@@ -95,8 +127,11 @@ ms:
email: Alamat e-mel
expires_in: Tamat tempoh selepas
fields: Metadata profil
+ honeypot: "%{label} (jangan isi)"
+ irreversible: Sebaliknya sembunyikan, jatuhkan
locale: Bahasa antara muka
new_password: Kata laluan baru
+ note: Bio
otp_attempt: Kod dua faktor
password: Kata laluan
phrase: Kata kunci atau frasa
@@ -108,6 +143,7 @@ ms:
setting_display_media_default: Lalai
setting_display_media_hide_all: Sembunyikan semua
setting_display_media_show_all: Paparkan semua
+ setting_hide_network: Sembunyikan graf sosial anda
setting_system_font_ui: Gunakan fon lalai sistem
setting_theme: Tema halaman
setting_trends: Paparkan trend hari ini
@@ -136,6 +172,7 @@ ms:
site_short_description: Penerangan pelayan
site_terms: Dasar Privasi
site_title: Nama pelayan
+ status_page_url: URL halaman status
theme: Tema asal
trends: Dayakan trend
invite:
@@ -166,6 +203,7 @@ ms:
usable: Benarkan siaran untuk menggunakan tanda pagar ini
user:
role: Peranan
+ time_zone: Zon masa
user_role:
color: Warna lencana
name: Nama
@@ -175,5 +213,6 @@ ms:
not_recommended: Tidak disyorkan
recommended: Disyorkan
required:
+ mark: "*"
text: diperlukan
'yes': Ya
diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml
index b35c11f362..80333c96e5 100644
--- a/config/locales/simple_form.vi.yml
+++ b/config/locales/simple_form.vi.yml
@@ -4,7 +4,7 @@ vi:
hints:
account:
display_name: Tên đầy đủ hoặc biệt danh đều được.
- fields: Trang blog của bạn, nghề nghiệp, tuổi hay bất cứ thứ gì.
+ fields: Trang blog của bạn, nghề nghiệp, tuổi hoặc bất cứ thứ gì.
note: 'Bạn có thể @nhắnriêng ai đó hoặc #hashtags.'
account_alias:
acct: Nhập tên_người_dùng@máy chủ của tài khoản cũ
@@ -19,9 +19,9 @@ vi:
text_html: Tùy chọn. Bạn nên dùng mẫu có sẵn để tiết kiệm thời gian
type_html: Chọn làm gì với %{acct}
types:
- disable: Tạm khóa đăng nhập tài khoản, nhưng không xóa hoặc ẩn tút.
+ disable: Tạm không cho đăng nhập tài khoản.
none: Cảnh cáo tài khoản này, không áp đặt trừng phạt.
- sensitive: Mọi tập tin của tài khoản này tải lên đều sẽ bị gắn nhãn nhạy cảm.
+ sensitive: Tất cả media tải lên sẽ bị gắn nhãn nhạy cảm.
silence: Cấm người này đăng tút công khai, ẩn tút của họ hiện ra với những người chưa theo dõi họ.
suspend: Vô hiệu hóa và xóa sạch dữ liệu của tài khoản này. Có thể khôi phục trước 30 ngày.
warning_preset_id: Tùy chọn. Bạn vẫn có thể thêm chú thích riêng
@@ -53,14 +53,14 @@ vi:
scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn quyền hạn cấp cao nhất, bạn không cần chọn từng phạm vi.
setting_aggregate_reblogs: Nếu một tút đã được đăng lại thì những lượt đăng lại sau sẽ không hiện trên bảng tin nữa
setting_always_send_emails: Bình thường thì email thông báo sẽ không gửi khi bạn đang dùng Mastodon
- setting_default_sensitive: Mặc định là nội dung nhạy cảm và chỉ hiện nếu nhấn vào
- setting_display_media_default: Làm mờ nội dung nhạy cảm
- setting_display_media_hide_all: Ẩn
- setting_display_media_show_all: Luôn hiển thị
+ setting_default_sensitive: Bắt buộc nhấn vào mới có thể xem
+ setting_display_media_default: Click để xem
+ setting_display_media_hide_all: Luôn ẩn
+ setting_display_media_show_all: Luôn hiện
setting_hide_network: Ẩn những người bạn theo dõi và những người theo dõi bạn
setting_noindex: Ảnh hưởng đến trang cá nhân và tút của bạn
- setting_show_application: Tên ứng dụng bạn dùng để đăng tút sẽ hiện trong chi tiết của tút
- setting_use_blurhash: Lớp phủ mờ dựa trên màu sắc của hình ảnh nhạy cảm
+ setting_show_application: Nó sẽ hiện trong chi tiết của tút
+ setting_use_blurhash: Phủ lớp màu làm nhòe đi hình ảnh nhạy cảm
setting_use_pending_items: Dồn lại toàn bộ tút mới và chỉ hiển thị khi nhấn vào
username: Chỉ dùng ký tự, số và dấu gạch dưới
whole_word: Khi từ khóa hoặc cụm từ là chữ và số, nó sẽ chỉ hiện ra những từ chính xác như vậy
@@ -124,7 +124,7 @@ vi:
tag:
name: Bạn có thể thay đổi cách viết hoa các chữ cái để giúp nó dễ đọc hơn
user:
- chosen_languages: Chỉ hiển thị những tút viết bằng các ngôn ngữ được chọn sau
+ chosen_languages: Chỉ hiển thị những tút viết bằng các ngôn ngữ sau
role: Vai trò kiểm soát những quyền mà người dùng có
user_role:
color: Màu được sử dụng cho vai trò trong toàn bộ giao diện người dùng, dưới dạng RGB ở định dạng hex
@@ -199,26 +199,26 @@ vi:
setting_aggregate_reblogs: Không hiện lượt đăng lại trùng lặp
setting_always_send_emails: Luôn gửi email thông báo
setting_auto_play_gif: Tự động phát ảnh GIF
- setting_boost_modal: Yêu cầu xác nhận trước khi đăng lại tút
+ setting_boost_modal: Hỏi trước khi đăng lại tút
setting_default_language: Ngôn ngữ đăng
setting_default_privacy: Kiểu đăng
- setting_default_sensitive: Ảnh/video là nội dung nhạy cảm
- setting_delete_modal: Yêu cầu xác nhận trước khi xóa tút
- setting_disable_swiping: Vô hiệu hóa vuốt màn hình
- setting_display_media: Nội dung nhạy cảm
+ setting_default_sensitive: Đánh dấu media nhạy cảm
+ setting_delete_modal: Hỏi trước khi xóa tút
+ setting_disable_swiping: Không dùng chuyển động vuốt
+ setting_display_media: Media nhạy cảm
setting_display_media_default: Mặc định
setting_display_media_hide_all: Ẩn toàn bộ
setting_display_media_show_all: Hiện toàn bộ
- setting_expand_spoilers: Luôn hiển thị tút có nội dung ẩn
+ setting_expand_spoilers: Luôn mở rộng tút chứa nội dung ẩn
setting_hide_network: Ẩn quan hệ của bạn
setting_noindex: Không xuất hiện trong công cụ tìm kiếm
setting_reduce_motion: Giảm chuyển động ảnh GIF
- setting_show_application: Hiện ứng dụng đã dùng để đăng tút
- setting_system_font_ui: Dùng phông chữ mặc định của hệ thống
+ setting_show_application: Hiện tên ứng dụng đăng tút
+ setting_system_font_ui: Dùng phông chữ mặc định hệ thống
setting_theme: Giao diện
setting_trends: Hiển thị thịnh hành hôm nay
- setting_unfollow_modal: Yêu cầu xác nhận trước khi ngưng theo dõi ai đó
- setting_use_blurhash: Làm mờ trước ảnh/video nhạy cảm
+ setting_unfollow_modal: Hỏi trước khi bỏ theo dõi ai đó
+ setting_use_blurhash: Phủ màu media nhạy cảm
setting_use_pending_items: Không tự động cập nhật bảng tin
severity: Mức độ nghiêm trọng
sign_in_token_attempt: Mã an toàn
@@ -264,9 +264,9 @@ vi:
trends: Bật thịnh hành
trends_as_landing_page: Dùng trang thịnh hành làm trang chào mừng
interactions:
- must_be_follower: Chặn thông báo từ những người không theo dõi bạn
- must_be_following: Chặn thông báo từ những người bạn không theo dõi
- must_be_following_dm: Chặn tin nhắn từ những người bạn không theo dõi
+ must_be_follower: Những người không theo dõi bạn
+ must_be_following: Những người bạn không theo dõi
+ must_be_following_dm: những người bạn không theo dõi (nhắn riêng)
invite:
comment: Bình luận
invite_request:
@@ -315,7 +315,7 @@ vi:
recommended: Đề xuất
required:
mark: "*"
- text: yêu cầu
+ text: Bắt buộc
title:
sessions:
webauthn: Dùng một trong những khóa bảo mật của bạn để đăng nhập
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 54f9f7a805..57bf046983 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -168,14 +168,14 @@ vi:
action_logs:
action_types:
approve_appeal: Chấp nhận kháng cáo
- approve_user: Chấp nhận người dùng
+ approve_user: Chấp nhận đăng ký
assigned_to_self_report: Tự xử lý báo cáo
change_email_user: Đổi email
- change_role_user: Thay đổi vai trò
+ change_role_user: Đổi vai trò
confirm_user: Xác minh
create_account_warning: Cảnh cáo
create_announcement: Tạo thông báo mới
- create_canonical_email_block: Tạo chặn tên miền email mới
+ create_canonical_email_block: Tạo chặn tên miền email
create_custom_emoji: Tạo emoji
create_domain_allow: Cho phép máy chủ
create_domain_block: Chặn máy chủ
@@ -187,7 +187,7 @@ vi:
destroy_announcement: Xóa thông báo
destroy_canonical_email_block: Bỏ chặn tên miền email
destroy_custom_emoji: Xóa emoji
- destroy_domain_allow: Bỏ cho phép máy chủ
+ destroy_domain_allow: Bỏ thanh trừng máy chủ
destroy_domain_block: Bỏ chặn máy chủ
destroy_email_domain_block: Bỏ chặn tên miền email
destroy_instance: Thanh trừng máy chủ
@@ -205,7 +205,7 @@ vi:
memorialize_account: Đánh dấu tưởng niệm
promote_user: Chỉ định vai trò
reject_appeal: Từ chối kháng cáo
- reject_user: Từ chối người dùng
+ reject_user: Từ chối đăng ký
remove_avatar_user: Xóa ảnh đại diện
reopen_report: Mở lại báo cáo
resend_user: Gửi lại email xác nhận
@@ -343,9 +343,9 @@ vi:
dashboard:
active_users: người hoạt động
interactions: tương tác
- media_storage: Dung lượng lưu trữ
+ media_storage: Media
new_users: người mới
- opened_reports: tổng báo cáo
+ opened_reports: báo cáo
pending_appeals_html:
other: "%{count} kháng cáo đang chờ"
pending_reports_html:
@@ -357,7 +357,7 @@ vi:
resolved_reports: báo cáo đã xử lí
software: Phần mềm
sources: Nguồn đăng ký
- space: Dung lượng lưu trữ
+ space: Lưu trữ
title: Thống kê
top_languages: Ngôn ngữ phổ biến
top_servers: Máy chủ phổ biến
@@ -450,7 +450,7 @@ vi:
title: Nhập máy chủ chặn
no_file: Không có tập tin nào được chọn
follow_recommendations:
- description_html: "Gợi ý theo dõi là cách giúp những người mới nhanh chóng tìm thấy những nội dung thú vị. Khi một người chưa đủ tương tác với những người khác để hình thành các đề xuất theo dõi được cá nhân hóa, thì những người này sẽ được đề xuất. Nó bao gồm những người có số lượt tương tác gần đây cao nhất và số lượng người theo dõi cao nhất cho một ngôn ngữ nhất định trong máy chủ."
+ description_html: "Gợi ý theo dõi giúp những người mới nhanh chóng tìm thấy những nội dung thú vị. Khi một người chưa đủ tương tác với những người khác để hình thành các đề xuất theo dõi được cá nhân hóa, thì những người này sẽ được đề xuất. Nó bao gồm những người có số lượt tương tác gần đây cao nhất và số lượng người theo dõi cao nhất cho một ngôn ngữ nhất định trong máy chủ."
language: Theo ngôn ngữ
status: Trạng thái
suppress: Tắt gợi ý theo dõi
@@ -835,15 +835,15 @@ vi:
no_publisher_selected: Không có nguồn đăng nào thay đổi vì không có nguồn đăng nào được chọn
shared_by_over_week:
other: "%{count} người chia sẻ tuần rồi"
- title: Liên kết nổi bật
+ title: Tin tức nổi bật
usage_comparison: Chia sẻ %{today} lần hôm nay, so với %{yesterday} lần hôm qua
not_allowed_to_trend: Không được phép thành xu hướng
only_allowed: Chỉ cho phép
pending_review: Đang chờ
preview_card_providers:
- allowed: Liên kết từ nguồn đăng này có thể nổi bật
+ allowed: Tin tức từ nguồn này có thể lên xu hướng
description_html: Đây là những nguồn mà từ đó các liên kết thường được chia sẻ trên máy chủ của bạn. Các liên kết sẽ không thể thịnh hành trừ khi bạn cho phép nguồn. Sự cho phép (hoặc cấm) của bạn áp dụng luôn cho các tên miền phụ.
- rejected: Liên kết từ nguồn đăng không thể nổi bật
+ rejected: Tin tức từ nguồn này không thể lên xu hướng
title: Nguồn đăng
rejected: Đã cấm
statuses:
@@ -929,7 +929,7 @@ vi:
new_trends:
body: 'Các mục sau đây cần được xem xét trước khi chúng hiển thị công khai:'
new_trending_links:
- title: Liên kết nổi bật
+ title: Tin tức nổi bật
new_trending_statuses:
title: Tút nổi bật
new_trending_tags:
@@ -946,8 +946,8 @@ vi:
remove: Bỏ liên kết bí danh
appearance:
advanced_web_interface: Bố cục
- advanced_web_interface_hint: 'Bố cục nhiều cột cho phép bạn chuyển bố cục hiển thị thành nhiều cột khác nhau. Bao gồm: Bảng tin, thông báo, thế giới, cũng như danh sách và hashtag. Thích hợp nếu bạn đang dùng màn hình rộng.'
- animations_and_accessibility: Bảng tin
+ advanced_web_interface_hint: Bố cục nhiều cột cho phép bạn chuyển bố cục hiển thị thành nhiều cột khác nhau. Thích hợp với màn hình rộng.
+ animations_and_accessibility: Hiệu ứng
confirmation_dialogs: Hộp thoại xác nhận
discovery: Khám phá
localization:
@@ -1027,7 +1027,7 @@ vi:
new_confirmation_instructions_sent: Bạn sẽ nhận được một email mới với liên kết xác nhận sau vài phút!
title: Kiểm tra email của bạn
sign_in:
- preamble_html: Đăng nhập bằng tài khoản %{domain}. Nếu tài khoản của bạn được lưu trữ trên một máy chủ khác, bạn sẽ không thể đăng nhập tại đây.
+ preamble_html: Đăng nhập bằng tài khoản %{domain}. Nếu đăng ký trên một máy chủ khác, bạn sẽ không thể đăng nhập tại đây.
title: Đăng nhập %{domain}
sign_up:
manual_review: "%{domain} sẽ duyệt đăng ký thủ công. Để giúp chúng tôi duyệt nhanh, hãy viết một chút về bản thân và lý do bạn muốn có một tài khoản trên %{domain}."
@@ -1120,9 +1120,9 @@ vi:
invalid_domain: không phải là một tên miền hợp lệ
edit_profile:
basic_information: Thông tin cơ bản
- hint_html: "Tùy chỉnh những gì mọi người nhìn thấy trên hồ sơ công khai của bạn và bên cạnh tút của bạn. Mọi người sẽ muốn theo dõi lại bạn và tương tác với bạn hơn khi bạn có một hồ sơ đầy đủ và một ảnh hồ sơ."
+ hint_html: "Tùy chỉnh những gì mọi người nhìn thấy trên hồ sơ công khai và bên cạnh tút của bạn. Mọi người sẽ muốn theo dõi và tương tác với bạn hơn nếu bạn có ảnh đại diện và một hồ sơ hoàn chỉnh."
other: Khác
- safety_and_privacy: An toàn và bảo mật
+ safety_and_privacy: Sự riêng tư
errors:
'400': Yêu cầu bạn gửi không hợp lệ hoặc sai hình thức.
'403': Bạn không có quyền xem trang này.
@@ -1160,11 +1160,11 @@ vi:
add_new: Thêm mới
errors:
limit: Bạn đã đạt tới số lượng hashtag tối đa
- hint_html: "Hashtag thường dùng là gì? Chúng là những hashtag sẽ được hiển thị nổi bật trên trang hồ sơ của bạn, cho phép mọi người tìm kiếm các bài đăng công khai của bạn có chứa các hashtag đó. Tính năng này có thể dùng để đánh dấu chuỗi tác phẩm sáng tạo hoặc dự án dài hạn."
+ hint_html: "Làm nổi bật những hashtag thường dùng. Một công cụ tuyệt vời để theo dõi các tác phẩm sáng tạo và dự án dài hạn của bạn, các hashtag thường dùng sẽ hiển thị nổi bật trên hồ sơ của bạn và cho phép truy cập nhanh vào các tút."
filters:
contexts:
account: Trang hồ sơ
- home: Bảng tin
+ home: Trang chính và danh sách
notifications: Thông báo
public: Tin công khai
thread: Thảo luận
@@ -1213,7 +1213,7 @@ vi:
delete: Xóa
deselect: Bỏ chọn tất cả
none: Trống
- order_by: Sắp xếp
+ order_by: Xếp theo
save_changes: Lưu thay đổi
select_all_matching_items:
other: Chọn tất cả%{count} mục trùng hợp với tìm kiếm của bạn.
@@ -1409,7 +1409,7 @@ vi:
notifications:
email_events: Email
email_events_hint: 'Chọn những hoạt động sẽ gửi thông báo qua email:'
- other_settings: Thông báo khác
+ other_settings: Chặn thông báo từ
number:
human:
decimal_units:
@@ -1469,14 +1469,14 @@ vi:
invited: Đã mời
last_active: Hoạt động lần cuối
most_recent: Mới nhất
- moved: Đã xóa
+ moved: Đã chuyển
mutual: Đồng thời
- primary: Hoạt động
+ primary: Còn
relationship: Quan hệ
remove_selected_domains: Xóa hết người theo dõi từ các máy chủ đã chọn
remove_selected_followers: Xóa những người theo dõi đã chọn
remove_selected_follows: Bỏ theo dõi những người đã chọn
- status: Trạng thái của họ
+ status: Trạng thái
remote_follow:
missing_resource: Không tìm thấy URL chuyển hướng cho tài khoản của bạn
reports:
@@ -1493,7 +1493,7 @@ vi:
too_soon: Ngày lên lịch phải trong tương lai
sessions:
activity: Gần đây nhất
- browser: Trình duyệt
+ browser: Ứng dụng
browsers:
alipay: Alipay
blackberry: BlackBerry
@@ -1501,7 +1501,7 @@ vi:
edge: Edge
electron: Electron
firefox: Firefox
- generic: Trình duyệt khác
+ generic: Chưa rõ
huawei_browser: Huawei Browser
ie: Internet Explorer
micro_messenger: MicroMes hành khách
@@ -1516,7 +1516,7 @@ vi:
weibo: Weibo
current_session: Phiên hiện tại
description: "%{browser} trên %{platform}"
- explanation: Đây là các trình duyệt web đã từng đăng nhập vào tài khoản Mastodon của bạn.
+ explanation: Đây là các ứng dụng đã từng đăng nhập vào tài khoản Mastodon của bạn.
ip: IP
platforms:
adobe_air: Adobe Air
@@ -1645,7 +1645,7 @@ vi:
tags:
does_not_match_previous_name: không khớp với tên trước
themes:
- contrast: Mastodon (Độ tương phản cao)
+ contrast: Mastodon (Tương phản)
default: Mastodon (Tối)
mastodon-light: Mastodon (Sáng)
time:
@@ -1741,7 +1741,7 @@ vi:
extra_instructions_html: Mẹo: Liên kết trên trang web của bạn có thể ẩn. Phần quan trọng là rel="me"
ngăn chặn việc mạo danh trên các trang web có nội dung do người dùng tạo. Bạn thậm chí có thể sử dụng một thẻ link
trên header của trang thay vì a
, nhưng HTML phải có thể truy cập được mà không cần thực thi JavaScript.
here_is_how: Cách thực hiện
hint_html: "Xác minh danh tính trên Mastodon là dành cho tất cả mọi người. Dựa trên các tiêu chuẩn web mở, miễn phí bây giờ và mãi mãi. Tất cả những gì bạn cần là một trang web cá nhân để mọi người nhận ra bạn. Khi bạn liên kết đến trang web này từ hồ sơ của mình, chúng tôi sẽ kiểm tra xem trang web đó có liên kết lại với hồ sơ của bạn hay không và hiển thị một chỉ báo trực quan trên đó."
- instructions_html: Sao chép và dán mã bên dưới vào HTML của trang web của bạn. Sau đó, thêm địa chỉ trang web của bạn vào một trong các trường bổ sung trên hồ sơ của bạn từ tab "Chỉnh sửa hồ sơ" và lưu các thay đổi.
+ instructions_html: Sao chép và dán mã bên dưới vào mã nguồn trang web của bạn. Sau đó, thêm địa chỉ trang web của bạn vào một trong các trường metadata trên hồ sơ của bạn từ tab "Sửa hồ sơ" và lưu thay đổi.
verification: Xác minh
verified_links: Những liên kết bạn đã xác minh
webauthn_credentials:
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index bed748d81e..2004c3a6c4 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -1057,18 +1057,18 @@ zh-CN:
with_month_name: "%Y年%m月%d日"
datetime:
distance_in_words:
- about_x_hours: "%{count}时"
- about_x_months: "%{count}个月"
- about_x_years: "%{count}年"
- almost_x_years: "%{count}年"
+ about_x_hours: "%{count}小时前"
+ about_x_months: "%{count}个月前"
+ about_x_years: "%{count}年前"
+ almost_x_years: "%{count}年前"
half_a_minute: 刚刚
- less_than_x_minutes: "%{count}分"
+ less_than_x_minutes: "%{count}分钟前"
less_than_x_seconds: 刚刚
- over_x_years: "%{count}年"
- x_days: "%{count}天"
- x_minutes: "%{count}分"
- x_months: "%{count}个月"
- x_seconds: "%{count}秒"
+ over_x_years: "%{count}年前"
+ x_days: "%{count}天前"
+ x_minutes: "%{count}分钟前"
+ x_months: "%{count}个月前"
+ x_seconds: "%{count}秒前"
deletes:
challenge_not_passed: 你输入的信息不正确
confirm_password: 输入你当前的密码来验证身份
diff --git a/db/post_migrate/20230811103651_remove_index_preview_cards_statuses_on_status_id_and_preview_card_id.rb b/db/post_migrate/20230811103651_remove_index_preview_cards_statuses_on_status_id_and_preview_card_id.rb
new file mode 100644
index 0000000000..11e0bf6f1b
--- /dev/null
+++ b/db/post_migrate/20230811103651_remove_index_preview_cards_statuses_on_status_id_and_preview_card_id.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class RemoveIndexPreviewCardsStatusesOnStatusIdAndPreviewCardId < ActiveRecord::Migration[7.0]
+ disable_ddl_transaction!
+
+ def change
+ remove_index :preview_cards_statuses, column: [:status_id, :preview_card_id], name: :index_preview_cards_statuses_on_status_id_and_preview_card_id
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index bff77f815e..19aadd9496 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema[7.0].define(version: 2023_08_03_112520) do
+ActiveRecord::Schema[7.0].define(version: 2023_08_11_103651) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -809,7 +809,6 @@ ActiveRecord::Schema[7.0].define(version: 2023_08_03_112520) do
create_table "preview_cards_statuses", primary_key: ["status_id", "preview_card_id"], force: :cascade do |t|
t.bigint "preview_card_id", null: false
t.bigint "status_id", null: false
- t.index ["status_id", "preview_card_id"], name: "index_preview_cards_statuses_on_status_id_and_preview_card_id"
end
create_table "relays", force: :cascade do |t|
diff --git a/lib/chewy/index_extensions.rb b/lib/chewy/index_extensions.rb
new file mode 100644
index 0000000000..064fd56b3e
--- /dev/null
+++ b/lib/chewy/index_extensions.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+module Chewy
+ module IndexExtensions
+ def index_preset(base_options = {})
+ case ENV['ES_PRESET'].presence
+ when 'single_node_cluster', nil
+ base_options.merge(number_of_replicas: 0)
+ when 'small_cluster'
+ base_options.merge(number_of_replicas: 1)
+ when 'large_cluster'
+ base_options.merge(number_of_replicas: 1, number_of_shards: (base_options[:number_of_shards] || 1) * 2)
+ end
+ end
+ end
+end
+
+Chewy::Index.extend(Chewy::IndexExtensions)
diff --git a/lib/chewy/settings_extensions.rb b/lib/chewy/settings_extensions.rb
new file mode 100644
index 0000000000..0eb8b336f3
--- /dev/null
+++ b/lib/chewy/settings_extensions.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+module Chewy
+ module SettingsExtensions
+ def enabled?
+ settings[:enabled]
+ end
+ end
+end
+
+Chewy.extend(Chewy::SettingsExtensions)
diff --git a/lib/tasks/repo.rake b/lib/tasks/repo.rake
index 33c454444e..1ed1ee5c32 100644
--- a/lib/tasks/repo.rake
+++ b/lib/tasks/repo.rake
@@ -49,8 +49,8 @@ namespace :repo do
File.open(path, 'r') do |file|
file.each_line do |line|
if line.start_with?('-')
- new_line = line.gsub(/#([[:digit:]]+)*/) do |pull_request_reference|
- pull_request_number = pull_request_reference[1..]
+ new_line = line.gsub(/[(]#([[:digit:]]+)[)]\Z/) do |pull_request_reference|
+ pull_request_number = pull_request_reference[2..-2]
response = nil
loop do
@@ -66,7 +66,7 @@ namespace :repo do
end
pull_request = Oj.load(response.to_s)
- "[#{pull_request['user']['login']}](#{pull_request['html_url']})"
+ "([#{pull_request['user']['login']}](#{pull_request['html_url']}))"
end
tmp.puts new_line
diff --git a/package.json b/package.json
index 6417422301..168bb1a6f7 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"build:development": "cross-env RAILS_ENV=development NODE_ENV=development ./bin/webpack",
"build:production": "cross-env RAILS_ENV=production NODE_ENV=production ./bin/webpack",
"fix:js": "yarn lint:js --fix",
- "fix:json": "prettier --write \"**/*.json\"",
+ "fix:json": "prettier --write \"**/*.{json,json5}\"",
"fix:md": "prettier --write \"**/*.md\"",
"fix:sass": "stylelint --fix \"**/*.{css,scss}\" && prettier --write \"**/*.{css,scss}\"",
"fix:yml": "prettier --write \"**/*.{yaml,yml}\"",
@@ -16,7 +16,7 @@
"i18n:extract": "formatjs extract 'app/javascript/**/*.{js,jsx,ts,tsx}' '--ignore=**/*.d.ts' --out-file app/javascript/flavours/glitch/locales/en.json --format config/formatjs-formatter.js",
"jest": "cross-env NODE_ENV=test jest",
"lint:js": "eslint . --ext=.js,.jsx,.ts,.tsx --cache --report-unused-disable-directives",
- "lint:json": "prettier --check \"**/*.json\"",
+ "lint:json": "prettier --check \"**/*.{json,json5}\"",
"lint:md": "prettier --check \"**/*.md\"",
"lint:sass": "stylelint \"**/*.{css,scss}\" && prettier --check \"**/*.{css,scss}\"",
"lint:yml": "prettier --check \"**/*.{yaml,yml}\"",
diff --git a/yarn.lock b/yarn.lock
index f03ca4c717..90fee96e17 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2427,16 +2427,7 @@
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@>=16.9.11", "@types/react@^18.0.26":
- version "18.2.12"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.12.tgz#95d584338610b78bb9ba0415e3180fb03debdf97"
- integrity sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
-"@types/react@^18.2.7":
+"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@>=16.9.11", "@types/react@^18.0.26", "@types/react@^18.2.7":
version "18.2.20"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.20.tgz#1605557a83df5c8a2cc4eeb743b3dfc0eb6aaeb2"
integrity sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==
@@ -3300,12 +3291,12 @@ atrament@0.2.4:
integrity sha512-hSA9VwW6COMwvRhSEO4uZweZ91YGOdHqwvslNyrJZG+8mzc4qx/qMsDZBuAeXFeWZO/QKtRjIXguOUy1aNMl3A==
autoprefixer@^10.4.14:
- version "10.4.14"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d"
- integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==
+ version "10.4.15"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.15.tgz#a1230f4aeb3636b89120b34a1f513e2f6834d530"
+ integrity sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==
dependencies:
- browserslist "^4.21.5"
- caniuse-lite "^1.0.30001464"
+ browserslist "^4.21.10"
+ caniuse-lite "^1.0.30001520"
fraction.js "^4.2.0"
normalize-range "^0.1.2"
picocolors "^1.0.0"
@@ -3719,7 +3710,7 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
-browserslist@^4.0.0, browserslist@^4.21.4, browserslist@^4.21.5:
+browserslist@^4.0.0, browserslist@^4.21.4:
version "4.21.8"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.8.tgz#db2498e1f4b80ed199c076248a094935860b6017"
integrity sha512-j+7xYe+v+q2Id9qbBeCI8WX5NmZSRe8es1+0xntD/+gaWXznP8tFEkv5IgSaHf5dS1YwVMbX/4W6m937mj+wQw==
@@ -3729,7 +3720,7 @@ browserslist@^4.0.0, browserslist@^4.21.4, browserslist@^4.21.5:
node-releases "^2.0.12"
update-browserslist-db "^1.0.11"
-browserslist@^4.21.9:
+browserslist@^4.21.10, browserslist@^4.21.9:
version "4.21.10"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0"
integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==
@@ -3899,7 +3890,7 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464:
+caniuse-lite@^1.0.0:
version "1.0.30001503"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001503.tgz#88b6ff1b2cf735f1f3361dc1a15b59f0561aa398"
integrity sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw==
@@ -3909,10 +3900,10 @@ caniuse-lite@^1.0.30001502:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz#418aefeed9d024cd3129bfae0ccc782d4cb8f12b"
integrity sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==
-caniuse-lite@^1.0.30001517:
- version "1.0.30001519"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz#3e7b8b8a7077e78b0eb054d69e6edf5c7df35601"
- integrity sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==
+caniuse-lite@^1.0.30001517, caniuse-lite@^1.0.30001520:
+ version "1.0.30001520"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz#62e2b7a1c7b35269594cf296a80bdf8cb9565006"
+ integrity sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==
chalk@5.2.0:
version "5.2.0"
@@ -11182,6 +11173,7 @@ string-length@^4.0.1:
strip-ansi "^6.0.0"
"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+ name string-width-cjs
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -11280,6 +11272,7 @@ stringz@^2.1.0:
char-regex "^1.0.2"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ name strip-ansi-cjs
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -12766,6 +12759,7 @@ workbox-window@7.0.0, workbox-window@^7.0.0:
workbox-core "7.0.0"
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
+ name wrap-ansi-cjs
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==