Compare commits

...

201 Commits

Author SHA1 Message Date
Shpuld Shpludson c3fcbbd918 Merge branch 'rc/2.3.0' into 'master'
2.3.0 to MASTER

See merge request pleroma/pleroma-fe!1366
2021-03-01 18:15:46 +00:00
Shpuld Shpludson 0ac34b3014 Merge branch 'master' into 'rc/2.3.0'
# Conflicts:
#   CHANGELOG.md
2021-03-01 18:06:55 +00:00
Shpuld Shpuldson 06cde8ad06 fix changelog entries in wrong places 2021-03-01 20:04:27 +02:00
Shpuld Shpuldson 434f9cdd7e changelog date 2021-03-01 19:59:57 +02:00
Shpuld Shpuldson 35cde98d2c Merge branch 'fix/punycode-buggy' into rc/2.3.0 2021-03-01 09:27:19 +02:00
Shpuld Shpuldson 49aa10e1c0 add screen_name_ui to tests 2021-02-26 16:37:46 +02:00
Shpuld Shpuldson 09fe160e8b separate screen_name and screen_name_ui with decoded punycode 2021-02-26 16:23:11 +02:00
Shpuld Shpludson 59db4582b0 Merge branch 'feat/focus-input-with-emoji-pickers' into 'develop'
close #1048: Focus input in emoji picker and react picker

Closes #1048

See merge request pleroma/pleroma-fe!1357
2021-02-26 11:13:33 +00:00
Shpuld Shpuldson 44e687653c set changelog version 2021-02-26 13:01:09 +02:00
HJ 20b755d57e Merge branch 'fix-build-warnings' into 'develop'
update shelljs to get rid of warnings on build

See merge request pleroma/pleroma-fe!1358
2021-02-26 10:16:21 +00:00
HJ a7a69d08a7 Merge branch 'fix/chat-unread-badge' into 'develop'
fix chat unread badge

See merge request pleroma/pleroma-fe!1359
2021-02-26 10:15:09 +00:00
Shpuld Shpuldson 2e7529cf50 changelog mention 2021-02-26 11:03:26 +02:00
Shpuld Shpuldson 6fefa5a9c5 fix chat unread badge 2021-02-26 11:00:21 +02:00
Shpuld Shpuldson cef6ecb916 update shelljs to get rid of warnings on build 2021-02-26 10:30:30 +02:00
Shpuld Shpuldson acc08932cd save a few characters 2021-02-25 17:32:54 +02:00
Shpuld Shpuldson 74caf42ed7 Merge branch 'develop' into feat/focus-input-with-emoji-pickers 2021-02-25 17:31:36 +02:00
Shpuld Shpuldson 34d18ac0c4 focus input in emoji picker and react picker 2021-02-25 17:27:29 +02:00
Shpuld Shpludson dd9e18fd34 Merge branch 'fix-vue-warnings-again' into 'develop'
fix vue warnings

See merge request pleroma/pleroma-fe!1356
2021-02-25 12:43:22 +00:00
Shpuld Shpuldson 59aaade7fc fix vue warnings 2021-02-25 14:32:21 +02:00
HJ 5faca01261 Merge branch 'fix/redline-final-v2' into 'develop'
fix redline again

See merge request pleroma/pleroma-fe!1353
2021-02-22 18:53:26 +00:00
Shpuld Shpuldson e14b9ddc02 changelog conflict fix 2021-02-22 18:00:02 +02:00
Shpuld Shpludson 3d013630ae Merge branch 'fix/scroll-lock-jumpiness' into 'develop'
Fix some UI jumpiness on scroll lock

See merge request pleroma/pleroma-fe!1343
2021-02-22 15:14:23 +00:00
Shpuld Shpludson 589ab6510c Merge branch 'feat/keep-chat-perf-up' into 'develop'
Optimize chat perf in long run

See merge request pleroma/pleroma-fe!1350
2021-02-22 15:01:05 +00:00
Shpuld Shpludson e8b8c3cc49 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1351
2021-02-22 15:00:47 +00:00
Shpuld Shpuldson 2f60c6a821 fix redline again 2021-02-22 16:44:12 +02:00
Kana 5ddfc787ed Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (684 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-02-22 03:28:44 +00:00
Ryo Ueno 226ec1c5be Translated using Weblate (Korean)
Currently translated at 66.8% (458 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-02-21 03:00:16 +00:00
Ryo Ueno 3983ea79cd Translated using Weblate (Korean)
Currently translated at 66.7% (457 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-02-21 02:51:00 +00:00
Ryo Ueno 20997d6cfc Translated using Weblate (Japanese)
Currently translated at 100.0% (685 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-21 02:50:57 +00:00
Ben Is d5f191db38 Translated using Weblate (Italian)
Currently translated at 100.0% (685 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-02-21 02:50:55 +00:00
Tirifto d0b1a68f86 Translated using Weblate (Esperanto)
Currently translated at 100.0% (683 of 683 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-02-20 20:37:20 +00:00
Shpuld Shpludson a89710452a Merge branch 'feat/reason-in-registration' into 'develop'
Close #1047 - add reason field for registration when needed

Closes #1047

See merge request pleroma/pleroma-fe!1347
2021-02-20 20:37:12 +00:00
HJ 663362db56 Merge branch 'fix/poll-type-text-overflow' into 'develop'
add padding to poll type to not have arrow icon overlap text

See merge request pleroma/pleroma-fe!1345
2021-02-20 19:29:02 +00:00
HJ a7f055a875 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1348
2021-02-20 19:27:51 +00:00
Shpuld Shpuldson 67f3532ac9 add additional check with timeout 2021-02-18 10:14:45 +02:00
Shpuld Shpuldson ee1cf36d52 update changelog 2021-02-17 10:54:14 +02:00
Shpuld Shpuldson 7834ff52b1 add test 2021-02-17 10:53:38 +02:00
Shpuld Shpuldson 47770ed715 get rid of older messages when scrolling down in chat to keep it from bloating dom 2021-02-17 10:16:58 +02:00
Kana e720d4dd8a Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (682 of 683 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-02-15 10:26:04 +00:00
rinpatch aa240f935f Merge branch 'chore/mailmap' into 'develop'
Add myself to .mailmap

See merge request pleroma/pleroma-fe!1349
2021-02-15 10:25:57 +00:00
rinpatch 265bb2cd41 Add myself to .mailmap
I changed my email to rin@patch.cx
2021-02-15 13:17:52 +03:00
Shpuld Shpuldson 23a5c601a7 changelog 2021-02-15 11:35:14 +02:00
Shpuld Shpuldson b4580d086f Merge branch 'develop' into feat/reason-in-registration 2021-02-15 11:10:38 +02:00
Shpuld Shpuldson a636e53404 add reason field when approval is required 2021-02-15 11:10:09 +02:00
HJ 2f8d4c7406 Merge branch 'fix/weblate-conflicts' into 'develop'
Merge Weblate updates

See merge request pleroma/pleroma-fe!1346
2021-02-15 08:33:58 +00:00
rinpatch 3d25946bbf Merge Weblate updates
There was a merge conflict so it had to be done manually.
2021-02-15 11:25:03 +03:00
Shpuld Shpuldson c3b267f2b9 add padding to poll type to not have arrow icon overlap text 2021-02-15 08:30:41 +02:00
Shpuld Shpludson 44bddf6cd2 Merge branch 'fix/usercard-use-general-roles' into 'develop'
User card: use general.role instead of card-specific roles

See merge request pleroma/pleroma-fe!1344
2021-02-15 06:20:55 +00:00
Ryo Ueno 7e11093fcd Translated using Weblate (Japanese)
Currently translated at 100.0% (685 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-14 09:49:18 +00:00
Ben Is cba48476ad Translated using Weblate (Italian)
Currently translated at 100.0% (685 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-02-14 09:49:16 +00:00
rinpatch 033b7eaeb9 Translated using Weblate (Russian)
Currently translated at 83.6% (573 of 685 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-02-13 22:05:02 +00:00
rinpatch 6acf812101 User card: use general.role instead of card-specific roles
Also removes admin_menu.roles from some localizations since it is not
used anywhere
2021-02-13 16:34:43 +03:00
Ben Is 376d431681 Translated using Weblate (Italian)
Currently translated at 100.0% (682 of 682 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-02-12 19:15:48 +00:00
Ryo Ueno 0dc6937bf8 Translated using Weblate (Korean)
Currently translated at 57.3% (390 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ko/
2021-02-12 19:15:48 +00:00
Anonymous a848462f19 Translated using Weblate (Japanese)
Currently translated at 98.8% (672 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-12 19:15:48 +00:00
Ryo Ueno cccdda3a7b Translated using Weblate (Japanese)
Currently translated at 98.8% (672 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-12 19:15:48 +00:00
Anonymous e85fa160c7 Translated using Weblate (Japanese)
Currently translated at 98.0% (667 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-12 19:15:48 +00:00
Ryo Ueno 586c538aa0 Translated using Weblate (Japanese)
Currently translated at 98.0% (667 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ja_PEDANTIC/
2021-02-12 19:15:48 +00:00
tarteka 21e2b3ce0e Translated using Weblate (Spanish)
Currently translated at 100.0% (680 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-02-12 19:15:48 +00:00
Ben Is 11081c2870 Translated using Weblate (Italian)
Currently translated at 100.0% (680 of 680 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-02-12 19:15:48 +00:00
Snow 4c845a1a99 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-02-12 19:15:48 +00:00
Snow 0a3f40eebb Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-02-12 19:15:48 +00:00
Snow 63317a2fdf Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (674 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-02-12 19:15:48 +00:00
LibertAdmin 0ffb7b67ed Translated using Weblate (French)
Currently translated at 98.2% (667 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/fr/
2021-02-12 19:15:48 +00:00
fiftyffs 1a836c8527 Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.1% (476 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/nb_NO/
2021-02-12 19:15:48 +00:00
Shpuld Shpludson 7f3fd9ca21 Merge branch 'multi-choice-poll-wording' into 'develop'
Display 'people voted' instead of 'votes' for multi-answers polls

Closes #993

See merge request pleroma/pleroma-fe!1341
2021-02-12 19:15:42 +00:00
Shpuld Shpuldson c7018057f1 changelog 2021-02-12 18:49:57 +02:00
Shpuld Shpuldson 398aac6558 remove redundant opacity2 2021-02-12 18:47:10 +02:00
eugenijm 01275fbac0 Ensure poll.voters_count doesn't fallback to poll.votes when it's 0 2021-02-12 19:43:57 +03:00
Shpuld Shpuldson 4859e63a89 Remove body scrollbar in chat layout, keep nav bar still on scroll lock, add tiny fade for media modal 2021-02-12 18:14:54 +02:00
Shpuld Shpludson b2a96417cf Merge branch 'fix/localize-bot-label' into 'develop'
Make bot label localizable

See merge request pleroma/pleroma-fe!1342
2021-02-12 13:58:11 +00:00
rinpatch da807a12fb Make bot label localizable 2021-02-12 13:48:39 +03:00
Shpuld Shpludson 8b7c367b04 Merge branch 'staff-grouping' into 'develop'
Group staff by role in the About page

Closes #737

See merge request pleroma/pleroma-fe!1309
2021-02-12 08:05:55 +00:00
Eugenij 13ff99881b Apply 1 suggestion(s) to 1 file(s) 2021-02-10 12:28:39 +00:00
eugenijm 1506b97e35 Display 'people voted' instead of 'votes' for multi-choice polls 2021-02-09 16:36:45 +03:00
HJ 647d75f27c Merge branch 'reactbutton-consistency' into 'develop'
Some fixes for reactbutton/extrabuttons

See merge request pleroma/pleroma-fe!1340
2021-02-09 13:12:42 +00:00
Henry Jameson 213c5637d4 Cleanup ReactButton's CSS, fix hitboxes of reactbutton and extrabuttons 2021-02-03 09:18:44 +02:00
HJ 6f3acb3c1b Merge branch 'fix-otp-login-kbd' into 'develop'
Fix #1033 as well as other (potential) similar issues

Closes #1033

See merge request pleroma/pleroma-fe!1338
2021-02-03 06:23:35 +00:00
HJ 7d4c7e3b3f Merge branch 'settings-changed' into 'develop'
Boolean settings improvements

See merge request pleroma/pleroma-fe!1257
2021-02-02 20:27:23 +00:00
Henry Jameson 78f8147aa6 change react button classnames for consistency 2021-02-01 21:07:40 +02:00
Henry Jameson 982c799b6f fix a bunch of <button>s acting as submit buttons breaking enter key 2021-02-01 21:07:09 +02:00
Henry Jameson 66f3e72b54 update branch with recent develop changes (FA, added settings) 2021-02-01 20:08:36 +02:00
Henry Jameson 8958f386be Merge remote-tracking branch 'origin/develop' into settings-changed
* origin/develop: (306 commits)
  fallback if shadows aren't defined
  Translated using Weblate (Chinese (Traditional))
  Translated using Weblate (Ukrainian)
  Translated using Weblate (Italian)
  Translated using Weblate (Ukrainian)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Italian)
  Translated using Weblate (Russian)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Russian)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  Translated using Weblate (Portuguese)
  ...
2021-02-01 19:39:57 +02:00
Shpuld Shpludson de66267a07 Merge branch 'fix/use-current-app-locale' into 'develop'
Use app locale with toLocaleString/toLocaleDateString

See merge request pleroma/pleroma-fe!1301
2021-01-29 08:38:15 +00:00
HJ 6e4a0d408c Merge branch 'fix-fix-themes' into 'develop'
fallback if shadows aren't defined

See merge request pleroma/pleroma-fe!1337
2021-01-28 12:14:28 +00:00
Henry Jameson 2576b75059 fallback if shadows aren't defined 2021-01-28 14:05:32 +02:00
HJ 11963de288 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1327
2021-01-27 06:51:53 +00:00
Snow 79e4df99dc Translated using Weblate (Chinese (Traditional))
Currently translated at 98.5% (669 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-01-25 17:04:16 +00:00
Pavlo Bilous 58a92c1b7d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-25 17:04:16 +00:00
Ben Is 286527b489 Translated using Weblate (Italian)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-25 17:04:16 +00:00
rinpatch bc9cd4170d Translated using Weblate (Ukrainian)
Currently translated at 99.4% (675 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-25 17:04:16 +00:00
João Rodrigues c4fb123d07 Translated using Weblate (Portuguese)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Ben Is 3b6a30ec9f Translated using Weblate (Italian)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-25 17:04:16 +00:00
rinpatch 238e9dcd35 Translated using Weblate (Russian)
Currently translated at 83.9% (570 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-25 17:04:16 +00:00
Artur Mancha c3e5fd5fa1 Translated using Weblate (Portuguese)
Currently translated at 100.0% (679 of 679 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
rinpatch 05e5bb6404 Translated using Weblate (Russian)
Currently translated at 83.8% (568 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-25 17:04:16 +00:00
João Rodrigues 836fc4d205 Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Ana Margarida Guimarães Ribeiro Cardoso c8240a48d5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Anonymous d39e918cd3 Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Anonymous da47d9a43d Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
João Rodrigues 0c2b425682 Translated using Weblate (Portuguese)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
André Inácio ffd673d4a5 Translated using Weblate (Portuguese)
Currently translated at 74.0% (501 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Miguel Carreiro 6df5459ec9 Translated using Weblate (Portuguese)
Currently translated at 74.0% (501 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Anonymous c5477e489b Translated using Weblate (Portuguese)
Currently translated at 74.0% (501 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
João Rodrigues cdd632f04c Translated using Weblate (Portuguese)
Currently translated at 74.0% (501 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Miguel Carreiro e9c5e06f50 Translated using Weblate (Portuguese)
Currently translated at 71.9% (487 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira a9cbf3eafe Translated using Weblate (Portuguese)
Currently translated at 71.9% (487 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira ac43a8145b Translated using Weblate (Portuguese)
Currently translated at 70.0% (474 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Dr. António 21eac51029 Translated using Weblate (Portuguese)
Currently translated at 70.0% (474 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira 600ff9a67b Translated using Weblate (Portuguese)
Currently translated at 69.8% (473 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira a5def5cf56 Translated using Weblate (Portuguese)
Currently translated at 69.7% (472 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Dr. António 24f7cbf3c9 Translated using Weblate (Portuguese)
Currently translated at 69.7% (472 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Afonso Pereira 916d4e0496 Translated using Weblate (Portuguese)
Currently translated at 69.4% (470 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
João Rodrigues 1036395dfc Translated using Weblate (Portuguese)
Currently translated at 69.4% (470 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Artur Mancha 58528605c8 Translated using Weblate (Portuguese)
Currently translated at 56.8% (385 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
André Inácio 9a074fbdfa Translated using Weblate (Portuguese)
Currently translated at 56.8% (385 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Artur Mancha e8fb0f313e Translated using Weblate (Portuguese)
Currently translated at 49.0% (332 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Artur Mancha 67a0d83568 Translated using Weblate (Portuguese)
Currently translated at 48.7% (330 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pt/
2021-01-25 17:04:16 +00:00
Dmitriy Nelovchenko 7c295e1e0f Translated using Weblate (Russian)
Currently translated at 83.1% (563 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-25 17:04:16 +00:00
yasnost a02b769c8f Translated using Weblate (Russian)
Currently translated at 83.1% (563 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-25 17:04:16 +00:00
HJ 7b6f68ebcd Merge branch 'fix/shoutbox-mobile' into 'develop'
fix #1051 wrong route in side drawer shoutbox link

Closes #1051

See merge request pleroma/pleroma-fe!1335
2021-01-25 17:04:08 +00:00
Shpuld Shpuldson 9cf487497e fix wrong route in side drawer shoutbox link 2021-01-25 18:49:03 +02:00
HJ eb2975b64d Merge branch 'fix-p-themes' into 'develop'
Fix p's weird corrupt theme data crashing theme engine

See merge request pleroma/pleroma-fe!1334
2021-01-24 10:36:03 +00:00
Henry Jameson 272ba8f7a9 Fix p's weird corrupt theme data crashing theme engine 2021-01-23 13:58:40 +02:00
Shpuld Shpludson 28ebb8b0ae Merge branch 'fix/convert-more-hyperlinks-to-buttons' into 'develop'
convert more hyperlink buttons to real buttons

See merge request pleroma/pleroma-fe!1333
2021-01-22 13:21:16 +00:00
Shpuld Shpuldson 27a537d307 give delete field its own class 2021-01-22 12:06:39 +02:00
Shpuld Shpuldson daa9f211a6 Merge branch 'develop' into fix/convert-more-hyperlinks-to-buttons 2021-01-22 12:04:58 +02:00
rinpatch 60a8a89f5b Use app locale with toLocaleString/toLocaleDateString
Fixes inconsistent date formatting when browser language is different
from PleromaFE language.
2021-01-21 20:31:54 +03:00
Shpuld Shpludson 0358284ebf Merge branch 'feat/language-picker-native-names' into 'develop'
Use native language names in the language picker

See merge request pleroma/pleroma-fe!1302
2021-01-21 13:41:36 +00:00
rinpatch 11c7355749 Use native language names in the language picker
This seems more intuitive to me and is what I've seen in most other
language pickers.
2021-01-21 14:24:16 +03:00
feld f614da2abb Merge branch 'breaking/adminapi-user-deactivated' into 'develop'
Support old user.deactivated and new user.is_active fields

See merge request pleroma/pleroma-fe!1329
2021-01-20 22:49:42 +00:00
feld 831cf9eafb Apply 1 suggestion(s) to 1 file(s) 2021-01-20 14:47:13 -06:00
Shpuld Shpludson e14917e28d Merge branch 'feat/user-role-i18n' into 'develop'
UserCard: Make user roles translateable

See merge request pleroma/pleroma-fe!1331
2021-01-20 15:40:47 +00:00
Shpuld Shpuldson 02ab803725 change a few more buttons to real buttons 2021-01-20 17:36:40 +02:00
Shpuld Shpuldson 9bf80cc7be Merge branch 'develop' into fix/convert-more-hyperlinks-to-buttons 2021-01-20 17:14:09 +02:00
Shpuld Shpludson 62dcf34e0d Merge branch 'chore/backport-release-in-changelog' into 'develop'
Chore/backport release in changelog

See merge request pleroma/pleroma-fe!1332
2021-01-20 15:13:40 +00:00
Shpuld Shpuldson 8011556c28 backport 2.2.3 to changelog 2021-01-20 17:03:51 +02:00
Shpuld Shpuldson dcba920f92 fix profile field buttons, remove attachment button 2021-01-20 17:01:57 +02:00
rinpatch b76a68e622 UserCard: Make user roles translateable
I did not add a translation for my native language in this patch because
I am not sure how weblate would react, but I did add it locally and it
seems to work.
2021-01-20 14:04:00 +03:00
Mark Felder 36e56354e4 More robust backwards compatibility 2021-01-19 10:01:55 -06:00
Mark Felder 9656c9b969 Support old user.deactivated and new user.is_active fields 2021-01-18 15:54:12 -06:00
Shpuld Shpludson 320418d524 Merge branch 'rc/2.2.3' into 'master'
rc 2.2.3 to MASTER

See merge request pleroma/pleroma-fe!1328
2021-01-18 13:44:31 +00:00
Shpuld Shpludson 8f55cb151c Merge branch 'master' into 'rc/2.2.3'
# Conflicts:
#   CHANGELOG.md
2021-01-18 13:35:53 +00:00
Shpuld Shpuldson 4f0c43bd84 rc 2.2.3 2021-01-18 15:30:42 +02:00
Shpuld Shpludson fe78ed78fd Merge branch 'feat/dont-filter-own-posts' into 'develop'
Don't filter own posts

See merge request pleroma/pleroma-fe!1323
2021-01-18 13:09:25 +00:00
HJ 8c82bb61f1 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1325
2021-01-13 12:51:33 +00:00
Ben Is 38e5eec122 Translated using Weblate (Italian)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-13 11:00:37 +00:00
Shpuld Shpludson f52bca04c9 Merge branch 'feat/allow-reporting-status-directly' into 'develop'
Add report button to status ellipsis menu

See merge request pleroma/pleroma-fe!1324
2021-01-12 16:01:15 +00:00
Shpuld Shpuldson 0ee0551a47 fix changing reported status on same user 2021-01-12 14:55:31 +02:00
Shpuld Shpuldson 65dbf7b85d Add report button to status ellipsis menu 2021-01-12 14:43:21 +02:00
Shpuld Shpludson 728726cf17 Merge branch 'weblate-pleroma-pleroma-fe' into 'develop'
Translations update from Weblate

See merge request pleroma/pleroma-fe!1305
2021-01-12 12:01:32 +00:00
Shpuld Shpuldson cdb9b4aea2 changelog update 2021-01-11 19:41:42 +02:00
Shpuld Shpuldson 5ab96ae0d2 don't filter own posts 2021-01-11 19:40:35 +02:00
Kana 1a89ec5d8a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
Marcin Mikołajczak 83db5f0916 Translated using Weblate (Polish)
Currently translated at 99.8% (676 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/pl/
2021-01-05 08:09:18 +00:00
Dmitriy Nelovchenko 4f69c41fa5 Translated using Weblate (Russian)
Currently translated at 79.6% (539 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
Dmitriy Nelovchenko 8729c66374 Translated using Weblate (Russian)
Currently translated at 78.8% (534 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
rinpatch 6670668a7c Translated using Weblate (Russian)
Currently translated at 77.9% (528 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
tarteka c1de7b60e1 Translated using Weblate (Spanish)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/es/
2021-01-05 08:09:18 +00:00
Ben Is bdee1277b1 Translated using Weblate (Italian)
Currently translated at 100.0% (677 of 677 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-05 08:09:18 +00:00
Kana 12991f915f Translated using Weblate (Chinese (Traditional))
Currently translated at 98.9% (668 of 675 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-01-05 08:09:18 +00:00
Kana 2053b3396a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (675 of 675 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
Ben Is e98c19c725 Translated using Weblate (Italian)
Currently translated at 100.0% (675 of 675 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-05 08:09:18 +00:00
ZEN 3681d6bbd1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (675 of 675 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
Ben Is e3b02de6fb Translated using Weblate (Italian)
Currently translated at 100.0% (672 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/it/
2021-01-05 08:09:18 +00:00
Митець fa6cfc8238 Translated using Weblate (Ukrainian)
Currently translated at 99.8% (671 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
shironeko 2509bfc5e6 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.4% (668 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hant/
2021-01-05 08:09:18 +00:00
Kana d50798e8ce Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
shironeko b5dca9bbe2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (672 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
rinpatch 3987020216 Translated using Weblate (Russian)
Currently translated at 78.5% (528 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
Tirifto 271f9e539a Translated using Weblate (Esperanto)
Currently translated at 100.0% (672 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/eo/
2021-01-05 08:09:18 +00:00
shironeko a2dff27737 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (670 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
Kana 467efc4639 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (670 of 672 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
Kana 646ff273ee Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (669 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/zh_Hans/
2021-01-05 08:09:18 +00:00
rinpatch 2b6b5ff227 Translated using Weblate (Russian)
Currently translated at 77.4% (520 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
Митець cf796d8f5c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
ZEN 762204f3be Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
rinpatch d1f51d946b Translated using Weblate (Russian)
Currently translated at 77.3% (519 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/ru/
2021-01-05 08:09:18 +00:00
ZEN 837df4f5a5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
ZEN 76809e9d24 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
Митець 1847315353 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
ZEN 07b31a7d9c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (671 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
Митець 9780e1fc11 Translated using Weblate (Ukrainian)
Currently translated at 98.0% (658 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
ZEN 21f624609f Translated using Weblate (Ukrainian)
Currently translated at 98.0% (658 of 671 strings)

Translation: Pleroma/Pleroma-FE
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-fe/uk/
2021-01-05 08:09:18 +00:00
Shpuld Shpludson 3e7d1fbf23 Merge branch 'fix/punycode-screen-names' into 'develop'
fix #1036 convert screen name to unicode with punycode

Closes #1036

See merge request pleroma/pleroma-fe!1320
2021-01-05 08:09:09 +00:00
Shpuld Shpludson ef6e2087ae fix #1036 convert screen name to unicode with punycode 2021-01-05 08:09:08 +00:00
HJ bc23266d70 Merge branch 'fix-emoji-sort-chrome' into 'develop'
fix #1037 chrome sorting didn't like 0, other sorter was just outright broken

Closes #1037

See merge request pleroma/pleroma-fe!1321
2021-01-04 19:44:19 +00:00
Henry Jameson 4b0308ad1f fix #1037 chrome sorting didn't like 0, other sorter was just outright broken 2021-01-04 21:09:12 +02:00
HJ 9d45db959f Merge branch 'lang-switcher-zh_Hant' into 'develop'
Added Traditional Chinese to language switcher

See merge request pleroma/pleroma-fe!1319
2021-01-01 15:57:24 +00:00
Kana 9bfc3c275c Added Traditional Chinese to language swithcer 2021-01-01 02:53:16 +00:00
HJ 34d8893f1c Merge branch 'fix/compat-aarch64-mac' into 'develop'
Newer chromedriver works on MacOS aarch64

See merge request pleroma/pleroma-fe!1318
2020-12-29 01:54:18 +00:00
Mark Felder a36922ae1b Newer chromedriver works on MacOS aarch64
https://github.com/giggio/node-chromedriver/commit/469dd0a6ee23540bfa832b5f09b4cbde3e152010
2020-12-28 13:27:13 -06:00
Shpuld Shpludson 3df84ccd5b Merge branch 'fix/follows-followers-not-displaying' into 'develop'
Fix #1034 follows/followers lists not working after update

Closes #1034

See merge request pleroma/pleroma-fe!1317
2020-12-28 18:07:47 +00:00
Shpuld Shpuldson 243383852b make with-load-more not use computeds when they don't work for it 2020-12-28 17:08:15 +02:00
Shpuld Shpludson 2312f6c15a Merge branch 'update-changelog-2.2.2' into 'develop'
update develop changelog with latest release

See merge request pleroma/pleroma-fe!1316
2020-12-28 09:41:46 +00:00
Shpuld Shpuldson f01dce99df update changelog with latest release 2020-12-28 11:32:52 +02:00
eugenijm 481c71517e Group staff members by role in the About page 2020-12-18 13:41:37 +03:00
Henry Jameson e695506c51 proper modified icon + popup 2020-10-17 22:28:49 +03:00
Henry Jameson a664fde02f Merge remote-tracking branch 'origin/develop' into settings-changed
* origin/develop:
  fix fontello
  Translated using Weblate (Russian)
  Translated using Weblate (Italian)
  lint fix
  fixed copy-pasting leftovers
  improved algorithm, possibly speed too
  fix 8x spaces inside this paren
  feat/reorder-emojis-by-position-of-keyword
  rename to gravestone
  Apply 1 suggestion(s) to 1 file(s)
  change i18n phrasing
  separate reply button to its own component, add changelog entry
  add basic deletes support that works with masto WS
2020-10-17 21:26:13 +03:00
Henry Jameson 29ff0be92c Merge remote-tracking branch 'origin/develop' into settings-changed
* origin/develop: (48 commits)
  fix/leftover-emoji-checkboxes-in-settings
  Apply 1 suggestion(s) to 1 file(s)
  Translated using Weblate (Spanish)
  Translated using Weblate (Persian)
  Translated using Weblate (Persian)
  Translated using Weblate (Polish)
  update changelog
  Stop click propagation when unhiding nsfw
  Fix Follow Requests title style
  Translated using Weblate (Persian)
  Translated using Weblate (Persian)
  Translated using Weblate (French)
  Added translation using Weblate (Persian)
  Translated using Weblate (Chinese (Traditional))
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Italian)
  Translated using Weblate (English)
  Translated using Weblate (English)
  Translated using Weblate (Basque)
  Translated using Weblate (Spanish)
  ...
2020-10-17 19:24:07 +03:00
Henry Jameson a463959a36 Initial work on highlighting changed settings. Some refactoring to
simplify addition of new settings
2020-10-01 01:43:07 +03:00
84 changed files with 2354 additions and 984 deletions
+1
View File
@@ -0,0 +1 @@
rinpatch <rin@patch.cx> <rinpatch@sdf.org>
+32
View File
@@ -4,6 +4,38 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [2.3.0] - 2021-03-01
### Fixed
- Button to remove uploaded media in post status form is now properly placed and sized.
- Fixed shoutbox not working in mobile layout
- Fixed missing highlighted border in expanded conversations again
- Fixed some UI jumpiness when opening images particularly in chat view
- Fixed chat unread badge looking weird
- Fixed punycode names not working properly
### Changed
- Display 'people voted' instead of 'votes' for multi-choice polls
- Optimized chat to not get horrible performance after keeping the same chat open for a long time
- When opening emoji picker or react picker, it automatically focuses the search field
- Language picker now uses native language names
### Added
- Added reason field for registration when approval is required
- Group staff members by role in the About page
## [2.2.3] - 2021-01-18
### Added
- Added Report button to status ellipsis menu for easier reporting
### Fixed
- Follows/Followers tabs on user profiles now display the content properly.
- Handle punycode in screen names
### Changed
- Don't filter own posts when they hit your wordfilter
## [2.2.2] - 2020-12-22
### Added
- Mouseover titles for emojis in reaction picker
+3 -2
View File
@@ -31,6 +31,7 @@
"parse-link-header": "^1.0.1",
"phoenix": "^1.3.0",
"portal-vue": "^2.1.4",
"punycode.js": "^2.1.0",
"v-click-outside": "^2.1.1",
"vue": "^2.6.11",
"vue-chat-scroll": "^1.2.1",
@@ -55,7 +56,7 @@
"babel-plugin-lodash": "^3.3.4",
"chai": "^3.5.0",
"chalk": "^1.1.3",
"chromedriver": "^2.21.2",
"chromedriver": "^87.0.1",
"connect-history-api-fallback": "^1.1.0",
"cross-spawn": "^4.0.2",
"css-loader": "^0.28.0",
@@ -102,7 +103,7 @@
"selenium-server": "2.53.1",
"semver": "^5.3.0",
"serviceworker-webpack-plugin": "^1.0.0",
"shelljs": "^0.7.4",
"shelljs": "^0.8.4",
"sinon": "^2.1.0",
"sinon-chai": "^2.8.0",
"stylelint": "^13.6.1",
+13
View File
@@ -178,6 +178,13 @@ a {
&.-fullwidth {
width: 100%;
}
&.-hover-highlight {
&:hover svg {
color: $fallback--lightText;
color: var(--lightText, $fallback--lightText);
}
}
}
input, textarea, .select, .input {
@@ -579,6 +586,7 @@ nav {
color: var(--faint, $fallback--faint);
box-shadow: 0px 0px 4px rgba(0,0,0,.6);
box-shadow: var(--topBarShadow);
box-sizing: border-box;
}
.fade-enter-active, .fade-leave-active {
@@ -871,6 +879,11 @@ nav {
overflow: hidden;
height: 100%;
// Get rid of scrollbar on body as scrolling happens on different element
body {
overflow: hidden;
}
// Ensures the fixed position of the mobile browser bars on scroll up / down events.
// Prevents the mobile browser bars from overlapping or hiding the message posting form.
@media all and (max-width: 800px) {
+1
View File
@@ -51,6 +51,7 @@ const getInstanceConfig = async ({ store }) => {
const vapidPublicKey = data.pleroma.vapid_public_key
store.dispatch('setInstanceOption', { name: 'textlimit', value: textlimit })
store.dispatch('setInstanceOption', { name: 'accountApprovalRequired', value: data.approval_required })
if (vapidPublicKey) {
store.dispatch('setInstanceOption', { name: 'vapidPublicKey', value: vapidPublicKey })
@@ -35,7 +35,7 @@ const AccountActions = {
this.$store.dispatch('unblockUser', this.user.id)
},
reportUser () {
this.$store.dispatch('openUserReportingModal', this.user.id)
this.$store.dispatch('openUserReportingModal', { userId: this.user.id })
},
openChat () {
this.$router.push({
@@ -42,7 +42,7 @@
class="basic-user-card-screen-name"
:to="userProfileLink(user)"
>
@{{ user.screen_name }}
@{{ user.screen_name_ui }}
</router-link>
</div>
<slot />
+9 -1
View File
@@ -73,7 +73,7 @@ const Chat = {
},
formPlaceholder () {
if (this.recipient) {
return this.$t('chats.message_user', { nickname: this.recipient.screen_name })
return this.$t('chats.message_user', { nickname: this.recipient.screen_name_ui })
} else {
return ''
}
@@ -234,6 +234,13 @@ const Chat = {
const scrollable = this.$refs.scrollable
return scrollable && scrollable.scrollTop <= 0
},
cullOlderCheck () {
window.setTimeout(() => {
if (this.bottomedOut(JUMP_TO_BOTTOM_BUTTON_VISIBILITY_OFFSET)) {
this.$store.dispatch('cullOlderMessages', this.currentChatMessageService.chatId)
}
}, 5000)
},
handleScroll: _.throttle(function () {
if (!this.currentChat) { return }
@@ -241,6 +248,7 @@ const Chat = {
this.fetchChat({ maxId: this.currentChatMessageService.minId })
} else if (this.bottomedOut(JUMP_TO_BOTTOM_BUTTON_VISIBILITY_OFFSET)) {
this.jumpToBottomButtonVisible = false
this.cullOlderCheck()
if (this.newMessageCount > 0) {
// Use a delay before marking as read to prevent situation where new messages
// arrive just as you're leaving the view and messages that you didn't actually
+3 -3
View File
@@ -98,10 +98,10 @@
.unread-message-count {
font-size: 0.8em;
left: 50%;
transform: translate(-50%, 0);
border-radius: 100%;
margin-top: -1rem;
padding: 0;
padding: 0.1em;
border-radius: 50px;
position: absolute;
}
.chat-loading-error {
@@ -5,6 +5,8 @@
</template>
<script>
import localeService from 'src/services/locale/locale.service.js'
export default {
name: 'Timeago',
props: ['date'],
@@ -16,7 +18,7 @@ export default {
if (this.date.getTime() === today.getTime()) {
return this.$t('display_date.today')
} else {
return this.date.toLocaleDateString('en', { day: 'numeric', month: 'long' })
return this.date.toLocaleDateString(localeService.internalToBrowserLocale(this.$i18n.locale), { day: 'numeric', month: 'long' })
}
}
}
+1 -1
View File
@@ -12,7 +12,7 @@ export default Vue.component('chat-title', {
],
computed: {
title () {
return this.user ? this.user.screen_name : ''
return this.user ? this.user.screen_name_ui : ''
},
htmlTitle () {
return this.user ? this.user.name_html : ''
@@ -50,7 +50,6 @@
.Conversation {
.conversation-status {
border-left: none;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: var(--border, $fallback--border);
@@ -194,11 +194,18 @@ const EmojiInput = {
}
},
methods: {
focusPickerInput () {
const pickerEl = this.$refs.picker.$el
if (!pickerEl) return
const pickerInput = pickerEl.querySelector('input')
if (pickerInput) pickerInput.focus()
},
triggerShowPicker () {
this.showPicker = true
this.$refs.picker.startEmojiLoad()
this.$nextTick(() => {
this.scrollIntoView()
this.focusPickerInput()
})
// This temporarily disables "click outside" handler
// since external trigger also means click originates
@@ -214,6 +221,7 @@ const EmojiInput = {
if (this.showPicker) {
this.scrollIntoView()
this.$refs.picker.startEmojiLoad()
this.$nextTick(this.focusPickerInput)
}
},
replace (replacement) {
@@ -9,6 +9,7 @@
<button
v-if="!hideEmojiButton"
class="button-unstyled emoji-picker-icon"
type="button"
@click.prevent="togglePicker"
>
<FAIcon :icon="['far', 'smile-beam']" />
+2 -2
View File
@@ -116,8 +116,8 @@ export const suggestUsers = ({ dispatch, state }) => {
return diff + nameAlphabetically + screenNameAlphabetically
/* eslint-disable camelcase */
}).map(({ screen_name, name, profile_image_url_original }) => ({
displayText: screen_name,
}).map(({ screen_name, screen_name_ui, name, profile_image_url_original }) => ({
displayText: screen_name_ui,
detailText: name,
imageUrl: profile_image_url_original,
replacement: '@' + screen_name + ' '
@@ -9,7 +9,8 @@ import {
faExternalLinkAlt
} from '@fortawesome/free-solid-svg-icons'
import {
faBookmark as faBookmarkReg
faBookmark as faBookmarkReg,
faFlag
} from '@fortawesome/free-regular-svg-icons'
library.add(
@@ -19,7 +20,8 @@ library.add(
faEyeSlash,
faThumbtack,
faShareAlt,
faExternalLinkAlt
faExternalLinkAlt,
faFlag
)
const ExtraButtons = {
@@ -66,6 +68,9 @@ const ExtraButtons = {
this.$store.dispatch('unbookmark', { id: this.status.id })
.then(() => this.$emit('onSuccess'))
.catch(err => this.$emit('onError', err.error.error))
},
reportStatus () {
this.$store.dispatch('openUserReportingModal', { userId: this.status.user.id, statusIds: [this.status.id] })
}
},
computed: {
@@ -109,6 +109,16 @@
icon="external-link-alt"
/><span>{{ $t("status.external_source") }}</span>
</a>
<button
class="button-default dropdown-item dropdown-item-icon"
@click.prevent="reportStatus"
@click="close"
>
<FAIcon
fixed-width
:icon="['far', 'flag']"
/><span>{{ $t("user_card.report") }}</span>
</button>
</div>
</div>
<span
@@ -129,6 +139,11 @@
@import '../../_variables.scss';
.ExtraButtons {
/* override of popover internal stuff */
.popover-trigger-button {
width: auto;
}
.popover-trigger {
position: static;
padding: 10px;
@@ -12,11 +12,11 @@
v-model="language"
>
<option
v-for="(langCode, i) in languageCodes"
:key="langCode"
:value="langCode"
v-for="lang in languages"
:key="lang.code"
:value="lang.code"
>
{{ languageNames[i] }}
{{ lang.name }}
</option>
</select>
<FAIcon
@@ -29,6 +29,7 @@
<script>
import languagesObject from '../../i18n/messages'
import localeService from '../../services/locale/locale.service.js'
import ISO6391 from 'iso-639-1'
import _ from 'lodash'
import { library } from '@fortawesome/fontawesome-svg-core'
@@ -42,12 +43,8 @@ library.add(
export default {
computed: {
languageCodes () {
return languagesObject.languages
},
languageNames () {
return _.map(this.languageCodes, this.getLanguageName)
languages () {
return _.map(languagesObject.languages, (code) => ({ code: code, name: this.getLanguageName(code) })).sort((a, b) => a.name.localeCompare(b.name))
},
language: {
@@ -61,11 +58,13 @@ export default {
methods: {
getLanguageName (code) {
const specialLanguageNames = {
'ja': 'Japanese (日本語)',
'ja_easy': 'Japanese (やさしいにほんご)',
'zh': 'Chinese (简体中文)'
'ja_easy': 'やさしいにほんご',
'zh': '简体中文',
'zh_Hant': '繁體中文'
}
return specialLanguageNames[code] || ISO6391.getName(code)
const languageName = specialLanguageNames[code] || ISO6391.getNativeName(code)
const browserLocale = localeService.internalToBrowserLocale(code)
return languageName.charAt(0).toLocaleUpperCase(browserLocale) + languageName.slice(1)
}
}
}
@@ -73,11 +73,21 @@
}
}
@keyframes media-fadein {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.modal-image {
max-width: 90%;
max-height: 90%;
box-shadow: 0px 5px 15px 0 rgba(0, 0, 0, 0.5);
image-orientation: from-image; // NOTE: only FF supports this
animation: 0.1s cubic-bezier(0.7, 0, 1, 0.6) media-fadein;
}
.modal-view-button-arrow {
@@ -25,6 +25,7 @@
<div>
<button
class="button-unstyled -link"
type="button"
@click.prevent="requireTOTP"
>
{{ $t('login.enter_two_factor_code') }}
@@ -32,6 +33,7 @@
<br>
<button
class="button-unstyled -link"
type="button"
@click.prevent="abortMFA"
>
{{ $t('general.cancel') }}
+2
View File
@@ -27,6 +27,7 @@
<div>
<button
class="button-unstyled -link"
type="button"
@click.prevent="requireRecovery"
>
{{ $t('login.enter_recovery_code') }}
@@ -34,6 +35,7 @@
<br>
<button
class="button-unstyled -link"
type="button"
@click.prevent="abortMFA"
>
{{ $t('general.cancel') }}
+5 -5
View File
@@ -11,7 +11,7 @@
>
<small>
<router-link :to="userProfileLink">
{{ notification.from_profile.screen_name }}
{{ notification.from_profile.screen_name_ui }}
</router-link>
</small>
<button
@@ -54,14 +54,14 @@
<bdi
v-if="!!notification.from_profile.name_html"
class="username"
:title="'@'+notification.from_profile.screen_name"
:title="'@'+notification.from_profile.screen_name_ui"
v-html="notification.from_profile.name_html"
/>
<!-- eslint-enable vue/no-v-html -->
<span
v-else
class="username"
:title="'@'+notification.from_profile.screen_name"
:title="'@'+notification.from_profile.screen_name_ui"
>{{ notification.from_profile.name }}</span>
<span v-if="notification.type === 'like'">
<FAIcon
@@ -152,7 +152,7 @@
:to="userProfileLink"
class="follow-name"
>
@{{ notification.from_profile.screen_name }}
@{{ notification.from_profile.screen_name_ui }}
</router-link>
<div
v-if="notification.type === 'follow_request'"
@@ -177,7 +177,7 @@
class="move-text"
>
<router-link :to="targetUserProfileLink">
@{{ notification.target.screen_name }}
@{{ notification.target.screen_name_ui }}
</router-link>
</div>
<template v-else>
+6 -1
View File
@@ -58,7 +58,12 @@
{{ $t('polls.vote') }}
</button>
<div class="total">
{{ totalVotesCount }} {{ $t("polls.votes") }}&nbsp;·&nbsp;
<template v-if="typeof poll.voters_count === 'number'">
{{ $tc("polls.people_voted_count", poll.voters_count, { count: poll.voters_count }) }}&nbsp;·&nbsp;
</template>
<template v-else>
{{ $tc("polls.votes_count", poll.votes_count, { count: poll.votes_count }) }}&nbsp;·&nbsp;
</template>
</div>
<i18n :path="expired ? 'polls.expired' : 'polls.expires_in'">
<Timeago
+10 -21
View File
@@ -21,20 +21,17 @@
@keydown.enter.stop.prevent="nextOption(index)"
>
</div>
<div
<button
v-if="options.length > 2"
class="icon-container"
class="delete-option button-unstyled -hover-highlight"
@click="deleteOption(index)"
>
<FAIcon
icon="times"
class="delete"
@click="deleteOption(index)"
/>
</div>
<FAIcon icon="times" />
</button>
</div>
<a
<button
v-if="options.length < maxOptions"
class="add-option faint"
class="add-option faint button-unstyled -hover-highlight"
@click="addOption"
>
<FAIcon
@@ -43,7 +40,7 @@
/>
{{ $t("polls.add_option") }}
</a>
</button>
<div class="poll-type-expiry">
<div
class="poll-type"
@@ -116,7 +113,6 @@
align-self: flex-start;
padding-top: 0.25em;
padding-left: 0.1em;
cursor: pointer;
}
.poll-option {
@@ -135,19 +131,11 @@
}
}
.icon-container {
.delete-option {
// Hack: Move the icon over the input box
width: 1.5em;
margin-left: -1.5em;
z-index: 1;
.delete {
cursor: pointer;
&:hover {
color: inherit;
}
}
}
.poll-type-expiry {
@@ -163,6 +151,7 @@
border: none;
box-shadow: none;
background-color: transparent;
padding-right: 0.75em;
}
}
+5 -2
View File
@@ -121,9 +121,12 @@ const Popover = {
}
},
showPopover () {
if (this.hidden) this.$emit('show')
const wasHidden = this.hidden
this.hidden = false
this.$nextTick(this.updateStyles)
this.$nextTick(() => {
if (wasHidden) this.$emit('show')
this.updateStyles()
})
},
hidePopover () {
if (!this.hidden) this.$emit('close')
+1
View File
@@ -6,6 +6,7 @@
<button
ref="trigger"
class="button-unstyled -fullwidth popover-trigger-button"
type="button"
@click="onClick"
>
<slot name="trigger" />
@@ -302,11 +302,12 @@
:key="file.url"
class="media-upload-wrapper"
>
<FAIcon
class="fa-scale-110 fa-old-padding"
icon="times"
<button
class="button-unstyled hider"
@click="removeMediaFile(file)"
/>
>
<FAIcon icon="times" />
</button>
<attachment
:attachment="file"
:set-media="() => $store.dispatch('setMedia', newStatus.files)"
@@ -516,26 +517,11 @@
}
.attachments .media-upload-wrapper {
padding: 0 0.5em;
position: relative;
.attachment {
margin: 0;
padding: 0;
position: relative;
}
.fa-scale-110 fa-old-padding {
position: absolute;
margin: 10px;
margin: .75em;
padding: .5em;
background: rgba(230,230,230,0.6);
z-index: 2;
color: black;
border-radius: $fallback--attachmentRadius;
border-radius: var(--attachmentRadius, $fallback--attachmentRadius);
font-weight: bold;
cursor: pointer;
}
}
@@ -23,6 +23,12 @@ const ReactButton = {
this.$store.dispatch('reactWithEmoji', { id: this.status.id, emoji })
}
close()
},
focusInput () {
this.$nextTick(() => {
const input = this.$el.querySelector('input')
if (input) input.focus()
})
}
},
computed: {
+60 -49
View File
@@ -1,10 +1,12 @@
<template>
<Popover
trigger="click"
class="ReactButton"
placement="top"
:offset="{ y: 5 }"
:bound-to="{ x: 'container' }"
remove-padding
@show="focusInput"
>
<div
slot="content"
@@ -42,7 +44,7 @@
</div>
<span
slot="trigger"
class="ReactButton"
class="popover-trigger"
:title="$t('tool_tip.add_reaction')"
>
<FAIcon
@@ -58,63 +60,72 @@
<style lang="scss">
@import '../../_variables.scss';
.reaction-picker-filter {
padding: 0.5em;
display: flex;
input {
flex: 1;
.ReactButton {
.reaction-picker-filter {
padding: 0.5em;
display: flex;
input {
flex: 1;
}
}
}
.reaction-picker-divider {
height: 1px;
width: 100%;
margin: 0.5em;
background-color: var(--border, $fallback--border);
}
.reaction-picker-divider {
height: 1px;
width: 100%;
margin: 0.5em;
background-color: var(--border, $fallback--border);
}
.reaction-picker {
width: 10em;
height: 9em;
font-size: 1.5em;
overflow-y: scroll;
display: flex;
flex-wrap: wrap;
padding: 0.5em;
text-align: center;
align-content: flex-start;
user-select: none;
.reaction-picker {
width: 10em;
height: 9em;
font-size: 1.5em;
overflow-y: scroll;
display: flex;
flex-wrap: wrap;
padding: 0.5em;
text-align: center;
align-content: flex-start;
user-select: none;
mask: linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,
linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,
linear-gradient(to top, white, white);
transition: mask-size 150ms;
mask-size: 100% 20px, 100% 20px, auto;
// Autoprefixed seem to ignore this one, and also syntax is different
-webkit-mask-composite: xor;
mask-composite: exclude;
mask: linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,
linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,
linear-gradient(to top, white, white);
transition: mask-size 150ms;
mask-size: 100% 20px, 100% 20px, auto;
.emoji-button {
cursor: pointer;
/* Autoprefixed seem to ignore this one, and also syntax is different */
-webkit-mask-composite: xor;
mask-composite: exclude;
flex-basis: 20%;
line-height: 1.5em;
align-content: center;
.emoji-button {
cursor: pointer;
&:hover {
transform: scale(1.25);
flex-basis: 20%;
line-height: 1.5em;
align-content: center;
&:hover {
transform: scale(1.25);
}
}
}
/* override of popover internal stuff */
.popover-trigger-button {
width: auto;
}
.popover-trigger {
padding: 10px;
margin: -10px;
&:hover .svg-inline--fa {
color: $fallback--text;
color: var(--text, $fallback--text);
}
}
}
.ReactButton {
padding: 10px;
margin: -10px;
&:hover .svg-inline--fa {
color: $fallback--text;
color: var(--text, $fallback--text);
}
}
</style>
+13 -4
View File
@@ -10,7 +10,8 @@ const registration = {
fullname: '',
username: '',
password: '',
confirm: ''
confirm: '',
reason: ''
},
captcha: {}
}),
@@ -24,7 +25,8 @@ const registration = {
confirm: {
required,
sameAsPassword: sameAs('password')
}
},
reason: { required: requiredIf(() => this.accountApprovalRequired) }
}
}
},
@@ -38,7 +40,10 @@ const registration = {
computed: {
token () { return this.$route.params.token },
bioPlaceholder () {
return this.$t('registration.bio_placeholder').replace(/\s*\n\s*/g, ' \n')
return this.replaceNewlines(this.$t('registration.bio_placeholder'))
},
reasonPlaceholder () {
return this.replaceNewlines(this.$t('registration.reason_placeholder'))
},
...mapState({
registrationOpen: (state) => state.instance.registrationOpen,
@@ -46,7 +51,8 @@ const registration = {
isPending: (state) => state.users.signUpPending,
serverValidationErrors: (state) => state.users.signUpErrors,
termsOfService: (state) => state.instance.tos,
accountActivationRequired: (state) => state.instance.accountActivationRequired
accountActivationRequired: (state) => state.instance.accountActivationRequired,
accountApprovalRequired: (state) => state.instance.accountApprovalRequired
})
},
methods: {
@@ -73,6 +79,9 @@ const registration = {
},
setCaptcha () {
this.getCaptcha().then(cpt => { this.captcha = cpt })
},
replaceNewlines (str) {
return str.replace(/\s*\n\s*/g, ' \n')
}
}
}
@@ -162,6 +162,23 @@
</ul>
</div>
<div
v-if="accountApprovalRequired"
class="form-group"
>
<label
class="form--label"
for="reason"
>{{ $t('registration.reason') }}</label>
<textarea
id="reason"
v-model="user.reason"
:disabled="isPending"
class="form-control"
:placeholder="reasonPlaceholder"
/>
</div>
<div
v-if="captcha.type != 'none'"
id="captcha-group"
@@ -8,6 +8,7 @@
class="button-unstyled scope"
:class="css.direct"
:title="$t('post_status.scope.direct')"
type="button"
@click="changeVis('direct')"
>
<FAIcon
@@ -20,6 +21,7 @@
class="button-unstyled scope"
:class="css.private"
:title="$t('post_status.scope.private')"
type="button"
@click="changeVis('private')"
>
<FAIcon
@@ -32,6 +34,7 @@
class="button-unstyled scope"
:class="css.unlisted"
:title="$t('post_status.scope.unlisted')"
type="button"
@click="changeVis('unlisted')"
>
<FAIcon
@@ -44,6 +47,7 @@
class="button-unstyled scope"
:class="css.public"
:title="$t('post_status.scope.public')"
type="button"
@click="changeVis('public')"
>
<FAIcon
+1
View File
@@ -15,6 +15,7 @@
>
<button
class="btn button-default search-button"
type="submit"
@click="newQuery(searchTerm)"
>
<FAIcon icon="search" />
+3
View File
@@ -7,6 +7,7 @@
v-if="hidden"
class="button-unstyled nav-icon"
:title="$t('nav.search')"
type="button"
@click.prevent.stop="toggleHidden"
>
<FAIcon
@@ -27,6 +28,7 @@
>
<button
class="button-default search-button"
type="submit"
@click="find(searchTerm)"
>
<FAIcon
@@ -36,6 +38,7 @@
</button>
<button
class="button-unstyled cancel-search"
type="button"
@click.prevent.stop="toggleHidden"
>
<FAIcon
@@ -0,0 +1,57 @@
<template>
<label
class="BooleanSetting"
>
<Checkbox
:checked="state"
:disabled="disabled"
@change="update"
>
<span
v-if="!!$slots.default"
class="label"
>
<slot />
</span>
<ModifiedIndicator :changed="isChanged" />
</Checkbox>
</label>
</template>
<script>
import { get, set } from 'lodash'
import Checkbox from 'src/components/checkbox/checkbox.vue'
import ModifiedIndicator from './modified_indicator.vue'
export default {
components: {
Checkbox,
ModifiedIndicator
},
props: [
'path',
'disabled'
],
computed: {
pathDefault () {
const [firstSegment, ...rest] = this.path.split('.')
return [firstSegment + 'DefaultValue', ...rest].join('.')
},
state () {
return get(this.$parent, this.path)
},
isChanged () {
return get(this.$parent, this.path) !== get(this.$parent, this.pathDefault)
}
},
methods: {
update (e) {
set(this.$parent, this.path, e)
}
}
}
</script>
<style lang="scss">
.BooleanSetting {
}
</style>
@@ -0,0 +1,51 @@
<template>
<span
v-if="changed"
class="ModifiedIndicator"
>
<Popover
trigger="hover"
>
<span slot="trigger">
&nbsp;
<FAIcon
icon="wrench"
/>
</span>
<div
slot="content"
class="modified-tooltip"
>
{{ $t('settings.setting_changed') }}
</div>
</Popover>
</span>
</template>
<script>
import Popover from 'src/components/popover/popover.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import { faWrench } from '@fortawesome/free-solid-svg-icons'
library.add(
faWrench
)
export default {
components: { Popover },
props: ['changed']
}
</script>
<style lang="scss">
.ModifiedIndicator {
display: inline-block;
position: relative;
.modified-tooltip {
margin: 0.5em 1em;
min-width: 10em;
text-align: center;
}
}
</style>
@@ -1,29 +1,15 @@
import {
instanceDefaultProperties,
multiChoiceProperties,
defaultState as configDefaultState
} from 'src/modules/config.js'
import { defaultState as configDefaultState } from 'src/modules/config.js'
const SharedComputedObject = () => ({
user () {
return this.$store.state.users.currentUser
},
// Getting localized values for instance-default properties
...instanceDefaultProperties
.filter(key => multiChoiceProperties.includes(key))
// Getting values for default properties
...Object.keys(configDefaultState)
.map(key => [
key + 'DefaultValue',
function () {
return this.$store.getters.instanceDefaultConfig[key]
}
])
.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),
...instanceDefaultProperties
.filter(key => !multiChoiceProperties.includes(key))
.map(key => [
key + 'LocalizedValue',
function () {
return this.$t('settings.values.' + this.$store.getters.instanceDefaultConfig[key])
return this.$store.getters.defaultConfig[key]
}
])
.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),
@@ -1,5 +1,5 @@
import { filter, trim } from 'lodash'
import Checkbox from 'src/components/checkbox/checkbox.vue'
import BooleanSetting from '../helpers/boolean_setting.vue'
import SharedComputedObject from '../helpers/shared_computed_object.js'
import { library } from '@fortawesome/fontawesome-svg-core'
@@ -18,7 +18,7 @@ const FilteringTab = {
}
},
components: {
Checkbox
BooleanSetting
},
computed: {
...SharedComputedObject(),
@@ -5,34 +5,34 @@
<span class="label">{{ $t('settings.notification_visibility') }}</span>
<ul class="option-list">
<li>
<Checkbox v-model="notificationVisibility.likes">
<BooleanSetting path="notificationVisibility.likes">
{{ $t('settings.notification_visibility_likes') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="notificationVisibility.repeats">
<BooleanSetting path="notificationVisibility.repeats">
{{ $t('settings.notification_visibility_repeats') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="notificationVisibility.follows">
<BooleanSetting path="notificationVisibility.follows">
{{ $t('settings.notification_visibility_follows') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="notificationVisibility.mentions">
<BooleanSetting path="notificationVisibility.mentions">
{{ $t('settings.notification_visibility_mentions') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="notificationVisibility.moves">
<BooleanSetting path="notificationVisibility.moves">
{{ $t('settings.notification_visibility_moves') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="notificationVisibility.emojiReactions">
<BooleanSetting path="notificationVisibility.emojiReactions">
{{ $t('settings.notification_visibility_emoji_reactions') }}
</Checkbox>
</BooleanSetting>
</li>
</ul>
</div>
@@ -60,14 +60,14 @@
</label>
</div>
<div>
<Checkbox v-model="hidePostStats">
{{ $t('settings.hide_post_stats') }} {{ $t('settings.instance_default', { value: hidePostStatsLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="hidePostStats">
{{ $t('settings.hide_post_stats') }}
</BooleanSetting>
</div>
<div>
<Checkbox v-model="hideUserStats">
{{ $t('settings.hide_user_stats') }} {{ $t('settings.instance_default', { value: hideUserStatsLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="hideUserStats">
{{ $t('settings.hide_user_stats') }}
</BooleanSetting>
</div>
</div>
<div class="setting-item">
@@ -75,14 +75,14 @@
<p>{{ $t('settings.filtering_explanation') }}</p>
<textarea
id="muteWords"
class="resize-height"
v-model="muteWordsString"
class="resize-height"
/>
</div>
<div>
<Checkbox v-model="hideFilteredStatuses">
{{ $t('settings.hide_filtered_statuses') }} {{ $t('settings.instance_default', { value: hideFilteredStatusesLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="hideFilteredStatuses">
{{ $t('settings.hide_filtered_statuses') }}
</BooleanSetting>
</div>
</div>
</div>
@@ -1,4 +1,4 @@
import Checkbox from 'src/components/checkbox/checkbox.vue'
import BooleanSetting from '../helpers/boolean_setting.vue'
import InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'
import SharedComputedObject from '../helpers/shared_computed_object.js'
@@ -26,7 +26,7 @@ const GeneralTab = {
}
},
components: {
Checkbox,
BooleanSetting,
InterfaceLanguageSwitcher
},
computed: {
@@ -7,14 +7,14 @@
<interface-language-switcher />
</li>
<li v-if="instanceSpecificPanelPresent">
<Checkbox v-model="hideISP">
<BooleanSetting path="hideISP">
{{ $t('settings.hide_isp') }}
</Checkbox>
</BooleanSetting>
</li>
<li v-if="instanceWallpaperUsed">
<Checkbox v-model="hideInstanceWallpaper">
<BooleanSetting path="hideInstanceWallpaper">
{{ $t('settings.hide_wallpaper') }}
</Checkbox>
</BooleanSetting>
</li>
</ul>
</div>
@@ -22,51 +22,51 @@
<h2>{{ $t('nav.timeline') }}</h2>
<ul class="setting-list">
<li>
<Checkbox v-model="hideMutedPosts">
{{ $t('settings.hide_muted_posts') }} {{ $t('settings.instance_default', { value: hideMutedPostsLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="hideMutedPosts">
{{ $t('settings.hide_muted_posts') }}
</BooleanSetting>
</li>
<li>
<Checkbox v-model="collapseMessageWithSubject">
{{ $t('settings.collapse_subject') }} {{ $t('settings.instance_default', { value: collapseMessageWithSubjectLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="collapseMessageWithSubject">
{{ $t('settings.collapse_subject') }}
</BooleanSetting>
</li>
<li>
<Checkbox v-model="streaming">
<BooleanSetting path="streaming">
{{ $t('settings.streaming') }}
</Checkbox>
</BooleanSetting>
<ul
class="setting-list suboptions"
:class="[{disabled: !streaming}]"
>
<li>
<Checkbox
v-model="pauseOnUnfocused"
<BooleanSetting
path="pauseOnUnfocused"
:disabled="!streaming"
>
{{ $t('settings.pause_on_unfocused') }}
</Checkbox>
</BooleanSetting>
</li>
</ul>
</li>
<li>
<Checkbox v-model="useStreamingApi">
<BooleanSetting path="useStreamingApi">
{{ $t('settings.useStreamingApi') }}
<br>
<small>
{{ $t('settings.useStreamingApiWarning') }}
</small>
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="emojiReactionsOnTimeline">
<BooleanSetting path="emojiReactionsOnTimeline">
{{ $t('settings.emoji_reactions_on_timeline') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="virtualScrolling">
<BooleanSetting path="virtualScrolling">
{{ $t('settings.virtual_scrolling') }}
</Checkbox>
</BooleanSetting>
</li>
</ul>
</div>
@@ -75,14 +75,14 @@
<h2>{{ $t('settings.composing') }}</h2>
<ul class="setting-list">
<li>
<Checkbox v-model="scopeCopy">
{{ $t('settings.scope_copy') }} {{ $t('settings.instance_default', { value: scopeCopyLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="scopeCopy">
{{ $t('settings.scope_copy') }}
</BooleanSetting>
</li>
<li>
<Checkbox v-model="alwaysShowSubjectInput">
{{ $t('settings.subject_input_always_show') }} {{ $t('settings.instance_default', { value: alwaysShowSubjectInputLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="alwaysShowSubjectInput">
{{ $t('settings.subject_input_always_show') }}
</BooleanSetting>
</li>
<li>
<div>
@@ -143,19 +143,19 @@
</div>
</li>
<li>
<Checkbox v-model="minimalScopesMode">
{{ $t('settings.minimal_scopes_mode') }} {{ $t('settings.instance_default', { value: minimalScopesModeLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="minimalScopesMode">
{{ $t('settings.minimal_scopes_mode') }} {{ minimalScopesModeDefaultValue }}
</BooleanSetting>
</li>
<li>
<Checkbox v-model="autohideFloatingPostButton">
<BooleanSetting path="autohideFloatingPostButton">
{{ $t('settings.autohide_floating_post_button') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="padEmoji">
<BooleanSetting path="padEmoji">
{{ $t('settings.pad_emoji') }}
</Checkbox>
</BooleanSetting>
</li>
</ul>
</div>
@@ -164,14 +164,14 @@
<h2>{{ $t('settings.attachments') }}</h2>
<ul class="setting-list">
<li>
<Checkbox v-model="hideAttachments">
<BooleanSetting path="hideAttachments">
{{ $t('settings.hide_attachments_in_tl') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="hideAttachmentsInConv">
<BooleanSetting path="hideAttachmentsInConv">
{{ $t('settings.hide_attachments_in_convo') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<label for="maxThumbnails">
@@ -179,7 +179,7 @@
</label>
<input
id="maxThumbnails"
v-model.number="maxThumbnails"
path.number="maxThumbnails"
class="number-input"
type="number"
min="0"
@@ -187,48 +187,48 @@
>
</li>
<li>
<Checkbox v-model="hideNsfw">
<BooleanSetting path="hideNsfw">
{{ $t('settings.nsfw_clickthrough') }}
</Checkbox>
</BooleanSetting>
</li>
<ul class="setting-list suboptions">
<li>
<Checkbox
v-model="preloadImage"
<BooleanSetting
path="preloadImage"
:disabled="!hideNsfw"
>
{{ $t('settings.preload_images') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox
v-model="useOneClickNsfw"
<BooleanSetting
path="useOneClickNsfw"
:disabled="!hideNsfw"
>
{{ $t('settings.use_one_click_nsfw') }}
</Checkbox>
</BooleanSetting>
</li>
</ul>
<li>
<Checkbox v-model="stopGifs">
<BooleanSetting path="stopGifs">
{{ $t('settings.stop_gifs') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="loopVideo">
<BooleanSetting path="loopVideo">
{{ $t('settings.loop_video') }}
</Checkbox>
</BooleanSetting>
<ul
class="setting-list suboptions"
:class="[{disabled: !streaming}]"
>
<li>
<Checkbox
v-model="loopVideoSilentOnly"
<BooleanSetting
path="loopVideoSilentOnly"
:disabled="!loopVideo || !loopSilentAvailable"
>
{{ $t('settings.loop_video_silent_only') }}
</Checkbox>
</BooleanSetting>
<div
v-if="!loopSilentAvailable"
class="unavailable"
@@ -239,14 +239,14 @@
</ul>
</li>
<li>
<Checkbox v-model="playVideosInModal">
<BooleanSetting path="playVideosInModal">
{{ $t('settings.play_videos_in_modal') }}
</Checkbox>
</BooleanSetting>
</li>
<li>
<Checkbox v-model="useContainFit">
<BooleanSetting path="useContainFit">
{{ $t('settings.use_contain_fit') }}
</Checkbox>
</BooleanSetting>
</li>
</ul>
</div>
@@ -255,9 +255,9 @@
<h2>{{ $t('settings.notifications') }}</h2>
<ul class="setting-list">
<li>
<Checkbox v-model="webPushNotifications">
<BooleanSetting path="webPushNotifications">
{{ $t('settings.enable_web_push_notifications') }}
</Checkbox>
</BooleanSetting>
</li>
</ul>
</div>
@@ -266,9 +266,9 @@
<h2>{{ $t('settings.fun') }}</h2>
<ul class="setting-list">
<li>
<Checkbox v-model="greentext">
{{ $t('settings.greentext') }} {{ $t('settings.instance_default', { value: greentextLocalizedValue }) }}
</Checkbox>
<BooleanSetting path="greentext">
{{ $t('settings.greentext') }}
</BooleanSetting>
</li>
</ul>
</div>
@@ -111,16 +111,17 @@
.profile-fields {
display: flex;
&>.emoji-input {
& > .emoji-input {
flex: 1 1 auto;
margin: 0 .2em .5em;
margin: 0 0.2em 0.5em;
min-width: 0;
}
&>.icon-container {
.delete-field {
width: 20px;
align-self: center;
margin: 0 .2em .5em;
margin: 0 0.2em 0.5em;
padding: 0 0.5em;
}
}
}
@@ -124,24 +124,24 @@
:placeholder="$t('settings.profile_fields.value')"
>
</EmojiInput>
<div
class="icon-container"
<button
class="delete-field button-unstyled -hover-highlight"
@click="deleteField(i)"
>
<FAIcon
v-show="newFields.length > 1"
icon="times"
@click="deleteField(i)"
/>
</div>
</button>
</div>
<a
<button
v-if="newFields.length < maxFields"
class="add-field faint"
class="add-field faint button-unstyled -hover-highlight"
@click="addField"
>
<FAIcon icon="plus" />
{{ $t("settings.profile_fields.add_field") }}
</a>
</button>
</div>
<p>
<Checkbox v-model="bot">
@@ -1,6 +1,7 @@
import ProgressButton from 'src/components/progress_button/progress_button.vue'
import Checkbox from 'src/components/checkbox/checkbox.vue'
import Mfa from './mfa.vue'
import localeService from 'src/services/locale/locale.service.js'
const SecurityTab = {
data () {
@@ -37,7 +38,7 @@ const SecurityTab = {
return {
id: oauthToken.id,
appName: oauthToken.app_name,
validUntil: new Date(oauthToken.valid_until).toLocaleDateString()
validUntil: new Date(oauthToken.valid_until).toLocaleDateString(localeService.internalToBrowserLocale(this.$i18n.locale))
}
})
}
+1 -1
View File
@@ -109,7 +109,7 @@
v-if="chat"
@click="toggleDrawer"
>
<router-link :to="{ name: 'chat' }">
<router-link :to="{ name: 'chat-panel' }">
<FAIcon
fixed-width
class="fa-scale-110 fa-old-padding"
+17 -3
View File
@@ -1,4 +1,6 @@
import map from 'lodash/map'
import groupBy from 'lodash/groupBy'
import { mapGetters, mapState } from 'vuex'
import BasicUserCard from '../basic_user_card/basic_user_card.vue'
const StaffPanel = {
@@ -10,9 +12,21 @@ const StaffPanel = {
BasicUserCard
},
computed: {
staffAccounts () {
return map(this.$store.state.instance.staffAccounts, nickname => this.$store.getters.findUser(nickname)).filter(_ => _)
}
groupedStaffAccounts () {
const staffAccounts = map(this.staffAccounts, this.findUser).filter(_ => _)
const groupedStaffAccounts = groupBy(staffAccounts, 'role')
return [
{ role: 'admin', users: groupedStaffAccounts['admin'] },
{ role: 'moderator', users: groupedStaffAccounts['moderator'] }
].filter(group => group.users)
},
...mapGetters([
'findUser'
]),
...mapState({
staffAccounts: state => state.instance.staffAccounts
})
}
}
+22 -5
View File
@@ -7,11 +7,18 @@
</div>
</div>
<div class="panel-body">
<basic-user-card
v-for="user in staffAccounts"
:key="user.screen_name"
:user="user"
/>
<div
v-for="group in groupedStaffAccounts"
:key="group.role"
class="staff-group"
>
<h4>{{ $t('general.role.' + group.role) }}</h4>
<basic-user-card
v-for="user in group.users"
:key="user.screen_name"
:user="user"
/>
</div>
</div>
</div>
</div>
@@ -20,4 +27,14 @@
<script src="./staff_panel.js" ></script>
<style lang="scss">
.staff-group {
padding-left: 1em;
padding-top: 1em;
.basic-user-card {
padding-left: 0;
}
}
</style>
+3 -2
View File
@@ -136,7 +136,7 @@ const Status = {
}
},
retweet () { return !!this.statusoid.retweeted_status },
retweeter () { return this.statusoid.user.name || this.statusoid.user.screen_name },
retweeter () { return this.statusoid.user.name || this.statusoid.user.screen_name_ui },
retweeterHtml () { return this.statusoid.user.name_html },
retweeterProfileLink () { return this.generateUserProfileLink(this.statusoid.user.id, this.statusoid.user.screen_name) },
status () {
@@ -157,6 +157,7 @@ const Status = {
return muteWordHits(this.status, this.muteWords)
},
muted () {
if (this.statusoid.user.id === this.currentUser.id) return false
const { status } = this
const { reblog } = status
const relationship = this.$store.getters.relationship(status.user.id)
@@ -215,7 +216,7 @@ const Status = {
return this.status.in_reply_to_screen_name
} else {
const user = this.$store.getters.findUser(this.status.in_reply_to_user_id)
return user && user.screen_name
return user && user.screen_name_ui
}
},
replySubject () {
+3 -3
View File
@@ -26,7 +26,7 @@
icon="retweet"
/>
<router-link :to="userProfileLink">
{{ status.user.screen_name }}
{{ status.user.screen_name_ui }}
</router-link>
</small>
<small
@@ -156,10 +156,10 @@
</h4>
<router-link
class="account-name"
:title="status.user.screen_name"
:title="status.user.screen_name_ui"
:to="userProfileLink"
>
{{ status.user.screen_name }}
{{ status.user.screen_name_ui }}
</router-link>
<img
v-if="!!(status.user && status.user.favicon)"
+3 -1
View File
@@ -93,7 +93,9 @@ export default Vue.component('tab-switcher', {
<button
disabled={slot.data.attrs.disabled}
onClick={this.clickTab(index)}
class={classesTab.join(' ')}>
class={classesTab.join(' ')}
type="button"
>
<img src={slot.data.attrs.image} title={slot.data.attrs['image-tooltip']}/>
{slot.data.attrs.label ? '' : slot.data.attrs.label}
</button>
+4 -2
View File
@@ -9,6 +9,7 @@
<script>
import * as DateUtils from 'src/services/date_utils/date_utils.js'
import localeService from 'src/services/locale/locale.service.js'
export default {
name: 'Timeago',
@@ -21,9 +22,10 @@ export default {
},
computed: {
localeDateString () {
const browserLocale = localeService.internalToBrowserLocale(this.$i18n.locale)
return typeof this.time === 'string'
? new Date(Date.parse(this.time)).toLocaleString()
: this.time.toLocaleString()
? new Date(Date.parse(this.time)).toLocaleString(browserLocale)
: this.time.toLocaleString(browserLocale)
}
},
created () {
+2 -2
View File
@@ -2,8 +2,8 @@
<StillImage
v-if="user"
class="Avatar"
:alt="user.screen_name"
:title="user.screen_name"
:alt="user.screen_name_ui"
:title="user.screen_name_ui"
:src="imgSrc(user.profile_image_url_original)"
:class="{ 'avatar-compact': compact, 'better-shadow': betterShadow }"
:image-load-error="imageLoadError"
+4 -5
View File
@@ -73,23 +73,23 @@
<div class="bottom-line">
<router-link
class="user-screen-name"
:title="user.screen_name"
:title="user.screen_name_ui"
:to="userProfileLink(user)"
>
@{{ user.screen_name }}
@{{ user.screen_name_ui }}
</router-link>
<template v-if="!hideBio">
<span
v-if="!!visibleRole"
class="alert user-role"
>
{{ visibleRole }}
{{ $t(`general.role.${visibleRole}`) }}
</span>
<span
v-if="user.bot"
class="alert user-role"
>
bot
{{ $t('user_card.bot') }}
</span>
</template>
<span v-if="user.locked">
@@ -507,7 +507,6 @@
.user-role {
flex: none;
text-transform: capitalize;
color: $fallback--text;
color: var(--alertNeutralText, $fallback--text);
background-color: $fallback--fg;
@@ -26,7 +26,7 @@
<!-- eslint-disable vue/no-v-html -->
<span v-html="user.name_html" />
<!-- eslint-enable vue/no-v-html -->
<span class="user-list-screen-name">{{ user.screen_name }}</span>
<span class="user-list-screen-name">{{ user.screen_name_ui }}</span>
</div>
</div>
</div>
@@ -38,17 +38,23 @@ const UserReportingModal = {
},
statuses () {
return this.$store.state.reports.statuses
},
preTickedIds () {
return this.$store.state.reports.preTickedIds
}
},
watch: {
userId: 'resetState'
userId: 'resetState',
preTickedIds (newValue) {
this.statusIdsToReport = newValue
}
},
methods: {
resetState () {
// Reset state
this.comment = ''
this.forward = false
this.statusIdsToReport = []
this.statusIdsToReport = this.preTickedIds
this.processing = false
this.error = false
},
@@ -6,7 +6,7 @@
<div class="user-reporting-panel panel">
<div class="panel-heading">
<div class="title">
{{ $t('user_reporting.title', [user.screen_name]) }}
{{ $t('user_reporting.title', [user.screen_name_ui]) }}
</div>
</div>
<div class="panel-body">
+10 -6
View File
@@ -29,12 +29,8 @@ const withLoadMore = ({
return {
loading: false,
bottomedOut: false,
error: false
}
},
computed: {
entries () {
return select(this.$props, this.$store) || []
error: false,
entries: []
}
},
created () {
@@ -48,6 +44,11 @@ const withLoadMore = ({
destroy && destroy(this.$props, this.$store)
},
methods: {
// Entries is not a computed because computed can't track the dynamic
// selector for changes and won't trigger after fetch.
updateEntries () {
this.entries = select(this.$props, this.$store) || []
},
fetchEntries () {
if (!this.loading) {
this.loading = true
@@ -61,6 +62,9 @@ const withLoadMore = ({
this.loading = false
this.error = true
})
.finally(() => {
this.updateEntries()
})
}
},
scrollLoad (e) {
+11 -1
View File
@@ -75,7 +75,11 @@
"confirm": "Confirm",
"verify": "Verify",
"close": "Close",
"peek": "Peek"
"peek": "Peek",
"role": {
"admin": "Admin",
"moderator": "Moderator"
}
},
"image_cropper": {
"crop_picture": "Crop picture",
@@ -148,6 +152,8 @@
"add_option": "Add Option",
"option": "Option",
"votes": "votes",
"people_voted_count": "{count} person voted | {count} people voted",
"votes_count": "{count} vote | {count} votes",
"vote": "Vote",
"type": "Poll type",
"single_choice": "Single choice",
@@ -222,6 +228,8 @@
"username_placeholder": "e.g. lain",
"fullname_placeholder": "e.g. Lain Iwakura",
"bio_placeholder": "e.g.\nHi, I'm Lain.\nIm an anime girl living in suburban Japan. You may know me from the Wired.",
"reason": "Reason to register",
"reason_placeholder": "This instance approves registrations manually.\nLet the administration know why you want to register.",
"validations": {
"username_required": "cannot be left blank",
"fullname_required": "cannot be left blank",
@@ -242,6 +250,7 @@
"settings": {
"app_name": "App name",
"security": "Security",
"setting_changed": "Setting is different from default",
"enter_current_password_to_confirm": "Enter your current password to confirm your identity",
"mfa": {
"otp": "OTP",
@@ -711,6 +720,7 @@
"mute_progress": "Muting…",
"hide_repeats": "Hide repeats",
"show_repeats": "Show repeats",
"bot": "Bot",
"admin_menu": {
"moderation": "Moderation",
"grant_admin": "Grant Admin",
+28 -11
View File
@@ -10,7 +10,8 @@
"text_limit": "Limo de teksto",
"title": "Funkcioj",
"who_to_follow": "Kiun aboni",
"pleroma_chat_messages": "Babilejo de Pleroma"
"pleroma_chat_messages": "Babilejo de Pleroma",
"upload_limit": "Limo de alŝutoj"
},
"finder": {
"error_fetching_user": "Eraris alporto de uzanto",
@@ -34,7 +35,11 @@
"retry": "Reprovi",
"error_retry": "Bonvolu reprovi",
"loading": "Enlegante…",
"peek": "Antaŭmontri"
"peek": "Antaŭmontri",
"role": {
"moderator": "Reguligisto",
"admin": "Administranto"
}
},
"image_cropper": {
"crop_picture": "Tondi bildon",
@@ -95,7 +100,8 @@
"no_more_notifications": "Neniuj pliaj sciigoj",
"reacted_with": "reagis per {0}",
"migrated_to": "migris al",
"follow_request": "volas vin aboni"
"follow_request": "volas vin aboni",
"error": "Eraris akirado de sciigoj: {0}"
},
"post_status": {
"new_status": "Afiŝi novan staton",
@@ -235,7 +241,7 @@
"hide_followers_description": "Ne montri kiu min sekvas",
"show_admin_badge": "Montri la insignon de administranto en mia profilo",
"show_moderator_badge": "Montri la insignon de reguligisto en mia profilo",
"nsfw_clickthrough": "Ŝalti traklakan kaŝadon de konsternaj kunsendaĵoj",
"nsfw_clickthrough": "Ŝalti traklakan kaŝadon de kunsendaĵoj kaj antaŭmontroj de ligiloj por konsternaj statoj",
"oauth_tokens": "Ĵetonoj de OAuth",
"token": "Ĵetono",
"refresh_token": "Ĵetono de aktualigo",
@@ -363,7 +369,8 @@
"post": "Afiŝoj/Priskriboj de uzantoj",
"alert_neutral": "Neŭtrala",
"alert_warning": "Averto",
"toggled": "Ŝaltita"
"toggled": "Ŝaltita",
"wallpaper": "Fonbildo"
},
"radii": {
"_tab_label": "Rondeco"
@@ -514,7 +521,9 @@
"mute_import_error": "Eraris enporto de silentigoj",
"mute_import": "Enporto de silentigoj",
"mute_export_button": "Elportu viajn silentigojn al CSV-dosiero",
"mute_export": "Elporto de silentigoj"
"mute_export": "Elporto de silentigoj",
"hide_wallpaper": "Kaŝi fonbildon de nodo",
"setting_changed": "Agordo malsamas de la implicita"
},
"timeline": {
"collapse": "Maletendi",
@@ -527,7 +536,8 @@
"up_to_date": "Ĝisdata",
"no_more_statuses": "Neniuj pliaj statoj",
"no_statuses": "Neniuj statoj",
"reload": "Enlegi ree"
"reload": "Enlegi ree",
"error": "Eraris akirado de historio: {0}"
},
"user_card": {
"approve": "Aprobi",
@@ -583,7 +593,8 @@
"show_repeats": "Montri ripetojn",
"hide_repeats": "Kaŝi ripetojn",
"unsubscribe": "Ne ricevi sciigojn",
"subscribe": "Ricevi sciigojn"
"subscribe": "Ricevi sciigojn",
"bot": "Roboto"
},
"user_profile": {
"timeline_title": "Historio de uzanto",
@@ -609,7 +620,8 @@
"error": {
"base": "Alŝuto malsukcesis.",
"file_too_big": "Dosiero estas tro granda [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "Reprovu pli poste"
"default": "Reprovu pli poste",
"message": "Malsukcesis alŝuto: {0}"
},
"file_size_units": {
"B": "B",
@@ -642,7 +654,9 @@
"votes": "voĉoj",
"option": "Elekteblo",
"add_option": "Aldoni elekteblon",
"add_poll": "Aldoni enketon"
"add_poll": "Aldoni enketon",
"votes_count": "{count} voĉdono | {count} voĉdonoj",
"people_voted_count": "{count} persono voĉdonis | {count} personoj voĉdonis"
},
"importer": {
"error": "Eraris enporto de ĉi tiu dosiero.",
@@ -728,7 +742,10 @@
"delete": "Forigi staton",
"repeats": "Ripetoj",
"favorites": "Ŝatoj",
"status_deleted": "Ĉi tiu afiŝo foriĝis"
"status_deleted": "Ĉi tiu afiŝo foriĝis",
"nsfw": "Konsterna",
"expand": "Etendi",
"external_source": "Ekstera fonto"
},
"time": {
"years_short": "{0}j",
+17 -6
View File
@@ -14,7 +14,8 @@
"text_limit": "Límite de caracteres",
"title": "Características",
"who_to_follow": "A quién seguir",
"pleroma_chat_messages": "Chat de Pleroma"
"pleroma_chat_messages": "Chat de Pleroma",
"upload_limit": "Límite de subida"
},
"finder": {
"error_fetching_user": "Error al buscar usuario",
@@ -448,7 +449,8 @@
"underlay": "Subrayado",
"popover": "Sugerencias, menús, superposiciones",
"post": "Publicaciones/Biografías de Usuarios",
"alert_warning": "Precaución"
"alert_warning": "Precaución",
"wallpaper": "Fondo de pantalla"
},
"radii": {
"_tab_label": "Redondez"
@@ -559,7 +561,9 @@
"mute_import_error": "Error al importar los silenciados",
"mute_import": "Importar silenciados",
"mute_export_button": "Exportar los silenciados a un archivo csv",
"mute_export": "Exportar silenciados"
"mute_export": "Exportar silenciados",
"hide_wallpaper": "Ocultar el fondo de pantalla de la instancia",
"setting_changed": "La configuración es diferente a la predeterminada"
},
"time": {
"day": "{0} día",
@@ -632,7 +636,9 @@
"bookmark": "Marcar",
"unbookmark": "Desmarcar",
"status_deleted": "Esta entrada ha sido eliminada",
"nsfw": "NSFW (No apropiado para el trabajo)"
"nsfw": "NSFW (No apropiado para el trabajo)",
"expand": "Expandir",
"external_source": "Fuente externa"
},
"user_card": {
"approve": "Aprobar",
@@ -688,7 +694,11 @@
"show_repeats": "Mostrar repetidos",
"hide_repeats": "Ocultar repetidos",
"message": "Mensaje",
"hidden": "Oculto"
"hidden": "Oculto",
"roles": {
"moderator": "Moderador",
"admin": "Administrador"
}
},
"user_profile": {
"timeline_title": "Linea Temporal del Usuario",
@@ -723,7 +733,8 @@
"error": {
"base": "Subida fallida.",
"file_too_big": "Archivo demasiado grande [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "Inténtalo más tarde"
"default": "Inténtalo más tarde",
"message": "Error de subida: {0}"
},
"file_size_units": {
"B": "B",
+72 -9
View File
@@ -280,7 +280,7 @@
"hide_followers_description": "Ne pas afficher qui est abonné à moi",
"show_admin_badge": "Afficher le badge d'Administrateur⋅ice sur mon profil",
"show_moderator_badge": "Afficher le badge de Modérateur⋅ice sur mon profil",
"nsfw_clickthrough": "Masquer les images marquées comme contenu adulte ou sensible",
"nsfw_clickthrough": "Activer le clic pour dévoiler les pièces jointes et cacher l'aperçu des liens pour les statuts marqués comme sensibles",
"oauth_tokens": "Jetons OAuth",
"token": "Jeton",
"refresh_token": "Rafraichir le jeton",
@@ -409,7 +409,13 @@
"tabs": "Onglets",
"toggled": "(Dés)activé",
"highlight": "Éléments mis en valeur",
"popover": "Infobulles, menus"
"popover": "Infobulles, menus",
"chat": {
"border": "Bordure",
"outgoing": "Sortant(s)",
"incoming": "Entrant(s)"
},
"wallpaper": "Fond d'écran"
},
"radii": {
"_tab_label": "Rondeur"
@@ -485,7 +491,7 @@
"notification_visibility_emoji_reactions": "Réactions",
"hide_follows_count_description": "Masquer le nombre de suivis",
"useStreamingApiWarning": "(Non recommandé, expérimental, connu pour rater des messages)",
"type_domains_to_mute": "Écrire les domaines à masquer",
"type_domains_to_mute": "Chercher les domaines à masquer",
"fun": "Rigolo",
"greentext": "greentexting",
"allow_following_move": "Suivre automatiquement quand ce compte migre",
@@ -509,7 +515,21 @@
"mute_import_error": "Erreur à l'import des masquages",
"mute_import": "Import des masquages",
"mute_export_button": "Exporter vos masquages dans un fichier CSV",
"mute_export": "Export des masquages"
"mute_export": "Export des masquages",
"notification_setting_hide_notification_contents": "Cacher l'expéditeur et le contenu des notifications push",
"notification_setting_block_from_strangers": "Bloquer les notifications des utilisateur⋅ice⋅s que vous ne suivez pas",
"virtual_scrolling": "Optimiser le rendu du fil d'actualité",
"reset_background_confirm": "Voulez-vraiment réinitialiser l'arrière-plan ?",
"reset_banner_confirm": "Voulez-vraiment réinitialiser la bannière ?",
"reset_avatar_confirm": "Voulez-vraiment réinitialiser l'avatar ?",
"reset_profile_banner": "Réinitialiser la bannière du profil",
"reset_profile_background": "Réinitialiser l'arrière-plan du profil",
"reset_avatar": "Réinitialiser l'avatar",
"profile_fields": {
"value": "Contenu",
"name": "Étiquette",
"add_field": "Ajouter un champ"
}
},
"timeline": {
"collapse": "Fermer",
@@ -521,7 +541,9 @@
"show_new": "Afficher plus",
"up_to_date": "À jour",
"no_more_statuses": "Pas plus de statuts",
"no_statuses": "Aucun statuts"
"no_statuses": "Aucun statuts",
"reload": "Recharger",
"error": "Erreur lors de l'affichage du fil d'actualité : {0}"
},
"status": {
"favorites": "Favoris",
@@ -536,7 +558,19 @@
"mute_conversation": "Masquer la conversation",
"unmute_conversation": "Démasquer la conversation",
"status_unavailable": "Status indisponible",
"copy_link": "Copier le lien au status"
"copy_link": "Copier le lien au status",
"expand": "Développer",
"nsfw": "Contenu sensible",
"status_deleted": "Ce post a été effacé",
"hide_content": "Cacher le contenu",
"show_content": "Montrer le contenu",
"hide_full_subject": "Cacher le sujet",
"show_full_subject": "Montrer le sujet en entier",
"thread_muted_and_words": ", contient les mots :",
"thread_muted": "Fil de discussion masqué",
"external_source": "Source externe",
"unbookmark": "Supprimer des favoris",
"bookmark": "Ajouter aux favoris"
},
"user_card": {
"approve": "Accepter",
@@ -591,7 +625,12 @@
"subscribe": "Abonner",
"unsubscribe": "Désabonner",
"hide_repeats": "Cacher les partages",
"show_repeats": "Montrer les partages"
"show_repeats": "Montrer les partages",
"roles": {
"moderator": "Modérateur⋅ice",
"admin": "Administrateur⋅ice"
},
"message": "Message"
},
"user_profile": {
"timeline_title": "Journal de l'utilisateur⋅ice",
@@ -619,13 +658,15 @@
"user_settings": "Paramètres utilisateur",
"add_reaction": "Ajouter une réaction",
"accept_follow_request": "Accepter la demande de suivit",
"reject_follow_request": "Rejeter la demande de suivit"
"reject_follow_request": "Rejeter la demande de suivit",
"bookmark": "Favori"
},
"upload": {
"error": {
"base": "L'envoi a échoué.",
"file_too_big": "Fichier trop gros [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "Réessayez plus tard"
"default": "Réessayez plus tard",
"message": "Envoi échoué : {0}"
},
"file_size_units": {
"B": "O",
@@ -759,5 +800,27 @@
},
"shoutbox": {
"title": "Shoutbox"
},
"display_date": {
"today": "Aujourd'hui"
},
"file_type": {
"file": "Fichier",
"image": "Image",
"video": "Vidéo",
"audio": "Audio"
},
"chats": {
"empty_chat_list_placeholder": "Vous n'avez pas encore de discussions. Démarrez-en une nouvelle !",
"error_sending_message": "Quelque chose s'est mal passé pendant l'envoi du message.",
"error_loading_chat": "Quelque chose s'est mal passé au chargement de la discussion.",
"delete_confirm": "Voulez-vous vraiment effacer ce message ?",
"more": "Plus",
"empty_message_error": "Impossible d'envoyer un message vide",
"new": "Nouvelle discussion",
"chats": "Discussions",
"delete": "Effacer",
"message_user": "Message à {nickname}",
"you": "Vous :"
}
}
+48 -32
View File
@@ -17,7 +17,11 @@
"close": "Chiudi",
"retry": "Riprova",
"error_retry": "Per favore, riprova",
"loading": "Carico…"
"loading": "Carico…",
"role": {
"moderator": "Moderatore",
"admin": "Amministratore"
}
},
"nav": {
"mentions": "Menzioni",
@@ -30,7 +34,7 @@
"administration": "Amministrazione",
"back": "Indietro",
"interactions": "Interazioni",
"dms": "Messaggi diretti",
"dms": "Messaggi privati",
"user_search": "Ricerca utenti",
"search": "Ricerca",
"who_to_follow": "Chi seguire",
@@ -44,7 +48,7 @@
"notifications": "Notifiche",
"read": "Letto!",
"broken_favorite": "Stato sconosciuto, lo sto cercando…",
"favorited_you": "ha gradito il tuo messaggio",
"favorited_you": "gradisce il tuo messaggio",
"load_older": "Carica notifiche precedenti",
"repeated_you": "ha condiviso il tuo messaggio",
"follow_request": "vuole seguirti",
@@ -263,7 +267,8 @@
"border": "Bordo",
"outgoing": "Inviati",
"incoming": "Ricevuti"
}
},
"wallpaper": "Sfondo"
},
"common_colors": {
"rgbo": "Icone, accenti, medaglie",
@@ -382,7 +387,7 @@
"preload_images": "Precarica immagini",
"hide_isp": "Nascondi pannello della stanza",
"max_thumbnails": "Numero massimo di anteprime per messaggio",
"hide_muted_posts": "Nascondi messaggi degli utenti zittiti",
"hide_muted_posts": "Nascondi messaggi degli utenti zilenziati",
"accent": "Accento",
"emoji_reactions_on_timeline": "Mostra emoji di reazione sulle sequenze",
"pad_emoji": "Affianca spazi agli emoji inseriti tramite selettore",
@@ -415,7 +420,9 @@
"mute_import_error": "Errore nell'importazione",
"mute_import": "Importa silenziati",
"mute_export_button": "Esporta la tua lista di silenziati in un file CSV",
"mute_export": "Esporta silenziati"
"mute_export": "Esporta silenziati",
"hide_wallpaper": "Nascondi sfondo della stanza",
"setting_changed": "Valore personalizzato"
},
"timeline": {
"error_fetching": "Errore nell'aggiornamento",
@@ -485,7 +492,8 @@
"follow_progress": "Richiedo…",
"follow_sent": "Richiesta inviata!",
"favorites": "Preferiti",
"message": "Contatta"
"message": "Contatta",
"bot": "Bot"
},
"chat": {
"title": "Chat"
@@ -493,16 +501,17 @@
"features_panel": {
"chat": "Chat",
"gopher": "Gopher",
"media_proxy": "Proxy multimedia",
"media_proxy": "Proxy allegati",
"scope_options": "Opzioni visibilità",
"text_limit": "Lunghezza massima",
"title": "Caratteristiche",
"who_to_follow": "Chi seguire",
"pleroma_chat_messages": "Chiacchiere"
"pleroma_chat_messages": "Chiacchiere",
"upload_limit": "Limite allegati"
},
"finder": {
"error_fetching_user": "Errore nel recupero dell'utente",
"find_user": "Trova utente"
"find_user": "Cerca utente"
},
"login": {
"login": "Accedi",
@@ -512,18 +521,18 @@
"register": "Registrati",
"username": "Nome utente",
"description": "Accedi con OAuth",
"hint": "Accedi per partecipare alla discussione",
"hint": "Accedi per conversare",
"authentication_code": "Codice di autenticazione",
"enter_recovery_code": "Inserisci un codice di recupero",
"enter_two_factor_code": "Inserisci un codice two-factor",
"enter_two_factor_code": "Inserisci un codice 2FA",
"recovery_code": "Codice di recupero",
"heading": {
"totp": "Autenticazione two-factor",
"recovery": "Recupero two-factor"
"totp": "Autenticazione 2FA",
"recovery": "Recupero 2FA"
}
},
"post_status": {
"account_not_locked_warning": "Il tuo profilo non è {0}. Chiunque può seguirti e vedere i tuoi messaggi riservati ai tuoi seguaci.",
"account_not_locked_warning": "Il tuo profilo non è {0}. Chiunque può seguirti e vedere i tuoi messaggi per seguaci.",
"account_not_locked_warning_link": "protetto",
"attachments_sensitive": "Nascondi gli allegati",
"content_type": {
@@ -533,7 +542,7 @@
"text/html": "HTML"
},
"content_warning": "Oggetto (facoltativo)",
"default": "Sono appena atterrato a Fiumicino.",
"default": "Sono appena atterrato a Città Laggiù.",
"direct_warning": "Questo post sarà visibile solo dagli utenti menzionati.",
"posting": "Sto pubblicando",
"scope": {
@@ -575,7 +584,9 @@
"fullname_placeholder": "es. Lupo Lucio",
"username_placeholder": "es. mister_wolf",
"new_captcha": "Clicca l'immagine per avere un altro captcha",
"captcha": "CAPTCHA"
"captcha": "CAPTCHA",
"reason_placeholder": "L'amministratore esamina ciascuna richiesta.\nFornisci il motivo della tua iscrizione.",
"reason": "Motivo dell'iscrizione"
},
"user_profile": {
"timeline_title": "Sequenza dell'Utente",
@@ -608,13 +619,13 @@
"ftl_removal_desc": "Questa stanza rimuove le seguenti dalla sequenza globale:",
"media_removal": "Rimozione multimedia",
"media_removal_desc": "Questa istanza rimuove gli allegati dalle seguenti stanze:",
"media_nsfw": "Allegati oscurati forzatamente",
"media_nsfw": "Allegati oscurati d'ufficio",
"media_nsfw_desc": "Questa stanza oscura gli allegati dei messaggi provenienti da queste stanze:"
},
"mrf_policies": "Regole RM abilitate",
"mrf_policies_desc": "Le regole RM cambiano il comportamento federativo della stanza. Vigono le seguenti regole:"
},
"staff": "Equipaggio"
"staff": "Responsabili"
},
"domain_mute_card": {
"mute": "Zittisci",
@@ -643,20 +654,22 @@
},
"polls": {
"add_poll": "Sondaggio",
"add_option": "Alternativa",
"add_option": "Aggiungi opzione",
"option": "Opzione",
"votes": "voti",
"vote": "Vota",
"type": "Tipo di sondaggio",
"single_choice": "Scelta singola",
"multiple_choices": "Scelta multipla",
"expiry": "Scadenza",
"expires_in": "Scade fra {0}",
"expired": "Scaduto {0} fa",
"not_enough_options": "Aggiungi altre risposte"
"expiry": "Età",
"expires_in": "Chiude fra {0}",
"expired": "Chiuso {0} fa",
"not_enough_options": "Aggiungi altre risposte",
"votes_count": "{count} voto | {count} voti",
"people_voted_count": "{count} votante | {count} votanti"
},
"interactions": {
"favs_repeats": "Condivisi e preferiti",
"favs_repeats": "Condivisi e Graditi",
"load_older": "Carica vecchie interazioni",
"moves": "Utenti migrati",
"follows": "Nuovi seguìti"
@@ -665,8 +678,8 @@
"load_all": "Carico tutti i {emojiAmount} emoji",
"load_all_hint": "Primi {saneAmount} emoji caricati, caricarli tutti potrebbe causare rallentamenti.",
"unicode": "Emoji Unicode",
"custom": "Emoji personale",
"add_emoji": "Inserisci Emoji",
"custom": "Emoji della stanza",
"add_emoji": "Inserisci emoji",
"search_emoji": "Cerca un emoji",
"keep_open": "Tieni aperto il menù",
"emoji": "Emoji",
@@ -681,7 +694,7 @@
"remote_user_resolver": "Cerca utenti remoti"
},
"errors": {
"storage_unavailable": "Pleroma non ha potuto accedere ai dati del tuo browser. Le tue credenziali o le tue impostazioni locali non potranno essere salvate e potresti incontrare strani errori. Prova ad abilitare i cookie."
"storage_unavailable": "Pleroma non può accedere ai dati del tuo browser. Il tuo accesso o le tue impostazioni non saranno salvate e potresti incontrare strani errori. Prova ad abilitare i cookie."
},
"status": {
"pinned": "Intestato",
@@ -695,18 +708,20 @@
"hide_full_subject": "Nascondi intero oggetto",
"show_full_subject": "Mostra intero oggetto",
"thread_muted_and_words": ", contiene:",
"thread_muted": "Discussione zittita",
"thread_muted": "Discussione silenziata",
"copy_link": "Copia collegamento",
"status_unavailable": "Messaggio non disponibile",
"unmute_conversation": "Riabilita conversazione",
"mute_conversation": "Zittisci conversazione",
"mute_conversation": "Silenzia conversazione",
"replies_list": "Risposte:",
"reply_to": "Rispondi a",
"delete_confirm": "Vuoi veramente eliminare questo messaggio?",
"unbookmark": "Rimuovi segnalibro",
"bookmark": "Aggiungi segnalibro",
"status_deleted": "Questo messagio è stato cancellato",
"nsfw": "Pruriginoso"
"nsfw": "Pruriginoso",
"external_source": "Vai al sito",
"expand": "Espandi"
},
"time": {
"years_short": "{0}a",
@@ -781,7 +796,8 @@
"error": {
"default": "Riprova in seguito",
"file_too_big": "File troppo pesante [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"base": "Caricamento fallito."
"base": "Caricamento fallito.",
"message": "Caricamento fallito: {0}"
}
},
"tool_tip": {
+275 -60
View File
@@ -4,7 +4,7 @@
},
"exporter": {
"export": "エクスポート",
"processing": "処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります"
"processing": "処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります"
},
"features_panel": {
"chat": "チャット",
@@ -13,10 +13,12 @@
"scope_options": "公開範囲選択",
"text_limit": "文字の数",
"title": "有効な機能",
"who_to_follow": "おすすめユーザー"
"who_to_follow": "おすすめユーザー",
"upload_limit": "ファイルサイズの上限",
"pleroma_chat_messages": "Pleroma チャット"
},
"finder": {
"error_fetching_user": "ユーザー検索がエラーになりました",
"error_fetching_user": "ユーザー検索がエラーになりました",
"find_user": "ユーザーを探す"
},
"general": {
@@ -31,7 +33,17 @@
"disable": "無効",
"enable": "有効",
"confirm": "確認",
"verify": "検査"
"verify": "検査",
"peek": "隠す",
"close": "閉じる",
"dismiss": "無視",
"retry": "もう一度お試し下さい",
"error_retry": "もう一度お試し下さい",
"loading": "読み込み中…",
"role": {
"moderator": "モデレーター",
"admin": "管理者"
}
},
"image_cropper": {
"crop_picture": "画像を切り抜く",
@@ -57,9 +69,9 @@
"enter_recovery_code": "リカバリーコードを入力してください",
"enter_two_factor_code": "2段階認証コードを入力してください",
"recovery_code": "リカバリーコード",
"heading" : {
"totp" : "2段階認証",
"recovery" : "2段階リカバリー"
"heading": {
"totp": "2段階認証",
"recovery": "2段階リカバリー"
}
},
"media_modal": {
@@ -76,21 +88,29 @@
"dms": "ダイレクトメッセージ",
"public_tl": "パブリックタイムライン",
"timeline": "タイムライン",
"twkn": "接続しているすべてのネットワーク",
"twkn": "すべてのネットワーク",
"user_search": "ユーザーを探す",
"search": "検索",
"who_to_follow": "おすすめユーザー",
"preferences": "設定"
"preferences": "設定",
"administration": "管理",
"bookmarks": "ブックマーク",
"timelines": "タイムライン",
"chats": "チャット"
},
"notifications": {
"broken_favorite": "ステータスが見つかりません。探しています...",
"broken_favorite": "ステータスが見つかりません。探しています",
"favorited_you": "あなたのステータスがお気に入りされました",
"followed_you": "フォローされました",
"load_older": "古い通知をみる",
"notifications": "通知",
"read": "読んだ!",
"repeated_you": "あなたのステータスがリピートされました",
"no_more_notifications": "通知はありません"
"no_more_notifications": "通知はありません",
"reacted_with": "{0} でリアクションしました",
"migrated_to": "インスタンスを引っ越しました",
"follow_request": "あなたをフォローしたいです",
"error": "通知の取得に失敗しました: {0}"
},
"polls": {
"add_poll": "投票を追加",
@@ -104,7 +124,9 @@
"expiry": "投票期間",
"expires_in": "投票は {0} で終了します",
"expired": "投票は {0} 前に終了しました",
"not_enough_options": "相異なる選択肢が不足しています"
"not_enough_options": "相異なる選択肢が不足しています",
"votes_count": "{count} 票 | {count} 票",
"people_voted_count": "{count} 人投票 | {count} 人投票"
},
"emoji": {
"stickers": "ステッカー",
@@ -113,7 +135,9 @@
"search_emoji": "絵文字を検索",
"add_emoji": "絵文字を挿入",
"custom": "カスタム絵文字",
"unicode": "Unicode絵文字"
"unicode": "Unicode絵文字",
"load_all": "全 {emojiAmount} 絵文字を読み込む",
"load_all_hint": "最初の {saneAmount} 絵文字を読み込みました、全て読み込むと重くなる可能性があります。"
},
"stickers": {
"add_sticker": "ステッカーを追加"
@@ -121,7 +145,8 @@
"interactions": {
"favs_repeats": "リピートとお気に入り",
"follows": "新しいフォロワー",
"load_older": "古いインタラクションを見る"
"load_older": "古いインタラクションを見る",
"moves": "ユーザーの引っ越し"
},
"post_status": {
"new_status": "投稿する",
@@ -142,15 +167,20 @@
"posting": "投稿",
"scope_notice": {
"public": "この投稿は、誰でも見ることができます",
"private": "この投稿は、あなたのフォロワーだけが、見ることができます",
"unlisted": "この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません"
"private": "この投稿は、あなたのフォロワーだけが、見ることができます",
"unlisted": "この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません"
},
"scope": {
"direct": "ダイレクト: メンションされたユーザーのみに届きます",
"private": "フォロワーげんてい: フォロワーのみに届きます",
"public": "パブリック: パブリックタイムラインに届きます",
"unlisted": "アンリステッド: パブリックタイムラインに届きません"
}
"direct": "ダイレクト: メンションされたユーザーのみに届きます",
"private": "フォロワー限定: フォロワーのみに届きます",
"public": "パブリック: パブリックタイムラインに届きます",
"unlisted": "アンリステッド: パブリックタイムラインに届きません"
},
"media_description_error": "メディアのアップロードに失敗しました。もう一度お試しください",
"empty_status_error": "投稿内容を入力してください",
"preview_empty": "何もありません",
"preview": "プレビュー",
"media_description": "メディアの説明"
},
"registration": {
"bio": "プロフィール",
@@ -171,7 +201,9 @@
"password_required": "必須",
"password_confirmation_required": "必須",
"password_confirmation_match": "パスワードが違います"
}
},
"reason_placeholder": "このインスタンスは、新規登録を手動で受け付けています。\n登録したい理由を、インスタンスの管理者に教えてください。",
"reason": "登録するための目的"
},
"selectable_list": {
"select_all": "すべて選択"
@@ -181,17 +213,17 @@
"security": "セキュリティ",
"enter_current_password_to_confirm": "あなたのアイデンティティを証明するため、現在のパスワードを入力してください",
"mfa": {
"otp" : "OTP",
"setup_otp" : "OTPのセットアップ",
"wait_pre_setup_otp" : "OTPのプリセット",
"confirm_and_enable" : "OTPの確認と有効化",
"otp": "OTP",
"setup_otp": "OTPのセットアップ",
"wait_pre_setup_otp": "OTPのプリセット",
"confirm_and_enable": "OTPの確認と有効化",
"title": "2段階認証",
"generate_new_recovery_codes" : "新しいリカバリーコードを生成",
"warning_of_generate_new_codes" : "新しいリカバリーコードを生成すると、古いコードは使用できなくなります。",
"recovery_codes" : "リカバリーコード。",
"waiting_a_recovery_codes": "バックアップコードを受信しています...",
"recovery_codes_warning" : "コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。",
"authentication_methods" : "認証方法",
"generate_new_recovery_codes": "新しいリカバリーコードを生成",
"warning_of_generate_new_codes": "新しいリカバリーコードを生成すると、古いコードは使用できなくなります。",
"recovery_codes": "リカバリーコード。",
"waiting_a_recovery_codes": "バックアップコードを受信しています",
"recovery_codes_warning": "コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。",
"authentication_methods": "認証方法",
"scan": {
"title": "スキャン",
"desc": "あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:",
@@ -231,7 +263,7 @@
"data_import_export_tab": "インポートとエクスポート",
"default_vis": "デフォルトの公開範囲",
"delete_account": "アカウントを消す",
"delete_account_description": "あなたのアカウントとメッセージが、消えます。",
"delete_account_description": "あなたのデータが消えて、アカウントが使えなくなります。",
"delete_account_error": "アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。",
"delete_account_instructions": "本当にアカウントを消してもいいなら、パスワードを入力してください。",
"discoverable": "検索などのサービスでこのアカウントを見つけることを許可する",
@@ -239,12 +271,12 @@
"pad_emoji": "ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる",
"export_theme": "保存",
"filtering": "フィルタリング",
"filtering_explanation": "これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください",
"filtering_explanation": "これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください",
"follow_export": "フォローのエクスポート",
"follow_export_button": "エクスポート",
"follow_export_processing": "お待ちください。まもなくファイルをダウンロードできます。",
"follow_import": "フォローのインポート",
"follow_import_error": "フォローのインポートがエラーになりました",
"follow_import_error": "フォローのインポートがエラーになりました",
"follows_imported": "フォローがインポートされました! 少し時間がかかるかもしれません。",
"foreground": "フォアグラウンド",
"general": "全般",
@@ -305,7 +337,7 @@
"profile_background": "プロフィールのバックグラウンド",
"profile_banner": "プロフィールバナー",
"profile_tab": "プロフィール",
"radii_help": "インターフェースの丸さを設定する",
"radii_help": "インターフェースの丸さを設定する",
"replies_in_timeline": "タイムラインのリプライ",
"reply_visibility_all": "すべてのリプライを見る",
"reply_visibility_following": "私に宛てられたリプライと、フォローしている人からのリプライを見る",
@@ -332,7 +364,7 @@
"streaming": "上までスクロールしたとき、自動的にストリーミングする",
"text": "文字",
"theme": "テーマ",
"theme_help": "カラーテーマをカスタマイズできます",
"theme_help": "カラーテーマをカスタマイズできます",
"theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。",
"theme_help_v2_2": "バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。",
"tooltipRadius": "ツールチップとアラート",
@@ -356,7 +388,24 @@
"save_load_hint": "「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。",
"reset": "リセット",
"clear_all": "すべてクリア",
"clear_opacity": "透明度をクリア"
"clear_opacity": "透明度をクリア",
"help": {
"snapshot_missing": "テーマのスナップショットがありません。思っていた見た目と違うかもしれません。",
"migration_snapshot_ok": "念のために、テーマのスナップショットが読み込まれました。テーマのデータを読み込むことができます。",
"fe_downgraded": "フロントエンドが前のバージョンに戻りました。",
"fe_upgraded": "フロントエンドと一緒に、テーマエンジンが新しくなりました。",
"older_version_imported": "古いフロントエンドで作られたファイルをインポートしました。",
"future_version_imported": "新しいフロントエンドで作られたファイルをインポートしました。",
"v2_imported": "古いフロントエンドのためのファイルをインポートしました。設定した通りにならないかもしれません。",
"upgraded_from_v2": "フロントエンドが新しくなったので、今までの見た目と少し違うかもしれません。",
"snapshot_source_mismatch": "フロントエンドがロールバックと更新を繰り返したため、バージョンが競合しています。",
"migration_napshot_gone": "スナップショットがありません、覚えているものと見た目が違うかもしれません。",
"snapshot_present": "テーマのスナップショットが読み込まれました。設定は上書きされました。代わりとして実データを読み込むことができます。"
},
"use_source": "新しいバージョン",
"use_snapshot": "古いバージョン",
"load_theme": "テーマの読み込み",
"keep_as_is": "変更しない"
},
"common": {
"color": "色",
@@ -365,8 +414,8 @@
"hint": "コントラストは {ratio} です。{level}。({context})",
"level": {
"aa": "AAレベルガイドライン (ミニマル) を満たします",
"aaa": "AAAレベルガイドライン (レコメンデッド) を満たします",
"bad": "ガイドラインを満たしません"
"aaa": "AAAレベルガイドライン (レコメンデッド) を満たします",
"bad": "ガイドラインを満たしません"
},
"context": {
"18pt": "大きい (18ポイント以上) テキスト",
@@ -391,7 +440,27 @@
"borders": "境界",
"buttons": "ボタン",
"inputs": "インプットフィールド",
"faint_text": "薄いテキスト"
"faint_text": "薄いテキスト",
"alert_neutral": "それ以外",
"chat": {
"border": "境界線",
"outgoing": "送信",
"incoming": "受信"
},
"tabs": "タブ",
"toggled": "切り替えたとき",
"disabled": "無効なとき",
"selectedMenu": "選択されたメニューアイテム",
"selectedPost": "選択された投稿",
"pressed": "押したとき",
"highlight": "強調された要素",
"icons": "アイコン",
"poll": "投票グラフ",
"wallpaper": "壁紙",
"underlay": "アンダーレイ",
"popover": "ツールチップ、メニュー、ポップオーバー",
"post": "投稿/プロフィール",
"alert_warning": "警告"
},
"radii": {
"_tab_label": "丸さ"
@@ -409,8 +478,8 @@
"always_drop_shadow": "ブラウザーがサポートしていれば、常に {0} が使われます。",
"drop_shadow_syntax": "{0} は、{1} パラメーターと {2} キーワードをサポートしていません。",
"avatar_inset": "内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。",
"spread_zero": "広がりが 0 よりも大きな影は、0 と同じです",
"inset_classic": "内側の影は {0} を使います"
"spread_zero": "広がりが 0 よりも大きな影は、0 と同じです",
"inset_classic": "内側の影は {0} を使います"
},
"components": {
"panel": "パネル",
@@ -424,7 +493,8 @@
"buttonPressed": "ボタン (押されているとき)",
"buttonPressedHover": "ボタン (ホバー、かつ、押されているとき)",
"input": "インプットフィールド"
}
},
"hintV3": "影の場合は、 {0} 表記を使って他の色スロットを使うこともできます。"
},
"fonts": {
"_tab_label": "フォント",
@@ -445,7 +515,7 @@
"content": "本文",
"error": "エラーの例",
"button": "ボタン",
"text": "これは{0}と{1}の例です",
"text": "これは{0}と{1}の例です",
"mono": "monospace",
"input": "羽田空港に着きました。",
"faint_link": "とても助けになるマニュアル",
@@ -459,7 +529,51 @@
"title": "バージョン",
"backend_version": "バックエンドのバージョン",
"frontend_version": "フロントエンドのバージョン"
}
},
"notification_setting_hide_notification_contents": "送った人と内容を、プッシュ通知に表示しない",
"notification_setting_privacy": "プライバシー",
"notification_setting_block_from_strangers": "フォローしていないユーザーからの通知を拒否する",
"notification_setting_filters": "フィルター",
"fun": "お楽しみ",
"virtual_scrolling": "タイムラインの描画を最適化する",
"type_domains_to_mute": "ミュートしたいドメインを検索",
"useStreamingApiWarning": "(実験中で、投稿を取りこぼすかもしれないので、おすすめしません)",
"useStreamingApi": "投稿と通知を、すぐに受け取る",
"user_mutes": "ユーザー",
"reset_background_confirm": "本当にバックグラウンドを初期化しますか?",
"reset_banner_confirm": "本当にバナーを初期化しますか?",
"reset_avatar_confirm": "本当にアバターを初期化しますか?",
"hide_wallpaper": "インスタンスのバックグラウンドを隠す",
"reset_profile_background": "プロフィールのバックグラウンドを初期化",
"reset_profile_banner": "プロフィールのバナーを初期化",
"reset_avatar": "アバターを初期化",
"notification_visibility_emoji_reactions": "リアクション",
"notification_visibility_moves": "ユーザーの引っ越し",
"new_email": "新しいメールアドレス",
"profile_fields": {
"value": "内容",
"name": "ラベル",
"add_field": "枠を追加",
"label": "プロフィール補足情報"
},
"accent": "アクセント",
"mutes_imported": "ミュートをインポートしました!少し時間がかかるかもしれません。",
"emoji_reactions_on_timeline": "絵文字リアクションをタイムラインに表示",
"domain_mutes": "ドメイン",
"mutes_and_blocks": "ミュートとブロック",
"chatMessageRadius": "チャットメッセージ",
"change_email_error": "メールアドレスを変えることが、できなかったかもしれません。",
"changed_email": "メールアドレスが、変わりました!",
"change_email": "メールアドレスを変える",
"bot": "これは bot アカウントです",
"mute_export_button": "ミュートをCSVファイルにエクスポートする",
"import_mutes_from_a_csv_file": "CSVファイルからミュートをインポートする",
"mute_import_error": "ミュートのインポートに失敗しました",
"mute_import": "ミュートのインポート",
"mute_export": "ミュートのエクスポート",
"allow_following_move": "フォロー中のアカウントが引っ越したとき、自動フォローを許可する",
"setting_changed": "規定の設定と異なっています",
"greentext": "引用を緑色で表示"
},
"time": {
"day": "{0}日",
@@ -505,7 +619,9 @@
"show_new": "読み込み",
"up_to_date": "最新",
"no_more_statuses": "これで終わりです",
"no_statuses": "ステータスはありません"
"no_statuses": "ステータスはありません",
"reload": "再読み込み",
"error": "タイムラインの読み込みに失敗しました: {0}"
},
"status": {
"favorites": "お気に入り",
@@ -518,7 +634,21 @@
"reply_to": "返信",
"replies_list": "返信:",
"mute_conversation": "スレッドをミュート",
"unmute_conversation": "スレッドのミュートを解除"
"unmute_conversation": "スレッドのミュートを解除",
"nsfw": "閲覧注意",
"expand": "広げる",
"status_deleted": "この投稿は削除されました",
"hide_content": "隠す",
"show_content": "見る",
"hide_full_subject": "隠す",
"show_full_subject": "全部見る",
"thread_muted_and_words": "以下の単語を含むため:",
"thread_muted": "ミュートされたスレッド",
"external_source": "外部ソース",
"copy_link": "リンクをコピー",
"status_unavailable": "利用できません",
"unbookmark": "ブックマーク解除",
"bookmark": "ブックマーク"
},
"user_card": {
"approve": "受け入れ",
@@ -539,7 +669,7 @@
"media": "メディア",
"mention": "メンション",
"mute": "ミュート",
"muted": "ミュートしています",
"muted": "ミュートしています",
"per_day": "/日",
"remote_follow": "リモートフォロー",
"report": "通報",
@@ -547,11 +677,11 @@
"subscribe": "購読",
"unsubscribe": "購読を解除",
"unblock": "ブロック解除",
"unblock_progress": "ブロックを解除しています...",
"block_progress": "ブロックしています...",
"unblock_progress": "ブロックを解除しています",
"block_progress": "ブロックしています",
"unmute": "ミュート解除",
"unmute_progress": "ミュートを解除しています...",
"mute_progress": "ミュートしています...",
"unmute_progress": "ミュートを解除しています",
"mute_progress": "ミュートしています",
"admin_menu": {
"moderation": "モデレーション",
"grant_admin": "管理者権限を付与",
@@ -570,7 +700,16 @@
"quarantine": "他のインスタンスからの投稿を止める",
"delete_user": "ユーザーを削除",
"delete_user_confirmation": "あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。"
}
},
"roles": {
"moderator": "モデレーター",
"admin": "管理者"
},
"show_repeats": "リピートを見る",
"hide_repeats": "リピートを隠す",
"message": "メッセージ",
"hidden": "隠す",
"bot": "bot"
},
"user_profile": {
"timeline_title": "ユーザータイムライン",
@@ -595,13 +734,18 @@
"repeat": "リピート",
"reply": "返信",
"favorite": "お気に入り",
"user_settings": "ユーザー設定"
"user_settings": "ユーザー設定",
"bookmark": "ブックマーク",
"reject_follow_request": "フォローリクエストを拒否",
"accept_follow_request": "フォローリクエストを許可",
"add_reaction": "リアクションを追加"
},
"upload":{
"upload": {
"error": {
"base": "アップロードに失敗しました。",
"file_too_big": "ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]",
"default": "しばらくしてから試してください"
"base": "アップロードに失敗しました。",
"file_too_big": "ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]",
"default": "しばらくしてから試してください",
"message": "アップロードに失敗: {0}"
},
"file_size_units": {
"B": "B",
@@ -626,6 +770,77 @@
"check_email": "パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。",
"return_home": "ホームページに戻る",
"too_many_requests": "試行回数の制限に達しました。しばらく時間を置いてから再試行してください。",
"password_reset_disabled": "このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。"
"password_reset_disabled": "このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。",
"password_reset_required_but_mailer_is_disabled": "パスワードの初期化が必要ですが、初期化は使えません。インスタンスの管理者に連絡してください。",
"password_reset_required": "ログインするためにパスワードを初期化してください。"
},
"about": {
"mrf": {
"mrf_policies_desc": "MRFポリシーは、インスタンスの振る舞いを操作します。以下のポリシーが有効になっています:",
"federation": "連合",
"simple": {
"media_nsfw_desc": "このインスタンスでは、以下のインスタンスからの投稿に対して、メディアを閲覧注意に設定します:",
"media_nsfw": "メディアを閲覧注意に設定",
"media_removal_desc": "このインスタンスでは、以下のインスタンスからの投稿に対して、メディアを除去します:",
"media_removal": "メディア除去",
"ftl_removal": "「接続しているすべてのネットワーク」タイムラインから除外",
"ftl_removal_desc": "このインスタンスでは、以下のインスタンスを「接続しているすべてのネットワーク」タイムラインから除外します:",
"quarantine_desc": "このインスタンスでは、以下のインスタンスに対して公開投稿のみを送信します:",
"quarantine": "検疫",
"reject_desc": "このインスタンスでは、以下のインスタンスからのメッセージを受け付けません:",
"accept_desc": "このインスタンスでは、以下のインスタンスからのメッセージのみを受け付けます:",
"accept": "許可",
"simple_policies": "インスタンス固有のポリシー",
"reject": "拒否"
},
"mrf_policies": "有効なMRFポリシー",
"keyword": {
"replace": "置き換え",
"ftl_removal": "「接続しているすべてのネットワーク」タイムラインから除外",
"keyword_policies": "キーワードポリシー",
"is_replaced_by": "→",
"reject": "拒否"
}
},
"staff": "スタッフ"
},
"display_date": {
"today": "今日"
},
"file_type": {
"file": "ファイル",
"image": "画像",
"video": "ビデオ",
"audio": "オーディオ"
},
"remote_user_resolver": {
"error": "見つかりませんでした。",
"searching_for": "検索中",
"remote_user_resolver": "リモートユーザーリゾルバ"
},
"errors": {
"storage_unavailable": "ブラウザのストレージに接続できなかったため、ログインや設定情報は保存されません。Cookieを有効にしてください。"
},
"shoutbox": {
"title": "Shoutbox"
},
"chats": {
"empty_chat_list_placeholder": "チャットはありません。新規チャットのボタンを押して始めましょう!",
"error_sending_message": "メッセージの送信に失敗しました。",
"error_loading_chat": "チャットの読み込みに失敗しました。",
"delete_confirm": "このメッセージを本当に消してもいいですか?",
"more": "もっと見る",
"empty_message_error": "メッセージを入力して下さい",
"new": "新規チャット",
"chats": "チャット一覧",
"delete": "削除",
"message_user": "{nickname} にメッセージ",
"you": "あなた:"
},
"domain_mute_card": {
"unmute_progress": "ミュート解除中…",
"unmute": "ミュート解除",
"mute_progress": "ミュート中…",
"mute": "ミュート"
}
}
+234 -22
View File
@@ -9,7 +9,9 @@
"scope_options": "범위 옵션",
"text_limit": "텍스트 제한",
"title": "기능",
"who_to_follow": "팔로우 추천"
"who_to_follow": "팔로우 추천",
"upload_limit": "최대 파일용량",
"pleroma_chat_messages": "Pleroma 채트"
},
"finder": {
"error_fetching_user": "사용자 정보 불러오기 실패",
@@ -17,7 +19,27 @@
},
"general": {
"apply": "적용",
"submit": "보내기"
"submit": "보내기",
"loading": "로딩중…",
"peek": "숨기기",
"close": "닫기",
"verify": "검사",
"confirm": "확인",
"enable": "유효",
"disable": "무효",
"cancel": "취소",
"dismiss": "무시",
"show_less": "접기",
"show_more": "더 보기",
"optional": "필수 아님",
"retry": "다시 시도하십시오",
"error_retry": "다시 시도하십시오",
"generic_error": "잘못되었습니다",
"more": "더 보기",
"role": {
"moderator": "중재자",
"admin": "관리자"
}
},
"login": {
"login": "로그인",
@@ -26,10 +48,19 @@
"password": "암호",
"placeholder": "예시: lain",
"register": "가입",
"username": "사용자 이름"
"username": "사용자 이름",
"heading": {
"recovery": "2단계 복구",
"totp": "2단계인증"
},
"recovery_code": "복구 코드",
"enter_two_factor_code": "2단계인증 코드를 입력하십시오",
"enter_recovery_code": "복구 코드를 입력하십시오",
"authentication_code": "인증 코드",
"hint": "로그인하여 대화에 참가합시다"
},
"nav": {
"about": "About",
"about": "인스턴스 소개",
"back": "뒤로",
"chat": "로컬 챗",
"friend_requests": "팔로우 요청",
@@ -37,18 +68,29 @@
"dms": "다이렉트 메시지",
"public_tl": "공개 타임라인",
"timeline": "타임라인",
"twkn": "모든 알려진 네트워크",
"twkn": "알려진 네트워크",
"user_search": "사용자 검색",
"preferences": "환경설정"
"preferences": "환경설정",
"chats": "채트",
"timelines": "타임라인",
"who_to_follow": "추천된 사용자",
"search": "검색",
"bookmarks": "북마크",
"interactions": "대화",
"administration": "관리"
},
"notifications": {
"broken_favorite": "알 수 없는 게시물입니다, 검색 합니다...",
"broken_favorite": "알 수 없는 게시물입니다, 검색합니다",
"favorited_you": "당신의 게시물을 즐겨찾기",
"followed_you": "당신을 팔로우",
"load_older": "오래 된 알림 불러오기",
"notifications": "알림",
"read": "읽음!",
"repeated_you": "당신의 게시물을 리핏"
"repeated_you": "당신의 게시물을 리핏",
"no_more_notifications": "알림이 없습니다",
"migrated_to": "이사했습니다",
"reacted_with": "{0} 로 반응했습니다",
"error": "알림 불러오기 실패: {0}"
},
"post_status": {
"new_status": "새 게시물 게시",
@@ -56,10 +98,13 @@
"account_not_locked_warning_link": "잠김",
"attachments_sensitive": "첨부물을 민감함으로 설정",
"content_type": {
"text/plain": "평문"
"text/plain": "평문",
"text/bbcode": "BBCode",
"text/markdown": "Markdown",
"text/html": "HTML"
},
"content_warning": "주제 (필수 아님)",
"default": "LA에 도착!",
"default": "인천공항에 도착했습니다.",
"direct_warning": "이 게시물을 멘션 된 사용자들에게만 보여집니다",
"posting": "게시",
"scope": {
@@ -67,7 +112,15 @@
"private": "팔로워 전용 - 팔로워들에게만",
"public": "공개 - 공개 타임라인으로",
"unlisted": "비공개 - 공개 타임라인에 게시 안 함"
}
},
"preview_empty": "아무것도 없습니다",
"preview": "미리보기",
"scope_notice": {
"public": "이 글은 누구나 볼 수 있습니다"
},
"media_description_error": "파일을 올리지 못하였습니다. 다시한번 시도하여 주십시오",
"empty_status_error": "글을 입력하십시오",
"media_description": "첨부파일 설명"
},
"registration": {
"bio": "소개",
@@ -85,7 +138,9 @@
"password_required": "공백으로 둘 수 없습니다",
"password_confirmation_required": "공백으로 둘 수 없습니다",
"password_confirmation_match": "패스워드와 일치해야 합니다"
}
},
"fullname_placeholder": "예: 김례인",
"username_placeholder": "예: lain"
},
"settings": {
"attachmentRadius": "첨부물",
@@ -112,7 +167,7 @@
"data_import_export_tab": "데이터 불러오기 / 내보내기",
"default_vis": "기본 공개 범위",
"delete_account": "계정 삭제",
"delete_account_description": "계정과 메시지를 영구히 삭제.",
"delete_account_description": "데이터가 영구히 삭제되고 계정이 불활성화됩니다.",
"delete_account_error": "계정을 삭제하는데 문제가 있습니다. 계속 발생한다면 인스턴스 관리자에게 문의하세요.",
"delete_account_instructions": "계정 삭제를 확인하기 위해 아래에 패스워드 입력.",
"export_theme": "프리셋 저장",
@@ -156,7 +211,7 @@
"notification_visibility_repeats": "반복",
"no_rich_text_description": "모든 게시물의 서식을 지우기",
"hide_follows_description": "내가 팔로우하는 사람을 표시하지 않음",
"hide_followers_description": "나를 따르는 사람을 보여주지 마라.",
"hide_followers_description": "나를 따르는 사람을 숨기기",
"nsfw_clickthrough": "NSFW 이미지 \"클릭해서 보이기\"를 활성화",
"oauth_tokens": "OAuth 토큰",
"token": "토큰",
@@ -247,7 +302,16 @@
"borders": "테두리",
"buttons": "버튼",
"inputs": "입력칸",
"faint_text": "흐려진 텍스트"
"faint_text": "흐려진 텍스트",
"chat": {
"border": "경계선",
"outgoing": "송신",
"incoming": "수신"
},
"selectedMenu": "선택된 메뉴 요소",
"selectedPost": "선택된 글",
"icons": "아이콘",
"alert_warning": "경고"
},
"radii": {
"_tab_label": "둥글기"
@@ -303,14 +367,45 @@
"button": "버튼",
"text": "더 많은 {0} 그리고 {1}",
"mono": "내용",
"input": "LA에 막 도착!",
"input": "인천공항에 도착했습니다.",
"faint_link": "도움 되는 설명서",
"fine_print": "우리의 {0} 를 읽고 도움 되지 않는 것들을 배우자!",
"header_faint": "이건 괜찮아",
"checkbox": "나는 약관을 대충 훑어보았습니다",
"link": "작고 귀여운 링크"
}
}
},
"block_export": "차단 목록 내보내기",
"mfa": {
"scan": {
"secret_code": "키",
"title": "스캔"
},
"authentication_methods": "인증 방법",
"waiting_a_recovery_codes": "예비 코드를 수신하고 있습니다…",
"recovery_codes": "복구 코드.",
"generate_new_recovery_codes": "새로운 복구 코드를 작성",
"title": "2단계인증",
"confirm_and_enable": "OTP 확인과 활성화",
"setup_otp": "OTP 설치",
"otp": "OTP"
},
"security": "보안",
"emoji_reactions_on_timeline": "이모지 반응을 타임라인으로 표시",
"avatar_size_instruction": "크기를 150x150 이상으로 설정할 것을 추장합니다.",
"blocks_tab": "차단",
"notification_setting_privacy": "보안",
"user_mutes": "사용자",
"notification_visibility_emoji_reactions": "반응",
"profile_fields": {
"value": "내용"
},
"mutes_and_blocks": "침묵과 차단",
"chatMessageRadius": "챗 메시지",
"change_email": "전자메일 주소 바꾸기",
"changed_email": "메일주소가 갱신되었습니다!",
"bot": "이 계정은 bot입니다",
"mutes_tab": "침묵"
},
"timeline": {
"collapse": "접기",
@@ -339,7 +434,7 @@
"its_you": "당신입니다!",
"mute": "침묵",
"muted": "침묵 됨",
"per_day": " / 하루",
"per_day": "/ 하루",
"remote_follow": "원격 팔로우",
"statuses": "게시물"
},
@@ -357,11 +452,11 @@
"favorite": "즐겨찾기",
"user_settings": "사용자 설정"
},
"upload":{
"upload": {
"error": {
"base": "업로드 실패.",
"file_too_big": "파일이 너무 커요 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "잠시 후에 다시 시도해 보세요"
"base": "업로드 실패.",
"file_too_big": "파일이 너무 커요 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "잠시 후에 다시 시도해 보세요"
},
"file_size_units": {
"B": "바이트",
@@ -370,5 +465,122 @@
"GiB": "기비바이트",
"TiB": "테비바이트"
}
},
"interactions": {
"follows": "새 팔로워",
"favs_repeats": "반복과 즐겨찾기"
},
"emoji": {
"load_all": "전체 {emojiAmount} 이모지 불러오기",
"unicode": "Unicode 이모지",
"custom": "전용 이모지",
"add_emoji": "이모지 넣기",
"search_emoji": "이모지 검색",
"emoji": "이모지",
"stickers": "스티커"
},
"polls": {
"add_poll": "투표를 추가",
"votes": "표",
"vote": "투표",
"type": "투표 형식",
"expiry": "투표 기간",
"votes_count": "{count} 표 | {count} 표",
"people_voted_count": "{count} 명 투표 | {count} 명 투표",
"option": "선택지",
"add_option": "선택지 추가"
},
"media_modal": {
"next": "다음",
"previous": "이전"
},
"importer": {
"error": "이 파일을 가져올 때 오류가 발생하였습니다.",
"success": "정상히 불러왔습니다.",
"submit": "보내기"
},
"image_cropper": {
"cancel": "취소",
"save_without_cropping": "그대로 저장",
"save": "저장",
"crop_picture": "사진 자르기"
},
"exporter": {
"processing": "처리중입니다, 처리가 끝나면 파일을 다운로드하라는 지시가 있겠습니다",
"export": "내보내기"
},
"domain_mute_card": {
"unmute_progress": "침묵을 해제중…",
"unmute": "침묵 해제",
"mute_progress": "침묵으로 설정중…",
"mute": "침묵"
},
"about": {
"staff": "운영자",
"mrf": {
"simple": {
"media_nsfw_desc": "이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고에 붙혀 있는 매체는 민감함으로 설정됩니다:",
"media_nsfw": "매체를 민감함으로 설정",
"media_removal_desc": "이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고에 붙혀 있는 매체는 제거됩니다:",
"media_removal": "매체 제거",
"ftl_removal_desc": "이 인스턴스에서 아래의 인스턴스들은 \"알려진 모든 네트워크\" 타임라인에서 제외됩니다:",
"ftl_removal": "\"알려진 모든 네트워크\" 타임라인에서 제외",
"quarantine_desc": "이 인스턴스는 아래의 인스턴스에게 공개투고만을 보냅니다:",
"quarantine": "검역",
"reject_desc": "이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고를 받아들이지 않습니다:",
"accept_desc": "이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고만이 접수됩니다:",
"reject": "거부",
"accept": "허가",
"simple_policies": "인스턴스 특유의 폴리시"
},
"mrf_policies": "사용되는 MRF 폴리시",
"keyword": {
"is_replaced_by": "→",
"replace": "바꾸기",
"reject": "거부",
"ftl_removal": "\"알려진 모든 네트워크\" 타임라인에서 제외",
"keyword_policies": "단어 폴리시"
},
"federation": "연합"
}
},
"shoutbox": {
"title": "Shoutbox"
},
"time": {
"years_short": "{0} 년",
"year_short": "{0} 년",
"years": "{0} 년",
"year": "{0} 년",
"weeks_short": "{0} 주일",
"week_short": "{0} 주일",
"weeks": "{0} 주일",
"week": "{0} 주일",
"seconds_short": "{0} 초",
"second_short": "{0} 초",
"seconds": "{0} 초",
"second": "{0} 초",
"now_short": "방금",
"now": "방끔",
"months_short": "{0} 달 전",
"month_short": "{0} 달 전",
"months": "{0} 달 전",
"month": "{0} 달 전",
"minutes_short": "{0} 분",
"minute_short": "{0} 분",
"minutes": "{0} 분",
"minute": "{0} 분",
"in_past": "{0} 전",
"hours_short": "{0} 시간",
"hour_short": "{0} 시간",
"hours": "{0} 시간",
"hour": "{0} 시간",
"days_short": "{0} 일",
"day_short": "{0} 일",
"days": "{0} 일",
"day": "{0} 일"
},
"remote_user_resolver": {
"error": "찾을 수 없습니다."
}
}
+2 -1
View File
@@ -34,7 +34,8 @@ const loaders = {
ru: () => import('./ru.json'),
te: () => import('./te.json'),
uk: () => import('./uk.json'),
zh: () => import('./zh.json')
zh: () => import('./zh.json'),
zh_Hant: () => import('./zh_Hant.json')
}
const messages = {
+20 -17
View File
@@ -57,9 +57,9 @@
"enter_recovery_code": "Skriv inn en gjenopprettingskode",
"enter_two_factor_code": "Skriv inn en to-faktors kode",
"recovery_code": "Gjenopprettingskode",
"heading" : {
"totp" : "To-faktors autentisering",
"recovery" : "To-faktors gjenoppretting"
"heading": {
"totp": "To-faktors autentisering",
"recovery": "To-faktors gjenoppretting"
}
},
"media_modal": {
@@ -72,7 +72,7 @@
"chat": "Lokal nettprat",
"friend_requests": "Følgeforespørsler",
"mentions": "Nevnt",
"interactions": "Interaksjooner",
"interactions": "Interaksjoner",
"dms": "Direktemeldinger",
"public_tl": "Offentlig Tidslinje",
"timeline": "Tidslinje",
@@ -80,7 +80,9 @@
"user_search": "Søk etter brukere",
"search": "Søk",
"who_to_follow": "Kontoer å følge",
"preferences": "Innstillinger"
"preferences": "Innstillinger",
"timelines": "Tidslinjer",
"bookmarks": "Bokmerker"
},
"notifications": {
"broken_favorite": "Ukjent status, leter etter den...",
@@ -90,7 +92,8 @@
"notifications": "Varslinger",
"read": "Les!",
"repeated_you": "Gjentok din status",
"no_more_notifications": "Ingen gjenstående varsler"
"no_more_notifications": "Ingen gjenstående varsler",
"follow_request": "ønsker å følge deg"
},
"polls": {
"add_poll": "Legg til undersøkelse",
@@ -134,7 +137,7 @@
"public": "Denne statusen vil være synlig for alle",
"private": "Denne statusen vil være synlig for dine følgere",
"unlisted": "Denne statusen vil ikke være synlig i Offentlig Tidslinje eller Det Hele Kjente Nettverket"
},
},
"scope": {
"direct": "Direkte, publiser bare til nevnte brukere",
"private": "Bare følgere, publiser bare til brukere som følger deg",
@@ -171,17 +174,17 @@
"security": "Sikkerhet",
"enter_current_password_to_confirm": "Skriv inn ditt nåverende passord for å bekrefte din identitet",
"mfa": {
"otp" : "OTP",
"setup_otp" : "Set opp OTP",
"wait_pre_setup_otp" : "forhåndsstiller OTP",
"confirm_and_enable" : "Bekreft og slå på OTP",
"otp": "OTP",
"setup_otp": "Set opp OTP",
"wait_pre_setup_otp": "forhåndsstiller OTP",
"confirm_and_enable": "Bekreft og slå på OTP",
"title": "To-faktors autentisering",
"generate_new_recovery_codes" : "Generer nye gjenopprettingskoder",
"warning_of_generate_new_codes" : "Når du genererer nye gjenopprettingskoder, vil de gamle slutte å fungere.",
"recovery_codes" : "Gjenopprettingskoder.",
"generate_new_recovery_codes": "Generer nye gjenopprettingskoder",
"warning_of_generate_new_codes": "Når du genererer nye gjenopprettingskoder, vil de gamle slutte å fungere.",
"recovery_codes": "Gjenopprettingskoder.",
"waiting_a_recovery_codes": "Mottar gjenopprettingskoder...",
"recovery_codes_warning" : "Skriv disse kodene ned eller plasser dem ett sikkert sted - ellers så vil du ikke se dem igjen. Dersom du mister tilgang til din to-faktors app og dine gjenopprettingskoder, vil du bli stengt ute av kontoen din.",
"authentication_methods" : "Autentiseringsmetoder",
"recovery_codes_warning": "Skriv disse kodene ned eller plasser dem ett sikkert sted - ellers så vil du ikke se dem igjen. Dersom du mister tilgang til din to-faktors app og dine gjenopprettingskoder, vil du bli stengt ute av kontoen din.",
"authentication_methods": "Autentiseringsmetoder",
"scan": {
"title": "Skann",
"desc": "Ved hjelp av din to-faktors applikasjon, skann denne QR-koden eller skriv inn tekstnøkkelen",
@@ -579,7 +582,7 @@
"favorite": "Lik",
"user_settings": "Brukerinnstillinger"
},
"upload":{
"upload": {
"error": {
"base": "Det oppsto en feil under opplastning.",
"file_too_big": "Fil for stor [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
+16 -7
View File
@@ -50,7 +50,8 @@
"text_limit": "Limit tekstu",
"title": "Funkcje",
"who_to_follow": "Propozycje obserwacji",
"pleroma_chat_messages": "Czat Pleromy"
"pleroma_chat_messages": "Czat Pleromy",
"upload_limit": "Limit wysyłania"
},
"finder": {
"error_fetching_user": "Błąd przy pobieraniu profilu",
@@ -140,7 +141,8 @@
"no_more_notifications": "Nie masz więcej powiadomień",
"migrated_to": "wyemigrował do",
"reacted_with": "zareagował z {0}",
"follow_request": "chce ciebie obserwować"
"follow_request": "chce ciebie obserwować",
"error": "Błąd pobierania powiadomień: {0}"
},
"polls": {
"add_poll": "Dodaj ankietę",
@@ -501,7 +503,8 @@
"outgoing": "Wiadomości wychodzące",
"incoming": "Wiadomości przychodzące",
"border": "Granica"
}
},
"wallpaper": "Tło"
},
"radii": {
"_tab_label": "Zaokrąglenie"
@@ -596,7 +599,8 @@
"mute_import_error": "Wystąpił błąd podczas importowania wyciszeń",
"mute_import": "Import wyciszeń",
"mute_export_button": "Wyeksportuj swoje wyciszenia do pliku .csv",
"mute_export": "Eksport wyciszeń"
"mute_export": "Eksport wyciszeń",
"hide_wallpaper": "Ukryj tło instancji"
},
"time": {
"day": "{0} dzień",
@@ -643,7 +647,8 @@
"up_to_date": "Na bieżąco",
"no_more_statuses": "Brak kolejnych statusów",
"no_statuses": "Brak statusów",
"reload": "Odśwież"
"reload": "Odśwież",
"error": "Błąd pobierania osi czasu: {0}"
},
"status": {
"favorites": "Ulubione",
@@ -667,7 +672,10 @@
"show_full_subject": "Pokaż cały temat",
"thread_muted_and_words": ", ma słowa:",
"thread_muted": "Wątek wyciszony",
"status_deleted": "Ten wpis został usunięty"
"status_deleted": "Ten wpis został usunięty",
"expand": "Rozwiń",
"nsfw": "NSFW",
"external_source": "Zewnętrzne źródło"
},
"user_card": {
"approve": "Przyjmij",
@@ -758,7 +766,8 @@
"error": {
"base": "Wysyłanie nie powiodło się.",
"file_too_big": "Zbyt duży plik [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "Spróbuj ponownie później"
"default": "Spróbuj ponownie później",
"message": "Błąd wysyłania: {0}"
},
"file_size_units": {
"B": "B",
+501 -90
View File
@@ -5,37 +5,66 @@
"features_panel": {
"chat": "Chat",
"gopher": "Gopher",
"media_proxy": "Proxy de mídia",
"media_proxy": "Proxy de multimédia",
"scope_options": "Opções de privacidade",
"text_limit": "Limite de caracteres",
"title": "Funções",
"who_to_follow": "Quem seguir"
"title": "Características",
"who_to_follow": "Quem seguir",
"upload_limit": "Limite de carregamento",
"pleroma_chat_messages": "Chat do Pleroma"
},
"finder": {
"error_fetching_user": "Erro ao procurar usuário",
"find_user": "Buscar usuário"
"error_fetching_user": "Erro ao pesquisar utilizador",
"find_user": "Pesquisar utilizador"
},
"general": {
"apply": "Aplicar",
"submit": "Enviar",
"more": "Mais",
"generic_error": "Houve um erro",
"optional": "opcional"
"generic_error": "Ocorreu um erro",
"optional": "opcional",
"peek": "Espreitar",
"close": "Fechar",
"verify": "Verificar",
"confirm": "Confirmar",
"enable": "Ativar",
"disable": "Desativar",
"cancel": "Cancelar",
"show_less": "Mostrar menos",
"show_more": "Mostrar mais",
"retry": "Tenta novamente",
"error_retry": "Por favor, tenta novamente",
"loading": "A carregar…",
"dismiss": "Ignorar",
"role":
{
"moderator": "Moderador",
"admin": "Admin"
}
},
"image_cropper": {
"crop_picture": "Cortar imagem",
"save": "Salvar",
"cancel": "Cancelar"
"save": "Guardar",
"cancel": "Cancelar",
"save_without_cropping": "Guardar sem recortar"
},
"login": {
"login": "Entrar",
"description": "Entrar com OAuth",
"logout": "Sair",
"password": "Senha",
"placeholder": "p.e. lain",
"register": "Registrar",
"username": "Usuário",
"hint": "Entre para participar da discussão"
"login": "Iniciar Sessão",
"description": "Iniciar sessão com OAuth",
"logout": "Terminar sessão",
"password": "Palavra-passe",
"placeholder": "ex. lain",
"register": "Registar",
"username": "Nome de Utilizador",
"hint": "Entra para participar na discussão",
"heading": {
"totp": "Autenticação de dois fatores",
"recovery": "Recuperação de dois fatores"
},
"recovery_code": "Código de recuperação",
"authentication_code": "Código de autenticação",
"enter_two_factor_code": "Introduza o código de dois fatores",
"enter_recovery_code": "Introduza um código de recuperação"
},
"media_modal": {
"previous": "Anterior",
@@ -45,100 +74,125 @@
"about": "Sobre",
"back": "Voltar",
"chat": "Chat local",
"friend_requests": "Solicitações de seguidores",
"friend_requests": "Pedidos de seguidores",
"mentions": "Menções",
"dms": "Mensagens diretas",
"public_tl": "Linha do tempo pública",
"timeline": "Linha do tempo",
"twkn": "Toda a rede conhecida",
"user_search": "Buscar usuários",
"dms": "Mensagens Diretas",
"public_tl": "Cronologia Pública",
"timeline": "Cronologia",
"twkn": "Rede conhecida",
"user_search": "Pesquisa por Utilizadores",
"who_to_follow": "Quem seguir",
"preferences": "Preferências"
"preferences": "Preferências",
"search": "Pesquisar",
"interactions": "Interações",
"administration": "Administração",
"chats": "Salas de Chat",
"timelines": "Cronologias",
"bookmarks": "Itens Guardados"
},
"notifications": {
"broken_favorite": "Status desconhecido, buscando...",
"favorited_you": "favoritou sua postagem",
"followed_you": "seguiu você",
"broken_favorite": "Publicação desconhecida, a procurar…",
"favorited_you": "gostou do teu post",
"followed_you": "seguiu-te",
"load_older": "Carregar notificações antigas",
"notifications": "Notificações",
"read": "Lido!",
"repeated_you": "repetiu sua postagem",
"no_more_notifications": "Mais nenhuma notificação"
"repeated_you": "partilhou o teu post",
"no_more_notifications": "Sem mais notificações",
"reacted_with": "reagiu com {0}",
"migrated_to": "migrou para",
"follow_request": "quer seguir-te",
"error": "Erro ao obter notificações: {0}"
},
"post_status": {
"new_status": "Postar novo status",
"account_not_locked_warning": "Sua conta não é {0}. Qualquer pessoa pode te seguir e ver seus posts privados (só para seguidores).",
"account_not_locked_warning_link": "restrita",
"new_status": "Publicar nova publicação",
"account_not_locked_warning": "A sua conta não é {0}. Qualquer pessoa pode seguir-te e ver os seus posts privados (só para seguidores).",
"account_not_locked_warning_link": "restrito",
"attachments_sensitive": "Marcar anexos como sensíveis",
"content_type": {
"text/plain": "Texto puro"
"text/plain": "Texto puro",
"text/bbcode": "BBCode",
"text/html": "HTML",
"text/markdown": "Remarcação"
},
"content_warning": "Assunto (opcional)",
"default": "Acabei de chegar no Rio!",
"default": "Acabei de chegar a Lisboa.",
"direct_warning": "Este post será visível apenas para os usuários mencionados.",
"posting": "Publicando",
"posting": "A publicar",
"scope": {
"direct": "Direto - Enviar somente aos usuários mencionados",
"private": "Apenas para seguidores - Enviar apenas para seguidores",
"public": "Público - Enviar a linhas do tempo públicas",
"unlisted": "Não listado - Não enviar a linhas do tempo públicas"
}
"public": "Público - Publicar em cronologias públicas",
"unlisted": "Não listado - Não exibir em cronologias públicas"
},
"scope_notice": {
"unlisted": "Esta publicação não será visível na Cronologia pública e na Rede conhecida por todos",
"private": "Esta publicação será apenas visível para os teus seguidores",
"public": "Esta publicação será visível para todos"
},
"empty_status_error": "Não consegues publicar um post vazio e sem ficheiros",
"preview_empty": "Vazio",
"preview": "Pré-visualização",
"media_description": "Descrição da multimédia",
"media_description_error": "Falha ao atualizar ficheiro, tente novamente",
"direct_warning_to_first_only": "Esta publicação só será visível para os utilizadores mencionados no início da mensagem.",
"direct_warning_to_all": "Esta publicação será visível para todos os utilizadores mencionados."
},
"registration": {
"bio": "Biografia",
"email": "Correio eletrônico",
"email": "Endereço de e-mail",
"fullname": "Nome para exibição",
"password_confirm": "Confirmação de senha",
"registration": "Registro",
"password_confirm": "Confirmação de palavra-passe",
"registration": "Registo",
"token": "Código do convite",
"captcha": "CAPTCHA",
"new_captcha": "Clique na imagem para carregar um novo captcha",
"username_placeholder": "p. ex. lain",
"fullname_placeholder": "p. ex. Lain Iwakura",
"bio_placeholder": "e.g.\nOi, sou Lain\nSou uma garota que vive no subúrbio do Japão. Você deve me conhecer da Rede.",
"username_placeholder": "ex. lain",
"fullname_placeholder": "ex. Lain Iwakura",
"bio_placeholder": "ex.\nO, sou a Lain\nSou uma menina de anime que vive no Japão suburbano. Devem conhecer-me do \"the Wired\".",
"validations": {
"username_required": "não pode ser deixado em branco",
"fullname_required": "não pode ser deixado em branco",
"email_required": "não pode ser deixado em branco",
"password_required": "não pode ser deixado em branco",
"password_confirmation_required": "não pode ser deixado em branco",
"password_confirmation_match": "deve ser idêntica à senha"
"password_confirmation_match": "deve corresponder à palavra-passe"
}
},
"settings": {
"app_name": "Nome do aplicativo",
"app_name": "Nome da aplicação",
"attachmentRadius": "Anexos",
"attachments": "Anexos",
"avatar": "Avatar",
"avatarAltRadius": "Avatares (Notificações)",
"avatarRadius": "Avatares",
"background": "Pano de Fundo",
"background": "Imagem de Fundo",
"bio": "Biografia",
"blocks_tab": "Bloqueios",
"btnRadius": "Botões",
"cBlue": "Azul (Responder, seguir)",
"cGreen": "Verde (Repetir)",
"cGreen": "Verde (Partilhar)",
"cOrange": "Laranja (Favoritar)",
"cRed": "Vermelho (Cancelar)",
"change_password": "Mudar senha",
"change_password_error": "Houve um erro ao modificar sua senha.",
"changed_password": "Senha modificada com sucesso!",
"change_password": "Mudar palavra-passe",
"change_password_error": "Ocorreu um erro ao modificar a sua palavra-passe.",
"changed_password": "Palavra-passe modificada com sucesso!",
"collapse_subject": "Esconder posts com assunto",
"composing": "Escrita",
"confirm_new_password": "Confirmar nova senha",
"confirm_new_password": "Confirmar nova palavra-passe",
"current_avatar": "Seu avatar atual",
"current_password": "Sua senha atual",
"current_password": "Palavra-passe atual",
"current_profile_banner": "Sua capa de perfil atual",
"data_import_export_tab": "Importação/exportação de dados",
"default_vis": "Opção de privacidade padrão",
"delete_account": "Deletar conta",
"delete_account_description": "Deletar sua conta e mensagens permanentemente.",
"delete_account_error": "Houve um problema ao deletar sua conta. Se ele persistir, por favor entre em contato com o/a administrador/a da instância.",
"delete_account_instructions": "Digite sua senha no campo abaixo para confirmar a exclusão da conta.",
"delete_account": "Eliminar conta",
"delete_account_description": "Apagar os seus dados permanentemente e desativar a sua conta.",
"delete_account_error": "Ocorreu um erro ao remover a sua conta. Se este persistir, por favor entre em contato com o/a administrador/a da instância.",
"delete_account_instructions": "Escreva a sua palavra-passe no campo abaixo para confirmar a remoção da conta.",
"avatar_size_instruction": "O tamanho mínimo recomendado para imagens de avatar é 150x150 pixels.",
"export_theme": "Salvar predefinições",
"export_theme": "Guardar predefinições",
"filtering": "Filtragem",
"filtering_explanation": "Todas as postagens contendo estas palavras serão silenciadas; uma palavra por linha.",
"filtering_explanation": "Todas as publicações que contenham estas palavras serão silenciadas; uma palavra por linha",
"follow_export": "Exportar quem você segue",
"follow_export_button": "Exportar quem você segue para um arquivo CSV",
"follow_export_processing": "Processando. Em breve você receberá a solicitação de download do arquivo",
@@ -148,7 +202,7 @@
"foreground": "Primeiro Plano",
"general": "Geral",
"hide_attachments_in_convo": "Ocultar anexos em conversas",
"hide_attachments_in_tl": "Ocultar anexos na linha do tempo.",
"hide_attachments_in_tl": "Ocultar anexos na cronologia",
"max_thumbnails": "Número máximo de miniaturas por post",
"hide_isp": "Esconder painel específico da instância",
"preload_images": "Pré-carregar imagens",
@@ -159,7 +213,7 @@
"import_followers_from_a_csv_file": "Importe seguidores a partir de um arquivo CSV",
"import_theme": "Carregar pré-definição",
"inputRadius": "Campos de entrada",
"checkboxRadius": "Checkboxes",
"checkboxRadius": "Caixas de seleção",
"instance_default": "(padrão: {value})",
"instance_default_simple": "(padrão)",
"interface": "Interface",
@@ -171,16 +225,16 @@
"loop_video": "Repetir vídeos",
"loop_video_silent_only": "Repetir apenas vídeos sem som (como os \"gifs\" do Mastodon)",
"mutes_tab": "Silenciados",
"play_videos_in_modal": "Tocar vídeos diretamente no visualizador de mídia",
"play_videos_in_modal": "Reproduzir vídeos diretamente no visualizador de multimédia",
"use_contain_fit": "Não cortar o anexo na miniatura",
"name": "Nome",
"name_bio": "Nome & Biografia",
"new_password": "Nova senha",
"new_password": "Nova palavra-passe",
"notification_visibility": "Tipos de notificação para mostrar",
"notification_visibility_follows": "Seguidas",
"notification_visibility_likes": "Favoritos",
"notification_visibility_mentions": "Menções",
"notification_visibility_repeats": "Repetições",
"notification_visibility_repeats": "Partilhas",
"no_rich_text_description": "Remover formatação de todos os posts",
"no_blocks": "Sem bloqueios",
"no_mutes": "Sem silenciados",
@@ -188,7 +242,7 @@
"hide_followers_description": "Não mostrar quem me segue",
"show_admin_badge": "Mostrar título de Administrador em meu perfil",
"show_moderator_badge": "Mostrar título de Moderador em meu perfil",
"nsfw_clickthrough": "Habilitar clique para ocultar anexos sensíveis",
"nsfw_clickthrough": "Ativar clique em anexos e pré-visualizações de links para ocultar anexos NSFW",
"oauth_tokens": "Token OAuth",
"token": "Token",
"refresh_token": "Atualizar Token",
@@ -201,7 +255,7 @@
"profile_banner": "Capa de perfil",
"profile_tab": "Perfil",
"radii_help": "Arredondar arestas da interface (em pixel)",
"replies_in_timeline": "Respostas na linha do tempo",
"replies_in_timeline": "Respostas na cronologia",
"reply_visibility_all": "Mostrar todas as respostas",
"reply_visibility_following": "Só mostrar respostas direcionadas a mim ou a usuários que sigo",
"reply_visibility_self": "Só mostrar respostas direcionadas a mim",
@@ -215,7 +269,7 @@
"settings": "Configurações",
"subject_input_always_show": "Sempre mostrar campo de assunto",
"subject_line_behavior": "Copiar assunto ao responder",
"subject_line_email": "Como em email: \"re: assunto\"",
"subject_line_email": "Como num e-mail: \"re: assunto\"",
"subject_line_mastodon": "Como o Mastodon: copiar como está",
"subject_line_noop": "Não copiar",
"post_status_content_type": "Tipo de conteúdo do status",
@@ -225,7 +279,7 @@
"theme": "Tema",
"theme_help": "Use cores em código hexadecimal (#rrggbb) para personalizar seu esquema de cores.",
"theme_help_v2_1": "Você também pode sobrescrever as cores e opacidade de alguns componentes ao modificar o checkbox, use \"Limpar todos\" para limpar todas as modificações.",
"theme_help_v2_2": "Alguns ícones sob registros são indicadores de fundo/contraste de textos, passe por cima para informações detalhadas. Tenha ciência de que os indicadores de contraste não funcionam muito bem com transparência.",
"theme_help_v2_2": "Alguns ícones em registo são indicadores de fundo/contraste de textos, passe por cima para obter informações detalhadas. Tenha em atenção que os indicadores de contraste não funcionam muito bem com transparência.",
"tooltipRadius": "Dicas/alertas",
"upload_a_photo": "Enviar uma foto",
"user_settings": "Configurações de Usuário",
@@ -245,7 +299,24 @@
"save_load_hint": "Manter as opções preserva as opções atuais ao selecionar ou carregar temas; também salva as opções ao exportar um tempo. Quanto todos os campos estiverem desmarcados, tudo será salvo ao exportar o tema.",
"reset": "Restaurar o padrão",
"clear_all": "Limpar tudo",
"clear_opacity": "Limpar opacidade"
"clear_opacity": "Limpar opacidade",
"help": {
"upgraded_from_v2": "O PleromaFE foi atualizado, a aparência do tema poderá ser um pouco diferente.",
"snapshot_source_mismatch": "Conflito de versões: o mais provável é que o FE tenha revertido e voltado a atualizar, foi alterado o tema numa versão anterior do FE, o mais provável é desejar utilizar a versão anterior; caso contrário, utilize a nova versão.",
"migration_napshot_gone": "Por algum motivo, a pré-visualização estava em falta, algumas coisas poderão parecer diferentes do que se lembra.",
"migration_snapshot_ok": "Para estar seguro, foi carregada uma versão de pré-visualização do tema. Pode tentar carregar dados do tema.",
"fe_downgraded": "Versão do PleromaFE revertida.",
"fe_upgraded": "O criador de temas do PleromaFE foi atualizado depois da atualização da versão.",
"snapshot_missing": "Não existia nenhuma pré-visualização do tema no ficheiro, então pode parecer diferente do previsto originalmente.",
"snapshot_present": "Foi carregada uma pré-visualização do tema, todos os valores são substituídos. Caso contrário, pode carregar o tema completo.",
"older_version_imported": "O ficheiro que importaste foi criado numa versão antiga do FE.",
"future_version_imported": "O ficheiro que importaste foi criado para uma versão mais recente do FE.",
"v2_imported": "O ficheiro que importaste foi feito para uma versão antiga do FE. Tentamos maximizar a compatibilidade, porém, poderão existir incongruências."
},
"use_source": "Nova versão",
"use_snapshot": "Versão antiga",
"keep_as_is": "Manter como está",
"load_theme": "Carregar tema"
},
"common": {
"color": "Cor",
@@ -280,7 +351,27 @@
"borders": "Bordas",
"buttons": "Botões",
"inputs": "Caixas de entrada",
"faint_text": "Texto esmaecido"
"faint_text": "Texto esmaecido",
"chat": {
"border": "Borda",
"outgoing": "Enviadas",
"incoming": "Recebidas"
},
"tabs": "Abas",
"toggled": "Alternado",
"disabled": "Desativado",
"selectedMenu": "Elemento do menu seleccionado",
"selectedPost": "Publicação seleccionada",
"pressed": "Pressionado",
"highlight": "Elementos destacados",
"icons": "Ícones",
"poll": "Gráfico da sondagem",
"wallpaper": "Fundo de ecrã",
"underlay": "Sublinhado",
"popover": "Sugestões, menus, etiquetas",
"post": "Publicações/Bios",
"alert_neutral": "Neutro",
"alert_warning": "Precaução"
},
"radii": {
"_tab_label": "Arredondado"
@@ -298,7 +389,7 @@
"always_drop_shadow": "Atenção, esta sombra sempre utiliza {0} quando compatível com o navegador.",
"drop_shadow_syntax": "{0} não é compatível com o parâmetro {1} e a palavra-chave {2}.",
"avatar_inset": "Tenha em mente que combinar as sombras de inserção e a não-inserção em avatares pode causar resultados inesperados em avatares transparentes.",
"spread_zero": "Sombras com uma difusão > 0 aparecerão como se fossem definidas como 0.",
"spread_zero": "Sombras com difusão > 0 aparecerão como se fossem definidas como zero",
"inset_classic": "Sombras de inserção utilizarão {0}"
},
"components": {
@@ -313,7 +404,8 @@
"buttonPressed": "Botão (pressionado)",
"buttonPressedHover": "Botão (pressionado+em cima)",
"input": "Campo de entrada"
}
},
"hintV3": "Para as sombras, também pode usar a notação {0} para usar outro espaço de cor."
},
"fonts": {
"_tab_label": "Fontes",
@@ -336,30 +428,143 @@
"button": "Botão",
"text": "Vários {0} e {1}",
"mono": "conteúdo",
"input": "Acabei de chegar no Rio!",
"input": "Acabei de chegar a Lisboa.",
"faint_link": "manual útil",
"fine_print": "Leia nosso {0} para não aprender nada!",
"header_faint": "Está ok!",
"header_faint": "Isto está bem",
"checkbox": "Li os termos e condições",
"link": "um belo link"
}
}
},
"mfa": {
"scan": {
"secret_code": "Chave",
"title": "Scan",
"desc": "Utilizando a sua aplicação de dois fatores, faça scan deste código QR ou insira a chave de texto:"
},
"authentication_methods": "Métodos de autenticação",
"recovery_codes": "Códigos de recuperação.",
"generate_new_recovery_codes": "Gerar novos códigos de recuperação",
"confirm_and_enable": "Confirmar e ativar a palavra-passe de utilização única",
"otp": "Palavra-passe de utilização única",
"verify": {
"desc": "Para ativar a autenticação de dois fatores, introduza o código da sua aplicação de dois fatores:"
},
"recovery_codes_warning": "Anote os códigos ou armazene-os num lugar seguro - caso contrário, não os voltará a ver. Se perder acesso à sua aplicação de dois fatores e aos códigos de recuperação, a sua conta ficará bloqueada.",
"waiting_a_recovery_codes": "A receber códigos de recuperação…",
"warning_of_generate_new_codes": "Quando gera novos códigos de recuperação, os antigos deixam de funcionar.",
"title": "Autenticação de Dois Fatores",
"wait_pre_setup_otp": "pré-configuração de palavra-passe de utilização única",
"setup_otp": "Configurar palavra-passe de utilização única"
},
"security": "Segurança",
"mute_import_error": "Erro ao importar os silenciados",
"mute_import": "Importar silenciados",
"mute_export_button": "Exporta os silenciados para um ficheiro csv",
"mute_export": "Exportar silenciados",
"blocks_imported": "Lista de utilizadores bloqueados importada! O processo pode demorar alguns instantes.",
"block_import_error": "Erro ao importar a lista de utilizadores bloqueados",
"block_import": "Importar utilizadores bloqueados",
"block_export_button": "Exporta a tua lista de utilizadores bloqueados para um ficheiro csv",
"block_export": "Exportar utilizadores bloqueados",
"enter_current_password_to_confirm": "Introduza a sua palavra-passe atual para confirmar a sua identidade",
"mutes_and_blocks": "Silenciados e Bloqueados",
"chatMessageRadius": "Mensagem de texto",
"changed_email": "Endereço de e-mail modificado com sucesso!",
"change_email_error": "Ocorreu um erro ao modificar o seu endereço de e-mail.",
"change_email": "Mudar Endereço de E-mail",
"bot": "Esta uma conta robô",
"import_mutes_from_a_csv_file": "Importar silenciados de um ficheiro csv",
"mutes_imported": "Silenciados importados! Processá-los pode demorar alguns instantes.",
"allow_following_move": "Permitir seguimento automático quando a conta for migrada para outra instância",
"domain_mutes": "Domínios",
"discoverable": "Permitir a descoberta desta conta em resultados de busca e outros serviços",
"emoji_reactions_on_timeline": "Mostrar reações de emoji na timeline",
"hide_muted_posts": "Esconder posts de utilizadores silenciados",
"hide_follows_count_description": "Não mostrar o número de contas seguidas",
"hide_followers_count_description": "Não mostrar o número de seguidores",
"notification_visibility_emoji_reactions": "Reações",
"new_email": "Novo endereço de e-mail",
"profile_fields": {
"value": "Conteúdo",
"add_field": "Adicionar campo",
"label": "Metadados do perfil",
"name": "Etiqueta"
},
"import_blocks_from_a_csv_file": "Importar bloqueados a partir de um arquivo CSV",
"hide_wallpaper": "Esconder papel de parede da instância",
"notification_setting_privacy": "Privacidade",
"notification_setting_filters": "Filtros",
"fun": "Divertido",
"user_mutes": "Utilizadores",
"type_domains_to_mute": "Pesquisar domínios para silenciar",
"useStreamingApiWarning": "(não recomendado, experimental, pode omitir publicações)",
"useStreamingApi": "Receber publicações e notificações em tempo real",
"minimal_scopes_mode": "Minimizar as opções de publicação",
"search_user_to_mute": "Pesquisar utilizadores que pretende silenciar",
"search_user_to_block": "Pesquisa quais utilizadores desejas bloquear",
"notification_setting_hide_notification_contents": "Ocultar o remetente e o conteúdo das notificações push",
"version": {
"frontend_version": "Versão do Frontend",
"backend_version": "Versão do Backend",
"title": "Versão"
},
"notification_blocks": "Bloquear um utilizador previne todas as notificações, bem como as desativa.",
"notification_mutes": "Para deixar de receber notificações de um utilizador específico, silencia-o.",
"notification_setting_block_from_strangers": "Bloqueia as notificações de utilizadores que não segues",
"greentext": "Texto verde (meme arrows)",
"virtual_scrolling": "Otimizar a apresentação da cronologia",
"reset_background_confirm": "Tens a certeza que desejas redefinir o fundo?",
"reset_banner_confirm": "Tens a certeza que desejas redefinir a imagem do cabeçalho?",
"reset_avatar_confirm": "Tens a certeza que desejas redefinir o avatar?",
"reset_profile_banner": "Redefinir imagem do cabeçalho do perfil",
"reset_profile_background": "Redefinir fundo de perfil",
"reset_avatar": "Redefinir avatar",
"autohide_floating_post_button": "Automaticamente ocultar o botão 'Nova Publicação' (telemóvel)",
"notification_visibility_moves": "Utilizador Migrado",
"accent": "Destaque",
"pad_emoji": "Preencher espaços ao adicionar emojis do seletor"
},
"timeline": {
"collapse": "Esconder",
"conversation": "Conversa",
"error_fetching": "Erro ao buscar atualizações",
"load_older": "Carregar postagens antigas",
"no_retweet_hint": "Posts apenas para seguidores ou diretos não podem ser repetidos",
"repeated": "Repetido",
"no_retweet_hint": "Posts apenas para seguidores ou diretos não podem ser partilhados",
"repeated": "partilhado",
"show_new": "Mostrar novas",
"up_to_date": "Atualizado",
"no_more_statuses": "Sem mais posts",
"no_statuses": "Sem posts"
"no_statuses": "Sem posts",
"reload": "Recarregar",
"error": "Erro a obter a cronologia: {0}"
},
"status": {
"reply_to": "Responder a",
"replies_list": "Respostas:"
"replies_list": "Respostas:",
"unbookmark": "Remover post dos Items Guardados",
"expand": "Expandir",
"nsfw": "NSFW (Não apropriado para trabalho)",
"status_deleted": "Esta publicação foi apagada",
"hide_content": "Ocultar o conteúdo",
"show_content": "Mostrar o conteúdo",
"hide_full_subject": "Ocultar o assunto completo",
"show_full_subject": "Mostrar o assunto completo",
"thread_muted_and_words": ", contém:",
"thread_muted": "Conversação silenciada",
"external_source": "Fonte externa",
"copy_link": "Copiar o link do post",
"status_unavailable": "Publicação indisponível",
"unmute_conversation": "Mostrar a conversação",
"mute_conversation": "Silenciar a conversação",
"delete_confirm": "Tens a certeza que desejas apagar a publicação?",
"bookmark": "Guardar",
"pin": "Fixar no perfil",
"pinned": "Afixado",
"unpin": "Desafixar do perfil",
"delete": "Eliminar publicação",
"repeats": "Partilhados",
"favorites": "Favoritos"
},
"user_card": {
"approve": "Aprovar",
@@ -377,21 +582,48 @@
"following": "Seguindo!",
"follows_you": "Segue você!",
"its_you": "É você!",
"media": "Mídia",
"media": "Multimédia",
"mute": "Silenciar",
"muted": "Silenciado",
"per_day": "por dia",
"remote_follow": "Seguir remotamente",
"statuses": "Postagens",
"unblock": "Desbloquear",
"unblock_progress": "Desbloqueando...",
"block_progress": "Bloqueando...",
"unblock_progress": "A desbloquear…",
"block_progress": "A bloquear…",
"unmute": "Retirar silêncio",
"unmute_progress": "Retirando silêncio...",
"mute_progress": "Silenciando..."
"unmute_progress": "A retirar silêncio",
"mute_progress": "A silenciar…",
"admin_menu": {
"delete_user_confirmation": "Tens a certeza? Esta ação não pode ser revertida.",
"delete_user": "Eliminar utilizador",
"quarantine": "Não permitir publicações de utilizadores de instâncias remotas",
"disable_any_subscription": "Não permitir que nenhum utilizador te siga",
"disable_remote_subscription": "Não permitir seguidores de instâncias remotas",
"sandbox": "Forçar publicações apenas para seguidores",
"force_unlisted": "Forçar publicações como não listadas",
"strip_media": "Eliminar ficheiros multimédia das publicações",
"force_nsfw": "Marcar todas as publicações como NSFW (não apropriado para o trabalho)",
"delete_account": "Eliminar Conta",
"deactivate_account": "Desativar conta",
"activate_account": "Ativar conta",
"revoke_moderator": "Revogar permissões de Moderador",
"grant_moderator": "Conceder permissões de Moderador",
"revoke_admin": "Revogar permissões de Admin",
"grant_admin": "Conceder permissões de Admin",
"moderation": "Moderação"
},
"show_repeats": "Mostrar partilhas",
"hide_repeats": "Ocultar partilhas",
"unsubscribe": "Retirar subscrição",
"subscribe": "Subscrever",
"report": "Denunciar",
"message": "Mensagem",
"mention": "Mencionar",
"hidden": "Ocultar"
},
"user_profile": {
"timeline_title": "Linha do tempo do usuário",
"timeline_title": "Cronologia do Utilizador",
"profile_does_not_exist": "Desculpe, este perfil não existe.",
"profile_loading_error": "Desculpe, houve um erro ao carregar este perfil."
},
@@ -400,17 +632,22 @@
"who_to_follow": "Quem seguir"
},
"tool_tip": {
"media_upload": "Envio de mídia",
"repeat": "Repetir",
"media_upload": "Envio de multimédia",
"repeat": "Partilhar",
"reply": "Responder",
"favorite": "Favoritar",
"user_settings": "Configurações do usuário"
"user_settings": "Configurações do usuário",
"bookmark": "Guardar",
"reject_follow_request": "Rejeitar o pedido de seguimento",
"accept_follow_request": "Aceitar o pedido de seguimento",
"add_reaction": "Adicionar Reação"
},
"upload":{
"upload": {
"error": {
"base": "Falha no envio.",
"file_too_big": "Arquivo grande demais [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "Tente novamente mais tarde"
"default": "Tente novamente mais tarde",
"message": "Falha ao enviar: {0}"
},
"file_size_units": {
"B": "B",
@@ -419,5 +656,179 @@
"GiB": "GiB",
"TiB": "TiB"
}
},
"about": {
"mrf": {
"simple": {
"quarantine": "Quarentena",
"reject": "Rejeitar",
"accept": "Aceitar",
"media_removal_desc": "Este domínio remove multimédia das publicações dos seguintes domínios:",
"media_removal": "Remoção de multimédia",
"ftl_removal_desc": "Este domínio remove os seguintes domínios da cronologia \"Rede conhecida por todos\":",
"quarantine_desc": "Este domínio apenas irá publicar nos seguintes domínios:",
"reject_desc": "Este domínio não aceitará mensagens dos seguintes domínios:",
"accept_desc": "Este domínio aceita apenas mensagens dos seguintes domínios:",
"simple_policies": "Políticas especificas do domínio",
"media_nsfw": "Forçar definição de multimédia como Sensível",
"ftl_removal": "Remoção da cronologia da \"Rede conhecida por todos\"",
"media_nsfw_desc": "Este domínio força a multimédia a ser marcada como sensível nos seguintes domínios:"
},
"keyword": {
"replace": "Substituir",
"reject": "Rejeitar",
"is_replaced_by": "→",
"keyword_policies": "Política de Palavras-Chave",
"ftl_removal": "Remoção da cronologia da \"Rede conhecida por todos\""
},
"federation": "Federação",
"mrf_policies": "Ativar Políticas MRF",
"mrf_policies_desc": "Políticas MRF manipulam o comportamento da federação nos domínios. As seguintes políticas estão ativadas:"
},
"staff": "Staff"
},
"remote_user_resolver": {
"searching_for": "A pesquisar por",
"error": "Não encontrado.",
"remote_user_resolver": "Resolução de utilizador remoto"
},
"emoji": {
"unicode": "Emoji Unicode",
"custom": "Emoji customizado",
"add_emoji": "Inserir emoji",
"search_emoji": "Pesquisar por um emoji",
"emoji": "Emoji",
"load_all": "A carregar todos os {emojiAmount} emojis",
"load_all_hint": "Carregado o primeiro emoji {saneAmount}, carregar todos os emojis pode causar problemas de desempenho.",
"keep_open": "Manter o seletor aberto",
"stickers": "Autocolantes"
},
"polls": {
"single_choice": "Escolha única",
"vote": "Vota",
"votes": "votos",
"option": "Opção",
"add_option": "Adicionar Opção",
"not_enough_options": "Demasiado poucas opções únicas na sondagem",
"expired": "A sondagem terminou há {0}",
"expires_in": "A sondagem termina em {0}",
"expiry": "Tempo para finalizar sondagem",
"multiple_choices": "Escolha múltipla",
"type": "Tipo de sondagem",
"add_poll": "Adicionar Sondagem"
},
"importer": {
"error": "Ocorreu um erro ao importar este ficheiro.",
"success": "Importado com sucesso.",
"submit": "Enviar"
},
"exporter": {
"processing": "A processar, brevemente ser-te-á pedido que descarregues o ficheiro",
"export": "Exportar"
},
"domain_mute_card": {
"mute_progress": "A silenciar…",
"mute": "Silenciar",
"unmute": "Remover silêncio",
"unmute_progress": "A remover o silêncio…"
},
"selectable_list": {
"select_all": "Seleccionar tudo"
},
"interactions": {
"load_older": "Carregar interações mais antigas",
"follows": "Novos seguidores",
"favs_repeats": "Gostos e Partilhas",
"moves": "O utilizador migra"
},
"errors": {
"storage_unavailable": "O Pleroma não conseguiu aceder ao armazenamento do navegador. A sua sessão ou definições locais não serão armazenadas e poderá encontrar problemas inesperados. Tente ativar as cookies."
},
"shoutbox": {
"title": "Chat Geral"
},
"chats": {
"chats": "Chats",
"empty_chat_list_placeholder": "Não tens conversações ainda. Inicia uma nova conversa!",
"error_sending_message": "Ocorreu algo de errado ao enviar a mensagem.",
"error_loading_chat": "Ocorreu algo de errado ao carregar o chat.",
"delete_confirm": "Desejas realmente apagar esta mensagem?",
"more": "Mais",
"empty_message_error": "Não podes publicar uma mensagem vazia",
"new": "Nova conversação",
"delete": "Apagar",
"message_user": "Mensagem de {nickname}",
"you": "Tu:"
},
"search": {
"hashtags": "Hashtags",
"no_results": "Sem resultados",
"person_talking": "{count} pessoa a falar",
"people_talking": "{0} pessoas a falar",
"people": "Pessoas"
},
"display_date": {
"today": "Hoje"
},
"file_type": {
"file": "Ficheiro",
"image": "Imagem",
"video": "Vídeo",
"audio": "Áudio"
},
"password_reset": {
"password_reset_required_but_mailer_is_disabled": "Deves repor a tua palavra-passe, porém, a reposição de palavra-passe está desativada. Contacta o administrador da tua instância.",
"password_reset_required": "Deves repor a tua palavra-passe para iniciar sessão.",
"password_reset_disabled": "A reposição da palavra-passe foi desativada. Contacta o administrador da tua instância.",
"too_many_requests": "Alcançaste o limite de tentativas, tenta novamente mais tarde.",
"return_home": "Voltar à página principal",
"check_email": "Verifica o teu endereço de e-mail para obter um link para repor a tua palavra-passe.",
"placeholder": "O teu endereço de e-mail ou nome de utilizador",
"instruction": "Introduz o teu endereço de e-mail ou nome de utilizador. Enviaremos um link para repores a tua palavra-passe.",
"password_reset": "Repor palavra-passe",
"forgot_password": "Esqueceu-se da palavra-passe?"
},
"user_reporting": {
"generic_error": "Ocorreu um erro ao processar o teu pedido.",
"submit": "Enviar",
"forward_to": "Encaminhar para {0}",
"forward_description": "A conta é de outro servidor. Enviar também uma cópia da denúncia à outra instância?",
"additional_comments": "Comentários adicionais",
"add_comment_description": "Esta denúncia será enviada aos moderadores desta instância. Podes fornecer uma explicação pela qual te encontras a denunciar esta conta abaixo:",
"title": "Denunciar {0}"
},
"time": {
"years_short": "{0}a",
"year_short": "{0}a",
"years": "{0} anos",
"year": "{0} ano",
"weeks_short": "{0}sem",
"week_short": "{0}sem",
"weeks": "{0} semanas",
"week": "{0} semana",
"seconds_short": "{0}s",
"second_short": "{0}s",
"seconds": "{0} segundos",
"second": "{0} segundo",
"now": "agora mesmo",
"now_short": "agora",
"months_short": "{0}m",
"month_short": "{0}m",
"months": "{0} meses",
"month": "{0} mês",
"minutes_short": "{0}min",
"minute_short": "{0}min",
"minutes": "{0} minutos",
"minute": "{0} minuto",
"in_past": "há {0}",
"in_future": "em {0}",
"hours_short": "{0}h",
"hour_short": "{0}h",
"hours": "{0} horas",
"hour": "{0} hora",
"days_short": "{0}d",
"day_short": "{0}d",
"days": "{0} dias",
"day": "{0} dia"
}
}
+76 -17
View File
@@ -24,7 +24,11 @@
"retry": "Попробуйте еще раз",
"error_retry": "Пожалуйста попробуйте еще раз",
"close": "Закрыть",
"loading": "Загрузка…"
"loading": "Загрузка…",
"role": {
"moderator": "Модератор",
"admin": "Администратор"
}
},
"login": {
"login": "Войти",
@@ -40,7 +44,8 @@
"heading": {
"TotpForm": "Двухфакторная аутентификация",
"RecoveryForm": "Two-factor recovery",
"totp": "Двухфакторная аутентификация"
"totp": "Двухфакторная аутентификация",
"recovery": "Двухфакторное возвращение аккаунта"
},
"hint": "Войдите чтобы присоединиться к дискуссии",
"description": "Войти с помощью OAuth"
@@ -62,10 +67,11 @@
"who_to_follow": "Кого читать",
"dms": "Личные Сообщения",
"administration": "Панель администратора",
"about": "О сервере"
"about": "О сервере",
"user_search": "Поиск пользователей"
},
"notifications": {
"broken_favorite": "Неизвестный статус, ищем...",
"broken_favorite": "Неизвестный статус, ищем",
"favorited_you": "нравится ваш статус",
"followed_you": "начал(а) читать вас",
"load_older": "Загрузить старые уведомления",
@@ -150,7 +156,7 @@
"generate_new_recovery_codes": "Получить новые коды востановления",
"warning_of_generate_new_codes": "После получения новых кодов восстановления, старые больше не будут работать.",
"recovery_codes": "Коды восстановления.",
"waiting_a_recovery_codes": "Получение кодов восстановления ...",
"waiting_a_recovery_codes": "Получение кодов восстановления",
"recovery_codes_warning": "Запишите эти коды и держите в безопасном месте - иначе вы их больше не увидите. Если вы потеряете доступ к OTP приложению - без резервных кодов вы больше не сможете залогиниться.",
"authentication_methods": "Методы аутентификации",
"scan": {
@@ -181,14 +187,14 @@
"change_password": "Сменить пароль",
"change_password_error": "Произошла ошибка при попытке изменить пароль.",
"changed_password": "Пароль изменён успешно!",
"collapse_subject": "Сворачивать посты с темой",
"collapse_subject": "Сворачивать статусы с темой",
"confirm_new_password": "Подтверждение нового пароля",
"current_avatar": "Текущий аватар",
"current_password": "Текущий пароль",
"current_profile_banner": "Текущий баннер профиля",
"data_import_export_tab": "Импорт / Экспорт данных",
"delete_account": "Удалить аккаунт",
"delete_account_description": "Удалить ваш аккаунт и все ваши сообщения.",
"delete_account_description": "Удалить вашу учётную запись и все ваши сообщения.",
"delete_account_error": "Возникла ошибка в процессе удаления вашего аккаунта. Если это повторяется, свяжитесь с администратором вашего сервера.",
"delete_account_instructions": "Введите ваш пароль в поле ниже для подтверждения удаления.",
"export_theme": "Сохранить Тему",
@@ -236,7 +242,7 @@
"hide_followers_count_description": "Не показывать число моих подписчиков",
"show_admin_badge": "Показывать значок администратора в моем профиле",
"show_moderator_badge": "Показывать значок модератора в моем профиле",
"nsfw_clickthrough": "Включить скрытие NSFW вложений и не показывать изображения в предпросмотре ссылок для NSFW статусов",
"nsfw_clickthrough": "Включить скрытие вложений и предпросмотра ссылок для NSFW статусов",
"oauth_tokens": "OAuth токены",
"token": "Токен",
"refresh_token": "Рефреш токен",
@@ -289,7 +295,18 @@
"save_load_hint": "Опции \"оставить...\" позволяют сохранить текущие настройки при выборе другой темы или импорта её из файла. Так же они влияют на то какие компоненты будут сохранены при экспорте темы. Когда все галочки сняты все компоненты будут экспортированы.",
"reset": "Сбросить",
"clear_all": "Очистить всё",
"clear_opacity": "Очистить прозрачность"
"clear_opacity": "Очистить прозрачность",
"use_source": "Новая версия",
"use_snapshot": "Старая версия",
"keep_as_is": "Оставить, как есть",
"load_theme": "Загрузить тему",
"help": {
"fe_upgraded": "Движок тем для фронт-энда Pleroma был изменен после обновления.",
"older_version_imported": "Файл, который вы импортировали, был сделан в старой версии фронт-энда.",
"future_version_imported": "Файл, который вы импортировали, был сделан в новой версии фронт-энда.",
"v2_imported": "Файл, который вы импортировали, был сделан под старый фронт-энд. Мы стараемся улучшить совместимость, но все еще возможны несостыковки.",
"upgraded_from_v2": "Фронт-энд Pleroma был изменен. Выбранная тема может выглядеть слегка по-другому."
}
},
"common": {
"color": "Цвет",
@@ -324,7 +341,9 @@
"borders": "Границы",
"buttons": "Кнопки",
"inputs": "Поля ввода",
"faint_text": "Маловажный текст"
"faint_text": "Маловажный текст",
"post": "Сообщения и описание пользователя",
"alert_neutral": "Нейтральный"
},
"radii": {
"_tab_label": "Скругление"
@@ -442,7 +461,22 @@
"notification_setting_block_from_strangers": "Не показывать уведомления от пользователей которых вы не читаете",
"notification_setting_filters": "Фильтрация",
"notifications": "Уведомления",
"virtual_scrolling": "Оптимизировать рендеринг ленты"
"virtual_scrolling": "Оптимизировать рендеринг ленты",
"hide_wallpaper": "Скрыть обои узла",
"accent": "Акцент",
"upload_a_photo": "Загрузить фото",
"notification_mutes": "Чтобы не получать уведомления от определённого пользователя, заглушите его.",
"reset_avatar_confirm": "Вы действительно хотите сбросить личный образ?",
"reset_profile_banner": "Сбросить личный баннер",
"reset_profile_background": "Сбросить личные обои",
"reset_avatar": "Сбросить личный образ",
"search_user_to_mute": "Искать, кого вы хотите заглушить",
"search_user_to_block": "Искать, кого вы хотите заблокировать",
"pad_emoji": "Выделять эмодзи пробелами при добавлении из панели",
"avatar_size_instruction": "Желательный наименьший размер личного образа 150 на 150 пикселей.",
"enable_web_push_notifications": "Включить web push-уведомления",
"notification_blocks": "Блокировка пользователя выключает все уведомления от него, а также отписывает вас от него.",
"notification_setting_hide_notification_contents": "Скрыть отправителя и содержимое push-уведомлений"
},
"timeline": {
"collapse": "Свернуть",
@@ -452,15 +486,23 @@
"no_retweet_hint": "Пост помечен как \"только для подписчиков\" или \"личное\" и поэтому не может быть повторён",
"repeated": "повторил(а)",
"show_new": "Показать новые",
"up_to_date": "Обновлено"
"up_to_date": "Обновлено",
"error": "Ошибка при обновлении ленты: {0}"
},
"status": {
"bookmark": "В закладки",
"bookmark": "Добавить в закладки",
"unbookmark": "Удалить из закладок",
"status_deleted": "Пост удален",
"reply_to": "Ответ",
"repeats": "Повторы",
"favorites": "Понравилось"
"favorites": "Понравилось",
"unmute_conversation": "Прекратить игнорировать разговор",
"mute_conversation": "Игнорировать разговор",
"thread_muted": "Разговор игнорируется",
"external_source": "Перейти к источнику",
"delete_confirm": "Вы действительно хотите удалить данный статус?",
"delete": "Удалить",
"copy_link": "Скопировать ссылку"
},
"user_card": {
"block": "Заблокировать",
@@ -473,7 +515,7 @@
"follow_unfollow": "Перестать читать",
"followees": "Читаемые",
"followers": "Читатели",
"following": "Читаю!",
"following": "Читаете!",
"follows_you": "Читает вас!",
"mute": "Игнорировать",
"muted": "Игнорирую",
@@ -502,7 +544,8 @@
"media": "С вложениями",
"mention": "Упомянуть",
"show_repeats": "Показывать повторы",
"hide_repeats": "Скрыть повторы"
"hide_repeats": "Скрыть повторы",
"report": "Пожаловаться"
},
"user_profile": {
"timeline_title": "Лента пользователя"
@@ -571,7 +614,9 @@
"title": "Особенности",
"gopher": "Gopher",
"who_to_follow": "Предложения кого читать",
"pleroma_chat_messages": "Pleroma Чат"
"pleroma_chat_messages": "Pleroma Чат",
"upload_limit": "Наибольший размер загружаемого файла",
"scope_options": "Настраиваемая видимость статусов"
},
"tool_tip": {
"accept_follow_request": "Принять запрос на чтение",
@@ -648,5 +693,19 @@
"hour": "{0} час",
"day_short": "{0}д",
"days": "{0} дней"
},
"chats": {
"empty_chat_list_placeholder": "У вас пока нет бесед. Начните одну!",
"delete_confirm": "Вы точно хотите удалить сообщение?",
"empty_message_error": "Нельзя отправить пустое сообщение",
"new": "Новая беседа",
"chats": "Беседы",
"delete": "Удалить",
"message_user": "Напишите {nickname}",
"you": "Вы:"
},
"remote_user_resolver": {
"error": "Не найдено.",
"searching_for": "Ищем"
}
}
+87 -41
View File
@@ -17,7 +17,11 @@
"more": "Більше",
"submit": "Відправити",
"apply": "Застосувати",
"peek": "Глянути"
"peek": "Глянути",
"role": {
"moderator": "Модератор",
"admin": "Адміністратор"
}
},
"finder": {
"error_fetching_user": "Користувача не знайдено",
@@ -25,22 +29,23 @@
},
"features_panel": {
"gopher": "Gopher",
"pleroma_chat_messages": "Чат Pleroma",
"chat": "Чат",
"pleroma_chat_messages": "Чати",
"chat": "Міні-чат",
"who_to_follow": "Кого відстежувати",
"title": "Особливості",
"scope_options": "Параметри осягу",
"scope_options": "Параметри обсягу",
"media_proxy": "Посередник медіа-даних",
"text_limit": "Ліміт символів"
"text_limit": "Ліміт символів",
"upload_limit": "Обмеження завантажень"
},
"exporter": {
"processing": "Опрацьовую, скоро ви зможете завантажити файл",
"export": "Експорт"
},
"domain_mute_card": {
"unmute_progress": "Вимикаю…",
"unmute": "Вимкнути ігнорування",
"mute_progress": "Вмикаю…",
"unmute_progress": "Вмикаю…",
"unmute": "Вимкнути заглушення",
"mute_progress": "Вимикаю…",
"mute": "Ігнорувати"
},
"shoutbox": {
@@ -50,13 +55,13 @@
"staff": "Адміністрація",
"mrf": {
"simple": {
"media_nsfw_desc": "Даний інстанс примусово позначає медіа в наступних інстансах як NSFW:",
"media_nsfw_desc": "Даний інстанс примусово позначає медіа в наступних інстансах як дратівливий:",
"media_nsfw": "Примусове визначення медіа як дратівливого",
"media_removal_desc": "Поточний інстанс видаляє медіа з дописів на перелічених інстансах:",
"media_removal": "Видалення медіа",
"ftl_removal_desc": "Цей інстанс видаляє перелічені інстанси з \"Усієї відомої мережі\":",
"ftl_removal": "Видалення з \"Усієї відомої мережі\"",
"quarantine_desc": "Поточний інстанс буде надсилати тільки публічні дописи наступним інстансам:",
"ftl_removal_desc": "Цей інстанс видаляє перелічені інстанси з Федеративної стрічки:",
"ftl_removal": "Видалення зі стрічки Федеративної мережі",
"quarantine_desc": "Поточний інстанс надсилатиме тільки публічні дописи наступним інстансам:",
"quarantine": "Карантин",
"reject_desc": "Поточний інстанс не прийматиме повідомлення з перелічених інстансів:",
"accept": "Прийняти",
@@ -65,7 +70,7 @@
"simple_policies": "Правила поточного інстансу"
},
"mrf_policies_desc": "Правила MRF розповсюджуються на даний інстанс. Наступні правила активні:",
"mrf_policies": "Активні правила MRF (модуль переписування повідомлень)",
"mrf_policies": "Активувати правила MRF (модуль переписування повідомлень)",
"keyword": {
"is_replaced_by": "→",
"replace": "Замінити",
@@ -134,7 +139,7 @@
"error": "Помилка при оновленні сповіщень: {0}"
},
"nav": {
"chats": "Локальні балачки",
"chats": "Чати",
"timelines": "Стрічки",
"twkn": "Уся відома мережа",
"about": "Інформація",
@@ -193,7 +198,7 @@
"interactions": {
"load_older": "Завантажити давніші взаємодії",
"follows": "Нові підписки",
"favs_repeats": "Повтори та вподобайки",
"favs_repeats": "Поширення та вподобайки",
"moves": "Міграції користувачів"
},
"errors": {
@@ -215,11 +220,11 @@
"text/bbcode": "BBCode",
"text/markdown": "Markdown",
"text/html": "HTML",
"text/plain": "Простий текст"
"text/plain": "Текстові дані"
},
"attachments_sensitive": "Позначити вкладення як чутливі",
"account_not_locked_warning_link": "замкнена",
"account_not_locked_warning": "Ваша обліковка не {0}. Будь-хто може відстежувати вас для перегляду дописів тільки для відстежувачів.",
"account_not_locked_warning": "Ваша обліковка не {0}. Будь-хто може відстежувати вас для перегляду дописів тільки для підписників.",
"new_status": "Створити допис",
"direct_warning_to_first_only": "Цей допис побачать лише користувачі, що були згадані на початку повідомлення.",
"direct_warning_to_all": "Цей допис побачать всі згадані користувачі.",
@@ -230,7 +235,7 @@
"empty_status_error": "Не можу опублікувати пустий статус без вкладень",
"scope": {
"unlisted": "Непублічний - цей допис буде відсутній у публічних стрічках",
"public": іблічний - цей допис побачать усі",
"public": ублічний - цей допис побачать усі",
"private": "Для читачів - цей допис побачать лише ваші читачі",
"direct": "Приватний - цей допис побачать лише згадані користувачі"
},
@@ -338,7 +343,7 @@
"security": "Безпека",
"domain_mutes": "Домени",
"discoverable": "Дозволити виявлення цього облікового запису в результатах пошуку та інших службах",
"mutes_and_blocks": "Заглушені та блоковані",
"mutes_and_blocks": "Заглушення та блокування",
"changed_email": "Email успішно змінено!",
"change_email_error": "Сталася помилка під час зміни email.",
"change_email": "Змінити email",
@@ -384,7 +389,7 @@
"user_mutes": "Користувачі",
"no_mutes": "Заглушені відсутні",
"emoji_reactions_on_timeline": "Показувати реакції емоджі на стрічці",
"pad_emoji": "Додавати простір з обидвох сторін емоджі, при додаванні з панелі",
"pad_emoji": "Автоматично додавати простір з обидвох сторін емоджі",
"allow_following_move": "Дозволити автостеження при переміщенні на інший інстанс",
"set_new_profile_background": "Встановити нову обкладинку профілю",
"radii_help": "Радіус заокруглення кутів інтерфейсу (в пікселях)",
@@ -439,7 +444,7 @@
},
"keep_as_is": "Залишити як є",
"clear_opacity": "Очистити прозорість",
"save_load_hint": "Параметри \"Зберегти\" зберігають встановлені на даний момент параметри під час вибору або завантаження тем, вони також зберігають зазначені параметри під час експорту теми. Коли всі прапорці знято, експортування теми збереже все."
"save_load_hint": "Параметри \"Зберегти\" зберігають поточні параметри під час вибору або завантаження тем, вони також зберігають зазначені параметри під час експорту теми. Коли всі прапорці знято, експортування теми збереже все."
},
"common": {
"color": "Колір",
@@ -479,10 +484,11 @@
"panelHeader": "Заголовок панелі",
"avatarStatus": "Аватар користувача (в стрічці)",
"avatar": "Аватар користувача (профіль)",
"buttonPressedHover": "Кнопка (натиснута + наведенний курсор)",
"buttonPressedHover": "Кнопка (натиснута + наведений курсор)",
"buttonPressed": "Кнопка (натиснута)",
"buttonHover": "Кнопка (при наведенні)",
"popup": "Спливаючі вікна та підказки"
"popup": "Спливаючі вікна та підказки",
"topBar": "Верхня панель"
},
"component": "Компонент",
"filter_hint": {
@@ -497,7 +503,8 @@
"shadow_id": "Тінь №{value}",
"override": "Перевизначити",
"_tab_label": "Тінь і підсвічування",
"hintV3": "Для тіней ви також можете використовувати позначення {0} для використання іншого кольорового слота."
"hintV3": "Для тіней ви також можете використовувати позначення {0} для використання іншого кольорового слота.",
"spread": "Розмах"
},
"fonts": {
"components": {
@@ -543,7 +550,8 @@
"disabled": "Вимкнено",
"selectedMenu": "Вибраний пункт меню",
"tabs": "Вкладки",
"pressed": "Натиснуто"
"pressed": "Натиснуто",
"wallpaper": "Шпалери"
},
"common_colors": {
"rgbo": "Піктограми, акценти, значки",
@@ -552,7 +560,7 @@
"_tab_label": "Загальні"
},
"radii": {
"_tab_label": "Округлість"
"_tab_label": "Скруглення"
}
},
"enable_web_push_notifications": "Увімкнути web push-сповіщення",
@@ -564,7 +572,7 @@
"reset_profile_background": "Скинути обкладинку профілю",
"reset_avatar_confirm": "Ви дійсно хочете скинути аватар?",
"reset_profile_banner": "Скинули банер профілю",
"hide_follows_count_description": "Не показувати на кого я підписаний",
"hide_follows_count_description": "Не показувати кількість підписників",
"reset_banner_confirm": "Ви дійсно хочете скинути банер?",
"reset_background_confirm": "Ви дійсно хочете скинути обкладинку?",
"subject_line_behavior": "Вигляд теми при відповіді",
@@ -575,14 +583,14 @@
"search_user_to_block": "Шукайте кого ви хочете заблокувати",
"autohide_floating_post_button": "Автоматично ховати кнопку \"Новий допис\" (в мобільній версії)",
"pause_on_unfocused": "Призупинити трансляцію, коли вкладка неактивна",
"hide_followers_count_description": "Не показувати кількість читачів",
"hide_followers_count_description": "Не показувати кількість моїх підписників",
"notification_blocks": "Блокування користувача зупиняє всі сповіщення від нього, а також скасовує його відстеження.",
"notification_setting_hide_notification_contents": "Ховати відправника та вміст push-сповіщень",
"notification_setting_block_from_strangers": "Блокувати сповіщення від користувачів за якими ви не слідкуєте",
"type_domains_to_mute": "Пошук доменів для заглушення",
"nsfw_clickthrough": "Увімкнути приховування NSFW медіа",
"greentext": "Мемний текст",
"virtual_scrolling": "Оптимізувати оновлення стрчки",
"virtual_scrolling": "Оптимізувати оновлення стрічки",
"theme_help_v2_2": "Піктограми під деякими записами є показниками контрасту між фоном та текстом. Коли ви наведете на них курсор, ви отримаєте детальну інформацію. Пам'ятайте, якщо ви використовуєте прозорість, індикатори показують найгірший варіант.",
"theme_help_v2_1": "Ви також можете замінити кольори та видимість окремих компонентів, перемикаючи прапорці, використовуйте \"Очистити все\", щоб видалити всі заміни.",
"theme_help": "Використовувати шістнадцяткові коди кольору (#rrggbb) щоб редагувати тему.",
@@ -599,7 +607,8 @@
"frontend_version": "Версія фронтенду",
"backend_version": "Версія бекенду",
"title": "Версія"
}
},
"hide_wallpaper": "Сховати шпалери екземпляру"
},
"selectable_list": {
"select_all": "Вибрати все"
@@ -611,7 +620,7 @@
},
"registration": {
"validations": {
"password_confirmation_match": "пароль та підтвердження паролю мають співпадати",
"password_confirmation_match": "пароль та підтвердження паролю мають бути однаковими",
"password_confirmation_required": "не може бути порожнім",
"password_required": "не може бути порожнім",
"email_required": "не може бути порожнім",
@@ -642,13 +651,15 @@
"favorite": "Подобається",
"reject_follow_request": "Відхилити запит на підписку",
"accept_follow_request": "Прийняти запит на підписку",
"media_upload": "Завантажити медіа"
"media_upload": "Завантажити медіа",
"bookmark": "Додати до закладок"
},
"upload": {
"error": {
"base": "Збій при завантаженні.",
"file_too_big": "Файл завеликий [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "Спробуйте ще раз пізніше"
"default": "Спробуйте ще раз пізніше",
"message": "Помилка завантаження: {0}"
},
"file_size_units": {
"TiB": "ТіБ",
@@ -665,7 +676,7 @@
"year_short": "{0}р",
"years": "{0} роки",
"year": "{0} рік",
"weeks": "{0} тижднів",
"weeks": "{0} тижнів",
"week": "{0} тиждень",
"second_short": "{0}с",
"second": "{0} секунда",
@@ -695,7 +706,9 @@
"search": {
"no_results": "Немає результатів",
"hashtags": "Хештеги",
"people": "Люди"
"people": "Люди",
"people_talking": "{count} людей говорять про це",
"person_talking": "{count} особа говорить про це"
},
"user_card": {
"statuses": "Дописи",
@@ -708,12 +721,21 @@
"admin_menu": {
"activate_account": "Активувати обліковий запис",
"deactivate_account": "Деактивувати обліковий запис",
"delete_account": "Видалити аккаунт",
"delete_account": "Видалити обліковий запис",
"moderation": "Модерація",
"delete_user_confirmation": "Ви абсолютно впевнені? Цю дію неможливо буде скасовувати.",
"delete_user": "Видалити обліковий запис",
"strip_media": "Вилучити медіа з дописів користувача",
"force_nsfw": "Позначити всі дописи як NSFW"
"force_nsfw": "Позначити всі дописи як NSFW",
"disable_any_subscription": "Взагалі заборонити підписку на користувача",
"disable_remote_subscription": "Заборонити підписуватись на користувачів з віддалених інстансів",
"sandbox": "Показувати дописи лише підписникам",
"force_unlisted": "Не показувати дописи в стрічці",
"revoke_moderator": "Позбавити прав модератора",
"grant_moderator": "Надати права модератора",
"revoke_admin": "Позбавити прав адміністратора",
"grant_admin": "Надати права адміністратора",
"quarantine": "Не розповсюджувати дописи на інших інстансах"
},
"deny": "Відмовити",
"block": "Заблокувати",
@@ -724,7 +746,25 @@
"report": "Поскаржитись",
"per_day": "на день",
"favorites": "Вподобання",
"media": "Медіа"
"media": "Медіа",
"show_repeats": "Показати поширення",
"hide_repeats": "Приховати поширення",
"its_you": "Це ти!",
"follows_you": "Підписаний на вас!",
"followers": "Підписники",
"followees": "Підписаний(-а)",
"follow_progress": "Запитую…",
"mute_progress": "Глушимо…",
"unmute_progress": "Знімаємо глушення…",
"unmute": "Зняти глушення",
"hidden": "Приховано",
"following": "Підписаний!",
"block_progress": "Блокуємо…",
"unblock_progress": "Розблоковуємо…",
"unblock": "Розблокувати",
"remote_follow": "Підписатись",
"muted": "Заглушений",
"mute": "Заглушити"
},
"status": {
"copy_link": "Скопіювати посилання на допис",
@@ -746,7 +786,12 @@
"bookmark": "Додати до закладок",
"pinned": "Закріплено",
"unpin": "Відкріпити від профілю",
"repeats": "Повтори"
"repeats": "Поширення",
"nsfw": "Дратівливий вміст",
"thread_muted": "Нитка заглушена",
"unmute_conversation": "Припинити глушити розмову",
"external_source": "Зовнішнє джерело",
"expand": "Розгорнути"
},
"timeline": {
"no_more_statuses": "Більше немає дописів",
@@ -759,7 +804,7 @@
"conversation": "Розмова",
"no_statuses": "Ніяких статусів",
"repeated": "поширив(-ла)",
"no_retweet_hint": "Запис, позначено як \"тільки для відстежувачів\" або \"особисте\" і тому не може бути повторений"
"no_retweet_hint": "Запис, позначено як \"тільки для підписників\" або \"особисте\" і тому не може бути поширений"
},
"user_reporting": {
"submit": "Відправити",
@@ -772,6 +817,7 @@
},
"user_profile": {
"profile_loading_error": "Вибачте, під час завантаження цього профілю виникла помилка.",
"profile_does_not_exist": "Вибачте, цей профіль більше не існує."
"profile_does_not_exist": "Вибачте, цей профіль більше не існує.",
"timeline_title": "Стрічка користувача"
}
}
+79 -59
View File
@@ -14,7 +14,8 @@
"text_limit": "文字数量限制",
"title": "功能",
"who_to_follow": "推荐关注",
"pleroma_chat_messages": "Pleroma 聊天"
"pleroma_chat_messages": "Pleroma 聊天",
"upload_limit": "上传限制"
},
"finder": {
"error_fetching_user": "获取用户时发生错误",
@@ -22,7 +23,7 @@
},
"general": {
"apply": "应用",
"submit": "发送",
"submit": "提交",
"more": "更多",
"generic_error": "发生了一个错误",
"optional": "可选",
@@ -34,11 +35,15 @@
"confirm": "确认",
"verify": "验证",
"dismiss": "忽略",
"peek": "窥探",
"peek": "预览",
"close": "关闭",
"retry": "重试",
"error_retry": "请重试",
"loading": "载入中…"
"loading": "载入中…",
"role": {
"moderator": "监察员",
"admin": "管理员"
}
},
"image_cropper": {
"crop_picture": "裁剪图片",
@@ -104,7 +109,8 @@
"no_more_notifications": "没有更多的通知",
"reacted_with": "作出了 {0} 的反应",
"migrated_to": "迁移到了",
"follow_request": "想要关注你"
"follow_request": "想要关注你",
"error": "取得通知时发生错误:{0}"
},
"polls": {
"add_poll": "增加投票",
@@ -118,13 +124,15 @@
"expiry": "投票期限",
"expires_in": "投票于 {0} 后结束",
"expired": "投票 {0} 前已结束",
"not_enough_options": "投票的选项太少"
"not_enough_options": "投票的选项太少",
"votes_count": "{count} 票 | {count} 票",
"people_voted_count": "{count} 人已投票 | {count} 人已投票"
},
"stickers": {
"add_sticker": "添加贴纸"
},
"interactions": {
"favs_repeats": "转发和收藏",
"favs_repeats": "转发和喜欢",
"follows": "新的关注者",
"load_older": "加载更早的互动",
"moves": "用户迁移"
@@ -141,10 +149,10 @@
"text/bbcode": "BBCode"
},
"content_warning": "主题(可选)",
"default": "刚刚抵达洛杉矶",
"default": "刚刚抵达上海。",
"direct_warning_to_all": "本条内容只有被提及的用户能够看到。",
"direct_warning_to_first_only": "本条内容只有被在消息开始处提及的用户能够看到。",
"posting": "发送",
"posting": "发送",
"scope_notice": {
"public": "本条内容可以被所有人看到",
"private": "关注你的人才能看到本条内容",
@@ -181,7 +189,9 @@
"password_required": "不能留空",
"password_confirmation_required": "不能留空",
"password_confirmation_match": "密码不一致"
}
},
"reason_placeholder": "此实例的注册需要手动批准。\n请让管理员知道您为什么想要注册。",
"reason": "注册理由"
},
"selectable_list": {
"select_all": "选择全部"
@@ -227,13 +237,13 @@
"btnRadius": "按钮",
"cBlue": "蓝色(回复,关注)",
"cGreen": "绿色(转发)",
"cOrange": "橙色(收藏",
"cOrange": "橙色(喜欢",
"cRed": "红色(取消)",
"change_password": "修改密码",
"change_password_error": "修改密码的时候出了点问题。",
"changed_password": "成功修改了密码!",
"collapse_subject": "折叠带主题的内容",
"composing": "正在书写",
"composing": "写",
"confirm_new_password": "确认新密码",
"current_avatar": "当前头像",
"current_password": "当前密码",
@@ -244,7 +254,7 @@
"delete_account_description": "永久删除你的帐号和所有数据。",
"delete_account_error": "删除账户时发生错误,如果一直删除不了,请联系实例管理员。",
"delete_account_instructions": "在下面输入您的密码来确认删除账户。",
"avatar_size_instruction": "推荐的头像图片最小尺寸 150x150 像素。",
"avatar_size_instruction": "推荐的头像图片最小尺寸 150x150 像素。",
"export_theme": "导出预置主题",
"filtering": "过滤器",
"filtering_explanation": "所有包含以下词汇的内容都会被隐藏,一行一个",
@@ -258,11 +268,11 @@
"hide_attachments_in_convo": "在对话中隐藏附件",
"hide_attachments_in_tl": "在时间线上隐藏附件",
"hide_muted_posts": "不显示被隐藏的用户的帖子",
"max_thumbnails": "最多再每个帖子能显示的缩略图数量",
"max_thumbnails": "每个帖子最多能显示的缩略图数量",
"hide_isp": "隐藏实例独有的面板",
"preload_images": "预载图片",
"use_one_click_nsfw": "点击一次以打开工作场所不适宜的附件",
"hide_post_stats": "隐藏推文相关的统计数据(例如:收藏的次数)",
"use_one_click_nsfw": "点击一次以打开工作场所不适宜NSFW的附件",
"hide_post_stats": "隐藏帖子的统计数据(例如:喜欢的次数)",
"hide_user_stats": "隐藏用户的统计数据(例如:关注者的数量)",
"hide_filtered_statuses": "隐藏过滤的状态",
"import_blocks_from_a_csv_file": "从 csv 文件中导入拉黑名单",
@@ -296,9 +306,9 @@
"no_mutes": "没有隐藏",
"hide_follows_description": "不要显示我所关注的人",
"hide_followers_description": "不要显示关注我的人",
"show_admin_badge": "显示管理徽章",
"show_moderator_badge": "在我的个人资料中显示监察员标志",
"nsfw_clickthrough": "将不和谐附件隐藏,点击才能打开",
"show_admin_badge": "在我的个人资料中显示管理徽章",
"show_moderator_badge": "在我的个人资料中显示监察员徽章",
"nsfw_clickthrough": "将不和谐附件和链接预览隐藏,点击才会显示",
"oauth_tokens": "OAuth令牌",
"token": "令牌",
"refresh_token": "刷新令牌",
@@ -307,7 +317,7 @@
"panelRadius": "面板",
"pause_on_unfocused": "在离开页面时暂停时间线推送",
"presets": "预置",
"profile_background": "个人资料背景图",
"profile_background": "个人背景图",
"profile_banner": "横幅图片",
"profile_tab": "个人资料",
"radii_help": "设置界面边缘的圆角 (单位:像素)",
@@ -321,7 +331,7 @@
"search_user_to_block": "搜索你想屏蔽的用户",
"search_user_to_mute": "搜索你想要隐藏的用户",
"security_tab": "安全",
"scope_copy": "回复时复制范围(私信是总是复制",
"scope_copy": "回复时复制可见范围(私信中永远会复制)",
"minimal_scopes_mode": "使发文可见范围的选项最少化",
"set_new_avatar": "设置新头像",
"set_new_profile_background": "设置新的个人资料背景",
@@ -329,12 +339,12 @@
"settings": "设置",
"subject_input_always_show": "总是显示主题框",
"subject_line_behavior": "回复时复制主题",
"subject_line_email": "比如电邮 \"re: 主题\"",
"subject_line_mastodon": "比如 mastodon: copy as is",
"subject_line_email": "类似电子邮件 \"re: 主题\"",
"subject_line_mastodon": "类似 mastodon: 与原主题相同",
"subject_line_noop": "不要复制",
"post_status_content_type": "发文状态内容类型",
"stop_gifs": "鼠标悬停时播放GIF",
"streaming": "开启滚动到顶部时自动推送",
"streaming": "滚动到顶部时自动推送新内容",
"text": "文本",
"theme": "主题",
"theme_help": "使用十六进制代码(#rrggbb)来设置主题颜色。",
@@ -400,7 +410,7 @@
"_tab_label": "常规",
"main": "常用颜色",
"foreground_hint": "点击”高级“ 标签进行细致的控制",
"rgbo": "图标,口音,徽章"
"rgbo": "图标,强调,徽章"
},
"advanced_colors": {
"_tab_label": "高级",
@@ -420,7 +430,7 @@
"incoming": "收到的"
},
"disabled": "禁用的",
"pressed": "下的",
"pressed": "下的",
"highlight": "强调元素",
"selectedMenu": "选中的菜单项",
"selectedPost": "选中的发布内容",
@@ -432,7 +442,8 @@
"alert_warning": "警告",
"tabs": "标签页",
"underlay": "底衬",
"toggled": "勾选的"
"toggled": "按下的",
"wallpaper": "壁纸"
},
"radii": {
"_tab_label": "圆角"
@@ -444,14 +455,14 @@
"shadow_id": "阴影 #{value}",
"blur": "模糊",
"spread": "扩散",
"inset": "插入内部",
"inset": "内阴影",
"hint": "对于阴影你还可以使用 --variable 作为颜色值来使用 CSS3 变量。请注意,这种情况下,透明设置将不起作用。",
"filter_hint": {
"always_drop_shadow": "警告,此阴影设置会总是使用 {0} ,如果浏览器支持的话。",
"drop_shadow_syntax": "{0} 不支持参数 {1} 和关键词 {2} 。",
"avatar_inset": "请注意组合两个内部和非内部的阴影到头像上,在透明头像上可能会有意料之外的效果。",
"spread_zero": "阴影的扩散 > 0 会同设置成零一样",
"inset_classic": "插入内部的阴影会使用 {0}"
"inset_classic": "阴影会使用 {0}"
},
"components": {
"panel": "面板",
@@ -459,13 +470,14 @@
"topBar": "顶栏",
"avatar": "用户头像(在个人资料栏)",
"avatarStatus": "用户头像(在帖子显示栏)",
"popup": "弹窗工具提示",
"popup": "弹窗工具提示",
"button": "按钮",
"buttonHover": "按钮(悬停)",
"buttonPressed": "按钮(下)",
"buttonPressedHover": "按钮(下和悬停)",
"buttonPressed": "按钮(下)",
"buttonPressedHover": "按钮(下和悬停)",
"input": "输入框"
}
},
"hintV3": "对于阴影,您还可以使用 {0} 表示法来使用其它颜色插槽。"
},
"fonts": {
"_tab_label": "字体",
@@ -478,22 +490,22 @@
},
"family": "字体名称",
"size": "大小 (in px)",
"weight": "字重 (粗体))",
"weight": "字重 (粗体)",
"custom": "自选"
},
"preview": {
"header": "预览",
"content": "内容",
"error": "例子错误",
"error": "错误示例",
"button": "按钮",
"text": "有堆 {0} 和 {1}",
"mono": "内容",
"input": "刚刚抵达上海",
"faint_link": "帮助菜单",
"mono": "monospace 内容",
"input": "刚刚抵达上海",
"faint_link": "帮助手册",
"fine_print": "阅读我们的 {0} ,然而什么也学不到!",
"header_faint": "这很正常",
"checkbox": "我已经浏览了 TOC",
"link": "一个棒的摇滚链接"
"checkbox": "我已经浏览了条款及细则",
"link": "一个棒的小小链接"
}
},
"version": {
@@ -519,11 +531,11 @@
"type_domains_to_mute": "搜索需要隐藏的域名",
"useStreamingApi": "实时接收帖子和通知",
"user_mutes": "用户",
"reset_background_confirm": "您确定要重置个人资料背景图吗?",
"reset_background_confirm": "您确定要重置背景图吗?",
"reset_banner_confirm": "您确定要重置横幅图片吗?",
"reset_avatar_confirm": "您确定要重置头像吗?",
"reset_profile_banner": "重置横幅图片",
"reset_profile_background": "重置个人资料背景图",
"reset_profile_background": "重置个人背景图",
"reset_avatar": "重置头像",
"hide_followers_count_description": "不显示关注者数量",
"profile_fields": {
@@ -547,7 +559,9 @@
"mute_import_error": "导入隐藏名单出错",
"mute_import": "隐藏名单导入",
"mute_export_button": "导出你的隐藏名单到一个 csv 文件",
"mute_export": "隐藏名单导出"
"mute_export": "隐藏名单导出",
"hide_wallpaper": "隐藏实例壁纸",
"setting_changed": "与默认设置不同"
},
"time": {
"day": "{0} 天",
@@ -588,16 +602,17 @@
"conversation": "对话",
"error_fetching": "获取更新时发生错误",
"load_older": "加载更早的状态",
"no_retweet_hint": "这条内容仅关注者可见,或者是私信,因此不能转发",
"repeated": "转发",
"no_retweet_hint": "这条内容仅关注者可见,或者是私信,因此不能转发",
"repeated": "转发",
"show_new": "显示新内容",
"up_to_date": "已是最新",
"no_more_statuses": "没有更多的状态",
"no_statuses": "没有状态更新",
"reload": "重新载入"
"reload": "重新载入",
"error": "取得时间轴时发生错误:{0}"
},
"status": {
"favorites": "收藏",
"favorites": "喜欢",
"repeats": "转发",
"delete": "删除状态",
"pin": "在个人资料置顶",
@@ -618,24 +633,27 @@
"unbookmark": "取消书签",
"bookmark": "书签",
"thread_muted_and_words": ",含有过滤词:",
"status_deleted": "该状态已被删除"
"status_deleted": "该状态已被删除",
"nsfw": "NSFW",
"external_source": "外部来源",
"expand": "展开"
},
"user_card": {
"approve": "允许",
"approve": "核准",
"block": "屏蔽",
"blocked": "已屏蔽!",
"deny": "拒绝",
"favorites": "收藏",
"favorites": "喜欢",
"follow": "关注",
"follow_sent": "请求已发送!",
"follow_progress": "请求中",
"follow_progress": "请求中",
"follow_again": "再次发送请求?",
"follow_unfollow": "取消关注",
"followees": "正在关注",
"followers": "关注者",
"following": "正在关注!",
"follows_you": "关注了你!",
"its_you": "就是你!!",
"its_you": "就是你!",
"media": "媒体",
"mute": "隐藏",
"muted": "已隐藏",
@@ -652,7 +670,7 @@
"unmute_progress": "取消隐藏中…",
"mute_progress": "隐藏中…",
"admin_menu": {
"moderation": "权限",
"moderation": "仲裁",
"grant_admin": "赋予管理权限",
"revoke_admin": "撤销管理权限",
"grant_moderator": "赋予监察员权限",
@@ -674,7 +692,8 @@
"show_repeats": "显示转发",
"hide_repeats": "隐藏转发",
"message": "消息",
"mention": "提及"
"mention": "提及",
"bot": "机器人"
},
"user_profile": {
"timeline_title": "用户时间线",
@@ -685,7 +704,7 @@
"title": "报告 {0}",
"add_comment_description": "此报告会发送给您的实例监察员。您可以在下面提供更多详细信息解释报告的缘由:",
"additional_comments": "其它信息",
"forward_description": "这个账号是从另外一个服务器。同时发送一副本到那里?",
"forward_description": "这个账号来自另一个服务器。是否同时发送一份报告副本到那里?",
"forward_to": "转发 {0}",
"submit": "提交",
"generic_error": "当处理您的请求时,发生了一个错误。"
@@ -695,10 +714,10 @@
"who_to_follow": "推荐关注"
},
"tool_tip": {
"media_upload": "上传媒体",
"media_upload": "上传媒体",
"repeat": "转发",
"reply": "回复",
"favorite": "收藏",
"favorite": "喜欢",
"user_settings": "用户设置",
"reject_follow_request": "拒绝关注请求",
"add_reaction": "添加互动",
@@ -709,7 +728,8 @@
"error": {
"base": "上传不成功。",
"file_too_big": "文件太大了 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]",
"default": "迟些再试"
"default": "迟些再试",
"message": "上传错误:{0}"
},
"file_size_units": {
"B": "B",
@@ -772,7 +792,7 @@
"ftl_removal": "从“全部已知网络”时间线上移除"
},
"mrf_policies_desc": "MRF 策略会影响本实例的互通行为。以下策略已启用:",
"mrf_policies": "已启的 MRF 策略",
"mrf_policies": "已启的 MRF 策略",
"keyword": {
"ftl_removal": "从“全部已知网络”时间线上移除",
"keyword_policies": "关键词策略",
+30 -16
View File
@@ -25,7 +25,7 @@
"add_poll": "增加投票"
},
"notifications": {
"reacted_with": " {0} 互動過",
"reacted_with": "作出了 {0} 的反應",
"migrated_to": "遷移到",
"no_more_notifications": "沒有更多的通知",
"repeated_you": "轉發了你的發文",
@@ -35,7 +35,8 @@
"follow_request": "想要關注你",
"followed_you": "關注了你",
"favorited_you": "喜歡了你的發文",
"broken_favorite": "未知的狀態,正在搜索中…"
"broken_favorite": "未知的狀態,正在搜索中…",
"error": "獲取通知錯誤:{0}"
},
"nav": {
"chats": "聊天",
@@ -53,7 +54,7 @@
"mentions": "提及",
"friend_requests": "關注請求",
"back": "後退",
"administration": "管理",
"administration": "管理",
"about": "關於"
},
"media_modal": {
@@ -121,7 +122,8 @@
"media_proxy": "媒體代理",
"pleroma_chat_messages": "Pleroma 聊天",
"chat": "聊天",
"gopher": "Gopher"
"gopher": "Gopher",
"upload_limit": "上傳限制"
},
"exporter": {
"processing": "正在處理,稍後會提示您下載文件",
@@ -214,7 +216,8 @@
"incoming": "收到",
"outgoing": "發出",
"border": "邊框"
}
},
"wallpaper": "桌布"
},
"preview": {
"header_faint": "這很正常",
@@ -351,7 +354,7 @@
"reset_avatar": "重置頭像",
"discoverable": "允許通過搜索檢索等服務找到此賬號",
"delete_account_error": "刪除賬戶時發生錯誤,如果一直刪除不了,請聯繫實例管理員。",
"composing": "正在書寫",
"composing": "寫作設置",
"chatMessageRadius": "聊天訊息",
"mfa": {
"confirm_and_enable": "確認並啟用OTP",
@@ -410,7 +413,7 @@
"hide_follows_description": "不要顯示我所關注的人",
"hide_followers_description": "不要顯示關注我的人",
"hide_follows_count_description": "不顯示關注數",
"nsfw_clickthrough": "將敏感附件隱藏,點擊才能打開",
"nsfw_clickthrough": "將敏感附件和鏈接隱藏,點擊才能打開",
"valid_until": "有效期至",
"panelRadius": "面板",
"pause_on_unfocused": "在離開頁面時暫停時間線推送",
@@ -524,7 +527,8 @@
"mute_import": "靜音導入",
"mute_import_error": "導入靜音時出錯",
"mute_export_button": "將靜音導出到csv文件",
"mute_export": "靜音導出"
"mute_export": "靜音導出",
"hide_wallpaper": "隱藏實例桌布"
},
"chats": {
"more": "更多",
@@ -569,16 +573,20 @@
"thread_muted_and_words": ",有这些字:",
"hide_full_subject": "隱藏完整標題",
"show_content": "顯示內容",
"hide_content": "隱藏內容"
"hide_content": "隱藏內容",
"status_deleted": "該帖已被刪除",
"expand": "展开",
"external_source": "外部來源",
"nsfw": "工作不安全"
},
"time": {
"hours": "{0} 時",
"hours": "{0} 時",
"days_short": "{0}天",
"day_short": "{0}天",
"days": "{0} 天",
"hour": "{0} 小时",
"hour_short": "{0}h",
"hours_short": "{0}h",
"hour": "{0} ",
"hour_short": "{0}",
"hours_short": "{0}",
"years_short": "{0} y",
"now": "剛剛",
"day": "{0} 天",
@@ -652,7 +660,8 @@
"reload": "重新載入",
"up_to_date": "已是最新",
"no_more_statuses": "没有更多發文",
"no_statuses": "没有發文"
"no_statuses": "没有發文",
"error": "取得時間線時發生錯誤:{0}"
},
"interactions": {
"load_older": "載入更早的互動",
@@ -743,7 +752,11 @@
"unmute": "取消靜音",
"unmute_progress": "取消靜音中…",
"hide_repeats": "隱藏轉發",
"show_repeats": "顯示轉發"
"show_repeats": "顯示轉發",
"roles": {
"moderator": "主持人",
"admin": "管理員"
}
},
"user_profile": {
"timeline_title": "用戶時間線",
@@ -785,7 +798,8 @@
"error": {
"base": "上傳失敗。",
"file_too_big": "文件太大[{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]",
"default": "稍後再試"
"default": "稍後再試",
"message": "上傳錯誤:{0}"
}
},
"search": {
+6
View File
@@ -115,6 +115,9 @@ const chats = {
},
handleMessageError ({ commit }, value) {
commit('handleMessageError', { commit, ...value })
},
cullOlderMessages ({ commit }, chatId) {
commit('cullOlderMessages', chatId)
}
},
mutations: {
@@ -227,6 +230,9 @@ const chats = {
handleMessageError (state, { chatId, fakeId, isRetry }) {
const chatMessageService = state.openedChatMessageServices[chatId]
chatService.handleMessageError(chatMessageService, fakeId, isRetry)
},
cullOlderMessages (state, chatId) {
chatService.cullOlderMessages(state.openedChatMessageServices[chatId])
}
}
}
+13 -9
View File
@@ -76,18 +76,22 @@ export const instanceDefaultProperties = Object.entries(defaultState)
.map(([key, value]) => key)
const config = {
state: defaultState,
state: { ...defaultState },
getters: {
mergedConfig (state, getters, rootState, rootGetters) {
defaultConfig (state, getters, rootState, rootGetters) {
const { instance } = rootState
return {
...state,
...instanceDefaultProperties
.map(key => [key, state[key] === undefined
? instance[key]
: state[key]
])
.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {})
...defaultState,
...Object.fromEntries(
instanceDefaultProperties.map(key => [key, instance[key]])
)
}
},
mergedConfig (state, getters, rootState, rootGetters) {
const { defaultConfig } = rootGetters
return {
...defaultConfig,
...state
}
}
},
+2 -2
View File
@@ -127,7 +127,7 @@ const instance = {
imageUrl: false,
replacement: values[key]
}
}).sort((a, b) => a.displayText - b.displayText)
}).sort((a, b) => a.name > b.name ? 1 : -1)
commit('setInstanceOption', { name: 'emoji', value: emoji })
} else {
throw (res)
@@ -154,7 +154,7 @@ const instance = {
}
// Technically could use tags but those are kinda useless right now,
// should have been "pack" field, that would be more useful
}).sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : 0)
}).sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : -1)
commit('setInstanceOption', { name: 'customEmoji', value: emoji })
} else {
throw (res)
+12 -4
View File
@@ -4,12 +4,14 @@ const reports = {
state: {
userId: null,
statuses: [],
preTickedIds: [],
modalActivated: false
},
mutations: {
openUserReportingModal (state, { userId, statuses }) {
openUserReportingModal (state, { userId, statuses, preTickedIds }) {
state.userId = userId
state.statuses = statuses
state.preTickedIds = preTickedIds
state.modalActivated = true
},
closeUserReportingModal (state) {
@@ -17,9 +19,15 @@ const reports = {
}
},
actions: {
openUserReportingModal ({ rootState, commit }, userId) {
const statuses = filter(rootState.statuses.allStatuses, status => status.user.id === userId)
commit('openUserReportingModal', { userId, statuses })
openUserReportingModal ({ rootState, commit }, { userId, statusIds = [] }) {
const preTickedStatuses = statusIds.map(id => rootState.statuses.allStatusesObject[id])
const preTickedIds = statusIds
const statuses = preTickedStatuses.concat(
filter(rootState.statuses.allStatuses,
status => status.user.id === userId && !preTickedIds.includes(status.id)
)
)
commit('openUserReportingModal', { userId, statuses, preTickedIds })
},
closeUserReportingModal ({ commit }) {
commit('closeUserReportingModal')
+17
View File
@@ -48,6 +48,22 @@ const deleteMessage = (storage, messageId) => {
}
}
const cullOlderMessages = (storage) => {
const maxIndex = storage.messages.length
const minIndex = maxIndex - 50
if (maxIndex <= 50) return
storage.messages = _.sortBy(storage.messages, ['id'])
storage.minId = storage.messages[minIndex].id
for (const message of storage.messages) {
if (message.id < storage.minId) {
delete storage.idIndex[message.id]
delete storage.idempotencyKeyIndex[message.idempotency_key]
}
}
storage.messages = storage.messages.slice(minIndex, maxIndex)
}
const handleMessageError = (storage, fakeId, isRetry) => {
if (!storage) { return }
const fakeMessage = storage.idIndex[fakeId]
@@ -201,6 +217,7 @@ const ChatService = {
empty,
getView,
deleteMessage,
cullOlderMessages,
resetNewMessageCount,
clear,
handleMessageError
@@ -1,6 +1,7 @@
import escape from 'escape-html'
import parseLinkHeader from 'parse-link-header'
import { isStatusNotification } from '../notification_utils/notification_utils.js'
import punycode from 'punycode.js'
/** NOTICE! **
* Do not initialize UI-generated data here.
@@ -187,7 +188,12 @@ export const parseUser = (data) => {
output.follow_request_count = data.pleroma.follow_request_count
output.tags = data.pleroma.tags
output.deactivated = data.pleroma.deactivated
// deactivated was changed to is_active in Pleroma 2.3.0
// so check if is_active is present
output.deactivated = typeof data.pleroma.is_active !== 'undefined'
? !data.pleroma.is_active // new backend
: data.pleroma.deactivated // old backend
output.notification_settings = data.pleroma.notification_settings
output.unread_chat_count = data.pleroma.unread_chat_count
@@ -197,6 +203,19 @@ export const parseUser = (data) => {
output.rights = output.rights || {}
output.notification_settings = output.notification_settings || {}
// Convert punycode to unicode for UI
output.screen_name_ui = output.screen_name
if (output.screen_name.includes('@')) {
const parts = output.screen_name.split('@')
let unicodeDomain = punycode.toUnicode(parts[1])
if (unicodeDomain !== parts[1]) {
// Add some identifier so users can potentially spot spoofing attempts:
// lain.com and xn--lin-6cd.com would appear identical otherwise.
unicodeDomain = '🌏' + unicodeDomain
output.screen_name_ui = [parts[0], unicodeDomain].join('@')
}
}
return output
}
+12
View File
@@ -0,0 +1,12 @@
const specialLanguageCodes = {
'ja_easy': 'ja',
'zh_Hant': 'zh-HANT'
}
const internalToBrowserLocale = code => specialLanguageCodes[code] || code
const localeService = {
internalToBrowserLocale
}
export default localeService
+12 -3
View File
@@ -242,9 +242,18 @@ export const generateShadows = (input, colors) => {
panelHeader: 'panel',
input: 'input'
}
const inputShadows = input.shadows && !input.themeEngineVersion
? shadows2to3(input.shadows, input.opacity)
: input.shadows || {}
const cleanInputShadows = Object.fromEntries(
Object.entries(input.shadows || {})
.map(([name, shadowSlot]) => [
name,
// defaulting color to black to avoid potential problems
shadowSlot.map(shadowDef => ({ color: '#000000', ...shadowDef }))
])
)
const inputShadows = cleanInputShadows && !input.themeEngineVersion
? shadows2to3(cleanInputShadows, input.opacity)
: cleanInputShadows || {}
const shadows = Object.entries({
...DEFAULT_SHADOWS,
...inputShadows
@@ -31,13 +31,15 @@ const testGetters = {
const localUser = {
id: 100,
is_local: true,
screen_name: 'testUser'
screen_name: 'testUser',
screen_name_ui: 'testUser'
}
const extUser = {
id: 100,
is_local: false,
screen_name: 'testUser@test.instance'
screen_name: 'testUser@test.instance',
screen_name_ui: 'testUser@test.instance'
}
const externalProfileStore = new Vuex.Store({
@@ -88,4 +88,21 @@ describe('chatService', () => {
expect(view.map(i => i.type)).to.eql(['date', 'message', 'message', 'date', 'message'])
})
})
describe('.cullOlderMessages', () => {
it('keeps 50 newest messages and idIndex matches', () => {
const chat = chatService.empty()
for (let i = 100; i > 0; i--) {
// Use decimal values with toFixed to hack together constant length predictable strings
chatService.add(chat, { messages: [{ ...message1, id: 'a' + (i / 1000).toFixed(3), idempotency_key: i }] })
}
chatService.cullOlderMessages(chat)
expect(chat.messages.length).to.eql(50)
expect(chat.messages[0].id).to.eql('a0.051')
expect(chat.minId).to.eql('a0.051')
expect(chat.messages[49].id).to.eql('a0.100')
expect(Object.keys(chat.idIndex).length).to.eql(50)
})
})
})
@@ -311,6 +311,12 @@ describe('API Entities normalizer', () => {
expect(parseUser(user)).to.have.property('hide_followers_count', false)
expect(parseUser(user)).to.have.property('hide_follows_count', true)
})
it('converts IDN to unicode and marks it as internatonal', () => {
const user = makeMockUserMasto({ acct: 'lain@xn--lin-6cd.com' })
expect(parseUser(user)).to.have.property('screen_name_ui').that.equal('lain@🌏lаin.com')
})
})
// We currently use QvitterAPI notifications only, and especially due to MastoAPI lacking is_seen, support for MastoAPI
+178 -290
View File
@@ -951,6 +951,11 @@
remark "^12.0.0"
unist-util-find-all-after "^3.0.1"
"@testim/chrome-version@^1.0.7":
version "1.0.7"
resolved "https://registry.yarnpkg.com/@testim/chrome-version/-/chrome-version-1.0.7.tgz#0cd915785ec4190f08a3a6acc9b61fc38fb5f1a9"
integrity sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw==
"@types/color-name@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
@@ -961,6 +966,11 @@
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6"
integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=
"@types/node@*":
version "14.14.19"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.19.tgz#5135176a8330b88ece4e9ab1fdcfc0a545b4bab4"
integrity sha512-4nhBPStMK04rruRVtVc6cDqhu7S9GZai0fpXgPXrFpcPX6Xul8xnrjSdGB4KPBVYG/R5+fXWdCM8qBoiULWGPQ==
"@types/normalize-package-data@^2.4.0":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
@@ -976,6 +986,13 @@
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
"@types/yauzl@^2.9.1":
version "2.9.1"
resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af"
integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==
dependencies:
"@types/node" "*"
"@ungap/event-target@^0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@ungap/event-target/-/event-target-0.1.0.tgz#88d527d40de86c4b0c99a060ca241d755999915b"
@@ -1182,6 +1199,21 @@ agent-base@2:
extend "~3.0.0"
semver "~5.0.1"
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
dependencies:
debug "4"
aggregate-error@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
dependencies:
clean-stack "^2.0.0"
indent-string "^4.0.0"
ajv-errors@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
@@ -1209,15 +1241,6 @@ ajv@^6.10.2:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
ajv@^6.5.5:
version "6.6.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d"
dependencies:
fast-deep-equal "^2.0.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
@@ -1338,21 +1361,11 @@ array-slice@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
dependencies:
array-uniq "^1.0.1"
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
array-uniq@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
@@ -1383,16 +1396,6 @@ asn1.js@^4.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
asn1@~0.2.3:
version "0.2.4"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
dependencies:
safer-buffer "~2.1.0"
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
assert@^1.1.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
@@ -1443,10 +1446,6 @@ async@^2.5.0:
dependencies:
lodash "^4.17.10"
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
atob@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
@@ -1475,13 +1474,12 @@ autoprefixer@^9.8.0:
postcss "^7.0.32"
postcss-value-parser "^4.1.0"
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
aws4@^1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
axios@^0.21.0:
version "0.21.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
dependencies:
follow-redirects "^1.10.0"
babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0"
@@ -1675,12 +1673,6 @@ base@^0.11.1:
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
bcrypt-pbkdf@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
dependencies:
tweetnacl "^0.14.3"
better-assert@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
@@ -1880,6 +1872,11 @@ buffer-alloc@^1.2.0:
buffer-alloc-unsafe "^1.1.0"
buffer-fill "^1.0.0"
buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
buffer-fill@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
@@ -2042,10 +2039,6 @@ caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001097:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001107.tgz#809360df7a5b3458f627aa46b0f6ed6d5239da9a"
integrity sha512-86rCH+G8onCmdN4VZzJet5uPELII59cUzDphko3thQFgAQG1RNa+sVLDoALIhRYmflo5iSIzWY3vu1XTWtNMQQ==
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
ccount@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17"
@@ -2156,14 +2149,18 @@ chrome-trace-event@^1.0.0:
dependencies:
tslib "^1.9.0"
chromedriver@^2.21.2:
version "2.45.0"
resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-2.45.0.tgz#8c1b158adbbd3e0ca3f7af19d459082245554378"
chromedriver@^87.0.1:
version "87.0.4"
resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-87.0.4.tgz#749f69e9427880abff19c1838258c35238397e50"
integrity sha512-kD4N/L8c0nAzh1eEAiAbEIq6Pn5TvGvckODvP5dPqF90q5tPiAJZCoWWSOUV/mrPxiodjHPfmNeOfGERHugzug==
dependencies:
del "^3.0.0"
extract-zip "^1.6.7"
mkdirp "^0.5.1"
request "^2.88.0"
"@testim/chrome-version" "^1.0.7"
axios "^0.21.0"
del "^6.0.0"
extract-zip "^2.0.1"
https-proxy-agent "^5.0.0"
mkdirp "^1.0.4"
proxy-from-env "^1.1.0"
tcp-port-used "^1.0.1"
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
@@ -2198,6 +2195,11 @@ clean-css@4.2.x:
dependencies:
source-map "~0.6.0"
clean-stack@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
cli-cursor@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
@@ -2338,12 +2340,6 @@ combine-lists@^1.0.0:
dependencies:
lodash "^4.5.0"
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
dependencies:
delayed-stream "~1.0.0"
commander@2.17.x, commander@~2.17.1:
version "2.17.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
@@ -2378,7 +2374,7 @@ concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
concat-stream@1.6.2, concat-stream@^1.5.0:
concat-stream@^1.5.0:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
dependencies:
@@ -2480,7 +2476,7 @@ core-js@^2.2.0, core-js@^2.4.0, core-js@^2.5.0:
version "2.6.2"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.2.tgz#267988d7268323b349e20b4588211655f0e83944"
core-util-is@1.0.2, core-util-is@~1.0.0:
core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -2698,12 +2694,6 @@ cyclist@~0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
dependencies:
assert-plus "^1.0.0"
data-uri-to-buffer@1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835"
@@ -2746,6 +2736,13 @@ debug@2.6.8:
dependencies:
ms "2.0.0"
debug@4:
version "4.3.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
dependencies:
ms "2.1.2"
debug@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87"
@@ -2837,20 +2834,19 @@ degenerator@~1.0.2:
escodegen "1.x.x"
esprima "3.x.x"
del@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5"
del@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952"
integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==
dependencies:
globby "^6.1.0"
is-path-cwd "^1.0.0"
is-path-in-cwd "^1.0.0"
p-map "^1.1.1"
pify "^3.0.0"
rimraf "^2.2.8"
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
globby "^11.0.1"
graceful-fs "^4.2.4"
is-glob "^4.0.1"
is-path-cwd "^2.2.0"
is-path-inside "^3.0.2"
p-map "^4.0.0"
rimraf "^3.0.2"
slash "^3.0.0"
delegates@^1.0.0:
version "1.0.0"
@@ -3010,13 +3006,6 @@ duplexify@^3.4.2, duplexify@^3.6.0:
readable-stream "^2.0.0"
stream-shift "^1.0.0"
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
dependencies:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -3520,7 +3509,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.2:
extend@3, extend@^3.0.0, extend@~3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
@@ -3551,18 +3540,16 @@ extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
extract-zip@^1.6.7:
version "1.6.7"
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9"
extract-zip@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
dependencies:
concat-stream "1.6.2"
debug "2.6.9"
mkdirp "0.5.1"
yauzl "2.4.1"
extsprintf@1.3.0, extsprintf@^1.2.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
debug "^4.1.1"
get-stream "^5.1.0"
yauzl "^2.10.0"
optionalDependencies:
"@types/yauzl" "^2.9.1"
fast-deep-equal@^2.0.1:
version "2.0.1"
@@ -3604,9 +3591,10 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
fd-slicer@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
fd-slicer@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
dependencies:
pend "~1.2.0"
@@ -3763,6 +3751,11 @@ follow-redirects@^1.0.0:
dependencies:
debug "=3.1.0"
follow-redirects@^1.10.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7"
integrity sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -3773,18 +3766,6 @@ for-own@^0.1.4:
dependencies:
for-in "^1.0.1"
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.6"
mime-types "^2.1.12"
formatio@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb"
@@ -3890,6 +3871,13 @@ get-stream@^4.0.0:
dependencies:
pump "^3.0.0"
get-stream@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
dependencies:
pump "^3.0.0"
get-uri@2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.2.tgz#5c795e71326f6ca1286f2fc82575cd2bab2af578"
@@ -3905,12 +3893,6 @@ get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
dependencies:
assert-plus "^1.0.0"
glob-base@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
@@ -3970,7 +3952,7 @@ glob@^5.0.15:
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.3:
glob@^7.0.0, glob@^7.1.1, glob@^7.1.3:
version "7.1.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
dependencies:
@@ -4028,16 +4010,6 @@ globby@^11.0.1:
merge2 "^1.3.0"
slash "^3.0.0"
globby@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
dependencies:
array-union "^1.0.1"
glob "^7.0.3"
object-assign "^4.0.1"
pify "^2.0.0"
pinkie-promise "^2.0.0"
globjoin@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43"
@@ -4054,6 +4026,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
graceful-fs@^4.2.4:
version "4.2.4"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
@@ -4072,17 +4049,6 @@ handlebars@^4.0.1:
optionalDependencies:
uglify-js "^3.1.4"
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
har-validator@~5.1.0:
version "5.1.3"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
dependencies:
ajv "^6.5.5"
har-schema "^2.0.0"
hard-rejection@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
@@ -4304,14 +4270,6 @@ http-proxy@^1.13.0, http-proxy@^1.16.2:
follow-redirects "^1.0.0"
requires-port "^1.0.0"
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
dependencies:
assert-plus "^1.0.0"
jsprim "^1.2.2"
sshpk "^1.7.0"
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
@@ -4324,6 +4282,14 @@ https-proxy-agent@1:
debug "2"
extend "3"
https-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
dependencies:
agent-base "6"
debug "4"
iconv-lite@0.4.23, iconv-lite@^0.4.4:
version "0.4.23"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
@@ -4717,21 +4683,15 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
is-path-cwd@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
is-path-in-cwd@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52"
dependencies:
is-path-inside "^1.0.0"
is-path-inside@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
dependencies:
path-is-inside "^1.0.1"
is-path-inside@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==
is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
@@ -4787,7 +4747,7 @@ is-symbol@^1.0.2:
dependencies:
has-symbols "^1.0.0"
is-typedarray@^1.0.0, is-typedarray@~1.0.0:
is-typedarray@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
@@ -4885,10 +4845,6 @@ isparta@4.x.x:
source-map "^0.5.0"
which "^1.0.9"
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
istanbul@0.4.5, istanbul@^0.4.0:
version "0.4.5"
resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
@@ -4946,10 +4902,6 @@ js-yaml@~3.7.0:
argparse "^1.0.7"
esprima "^2.6.0"
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
@@ -4975,18 +4927,10 @@ json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json3@3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
@@ -5015,15 +4959,6 @@ json5@^2.1.2:
dependencies:
minimist "^1.2.5"
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
dependencies:
assert-plus "1.0.0"
extsprintf "1.3.0"
json-schema "0.2.3"
verror "1.10.0"
karma-coverage@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-1.1.2.tgz#cc09dceb589a83101aca5fe70c287645ef387689"
@@ -5774,7 +5709,7 @@ mime-db@~1.37.0:
version "1.37.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8"
mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19:
mime-types@~2.1.18:
version "2.1.21"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96"
dependencies:
@@ -5894,6 +5829,11 @@ mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@
dependencies:
minimist "0.0.8"
mkdirp@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
mkpath@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/mkpath/-/mkpath-1.0.0.tgz#ebb3a977e7af1c683ae6fda12b545a6ba6c5853d"
@@ -5950,6 +5890,11 @@ ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
ms@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
@@ -6202,10 +6147,6 @@ number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@@ -6399,9 +6340,12 @@ p-locate@^4.1.0:
dependencies:
p-limit "^2.2.0"
p-map@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
p-map@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
dependencies:
aggregate-error "^3.0.0"
p-try@^1.0.0:
version "1.0.0"
@@ -6569,7 +6513,7 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
path-is-inside@^1.0.1, path-is-inside@^1.0.2:
path-is-inside@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
@@ -6624,10 +6568,6 @@ pend@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
phoenix@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/phoenix/-/phoenix-1.4.0.tgz#9cec8dbd8cbc59ecd2147bc09ca8ceb56b860d75"
@@ -6641,10 +6581,6 @@ pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
pify@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
@@ -7147,6 +7083,11 @@ proxy-agent@2.0.0:
pac-proxy-agent "1"
socks-proxy-agent "2"
proxy-from-env@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
@@ -7155,10 +7096,6 @@ pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
psl@^1.1.24:
version "1.1.31"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184"
public-encrypt@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
@@ -7192,11 +7129,16 @@ pumpify@^1.3.3:
inherits "^2.0.3"
pump "^2.0.0"
punycode.js@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.1.0.tgz#f3937f7a914152c2dc17e9c280a2cf86a26b7cda"
integrity sha512-LvGUJ9QHiESLM4yn8JuJWicstRcJKRmP46psQw1HvCZ9puLFwYMKJWvkAkP3OHBVzNzZGx/D53EYJrIaKd9gZQ==
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
punycode@^1.2.4, punycode@^1.4.1:
punycode@^1.2.4:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
@@ -7222,7 +7164,7 @@ qrcode@^1.3.0:
pngjs "^3.3.0"
yargs "^12.0.5"
qs@6.5.2, qs@~6.5.2:
qs@6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
@@ -7606,31 +7548,6 @@ replace-ext@1.0.0:
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
request@^2.88.0:
version "2.88.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.8.0"
caseless "~0.12.0"
combined-stream "~1.0.6"
extend "~3.0.2"
forever-agent "~0.6.1"
form-data "~2.3.2"
har-validator "~5.1.0"
http-signature "~1.2.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.19"
oauth-sign "~0.9.0"
performance-now "^2.1.0"
qs "~6.5.2"
safe-buffer "^5.1.2"
tough-cookie "~2.4.3"
tunnel-agent "^0.6.0"
uuid "^3.3.2"
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@@ -7713,12 +7630,19 @@ rfdc@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2"
rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2:
rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
dependencies:
glob "^7.1.3"
rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
dependencies:
glob "^7.1.3"
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -7764,7 +7688,7 @@ safe-regex@^1.1.0:
dependencies:
ret "~0.1.10"
"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
"safer-buffer@>= 2.1.2 < 3":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
@@ -7918,9 +7842,10 @@ shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
shelljs@^0.7.4:
version "0.7.8"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3"
shelljs@^0.8.4:
version "0.8.4"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
dependencies:
glob "^7.0.0"
interpret "^1.0.0"
@@ -8148,20 +8073,6 @@ sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
sshpk@^1.7.0:
version "1.16.0"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de"
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
bcrypt-pbkdf "^1.0.0"
dashdash "^1.12.0"
ecc-jsbn "~0.1.1"
getpass "^0.1.1"
jsbn "~0.1.0"
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
ssri@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
@@ -8647,13 +8558,6 @@ toposort@^1.0.0:
version "1.0.7"
resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
tough-cookie@~2.4.3:
version "2.4.3"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
dependencies:
psl "^1.1.24"
punycode "^1.4.1"
trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
@@ -8690,16 +8594,6 @@ tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
dependencies:
safe-buffer "^5.0.1"
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
@@ -8995,14 +8889,6 @@ vendors@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801"
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
dependencies:
assert-plus "^1.0.0"
core-util-is "1.0.2"
extsprintf "^1.2.0"
vfile-location@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.0.1.tgz#d78677c3546de0f7cd977544c367266764d31bb3"
@@ -9331,11 +9217,13 @@ yargs@^12.0.5:
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^11.1.1"
yauzl@2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
yauzl@^2.10.0:
version "2.10.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
dependencies:
fd-slicer "~1.0.1"
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
yeast@0.1.2:
version "0.1.2"