From bc3afb63119ad08771da892c2ed3cde0d8340bd7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 24 Oct 2023 16:38:19 -0400 Subject: [PATCH 1/6] Update `rails/ujs` delegate method usage (#27538) --- app/javascript/packs/admin.jsx | 24 ++++++++++++------------ app/javascript/packs/public.jsx | 24 ++++++++++++------------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/app/javascript/packs/admin.jsx b/app/javascript/packs/admin.jsx index ac2d1bfa9b..d3bfc4ea90 100644 --- a/app/javascript/packs/admin.jsx +++ b/app/javascript/packs/admin.jsx @@ -2,7 +2,7 @@ import './public-path'; import React from 'react'; import { createRoot } from 'react-dom/client'; -import delegate from '@rails/ujs'; +import Rails from '@rails/ujs'; import ready from '../mastodon/ready'; @@ -20,7 +20,7 @@ const setAnnouncementEndsAttributes = (target) => { } }; -delegate(document, 'input[type="datetime-local"]#announcement_starts_at', 'change', ({ target }) => { +Rails.delegate(document, 'input[type="datetime-local"]#announcement_starts_at', 'change', ({ target }) => { setAnnouncementEndsAttributes(target); }); @@ -43,7 +43,7 @@ const hideSelectAll = () => { hiddenField.value = '0'; }; -delegate(document, '#batch_checkbox_all', 'change', ({ target }) => { +Rails.delegate(document, '#batch_checkbox_all', 'change', ({ target }) => { const selectAllMatchingElement = document.querySelector('.batch-table__select-all'); [].forEach.call(document.querySelectorAll(batchCheckboxClassName), (content) => { @@ -59,7 +59,7 @@ delegate(document, '#batch_checkbox_all', 'change', ({ target }) => { } }); -delegate(document, '.batch-table__select-all button', 'click', () => { +Rails.delegate(document, '.batch-table__select-all button', 'click', () => { const hiddenField = document.querySelector('#select_all_matching'); const active = hiddenField.value === '1'; const selectedMsg = document.querySelector('.batch-table__select-all .selected'); @@ -76,7 +76,7 @@ delegate(document, '.batch-table__select-all button', 'click', () => { } }); -delegate(document, batchCheckboxClassName, 'change', () => { +Rails.delegate(document, batchCheckboxClassName, 'change', () => { const checkAllElement = document.querySelector('#batch_checkbox_all'); const selectAllMatchingElement = document.querySelector('.batch-table__select-all'); @@ -94,19 +94,19 @@ delegate(document, batchCheckboxClassName, 'change', () => { } }); -delegate(document, '.media-spoiler-show-button', 'click', () => { +Rails.delegate(document, '.media-spoiler-show-button', 'click', () => { [].forEach.call(document.querySelectorAll('button.media-spoiler'), (element) => { element.click(); }); }); -delegate(document, '.media-spoiler-hide-button', 'click', () => { +Rails.delegate(document, '.media-spoiler-hide-button', 'click', () => { [].forEach.call(document.querySelectorAll('.spoiler-button.spoiler-button--visible button'), (element) => { element.click(); }); }); -delegate(document, '.filter-subset--with-select select', 'change', ({ target }) => { +Rails.delegate(document, '.filter-subset--with-select select', 'change', ({ target }) => { target.form.submit(); }); @@ -123,7 +123,7 @@ const onDomainBlockSeverityChange = (target) => { } }; -delegate(document, '#domain_block_severity', 'change', ({ target }) => onDomainBlockSeverityChange(target)); +Rails.delegate(document, '#domain_block_severity', 'change', ({ target }) => onDomainBlockSeverityChange(target)); const onEnableBootstrapTimelineAccountsChange = (target) => { const bootstrapTimelineAccountsField = document.querySelector('#form_admin_settings_bootstrap_timeline_accounts'); @@ -140,7 +140,7 @@ const onEnableBootstrapTimelineAccountsChange = (target) => { } }; -delegate(document, '#form_admin_settings_enable_bootstrap_timeline_accounts', 'change', ({ target }) => onEnableBootstrapTimelineAccountsChange(target)); +Rails.delegate(document, '#form_admin_settings_enable_bootstrap_timeline_accounts', 'change', ({ target }) => onEnableBootstrapTimelineAccountsChange(target)); const onChangeRegistrationMode = (target) => { const enabled = target.value === 'approved'; @@ -177,7 +177,7 @@ const convertLocalDatetimeToUTC = (value) => { return fullISO8601.slice(0, fullISO8601.indexOf('T') + 6); }; -delegate(document, '#form_admin_settings_registrations_mode', 'change', ({ target }) => onChangeRegistrationMode(target)); +Rails.delegate(document, '#form_admin_settings_registrations_mode', 'change', ({ target }) => onChangeRegistrationMode(target)); ready(() => { const domainBlockSeverityInput = document.getElementById('domain_block_severity'); @@ -214,7 +214,7 @@ ready(() => { } }); - delegate(document, 'form', 'submit', ({ target }) => { + Rails.delegate(document, 'form', 'submit', ({ target }) => { [].forEach.call(target.querySelectorAll('input[type="datetime-local"]'), element => { if (element.value && element.validity.valid) { element.value = convertLocalDatetimeToUTC(element.value); diff --git a/app/javascript/packs/public.jsx b/app/javascript/packs/public.jsx index 12f37f71f8..5edc355370 100644 --- a/app/javascript/packs/public.jsx +++ b/app/javascript/packs/public.jsx @@ -5,7 +5,7 @@ import './public-path'; import { IntlMessageFormat } from 'intl-messageformat'; import { defineMessages } from 'react-intl'; -import delegate from '@rails/ujs'; +import Rails from '@rails/ujs'; import axios from 'axios'; import { throttle } from 'lodash'; @@ -145,7 +145,7 @@ function loaded() { }); } - delegate(document, '#user_account_attributes_username', 'input', throttle(({ target }) => { + Rails.delegate(document, '#user_account_attributes_username', 'input', throttle(({ target }) => { if (target.value && target.value.length > 0) { axios.get('/api/v1/accounts/lookup', { params: { acct: target.value } }).then(() => { target.setCustomValidity(formatMessage(messages.usernameTaken)); @@ -157,7 +157,7 @@ function loaded() { } }, 500, { leading: false, trailing: true })); - delegate(document, '#user_password,#user_password_confirmation', 'input', () => { + Rails.delegate(document, '#user_password,#user_password_confirmation', 'input', () => { const password = document.getElementById('user_password'); const confirmation = document.getElementById('user_password_confirmation'); if (!confirmation) return; @@ -171,7 +171,7 @@ function loaded() { } }); - delegate(document, '.status__content__spoiler-link', 'click', function() { + Rails.delegate(document, '.status__content__spoiler-link', 'click', function() { const statusEl = this.parentNode.parentNode; if (statusEl.dataset.spoiler === 'expanded') { @@ -192,7 +192,7 @@ function loaded() { }); } -delegate(document, '#edit_profile input[type=file]', 'change', ({ target }) => { +Rails.delegate(document, '#edit_profile input[type=file]', 'change', ({ target }) => { const avatar = document.getElementById(target.id + '-preview'); const [file] = target.files || []; const url = file ? URL.createObjectURL(file) : avatar.dataset.originalSrc; @@ -200,13 +200,13 @@ delegate(document, '#edit_profile input[type=file]', 'change', ({ target }) => { avatar.src = url; }); -delegate(document, '.input-copy input', 'click', ({ target }) => { +Rails.delegate(document, '.input-copy input', 'click', ({ target }) => { target.focus(); target.select(); target.setSelectionRange(0, target.value.length); }); -delegate(document, '.input-copy button', 'click', ({ target }) => { +Rails.delegate(document, '.input-copy button', 'click', ({ target }) => { const input = target.parentNode.querySelector('.input-copy__wrapper input'); const oldReadOnly = input.readonly; @@ -248,23 +248,23 @@ const toggleSidebar = () => { sidebar.classList.toggle('visible'); }; -delegate(document, '.sidebar__toggle__icon', 'click', () => { +Rails.delegate(document, '.sidebar__toggle__icon', 'click', () => { toggleSidebar(); }); -delegate(document, '.sidebar__toggle__icon', 'keydown', e => { +Rails.delegate(document, '.sidebar__toggle__icon', 'keydown', e => { if (e.key === ' ' || e.key === 'Enter') { e.preventDefault(); toggleSidebar(); } }); -delegate(document, '.custom-emoji', 'mouseover', ({ target }) => target.src = target.getAttribute('data-original')); -delegate(document, '.custom-emoji', 'mouseout', ({ target }) => target.src = target.getAttribute('data-static')); +Rails.delegate(document, '.custom-emoji', 'mouseover', ({ target }) => target.src = target.getAttribute('data-original')); +Rails.delegate(document, '.custom-emoji', 'mouseout', ({ target }) => target.src = target.getAttribute('data-static')); // Empty the honeypot fields in JS in case something like an extension // automatically filled them. -delegate(document, '#registration_new_user,#new_user', 'submit', () => { +Rails.delegate(document, '#registration_new_user,#new_user', 'submit', () => { ['user_website', 'user_confirm_password', 'registration_user_website', 'registration_user_confirm_password'].forEach(id => { const field = document.getElementById(id); if (field) { From f08ca3f04289e3a258e8bff772177c20906930c3 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Tue, 24 Oct 2023 22:43:06 +0200 Subject: [PATCH 2/6] Fix missing icon props (#27539) --- app/javascript/mastodon/components/icon.tsx | 4 +++- app/javascript/mastodon/features/follow_requests/index.jsx | 3 ++- .../mastodon/features/ui/components/column_header.jsx | 5 +++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/components/icon.tsx b/app/javascript/mastodon/components/icon.tsx index d53675e419..dbf5839606 100644 --- a/app/javascript/mastodon/components/icon.tsx +++ b/app/javascript/mastodon/components/icon.tsx @@ -25,7 +25,9 @@ export const Icon: React.FC = ({ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (!IconComponent) { if (process.env.NODE_ENV !== 'production') { - throw new Error(` is missing an "icon" prop.`); + throw new Error( + ` is missing an "icon" prop.`, + ); } IconComponent = CheckBoxOutlineBlankIcon; diff --git a/app/javascript/mastodon/features/follow_requests/index.jsx b/app/javascript/mastodon/features/follow_requests/index.jsx index 796254e0ec..8e17607fd9 100644 --- a/app/javascript/mastodon/features/follow_requests/index.jsx +++ b/app/javascript/mastodon/features/follow_requests/index.jsx @@ -8,6 +8,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { connect } from 'react-redux'; +import { ReactComponent as PersonAddIcon } from '@material-symbols/svg-600/outlined/person_add.svg'; import { debounce } from 'lodash'; import { fetchFollowRequests, expandFollowRequests } from '../../actions/accounts'; @@ -67,7 +68,7 @@ class FollowRequests extends ImmutablePureComponent { ); return ( - + ; + iconElement = ; } return ( From cb92cdf9af3ba0e53ed6a27f480a44c45b4d6dc1 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Tue, 24 Oct 2023 22:43:55 +0200 Subject: [PATCH 3/6] Fix `` (#27540) --- app/javascript/mastodon/components/column_back_button.jsx | 2 +- .../mastodon/components/column_back_button_slim.jsx | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/components/column_back_button.jsx b/app/javascript/mastodon/components/column_back_button.jsx index fac6ed9814..3e914ecadd 100644 --- a/app/javascript/mastodon/components/column_back_button.jsx +++ b/app/javascript/mastodon/components/column_back_button.jsx @@ -11,7 +11,7 @@ import { ReactComponent as ArrowBackIcon } from '@material-symbols/svg-600/outli import { Icon } from 'mastodon/components/icon'; import { WithRouterPropTypes } from 'mastodon/utils/react_router'; -class ColumnBackButton extends PureComponent { +export class ColumnBackButton extends PureComponent { static propTypes = { multiColumn: PropTypes.bool, diff --git a/app/javascript/mastodon/components/column_back_button_slim.jsx b/app/javascript/mastodon/components/column_back_button_slim.jsx index 6d66041cdf..397e6c6a77 100644 --- a/app/javascript/mastodon/components/column_back_button_slim.jsx +++ b/app/javascript/mastodon/components/column_back_button_slim.jsx @@ -4,10 +4,9 @@ import { ReactComponent as ArrowBackIcon } from '@material-symbols/svg-600/outli import { Icon } from 'mastodon/components/icon'; -import ColumnBackButton from './column_back_button'; +import { ColumnBackButton } from './column_back_button'; export default class ColumnBackButtonSlim extends ColumnBackButton { - render () { return (
@@ -18,5 +17,4 @@ export default class ColumnBackButtonSlim extends ColumnBackButton {
); } - } From cec7f0ed72966aa8fefaac61a0581a184d3c231e Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 25 Oct 2023 03:12:32 -0400 Subject: [PATCH 4/6] Remove unused `#error_explanation` id from error partials (#27536) --- .haml-lint_todo.yml | 10 ++-------- app/views/oauth/authorizations/error.html.haml | 2 +- app/views/shared/_error_messages.html.haml | 2 +- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml index d5f6912a6c..c7209cdf7e 100644 --- a/.haml-lint_todo.yml +++ b/.haml-lint_todo.yml @@ -1,13 +1,13 @@ # This configuration was generated by # `haml-lint --auto-gen-config` -# on 2023-10-23 10:16:00 -0400 using Haml-Lint version 0.51.0. +# on 2023-10-24 14:08:37 -0400 using Haml-Lint version 0.51.0. # The point is for the user to remove these configuration records # one by one as the lints are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of Haml-Lint, may require this file to be generated again. linters: - # Offense count: 944 + # Offense count: 945 LineLength: enabled: false @@ -69,9 +69,3 @@ linters: - 'app/views/statuses/_simple_status.html.haml' - 'app/views/statuses_cleanup/show.html.haml' - 'app/views/user_mailer/warning.html.haml' - - # Offense count: 2 - IdNames: - exclude: - - 'app/views/oauth/authorizations/error.html.haml' - - 'app/views/shared/_error_messages.html.haml' diff --git a/app/views/oauth/authorizations/error.html.haml b/app/views/oauth/authorizations/error.html.haml index 408ca2b86e..cd6e6f64e2 100644 --- a/app/views/oauth/authorizations/error.html.haml +++ b/app/views/oauth/authorizations/error.html.haml @@ -1,3 +1,3 @@ .form-container - .flash-message#error_explanation + .flash-message = @pre_auth.error_response.body[:error_description] diff --git a/app/views/shared/_error_messages.html.haml b/app/views/shared/_error_messages.html.haml index 4916bd424e..94841cc615 100644 --- a/app/views/shared/_error_messages.html.haml +++ b/app/views/shared/_error_messages.html.haml @@ -1,5 +1,5 @@ - if object.errors.any? - .flash-message.alert#error_explanation + .flash-message.alert %strong= t('generic.validation_errors', count: object.errors.count) - object.errors[:base].each do |error| .flash-message.alert From f261b6499f92d715b790f47fbbd7b399fbe0dcac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 09:16:19 +0200 Subject: [PATCH 5/6] Update dependency node to 20.9 (#27534) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index fa69d015bd..48ef2c10ba 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.8 +20.9 From c85e0a6b047f1a72ad970bc04c4e1be3f028b3d1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 09:36:07 +0200 Subject: [PATCH 6/6] New Crowdin Translations (automated) (#27544) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ko.json | 2 +- config/locales/cs.yml | 4 ++++ config/locales/gd.yml | 5 +++++ config/locales/gl.yml | 5 +++++ config/locales/he.yml | 5 +++++ config/locales/hu.yml | 4 ++++ config/locales/ko.yml | 8 ++++---- config/locales/sk.yml | 2 ++ config/locales/sq.yml | 5 +++++ config/locales/sv.yml | 2 ++ config/locales/tr.yml | 4 ++++ config/locales/vi.yml | 5 +++++ config/locales/zh-CN.yml | 6 +++++- 13 files changed, 51 insertions(+), 6 deletions(-) diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 09c95e02cd..ccd783e809 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -590,7 +590,7 @@ "search.quick_action.open_url": "마스토돈에서 URL 열기", "search.quick_action.status_search": "{x}에 맞는 게시물", "search.search_or_paste": "검색하거나 URL 붙여넣기", - "search_popout.full_text_search_disabled_message": "{domain}에서는 쓸 수 없습니다.", + "search_popout.full_text_search_disabled_message": "{domain}에서는 사용할 수 없습니다.", "search_popout.language_code": "ISO 언어코드", "search_popout.options": "검색 옵션", "search_popout.quick_actions": "빠른 작업", diff --git a/config/locales/cs.yml b/config/locales/cs.yml index efadfc2c17..15ca094708 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -1135,6 +1135,7 @@ cs: functional: Váš účet je plně funkční. pending: Vaše žádost čeká na posouzení naším personálem. To může nějakou dobu trvat. Pokud bude váš požadavek schválen, obdržíte e-mail. redirecting_to: Váš účet je neaktivní, protože je právě přesměrován na účet %{acct}. + self_destruct: Protože %{domain} končí, budete mít k účtu jen omezený přístup. view_strikes: Zobrazit minulé prohřešky vašeho účtu too_fast: Formulář byl odeslán příliš rychle, zkuste to znovu. use_security_key: Použít bezpečnostní klíč @@ -1586,6 +1587,9 @@ cs: over_daily_limit: Pro dnešek jste překročili limit %{limit} naplánovaných příspěvků over_total_limit: Překročili jste limit %{limit} naplánovaných příspěvků too_soon: Plánované datum musí být v budoucnosti + self_destruct: + lead_html: "%{domain} bohužel končí nadobro. Pokud jste tam měli účet, nebudete jej moci dále používat, ale stále si můžete vyžádat zálohu vašich dat." + title: Tento server končí sessions: activity: Nejnovější aktivita browser: Prohlížeč diff --git a/config/locales/gd.yml b/config/locales/gd.yml index e620db3a78..b2ccdd4d9d 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -556,6 +556,7 @@ gd: total_reported: Gearanan mun dèidhinn total_storage: Ceanglachain mheadhanan totals_time_period_hint_html: Gabhaidh na h-iomlanan gu h-ìosal a-staigh an dàta o chian nan cian. + unknown_instance: Chan eil clàr dhen àrainn seo air an fhrithealaiche seo. invites: deactivate_all: Cuir na h-uile à gnìomh filter: @@ -1137,6 +1138,7 @@ gd: functional: Tha an cunntas agad ag obair gu slàn. pending: Feumaidh an sgioba againn lèirmheas a dhèanamh air d’ iarrtas. Dh’fhaoidte gun doir seo greis. Gheibh thu post-d nuair a bhios sinn air aontachadh ri d’ iarrtas. redirecting_to: Chan eil an cunntas gad gnìomhach on a tha e ’ga ath-stiùireadh gu %{acct}. + self_destruct: On a tha %{domain} gu bhith dùnadh, chan fhaigh thu ach inntrigeadh cuingichte dhan chunntas agad. view_strikes: Seall na rabhaidhean a fhuair an cunntas agad roimhe too_fast: Chaidh am foirm a chur a-null ro luath, feuch ris a-rithist. use_security_key: Cleachd iuchair tèarainteachd @@ -1622,6 +1624,9 @@ gd: over_daily_limit: Chaidh thu thar na crìoch de %{limit} post(aichean) sgeidealaichte an-diugh over_total_limit: Chaidh thu thar na crìoch de %{limit} post(aichean) sgeidealaichte too_soon: Feumaidh ceann-latha an sgeideil a bhith san àm ri teachd + self_destruct: + lead_html: Gu mì-fhortanach, thèid %{domain} a dhùnadh gu buan. Ma tha cunntas agad ann, chan urrainn dhut cumail a’ gol ’ga chleachdadh ach ’s urrainn dhut lethbhreac-glèidhidh dhen dàta agad iarraidh fhathast. + title: Tha am frithealaiche seo gu bhith dùnadh sessions: activity: A’ ghnìomhachd mu dheireadh browser: Brabhsair diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 14f78e4615..f76c4dda12 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -534,6 +534,7 @@ gl: total_reported: Denuncias sobre eles total_storage: Adxuntos multimedia totals_time_period_hint_html: Os totais aquí mostrados inclúen todo o historial de datos. + unknown_instance: Actualmente non temos constancia deste rexistro no servidor. invites: deactivate_all: Desactivar todo filter: @@ -1101,6 +1102,7 @@ gl: functional: A túa conta está completamente operativa. pending: A túa solicitude está pendente de revisión. Poderíanos levar algún tempo. Recibirás un correo se a solicitude está aprobada. redirecting_to: A túa conta está inactiva porque está redirixida a %{acct}. + self_destruct: Como %{domain} vai fechar, tes acceso restrinxido á túa conta. view_strikes: Ver avisos anteriores respecto da túa conta too_fast: Formulario enviado demasiado rápido, inténtao outra vez. use_security_key: Usa chave de seguridade @@ -1570,6 +1572,9 @@ gl: over_daily_limit: Excedeches o límite de %{limit} publicacións programadas para ese día over_total_limit: Excedeches o límite de %{limit} publicacións programadas too_soon: A data de programación debe estar no futuro + self_destruct: + lead_html: Desafortunadamente, %{domain} vai deixar de dar servizo. Se tes unha conta aquí non poderás seguir usándoa, mais podes solicitar un ficheiro cos teus datos. + title: Este servidor vai fechar sessions: activity: Última actividade browser: Navegador diff --git a/config/locales/he.yml b/config/locales/he.yml index a7c702e979..33f57155f2 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -556,6 +556,7 @@ he: total_reported: דוחות אודותיהם total_storage: קבצי מדיה מצורפים totals_time_period_hint_html: הסכומים המוצגים להלן כוללים מידע מכל הזמנים. + unknown_instance: אין כרגע תיעוד של שם המתחם הזה על שרת זה. invites: deactivate_all: להשבית הכל filter: @@ -1137,6 +1138,7 @@ he: functional: החשבון שלכם פעיל לגמרי. pending: בקשתך ממתינה לאישור על ידי הצוות שלנו. זה עשוי לקחת זמן מה. דוא"ל יישלח אליך אם בקשתך התקבלה. redirecting_to: חשבונכם לא פעיל כעת מכיוון שמפנה ל%{acct}. + self_destruct: מכיוון שהשרת %{domain} בתהליכי סגירה, תהיה לך גישה מוגבלת בלבד לחשבונך. view_strikes: צפיה בעברות קודמות שנרשמו נגד חשבונך too_fast: הטופס הוגש מהר מדי, נסה/י שוב. use_security_key: שימוש במפתח אבטחה @@ -1622,6 +1624,9 @@ he: over_daily_limit: חרגת מהמספר המקסימלי של הודעות מתוזמנות להיום, שהוא %{limit} over_total_limit: חרגת מהמספר המקסימלי של הודעות מתוזמנות, שהוא %{limit} too_soon: תאריך התזמון חייב להיות בעתיד + self_destruct: + lead_html: לרוע המזל, %{domain} עומד לרדת באופן סופי. אם היה לך חשבון כאן, לא תהיה אפשרות להמשיך להשתמש בו, אבל ניתן לבקש גיבוי של כל המידע שלך. + title: שרת זה בתהליכי סגירה sessions: activity: פעילות אחרונה browser: דפדפן diff --git a/config/locales/hu.yml b/config/locales/hu.yml index b28e00892e..67f5b693ac 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -1102,6 +1102,7 @@ hu: functional: A fiókod teljesen működőképes. pending: A jelentkezésed engedélyezésre vár. Ez eltarthat egy ideig. Kapsz egy e-mailt, ha a kérelmedet jóváhagyták. redirecting_to: A fiókod inaktív, mert jelenleg ide %{acct} van átirányítva. + self_destruct: Mivel a %{domain} bezár, csak korlátozott elérésed lesz a fiókodhoz. view_strikes: Fiókod ellen felrótt korábbi vétségek megtekintése too_fast: Túl gyorsan küldted el az űrlapot, próbáld később. use_security_key: Biztonsági kulcs használata @@ -1571,6 +1572,9 @@ hu: over_daily_limit: Túllépted az időzített bejegyzésekre vonatkozó %{limit} db-os napi limitet over_total_limit: Túllépted az időzített bejegyzésekre vonatkozó %{limit} db-os limitet too_soon: Az időzített időpontnak a jövőben kell lennie + self_destruct: + lead_html: Sajnos a %{domain} végleg bezár. Ha volt itt fiókod, nem fogod tudni tovább használni, de kérheted majd az adataid biztonsági mentését. + title: A kiszolgáló bezár sessions: activity: Legutóbbi tevékenység browser: Böngésző diff --git a/config/locales/ko.yml b/config/locales/ko.yml index bf8e050f8d..eecac963e0 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -525,7 +525,7 @@ ko: total_reported: 이들에 대한 신고 total_storage: 미디어 첨부 totals_time_period_hint_html: 아래에 표시된 총계에는 모든 시간에 대한 데이터가 포함됩니다. - unknown_instance: 현재 이곳 서버에서 해당 도메인의 레코드는 없습니다. + unknown_instance: 현재 이 서버에서 해당 도메인에 대한 기록은 없습니다. invites: deactivate_all: 전부 비활성화 filter: @@ -779,7 +779,7 @@ ko: types: major: 메이저 릴리스 minor: 마이너 릴리스 - patch: 패치 릴리스 — 버그픽스 그리고 변경점의 빠른 적용 + patch: 패치 릴리스 — 버그픽스이며 변경을 적용하기 쉽습니다 version: 버전 statuses: account: 작성자 @@ -1086,7 +1086,7 @@ ko: functional: 계정이 완벽히 작동합니다. pending: 당신의 가입 신청은 스태프의 검사를 위해 대기 중입니다. 시간이 조금 걸릴 수 있습니다. 가입 신청이 승인되면 이메일을 받게 됩니다. redirecting_to: 계정이 %{acct}로 리다이렉트 중이기 때문에 비활성 상태입니다. - self_destruct: "%{domain} 도메인을 폐쇄하며, 계정에는 제한된 접근만 할 수 있습니다." + self_destruct: "%{domain} 도메인 폐쇄가 진행중이기 때문에, 계정에는 제한된 접근만 할 수 있습니다." view_strikes: 내 계정에 대한 과거 중재 기록 보기 too_fast: 너무 빠르게 양식이 제출되었습니다, 다시 시도하세요. use_security_key: 보안 키 사용 @@ -1550,7 +1550,7 @@ ko: too_soon: 예약 날짜는 미래여야 합니다 self_destruct: lead_html: 안타깝게도, %{domain} 도메인을 영구히 폐쇄합니다. 이곳의 계정을 가졌다면, 이제 이용할 수 없으며, 당분간 백업 데이터를 요청할 수 있습니다. - title: 이곳 서버를 폐쇄 + title: 이 서버는 폐쇄중입니다 sessions: activity: 최근 활동 browser: 브라우저 diff --git a/config/locales/sk.yml b/config/locales/sk.yml index c25fab6aeb..6e3fe0cd89 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -228,6 +228,7 @@ sk: create_account_warning_html: "%{name} poslal/a upozornenie užívateľovi %{target}" create_announcement_html: "%{name} vytvoril/a nové oboznámenie %{target}" create_custom_emoji_html: "%{name} nahral/a novú emotikonu %{target}" + create_domain_allow_html: "%{name} povolil/a federáciu s doménou %{target}" create_domain_block_html: "%{name} zablokoval/a doménu %{target}" create_email_domain_block_html: "%{name} zablokoval/a e-mailovú doménu %{target}" create_user_role_html: "%{name} vytvoril/a rolu pre %{target}" @@ -241,6 +242,7 @@ sk: destroy_ip_block_html: "%{name} vymazal/a pravidlo pre IP %{target}" destroy_status_html: "%{name} zmazal/a príspevok od %{target}" destroy_user_role_html: "%{name} vymazal/a rolu pre %{target}" + enable_user_html: "%{name} povolil/a prihlásenie pre používateľa %{target}" memorialize_account_html: "%{name} zmenil/a účet %{target} na pamätnú stránku" reject_appeal_html: "%{name} zamietol/la námietku moderovacieho rozhodnutia od %{target}" reopen_report_html: "%{name} znovu otvoril/a nahlásenie %{target}" diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 6cdfa268db..74810b147a 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -533,6 +533,7 @@ sq: total_reported: Raportime rreth tyre total_storage: Bashkëngjitje media totals_time_period_hint_html: Vlerat e shfaqura më poshtë përfshijnë të dhënat për krejt kohën. + unknown_instance: Aktualisht në këtë shërbyes s’ka gjurmë të kësaj përkatësie. invites: deactivate_all: Çaktivizoji krejt filter: @@ -1095,6 +1096,7 @@ sq: functional: Llogaria juaj është tërësisht funksionale. pending: Aplikimi juaj është në pritje të shqyrtimit nga stafi ynë. Kjo mund të dojë ca kohë. Nëse aplikimi juaj miratohet, do të merrni një email. redirecting_to: Llogaria juaj është joaktive, ngaqë aktualisht ridrejton te %{acct}. + self_destruct: Ngaqë %{domain} po mbyllet, do të keni vetëm hyrje të kufizuar te llogaria juaj. view_strikes: Shihni paralajmërime të dikurshme kundër llogarisë tuaj too_fast: Formulari u parashtrua shumë shpejt, riprovoni. use_security_key: Përdor kyç sigurie @@ -1564,6 +1566,9 @@ sq: over_daily_limit: Keni tejkaluar kufirin e %{limit} mesazheve të planifikuara për atë ditë over_total_limit: Keni tejkaluar kufirin prej %{limit} mesazhesh të planifikuara too_soon: Data e planifikimit duhet të bjerë në të ardhmen + self_destruct: + lead_html: Mjerisht, %{domain} po mbyllet përgjithmonë. Nëse patët një llogari këtu, s’do të jeni në gjendje të vazhdoni ta përdorni, por mundeni ende të kërkoni një kopjeruajtje të të dhënave tuaja. + title: Ky shërbyes po mbyllet sessions: activity: Veprimtaria e fundit browser: Shfletues diff --git a/config/locales/sv.yml b/config/locales/sv.yml index b913ee0cd8..72c5295b35 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -534,6 +534,7 @@ sv: total_reported: Rapporter om dem total_storage: Media-bilagor totals_time_period_hint_html: Totalsummorna som visas nedan inkluderar data för all tid. + unknown_instance: Det finns för närvarande inga uppgifter om denna domän på denna server. invites: deactivate_all: Inaktivera alla filter: @@ -1573,6 +1574,7 @@ sv: too_soon: Schemaläggningsdatumet måste vara i framtiden self_destruct: lead_html: Tyvärr stänger %{domain} för gott. Om du hade ett konto där kommer du inte längre kunna använda det, men du kan fortfarande begära en säkerhetskopia av din data. + title: Denna server stänger ned sessions: activity: Senaste aktivitet browser: Webbläsare diff --git a/config/locales/tr.yml b/config/locales/tr.yml index a66005a80d..86d153528b 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -1102,6 +1102,7 @@ tr: functional: Hesabınız tamamen kullanıma hazır. pending: Başvurunuz personelimiz tarafından gözden geçirilmeyi beklemektedir. Bu biraz zaman alabilir. Başvurunuz onaylanırsa bir e-posta alacaksınız. redirecting_to: Hesabınız aktif değil çünkü şu anda %{acct} adresine yönlendirilmektedir. + self_destruct: "%{domain} kapandığı için, hesabınıza sadece kısıtlı erişiminiz olacak." view_strikes: Hesabınıza yönelik eski eylemleri görüntüleyin too_fast: Form çok hızlı gönderildi, tekrar deneyin. use_security_key: Güvenlik anahtarını kullan @@ -1571,6 +1572,9 @@ tr: over_daily_limit: Bugün için %{limit} zamanlanmış gönderi sınırını aştınız over_total_limit: "%{limit} zamanlanmış gönderi sınırını aştınız" too_soon: Programlanan tarih bugünden ileri bir tarihte olmalıdır + self_destruct: + lead_html: Maalesef %{domain} kalıcı olarak kapanıyor. Eğer orada hesabınız varsa, onu kullanmaya devam edemeyeceksiniz, ancak yine de verinizin bir yedeğini isteyebilirsiniz. + title: Bu sunucu kapanıyor sessions: activity: Son etkinlik browser: Tarayıcı diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 73222a6047..79ec13571d 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -523,6 +523,7 @@ vi: total_reported: Toàn bộ báo cáo total_storage: Media totals_time_period_hint_html: Tổng số được hiển thị bên dưới bao gồm dữ liệu cho mọi thời điểm. + unknown_instance: Hiện tại không có bản ghi tên miền này trên máy chủ này. invites: deactivate_all: Vô hiệu hóa tất cả filter: @@ -1083,6 +1084,7 @@ vi: functional: Tài khoản của bạn đã được xác minh. pending: Đơn đăng ký của bạn đang chờ phê duyệt. Điều này có thể mất một thời gian. Bạn sẽ nhận được email nếu đơn đăng ký của bạn được chấp thuận. redirecting_to: Tài khoản của bạn không hoạt động vì hiện đang chuyển hướng đến %{acct}. + self_destruct: Vì %{domain} đang đóng cửa, bạn sẽ chỉ có quyền truy cập hạn chế vào tài khoản của mình. view_strikes: Xem những lần cảnh cáo cũ too_fast: Nghi vấn đăng ký spam, xin thử lại. use_security_key: Dùng khóa bảo mật @@ -1544,6 +1546,9 @@ vi: over_daily_limit: Bạn đã vượt qua giới hạn được lên lịch đăng tút %{limit} hôm nay over_total_limit: Bạn đã vượt quá giới hạn %{limit} của các tút được lên lịch too_soon: Ngày lên lịch phải trong tương lai + self_destruct: + lead_html: Rất tiếc, %{domain}đã đóng cửa vĩnh viễn. Nếu bạn có tài khoản ở đó, bạn sẽ không thể tiếp tục sử dụng tài khoản đó nhưng bạn vẫn có thể yêu cầu bản sao lưu dữ liệu của mình. + title: Máy chủ đang đóng cửa sessions: activity: Gần đây nhất browser: Ứng dụng diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index eb9c67b9be..6d3beddbcf 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -523,7 +523,7 @@ zh-CN: total_reported: 关于对方的举报 total_storage: 媒体文件 totals_time_period_hint_html: 下方显示的总数来自全部历史数据。 - unknown_instance: 本实例目前没有此域名的记录。 + unknown_instance: 此服务器上目前没有此域名的记录。 invites: deactivate_all: 撤销所有邀请链接 filter: @@ -1084,6 +1084,7 @@ zh-CN: functional: 你的账号可以正常使用了。 pending: 工作人员正在审核你的申请。这需要花点时间。在申请被批准后,你将收到一封电子邮件。 redirecting_to: 你的账户无效,因为它已被设置为跳转到 %{acct} + self_destruct: 由于 %{domain} 即将关闭,你只能获得对你本人账号的有限访问权限。 view_strikes: 查看针对你账号的记录 too_fast: 表单提交过快,请重试。 use_security_key: 使用安全密钥 @@ -1545,6 +1546,9 @@ zh-CN: over_daily_limit: 你已超出每日定时嘟文的上限(%{limit} 条) over_total_limit: 你已超出定时嘟文的上限(%{limit} 条) too_soon: 所定的时间必须在未来 + self_destruct: + lead_html: 很遗憾,%{domain} 即将永久关闭。 如果你在其中设有账号,那么你将无法再继续使用,但你仍可以请求获得本人数据的备份。 + title: 此服务器即将关闭 sessions: activity: 最后一次活跃的时间 browser: 浏览器