* New translations ja-JP.yml (Turkish)
* New translations ja-JP.yml (Turkish)
* New translations ja-JP.yml (Turkish)
* New translations ja-JP.yml (Turkish)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* refactor: deduplicate renote button into component
For now the renoters tooltip just uses the reaction viewer component
with a fixed emoji symbol instead.
* chore: remove unnecessary CSS
* fix: forgot to rename variable
* enhance: use own tooltip instead of reaction viewer
* clean up style
* fix additional renoters number
* rename file to better represent content
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations stream.md (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations links.md (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations timeline.md (English)
* New translations pages.md (English)
* New translations timeline.md (English)
* New translations keyboard-shortcut.md (English)
* New translations theme.md (English)
* New translations theme.md (English)
* New translations ja-JP.yml (Arabic)
* New translations glossary.md (Arabic)
* New translations note.md (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations note.md (Arabic)
* New translations share-page.md (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations custom-emoji.md (Portuguese)
* New translations theme.md (Portuguese)
* New translations widgets.md (Portuguese)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (English)
* New translations ja-JP.yml (German)
* add note preview
* use if
* add draftedNote property
* custom emojis work
* Only show CW on preview when enabled
* move button to top
* fix css style
* move truncate function to separate file to reuse it
* truncate image descriptions
* show image description limit in UI
* correctly treat null
Co-authored-by: nullobsi <me@nullob.si>
* make truncate Unicode-aware
The strings that truncate returns should now be valid Unicode.
PostgreSQL also counts Unicode Code Points instead of bytes so this
should be correct.
* move truncate to internal, validate in API
Truncating could also be done in src/services/drive/add-file.ts or
src/services/drive/upload-from-url.ts but those would also affect
local images. But local images should result in a hard error if the
image comment is too long.
* avoid overwriting
Co-authored-by: nullobsi <me@nullob.si>
* Add sparkle mfm animation ✨
* Cleanup sparkle effect
+ spaces -> tabs and other codestyle
+ use proper image
+ listen for resizes
+ use font-size to determine particle size (for fun with x2/3/4 stacking)
* fix#7749
* fix
* fix logout behavior when there is no push subscription
* fix logout behavior when there is no push subscription 2
* clean up service worker registration
* fix lint
* remove submodules
* truncate user information if it is too long
Some AP software allows for user names or summaries to be very long.
Misskey can not handle this and the profile page can not be opened and
no activities from such users can be seen.
Instead, the user name and summary are cut off after the maximum length
so misskey can still process the activities of the profile.
Co-authored-by: Toast <toast@toast.cafe>
* fix code style
Co-authored-by: Toast <toast@toast.cafe>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* AP Actorの修正
* Add ActivityPub test
* Fix person
* Test
* ap test
* Revert "Test"
This reverts commit 3c493eff4e89f94fd33f25189ba3bc96ef4366b3.
* Test comment
* fix
* fix
* Update inbox
* indent
* nl
* indent
* TODO
* Fix inbox
* Update test
* Updated divisions to math.div on Reversi (game.board.vue)
* Update src/client/pages/reversi/game.board.vue
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* Oops. Forgot to put it all through parenthesis
* Imported sass:math
* Fixes on drive.vue
* Forgot the stupid comma
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* Test shutdown
* Revert "Test shutdown"
This reverts commit 85182e7dd1.
* Skip beforeShutdown in test
* Wait shutdown in test
* Revert "Skip beforeShutdown in test"
This reverts commit 79c33ab536.
* Revert "Revert "Skip beforeShutdown in test""
This reverts commit 3423133a13.
* recieve image descriptions under the name property
* fix other components
* use comment for alt and title
* allow editing of file comment
* allow editing of file comment in note dialog
* federate note comments
* use file instead of this
* backend should accept comment on update
* update now actually accepts comment
* allow multiline descriptions
* image should also have description attached
* Update locales/ja-JP.yml
Co-authored-by: rinsuki <428rinsuki+git@gmail.com>
* Use custom component with side-by-side image
* improve usability on mobile devices
* revert changes
* Update post-form-attaches.vue
* Update drive.file.vue
* Update media-caption.vue
Co-authored-by: rinsuki <428rinsuki+git@gmail.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (Polish)
* New translations ja-JP.yml (Polish)
* New translations timelines.md (Polish)
* New translations ja-JP.yml (Polish)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations aiscript.md (Indonesian)
* New translations aiscript.md (Indonesian)
* New translations api.md (Indonesian)
* New translations api.md (Indonesian)
* New translations custom-emoji.md (Indonesian)
* New translations timelines.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations follow.md (Indonesian)
* New translations timelines.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations create-plugin.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations theme.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations stream.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Dutch)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations deck.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations theme.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations keyboard-shortcut.md (Indonesian)
* New translations pages.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations theme.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations reversi-bot.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (English)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations reversi-bot.md (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations follow.md (French)
* New translations deck.md (French)
* New translations deck.md (French)
* New translations mute.md (French)
* New translations mute.md (French)
* New translations mute.md (French)
* New translations reaction.md (French)
* New translations reaction.md (French)
* New translations reaction.md (French)
* New translations ja-JP.yml (French)
* New translations custom-emoji.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations mfm.md (Korean)
* New translations ja-JP.yml (Korean)
* New translations keyboard-shortcut.md (Korean)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations aiscript.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* Update api document in admin/announcements
* Update api document in announcements
* Update api document in i/read-announcements
* Update api document in username/available
* Update api document & Fix typo in API 403 error
* Update api document
* Update api document
* Update api document
* Fix API permission definition
* Update api document
* Update api document
* Update api document
* Update api document
* Update api document
* Update api document
* Update api document
* Update api document
* Fix bug in users (api)
* Apply reviews #6757
* Apply reviews #6757
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations follow.md (French)
* New translations keyboard-shortcut.md (French)
* New translations timelines.md (French)
* New translations keyboard-shortcut.md (French)
* New translations keyboard-shortcut.md (French)
* New translations keyboard-shortcut.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations aiscript.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations deck.md (French)
* New translations ja-JP.yml (French)
* New translations deck.md (French)
* New translations keyboard-shortcut.md (French)
* New translations mute.md (French)
* New translations mfm.md (French)
* New translations ja-JP.yml (French)
* New translations mute.md (French)
* New translations reaction.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations theme.md (French)
* New translations ja-JP.yml (French)
* New translations theme.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations timelines.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations keyboard-shortcut.md (French)
* New translations timelines.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (English)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
Add 'localOnly' to packedNoteSchema
Related: #7174
Add 'emojis' to packedNoteSchema
Add 'reactions' to packedNoteSchema
Related: #7174
Add 'renoteCount' to packedNoteSchema
Related: #7174
Add 'repliesCount' to packedNoteSchema
Add 'uri' to packedNoteSchema
Add 'url' to packedNoteSchema
Add: _featuredId_ to packedNoteSchema
Add '_prId_' to packedNoteSchema
Add 'myReaction' to packedNoteSchema
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (English)
* New translations ja-JP.yml (German)
curl -LSs -w '\n' -X POST -d '{"title":"[AUTOMATED] Update README.md","body":"*This pull request was created by a tool.*","head":"'$__MISSKEY_HEAD'","base":"'$__MISSKEY_BRANCH'"}' -- "https://api.github.com/repos/$__MISSKEY_REPO/pulls?access_token=$__MISSKEY_GITHUB_TOKEN"
**ℹ️ Important:** This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
The accuracy of translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
It will also allow the reader to use the translation tool of their preference if necessary.
## Issues
Feature suggestions and bug reports are filed in https://github.com/syuilo/misskey/issues .
Before creating an issue, please check the following:
- To avoid duplication, please search for similar issues before creating a new issue.
- Do not use Issues to ask questions or troubleshooting.
- Issues should only be used to feature requests, suggestions, and bug tracking.
- Please ask questions or troubleshooting in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
* Please search existing issues to avoid duplication. If your issue is already filed, please add your reaction or comment to the existing one.
* If you have multiple independent issues, please submit them separately.
## Before implementation
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
## Branches
* **master** branch is tracking the latest release and used for production purposes.
* **develop** branch is where we work for the next release.
* **l10n_develop** branch is reserved for localization management.
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
## Well-known branches
- **`master`** branch is tracking the latest release and used for production purposes.
- **`develop`** branch is where we work for the next release.
- When you create a PR, basically target it to this branch.
- **`l10n_develop`** branch is reserved for localization management.
## Creating a PR
Thank you for your PR! Before creating a PR, please check the following:
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text.
- Please add the summary of the changes to [`CHANGELOG.md`](/CHANGELOG.md). However, this is not necessary for changes that do not affect the users, such as refactoring.
- Check if there are any documents that need to be created or updated due to this change.
- If you have added a feature or fixed a bug, please add a test case if possible.
- Please make sure that tests and Lint are passed in advance.
- You can run it with `npm run test` and `npm run lint`. [See more info](#testing)
- If this PR includes UI changes, please attach a screenshot in the text.
Thanks for your cooperation 🤗
## Localization (l10n)
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
@@ -28,21 +49,36 @@ If your language is not listed in Crowdin, please open an issue.
<ahref="https://join.misskey.page/">Misskey</a> is a decentralized microblogging platform born on Earth.
Since it exists within the Fediverse (a universe where various social media platforms are organized),
it is mutually linked with other social media platforms.
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? <ahref="https://join.misskey.page/">Find an instance!</a>
</p>
<ahref="https://www.patreon.com/syuilo"><imgsrc="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png"alt="Become a Patron!"width="160"/></a>
</div>
---
Do you have a question? Or are you experiencing trouble?
Reactions are the simplest way to respond to others' posts. Simply pick a reaction emote from the list! Reactions on Misskey are much more expressive than other social media services which only allow “liking”.
Customize the UI to your own tastes! No UI will work for everyone, so Misskey is completely customizable. Make Misskey *yours* by editing the style, adjusting timeline layouts, and placing widgets.
Organize and store your files! Want to post a picture you have already uploaded? Wish you could organize your files into folders? Misskey Drive is a solution!
</p>
---
...and more! Experience Misskey with your own eyes at [misskey.io](https://misskey.io/) or join one of the [other instances](https://joinmisskey.github.io/) that are available.
introMisskey:"اهلا بك! ميسكي هو منصة تدوين مصغر لا مركزية ومفتوحة المصدر.\nيمكنك مشاركة \"ملاحظات\" عن ما يجري حولك، وإخبار الجميع عن نفسك 📡\nتسمح لك \"الانفعالات\" بتعبير عن شعورك حول ملاحظات الآخرين 👍\nاكتشف عالمًا جديدًا 🚀"
monthAndDay:"{day}/{month}"
search:"البحث"
notifications:"الإشعارات"
username:"اسم المستخدم"
password:"الكلمة السرية"
forgotPassword:"نسيتَ كلمة السر"
fetchingAsApObject:"جارٍ جلبه مِن الفديفرس…"
ok:" حسناً"
gotIt:"فهِمت"
cancel:" إلغاء"
enterUsername:"أدخِل إسم مسخدم"
renotedBy:"أعاد {user} نشر ملاحظة"
noNotes:"لم يتم العثور على أية ملاحظات"
noNotifications:"ليس هناك أية اشعارات"
instance:"مثيل الخادم"
@@ -25,15 +28,18 @@ login: "لِج"
loggingIn:"جارٍ تسجيل الدخول"
logout:"الخروج"
signup:"أنشئ حسابًا"
uploading:"عملية الإرسال جارية"
uploading:"يرفع..."
save:"حفظ"
users:"المستخدمون"
addUser:"اضافة مستخدم"
favorite:"إضافة إلى المفضلة"
favorites:"المفضلات"
unfavorite:"إزالة من المفضلة"
favorited:"تمت الإضافة إلى المفضلة."
alreadyFavorited:"تمت إضافته بالفعل إلى المفضلة."
cantFavorite:"تعذرت الإضافة إلى المفضلة."
pin:"دبّسها على الصفحة الشخصية"
unpin:"ألغ تثبيتها من ملفك الشخصي"
unpin:"ألغ تدبيسها من ملفك الشخصي"
copyContent:"انسخ المحتوى"
copyLink:"انسخ الرابط"
delete:"حذف"
@@ -45,6 +51,7 @@ copyUsername: "انسخ اسم المستخدم"
searchUser:"ابحث عن مستخدمين"
reply:"رد"
loadMore:"عرض المزيد"
showMore:"عرض المزيد"
youGotNewFollower:"يتابعك"
receiveFollowRequest:"تلقيت طلب متابعة"
followRequestAccepted:"قُبل طلب المتابعة"
@@ -58,12 +65,14 @@ files: "الملفات"
download:"تنزيل"
driveFileDeleteConfirm:"أمتأكد من حذف ملف {name}؟ كل الملاحظات المُرفق بها هذا الملف ستحذف."
unfollowConfirm:"أمتأكد من إلغاء متابعة {name}؟"
exportRequested:"قد تستغرق عملية التصدير بعض الوقت. بمجرد الانتهاء ستتم إضافة الملف الناتج إلى قرص التخزين."
importRequested:"يستغرق الاستيراد بعض الوقت"
lists:"القوائم"
noLists:"ليس لديك أية قائمة"
note:"ملاحظة"
notes:"الملاحظات"
following:"المتابَعون"
followers:"المتابِعين"
followers:"المتابِعون"
followsYou:"يتابعك"
createList:"إنشاء قائمة"
manageLists:"إدارة القوائم"
@@ -71,9 +80,12 @@ error: "خطأ"
somethingHappened:"حدث خطأ"
retry:"حاول مجددًا"
pageLoadError:"فشل تحميل الصفحة"
pageLoadErrorDescription:"عادة ما يكون السبب خطأ في الشبكة أو التخزين المؤقت للمتصفح. امسح التخزين المؤقت ثم أعد المحاولة لاحقًا."
cantReRenote:"لا يمكنك إعادة نشر ملاحظة معاد نشرها"
quote:"اقتبس"
pinnedNote:"ملاحظة مدبسة"
pinned:"دبّسها على الصفحة الشخصية"
you:"أنت"
clickToShow:"اضغط للعرض"
sensitive:"محتوى حساس"
add:"إضافة"
reaction:"تفاعل"
reactionSettingDescription:"اختر التفاعلات المفضلة التي تريد تثبيتها في منتقي التفاعلات."
reactionSettingDescription2:"اسحب لإعادة التنظيم ، انقر للحذف ، استخدم \"+\" للإضافة."
rememberNoteVisibility:"تذكر إعدادت مدى رؤية الملاحظات"
attachCancel:"أزل المرفق"
markAsSensitive:"علّمه كمحتوى حساس"
unmarkAsSensitive:"ألغ تعيينه كمحتوى حساس"
enterFileName:"ادخل اسم الملف"
mute:"اكتم"
unmute:"إلغاء الكتم"
@@ -100,19 +121,33 @@ suspend: "علِق"
unsuspend:"ألغ التعليق"
blockConfirm:"أمتأكد من حجب هذا الحساب؟"
unblockConfirm:"أمتأكد من إلغاء حجب هذا الحساب؟"
suspendConfirm:"أمتأكد من تعليق الحساب؟"
unsuspendConfirm:"أمتأكد من إلغاء تعليق؟"
selectList:"اختر قائمة"
selectAntenna:"اختر هوائيًا"
selectWidget:"اختر ودجة"
editWidgets:"عدّل الودجات"
editWidgetsExit:"تم"
customEmojis:"إيموجي مخصص"
emoji:"الوجوه التعبيرية"
emojis:"الوجوه التعبيرية"
emojiName:"اسم الوجه التعبيري"
emojiUrl:"رابط الوجه التعبيري"
addEmoji:"إضافة إيموجي"
settingGuide:"الإعدادات المستحسنة"
cacheRemoteFiles:"خزن مؤقتا الملفات البعيدة"
flagAsBot:"علّمه كحساب آلي"
flagAsBotDescription:"فعّل هذا الخيار إذا كان هذا الحساب يُدار عبر برمجية. إذا فُعل فسيكون بمثابة علامة للمطورين الآخرين لتجنب سلاسل لا متناعية من التفاعل بين حسابات الآلية وضبط أنظمة ميسكي للتعامل مع هذا الحساب كروبوت."
flagAsCat:"علّم هذا الحساب كحساب قط"
flagAsCatDescription:"فعّل هذا الخيار لوضع علامة على الحساب لتوضيح أنه حساب قط."
autoAcceptFollowed:"اقبل طلبات المتابعة تلقائيا من الحسابات المتابَعة"
usernameInfo:"الاسم الذي يميزك عن بافي مستخدمي هذا الخادم، يمكنك استخدام الحروف اللاتينية (a~z, A~Z) والأرقام (0~9) والشرطة السفلية (_). لا يمكنك تغييره بعد تسجيله."
introMisskey:"Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
monthAndDay:"{day}. {month}."
search:"Vyhledávání"
notifications:"Oznámení"
username:"Uživatelské jméno"
password:"Heslo"
forgotPassword:"Zapomenuté heslo"
fetchingAsApObject:"Načítám data z Fediversu..."
ok:"Potvrdit"
gotIt:"Rozumím!"
cancel:"Zrušit"
enterUsername:"Zadej uživatelské jméno"
renotedBy:"{user} přeposla/a"
noNotes:"Žádné poznámky"
noNotifications:"Žádná oznámení"
instance:"Instance"
settings:"Nastavení"
basicSettings:"Obecná nastavení"
otherSettings:"Rozšířená nastavení"
openInWindow:"Otevřít v novém okně"
profile:"Váš profil"
timeline:"Časová osa"
noAccountDescription:"Tento uživatel zatím nenapsal svou biografii."
login:"Přihlásit se"
loggingIn:"Probíhá přihlašování"
logout:"Odhlásit"
signup:"Registrace"
uploading:"Nahrávám"
save:"Uložit"
users:"Uživatelé"
addUser:"Přidat uživatele"
favorite:"Oblíbené"
favorites:"Oblíbené"
unfavorite:"Odebrat z oblízených"
favorited:"Přidáno do oblíbených"
alreadyFavorited:"Už je mezi oblíbenými"
cantFavorite:"Nepodařilo se přidat mezi oblíbené."
pin:"Připnout"
unpin:"Odepnout"
copyContent:"Zkopírovat obsah"
copyLink:"Kopírovat odkaz"
delete:"Smazat"
deleteAndEdit:"Smazat a upravit"
deleteAndEditConfirm:"Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni."
addToList:"Přidat do seznamu"
sendMessage:"Odeslat zprávu"
copyUsername:"Kopírovat uživatelské jméno"
searchUser:"Vyhledat uživatele"
reply:"Odpovědět"
loadMore:"Zobrazit více"
showMore:"Zobrazit více"
mention:"Zmínění"
mentions:"Zmínění"
importAndExport:"Import a export"
import:"Importovat"
export:"Exportovat"
files:"Soubor(ů)"
download:"Stáhnout"
unfollowConfirm:"Jste si jisti že už nechcete sledovat {name}?"
importRequested:"Požádali jste o export. To může chvilku trvat."
lists:"Seznamy"
noLists:"Nemáte žádné seznamy"
note:"Poznámka"
notes:"Poznámky"
following:"Sledovaní"
followers:"Sledující"
followsYou:"Sledují vás"
createList:"Vytvořit seznam"
manageLists:"Spravovat seznam"
error:"Chyba"
somethingHappened:"Jejda. Něco se nepovedlo."
retry:"Opakovat"
pageLoadError:"Nepodařilo se načíst stránku"
enterListName:"Jméno seznamu"
privacy:"Soukromí"
follow:"Sledovaní"
unfollow:"Přestat sledovat"
renote:"Přeposlat"
cantReRenote:"Odpověď nemůže být odstraněna."
quote:"Citovat"
pinned:"Připnout"
you:"Vy"
clickToShow:"Klikněte pro zobrazení"
sensitive:"NSFW"
add:"Přidat"
reaction:"Reakce"
reactionSettingDescription:"Vyberte Vaší oblíbenou reakci, kterou chcete připnout ve výběru."
reactionSettingDescription2:"Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
blockConfirm:"Jste si jistí že chcete zablokovat tento účet?"
unblockConfirm:"Jste si jistí že chcete odblokovat tento účet?"
suspendConfirm:"Jste si jistí že chcete suspendovat tenhle účet?"
unsuspendConfirm:"Jste si jistí že chcete obnovit tenhle účet?"
selectList:"Vybrat seznam"
selectAntenna:"Vyberte Anténu"
selectWidget:"Zvolte widget"
editWidgets:"Upravit widget"
editWidgetsExit:"Hotovo"
customEmojis:"Vlastní emoji"
emoji:"Emoji"
emojis:"Emoji"
emojiName:"Jméno emoji"
emojiUrl:"URL obrázku"
addEmoji:"Přidat emoji"
settingGuide:"Doporučené nastavení"
cacheRemoteFiles:"Ukládání vzdálených souborů do mezipaměti"
cacheRemoteFilesDescription:"Zakázání tohoto nastavení způsobí, že vzdálené soubory budou odkazovány přímo, místo aby byly ukládány do mezipaměti. Tím se ušetří úložiště na serveru, ale zvýší se provoz, protože se negenerují miniatury."
flagAsBot:"Tento účet je bot"
flagAsBotDescription:"Pokud je tento účet kontrolován programem zaškrtněte tuto možnost. To označí tento účet jako bot pro ostatní vývojáře a zabrání tak nekonečným interakcím s ostatními boty a upraví Misskey systém aby se choval k tomuhle účtu jako bot."
flagAsCat:"Tenhle účet je kočka"
flagAsCatDescription:"Vyberte tuto možnost aby tento účet byl označen jako kočka."
autoAcceptFollowed:"Automaticky akceptovat následování od účtů které sledujete"
addAccount:"Přidat účet"
loginFailed:"Přihlášení se nezdařilo."
showOnRemote:"Více na původním profilu"
general:"Obecně"
wallpaper:"Obrázek na pozadí"
setWallpaper:"Nastavení obrázku na pozadí"
removeWallpaper:"Odstranit pozadí"
youHaveNoLists:"Nemáte žádné seznamy"
proxyAccount:"Proxy účet"
proxyAccountDescription:"Proxy účet je účet, který za určitých podmínek sleduje uživatele na dálku vaším jménem. Například když uživatel zařadí vzdáleného uživatele do seznamu, pokud nikdo nesleduje uživatele na seznamu, aktivita nebude doručena instanci, takže místo toho bude uživatele sledovat účet proxy."
introMisskey:"Bonvenon! Misskey estas malfermitkoda malcentraliza etbloga servo.\nKreu \"noto\"n por paroli vian penson al iuj ĉirkaŭ vi. 📡\nLa funkcion \"reago\" ebligas esprimi rapide vian senton pri ies noto en Fediverso. 👍\nBonvole esploru novan mondon. 🚀"
monthAndDay:"{{day}}/{{month}}"
search:"Serĉi"
notifications:"Sciigoj"
username:"Uzantnomo"
password:"Pasvorto"
forgotPassword:"Ĉu vi forgesis pasvorton?"
fetchingAsApObject:"Informpetado de kunfederaĵo…"
ok:"Akcepteble"
gotIt:"Mi komprenas"
cancel:"Nuligi"
enterUsername:"Entajpu uzantnomon"
renotedBy:"Noto plusendita de {user}"
noNotes:"Neniu noto!"
noNotifications:"Vi ne havas sciigojn."
instance:"Nodo"
settings:"Agordoj"
basicSettings:"Ĝeneralaj agordoj"
otherSettings:"Aliaj agordoj"
openInWindow:"Malfermi en fenestro"
profile:"Profilo"
timeline:"Templinio"
noAccountDescription:"Neniu priskribo"
login:"Ensaluti"
loggingIn:"Ensalutado…"
logout:"Elsaluti"
signup:"Registriĝi"
uploading:"Alŝutado…"
save:"Konservi"
users:"Uzantoj"
addUser:"Aldoni uzanton"
favorite:"Preferi"
favorites:"Preferaĵoj"
unfavorite:"Malpreferi"
favorited:"Aldonita al via listo de preferaĵoj."
alreadyFavorited:"Ĝi jam estis aldonita al via listo de preferaĵoj."
cantFavorite:"Ne aldonita al via listo de preferaĵoj."
pin:"Alpingli"
unpin:"Depingli"
copyContent:"Kopii enhavon"
copyLink:"Kopii ligilon"
delete:"Forviŝi"
deleteAndEdit:"Redakti foriginte"
deleteAndEditConfirm:"Ĉu vi certas, ke vi volas forigi kaj redakti la noton? Tio forviŝos reagojn, plusendojn, kaj respondojn ĉiujn de ĝi."
addToList:"Aldoni al listo"
sendMessage:"Sendi mesaĝon"
copyUsername:"Kopii uzantnomon"
searchUser:"Serĉi uzanton"
reply:"Respondi"
loadMore:"Vidu pli"
showMore:"Vidi pli"
youGotNewFollower:"eksekvis vin"
receiveFollowRequest:"Peto de sekvado estas ricevita"
followRequestAccepted:"La peto de sekvado akceptita"
mention:"Mencioj"
mentions:"Al vi"
directNotes:"Rekte senditaj"
importAndExport:"Importi/eksporti"
import:"Importi"
export:"Eksporti"
files:"Dosieroj"
download:"Elŝuti"
driveFileDeleteConfirm:"Ĉu vi certas, ke vi volas forviŝi la dosieron \"{name}\"? Pro tio forviŝiĝos ankaŭ la notoj kiuj enhavas ĝin."
unfollowConfirm:"Ĉu vi certas, ke vi volas ĉesi sekvi {name}'(o)n?"
lists:"Listoj"
noLists:"Neniu listo"
note:"Sendi"
notes:"Notoj"
following:"Sekvatoj"
followers:"Sekvantoj"
followsYou:"Sekvas vin"
createList:"Krei liston"
manageLists:"Administri liston"
error:"Eraro"
somethingHappened:"Problemo okazis"
retry:"Provi denove"
enterListName:"Entajpu nomon de la listo"
privacy:"Privateco"
defaultNoteVisibility:"Implicitaĵo de videbleco"
follow:"Sekvi"
followRequest:"Peti de sekvado"
followRequests:"Petoj de sekvado"
unfollow:"Ne plu sekvi"
enterEmoji:"Entajpu emoĵion"
renote:"Plusendi la noton"
unrenote:"Malfari plusendadon"
renoted:"Sukcese plusendita"
cantRenote:"Oni ne povas plusendi la noton."
cantReRenote:"Plusendo de noto ne estas plusendebla."
quote:"Citi"
pinnedNote:"Alpinglita noto"
pinned:"Alpingli"
you:"Vi"
clickToShow:"Klaku por malkaŝu"
sensitive:"Enhavo ne estas deca por laborejo (NSFW)"
add:"Aldoni"
reaction:"Reagoj"
rememberNoteVisibility:"Rememoru videblecon de la noto laste sendita "
attachCancel:"Deigi aldonaĵon"
markAsSensitive:"Troviĝi NSFW"
unmarkAsSensitive:"Ne troviĝi NSFW"
enterFileName:"Entajpu nomon de dosiero"
mute:"Silentigi"
unmute:"Malsilentigi"
block:"Bloki"
unblock:"Malbloki"
suspend:"Flostigi"
unsuspend:"Fandi"
blockConfirm:"Ĉu vi certas ke vi volas bloki la uzanton?"
unblockConfirm:"Ĉu vi certas ke vi volas malbloki la uzanton?"
suspendConfirm:"Ĉu vi certas ke vi volas frostigi la uzanton?"
unsuspendConfirm:"Ĉu vi certas ke vi volas fandi la uzanton?"
selectList:"Elekti liston"
selectAntenna:"Elekti antenon"
selectWidget:"Elekti enestraĵon"
editWidgets:"Redakti fenestraĵon"
editWidgetsExit:"Fini la redaktadon"
customEmojis:"Personecigitaj emoĵioj"
emoji:"Emoĵio"
emojis:"Emoĵio"
emojiName:"Nomo de emoĵio"
emojiUrl:"URL de la emoĵio"
addEmoji:"Aldoni emoĵion"
settingGuide:"Agordaj rekomendoj"
cacheRemoteFiles:"Stapli transajn dosierojn"
flagAsBot:"Agordo por robota uzanto"
flagAsCat:"Agordo de katiĝa uzanto"
addAccount:"Aldoni konton"
showOnRemote:"Vidi ĉe la surloka nodo"
general:"Ĝenerala"
wallpaper:"Ekranfonoj"
setWallpaper:"Apliki ekranfonon"
removeWallpaper:"Forviŝi ekranfonon. "
searchWith:"Serĉi: {q}"
youHaveNoLists:"Vi ne havas listojn."
followConfirm:"Ĉu vi certas ke vi volas sekvi {name}'(o)n?"
host:"Gastigo"
selectUser:"Elekti uzanton"
recipient:"Ricevonto"
annotation:"Komentarioj"
federation:"Kunfederaĵo"
instances:"Nodoj"
latestRequestSentAt:"Lastatempa sendo"
latestRequestReceivedAt:"Lastatempa ricevo"
latestStatus:"Laŭstato"
perHour:"Po horo"
perDay:"Po tago"
blockThisInstance:"Bloki la nodon"
operations:"Agoj"
software:"Programaro"
version:"Versio"
metadata:"Metadatumoj"
withNFiles:"{n} dosiero(j)"
monitor:"Monitoro"
network:"Reto"
disk:"Diskilo"
instanceInfo:"Informoj pri la nodo"
statistics:"Statistikoj"
clearCachedFiles:"Malplenigi la staplon"
clearCachedFilesConfirm:"Ĉu vi certas, ke vi volas forviŝi ĉiujn transajn dosierojn en la staplo?"
blockedInstances:"Blokitaj nodoj"
muteAndBlock:"Silentigitoj kaj blokitoj"
mutedUsers:"Silentigitaj uzantoj"
blockedUsers:"Blokitaj uzantoj"
noUsers:"Sen uzantoj"
editProfile:"Redakti profilon"
noteDeleteConfirm:"Ĉu vi certas ke vi volas forviŝi la noton?"
pinLimitExceeded:"Vi povas alpingli ne pli noton."
done:"Fini"
processing:"Prilaborado…"
preview:"Antaŭmontro"
noCustomEmojis:"Neniu emoĵio"
federating:"Nun kunfederanta"
blocked:"Blokita"
suspended:"Suspendita"
all:"Ĉiuj"
subscribing:"Abonata"
publishing:"Al kiu dissendas"
notResponding:"Alvokato ne disponeblas"
instanceFollowing:"Sekvatoj en la nodo"
instanceFollowers:"Sekvantoj el la nodo"
instanceUsers:"Uzantoj de tiu ĉi nodo"
changePassword:"Ŝanĝi pasvorton"
security:"Sekureco"
retypedNotMatch:"Enigitoj ne estas konformaj."
currentPassword:"Aktuala pasvorto"
newPassword:"Nova pasvorto"
newPasswordRetype:"Reentajpu la novan pasvorton"
attachFile:"Aldoni dosieron"
more:"Plu!"
featured:"Maksimumi"
usernameOrUserId:"Uzantnomo aŭ identigilo de uzanto"
noSuchUser:"Neniuj uzantoj trovitaj."
lookup:"Informpeti"
announcements:"Novaĵoj"
imageUrl:"URL de bildo"
remove:"Forigi"
removed:"Forviŝis"
removeAreYouSure:"Ĉu vi certas ke vi volas forigi \"{x}\"'(o)n?"
deleteAreYouSure:"Ĉu vi certas ke vi volas forviŝi \"{x}\"'(o)n?"
saved:"Konservita"
messaging:"Retbabili"
upload:"Alŝuti"
fromDrive:"De la disko"
fromUrl:"De URL"
uploadFromUrl:"Alŝuti de URL"
uploadFromUrlDescription:"URL de dosiero kiun vi volas alŝuti"
explore:"Esplori"
games:"Miskiaj Ludoj"
messageRead:"Legita"
startMessaging:"Komenci babiladon"
nUsersRead:"Legita de {n} homoj"
tos:"Kondiĉoj de uzado"
start:"Komenciĝi"
home:"Hejma"
remoteUserCaution:"Ĉi tiuj infomoj ne estas tute ekzaktaj pro transa uzanto."
activity:"Aktiveco"
images:"Bildoj"
birthday:"Naskiĝdato"
registeredDate:"Dato de registriĝo"
location:"Loko"
theme:"Koloraro"
light:"Luma"
dark:"Malluma"
drive:"Disko"
fileName:"Dosiernomo"
selectFile:"Elekti dosieron"
selectFiles:"Elekti dosieron"
selectFolder:"Elekti dosierujon"
selectFolders:"Elekti dosierujon"
renameFile:"Alinomi la dosieron"
folderName:"Nomo de la dosierujo"
createFolder:"Krei dosierujon"
renameFolder:"Alinomi la dosierujon"
deleteFolder:"Forviŝi dosierujon"
addFile:"Aldoni dosieron"
emptyDrive:"La disko malplenas"
emptyFolder:"La dosierujo malplenas"
unableToDelete:"Ne forigebla"
inputNewFileName:"Entajpu nova nomon de la dosiero"
inputNewFolderName:"Entajpu nova nomon de la dosierujo"
hasChildFilesOrFolders:"La dosierujo ne estas forviŝebla, ĉar ĝi ne malplenas."
copyUrl:"Kopii URL"
rename:"Alinomi"
avatar:"Ikono"
banner:"Standardo"
nsfw:"Enhavo ne estas deca por laborejo (NSFW)"
reload:"Reŝargi"
watch:"Observi"
unwatch:"Malobservi"
accept:"Permesi"
normal:"Normala"
instanceName:"Nomo de la nodo"
instanceDescription:"Priskribo de la nodo "
maintainerName:"Nomo de la administranto"
maintainerEmail:"Retpoŝto de la administranto"
tosUrl:"URL de kondiĉoj de uzado"
thisYear:"Ĉi-jare"
thisMonth:"Ĉi-monate"
today:"Hodiaŭ"
dayX:"{day}a"
monthX:"La {month}a monato"
yearX:"La jaro {year}"
pages:"Paĝoj"
connectService:"Konekti"
disconnectService:"Farkonektiĝi"
enableLocalTimeline:"Ebligi lokan templinion"
enableGlobalTimeline:"Ebligi mallokan templinion"
registration:"Registri"
enableRegistration:"Ebligi novan uzanton registriĝon"
invite:"Inviti"
driveCapacityPerLocalAccount:"Volumo de disko po unu loka uzanto"
driveCapacityPerRemoteAccount:"Volumo de disko po unu transa uzanto"
iconUrl:"URL de la ikono (retpaĝsimbolo, ktp)"
bannerUrl:"URL de standardo"
backgroundImageUrl:"URL de fona bildo"
basicInfo:"Baza informo"
pinnedUsers:"Alpinglita uzanto"
pinnedPages:"Alpinglitaj paĝoj"
pinnedNotes:"Alpinglita noto"
hcaptchaSiteKey:"Reteja ŝlosilo"
hcaptchaSecretKey:"Sekreta ŝlosilo"
recaptcha:"reCAPTCHA"
enableRecaptcha:"Ebligi reCAPTCHA'on"
recaptchaSiteKey:"Reteja ŝlosilo"
recaptchaSecretKey:"Sekreta ŝlosilo"
antennas:"Antenoj"
manageAntennas:"Administri antenojn"
name:"Nomo"
notifyAntenna:"Oni sciigos novajn notojn"
withFileAntenna:"Nur kun aldonaĵo"
withReplies:"Inkluzive respondoj"
connectedTo:"Sekva konto estas konektita"
notesAndReplies:"Kun respondoj"
withFiles:"Kun aldonaĵo"
silence:"Mutigi"
silenceConfirm:"Ĉu vi certas ke vi volas mutigi la uzanton?"
unsilence:"Malmutigi"
unsilenceConfirm:"Ĉu vi certas ke vi volas malmutigi la uzanton?"
popularUsers:"Popularaj uzantoj"
recentlyUpdatedUsers:"Uzantoj kiuj lastatempe sendis noton"
introMisskey:"¡Bienvenido/a! Misskey es un servicio de microblogging descentralizado de código abierto.\nEscribe \"notas\" para compartir lo que te ocurre ahora o para contar sobre ti a todos 📡\nCon la función de \"reacciones\", puedes también añadir una reacción rápida a las notas de todos 👍\nExplora un nuevo mundo 🚀"
monthAndDay:"{day}/{month}"
search:"Buscar"
notifications:"Notificaciones"
username:"Nombre de usuario"
password:"Contraseña"
forgotPassword:"Olvidé mi Contraseña"
fetchingAsApObject:"Buscando en el fediverso"
ok:"OK"
gotIt:"Entendido"
@@ -33,6 +35,9 @@ addUser: "Agregar usuario"
favorite:"Favorito"
favorites:"Favoritos"
unfavorite:"Quitar de favoritos"
favorited:"Añadido a favoritos"
alreadyFavorited:"Ya había sido añadido a favoritos"
cantFavorite:"No fue añadido a favoritos"
pin:"Fijar"
unpin:"Desfijar"
copyContent:"Copiar contenido"
@@ -46,6 +51,7 @@ copyUsername: "Copiar nombre de usuario"
searchUser:"Búsqueda de usuarios"
reply:"Responder"
loadMore:"Ver más"
showMore:"Ver más"
youGotNewFollower:"te ha seguido"
receiveFollowRequest:"Recibiste una solicitud de seguimiento"
followRequestAccepted:"La solicitud de seguimiento fue aceptada"
@@ -87,14 +93,19 @@ followRequestPending: "Solicitudes de seguimiento pendientes"
enterEmoji:"Ingresar emojis"
renote:"Renotar"
unrenote:"Quitar renota"
renoted:"Renotado"
cantRenote:"No se puede renotar este post"
cantReRenote:"No se puede renotar una renota"
quote:"Citar"
pinnedNote:"Nota fijada"
pinned:"Fijar"
you:"Tú"
clickToShow:"Click para ver"
sensitive:"Marcado como sensible"
add:"Agregar"
reaction:"Reacción"
reactionSettingDescription:"Asigne sus reacción favoritas que desean anclar en el selector de reacciones."
reactionSettingDescription2:"Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
cacheRemoteFiles:"Mantener en cache los archivos remotos"
cacheRemoteFilesDescription:"Si desactiva esta configuración, Los archivos remotos se cargarán desde el link directo sin usar la caché. Con eso se puede ahorrar almacenamiento del servidor, pero eso aumentará el tráfico al no crear miniaturas."
flagAsBot:"Esta cuenta es un bot"
flagAsBotDescription:"En caso de que esta cuenta fuera usada por un programa, active esta opción. Al hacerlo, esta opción servirá para otros desarrolladores para evitar cadenas infinitas de reacciones, y ajustará los sistemas internos de Misskey para que trate a esta cuenta como un bot."
flagAsCat:"Esta cuenta es un gato"
flagAsCatDescription:"En caso de que declare que esta cuenta es de un gato, active esta opción."
autoAcceptFollowed:"Aceptar automáticamente las solicitudes de seguimiento de los usuarios que sigues"
addAcount:"Agregar cuenta"
addAccount:"Agregar Cuenta"
loginFailed:"Error al iniciar sesión."
showOnRemote:"Ver en una instancia remota"
general:"General"
@@ -215,6 +229,7 @@ remove: "Borrar"
removed:"Borrado"
removeAreYouSure:"¿Desea borrar \"{x}\"?"
deleteAreYouSure:"¿Desea borrar \"{x}\"?"
resetAreYouSure:"¿Desea reestablecer?"
saved:"Guardado"
messaging:"Chat"
upload:"Subir"
@@ -265,6 +280,7 @@ emptyDrive: "El drive está vacío"
emptyFolder:"La carpeta está vacía"
unableToDelete:"No se puede borrar"
inputNewFileName:"Ingrese un nuevo nombre de archivo"
inputNewDescription:"Ingrese nueva descripción"
inputNewFolderName:"Ingrese un nuevo nombre de la carpeta"
circularReferenceFolder:"La carpeta de destino es una sub-carpeta de la carpeta que quieres mover."
hasChildFilesOrFolders:"No se puede borrar esta carpeta. No está vacía."
@@ -296,8 +312,8 @@ monthX: "Mes {month}"
yearX:"Año {year}"
pages:"Páginas"
integration:"Integración"
connectSerice:"Conectarse"
disconnectSerice:"Desconectarse"
connectService:"Conectar"
disconnectService:"Desconectar"
enableLocalTimeline:"Habilitar linea de tiempo local"
enableGlobalTimeline:"Habilitar linea de tiempo global"
disablingTimelinesInfo:"Aunque se desactiven estas lineas de tiempo, por conveniencia el administrador y los moderadores pueden seguir usándolos"
@@ -311,9 +327,14 @@ driveCapacityPerRemoteAccount: "Capacidad del drive por usuario remoto"
inMb:"En megabytes"
iconUrl:"URL de la imagen del avatar"
bannerUrl:"URL de la imagen del banner"
backgroundImageUrl:"URL de la imagen de fondo"
basicInfo:"Información básica"
pinnedUsers:"Usuarios fijados"
pinnedUsersDescription:"Describir los usuarios que quiere fijar en la página \"Descubrir\" separados por una linea nueva"
pinnedPages:"Páginas fijadas"
pinnedPagesDescription:"Describa las rutas de las páginas que desea fijar a la página principal de la instancia, separadas por lineas nuevas"
pinnedClipId:"Id del clip fijado"
pinnedNotes:"Nota fijada"
hcaptcha:"hCaptcha"
enableHcaptcha:"Habilitar hCaptcha"
hcaptchaSiteKey:"Clave del sitio"
@@ -332,7 +353,6 @@ antennaExcludeKeywords: "Palabras clave para excluir"
antennaKeywordsDescription:"Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR"
notifyAntenna:"Notificar nueva nota"
withFileAntenna:"Sólo notas con archivos adjuntados"
serviceworker:"ServiceWorker"
enableServiceworker:"Activar ServiceWorker"
antennaUsersDescription:"Elegir nombres de usuarios separados por una linea nueva"
caseSensitive:"Distinguir mayúsculas de minúsculas"
aboutMisskeyText:"Misskey es un software de código abierto, desarrollado por syuilo desde el 2014"
misskeyMembers:"Es creado y mantenido por los miembros aquí listados:"
misskeySource:"El código fuente está disponible aquí:"
misskeyTranslation:"Ayúdanos con tu contribución para traducir Misskey:"
misskeyDonate:"Puedes contribuir al desarrollo de Misskey donando aquí:"
morePatrons:"Muchas más personas nos apoyan. Muchas gracias🥰"
patrons:"Patrocinadores"
administrator:"Administrador"
token:"Token"
twoStepAuthentication:"Autenticación de dos factores"
@@ -428,6 +441,7 @@ signinWith: "Inicie sesión con {x}"
signinFailed:"Autenticación fallida. Asegúrate de haber usado el nombre de usuario y contraseña correctos."
tapSecurityKey:"Toque la clave de seguridad"
or:"O"
language:"Idioma"
uiLanguage:"Idioma de visualización de la interfaz"
groupInvited:"Invitado al grupo"
aboutX:"Acerca de {x}"
@@ -435,13 +449,14 @@ useOsNativeEmojis: "Usa los emojis nativos de la plataforma"
youHaveNoGroups:"Sin grupos"
joinOrCreateGroup:"Obtenga una invitación para unirse al grupos o puede crear su propio grupo."
noHistory:"No hay datos en el historial"
signinHistory:"Historial de ingresos"
disableAnimatedMfm:"Deshabilitar MFM que tiene animaciones"
doing:"Voy en camino"
category:"Categoría"
tags:"Etiqueta"
docSource:"Fuente de este documento"
createAccount:"Crear cuenta"
existingAcount:"Cuentas existentes"
existingAccount:"Cuenta existente"
regenerate:"Regenerar"
fontSize:"Tamaño de la letra"
noFollowRequests:"No hay solicitudes de seguimiento"
@@ -487,6 +502,7 @@ none: "Ninguna"
showInPage:"Mostrar en la página"
popout:"Popout"
volume:"Volumen"
masterVolume:"Volumen principal"
details:"Detalles"
chooseEmoji:"Elije un emoji"
unableToProcess:"La operación no se puede llevar a cabo"
@@ -513,7 +529,9 @@ removeAllFollowing: "Retener todos los siguientes"
removeAllFollowingDescription:"Cancelar todos los siguientes del servidor {host}. Ejecutar en caso de que esta instancia haya dejado de existir"
userSuspended:"Este usuario ha sido suspendido."
userSilenced:"Este usuario ha sido silenciado."
sidebar:"Barra lateral"
yourAccountSuspendedTitle:"Esta cuenta ha sido suspendida"
yourAccountSuspendedDescription:"Esta cuenta ha sido suspendida debido a violaciones de los términos de servicio del servidor y otras razones. Para más información, póngase en contacto con el administrador. Por favor, no cree una nueva cuenta."
useStarForReactionFallback:"En caso de que los emojis de reacciones no sean claros, usar en su lugar una estrella"
emailConfig:"Configuración del servidor de correos"
emailServer:"Servidor de correo"
enableEmail:"Activar el envío de correos electrónicos"
emailConfigInfo:"Usar en caso de validación de correo electrónico y pedido de contraseña"
email:"Correo electrónico"
email:"Correo"
emailAddress:"Correo electrónico"
smtpConfig:"Configuración del servidor SMTP"
smtpHost:"Host"
smtpPort:"Puerto"
@@ -588,6 +611,7 @@ regenerateLoginTokenDescription: "Regenerar el token usado internamente durante
setMultipleBySeparatingWithSpace:"Puedes añadir mas de uno, separado por espacios."
fileIdOrUrl:"Id del archivo o URL"
chatOpenBehavior:"Comportamiento al abrir el chat"
behavior:"Comportamiento"
sample:"Muestra"
abuseReports:"Reportes"
reportAbuse:"Reportar"
@@ -606,7 +630,127 @@ random: "Aleatorio"
system:"Sistema"
switchUi:"Cambiar interfaz de usuario"
desktop:"Escritorio"
clip:"Clip"
createNew:"Crear"
optional:"Opcional"
createNewClip:"Crear clip nuevo"
public:"Público"
i18nInfo:"Misskey está siendo traducido a varios idiomas gracias a voluntarios. Se puede colaborar traduciendo en {link}"
manageAccessTokens:"Administrar tokens de acceso"
accountInfo:"Información de la Cuenta"
notesCount:"Cantidad de notas"
repliesCount:"Cantidad de respuestas hechas"
renotesCount:"Cantidad de renotas hechas"
repliedCount:"Cantidad de respuestas recibidas"
renotedCount:"Cantidad de renotas recibidas"
followingCount:"Cantidad de seguidos"
followersCount:"Cantidad de seguidores"
sentReactionsCount:"Cantidad de reacciones hechas"
receivedReactionsCount:"Cantidad de reacciones recibidas"
pollVotesCount:"Cantidad de votaciones hechas"
pollVotedCount:"Cantidad de votaciones recibidas"
yes:"Si"
no:"No"
driveFilesCount:"Cantidad de archivos en el drive"
driveUsage:"Uso del drive"
noCrawle:"Rechazar indexación del crawler"
noCrawleDescription:"Pedir a los motores de búsqueda que no indexen tu perfil, notas, páginas, etc."
lockedAccountInfo:"A menos que configures la visibilidad de tus notas como \"Sólo seguidores\", tus notas serán visibles para cualquiera, incluso si requieres que los seguidores sean aprobados manualmente."
alwaysMarkSensitive:"Marcar los medios de comunicación como contenido sensible por defecto"
loadRawImages:"Cargar las imágenes originales en lugar de mostrar las miniaturas"
verificationEmailSent:"Se le ha enviado un correo electrónico de confirmación. Por favor, acceda al enlace proporcionado en el correo electrónico para completar la configuración."
notSet:"Sin especificar"
emailVerified:"Su dirección de correo electrónico ha sido verificada."
noteFavoritesCount:"Número de notas favoritas"
pageLikesCount:"Número de favoritos en la página"
pageLikedCount:"Número de favoritos de su página"
reversiCount:"Numero de partidas Reversi"
contact:"Contacto"
useSystemFont:"Utilizar la tipografía por defecto del sistema"
makeExplorable:"Hacer visible la cuenta en \"Explorar\""
makeExplorableDescription:"Si desactiva esta opción, su cuenta no aparecerá en la sección \"Explorar\"."
showGapBetweenNotesInTimeline:"Mostrar un intervalo entre notas en la línea de tiempo"
duplicate:"Duplicar"
left:"Izquierda"
center:"Centrar"
wide:"Ancho"
narrow:"Estrecho"
reloadToApplySetting:"Esta configuración sólo se aplicará después de recargar la página. ¿Recargar ahora?"
showTitlebar:"Mostrar la barra de título"
clearCache:"Limpiar caché"
onlineUsersCount:"{n} usuarios en línea"
nUsers:"{n} Usuarios"
nNotes:"{n} Notas"
sendErrorReports:"Envíar informe de errores"
sendErrorReportsDescription:"Si habilita esta opción, ayudará a mejorar la calidad de Misskey compartiendo información detallada sobre los errores cuando se produzca un problema.\nEsto incluye información como la versión de su sistema operativo, el tipo de navegador que utiliza, su historial de actividad, etc."
myTheme:"Mi Tema"
backgroundColor:"Fondo"
accentColor:"Acento"
textColor:"Texto"
saveAs:"Guardar como…"
advanced:"Avanzado"
value:"Valores"
createdAt:"Fecha de creación"
updatedAt:"Actualizado"
saveConfirm:"¿Guardar cambios?"
deleteConfirm:"¿Desea eliminarlo?"
invalidValue:"Este no es un valor válido."
registry:"Registro"
closeAccount:"Cerrar cuenta"
currentVersion:"Versión actual"
latestVersion:"Última versión"
youAreRunningUpToDateClient:"Está utilizando la versión más reciente de su cliente."
newVersionOfClientAvailable:"Hay una versión más nueva de su cliente disponible."
usageAmount:"Uso"
capacity:"Capacidad"
inUse:"Usado"
editCode:"Editar código"
goBack:"Deseleccionar"
info:"Información"
user:"Usuarios"
administration:"Administrar"
expiration:"Termina el"
middle:"Mediano"
customCssWarn:"Este ajuste sólo debe utilizarse si se sabe lo que hace. Introducir valores inadecuados puede hacer que el cliente deje de funcionar con normalidad."
global:"Global"
squareAvatars:"Mostrar iconos cuadrados"
sent:"Enviar"
received:"Recibido"
searchResult:"Resultados de búsqueda"
hashtags:"Hashtag"
troubleshooting:"Solución de problemas"
useBlurEffect:"Utilizar efecto de desenfoque en la interfaz de usuario"
learnMore:"Ver más"
misskeyUpdated:"¡Misskey ha sido actualizado!"
whatIsNew:"Mostrar cambios"
translate:"Traducir"
translatedFrom:"Traducido de {x}"
accountDeletionInProgress:"La eliminación de la cuenta está en curso"
usernameInfo:"Un nombre que identifique su cuenta de otras en este servidor. Puede utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres de usuario no se pueden cambiar posteriormente."
aiChanMode:"Modo Ai"
keepCw:"Mantener la advertencia de contenido"
pubSub:"Cuentas Pub/Sub"
lastCommunication:"Última comunicación"
resolved:"Resuelto"
unresolved:"Sin resolver"
_accountDelete:
accountDelete:"Eliminar Cuenta"
_docs:
admin:"Administrar"
_ad:
back:"Deseleccionar"
_gallery:
unlike:"Quitar me gusta"
_email:
_follow:
title:"te ha seguido"
_registry:
key:"Clave"
keys:"Clave"
_mfm:
cheatSheet:"Hoja de referencia de MFM"
intro:"MFM es un lenguaje de marcado dedicado que se puede usar en varios lugares dentro de Misskey. Aquí puede ver una lista de sintaxis disponibles en MFM."
@@ -624,6 +768,7 @@ _mfm:
search:"Buscar"
flip:"Echar de un capirotazo"
flipDescription:"Voltea el contenido hacia arriba / abajo o hacia la izquierda / derecha."
introMisskey:"환영합니다! Misskey 는 오픈 소스 분산형 마이크로 블로그 서비스입니다.\n\"노트\" 를 작성해서, 지금 일어나고 있는 일을 공유하거나, 당신만의 이야기를 모두에게 발신하세요📡\n\"리액션\" 기능으로, 친구의 노트에 총알같이 반응을 추가할 수도 있습니다👍\n새로운 세계를 탐험해 보세요🚀"
reactionSettingDescription:"리액션 선택 상자에 표시할 리액션을 설정합니다."
reactionSettingDescription2:"드래그하여 순서를 바꿉니다. 클릭하면 삭제됩니다."
reactionSettingDescription2:"끌어서 순서 변경, 클릭해서 삭제, +를 눌러서 추가할 수 있습니다."
rememberNoteVisibility:"공개 범위를 기억하기"
attachCancel:"첨부 취소"
markAsSensitive:"열람주의로 설정"
@@ -118,6 +128,7 @@ editWidgets: "위젯 편집"
editWidgetsExit:"편집 종료"
customEmojis:"커스텀 이모지"
emoji:"이모지"
emojis:"이모지"
emojiName:"이모지 이름"
emojiUrl:"이모지 URL"
addEmoji:"이모지 추가"
@@ -127,8 +138,9 @@ cacheRemoteFilesDescription: "이 설정을 해지하면 리모트 파일을 캐
flagAsBot:"나는 봇입니다"
flagAsBotDescription:"이 계정을 자동화된 수단으로 운용할 경우에 활성화해 주세요. 이 플래그를 활성화하면, 다른 봇이 이를 참고하여 봇 끼리의 무한 연쇄 반응을 회피하거나, 이 계정의 시스템 상에서의 취급이 Bot 운영에 최적화되는 등의 변화가 생깁니다."
flagAsCat:"나는 고양이다냥"
flagAsCatDescription:"이 계정이 고양이라면 활성화 해주세요."
autoAcceptFollowed:"팔로우 중인 유저로부터의 팔로우 요청을 자동 수락"
addAcount:"계정 추가"
addAccount:"계정 추가"
loginFailed:"로그인에 실패했습니다"
showOnRemote:"리모트에서 보기"
general:"일반"
@@ -268,6 +280,7 @@ emptyDrive: "드라이브가 비어 있습니다"
emptyFolder:"폴더가 비어 있습니다"
unableToDelete:"삭제할 수 없습니다"
inputNewFileName:"바꿀 파일명을 입력해 주세요"
inputNewDescription:"새 캡션을 입력해 주세요"
inputNewFolderName:"바꿀 폴더명을 입력해 주세요"
circularReferenceFolder:"지정한 폴더가 이동할 폴더의 하위 폴더입니다."
hasChildFilesOrFolders:"이 폴더는 비어있지 않기 때문에 삭제할 수 없습니다."
@@ -299,8 +312,8 @@ monthX: "{month}월"
yearX:"{year}년"
pages:"페이지"
integration:"연동"
connectSerice:"접속"
disconnectSerice:"연결 끊기"
connectService:"계정 연동"
disconnectService:"계정 연동 해제"
enableLocalTimeline:"로컬 타임라인 활성화"
enableGlobalTimeline:"글로벌 타임라인 활성화"
disablingTimelinesInfo:"특정 타임라인을 비활성화하더라도 관리자 및 모더레이터는 계속 사용할 수 있습니다."
introMisskey:"Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте осебе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀"
@@ -46,6 +51,7 @@ copyUsername: "Скопировать имя пользователя"
searchUser:"Поиск людей"
reply:"Ответить"
loadMore:"Показать еще"
showMore:"Показать еще"
youGotNewFollower:"Новый подписчик"
receiveFollowRequest:"Получен запрос на подписку"
followRequestAccepted:"Запрос на подписку принят"
@@ -75,6 +81,8 @@ somethingHappened: "Что-то пошло не так"
retry:"Повторить попытку"
pageLoadError:"Не удалось загрузить страницу"
pageLoadErrorDescription:"Обычно это случается из-за сбоев в сети или кэша браузера. Попробуйте очистить кэш, или подождать пару минут, а потом попытаться загрузить страницу снова."
serverIsDead:"Ответа от сервера нет. Пожалуйста, подождите немного и повторите попытку."
youShouldUpgradeClient:"Чтобы просмотреть эту страницу, пожалуйста, обновите ее."
@@ -127,8 +140,9 @@ cacheRemoteFilesDescription: "Когда эта настройка отключ
flagAsBot:"Аккаунт бота"
flagAsBotDescription:"Включите, если этот аккаунт управляется программой. Это позволит системе Misskey учитывать это, а также поможет разработчикам других ботов предотвратить бесконечные циклы взаимодействия."
flagAsCat:"Аккаунт кота"
flagAsCatDescription:"Включите, и этот аккаунт будет помечен как кошачий."
hasChildFilesOrFolders:"Эта папка не пуста и не может быть удалена."
@@ -299,8 +314,8 @@ monthX: "{month} месяц"
yearX:"{year} год"
pages:"Страницы"
integration:"Интеграция"
connectSerice:"Соединение"
disconnectSerice:"Отключение"
connectService:"Подключиться"
disconnectService:"Отключиться"
enableLocalTimeline:"Включить локальную ленту"
enableGlobalTimeline:"Включить глобальную ленту"
disablingTimelinesInfo:"У администраторов и модераторов есть доступ ко всем лентам, даже если они отключены."
@@ -314,11 +329,14 @@ driveCapacityPerRemoteAccount: "Объём диска на одного поль
inMb:"В мегабайтах"
iconUrl:"Ссылка на аватар"
bannerUrl:"Ссылка на изображение в шапке"
backgroundImageUrl:"Ссылка на фоновое изображение"
basicInfo:"Общая информация"
pinnedUsers:"Прикреплённый пользователь"
pinnedUsersDescription:"Перечислите по одному имени пользователя в строке. Пользователи, перечисленные здесь, будут привязаны к закладке \"Изучение\"."
pinnedPages:"Закрепленные страницы"
pinnedPagesDescription:"Если хотите закрепить страницы на главной сайта, сюда можно добавить пути к ним, каждый в отдельной строке."
antennaKeywordsDescription:"Пишите слова через пробел в одной строке, чтобы ловить их появление вместе; на отдельных строках располагайте слова, или группы слов, чтобы ловить любые из них."
notifyAntenna:"Уведомлять о новых заметках"
withFileAntenna:"Только заметки с вложениями"
serviceworker:"ServiceWorker"
enableServiceworker:"Включить ServiceWorker"
antennaUsersDescription:"Пишите каждое название аккаута на отдельной строке"
noFollowRequests:"Нерассмотренные запросы на подписку отсутствуют"
@@ -464,7 +476,7 @@ promotion: "Продвинуто"
promote:"Продвинуть"
numberOfDays:"Количество дней"
hideThisNote:"Спрятать эту запись"
showFeaturedNotesInTimeline:"Показывать в ленте заметки из подборки сайта"
showFeaturedNotesInTimeline:"Показывать в ленте заметки из «Горячего»"
objectStorage:"Хранилище"
useObjectStorage:"Занято в хранилище"
objectStorageBaseUrl:"Базовый адрес"
@@ -492,6 +504,7 @@ none: "Ничего"
showInPage:"Показать страницу"
popout:"Развернуть"
volume:"Громкость"
masterVolume:"Основная регулировка громкости"
details:"Подробнее"
chooseEmoji:"Выберите эмодзи"
unableToProcess:"Не удаётся завершить операцию"
@@ -516,9 +529,11 @@ deleteAllFiles: "Удалить все файлы"
deleteAllFilesConfirm:"Вы хотите удалить все файлы?"
removeAllFollowing:"Удалить всех подписчиков"
removeAllFollowingDescription:"Отменить все подписки с домена {host}? Пожалуйста, применяйте это действие, если инстанс больше не существует."
userSuspended:"Этот пользователь был заморожен"
userSuspended:"Эта учётная запись заморожена"
userSilenced:"Этот пользователь был заглушен"
sidebar:"Боковая панель"
yourAccountSuspendedTitle:"Эта учетная запись заблокирована"
yourAccountSuspendedDescription:"Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
makeExplorableDescription:"Если выключить, ваш профиль не будет показан в разделе «Обзор»."
showGapBetweenNotesInTimeline:"Показывать разделитель между заметками в ленте"
duplicate:"Дубликат"
left:"Влево"
center:"По центру"
wide:"Толстый"
narrow:"Тонкий"
reloadToApplySetting:"Это настройка вступает в силу при загрузке страницы. Перезагрузить сейчас?"
showTitlebar:"Показать заголовок"
clearCache:"Очистить кэш"
onlineUsersCount:"Пользователей сейчас в сети: {n}"
nUsers:"Пользователей: {n}"
nNotes:"Заметок: {n}"
sendErrorReports:"Посылать отчёты о сбоях"
sendErrorReportsDescription:"Если включено, когда возникнет какая-нибудь техническая проблема, подробные сведения об этом будут отправлены разработчикам Misskey. Это очень помогает делать программу лучше. В отчёты попадают тип и версия ОС, браузера, журнал действий (что привело к сбою) и тому подобное."
myTheme:"Личная тема"
backgroundColor:"Фон"
accentColor:"Акцент"
textColor:"Текст"
saveAs:"Сохранить под названием…"
advanced:"Для продвинутых"
value:"Значения"
createdAt:"Создано"
updatedAt:"Обновлено"
saveConfirm:"Сохранить изменения?"
deleteConfirm:"Удалить?"
invalidValue:"Недопустимое значение."
registry:"Реестр"
closeAccount:"Закрыть учётную запись"
currentVersion:"Используемая версия"
latestVersion:"Самая свежая версия"
youAreRunningUpToDateClient:"У вас самая свежая версия клиента."
newVersionOfClientAvailable:"Доступна более свежая версия клиента."
usageAmount:"Использовано"
capacity:"Ёмкость"
inUse:"Занято"
editCode:"Редактировать исходный текст"
apply:"Применить"
receiveAnnouncementFromInstance:"Получать оповещения с инстанса"
emailNotification:"Уведомления по электронной почте"
publish:"Опубликовать"
inChannelSearch:"Поиск по каналу"
useReactionPickerForContextMenu:"Открывать палитру реакций правой кнопкой"
typingUsers:"Стук клавиш. Это {users}…"
jumpToSpecifiedDate:"Перейти к заданной дате"
showingPastTimeline:"Отображается старая лента"
clear:"Очистить"
markAllAsRead:"Отметить всё как прочитанное"
goBack:"Выход"
unlikeConfirm:"В самом деле отменить «нравится»?"
fullView:"Полный вид"
quitFullView:"Закрыть полный вид"
addDescription:"Добавить описание"
userPagePinTip:"Можно добавить сюда заметки, выбрав нужную, и включив в её меню пункт «Закрепить в профиле»."
notSpecifiedMentionWarning:"В этой заметке есть упоминание тех, кто не включён в адресаты"
info:"Описание"
userInfo:"Сведения о пользователе"
unknown:"Неизвестно"
onlineStatus:"Присутствие в сети"
hideOnlineStatus:"Скрыть присутствие"
hideOnlineStatusDescription:"Сокрытие присутствия делает некоторые функции, такие как поиск, менее удобными."
online:"В сети"
active:"Действует"
offline:"Не в сети"
notRecommended:"Не рекомендуется"
botProtection:"Ботозащита"
instanceBlocking:"Блокировка инстансов"
selectAccount:"Выберите учётную запись"
enabled:"Вкл."
disabled:"Откл."
quickAction:"Быстрое действие"
user:"Пользователи"
administration:"Управление"
accounts:"Учётные записи"
switch:"Переключение"
noMaintainerInformationWarning:"Не заполнены сведения об администраторах"
noBotProtectionWarning:"Ботозащита не настроена"
configure:"Настроить"
postToGallery:"Опубликовать в галерею"
gallery:"Галерея"
recentPosts:"Недавние публикации"
popularPosts:"Популярные публикации"
shareWithNote:"Поделиться заметкой"
ads:"Реклама"
expiration:"Опрос длится"
memo:"Памятка"
priority:"Приоритет"
high:"Высокий"
middle:"Средне"
low:"Низкий"
emailNotConfiguredWarning:"Не указан адрес электронной почты"
ratio:"Соотношение"
customCss:"Индивидуальный CSS"
customCssWarn:"Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что сайт перестанет нормально работать у вас."
global:"Всеобщая"
squareAvatars:"Квадратные аватарки"
sent:"Отправить"
received:"Получено"
searchResult:"Результаты поиска"
hashtags:"Хэштег"
troubleshooting:"Разрешение проблем"
useBlurEffect:"Размытие в интерфейсе"
learnMore:"Подробнее"
misskeyUpdated:"Misskey обновился!"
whatIsNew:"Что новенького?"
translate:"Перевод"
accountDeletionInProgress:"В настоящее время выполняется удаление учетной записи"
usernameInfo:"Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
aiChanMode:"ИИ режим"
keepCw:"Сохраняйте Предупреждения о содержимом"
controlPanel:"Панель управления"
manageAccounts:"Управление аккаунтом"
_docs:
continueReading:"Читать подробнее"
features:"Возможности"
generalTopics:"Основные темы"
advancedTopics:"Дополнительные темы"
admin:"Управление"
translateWarn:"Это перевод документа. Он может неточно отражать содержимое оригинала."
_ad:
back:"Выход"
reduceFrequencyOfThisAd:"Реже показывать эту рекламу"
_forgotPassword:
enterEmail:"Введите адрес электронной почты, который ввели при регистрации. На неё будет выслана ссылка для смены пароля."
ifNoEmail:"Если вы не ввели свой адрес электронной почты, свяжитесь с администратором ресурса, чтобы сменить пароль."
contactAdmin:"Здесь не используются адреса электронной почты, так что свяжитесь с администратором, чтобы поменять пароль."
_gallery:
my:"Личная"
liked:"Понравившееся"
like:"Нравится!"
unlike:"Отменить «нравится»"
_email:
_follow:
title:"Новый подписчик"
_receiveFollowRequest:
title:"Новый запрос на подписку."
_plugin:
install:"Установка расширений"
installWarn:"Пожалуйста, не устанавливайте расширения, которым не доверяете."
manage:"Управление расширениями"
_registry:
scope:"Область"
key:"Ключ"
keys:"Ключ"
domain:"Домен"
createKey:"Новый ключ"
_aboutMisskey:
about:"Misskey — программа с открытым исходным кодом, которую разрабатывает syuilo с 2014 года."
contributors:"Основные соавторы"
allContributors:"Все соавторы"
source:"Исходный код"
translation:"Перевод Misskey"
donate:"Пожертвование на Misskey"
morePatrons:"Большое спасибо и многим другим, кто принял участие в этом проекте! 🥰"
patrons:"Материальная поддержка"
_nsfw:
respect:"Скрывать содержимое не для всех"
ignore:"Показывать содержимое не для всех"
force:"Скрывать вообще все файлы"
_mfm:
cheatSheet:"Подсказка по разметке MFM"
intro:"MFM — язык оформления текста, придуманный специально для Misskey, который здесь можно много где использовать. На этой странице собраны и кратко изложены способы егоприменения."
intro:"MFM — язык оформления текста, который придуман специально для Misskey и готов для применения во многих местах. На этой странице собраны и кратко изложены способы егоиспользовать."
dummy:"Misskey расширяет границы Федиверса."
mention:"Упоминание"
mentionDescription:"При помощи знака «собака» перед именем можно упомянуть какого-нибудь пользователя."
@@ -667,6 +881,18 @@ _mfm:
twitchDescription:"Заставляет трястись как одержимого"
spin:"Вращение"
spinDescription:"Так можно крутить содержимое в разных направлениях."
x2:"Крупный шрифт"
x2Description:"Увеличивает содержимое."
x3:"Ещё крупнее"
x3Description:"Сильнее увеличивает содержимое."
x4:"Совсем крупно"
x4Description:"Увеличивает содержимое совсем сильно."
blur:"Размытие"
blurDescription:"Размывает текст до нечитаемости, будто его поместили за матовое стекло. Наведение указателя мыши на размытый текст возвращает чёткость."
font:"Шрифт"
fontDescription:"Так можно писать произвольным шрифтом."
rainbow:"Радуга"
rainbowDescription:"Заставлять содержимое отображаться в цветах радуги."
_reversi:
reversi:"Реверси"
gameSettings:"Настройки игры"
@@ -718,9 +944,10 @@ _channel:
following:"Подписки"
usersCount:"Участников: {n}"
notesCount:"Заметок: {n}"
_sidebar:
full:"Полностью"
icon:"Только значки"
_menuDisplay:
sideFull:"Сторона"
sideIcon:"Сторона (иконки)"
top:"Вверх"
hide:"Спрятать"
_wordMute:
muteWords:"Скрыть слово"
@@ -736,7 +963,10 @@ _theme:
install:"Установить тему"
manage:"Менеджер тем"
code:"Код темы"
description:"Описание"
installed:"Тема «{name}» установлена."
installedThemes:"Установленные темы"
builtinThemes:"Встроенные темы"
alreadyInstalled:"Тема уже установлена."
invalid:"Формат темы некорректный."
make:"Создать тему"
@@ -810,6 +1040,8 @@ _sfx:
chatBg:"Сообщения (фон)"
antenna:"Антенна"
channel:"Канал"
reversiPutBlack:"Реверси — ход чёрных"
reversiPutWhite:"Реверси — ход белых"
_ago:
unknown:"Когда-то"
future:"Из будущего"
@@ -850,7 +1082,7 @@ _tutorial:
step7_2:"Хотите изучить Misskey глубже — добро пожаловать в раздел «{help}»."
step7_3:"Приятно вам провести время с Misskey🚀"
_2fa:
alreadyRegistered:"Настройка завершена"
alreadyRegistered:"Двухфакторная аутентификация уже настроена."
registerDevice:"Зарегистрируйте ваше устройство"
registerKey:"Зарегистрировать ключ"
step1:"Прежде всего, установите на устройство приложение для аутентификации, например, {a} или {b}."
@@ -921,6 +1153,13 @@ _widgets:
digitalClock:"Цифровые часы"
federation:"Федерация"
postForm:"Форма отправки"
slideshow:"Показ слайдов"
button:"Кнопка"
onlineUsers:"Пользователи сейчас с сети"
jobQueue:"Очередь заданий"
serverMetric:"Показатели сервера"
aiscript:"Консоль AiScript"
aichan:"Ай"
_cw:
hide:"Спрятать"
show:"Показать еще"
@@ -952,13 +1191,13 @@ _visibility:
public:"Общедоступно"
publicDescription:"Открыто для всех"
home:"Домашняя"
homeDescription:"Непоявится в общих лентах (локальной и глобальной)"
homeDescription:"Недля общих лент"
followers:"Для подписчиков"
followersDescription:"Увидят только ваши подписчики"
followersDescription:"Только вашим подписчикам"
specified:"Личное"
specifiedDescription:"Только для тех, кого укажете"
specifiedDescription:"Тем, кого укажете"
localOnly:"Локально"
localOnlyDescription:"Увидят только пользователи этого сайта"
localOnlyDescription:"Только для этого сайта"
_postForm:
replyPlaceholder:"Ответ на заметку..."
quotePlaceholder:"Пояснение к цитате..."
@@ -975,9 +1214,13 @@ _profile:
username:"Имя пользователя"
description:"Осебе"
youCanIncludeHashtags:"Можете использовать здесь хэштеги"
metadata:"Всякое"
metadata:"Дополнительные сведения"
metadataEdit:"Редактировать дополнительные сведения"
metadataDescription:"Можно добавить до четырёх дополнительных граф в профиль."
metadataLabel:"Метка"
metadataContent:"Содержимое"
changeAvatar:"Поменять аватар"
changeBanner:"Поменять изображение в шапке"
_exportOrImport:
allNotes:"Все записи\n"
followingList:"Подписки"
@@ -1097,7 +1340,7 @@ _pages:
liked:"Понравившиеся страницы"
featured:"Популярные"
inspector:"Инспектор"
contents:"Содержательные"
contents:"Содержимое"
content:"Содержимое"
variables:"Переменные"
title:"Заголовок"
@@ -1399,6 +1642,8 @@ _notification:
_deck:
alwaysShowMainColumn:"Всегда показывать главную колонку"
introMisskey:"Açık kaynaklı bir dağıtılmış mikroblog hizmeti olan Misskey'e hoş geldiniz.\nMisskey, neler olup bittiğini paylaşmak ve herkese sizden bahsetmek için \"notlar\" oluşturmanıza olanak tanıyan, açık kaynaklı, dağıtılmış bir mikroblog hizmetidir.\nHerkesin notlarına kendi tepkilerinizi hızlıca eklemek için \"Tepkiler\" özelliğini de kullanabilirsiniz👍.\nYeni bir dünyayı keşfedin🚀."
monthAndDay:"{month}Ay {day}Gün"
search:"Arama"
notifications:"Bildirim"
username:"Kullanıcı Adı"
password:"Şifre"
forgotPassword:"şifremi unuttum"
ok:"TAMAM"
gotIt:"Anladım"
cancel:"İptal"
enterUsername:"Kullanıcı adınızı giriniz"
noNotes:"Notlar mevcut değil."
noNotifications:"Bildirim bulunmuyor"
settings:"Ayarlar"
basicSettings:"Temel Ayarlar"
otherSettings:"Diğer Ayarlar"
openInWindow:"Bir pencere ile aç"
profile:"Profil"
timeline:"Zaman çizelgesi"
noAccountDescription:"Bu kullanıcı henüz biyografisini yazmadı"
login:"Giriş Yap "
logout:"Çıkış Yap"
signup:"Kayıt Ol"
uploading:"Yükleniyor"
users:"Kullanıcı"
addUser:"Kullanıcı Ekle"
favorite:"Favoriler"
favorites:"Favoriler"
unfavorite:"Favorilerden Kaldır"
favorited:"Favorilerime eklendi."
alreadyFavorited:"Zaten favorilerinizde kayıtlı."
pin:"Sabitlenmiş"
unpin:"Sabitlemeyi kaldır"
copyContent:"İçeriği kopyala"
copyLink:"Bağlantıyı Kopyala"
delete:"Sil"
deleteAndEdit:"Sil ve yeniden düzenle"
deleteAndEditConfirm:"Bu notu silip yeniden düzenlemek istiyor musunuz? Bu nota ilişkin tüm Tepkiler, Yeniden Notlar ve Yanıtlar da silinecektir."
awaitqueryRunner.query(`CREATE TYPE "log_level_enum" AS ENUM('error', 'warning', 'info', 'success', 'debug')`);
awaitqueryRunner.query(`CREATE TABLE "log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "domain" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "level" "log_level_enum" NOT NULL, "worker" character varying(8) NOT NULL, "machine" character varying(128) NOT NULL, "message" character varying(1024) NOT NULL, "data" jsonb NOT NULL DEFAULT '{}', CONSTRAINT "PK_350604cbdf991d5930d9e618fbd" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_8e4eb51a35d81b64dda28eed0a" ON "log" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_8cb40cfc8f3c28261e6f887b03" ON "log" ("domain") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_584b536b49e53ac81beb39a177" ON "log" ("level") `);
awaitqueryRunner.query(`CREATE TABLE "drive_folder" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(128) NOT NULL, "userId" character varying(32), "parentId" character varying(32), CONSTRAINT "PK_7a0c089191f5ebdc214e0af808a" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_02878d441ceae15ce060b73daf" ON "drive_folder" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_f4fc06e49c0171c85f1c48060d" ON "drive_folder" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_00ceffb0cdc238b3233294f08f" ON "drive_folder" ("parentId") `);
awaitqueryRunner.query(`CREATE TABLE "drive_file" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "userHost" character varying(128), "md5" character varying(32) NOT NULL, "name" character varying(256) NOT NULL, "type" character varying(128) NOT NULL, "size" integer NOT NULL, "comment" character varying(512), "properties" jsonb NOT NULL DEFAULT '{}', "storedInternal" boolean NOT NULL, "url" character varying(512) NOT NULL, "thumbnailUrl" character varying(512), "webpublicUrl" character varying(512), "accessKey" character varying(256), "thumbnailAccessKey" character varying(256), "webpublicAccessKey" character varying(256), "uri" character varying(512), "src" character varying(512), "folderId" character varying(32), "isSensitive" boolean NOT NULL DEFAULT false, "isLink" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_43ddaaaf18c9e68029b7cbb032e" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_c8dfad3b72196dd1d6b5db168a" ON "drive_file" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_860fa6f6c7df5bb887249fba22" ON "drive_file" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_92779627994ac79277f070c91e" ON "drive_file" ("userHost") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_37bb9a1b4585f8a3beb24c62d6" ON "drive_file" ("md5") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_a40b8df8c989d7db937ea27cf6" ON "drive_file" ("type") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_d85a184c2540d2deba33daf642" ON "drive_file" ("accessKey") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_e74022ce9a074b3866f70e0d27" ON "drive_file" ("thumbnailAccessKey") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_c55b2b7c284d9fef98026fc88e" ON "drive_file" ("webpublicAccessKey") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_e5848eac4940934e23dbc17581" ON "drive_file" ("uri") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_bb90d1956dafc4068c28aa7560" ON "drive_file" ("folderId") `);
awaitqueryRunner.query(`CREATE TABLE "user" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "lastFetchedAt" TIMESTAMP WITH TIME ZONE, "username" character varying(128) NOT NULL, "usernameLower" character varying(128) NOT NULL, "name" character varying(128), "followersCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "avatarId" character varying(32), "bannerId" character varying(32), "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "avatarUrl" character varying(512), "bannerUrl" character varying(512), "avatarColor" character varying(32), "bannerColor" character varying(32), "isSuspended" boolean NOT NULL DEFAULT false, "isSilenced" boolean NOT NULL DEFAULT false, "isLocked" boolean NOT NULL DEFAULT false, "isBot" boolean NOT NULL DEFAULT false, "isCat" boolean NOT NULL DEFAULT false, "isAdmin" boolean NOT NULL DEFAULT false, "isModerator" boolean NOT NULL DEFAULT false, "isVerified" boolean NOT NULL DEFAULT false, "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "host" character varying(128), "inbox" character varying(512), "sharedInbox" character varying(512), "featured" character varying(512), "uri" character varying(512), "token" character(16), CONSTRAINT "UQ_a854e557b1b14814750c7c7b0c9" UNIQUE ("token"), CONSTRAINT "REL_58f5c71eaab331645112cf8cfa" UNIQUE ("avatarId"), CONSTRAINT "REL_afc64b53f8db3707ceb34eb28e" UNIQUE ("bannerId"), CONSTRAINT "PK_cace4a159ff9f2512dd42373760" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_e11e649824a45d8ed01d597fd9" ON "user" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_80ca6e6ef65fb9ef34ea8c90f4" ON "user" ("updatedAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_a27b942a0d6dcff90e3ee9b5e8" ON "user" ("usernameLower") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_fa99d777623947a5b05f394cae" ON "user" ("tags") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_3252a5df8d5bbd16b281f7799e" ON "user" ("host") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_be623adaa4c566baf5d29ce0c8" ON "user" ("uri") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_a854e557b1b14814750c7c7b0c" ON "user" ("token") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_5deb01ae162d1d70b80d064c27" ON "user" ("usernameLower", "host") `);
awaitqueryRunner.query(`CREATE TABLE "app" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "secret" character varying(64) NOT NULL, "name" character varying(128) NOT NULL, "description" character varying(512) NOT NULL, "permission" character varying(64) array NOT NULL, "callbackUrl" character varying(512), CONSTRAINT "PK_9478629fc093d229df09e560aea" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_048a757923ed8b157e9895da53" ON "app" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_3f5b0899ef90527a3462d7c2cb" ON "app" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_f49922d511d666848f250663c4" ON "app" ("secret") `);
awaitqueryRunner.query(`CREATE TABLE "access_token" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "hash" character varying(128) NOT NULL, "userId" character varying(32) NOT NULL, "appId" character varying(32) NOT NULL, CONSTRAINT "PK_f20f028607b2603deabd8182d12" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_70ba8f6af34bc924fc9e12adb8" ON "access_token" ("token") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_64c327441248bae40f7d92f34f" ON "access_token" ("hash") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_9949557d0e1b2c19e5344c171e" ON "access_token" ("userId") `);
awaitqueryRunner.query(`CREATE TYPE "note_visibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
awaitqueryRunner.query(`CREATE TABLE "note" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "replyId" character varying(32), "renoteId" character varying(32), "text" text, "name" character varying(256), "cw" character varying(512), "appId" character varying(32), "userId" character varying(32) NOT NULL, "viaMobile" boolean NOT NULL DEFAULT false, "localOnly" boolean NOT NULL DEFAULT false, "renoteCount" smallint NOT NULL DEFAULT 0, "repliesCount" smallint NOT NULL DEFAULT 0, "reactions" jsonb NOT NULL DEFAULT '{}', "visibility" "note_visibility_enum" NOT NULL, "uri" character varying(512), "score" integer NOT NULL DEFAULT 0, "fileIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "attachedFileTypes" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentions" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentionedRemoteUsers" text NOT NULL DEFAULT '[]', "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "hasPoll" boolean NOT NULL DEFAULT false, "geo" jsonb DEFAULT null, "userHost" character varying(128), "replyUserId" character varying(32), "replyUserHost" character varying(128), "renoteUserId" character varying(32), "renoteUserHost" character varying(128), CONSTRAINT "PK_96d0c172a4fba276b1bbed43058" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_e7c0567f5261063592f022e9b5" ON "note" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_17cb3553c700a4985dff5a30ff" ON "note" ("replyId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_52ccc804d7c69037d558bac4c9" ON "note" ("renoteId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_5b87d9d19127bd5d92026017a7" ON "note" ("userId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_153536c67d05e9adb24e99fc2b" ON "note" ("uri") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_51c063b6a133a9cb87145450f5" ON "note" ("fileIds") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_25dfc71b0369b003a4cd434d0b" ON "note" ("attachedFileTypes") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_796a8c03959361f97dc2be1d5c" ON "note" ("visibleUserIds") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_54ebcb6d27222913b908d56fd8" ON "note" ("mentions") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_88937d94d7443d9a99a76fa5c0" ON "note" ("tags") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_7125a826ab192eb27e11d358a5" ON "note" ("userHost") `);
awaitqueryRunner.query(`CREATE TABLE "poll_vote" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "choice" integer NOT NULL, CONSTRAINT "PK_fd002d371201c472490ba89c6a0" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_0fb627e1c2f753262a74f0562d" ON "poll_vote" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_66d2bd2ee31d14bcc23069a89f" ON "poll_vote" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_aecfbd5ef60374918e63ee95fa" ON "poll_vote" ("noteId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_50bd7164c5b78f1f4a42c4d21f" ON "poll_vote" ("userId", "noteId", "choice") `);
awaitqueryRunner.query(`CREATE TABLE "note_reaction" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "reaction" character varying(128) NOT NULL, CONSTRAINT "PK_767ec729b108799b587a3fcc9cf" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_01f4581f114e0ebd2bbb876f0b" ON "note_reaction" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_13761f64257f40c5636d0ff95e" ON "note_reaction" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_45145e4953780f3cd5656f0ea6" ON "note_reaction" ("noteId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_ad0c221b25672daf2df320a817" ON "note_reaction" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TABLE "note_watching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, CONSTRAINT "PK_49286fdb23725945a74aa27d757" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_318cdf42a9cfc11f479bd802bb" ON "note_watching" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_b0134ec406e8d09a540f818288" ON "note_watching" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_03e7028ab8388a3f5e3ce2a861" ON "note_watching" ("noteId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_44499765eec6b5489d72c4253b" ON "note_watching" ("noteUserId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_a42c93c69989ce1d09959df4cf" ON "note_watching" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TABLE "note_unread" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, "isSpecified" boolean NOT NULL, CONSTRAINT "PK_1904eda61a784f57e6e51fa9c1f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_56b0166d34ddae49d8ef7610bb" ON "note_unread" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_e637cba4dc4410218c4251260e" ON "note_unread" ("noteId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_d908433a4953cc13216cd9c274" ON "note_unread" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TABLE "notification" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "notifieeId" character varying(32) NOT NULL, "notifierId" character varying(32) NOT NULL, "type" character varying(32) NOT NULL, "isRead" boolean NOT NULL DEFAULT false, "noteId" character varying(32), "reaction" character varying(128), "choice" integer, CONSTRAINT "PK_705b6c7cdf9b2c2ff7ac7872cb7" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b11a5e627c41d4dc3170f1d370" ON "notification" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_3c601b70a1066d2c8b517094cb" ON "notification" ("notifieeId") `);
awaitqueryRunner.query(`CREATE TABLE "meta" ("id" character varying(32) NOT NULL, "name" character varying(128), "description" character varying(1024), "maintainerName" character varying(128), "maintainerEmail" character varying(128), "announcements" jsonb NOT NULL DEFAULT '[]', "disableRegistration" boolean NOT NULL DEFAULT false, "disableLocalTimeline" boolean NOT NULL DEFAULT false, "disableGlobalTimeline" boolean NOT NULL DEFAULT false, "enableEmojiReaction" boolean NOT NULL DEFAULT true, "useStarForReactionFallback" boolean NOT NULL DEFAULT false, "langs" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "hiddenTags" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "blockedHosts" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mascotImageUrl" character varying(512) DEFAULT '/assets/ai.png', "bannerUrl" character varying(512), "errorImageUrl" character varying(512) DEFAULT 'https://xn--931a.moe/aiart/yubitun.png', "iconUrl" character varying(512), "cacheRemoteFiles" boolean NOT NULL DEFAULT true, "proxyAccount" character varying(128), "enableRecaptcha" boolean NOT NULL DEFAULT false, "recaptchaSiteKey" character varying(64), "recaptchaSecretKey" character varying(64), "localDriveCapacityMb" integer NOT NULL DEFAULT 1024, "remoteDriveCapacityMb" integer NOT NULL DEFAULT 32, "maxNoteTextLength" integer NOT NULL DEFAULT 500, "summalyProxy" character varying(128), "enableEmail" boolean NOT NULL DEFAULT false, "email" character varying(128), "smtpSecure" boolean NOT NULL DEFAULT false, "smtpHost" character varying(128), "smtpPort" integer, "smtpUser" character varying(128), "smtpPass" character varying(128), "enableServiceWorker" boolean NOT NULL DEFAULT false, "swPublicKey" character varying(128), "swPrivateKey" character varying(128), "enableTwitterIntegration" boolean NOT NULL DEFAULT false, "twitterConsumerKey" character varying(128), "twitterConsumerSecret" character varying(128), "enableGithubIntegration" boolean NOT NULL DEFAULT false, "githubClientId" character varying(128), "githubClientSecret" character varying(128), "enableDiscordIntegration" boolean NOT NULL DEFAULT false, "discordClientId" character varying(128), "discordClientSecret" character varying(128), CONSTRAINT "PK_c4c17a6c2bd7651338b60fc590b" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TABLE "following" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_c76c6e044bdf76ecf8bfb82a645" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_582f8fab771a9040a12961f3e7" ON "following" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_24e0042143a18157b234df186c" ON "following" ("followeeId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_6516c5a6f3c015b4eed39978be" ON "following" ("followerId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_307be5f1d1252e0388662acb96" ON "following" ("followerId", "followeeId") `);
awaitqueryRunner.query(`CREATE TABLE "instance" ("id" character varying(32) NOT NULL, "caughtAt" TIMESTAMP WITH TIME ZONE NOT NULL, "host" character varying(128) NOT NULL, "system" character varying(64), "usersCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "followersCount" integer NOT NULL DEFAULT 0, "driveUsage" integer NOT NULL DEFAULT 0, "driveFiles" integer NOT NULL DEFAULT 0, "latestRequestSentAt" TIMESTAMP WITH TIME ZONE, "latestStatus" integer, "latestRequestReceivedAt" TIMESTAMP WITH TIME ZONE, "lastCommunicatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "isNotResponding" boolean NOT NULL DEFAULT false, "isMarkedAsClosed" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_eaf60e4a0c399c9935413e06474" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_2cd3b2a6b4cf0b910b260afe08" ON "instance" ("caughtAt") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_8d5afc98982185799b160e10eb" ON "instance" ("host") `);
awaitqueryRunner.query(`CREATE TABLE "muting" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "muteeId" character varying(32) NOT NULL, "muterId" character varying(32) NOT NULL, CONSTRAINT "PK_2e92d06c8b5c602eeb27ca9ba48" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_f86d57fbca33c7a4e6897490cc" ON "muting" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_ec96b4fed9dae517e0dbbe0675" ON "muting" ("muteeId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_93060675b4a79a577f31d260c6" ON "muting" ("muterId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_1eb9d9824a630321a29fd3b290" ON "muting" ("muterId", "muteeId") `);
awaitqueryRunner.query(`CREATE TABLE "sw_subscription" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "endpoint" character varying(512) NOT NULL, "auth" character varying(256) NOT NULL, "publickey" character varying(128) NOT NULL, CONSTRAINT "PK_e8f763631530051b95eb6279b91" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_97754ca6f2baff9b4abb7f853d" ON "sw_subscription" ("userId") `);
awaitqueryRunner.query(`CREATE TABLE "blocking" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "blockeeId" character varying(32) NOT NULL, "blockerId" character varying(32) NOT NULL, CONSTRAINT "PK_e5d9a541cc1965ee7e048ea09dd" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b9a354f7941c1e779f3b33aea6" ON "blocking" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_2cd4a2743a99671308f5417759" ON "blocking" ("blockeeId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_0627125f1a8a42c9a1929edb55" ON "blocking" ("blockerId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_98a1bc5cb30dfd159de056549f" ON "blocking" ("blockerId", "blockeeId") `);
awaitqueryRunner.query(`CREATE TABLE "user_list" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, CONSTRAINT "PK_87bab75775fd9b1ff822b656402" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b7fcefbdd1c18dce86687531f9" ON "user_list" ("userId") `);
awaitqueryRunner.query(`CREATE TABLE "user_list_joining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userListId" character varying(32) NOT NULL, CONSTRAINT "PK_11abb3768da1c5f8de101c9df45" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_d844bfc6f3f523a05189076efa" ON "user_list_joining" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_605472305f26818cc93d1baaa7" ON "user_list_joining" ("userListId") `);
awaitqueryRunner.query(`CREATE TABLE "hashtag" ("id" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "mentionedUserIds" character varying(32) array NOT NULL, "mentionedUsersCount" integer NOT NULL DEFAULT 0, "mentionedLocalUserIds" character varying(32) array NOT NULL, "mentionedLocalUsersCount" integer NOT NULL DEFAULT 0, "mentionedRemoteUserIds" character varying(32) array NOT NULL, "mentionedRemoteUsersCount" integer NOT NULL DEFAULT 0, "attachedUserIds" character varying(32) array NOT NULL, "attachedUsersCount" integer NOT NULL DEFAULT 0, "attachedLocalUserIds" character varying(32) array NOT NULL, "attachedLocalUsersCount" integer NOT NULL DEFAULT 0, "attachedRemoteUserIds" character varying(32) array NOT NULL, "attachedRemoteUsersCount" integer NOT NULL DEFAULT 0, CONSTRAINT "PK_cb36eb8af8412bfa978f1165d78" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_347fec870eafea7b26c8a73bac" ON "hashtag" ("name") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_2710a55f826ee236ea1a62698f" ON "hashtag" ("mentionedUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_0e206cec573f1edff4a3062923" ON "hashtag" ("mentionedLocalUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_4c02d38a976c3ae132228c6fce" ON "hashtag" ("mentionedRemoteUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_d57f9030cd3af7f63ffb1c267c" ON "hashtag" ("attachedUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_0c44bf4f680964145f2a68a341" ON "hashtag" ("attachedLocalUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_0b03cbcd7e6a7ce068efa8ecc2" ON "hashtag" ("attachedRemoteUsersCount") `);
awaitqueryRunner.query(`CREATE TABLE "note_favorite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_af0da35a60b9fa4463a62082b36" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_47f4b1892f5d6ba8efb3057d81" ON "note_favorite" ("userId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_0f4fb9ad355f3effff221ef245" ON "note_favorite" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TABLE "abuse_user_report" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "reporterId" character varying(32) NOT NULL, "comment" character varying(512) NOT NULL, CONSTRAINT "PK_87873f5f5cc5c321a1306b2d18c" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_db2098070b2b5a523c58181f74" ON "abuse_user_report" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_d049123c413e68ca52abe73420" ON "abuse_user_report" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_04cc96756f89d0b7f9473e8cdf" ON "abuse_user_report" ("reporterId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_5cd442c3b2e74fdd99dae20243" ON "abuse_user_report" ("userId", "reporterId") `);
awaitqueryRunner.query(`CREATE TABLE "registration_ticket" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "code" character varying(64) NOT NULL, CONSTRAINT "PK_f11696b6fafcf3662d4292734f8" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_0ff69e8dfa9fe31bb4a4660f59" ON "registration_ticket" ("code") `);
awaitqueryRunner.query(`CREATE TABLE "messaging_message" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "recipientId" character varying(32) NOT NULL, "text" character varying(4096), "isRead" boolean NOT NULL DEFAULT false, "fileId" character varying(32), CONSTRAINT "PK_db398fd79dc95d0eb8c30456eaa" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_e21cd3646e52ef9c94aaf17c2e" ON "messaging_message" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_5377c307783fce2b6d352e1203" ON "messaging_message" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_cac14a4e3944454a5ce7daa514" ON "messaging_message" ("recipientId") `);
awaitqueryRunner.query(`CREATE TABLE "signin" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "ip" character varying(128) NOT NULL, "headers" jsonb NOT NULL, "success" boolean NOT NULL, CONSTRAINT "PK_9e96ddc025712616fc492b3b588" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_2c308dbdc50d94dc625670055f" ON "signin" ("userId") `);
awaitqueryRunner.query(`CREATE TABLE "auth_session" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "userId" character varying(32), "appId" character varying(32) NOT NULL, CONSTRAINT "PK_19354ed146424a728c1112a8cbf" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_62cb09e1129f6ec024ef66e183" ON "auth_session" ("token") `);
awaitqueryRunner.query(`CREATE TABLE "follow_request" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "requestId" character varying(128), "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_53a9aa3725f7a3deb150b39dbfc" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_12c01c0d1a79f77d9f6c15fadd" ON "follow_request" ("followeeId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_a7fd92dd6dc519e6fb435dd108" ON "follow_request" ("followerId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_d54a512b822fac7ed52800f6b4" ON "follow_request" ("followerId", "followeeId") `);
awaitqueryRunner.query(`CREATE TABLE "emoji" ("id" character varying(32) NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "name" character varying(128) NOT NULL, "host" character varying(128), "url" character varying(512) NOT NULL, "uri" character varying(512), "type" character varying(64), "aliases" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_df74ce05e24999ee01ea0bc50a3" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b37dafc86e9af007e3295c2781" ON "emoji" ("name") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_5900e907bb46516ddf2871327c" ON "emoji" ("host") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_4f4d35e1256c84ae3d1f0eab10" ON "emoji" ("name", "host") `);
awaitqueryRunner.query(`CREATE TABLE "reversi_game" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "startedAt" TIMESTAMP WITH TIME ZONE, "user1Id" character varying(32) NOT NULL, "user2Id" character varying(32) NOT NULL, "user1Accepted" boolean NOT NULL DEFAULT false, "user2Accepted" boolean NOT NULL DEFAULT false, "black" integer, "isStarted" boolean NOT NULL DEFAULT false, "isEnded" boolean NOT NULL DEFAULT false, "winnerId" character varying(32), "surrendered" character varying(32), "logs" jsonb NOT NULL DEFAULT '[]', "map" character varying(64) array NOT NULL, "bw" character varying(32) NOT NULL, "isLlotheo" boolean NOT NULL DEFAULT false, "canPutEverywhere" boolean NOT NULL DEFAULT false, "loopedBoard" boolean NOT NULL DEFAULT false, "form1" jsonb DEFAULT null, "form2" jsonb DEFAULT null, "crc32" character varying(32), CONSTRAINT "PK_76b30eeba71b1193ad7c5311c3f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b46ec40746efceac604142be1c" ON "reversi_game" ("createdAt") `);
awaitqueryRunner.query(`CREATE TABLE "reversi_matching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "parentId" character varying(32) NOT NULL, "childId" character varying(32) NOT NULL, CONSTRAINT "PK_880bd0afbab232f21c8b9d146cf" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b604d92d6c7aec38627f6eaf16" ON "reversi_matching" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_3b25402709dd9882048c2bbade" ON "reversi_matching" ("parentId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_e247b23a3c9b45f89ec1299d06" ON "reversi_matching" ("childId") `);
awaitqueryRunner.query(`CREATE TABLE "user_note_pining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_a6a2dad4ae000abce2ea9d9b103" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_bfbc6f79ba4007b4ce5097f08d" ON "user_note_pining" ("userId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_410cd649884b501c02d6e72738" ON "user_note_pining" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TYPE "poll_notevisibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
awaitqueryRunner.query(`CREATE TABLE "poll" ("noteId" character varying(32) NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE, "multiple" boolean NOT NULL, "choices" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "votes" integer array NOT NULL, "noteVisibility" "poll_notevisibility_enum" NOT NULL, "userId" character varying(32) NOT NULL, "userHost" character varying(128), CONSTRAINT "REL_da851e06d0dfe2ef397d8b1bf1" UNIQUE ("noteId"), CONSTRAINT "PK_da851e06d0dfe2ef397d8b1bf1b" PRIMARY KEY ("noteId"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_0610ebcfcfb4a18441a9bcdab2" ON "poll" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_7fa20a12319c7f6dc3aed98c0a" ON "poll" ("userHost") `);
awaitqueryRunner.query(`CREATE TABLE "user_keypair" ("userId" character varying(32) NOT NULL, "publicKey" character varying(4096) NOT NULL, "privateKey" character varying(4096) NOT NULL, CONSTRAINT "REL_f4853eb41ab722fe05f81cedeb" UNIQUE ("userId"), CONSTRAINT "PK_f4853eb41ab722fe05f81cedeb6" PRIMARY KEY ("userId"))`);
awaitqueryRunner.query(`CREATE TABLE "user_publickey" ("userId" character varying(32) NOT NULL, "keyId" character varying(256) NOT NULL, "keyPem" character varying(4096) NOT NULL, CONSTRAINT "REL_10c146e4b39b443ede016f6736" UNIQUE ("userId"), CONSTRAINT "PK_10c146e4b39b443ede016f6736d" PRIMARY KEY ("userId"))`);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_171e64971c780ebd23fae140bb" ON "user_publickey" ("keyId") `);
awaitqueryRunner.query(`CREATE TABLE "user_profile" ("userId" character varying(32) NOT NULL, "location" character varying(128), "birthday" character(10), "description" character varying(1024), "fields" jsonb NOT NULL DEFAULT '[]', "url" character varying(512), "email" character varying(128), "emailVerifyCode" character varying(128), "emailVerified" boolean NOT NULL DEFAULT false, "twoFactorTempSecret" character varying(128), "twoFactorSecret" character varying(128), "twoFactorEnabled" boolean NOT NULL DEFAULT false, "password" character varying(128), "clientData" jsonb NOT NULL DEFAULT '{}', "autoWatch" boolean NOT NULL DEFAULT false, "autoAcceptFollowed" boolean NOT NULL DEFAULT false, "alwaysMarkNsfw" boolean NOT NULL DEFAULT false, "carefulBot" boolean NOT NULL DEFAULT false, "twitter" boolean NOT NULL DEFAULT false, "twitterAccessToken" character varying(64) DEFAULT null, "twitterAccessTokenSecret" character varying(64) DEFAULT null, "twitterUserId" character varying(64) DEFAULT null, "twitterScreenName" character varying(64) DEFAULT null, "github" boolean NOT NULL DEFAULT false, "githubAccessToken" character varying(64) DEFAULT null, "githubId" integer DEFAULT null, "githubLogin" character varying(64) DEFAULT null, "discord" boolean NOT NULL DEFAULT false, "discordAccessToken" character varying(64) DEFAULT null, "discordRefreshToken" character varying(64) DEFAULT null, "discordExpiresDate" integer DEFAULT null, "discordId" character varying(64) DEFAULT null, "discordUsername" character varying(64) DEFAULT null, "discordDiscriminator" character varying(64) DEFAULT null, "userHost" character varying(128), CONSTRAINT "REL_51cb79b5555effaf7d69ba1cff" UNIQUE ("userId"), CONSTRAINT "PK_51cb79b5555effaf7d69ba1cff9" PRIMARY KEY ("userId"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_dce530b98e454793dac5ec2f5a" ON "user_profile" ("userHost") `);
awaitqueryRunner.query(`CREATE TYPE "__chart__active_users_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__active_users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__active_users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_317237a9f733b970604a11e314f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__drive_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_totalCount" bigint NOT NULL, "___local_totalSize" bigint NOT NULL, "___local_incCount" bigint NOT NULL, "___local_incSize" bigint NOT NULL, "___local_decCount" bigint NOT NULL, "___local_decSize" bigint NOT NULL, "___remote_totalCount" bigint NOT NULL, "___remote_totalSize" bigint NOT NULL, "___remote_incCount" bigint NOT NULL, "___remote_incSize" bigint NOT NULL, "___remote_decCount" bigint NOT NULL, "___remote_decSize" bigint NOT NULL, CONSTRAINT "PK_f96bc548a765cd4b3b354221ce7" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__federation_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__federation" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__federation_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___instance_total" bigint NOT NULL, "___instance_inc" bigint NOT NULL, "___instance_dec" bigint NOT NULL, CONSTRAINT "PK_b39dcd31a0fe1a7757e348e85fd" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__hashtag_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__hashtag" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__hashtag_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_c32f1ea2b44a5d2f7881e37f8f9" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__instance_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__instance" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__instance_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___requests_failed" bigint NOT NULL, "___requests_succeeded" bigint NOT NULL, "___requests_received" bigint NOT NULL, "___notes_total" bigint NOT NULL, "___notes_inc" bigint NOT NULL, "___notes_dec" bigint NOT NULL, "___notes_diffs_normal" bigint NOT NULL, "___notes_diffs_reply" bigint NOT NULL, "___notes_diffs_renote" bigint NOT NULL, "___users_total" bigint NOT NULL, "___users_inc" bigint NOT NULL, "___users_dec" bigint NOT NULL, "___following_total" bigint NOT NULL, "___following_inc" bigint NOT NULL, "___following_dec" bigint NOT NULL, "___followers_total" bigint NOT NULL, "___followers_inc" bigint NOT NULL, "___followers_dec" bigint NOT NULL, "___drive_totalFiles" bigint NOT NULL, "___drive_totalUsage" bigint NOT NULL, "___drive_incFiles" bigint NOT NULL, "___drive_incUsage" bigint NOT NULL, "___drive_decFiles" bigint NOT NULL, "___drive_decUsage" bigint NOT NULL, CONSTRAINT "PK_1267c67c7c2d47b4903975f2c00" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__network_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__network" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__network_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___incomingRequests" bigint NOT NULL, "___outgoingRequests" bigint NOT NULL, "___totalTime" bigint NOT NULL, "___incomingBytes" bigint NOT NULL, "___outgoingBytes" bigint NOT NULL, CONSTRAINT "PK_bc4290c2e27fad14ef0c1ca93f3" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__notes_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___local_diffs_normal" bigint NOT NULL, "___local_diffs_reply" bigint NOT NULL, "___local_diffs_renote" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, "___remote_diffs_normal" bigint NOT NULL, "___remote_diffs_reply" bigint NOT NULL, "___remote_diffs_renote" bigint NOT NULL, CONSTRAINT "PK_0aec823fa85c7f901bdb3863b14" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__per_user_drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___totalCount" bigint NOT NULL, "___totalSize" bigint NOT NULL, "___incCount" bigint NOT NULL, "___incSize" bigint NOT NULL, "___decCount" bigint NOT NULL, "___decSize" bigint NOT NULL, CONSTRAINT "PK_d0ef23d24d666e1a44a0cd3d208" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__per_user_following" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_following_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_followings_total" bigint NOT NULL, "___local_followings_inc" bigint NOT NULL, "___local_followings_dec" bigint NOT NULL, "___local_followers_total" bigint NOT NULL, "___local_followers_inc" bigint NOT NULL, "___local_followers_dec" bigint NOT NULL, "___remote_followings_total" bigint NOT NULL, "___remote_followings_inc" bigint NOT NULL, "___remote_followings_dec" bigint NOT NULL, "___remote_followers_total" bigint NOT NULL, "___remote_followers_inc" bigint NOT NULL, "___remote_followers_dec" bigint NOT NULL, CONSTRAINT "PK_85bb1b540363a29c2fec83bd907" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__per_user_notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___total" bigint NOT NULL, "___inc" bigint NOT NULL, "___dec" bigint NOT NULL, "___diffs_normal" bigint NOT NULL, "___diffs_reply" bigint NOT NULL, "___diffs_renote" bigint NOT NULL, CONSTRAINT "PK_334acf6e915af2f29edc11b8e50" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__per_user_reaction" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_reaction_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_984f54dae441e65b633e8d27a7f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__test_grouped" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_grouped_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_f4a2b175d308695af30d4293272" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__test_unique_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__test_unique" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_unique_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo" bigint NOT NULL, CONSTRAINT "PK_409bac9c97cc612d8500012319d" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__test_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__test" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_b4bc31dffbd1b785276a3ecfc1e" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__users_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, CONSTRAINT "PK_4dfcf2c78d03524b9eb2c99d328" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_f4fc06e49c0171c85f1c48060d2" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_00ceffb0cdc238b3233294f08f2" FOREIGN KEY ("parentId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_860fa6f6c7df5bb887249fba22e" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_bb90d1956dafc4068c28aa7560a" FOREIGN KEY ("folderId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_58f5c71eaab331645112cf8cfa5" FOREIGN KEY ("avatarId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_afc64b53f8db3707ceb34eb28e2" FOREIGN KEY ("bannerId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "app" ADD CONSTRAINT "FK_3f5b0899ef90527a3462d7c2cb3" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_9949557d0e1b2c19e5344c171e9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5" FOREIGN KEY ("replyId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_52ccc804d7c69037d558bac4c96" FOREIGN KEY ("renoteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_5b87d9d19127bd5d92026017a7b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_66d2bd2ee31d14bcc23069a89f8" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_aecfbd5ef60374918e63ee95fa7" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_13761f64257f40c5636d0ff95ee" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_45145e4953780f3cd5656f0ea6a" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_b0134ec406e8d09a540f8182888" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_03e7028ab8388a3f5e3ce2a8619" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_56b0166d34ddae49d8ef7610bb9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_e637cba4dc4410218c4251260e4" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3c601b70a1066d2c8b517094cb9" FOREIGN KEY ("notifieeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_769cb6b73a1efe22ddf733ac453" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_24e0042143a18157b234df186c3" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_6516c5a6f3c015b4eed39978be5" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_ec96b4fed9dae517e0dbbe0675c" FOREIGN KEY ("muteeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_93060675b4a79a577f31d260c67" FOREIGN KEY ("muterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "sw_subscription" ADD CONSTRAINT "FK_97754ca6f2baff9b4abb7f853dd" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_2cd4a2743a99671308f5417759e" FOREIGN KEY ("blockeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_0627125f1a8a42c9a1929edb552" FOREIGN KEY ("blockerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_list" ADD CONSTRAINT "FK_b7fcefbdd1c18dce86687531f99" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_d844bfc6f3f523a05189076efaa" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_605472305f26818cc93d1baaa74" FOREIGN KEY ("userListId") REFERENCES "user_list"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_47f4b1892f5d6ba8efb3057d81a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_0e00498f180193423c992bc4370" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_d049123c413e68ca52abe734203" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_04cc96756f89d0b7f9473e8cdf3" FOREIGN KEY ("reporterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_5377c307783fce2b6d352e1203b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_cac14a4e3944454a5ce7daa5142" FOREIGN KEY ("recipientId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_535def119223ac05ad3fa9ef64b" FOREIGN KEY ("fileId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "signin" ADD CONSTRAINT "FK_2c308dbdc50d94dc625670055f7" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_c072b729d71697f959bde66ade0" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_dbe037d4bddd17b03a1dc778dee" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_12c01c0d1a79f77d9f6c15fadd2" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_a7fd92dd6dc519e6fb435dd108f" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_f7467510c60a45ce5aca6292743" FOREIGN KEY ("user1Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_6649a4e8c5d5cf32fb03b5da9f6" FOREIGN KEY ("user2Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_3b25402709dd9882048c2bbade0" FOREIGN KEY ("parentId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_e247b23a3c9b45f89ec1299d066" FOREIGN KEY ("childId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_bfbc6f79ba4007b4ce5097f08d6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_68881008f7c3588ad7ecae471cf" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "poll" ADD CONSTRAINT "FK_da851e06d0dfe2ef397d8b1bf1b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_keypair" ADD CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_publickey" ADD CONSTRAINT "FK_10c146e4b39b443ede016f6736d" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`CREATE TYPE "page_visibility_enum" AS ENUM('public', 'followers', 'specified')`);
awaitqueryRunner.query(`CREATE TABLE "page" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "title" character varying(256) NOT NULL, "name" character varying(256) NOT NULL, "summary" character varying(256), "alignCenter" boolean NOT NULL, "font" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "eyeCatchingImageId" character varying(32), "content" jsonb NOT NULL DEFAULT '[]', "variables" jsonb NOT NULL DEFAULT '[]', "visibility" "page_visibility_enum" NOT NULL, "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_742f4117e065c5b6ad21b37ba1f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_fbb4297c927a9b85e9cefa2eb1" ON "page" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_af639b066dfbca78b01a920f8a" ON "page" ("updatedAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_b82c19c08afb292de4600d99e4" ON "page" ("name") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_ae1d917992dd0c9d9bbdad06c4" ON "page" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_90148bbc2bf0854428786bfc15" ON "page" ("visibleUserIds") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_2133ef8317e4bdb839c0dcbf13" ON "page" ("userId", "name") `);
awaitqueryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10" FOREIGN KEY ("eyeCatchingImageId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`);
}
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.