Merge remote-tracking branch 'parent/stable-4.2' into kb-draft-5.3-lts
This commit is contained in:
commit
e2c7a6e59b
13 changed files with 90 additions and 46 deletions
|
@ -233,6 +233,8 @@ class Status extends ImmutablePureComponent {
|
|||
|
||||
componentDidMount () {
|
||||
attachFullscreenListener(this.onFullScreenChange);
|
||||
|
||||
this._scrollStatusIntoView();
|
||||
}
|
||||
|
||||
UNSAFE_componentWillReceiveProps (nextProps) {
|
||||
|
@ -638,10 +640,10 @@ class Status extends ImmutablePureComponent {
|
|||
this.node = c;
|
||||
};
|
||||
|
||||
componentDidUpdate (prevProps) {
|
||||
const { status, ancestorsIds, multiColumn } = this.props;
|
||||
_scrollStatusIntoView () {
|
||||
const { status, multiColumn } = this.props;
|
||||
|
||||
if (status && (ancestorsIds.size > prevProps.ancestorsIds.size || prevProps.status?.get('id') !== status.get('id'))) {
|
||||
if (status) {
|
||||
window.requestAnimationFrame(() => {
|
||||
this.node?.querySelector('.detailed-status__wrapper')?.scrollIntoView(true);
|
||||
|
||||
|
@ -658,6 +660,14 @@ class Status extends ImmutablePureComponent {
|
|||
}
|
||||
}
|
||||
|
||||
componentDidUpdate (prevProps) {
|
||||
const { status, ancestorsIds } = this.props;
|
||||
|
||||
if (status && (ancestorsIds.size > prevProps.ancestorsIds.size || prevProps.status?.get('id') !== status.get('id'))) {
|
||||
this._scrollStatusIntoView();
|
||||
}
|
||||
}
|
||||
|
||||
componentWillUnmount () {
|
||||
detachFullscreenListener(this.onFullScreenChange);
|
||||
}
|
||||
|
@ -666,6 +676,22 @@ class Status extends ImmutablePureComponent {
|
|||
this.setState({ fullscreen: isFullscreen() });
|
||||
};
|
||||
|
||||
shouldUpdateScroll = (prevRouterProps, { location }) => {
|
||||
// Do not change scroll when opening a modal
|
||||
if (location.state?.mastodonModalKey !== prevRouterProps?.location?.state?.mastodonModalKey) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Scroll to focused post if it is loaded
|
||||
const child = this.node?.querySelector('.detailed-status__wrapper');
|
||||
if (child) {
|
||||
return [0, child.offsetTop];
|
||||
}
|
||||
|
||||
// Do not scroll otherwise, `componentDidUpdate` will take care of that
|
||||
return false;
|
||||
};
|
||||
|
||||
render () {
|
||||
let ancestors, descendants, references;
|
||||
const { isLoading, status, ancestorsIds, descendantsIds, referenceIds, intl, domain, multiColumn, pictureInPicture } = this.props;
|
||||
|
@ -723,7 +749,7 @@ class Status extends ImmutablePureComponent {
|
|||
)}
|
||||
/>
|
||||
|
||||
<ScrollContainer scrollKey='thread'>
|
||||
<ScrollContainer scrollKey='thread' shouldUpdateScroll={this.shouldUpdateScroll}>
|
||||
<div className={classNames('scrollable', { fullscreen })} ref={this.setRef}>
|
||||
{references}
|
||||
{ancestors}
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
"bundle_modal_error.message": "컴포넌트를 불러오는 중 문제가 발생했습니다.",
|
||||
"bundle_modal_error.retry": "다시 시도",
|
||||
"closed_registrations.other_server_instructions": "마스토돈은 분산화 되어 있기 때문에, 다른 서버에서 계정을 만들더라도 이 서버와 상호작용 할 수 있습니다.",
|
||||
"closed_registrations_modal.description": "{domain}은 현재 가입이 막혀있는 상태입니다, 만약 마스토돈을 이용하기 위해 꼭 {domain}을 사용할 필요는 없다는 사실을 인지해 두세요.",
|
||||
"closed_registrations_modal.description": "{domain}은 현재 가입이 막혀있는 상태입니다, 마스토돈을 이용하기 위해 꼭 {domain}을 사용할 필요는 없다는 사실을 인지해 두세요.",
|
||||
"closed_registrations_modal.find_another_server": "다른 서버 찾기",
|
||||
"closed_registrations_modal.preamble": "마스토돈은 분산화 되어 있습니다, 그렇기 때문에 어디에서 계정을 생성하든, 이 서버에 있는 누구와도 팔로우와 상호작용을 할 수 있습니다. 심지어는 스스로 서버를 만드는 것도 가능합니다!",
|
||||
"closed_registrations_modal.title": "마스토돈에서 가입",
|
||||
|
|
|
@ -312,6 +312,7 @@
|
|||
"home.hide_announcements": "ကြေညာချက်များကို ဖျောက်ပါ",
|
||||
"home.pending_critical_update.body": "သင့် Mastodon ဆာဗာ အမြန်ဆုံး အပ်ဒိတ်လုပ်ပါ။",
|
||||
"home.pending_critical_update.link": "အပ်ဒိတ်များကြည့်ရန်",
|
||||
"home.pending_critical_update.title": "အရေးကြီးသည့် လုံခြုံရေးအပ်ဒိတ် ရနိုင်ပါမည်။",
|
||||
"home.show_announcements": "ကြေညာချက်များကို ပြပါ",
|
||||
"interaction_modal.description.favourite": "Mastodon အကောင့်ဖြင့် ဤပို့စ်ကို သင် favorite ပြုလုပ်ကြောင်း စာရေးသူအား အသိပေးပြီး နောက်ပိုင်းတွင် သိမ်းဆည်းနိုင်သည်။",
|
||||
"interaction_modal.description.follow": "Mastodon အကောင့်ဖြင့် သင်၏ ပင်မစာမျက်နှာတွင် ၎င်းတို့၏ ပို့စ်များကို ရရှိရန်အတွက် {name} ကို စောင့်ကြည့်နိုင်ပါသည်။",
|
||||
|
@ -594,6 +595,7 @@
|
|||
"search_popout.options": "ရွေးချယ်ထားသည်များ ရှာဖွေရန်",
|
||||
"search_popout.quick_actions": "အမြန်လုပ်ဆောင်မှုများ",
|
||||
"search_popout.recent": "လတ်တလော ရှာဖွေမှုများ",
|
||||
"search_popout.specific_date": "သီးခြားရက်စွဲ",
|
||||
"search_popout.user": "အသုံးပြုသူ",
|
||||
"search_results.accounts": "စာမျက်နှာ",
|
||||
"search_results.all": "အားလုံး",
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
"about.rules": "සේවාදායකයේ නීති",
|
||||
"account.account_note_header": "සටහන",
|
||||
"account.add_or_remove_from_list": "ලැයිස්තු වලින් එකතු හෝ ඉවත් කරන්න",
|
||||
"account.badges.bot": "ස්වයංක්රියයි",
|
||||
"account.badges.group": "සමූහය",
|
||||
"account.block": "@{name} අවහිර කරන්න",
|
||||
"account.block_domain": "{domain} වසම අවහිර කරන්න",
|
||||
|
@ -21,14 +22,15 @@
|
|||
"account.follow": "අනුගමනය",
|
||||
"account.followers": "අනුගාමිකයින්",
|
||||
"account.followers.empty": "කිසිවෙක් අනුගමනය කර නැත.",
|
||||
"account.following": "අනුගමනය",
|
||||
"account.following_counter": "{count, plural, one {අනුගාමිකයින් {counter}} other {අනුගාමිකයින් {counter}}}",
|
||||
"account.followers_counter": "{count, plural, one {අනුගාමිකයින් {counter}} other {අනුගාමිකයින් {counter}}}",
|
||||
"account.following": "අනුගමන",
|
||||
"account.following_counter": "{count, plural, one {අනුගමන {counter}} other {අනුගමන {counter}}}",
|
||||
"account.follows.empty": "තවමත් කිසිවෙක් අනුගමනය නොකරයි.",
|
||||
"account.follows_you": "ඔබව අනුගමනය කරයි",
|
||||
"account.go_to_profile": "පැතිකඩට යන්න",
|
||||
"account.joined_short": "එක් වූ දිනය",
|
||||
"account.link_verified_on": "මෙම සබැඳියේ අයිතිය {date} දී පරීක්ෂා කෙරිණි",
|
||||
"account.media": "මාධ්යය",
|
||||
"account.media": "මාධ්ය",
|
||||
"account.mention": "@{name} සඳහන් කරන්ක",
|
||||
"account.mute": "@{name} නිහඬ කරන්න",
|
||||
"account.mute_short": "නිහඬ",
|
||||
|
@ -37,6 +39,7 @@
|
|||
"account.posts_with_replies": "ලිපි සහ පිළිතුරු",
|
||||
"account.report": "@{name} වාර්තා කරන්න",
|
||||
"account.share": "@{name} ගේ පැතිකඩ බෙදාගන්න",
|
||||
"account.statuses_counter": "{count, plural, one {ලිපි {counter}} other {ලිපි {counter}}}",
|
||||
"account.unblock": "@{name} අනවහිර කරන්න",
|
||||
"account.unblock_domain": "{domain} වසම අනවහිර කරන්න",
|
||||
"account.unblock_short": "අනවහිර",
|
||||
|
@ -53,11 +56,17 @@
|
|||
"audio.hide": "හඬපටය සඟවන්න",
|
||||
"autosuggest_hashtag.per_week": "සතියකට {count}",
|
||||
"boost_modal.combo": "ඊළඟ වතාවේ මෙය මඟ හැරීමට {combo} එබීමට හැකිය",
|
||||
"bundle_column_error.copy_stacktrace": "දෝෂ වාර්තාවේ පිටපතක්",
|
||||
"bundle_column_error.error.title": "අපොයි!",
|
||||
"bundle_column_error.network.title": "ජාලයේ දෝෂයකි",
|
||||
"bundle_column_error.retry": "නැවත උත්සාහ කරන්න",
|
||||
"bundle_column_error.return": "ආපසු මුලට යන්න",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "වසන්න",
|
||||
"bundle_modal_error.message": "මෙම සංරචකය පූරණයේ දී යම් දෙයක් වැරදී ඇත.",
|
||||
"bundle_modal_error.retry": "නැවත උත්සාහ කරන්න",
|
||||
"closed_registrations_modal.find_another_server": "වෙනත් සේවාදායක",
|
||||
"closed_registrations_modal.title": "මාස්ටඩන් හි ලියාපදිංචි වන්න",
|
||||
"column.about": "පිලිබඳව",
|
||||
"column.blocks": "අවහිර කළ අය",
|
||||
"column.bookmarks": "පොත්යොමු",
|
||||
|
@ -159,7 +168,7 @@
|
|||
"empty_column.domain_blocks": "අවහිර කරන ලද වසම් නැත.",
|
||||
"empty_column.explore_statuses": "දැන් කිසිවක් නැඹුරු නොවේ. පසුව නැවත පරීක්ෂා කරන්න!",
|
||||
"empty_column.follow_requests": "ඔබට තවමත් අනුගමන ඉල්ලීම් ලැබී නැත. ඉල්ලීමක් ලැබුණු විට, එය මෙහි පෙන්වනු ඇත.",
|
||||
"empty_column.home": "ඔබගේ මුල් පිටුව හිස් ය! මෙය පිරවීමට බොහෝ පුද්ගලයින් අනුගමනය කරන්න.",
|
||||
"empty_column.home": "මුල් පිටුව හිස් ය! මෙය පිරවීමට බොහෝ පුද්ගලයින් අනුගමනය කරන්න.",
|
||||
"empty_column.lists": "ඔබට තවමත් ලැයිස්තු කිසිවක් නැත. ඔබ එකක් සාදන විට, එය මෙහි පෙන්වනු ඇත.",
|
||||
"empty_column.mutes": "ඔබ තවමත් කිසිදු පරිශීලකයෙකු නිහඬ කර නැත.",
|
||||
"empty_column.notifications": "ඔබට දැනුම්දීම් ලැබී නැත. අන් අය සහ ඔබ අතර අන්යෝන්ය බලපවත්වන දෑ මෙහි දිස්වනු ඇත.",
|
||||
|
@ -264,7 +273,7 @@
|
|||
"navigation_bar.favourites": "ප්රියතමයන්",
|
||||
"navigation_bar.filters": "නිහඬ කළ වචන",
|
||||
"navigation_bar.follow_requests": "අනුගමන ඉල්ලීම්",
|
||||
"navigation_bar.follows_and_followers": "අනුගමනය හා අනුගාමිකයින්",
|
||||
"navigation_bar.follows_and_followers": "අනුගමන හා අනුගාමික",
|
||||
"navigation_bar.lists": "ලැයිස්තු",
|
||||
"navigation_bar.logout": "නික්මෙන්න",
|
||||
"navigation_bar.mutes": "නිහඬ කළ අය",
|
||||
|
@ -445,7 +454,7 @@
|
|||
"time_remaining.seconds": "{number, plural, one {තත්පර #} other {තත්පර #}} ක් ඉතිරිය",
|
||||
"timeline_hint.remote_resource_not_displayed": "වෙනත් සේවාදායකයන්ගෙන් {resource} දර්ශනය නොවේ.",
|
||||
"timeline_hint.resources.followers": "අනුගාමිකයින්",
|
||||
"timeline_hint.resources.follows": "අනුගමනය",
|
||||
"timeline_hint.resources.follows": "අනුගමන",
|
||||
"timeline_hint.resources.statuses": "පරණ ලිපි",
|
||||
"trends.trending_now": "දැන් නැගී එන",
|
||||
"ui.beforeunload": "ඔබ මාස්ටඩන් හැර ගියහොත් කටුපිටපත අහිමි වේ.",
|
||||
|
|
|
@ -79,16 +79,16 @@
|
|||
"admin.impact_report.instance_accounts": "Профілі облікових записів буде видалено",
|
||||
"admin.impact_report.instance_followers": "Підписники, яких можуть втратити наші користувачі",
|
||||
"admin.impact_report.instance_follows": "Підписники, яких можуть втратити їхні користувачі",
|
||||
"admin.impact_report.title": "Наслідки",
|
||||
"alert.rate_limited.message": "Спробуйте ще раз через {retry_time, time, medium}.",
|
||||
"admin.impact_report.title": "Підсумки впливу",
|
||||
"alert.rate_limited.message": "Спробуйте ще раз за {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Швидкість обмежена",
|
||||
"alert.unexpected.message": "Сталася неочікувана помилка.",
|
||||
"alert.unexpected.title": "Ой!",
|
||||
"announcement.announcement": "Оголошення",
|
||||
"attachments_list.unprocessed": "(не оброблено)",
|
||||
"audio.hide": "Сховати аудіо",
|
||||
"autosuggest_hashtag.per_week": "{count} в тиждень",
|
||||
"boost_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу",
|
||||
"autosuggest_hashtag.per_week": "{count} на тиждень",
|
||||
"boost_modal.combo": "Ви можете натиснути {combo}, щоби пропустити це наступного разу",
|
||||
"bundle_column_error.copy_stacktrace": "Копіювати звіт про помилку",
|
||||
"bundle_column_error.error.body": "Неможливо показати запитану сторінку. Це може бути спричинено помилкою у нашому коді, або через проблему сумісності з браузером.",
|
||||
"bundle_column_error.error.title": "О, ні!",
|
||||
|
@ -140,7 +140,7 @@
|
|||
"compose.saved.body": "Допис збережено.",
|
||||
"compose_form.direct_message_warning_learn_more": "Дізнатися більше",
|
||||
"compose_form.encryption_warning": "Дописи на Mastodon не захищені шифруванням. Не поширюйте жодну делікатну інформацію.",
|
||||
"compose_form.hashtag_warning": "Цей допис не буде зображений у жодній стрічці гештеґу, оскільки він прихований. Тільки публічні дописи можуть бути знайдені за гештеґом.",
|
||||
"compose_form.hashtag_warning": "Цього допису не буде під жодним гештеґом, оскільки він не є загальнодоступним. За гештеґом можна шукати лише публічні дописи.",
|
||||
"compose_form.lock_disclaimer": "Ваш обліковий запис не {locked}. Будь-який користувач може підписатися на вас та переглядати ваші дописи для підписників.",
|
||||
"compose_form.lock_disclaimer.lock": "приватний",
|
||||
"compose_form.placeholder": "Що у вас на думці?",
|
||||
|
@ -151,7 +151,7 @@
|
|||
"compose_form.poll.switch_to_multiple": "Дозволити вибір декількох відповідей",
|
||||
"compose_form.poll.switch_to_single": "Перемкнути у режим вибору однієї відповіді",
|
||||
"compose_form.publish": "Опублікувати",
|
||||
"compose_form.publish_form": "Опублікувати",
|
||||
"compose_form.publish_form": "Новий допис",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.save_changes": "Зберегти зміни",
|
||||
"compose_form.sensitive.hide": "{count, plural, one {Позначити медіа делікатним} other {Позначити медіа делікатними}}",
|
||||
|
@ -206,7 +206,7 @@
|
|||
"dismissable_banner.explore_tags": "Ці хештеги зараз набирають популярності серед людей на цьому та інших серверах децентралізованої мережі. Хештеги, які використовуються більшою кількістю людей, мають вищий рейтинг.",
|
||||
"dismissable_banner.public_timeline": "Це найновіші загальнодоступні дописи від людей в соціальній мережі, на які підписані люди в {domain}.",
|
||||
"embed.instructions": "Вбудуйте цей допис до вашого вебсайту, скопіювавши код нижче.",
|
||||
"embed.preview": "Ось як він виглядатиме:",
|
||||
"embed.preview": "Ось який вигляд це матиме:",
|
||||
"emoji_button.activity": "Діяльність",
|
||||
"emoji_button.clear": "Очистити",
|
||||
"emoji_button.custom": "Власні",
|
||||
|
@ -227,7 +227,7 @@
|
|||
"empty_column.account_unavailable": "Профіль недоступний",
|
||||
"empty_column.blocks": "Ви ще не заблокували жодного користувача.",
|
||||
"empty_column.bookmarked_statuses": "У вас ще немає дописів у закладках. Коли ви щось додасте до закладок, воно з'явиться тут.",
|
||||
"empty_column.community": "Локальна стрічка пуста. Напишіть щось, щоб розігріти народ!",
|
||||
"empty_column.community": "Локальна стрічка порожня. Напишіть щось, щоб розігріти народ!",
|
||||
"empty_column.direct": "У вас ще немає жодних особистих згадок. Коли ви надсилаєте чи отримуєте повідомлення, воно з'явиться тут.",
|
||||
"empty_column.domain_blocks": "Тут поки немає прихованих доменів.",
|
||||
"empty_column.explore_statuses": "Нема нічого популярного. Подивіться пізніше!",
|
||||
|
@ -240,10 +240,10 @@
|
|||
"empty_column.list": "Цей список порожній. Коли його учасники додадуть нові дописи, вони з'являться тут.",
|
||||
"empty_column.lists": "У вас ще немає списків. Коли ви їх створите, вони з'являться тут.",
|
||||
"empty_column.mutes": "Ви ще не приховали жодного користувача.",
|
||||
"empty_column.notifications": "У вас ще немає сповіщень. Переписуйтесь з іншими користувачами, щоб почати розмову.",
|
||||
"empty_column.notifications": "У вас ще немає сповіщень. Коли інші люди почнуть взаємодіяти з вами, ви побачите їх тут.",
|
||||
"empty_column.public": "Тут поки нічого немає! Опублікуйте щось, або вручну підпишіться на користувачів інших серверів, щоб заповнити стрічку",
|
||||
"error.unexpected_crash.explanation": "Через помилку у нашому коді або несумісність браузера, ця сторінка не може бути зображена коректно.",
|
||||
"error.unexpected_crash.explanation_addons": "Неможливо правильно показати цю сторінку. Ймовірно, цю помилку викликано додатком браузера або автоматичним засобом перекладу.",
|
||||
"error.unexpected_crash.explanation_addons": "Неможливо правильно показати цю сторінку. Ймовірно, цю помилку спричинило розширення браузера або автоматичний засіб перекладу.",
|
||||
"error.unexpected_crash.next_steps": "Спробуйте перезавантажити сторінку. Якщо це не допоможе, ви все ще зможете використовувати Mastodon через інший браузер або рідний застосунок.",
|
||||
"error.unexpected_crash.next_steps_addons": "Спробуйте їх вимкнути та оновити сторінку. Якщо це не допомагає, ви можете використовувати Mastodon через інший браузер або окремий застосунок.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Скопіювати трасування стека у буфер обміну",
|
||||
|
@ -394,7 +394,7 @@
|
|||
"moved_to_account_banner.text": "Ваш обліковий запис {disabledAccount} наразі вимкнений, оскільки вас перенесено до {movedToAccount}.",
|
||||
"mute_modal.duration": "Тривалість",
|
||||
"mute_modal.hide_notifications": "Сховати сповіщення цього користувача?",
|
||||
"mute_modal.indefinite": "Назавжди",
|
||||
"mute_modal.indefinite": "Невизначений строк",
|
||||
"navigation_bar.about": "Про застосунок",
|
||||
"navigation_bar.advanced_interface": "Відкрити в розширеному вебінтерфейсі",
|
||||
"navigation_bar.blocks": "Заблоковані користувачі",
|
||||
|
@ -428,7 +428,7 @@
|
|||
"notification.follow": "{name} підписалися на вас",
|
||||
"notification.follow_request": "{name} відправили запит на підписку",
|
||||
"notification.mention": "{name} згадали вас",
|
||||
"notification.own_poll": "Ваше опитування завершено",
|
||||
"notification.own_poll": "Ваше опитування завершилося",
|
||||
"notification.poll": "Опитування, у якому ви голосували, скінчилося",
|
||||
"notification.reblog": "{name} поширює ваш допис",
|
||||
"notification.status": "{name} щойно дописує",
|
||||
|
@ -480,7 +480,7 @@
|
|||
"onboarding.follows.title": "Персоналізуйте домашню стрічку",
|
||||
"onboarding.share.lead": "Розкажіть людям про те, як вони можуть знайти вас на Mastodon!",
|
||||
"onboarding.share.message": "Я {username} на #Mastodon! Стежте за мною на {url}",
|
||||
"onboarding.share.next_steps": "Можливі наступні кроки:",
|
||||
"onboarding.share.next_steps": "Можливі такі кроки:",
|
||||
"onboarding.share.title": "Поділитися своїм профілем",
|
||||
"onboarding.start.lead": "Тепер ви — частина Mastodon, унікальної децентралізованої платформи соціальних медіа, де ви, а не алгоритми керують вашими вподобаннями. Розпочнімо роботу:",
|
||||
"onboarding.start.skip": "Хочете пропустити?",
|
||||
|
@ -694,7 +694,7 @@
|
|||
"units.short.thousand": "{count} тис",
|
||||
"upload_area.title": "Перетягніть сюди, щоб завантажити",
|
||||
"upload_button.label": "Додати зображення, відео або аудіо",
|
||||
"upload_error.limit": "Ліміт завантаження файлів перевищено.",
|
||||
"upload_error.limit": "Ви перевищили ліміт завантаження файлів.",
|
||||
"upload_error.poll": "Не можна завантажувати файли до опитувань.",
|
||||
"upload_form.audio_description": "Опишіть для людей із вадами слуху",
|
||||
"upload_form.description": "Опишіть для людей з вадами зору",
|
||||
|
@ -713,7 +713,7 @@
|
|||
"upload_modal.hint": "Клацніть або перетягніть коло на превʼю, щоб обрати точку, яку буде завжди видно на мініатюрах.",
|
||||
"upload_modal.preparing_ocr": "Підготовка OCR…",
|
||||
"upload_modal.preview_label": "Переглянути ({ratio})",
|
||||
"upload_progress.label": "Завантаження...",
|
||||
"upload_progress.label": "Вивантаження...",
|
||||
"upload_progress.processing": "Обробка…",
|
||||
"username.taken": "Це ім'я користувача вже зайнято. Спробуйте інше",
|
||||
"video.close": "Закрити відео",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue