From f6154dc0af1a0d65819e87240f4385f9573095cb Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 30 Jan 2020 04:37:25 +0900 Subject: [PATCH] v12 (#5712) Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com> Co-authored-by: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com> --- .config/example.yml | 4 - CHANGELOG.md | 50 + gulpfile.ts | 90 +- locales/ca-ES.yml | 1 - locales/cs-CZ.yml | 1481 ---------- locales/da-DK.yml | 1921 ------------- locales/de-DE.yml | 954 ------- locales/en-US.yml | 2175 -------------- locales/es-ES.yml | 1194 -------- locales/fr-FR.yml | 2135 -------------- locales/index.js | 8 +- locales/it-IT.yml | 6 - locales/ja-JP.yml | 2542 +++-------------- locales/ja-KS.yml | 1291 --------- locales/ko-KR.yml | 2175 -------------- locales/nl-NL.yml | 701 ----- locales/no-NO.yml | 528 ---- locales/pl-PL.yml | 1268 -------- locales/pt-PT.yml | 288 -- locales/ru-RU.yml | 171 -- locales/zh-CN.yml | 2173 -------------- locales/zh-TW.yml | 91 - migration/1579267006611-v12.ts | 34 + migration/1579270193251-v12-2.ts | 14 + migration/1579282808087-v12-3.ts | 14 + migration/1579544426412-v12-4.ts | 16 + migration/1579977526288-v12-5.ts | 54 + migration/1579993013959-v12-6.ts | 18 + migration/1580069531114-v12-7.ts | 24 + migration/1580148575182-v12-8.ts | 16 + migration/1580154400017-v12-9.ts | 14 + migration/1580276619901-v12-10.ts | 19 + package.json | 18 +- src/@types/const.json.d.ts | 3 - src/boot/master.ts | 1 - src/client/app.vue | 1105 +++++++ src/client/app/admin/assets/header-icon.svg | 150 - src/client/app/admin/script.ts | 30 - src/client/app/admin/style.styl | 6 - src/client/app/admin/views/abuse.vue | 83 - src/client/app/admin/views/announcements.vue | 91 - .../app/admin/views/dashboard.ap-log.vue | 109 - .../app/admin/views/dashboard.cpu-memory.vue | 185 -- .../admin/views/dashboard.queue-charts.vue | 196 -- src/client/app/admin/views/dashboard.vue | 286 -- src/client/app/admin/views/db.vue | 61 - src/client/app/admin/views/drive.vue | 292 -- src/client/app/admin/views/emoji.vue | 185 -- src/client/app/admin/views/federation.vue | 553 ---- src/client/app/admin/views/index.vue | 297 -- src/client/app/admin/views/instance.vue | 523 ---- src/client/app/admin/views/logs.vue | 119 - src/client/app/admin/views/moderators.vue | 127 - src/client/app/admin/views/queue.chart.vue | 181 -- src/client/app/admin/views/queue.vue | 159 -- src/client/app/admin/views/users.user.vue | 95 - src/client/app/admin/views/users.vue | 366 --- src/client/app/animation.styl | 47 - src/client/app/app.styl | 84 - src/client/app/app.vue | 32 - src/client/app/auth/assets/icon.svg | 1 - src/client/app/auth/script.ts | 30 - src/client/app/auth/style.styl | 15 - src/client/app/auth/views/form.vue | 141 - src/client/app/auth/views/index.vue | 153 - src/client/app/boot.js | 171 -- .../app/common/scripts/check-for-update.ts | 36 - .../app/common/scripts/format-uptime.ts | 25 - src/client/app/common/scripts/get-face.ts | 11 - src/client/app/common/scripts/note-mixin.ts | 239 -- .../app/common/scripts/note-subscriber.ts | 149 - .../app/common/scripts/room/furniture.ts | 21 - .../app/common/scripts/room/furnitures.json5 | 397 --- src/client/app/common/scripts/room/room.ts | 776 ----- .../app/common/scripts/should-mute-note.ts | 19 - src/client/app/common/size.ts | 18 - .../app/common/views/components/acct.vue | 31 - .../common/views/components/analog-clock.vue | 140 - .../app/common/views/components/avatar.vue | 116 - .../connect-failed.troubleshooter.vue | 148 - .../views/components/connect-failed.vue | 105 - .../app/common/views/components/cw-button.vue | 70 - .../app/common/views/components/dialog.vue | 263 -- .../app/common/views/components/dummy.vue | 11 - .../app/common/views/components/ellipsis.vue | 26 - .../common/views/components/emoji-picker.vue | 243 -- .../app/common/views/components/error.vue | 28 - .../views/components/file-type-icon.vue | 17 - .../common/views/components/follow-button.vue | 209 -- .../app/common/views/components/forkit.vue | 48 - .../app/common/views/components/frac.vue | 49 - .../components/games/reversi/reversi.game.vue | 473 --- .../games/reversi/reversi.gameroom.vue | 56 - .../games/reversi/reversi.index.vue | 245 -- .../components/games/reversi/reversi.room.vue | 355 --- .../components/games/reversi/reversi.vue | 175 -- .../app/common/views/components/google.vue | 66 - .../common/views/components/image-viewer.vue | 41 - .../app/common/views/components/index.ts | 103 - .../app/common/views/components/instance.vue | 53 - .../components/integrations.integration.vue | 48 - .../common/views/components/integrations.vue | 26 - .../common/views/components/media-image.vue | 113 - .../common/views/components/media-list.vue | 113 - .../app/common/views/components/menu.vue | 196 -- .../components/messaging-room.message.vue | 279 -- .../app/common/views/components/messaging.vue | 500 ---- .../components/misskey-flavored-markdown.vue | 43 - .../app/common/views/components/nav.vue | 47 - .../common/views/components/note-header.vue | 118 - .../common/views/components/note-skeleton.vue | 52 - .../common/views/components/page-preview.vue | 138 - .../views/components/page/page.post.vue | 68 - .../app/common/views/components/particle.vue | 53 - .../common/views/components/poll-editor.vue | 235 -- .../app/common/views/components/poll.vue | 148 - .../views/components/post-form-attaches.vue | 139 - .../common/views/components/reaction-icon.vue | 53 - .../views/components/reaction-picker.vue | 323 --- .../components/reactions-viewer.details.vue | 122 - .../app/common/views/components/renote.vue | 104 - .../common/views/components/settings/2fa.vue | 259 -- .../common/views/components/settings/api.vue | 102 - .../views/components/settings/app-type.vue | 53 - .../common/views/components/settings/apps.vue | 39 - .../views/components/settings/drive.vue | 209 -- .../views/components/settings/integration.vue | 118 - .../views/components/settings/language.vue | 54 - .../settings/mute-and-block.user.vue | 39 - .../components/settings/mute-and-block.vue | 181 -- .../components/settings/notification.vue | 44 - .../views/components/settings/password.vue | 63 - .../views/components/settings/profile.vue | 442 --- .../views/components/settings/settings.vue | 671 ----- .../views/components/settings/signins.vue | 98 - .../common/views/components/settings/tags.vue | 67 - .../views/components/settings/theme.vue | 558 ---- .../views/components/stream-indicator.vue | 88 - .../app/common/views/components/tag-cloud.vue | 86 - .../app/common/views/components/trends.vue | 100 - .../app/common/views/components/ui/button.vue | 224 -- .../app/common/views/components/ui/card.vue | 69 - .../app/common/views/components/ui/form.vue | 30 - .../views/components/ui/form/button.vue | 81 - .../common/views/components/ui/form/radio.vue | 118 - .../views/components/ui/horizon-group.vue | 76 - .../app/common/views/components/ui/info.vue | 43 - .../app/common/views/components/ui/input.vue | 503 ---- .../app/common/views/components/ui/margin.vue | 16 - .../app/common/views/components/ui/modal.vue | 80 - .../common/views/components/ui/pagination.vue | 36 - .../app/common/views/components/ui/radio.vue | 110 - .../app/common/views/components/ui/select.vue | 238 -- .../app/common/views/components/ui/switch.vue | 135 - .../common/views/components/ui/textarea.vue | 194 -- .../app/common/views/components/uploader.vue | 231 -- .../common/views/components/url-preview.vue | 343 --- .../app/common/views/components/user-list.vue | 165 -- .../app/common/views/components/user-menu.vue | 228 -- .../views/components/visibility-chooser.vue | 233 -- .../views/components/welcome-timeline.vue | 156 - .../common/views/deck/deck.column-core.vue | 49 - .../views/deck/deck.column-template.vue | 45 - .../app/common/views/deck/deck.column.vue | 444 --- .../common/views/deck/deck.direct-column.vue | 79 - .../common/views/deck/deck.hashtag-column.vue | 122 - .../app/common/views/deck/deck.hashtag-tl.vue | 73 - .../app/common/views/deck/deck.list-tl.vue | 83 - .../views/deck/deck.mentions-column.vue | 76 - .../common/views/deck/deck.note-column.vue | 73 - .../app/common/views/deck/deck.notes.vue | 168 -- .../common/views/deck/deck.notification.vue | 186 -- .../views/deck/deck.notifications-column.vue | 75 - .../common/views/deck/deck.notifications.vue | 177 -- .../common/views/deck/deck.page-column.vue | 69 - .../common/views/deck/deck.search-column.vue | 47 - .../app/common/views/deck/deck.tl-column.vue | 101 - src/client/app/common/views/deck/deck.tl.vue | 135 - .../views/deck/deck.user-column.home.vue | 229 -- .../common/views/deck/deck.user-column.vue | 266 -- src/client/app/common/views/deck/deck.vue | 394 --- .../common/views/deck/deck.widgets-column.vue | 173 -- .../app/common/views/directives/index.ts | 7 - .../app/common/views/directives/particle.ts | 26 - src/client/app/common/views/filters/index.ts | 11 - src/client/app/common/views/pages/explore.vue | 198 -- .../app/common/views/pages/favorites.vue | 48 - .../app/common/views/pages/featured.vue | 48 - .../common/views/pages/follow-requests.vue | 75 - src/client/app/common/views/pages/follow.vue | 242 -- .../app/common/views/pages/followers.vue | 25 - .../app/common/views/pages/following.vue | 25 - .../app/common/views/pages/not-found.vue | 65 - .../page-editor/els/page-editor.el.button.vue | 80 - .../els/page-editor.el.number-input.vue | 42 - .../page-editor/els/page-editor.el.switch.vue | 48 - .../els/page-editor.el.text-input.vue | 42 - .../els/page-editor.el.textarea-input.vue | 42 - .../page-editor/page-editor.container.vue | 146 - src/client/app/common/views/pages/pages.vue | 80 - .../app/common/views/pages/room/preview.vue | 106 - .../app/common/views/pages/room/room.vue | 310 -- src/client/app/common/views/pages/share.vue | 79 - .../common/views/pages/user-group-editor.vue | 256 -- .../app/common/views/pages/user-groups.vue | 132 - .../common/views/pages/user-list-editor.vue | 182 -- .../app/common/views/pages/user-lists.vue | 70 - .../app/common/views/widgets/analog-clock.vue | 33 - .../app/common/views/widgets/broadcast.vue | 205 -- .../app/common/views/widgets/calendar.vue | 202 -- .../app/common/views/widgets/hashtags.vue | 31 - src/client/app/common/views/widgets/index.ts | 34 - .../app/common/views/widgets/instance.vue | 14 - src/client/app/common/views/widgets/memo.vue | 108 - src/client/app/common/views/widgets/nav.vue | 32 - .../app/common/views/widgets/photo-stream.vue | 125 - .../app/common/views/widgets/post-form.vue | 294 -- .../common/views/widgets/posts-monitor.vue | 203 -- src/client/app/common/views/widgets/queue.vue | 173 -- src/client/app/common/views/widgets/rss.vue | 116 - .../views/widgets/server.cpu-memory.vue | 156 - .../app/common/views/widgets/server.cpu.vue | 68 - .../app/common/views/widgets/server.disk.vue | 76 - .../app/common/views/widgets/server.info.vue | 28 - .../common/views/widgets/server.memory.vue | 76 - .../app/common/views/widgets/server.pie.vue | 61 - .../common/views/widgets/server.uptimes.vue | 47 - .../app/common/views/widgets/server.vue | 96 - .../app/common/views/widgets/slideshow.vue | 165 -- src/client/app/common/views/widgets/tips.vue | 109 - .../app/common/views/widgets/version.vue | 30 - src/client/app/desktop/api/update-avatar.ts | 118 - src/client/app/desktop/api/update-banner.ts | 118 - src/client/app/desktop/assets/grid.svg | 150 - src/client/app/desktop/assets/header-icon.svg | 150 - src/client/app/desktop/assets/index.jpg | Bin 409376 -> 0 bytes src/client/app/desktop/assets/remove.png | Bin 424 -> 0 bytes src/client/app/desktop/script.ts | 267 -- src/client/app/desktop/style.styl | 40 - .../views/components/activity.calendar.vue | 80 - .../views/components/activity.chart.vue | 108 - .../app/desktop/views/components/activity.vue | 86 - .../app/desktop/views/components/calendar.vue | 252 -- .../choose-file-from-drive-window.vue | 136 - .../choose-folder-from-drive-window.vue | 56 - .../views/components/context-menu.menu.vue | 121 - .../desktop/views/components/context-menu.vue | 90 - .../desktop/views/components/crop-window.vue | 189 -- .../desktop/views/components/detail-notes.vue | 56 - .../desktop/views/components/drive-window.vue | 61 - .../desktop/views/components/drive.file.vue | 339 --- .../views/components/emoji-picker-dialog.vue | 84 - .../desktop/views/components/game-window.vue | 38 - .../app/desktop/views/components/index.ts | 35 - .../views/components/media-video-dialog.vue | 47 - .../desktop/views/components/media-video.vue | 102 - .../components/messaging-room-window.vue | 37 - .../views/components/messaging-window.vue | 42 - .../desktop/views/components/note-detail.vue | 356 --- .../desktop/views/components/note-preview.vue | 88 - .../app/desktop/views/components/note.sub.vue | 106 - .../app/desktop/views/components/note.vue | 323 --- .../app/desktop/views/components/notes.vue | 182 -- .../views/components/notifications.vue | 379 --- .../views/components/post-form-window.vue | 140 - .../desktop/views/components/post-form.vue | 331 --- .../views/components/progress-dialog.vue | 98 - .../views/components/renote-form-window.vue | 66 - .../desktop/views/components/renote-form.vue | 111 - .../views/components/settings-window.vue | 38 - .../app/desktop/views/components/settings.vue | 86 - .../views/components/sub-note-content.vue | 48 - .../desktop/views/components/ui-container.vue | 138 - .../views/components/ui-notification.vue | 62 - .../views/components/ui.header.account.vue | 343 --- .../views/components/ui.header.clock.vue | 109 - .../views/components/ui.header.messaging.vue | 69 - .../views/components/ui.header.nav.vue | 141 - .../components/ui.header.notifications.vue | 136 - .../views/components/ui.header.post.vue | 54 - .../views/components/ui.header.search.vue | 82 - .../desktop/views/components/ui.header.vue | 161 -- .../desktop/views/components/ui.sidebar.vue | 363 --- .../app/desktop/views/components/ui.vue | 108 - .../views/components/user-list-timeline.vue | 71 - .../desktop/views/components/user-preview.vue | 164 -- .../app/desktop/views/components/window.vue | 620 ---- src/client/app/desktop/views/home/home.vue | 406 --- src/client/app/desktop/views/home/note.vue | 59 - src/client/app/desktop/views/home/search.vue | 76 - src/client/app/desktop/views/home/tag.vue | 65 - .../app/desktop/views/home/timeline.core.vue | 144 - .../app/desktop/views/home/timeline.vue | 278 -- .../app/desktop/views/home/user/index.vue | 90 - .../desktop/views/home/user/user.header.vue | 292 -- .../app/desktop/views/home/user/user.home.vue | 54 - .../desktop/views/home/user/user.photos.vue | 98 - .../desktop/views/home/user/user.timeline.vue | 113 - src/client/app/desktop/views/pages/drive.vue | 57 - .../app/desktop/views/pages/games/reversi.vue | 30 - .../desktop/views/pages/messaging-room.vue | 82 - .../app/desktop/views/pages/selectdrive.vue | 182 -- .../app/desktop/views/pages/settings.vue | 27 - .../app/desktop/views/pages/welcome.vue | 509 ---- .../app/desktop/views/widgets/activity.vue | 33 - .../app/desktop/views/widgets/customize.vue | 21 - src/client/app/desktop/views/widgets/index.ts | 21 - .../app/desktop/views/widgets/messaging.vue | 60 - .../desktop/views/widgets/notifications.vue | 55 - .../app/desktop/views/widgets/polls.vue | 110 - .../app/desktop/views/widgets/profile.vue | 132 - .../app/desktop/views/widgets/timemachine.vue | 29 - .../app/desktop/views/widgets/trends.vue | 103 - .../app/desktop/views/widgets/users.vue | 145 - src/client/app/dev/script.ts | 46 - src/client/app/dev/style.styl | 10 - src/client/app/dev/views/app.vue | 41 - src/client/app/dev/views/apps.vue | 39 - src/client/app/dev/views/index.vue | 13 - src/client/app/dev/views/new-app.vue | 62 - src/client/app/dev/views/ui.vue | 20 - src/client/app/i18n.ts | 14 - src/client/app/init.css | 57 - src/client/app/init.ts | 512 ---- src/client/app/mobile/script.ts | 184 -- src/client/app/mobile/style.styl | 23 - .../mobile/views/components/detail-notes.vue | 52 - .../views/components/drive-file-chooser.vue | 106 - .../views/components/drive-folder-chooser.vue | 83 - .../views/components/drive.file-detail.vue | 253 -- .../mobile/views/components/drive.file.vue | 155 - .../mobile/views/components/drive.folder.vue | 56 - .../app/mobile/views/components/drive.vue | 618 ---- .../app/mobile/views/components/index.ts | 31 - .../app/mobile/views/components/note-card.vue | 93 - .../mobile/views/components/note-detail.vue | 351 --- .../mobile/views/components/note-preview.vue | 114 - .../app/mobile/views/components/note.sub.vue | 124 - .../app/mobile/views/components/note.vue | 302 -- .../app/mobile/views/components/notes.vue | 167 -- .../views/components/notification-preview.vue | 137 - .../mobile/views/components/notification.vue | 199 -- .../mobile/views/components/notifications.vue | 167 -- .../app/mobile/views/components/notify.vue | 73 - .../views/components/post-form-dialog.vue | 120 - .../app/mobile/views/components/post-form.vue | 244 -- .../views/components/sub-note-content.vue | 47 - .../mobile/views/components/ui-container.vue | 127 - .../app/mobile/views/components/ui.header.vue | 142 - .../app/mobile/views/components/ui.nav.vue | 346 --- src/client/app/mobile/views/components/ui.vue | 136 - .../views/components/user-list-timeline.vue | 76 - .../mobile/views/components/user-timeline.vue | 43 - .../app/mobile/views/directives/index.ts | 6 - .../mobile/views/directives/user-preview.ts | 2 - src/client/app/mobile/views/pages/drive.vue | 147 - .../app/mobile/views/pages/games/reversi.vue | 31 - .../app/mobile/views/pages/home.timeline.vue | 143 - src/client/app/mobile/views/pages/home.vue | 249 -- .../app/mobile/views/pages/messaging-room.vue | 71 - .../app/mobile/views/pages/messaging.vue | 30 - src/client/app/mobile/views/pages/note.vue | 67 - .../app/mobile/views/pages/notifications.vue | 71 - src/client/app/mobile/views/pages/search.vue | 47 - .../app/mobile/views/pages/selectdrive.vue | 101 - .../app/mobile/views/pages/settings.vue | 86 - src/client/app/mobile/views/pages/signup.vue | 29 - src/client/app/mobile/views/pages/tag.vue | 40 - src/client/app/mobile/views/pages/ui.vue | 38 - .../mobile/views/pages/user/home.notes.vue | 59 - .../app/mobile/views/pages/user/home.vue | 70 - .../app/mobile/views/pages/user/index.vue | 349 --- src/client/app/mobile/views/pages/welcome.vue | 310 -- src/client/app/mobile/views/pages/widgets.vue | 192 -- .../app/mobile/views/widgets/activity.vue | 38 - src/client/app/mobile/views/widgets/index.ts | 7 - .../app/mobile/views/widgets/profile.vue | 65 - src/client/app/reset.styl | 37 - src/client/app/safe.js | 13 - src/client/app/store.ts | 463 --- src/client/app/theme.ts | 127 - src/client/assets/error.jpg | Bin 54110 -> 0 bytes src/client/assets/fedi.jpg | Bin 77752 -> 0 bytes src/client/assets/flush.html | 16 - src/client/assets/manifest.json | 27 +- src/client/assets/message.mp3 | Bin 4584 -> 0 bytes src/client/assets/misskey-php-like-logo.png | Bin 42657 -> 0 bytes src/client/assets/pointer.png | Bin 280369 -> 0 bytes src/client/assets/post.mp3 | Bin 2506 -> 0 bytes src/client/assets/redoc.html | 24 - src/client/assets/reversi-put-me.mp3 | Bin 15672 -> 0 bytes src/client/assets/reversi-put-you.mp3 | Bin 26121 -> 0 bytes .../assets/room/furnitures/bed/bed.blend | Bin 573584 -> 0 bytes src/client/assets/room/furnitures/bed/bed.glb | Bin 8944 -> 0 bytes .../assets/room/furnitures/bin/bin.blend | Bin 695512 -> 0 bytes src/client/assets/room/furnitures/bin/bin.glb | Bin 22140 -> 0 bytes .../assets/room/furnitures/book/book.blend | Bin 511864 -> 0 bytes .../assets/room/furnitures/book/book.glb | Bin 4304 -> 0 bytes .../assets/room/furnitures/book2/barcode.png | Bin 3505 -> 0 bytes .../assets/room/furnitures/book2/book2.blend | Bin 521456 -> 0 bytes .../assets/room/furnitures/book2/book2.glb | Bin 82920 -> 0 bytes .../room/furnitures/book2/texture.afdesign | Bin 875434 -> 0 bytes .../assets/room/furnitures/book2/texture.png | Bin 61019 -> 0 bytes .../assets/room/furnitures/book2/uv.png | Bin 8611 -> 0 bytes .../cardboard-box/cardboard-box.blend | Bin 515036 -> 0 bytes .../cardboard-box/cardboard-box.glb | Bin 4568 -> 0 bytes .../cardboard-box2/cardboard-box2.blend | Bin 545788 -> 0 bytes .../cardboard-box2/cardboard-box2.glb | Bin 24084 -> 0 bytes .../furnitures/cardboard-box2/texture.png | Bin 16879 -> 0 bytes .../room/furnitures/cardboard-box2/uv.png | Bin 4630 -> 0 bytes .../cardboard-box3/cardboard-box3.blend | Bin 547868 -> 0 bytes .../cardboard-box3/cardboard-box3.glb | Bin 23668 -> 0 bytes .../furnitures/cardboard-box3/texture.png | Bin 16204 -> 0 bytes .../furnitures/cardboard-box3/texture.xcf | Bin 242066 -> 0 bytes .../room/furnitures/cardboard-box3/uv.png | Bin 3598 -> 0 bytes .../carpet-stripe/carpet-stripe.blend | Bin 481784 -> 0 bytes .../carpet-stripe/carpet-stripe.glb | Bin 4956 -> 0 bytes .../assets/room/furnitures/chair/chair.blend | Bin 500696 -> 0 bytes .../assets/room/furnitures/chair/chair.glb | Bin 4252 -> 0 bytes .../room/furnitures/chair2/chair2.blend | Bin 523036 -> 0 bytes .../assets/room/furnitures/chair2/chair2.glb | Bin 6140 -> 0 bytes .../room/furnitures/color-box/color-box.blend | Bin 631168 -> 0 bytes .../room/furnitures/color-box/color-box.glb | Bin 7492 -> 0 bytes .../room/furnitures/corkboard/corkboard.blend | Bin 565404 -> 0 bytes .../room/furnitures/corkboard/corkboard.glb | Bin 7180 -> 0 bytes .../assets/room/furnitures/cube/cube.blend | Bin 646184 -> 0 bytes .../assets/room/furnitures/cube/cube.glb | Bin 188392 -> 0 bytes .../furnitures/cup-noodle/cup-noodle.blend | Bin 855164 -> 0 bytes .../room/furnitures/cup-noodle/cup-noodle.glb | Bin 318332 -> 0 bytes .../room/furnitures/cup-noodle/noodle.png | Bin 297154 -> 0 bytes .../assets/room/furnitures/desk/desk.blend | Bin 541980 -> 0 bytes .../assets/room/furnitures/desk/desk.glb | Bin 10184 -> 0 bytes .../energy-drink/energy-drink.blend | Bin 724764 -> 0 bytes .../furnitures/energy-drink/energy-drink.glb | Bin 145836 -> 0 bytes .../furnitures/energy-drink/texture.afdesign | Bin 824566 -> 0 bytes .../room/furnitures/energy-drink/texture.png | Bin 127510 -> 0 bytes .../room/furnitures/energy-drink/uv.png | Bin 22142 -> 0 bytes .../assets/room/furnitures/eraser/cover.png | Bin 8336 -> 0 bytes .../assets/room/furnitures/eraser/cover.psd | Bin 219123 -> 0 bytes .../room/furnitures/eraser/eraser-uv.png | Bin 11164 -> 0 bytes .../room/furnitures/eraser/eraser.blend | Bin 527996 -> 0 bytes .../assets/room/furnitures/eraser/eraser.glb | Bin 15748 -> 0 bytes .../facial-tissue/facial-tissue-uv.png | Bin 4470 -> 0 bytes .../facial-tissue/facial-tissue.blend | Bin 533220 -> 0 bytes .../facial-tissue/facial-tissue.glb | Bin 8332 -> 0 bytes .../facial-tissue/facial-tissue.png | Bin 688 -> 0 bytes .../facial-tissue/facial-tissue.psd | Bin 111968 -> 0 bytes .../assets/room/furnitures/fan/fan.blend | Bin 772732 -> 0 bytes src/client/assets/room/furnitures/fan/fan.glb | Bin 51612 -> 0 bytes .../holo-display/holo-display.blend | Bin 788456 -> 0 bytes .../furnitures/holo-display/holo-display.glb | Bin 148928 -> 0 bytes .../room/furnitures/holo-display/ray-uv.png | Bin 20901 -> 0 bytes .../room/furnitures/holo-display/ray.png | Bin 104293 -> 0 bytes .../room/furnitures/keyboard/keyboard.blend | Bin 1005588 -> 0 bytes .../room/furnitures/keyboard/keyboard.glb | Bin 132360 -> 0 bytes .../room/furnitures/low-table/low-table.blend | Bin 497336 -> 0 bytes .../room/furnitures/low-table/low-table.glb | Bin 2364 -> 0 bytes .../assets/room/furnitures/mat/mat.blend | Bin 489304 -> 0 bytes src/client/assets/room/furnitures/mat/mat.glb | Bin 1700 -> 0 bytes .../assets/room/furnitures/milk/milk-uv.png | Bin 16577 -> 0 bytes .../assets/room/furnitures/milk/milk.blend | Bin 539836 -> 0 bytes .../assets/room/furnitures/milk/milk.glb | Bin 8456 -> 0 bytes .../assets/room/furnitures/milk/milk.png | Bin 658 -> 0 bytes .../assets/room/furnitures/milk/milk.psd | Bin 125415 -> 0 bytes .../room/furnitures/monitor/monitor.blend | Bin 586820 -> 0 bytes .../room/furnitures/monitor/monitor.glb | Bin 35300 -> 0 bytes .../room/furnitures/monitor/monitor.psd | Bin 3692204 -> 0 bytes .../room/furnitures/monitor/screen-uv.png | Bin 1495 -> 0 bytes .../assets/room/furnitures/monitor/screen.jpg | Bin 24842 -> 0 bytes .../assets/room/furnitures/moon/moon.blend | Bin 725536 -> 0 bytes .../assets/room/furnitures/moon/moon.glb | Bin 122112 -> 0 bytes .../assets/room/furnitures/moon/moon.jpg | Bin 87151 -> 0 bytes .../room/furnitures/mousepad/mousepad.blend | Bin 495008 -> 0 bytes .../room/furnitures/mousepad/mousepad.glb | Bin 4360 -> 0 bytes .../room/furnitures/pc/motherboard-uv.png | Bin 2920 -> 0 bytes .../room/furnitures/pc/motherboard-uv.psd | Bin 7131432 -> 0 bytes .../assets/room/furnitures/pc/motherboard.jpg | Bin 64600 -> 0 bytes src/client/assets/room/furnitures/pc/pc.blend | Bin 818152 -> 0 bytes src/client/assets/room/furnitures/pc/pc.glb | Bin 103620 -> 0 bytes .../room/furnitures/pencil/pencil.blend | Bin 683032 -> 0 bytes .../assets/room/furnitures/pencil/pencil.glb | Bin 7788 -> 0 bytes .../room/furnitures/photoframe/photo-uv.png | Bin 2639 -> 0 bytes .../room/furnitures/photoframe/photo.jpg | Bin 30500 -> 0 bytes .../furnitures/photoframe/photoframe.blend | Bin 551416 -> 0 bytes .../room/furnitures/photoframe/photoframe.glb | Bin 37612 -> 0 bytes .../assets/room/furnitures/piano/piano.blend | Bin 713228 -> 0 bytes .../assets/room/furnitures/piano/piano.glb | Bin 73320 -> 0 bytes .../room/furnitures/pinguin/pinguin.blend | Bin 778976 -> 0 bytes .../room/furnitures/pinguin/pinguin.glb | Bin 60172 -> 0 bytes .../room/furnitures/plant/plant-soil-uv.png | Bin 4509 -> 0 bytes .../room/furnitures/plant/plant-soil.png | Bin 10852 -> 0 bytes .../room/furnitures/plant/plant-soil.psd | Bin 390188 -> 0 bytes .../assets/room/furnitures/plant/plant.blend | Bin 604488 -> 0 bytes .../assets/room/furnitures/plant/plant.glb | Bin 27664 -> 0 bytes .../room/furnitures/plant2/plant2.blend | Bin 1060816 -> 0 bytes .../assets/room/furnitures/plant2/plant2.glb | Bin 133212 -> 0 bytes .../assets/room/furnitures/plant2/soil.png | Bin 10852 -> 0 bytes .../room/furnitures/poster-h/poster-h.blend | Bin 667604 -> 0 bytes .../room/furnitures/poster-h/poster-h.glb | Bin 1280 -> 0 bytes .../assets/room/furnitures/poster-h/uv.png | Bin 3786 -> 0 bytes .../room/furnitures/poster-v/poster-v.blend | Bin 650740 -> 0 bytes .../room/furnitures/poster-v/poster-v.glb | Bin 1280 -> 0 bytes .../assets/room/furnitures/poster-v/uv.png | Bin 3795 -> 0 bytes .../room/furnitures/pudding/pudding.blend | Bin 694784 -> 0 bytes .../room/furnitures/pudding/pudding.glb | Bin 10612 -> 0 bytes .../furnitures/rubik-cube/rubik-cube.blend | Bin 745960 -> 0 bytes .../room/furnitures/rubik-cube/rubik-cube.glb | Bin 67688 -> 0 bytes .../assets/room/furnitures/server/rack-uv.png | Bin 6705 -> 0 bytes .../assets/room/furnitures/server/rack.png | Bin 7046 -> 0 bytes .../room/furnitures/server/server.blend | Bin 684372 -> 0 bytes .../assets/room/furnitures/server/server.glb | Bin 149480 -> 0 bytes .../assets/room/furnitures/server/server.png | Bin 116866 -> 0 bytes .../assets/room/furnitures/server/uv.png | Bin 4012 -> 0 bytes .../assets/room/furnitures/sofa/sofa.blend | Bin 711488 -> 0 bytes .../assets/room/furnitures/sofa/sofa.glb | Bin 37656 -> 0 bytes .../room/furnitures/spiral/spiral.blend | Bin 1241416 -> 0 bytes .../assets/room/furnitures/spiral/spiral.glb | Bin 251788 -> 0 bytes .../assets/room/furnitures/tv/screen-uv.png | Bin 3792 -> 0 bytes src/client/assets/room/furnitures/tv/tv.blend | Bin 587640 -> 0 bytes src/client/assets/room/furnitures/tv/tv.glb | Bin 8580 -> 0 bytes .../furnitures/wall-clock/wall-clock.blend | Bin 574128 -> 0 bytes .../room/furnitures/wall-clock/wall-clock.glb | Bin 47848 -> 0 bytes .../assets/room/rooms/default/default.blend | Bin 618364 -> 0 bytes .../assets/room/rooms/default/default.glb | Bin 12280 -> 0 bytes .../assets/room/rooms/washitsu/husuma-uv.png | Bin 4037 -> 0 bytes .../assets/room/rooms/washitsu/husuma.png | Bin 2539 -> 0 bytes .../room/rooms/washitsu/tatami-single1600.png | Bin 1173343 -> 0 bytes .../assets/room/rooms/washitsu/tatami-uv.png | Bin 4075 -> 0 bytes .../room/rooms/washitsu/tatami.afdesign | Bin 2501804 -> 0 bytes .../assets/room/rooms/washitsu/tatami.png | Bin 313722 -> 0 bytes .../assets/room/rooms/washitsu/washitsu.blend | Bin 664000 -> 0 bytes .../assets/room/rooms/washitsu/washitsu.glb | Bin 415180 -> 0 bytes src/client/assets/thumbnail-not-available.png | Bin 5705 -> 0 bytes src/client/assets/title.svg | 140 - src/client/assets/unread.svg | 7 - src/client/assets/version.html | 18 - src/client/assets/welcome-bg.dark.svg | 1 - src/client/assets/welcome-bg.light.svg | 1 - src/client/components/acct.vue | 29 + .../views => }/components/autocomplete.vue | 213 +- src/client/components/avatar.vue | 116 + .../common/views => }/components/avatars.vue | 0 .../views => }/components/code-core.vue | 2 - .../common/views => }/components/code.vue | 2 - src/client/components/cw-button.vue | 73 + src/client/components/date-separated-list.vue | 94 + src/client/components/dialog.vue | 320 +++ .../components/drive-file-thumbnail.vue | 88 +- src/client/components/drive-window.vue | 53 + src/client/components/drive.file.vue | 368 +++ .../views => }/components/drive.folder.vue | 150 +- .../components/drive.nav-folder.vue | 53 +- .../desktop/views => }/components/drive.vue | 400 +-- src/client/components/ellipsis.vue | 34 + src/client/components/emoji-picker.vue | 268 ++ .../common/views => }/components/emoji.vue | 51 +- src/client/components/error.vue | 42 + src/client/components/file-type-icon.vue | 29 + src/client/components/follow-button.vue | 162 ++ .../views => }/components/formula-core.vue | 4 +- .../common/views => }/components/formula.vue | 2 - src/client/components/google.vue | 71 + src/client/components/index.ts | 25 + src/client/components/loading.vue | 30 + .../views => }/components/media-banner.vue | 83 +- src/client/components/media-image.vue | 113 + src/client/components/media-list.vue | 130 + .../views => }/components/media-video.vue | 63 +- .../common/views => }/components/mention.vue | 49 +- src/client/components/menu.vue | 165 ++ .../{app/common/views => }/components/mfm.ts | 46 +- .../components/misskey-flavored-markdown.vue | 35 + src/client/components/modal.vue | 84 + src/client/components/note-header.vue | 99 + .../views => }/components/note-menu.vue | 112 +- src/client/components/note-preview.vue | 121 + src/client/components/note.sub.vue | 108 + src/client/components/note.vue | 729 +++++ src/client/components/notes.vue | 144 + src/client/components/notification.vue | 219 ++ src/client/components/notifications.vue | 136 + src/client/components/page-preview.vue | 163 ++ .../views => }/components/page/page.block.vue | 1 - .../components/page/page.button.vue | 20 +- .../components/page/page.counter.vue | 22 +- .../views => }/components/page/page.if.vue | 3 +- .../views => }/components/page/page.image.vue | 14 +- .../components/page/page.number-input.vue | 21 +- src/client/components/page/page.post.vue | 75 + .../components/page/page.radio-button.vue | 11 +- .../components/page/page.section.vue | 35 +- .../components/page/page.switch.vue | 23 +- .../components/page/page.text-input.vue | 21 +- .../views => }/components/page/page.text.vue | 41 +- .../components/page/page.textarea-input.vue | 11 +- .../components/page/page.textarea.vue | 22 +- .../views => }/components/page/page.vue | 140 +- src/client/components/poll-editor.vue | 218 ++ src/client/components/poll.vue | 174 ++ src/client/components/popup.vue | 147 + src/client/components/post-form-attaches.vue | 158 + src/client/components/post-form-dialog.vue | 157 + .../post-form.ts => components/post-form.vue} | 482 +++- src/client/components/reaction-icon.vue | 32 + src/client/components/reaction-picker.vue | 229 ++ .../components/reactions-viewer.details.vue | 117 + .../components/reactions-viewer.reaction.vue | 103 +- .../components/reactions-viewer.vue | 23 +- src/client/components/renote-picker.vue | 94 + src/client/components/sequential-entrance.vue | 63 + src/client/components/signin-dialog.vue | 37 + .../common/views => }/components/signin.vue | 145 +- src/client/components/signup-dialog.vue | 22 + .../common/views => }/components/signup.vue | 78 +- src/client/components/sub-note-content.vue | 65 + .../common/views => }/components/time.vue | 28 +- src/client/components/timeline.vue | 118 + src/client/components/toast.vue | 76 + src/client/components/ui/button.vue | 204 ++ src/client/components/ui/container.vue | 104 + .../common/views => }/components/ui/hr.vue | 2 +- src/client/components/ui/info.vue | 55 + src/client/components/ui/input.vue | 443 +++ src/client/components/ui/pagination.vue | 59 + src/client/components/ui/radio.vue | 119 + src/client/components/ui/select.vue | 220 ++ src/client/components/ui/switch.vue | 150 + src/client/components/ui/textarea.vue | 218 ++ src/client/components/uploader.vue | 242 ++ src/client/components/url-preview.vue | 331 +++ .../{app/common/views => }/components/url.vue | 59 +- src/client/components/user-list.vue | 148 + src/client/components/user-menu.vue | 188 ++ .../components/user-moderate-dialog.vue | 108 + .../views => }/components/user-name.vue | 0 src/client/components/user-preview.vue | 181 ++ src/client/components/user-select.vue | 152 + src/client/components/users-dialog.vue | 161 ++ src/client/components/visibility-chooser.vue | 127 + src/client/components/window.vue | 155 + src/client/{app => }/config.ts | 8 +- .../views => }/directives/autocomplete.ts | 0 .../desktop/views => }/directives/index.ts | 4 + src/client/directives/size.ts | 63 + .../views => }/directives/user-preview.ts | 25 +- .../{app/common/views => }/filters/bytes.ts | 2 +- src/client/filters/index.ts | 4 + .../{app/common/views => }/filters/note.ts | 0 .../{app/common/views => }/filters/number.ts | 0 .../{app/common/views => }/filters/user.ts | 6 +- src/client/i18n.ts | 12 + src/client/init.ts | 199 ++ src/client/{app => }/mios.ts | 203 +- src/client/pages/about.vue | 106 + src/client/pages/announcements.vue | 73 + src/client/pages/auth.form.vue | 63 + src/client/pages/auth.vue | 93 + src/client/pages/drive.vue | 87 + src/client/pages/explore.vue | 212 ++ src/client/pages/favorites.vue | 48 + src/client/pages/featured.vue | 47 + src/client/pages/follow-requests.vue | 142 + src/client/pages/follow.vue | 98 + src/client/pages/index.home.vue | 190 ++ .../{app/mobile/views => }/pages/index.vue | 5 +- src/client/pages/index.welcome.entrance.vue | 103 + src/client/pages/index.welcome.setup.vue | 102 + src/client/pages/index.welcome.vue | 34 + src/client/pages/instance/announcements.vue | 129 + src/client/pages/instance/emojis.vue | 253 ++ .../pages/instance/federation.instance.vue | 576 ++++ src/client/pages/instance/federation.vue | 165 ++ src/client/pages/instance/files.vue | 54 + src/client/pages/instance/index.vue | 393 +++ src/client/pages/instance/monitor.vue | 381 +++ src/client/pages/instance/queue.queue.vue | 204 ++ src/client/pages/instance/queue.vue | 79 + .../instance/stats.vue} | 388 ++- src/client/pages/instance/users.vue | 203 ++ src/client/pages/mentions.vue | 46 + src/client/pages/messages.vue | 49 + .../messaging-room.form.vue | 230 +- src/client/pages/messaging-room.message.vue | 336 +++ .../components => pages}/messaging-room.vue | 343 +-- src/client/pages/messaging.vue | 328 +++ .../pages/my-antennas/index.antenna.vue | 174 ++ src/client/pages/my-antennas/index.vue | 80 + src/client/pages/my-lists/index.vue | 75 + src/client/pages/my-lists/list.vue | 163 ++ src/client/pages/note.vue | 55 + .../page-editor/els/page-editor.el.button.vue | 83 + .../els/page-editor.el.counter.vue | 15 +- .../page-editor/els/page-editor.el.if.vue | 27 +- .../page-editor/els/page-editor.el.image.vue | 28 +- .../els/page-editor.el.number-input.vue | 43 + .../page-editor/els/page-editor.el.post.vue | 11 +- .../els/page-editor.el.radio-button.vue | 23 +- .../els/page-editor.el.section.vue | 15 +- .../page-editor/els/page-editor.el.switch.vue | 50 + .../els/page-editor.el.text-input.vue | 43 + .../page-editor/els/page-editor.el.text.vue | 40 +- .../els/page-editor.el.textarea-input.vue | 44 + .../els/page-editor.el.textarea.vue | 40 +- .../pages/page-editor/page-editor.blocks.vue | 0 .../page-editor/page-editor.container.vue | 152 + .../page-editor/page-editor.script-block.vue | 111 +- .../pages/page-editor/page-editor.vue | 248 +- .../{app/common/views => }/pages/page.vue | 18 +- src/client/pages/pages.vue | 78 + src/client/pages/search.vue | 55 + src/client/pages/settings/2fa.vue | 264 ++ src/client/pages/settings/drive.vue | 212 ++ src/client/pages/settings/general.vue | 108 + src/client/pages/settings/import-export.vue | 121 + src/client/pages/settings/index.vue | 94 + src/client/pages/settings/integration.vue | 122 + src/client/pages/settings/mute-block.vue | 76 + src/client/pages/settings/privacy.vue | 69 + src/client/pages/settings/profile.vue | 246 ++ src/client/pages/settings/reaction.vue | 62 + src/client/pages/settings/security.vue | 87 + src/client/pages/settings/theme.vue | 76 + src/client/pages/tag.vue | 49 + src/client/pages/user/follow-list.vue | 140 + .../user/index.activity.vue} | 4 +- .../user/index.photos.vue} | 67 +- src/client/pages/user/index.timeline.vue | 79 + src/client/pages/user/index.vue | 476 +++ src/client/router.ts | 53 + src/client/{app/common => }/scripts/2fa.ts | 2 +- .../scripts}/aiscript/evaluator.ts | 5 +- .../scripts}/aiscript/index.ts | 0 .../scripts}/aiscript/type-checker.ts | 0 .../common => }/scripts/collect-page-vars.ts | 0 .../scripts/compose-notification.ts | 21 +- .../{app/common => }/scripts/contains.ts | 3 +- .../common => }/scripts/copy-to-clipboard.ts | 0 .../common => }/scripts/gen-search-query.ts | 4 +- src/client/scripts/get-instance-name.ts | 8 + .../{app/common => }/scripts/get-md5.ts | 0 .../scripts/get-static-image-url.ts | 4 +- src/client/{app/common => scripts}/hotkey.ts | 2 +- src/client/{app/common => scripts}/keycode.ts | 0 .../{app/common => }/scripts/loading.ts | 0 src/client/{app/common => }/scripts/paging.ts | 97 +- .../{app/common => }/scripts/please-login.ts | 0 src/client/{app/common => }/scripts/search.ts | 4 +- src/client/scripts/select-drive-file.ts | 12 + src/client/{app/common => }/scripts/stream.ts | 4 +- src/client/store.ts | 193 ++ src/client/style.scss | 341 +++ src/client/style.styl | 43 - src/client/{app => }/sw.js | 9 +- src/client/theme.ts | 100 + src/client/themes/cafe.json5 | 19 +- src/client/themes/dark.json5 | 276 +- src/client/themes/elegant.json5 | 18 + src/client/themes/future.json5 | 39 - src/client/themes/garden.json5 | 17 + src/client/themes/gray.json5 | 21 - src/client/themes/gruvbox-dark.json5 | 29 - src/client/themes/halloween.json5 | 14 +- src/client/themes/japanese-sushi-set.json5 | 20 - src/client/themes/lavender.json5 | 19 +- src/client/themes/light.json5 | 276 +- src/client/themes/mauve.json5 | 20 +- src/client/themes/monokai.json5 | 29 - src/client/themes/rainy.json5 | 16 +- src/client/themes/tweet-deck.json5 | 44 - src/client/themes/urban.json5 | 18 + src/client/themes/vivid.json5 | 23 - src/client/{app => }/tsconfig.json | 0 src/client/{app => }/v.d.ts | 0 src/client/widgets/calendar.vue | 206 ++ .../define-widget.ts => widgets/define.ts} | 14 +- src/client/widgets/index.ts | 8 + src/client/widgets/memo.vue | 120 + src/client/widgets/notifications.vue | 46 + src/client/widgets/rss.vue | 101 + src/client/widgets/timeline.vue | 113 + .../components => widgets}/trends.chart.vue | 0 src/client/widgets/trends.vue | 124 + src/config/load.ts | 2 - src/config/types.ts | 2 - src/daemons/notes-stats-child.ts | 28 - src/daemons/notes-stats.ts | 26 - src/daemons/queue-stats.ts | 35 +- src/daemons/server-stats.ts | 57 +- src/db/postgre.ts | 12 + src/docs/style.styl | 2 +- src/misc/check-hit-antenna.ts | 53 + src/misc/reaction-lib.ts | 50 +- src/models/entities/announcement-read.ts | 36 + src/models/entities/announcement.ts | 43 + src/models/entities/antenna-note.ts | 43 + src/models/entities/antenna.ts | 81 + src/models/entities/clip-note.ts | 37 + src/models/entities/clip.ts | 38 + src/models/entities/meta.ts | 10 - src/models/entities/note.ts | 17 - src/models/entities/notification.ts | 21 +- src/models/index.ts | 12 + src/models/repositories/antenna.ts | 58 + src/models/repositories/clip.ts | 46 + src/models/repositories/note-reaction.ts | 3 +- src/models/repositories/note.ts | 12 +- src/models/repositories/notification.ts | 2 +- src/models/repositories/user.ts | 53 +- src/queue/processors/db/export-notes.ts | 2 - src/queue/processors/inbox.ts | 10 - src/remote/activitypub/models/note.ts | 1 - src/remote/activitypub/request.ts | 10 - src/server/api/common/read-notification.ts | 18 +- src/server/api/common/signin.ts | 5 +- src/server/api/common/signup.ts | 104 + .../api/endpoints/admin/accounts/create.ts | 33 + .../endpoints/admin/announcements/create.ts | 36 + .../endpoints/admin/announcements/delete.ts | 34 + .../api/endpoints/admin/announcements/list.ts | 41 + .../endpoints/admin/announcements/update.ts | 48 + .../api/endpoints/admin/emoji/list-remote.ts | 62 + src/server/api/endpoints/admin/emoji/list.ts | 32 +- .../endpoints/admin/queue/deliver-delayed.ts | 31 + .../endpoints/admin/queue/inbox-delayed.ts | 31 + src/server/api/endpoints/admin/server-info.ts | 45 + src/server/api/endpoints/admin/update-meta.ts | 30 +- src/server/api/endpoints/announcements.ts | 42 + src/server/api/endpoints/antennas/create.ts | 92 + src/server/api/endpoints/antennas/delete.ts | 40 + src/server/api/endpoints/antennas/list.ts | 18 + src/server/api/endpoints/antennas/notes.ts | 72 + src/server/api/endpoints/antennas/show.ts | 41 + src/server/api/endpoints/antennas/update.ts | 108 + src/server/api/endpoints/clips/create.ts | 29 + src/server/api/endpoints/clips/delete.ts | 40 + src/server/api/endpoints/clips/list.ts | 18 + src/server/api/endpoints/clips/notes.ts | 67 + src/server/api/endpoints/clips/show.ts | 41 + src/server/api/endpoints/clips/update.ts | 49 + .../api/endpoints/federation/followers.ts | 51 + .../api/endpoints/federation/following.ts | 51 + .../api/endpoints/federation/instances.ts | 56 +- src/server/api/endpoints/federation/users.ts | 51 + src/server/api/endpoints/i/notifications.ts | 4 +- .../api/endpoints/i/read-announcement.ts | 60 + src/server/api/endpoints/meta.ts | 27 +- src/server/api/endpoints/notes/create.ts | 18 - src/server/api/endpoints/notes/featured.ts | 19 +- src/server/api/endpoints/notes/search.ts | 141 +- .../users/search-by-username-and-host.ts | 101 + src/server/api/private/signup.ts | 132 +- src/server/api/stream/channels/antenna.ts | 41 + src/server/api/stream/channels/ap-log.ts | 25 - .../api/stream/channels/hybrid-timeline.ts | 2 +- src/server/api/stream/channels/index.ts | 6 +- src/server/api/stream/channels/notes-stats.ts | 38 - src/server/api/stream/index.ts | 15 +- src/server/nodeinfo.ts | 3 +- src/server/web/docs.ts | 3 +- src/server/web/index.ts | 1 + src/server/web/views/base.pug | 25 +- src/services/add-note-to-antenna.ts | 54 + src/services/create-notification.ts | 3 + src/services/following/create.ts | 12 +- src/services/following/requests/create.ts | 6 +- src/services/note/create.ts | 24 +- src/services/note/reaction/create.ts | 4 +- src/services/note/read.ts | 53 +- src/services/stream.ts | 11 +- webpack.config.ts | 54 +- yarn.lock | 1509 ++++------ 871 files changed, 26140 insertions(+), 71950 deletions(-) delete mode 100644 locales/ca-ES.yml delete mode 100644 locales/cs-CZ.yml delete mode 100644 locales/da-DK.yml delete mode 100644 locales/de-DE.yml delete mode 100644 locales/en-US.yml delete mode 100644 locales/es-ES.yml delete mode 100644 locales/fr-FR.yml delete mode 100644 locales/it-IT.yml delete mode 100644 locales/ja-KS.yml delete mode 100644 locales/ko-KR.yml delete mode 100644 locales/nl-NL.yml delete mode 100644 locales/no-NO.yml delete mode 100644 locales/pl-PL.yml delete mode 100644 locales/pt-PT.yml delete mode 100644 locales/ru-RU.yml delete mode 100644 locales/zh-CN.yml delete mode 100644 locales/zh-TW.yml create mode 100644 migration/1579267006611-v12.ts create mode 100644 migration/1579270193251-v12-2.ts create mode 100644 migration/1579282808087-v12-3.ts create mode 100644 migration/1579544426412-v12-4.ts create mode 100644 migration/1579977526288-v12-5.ts create mode 100644 migration/1579993013959-v12-6.ts create mode 100644 migration/1580069531114-v12-7.ts create mode 100644 migration/1580148575182-v12-8.ts create mode 100644 migration/1580154400017-v12-9.ts create mode 100644 migration/1580276619901-v12-10.ts delete mode 100644 src/@types/const.json.d.ts create mode 100644 src/client/app.vue delete mode 100644 src/client/app/admin/assets/header-icon.svg delete mode 100644 src/client/app/admin/script.ts delete mode 100644 src/client/app/admin/style.styl delete mode 100644 src/client/app/admin/views/abuse.vue delete mode 100644 src/client/app/admin/views/announcements.vue delete mode 100644 src/client/app/admin/views/dashboard.ap-log.vue delete mode 100644 src/client/app/admin/views/dashboard.cpu-memory.vue delete mode 100644 src/client/app/admin/views/dashboard.queue-charts.vue delete mode 100644 src/client/app/admin/views/dashboard.vue delete mode 100644 src/client/app/admin/views/db.vue delete mode 100644 src/client/app/admin/views/drive.vue delete mode 100644 src/client/app/admin/views/emoji.vue delete mode 100644 src/client/app/admin/views/federation.vue delete mode 100644 src/client/app/admin/views/index.vue delete mode 100644 src/client/app/admin/views/instance.vue delete mode 100644 src/client/app/admin/views/logs.vue delete mode 100644 src/client/app/admin/views/moderators.vue delete mode 100644 src/client/app/admin/views/queue.chart.vue delete mode 100644 src/client/app/admin/views/queue.vue delete mode 100644 src/client/app/admin/views/users.user.vue delete mode 100644 src/client/app/admin/views/users.vue delete mode 100644 src/client/app/animation.styl delete mode 100644 src/client/app/app.styl delete mode 100644 src/client/app/app.vue delete mode 100644 src/client/app/auth/assets/icon.svg delete mode 100644 src/client/app/auth/script.ts delete mode 100644 src/client/app/auth/style.styl delete mode 100644 src/client/app/auth/views/form.vue delete mode 100644 src/client/app/auth/views/index.vue delete mode 100644 src/client/app/boot.js delete mode 100644 src/client/app/common/scripts/check-for-update.ts delete mode 100644 src/client/app/common/scripts/format-uptime.ts delete mode 100644 src/client/app/common/scripts/get-face.ts delete mode 100644 src/client/app/common/scripts/note-mixin.ts delete mode 100644 src/client/app/common/scripts/note-subscriber.ts delete mode 100644 src/client/app/common/scripts/room/furniture.ts delete mode 100644 src/client/app/common/scripts/room/furnitures.json5 delete mode 100644 src/client/app/common/scripts/room/room.ts delete mode 100644 src/client/app/common/scripts/should-mute-note.ts delete mode 100644 src/client/app/common/size.ts delete mode 100644 src/client/app/common/views/components/acct.vue delete mode 100644 src/client/app/common/views/components/analog-clock.vue delete mode 100644 src/client/app/common/views/components/avatar.vue delete mode 100644 src/client/app/common/views/components/connect-failed.troubleshooter.vue delete mode 100644 src/client/app/common/views/components/connect-failed.vue delete mode 100644 src/client/app/common/views/components/cw-button.vue delete mode 100644 src/client/app/common/views/components/dialog.vue delete mode 100644 src/client/app/common/views/components/dummy.vue delete mode 100644 src/client/app/common/views/components/ellipsis.vue delete mode 100644 src/client/app/common/views/components/emoji-picker.vue delete mode 100644 src/client/app/common/views/components/error.vue delete mode 100644 src/client/app/common/views/components/file-type-icon.vue delete mode 100644 src/client/app/common/views/components/follow-button.vue delete mode 100644 src/client/app/common/views/components/forkit.vue delete mode 100644 src/client/app/common/views/components/frac.vue delete mode 100644 src/client/app/common/views/components/games/reversi/reversi.game.vue delete mode 100644 src/client/app/common/views/components/games/reversi/reversi.gameroom.vue delete mode 100644 src/client/app/common/views/components/games/reversi/reversi.index.vue delete mode 100644 src/client/app/common/views/components/games/reversi/reversi.room.vue delete mode 100644 src/client/app/common/views/components/games/reversi/reversi.vue delete mode 100644 src/client/app/common/views/components/google.vue delete mode 100644 src/client/app/common/views/components/image-viewer.vue delete mode 100644 src/client/app/common/views/components/index.ts delete mode 100644 src/client/app/common/views/components/instance.vue delete mode 100644 src/client/app/common/views/components/integrations.integration.vue delete mode 100644 src/client/app/common/views/components/integrations.vue delete mode 100644 src/client/app/common/views/components/media-image.vue delete mode 100644 src/client/app/common/views/components/media-list.vue delete mode 100644 src/client/app/common/views/components/menu.vue delete mode 100644 src/client/app/common/views/components/messaging-room.message.vue delete mode 100644 src/client/app/common/views/components/messaging.vue delete mode 100644 src/client/app/common/views/components/misskey-flavored-markdown.vue delete mode 100644 src/client/app/common/views/components/nav.vue delete mode 100644 src/client/app/common/views/components/note-header.vue delete mode 100644 src/client/app/common/views/components/note-skeleton.vue delete mode 100644 src/client/app/common/views/components/page-preview.vue delete mode 100644 src/client/app/common/views/components/page/page.post.vue delete mode 100644 src/client/app/common/views/components/particle.vue delete mode 100644 src/client/app/common/views/components/poll-editor.vue delete mode 100644 src/client/app/common/views/components/poll.vue delete mode 100644 src/client/app/common/views/components/post-form-attaches.vue delete mode 100644 src/client/app/common/views/components/reaction-icon.vue delete mode 100644 src/client/app/common/views/components/reaction-picker.vue delete mode 100644 src/client/app/common/views/components/reactions-viewer.details.vue delete mode 100644 src/client/app/common/views/components/renote.vue delete mode 100644 src/client/app/common/views/components/settings/2fa.vue delete mode 100644 src/client/app/common/views/components/settings/api.vue delete mode 100644 src/client/app/common/views/components/settings/app-type.vue delete mode 100644 src/client/app/common/views/components/settings/apps.vue delete mode 100644 src/client/app/common/views/components/settings/drive.vue delete mode 100644 src/client/app/common/views/components/settings/integration.vue delete mode 100644 src/client/app/common/views/components/settings/language.vue delete mode 100644 src/client/app/common/views/components/settings/mute-and-block.user.vue delete mode 100644 src/client/app/common/views/components/settings/mute-and-block.vue delete mode 100644 src/client/app/common/views/components/settings/notification.vue delete mode 100644 src/client/app/common/views/components/settings/password.vue delete mode 100644 src/client/app/common/views/components/settings/profile.vue delete mode 100644 src/client/app/common/views/components/settings/settings.vue delete mode 100644 src/client/app/common/views/components/settings/signins.vue delete mode 100644 src/client/app/common/views/components/settings/tags.vue delete mode 100644 src/client/app/common/views/components/settings/theme.vue delete mode 100644 src/client/app/common/views/components/stream-indicator.vue delete mode 100644 src/client/app/common/views/components/tag-cloud.vue delete mode 100644 src/client/app/common/views/components/trends.vue delete mode 100644 src/client/app/common/views/components/ui/button.vue delete mode 100644 src/client/app/common/views/components/ui/card.vue delete mode 100644 src/client/app/common/views/components/ui/form.vue delete mode 100644 src/client/app/common/views/components/ui/form/button.vue delete mode 100644 src/client/app/common/views/components/ui/form/radio.vue delete mode 100644 src/client/app/common/views/components/ui/horizon-group.vue delete mode 100644 src/client/app/common/views/components/ui/info.vue delete mode 100644 src/client/app/common/views/components/ui/input.vue delete mode 100644 src/client/app/common/views/components/ui/margin.vue delete mode 100644 src/client/app/common/views/components/ui/modal.vue delete mode 100644 src/client/app/common/views/components/ui/pagination.vue delete mode 100644 src/client/app/common/views/components/ui/radio.vue delete mode 100644 src/client/app/common/views/components/ui/select.vue delete mode 100644 src/client/app/common/views/components/ui/switch.vue delete mode 100644 src/client/app/common/views/components/ui/textarea.vue delete mode 100644 src/client/app/common/views/components/uploader.vue delete mode 100644 src/client/app/common/views/components/url-preview.vue delete mode 100644 src/client/app/common/views/components/user-list.vue delete mode 100644 src/client/app/common/views/components/user-menu.vue delete mode 100644 src/client/app/common/views/components/visibility-chooser.vue delete mode 100644 src/client/app/common/views/components/welcome-timeline.vue delete mode 100644 src/client/app/common/views/deck/deck.column-core.vue delete mode 100644 src/client/app/common/views/deck/deck.column-template.vue delete mode 100644 src/client/app/common/views/deck/deck.column.vue delete mode 100644 src/client/app/common/views/deck/deck.direct-column.vue delete mode 100644 src/client/app/common/views/deck/deck.hashtag-column.vue delete mode 100644 src/client/app/common/views/deck/deck.hashtag-tl.vue delete mode 100644 src/client/app/common/views/deck/deck.list-tl.vue delete mode 100644 src/client/app/common/views/deck/deck.mentions-column.vue delete mode 100644 src/client/app/common/views/deck/deck.note-column.vue delete mode 100644 src/client/app/common/views/deck/deck.notes.vue delete mode 100644 src/client/app/common/views/deck/deck.notification.vue delete mode 100644 src/client/app/common/views/deck/deck.notifications-column.vue delete mode 100644 src/client/app/common/views/deck/deck.notifications.vue delete mode 100644 src/client/app/common/views/deck/deck.page-column.vue delete mode 100644 src/client/app/common/views/deck/deck.search-column.vue delete mode 100644 src/client/app/common/views/deck/deck.tl-column.vue delete mode 100644 src/client/app/common/views/deck/deck.tl.vue delete mode 100644 src/client/app/common/views/deck/deck.user-column.home.vue delete mode 100644 src/client/app/common/views/deck/deck.user-column.vue delete mode 100644 src/client/app/common/views/deck/deck.vue delete mode 100644 src/client/app/common/views/deck/deck.widgets-column.vue delete mode 100644 src/client/app/common/views/directives/index.ts delete mode 100644 src/client/app/common/views/directives/particle.ts delete mode 100644 src/client/app/common/views/filters/index.ts delete mode 100644 src/client/app/common/views/pages/explore.vue delete mode 100644 src/client/app/common/views/pages/favorites.vue delete mode 100644 src/client/app/common/views/pages/featured.vue delete mode 100644 src/client/app/common/views/pages/follow-requests.vue delete mode 100644 src/client/app/common/views/pages/follow.vue delete mode 100644 src/client/app/common/views/pages/followers.vue delete mode 100644 src/client/app/common/views/pages/following.vue delete mode 100644 src/client/app/common/views/pages/not-found.vue delete mode 100644 src/client/app/common/views/pages/page-editor/els/page-editor.el.button.vue delete mode 100644 src/client/app/common/views/pages/page-editor/els/page-editor.el.number-input.vue delete mode 100644 src/client/app/common/views/pages/page-editor/els/page-editor.el.switch.vue delete mode 100644 src/client/app/common/views/pages/page-editor/els/page-editor.el.text-input.vue delete mode 100644 src/client/app/common/views/pages/page-editor/els/page-editor.el.textarea-input.vue delete mode 100644 src/client/app/common/views/pages/page-editor/page-editor.container.vue delete mode 100644 src/client/app/common/views/pages/pages.vue delete mode 100644 src/client/app/common/views/pages/room/preview.vue delete mode 100644 src/client/app/common/views/pages/room/room.vue delete mode 100644 src/client/app/common/views/pages/share.vue delete mode 100644 src/client/app/common/views/pages/user-group-editor.vue delete mode 100644 src/client/app/common/views/pages/user-groups.vue delete mode 100644 src/client/app/common/views/pages/user-list-editor.vue delete mode 100644 src/client/app/common/views/pages/user-lists.vue delete mode 100644 src/client/app/common/views/widgets/analog-clock.vue delete mode 100644 src/client/app/common/views/widgets/broadcast.vue delete mode 100644 src/client/app/common/views/widgets/calendar.vue delete mode 100644 src/client/app/common/views/widgets/hashtags.vue delete mode 100644 src/client/app/common/views/widgets/index.ts delete mode 100644 src/client/app/common/views/widgets/instance.vue delete mode 100644 src/client/app/common/views/widgets/memo.vue delete mode 100644 src/client/app/common/views/widgets/nav.vue delete mode 100644 src/client/app/common/views/widgets/photo-stream.vue delete mode 100644 src/client/app/common/views/widgets/post-form.vue delete mode 100644 src/client/app/common/views/widgets/posts-monitor.vue delete mode 100644 src/client/app/common/views/widgets/queue.vue delete mode 100644 src/client/app/common/views/widgets/rss.vue delete mode 100644 src/client/app/common/views/widgets/server.cpu-memory.vue delete mode 100644 src/client/app/common/views/widgets/server.cpu.vue delete mode 100644 src/client/app/common/views/widgets/server.disk.vue delete mode 100644 src/client/app/common/views/widgets/server.info.vue delete mode 100644 src/client/app/common/views/widgets/server.memory.vue delete mode 100644 src/client/app/common/views/widgets/server.pie.vue delete mode 100644 src/client/app/common/views/widgets/server.uptimes.vue delete mode 100644 src/client/app/common/views/widgets/server.vue delete mode 100644 src/client/app/common/views/widgets/slideshow.vue delete mode 100644 src/client/app/common/views/widgets/tips.vue delete mode 100644 src/client/app/common/views/widgets/version.vue delete mode 100644 src/client/app/desktop/api/update-avatar.ts delete mode 100644 src/client/app/desktop/api/update-banner.ts delete mode 100644 src/client/app/desktop/assets/grid.svg delete mode 100644 src/client/app/desktop/assets/header-icon.svg delete mode 100644 src/client/app/desktop/assets/index.jpg delete mode 100644 src/client/app/desktop/assets/remove.png delete mode 100644 src/client/app/desktop/script.ts delete mode 100644 src/client/app/desktop/style.styl delete mode 100644 src/client/app/desktop/views/components/activity.calendar.vue delete mode 100644 src/client/app/desktop/views/components/activity.chart.vue delete mode 100644 src/client/app/desktop/views/components/activity.vue delete mode 100644 src/client/app/desktop/views/components/calendar.vue delete mode 100644 src/client/app/desktop/views/components/choose-file-from-drive-window.vue delete mode 100644 src/client/app/desktop/views/components/choose-folder-from-drive-window.vue delete mode 100644 src/client/app/desktop/views/components/context-menu.menu.vue delete mode 100644 src/client/app/desktop/views/components/context-menu.vue delete mode 100644 src/client/app/desktop/views/components/crop-window.vue delete mode 100644 src/client/app/desktop/views/components/detail-notes.vue delete mode 100644 src/client/app/desktop/views/components/drive-window.vue delete mode 100644 src/client/app/desktop/views/components/drive.file.vue delete mode 100644 src/client/app/desktop/views/components/emoji-picker-dialog.vue delete mode 100644 src/client/app/desktop/views/components/game-window.vue delete mode 100644 src/client/app/desktop/views/components/index.ts delete mode 100644 src/client/app/desktop/views/components/media-video-dialog.vue delete mode 100644 src/client/app/desktop/views/components/media-video.vue delete mode 100644 src/client/app/desktop/views/components/messaging-room-window.vue delete mode 100644 src/client/app/desktop/views/components/messaging-window.vue delete mode 100644 src/client/app/desktop/views/components/note-detail.vue delete mode 100644 src/client/app/desktop/views/components/note-preview.vue delete mode 100644 src/client/app/desktop/views/components/note.sub.vue delete mode 100644 src/client/app/desktop/views/components/note.vue delete mode 100644 src/client/app/desktop/views/components/notes.vue delete mode 100644 src/client/app/desktop/views/components/notifications.vue delete mode 100644 src/client/app/desktop/views/components/post-form-window.vue delete mode 100644 src/client/app/desktop/views/components/post-form.vue delete mode 100644 src/client/app/desktop/views/components/progress-dialog.vue delete mode 100644 src/client/app/desktop/views/components/renote-form-window.vue delete mode 100644 src/client/app/desktop/views/components/renote-form.vue delete mode 100644 src/client/app/desktop/views/components/settings-window.vue delete mode 100644 src/client/app/desktop/views/components/settings.vue delete mode 100644 src/client/app/desktop/views/components/sub-note-content.vue delete mode 100644 src/client/app/desktop/views/components/ui-container.vue delete mode 100644 src/client/app/desktop/views/components/ui-notification.vue delete mode 100644 src/client/app/desktop/views/components/ui.header.account.vue delete mode 100644 src/client/app/desktop/views/components/ui.header.clock.vue delete mode 100644 src/client/app/desktop/views/components/ui.header.messaging.vue delete mode 100644 src/client/app/desktop/views/components/ui.header.nav.vue delete mode 100644 src/client/app/desktop/views/components/ui.header.notifications.vue delete mode 100644 src/client/app/desktop/views/components/ui.header.post.vue delete mode 100644 src/client/app/desktop/views/components/ui.header.search.vue delete mode 100644 src/client/app/desktop/views/components/ui.header.vue delete mode 100644 src/client/app/desktop/views/components/ui.sidebar.vue delete mode 100644 src/client/app/desktop/views/components/ui.vue delete mode 100644 src/client/app/desktop/views/components/user-list-timeline.vue delete mode 100644 src/client/app/desktop/views/components/user-preview.vue delete mode 100644 src/client/app/desktop/views/components/window.vue delete mode 100644 src/client/app/desktop/views/home/home.vue delete mode 100644 src/client/app/desktop/views/home/note.vue delete mode 100644 src/client/app/desktop/views/home/search.vue delete mode 100644 src/client/app/desktop/views/home/tag.vue delete mode 100644 src/client/app/desktop/views/home/timeline.core.vue delete mode 100644 src/client/app/desktop/views/home/timeline.vue delete mode 100644 src/client/app/desktop/views/home/user/index.vue delete mode 100644 src/client/app/desktop/views/home/user/user.header.vue delete mode 100644 src/client/app/desktop/views/home/user/user.home.vue delete mode 100644 src/client/app/desktop/views/home/user/user.photos.vue delete mode 100644 src/client/app/desktop/views/home/user/user.timeline.vue delete mode 100644 src/client/app/desktop/views/pages/drive.vue delete mode 100644 src/client/app/desktop/views/pages/games/reversi.vue delete mode 100644 src/client/app/desktop/views/pages/messaging-room.vue delete mode 100644 src/client/app/desktop/views/pages/selectdrive.vue delete mode 100644 src/client/app/desktop/views/pages/settings.vue delete mode 100644 src/client/app/desktop/views/pages/welcome.vue delete mode 100644 src/client/app/desktop/views/widgets/activity.vue delete mode 100644 src/client/app/desktop/views/widgets/customize.vue delete mode 100644 src/client/app/desktop/views/widgets/index.ts delete mode 100644 src/client/app/desktop/views/widgets/messaging.vue delete mode 100644 src/client/app/desktop/views/widgets/notifications.vue delete mode 100644 src/client/app/desktop/views/widgets/polls.vue delete mode 100644 src/client/app/desktop/views/widgets/profile.vue delete mode 100644 src/client/app/desktop/views/widgets/timemachine.vue delete mode 100644 src/client/app/desktop/views/widgets/trends.vue delete mode 100644 src/client/app/desktop/views/widgets/users.vue delete mode 100644 src/client/app/dev/script.ts delete mode 100644 src/client/app/dev/style.styl delete mode 100644 src/client/app/dev/views/app.vue delete mode 100644 src/client/app/dev/views/apps.vue delete mode 100644 src/client/app/dev/views/index.vue delete mode 100644 src/client/app/dev/views/new-app.vue delete mode 100644 src/client/app/dev/views/ui.vue delete mode 100644 src/client/app/i18n.ts delete mode 100644 src/client/app/init.css delete mode 100644 src/client/app/init.ts delete mode 100644 src/client/app/mobile/script.ts delete mode 100644 src/client/app/mobile/style.styl delete mode 100644 src/client/app/mobile/views/components/detail-notes.vue delete mode 100644 src/client/app/mobile/views/components/drive-file-chooser.vue delete mode 100644 src/client/app/mobile/views/components/drive-folder-chooser.vue delete mode 100644 src/client/app/mobile/views/components/drive.file-detail.vue delete mode 100644 src/client/app/mobile/views/components/drive.file.vue delete mode 100644 src/client/app/mobile/views/components/drive.folder.vue delete mode 100644 src/client/app/mobile/views/components/drive.vue delete mode 100644 src/client/app/mobile/views/components/index.ts delete mode 100644 src/client/app/mobile/views/components/note-card.vue delete mode 100644 src/client/app/mobile/views/components/note-detail.vue delete mode 100644 src/client/app/mobile/views/components/note-preview.vue delete mode 100644 src/client/app/mobile/views/components/note.sub.vue delete mode 100644 src/client/app/mobile/views/components/note.vue delete mode 100644 src/client/app/mobile/views/components/notes.vue delete mode 100644 src/client/app/mobile/views/components/notification-preview.vue delete mode 100644 src/client/app/mobile/views/components/notification.vue delete mode 100644 src/client/app/mobile/views/components/notifications.vue delete mode 100644 src/client/app/mobile/views/components/notify.vue delete mode 100644 src/client/app/mobile/views/components/post-form-dialog.vue delete mode 100644 src/client/app/mobile/views/components/post-form.vue delete mode 100644 src/client/app/mobile/views/components/sub-note-content.vue delete mode 100644 src/client/app/mobile/views/components/ui-container.vue delete mode 100644 src/client/app/mobile/views/components/ui.header.vue delete mode 100644 src/client/app/mobile/views/components/ui.nav.vue delete mode 100644 src/client/app/mobile/views/components/ui.vue delete mode 100644 src/client/app/mobile/views/components/user-list-timeline.vue delete mode 100644 src/client/app/mobile/views/components/user-timeline.vue delete mode 100644 src/client/app/mobile/views/directives/index.ts delete mode 100644 src/client/app/mobile/views/directives/user-preview.ts delete mode 100644 src/client/app/mobile/views/pages/drive.vue delete mode 100644 src/client/app/mobile/views/pages/games/reversi.vue delete mode 100644 src/client/app/mobile/views/pages/home.timeline.vue delete mode 100644 src/client/app/mobile/views/pages/home.vue delete mode 100644 src/client/app/mobile/views/pages/messaging-room.vue delete mode 100644 src/client/app/mobile/views/pages/messaging.vue delete mode 100644 src/client/app/mobile/views/pages/note.vue delete mode 100644 src/client/app/mobile/views/pages/notifications.vue delete mode 100644 src/client/app/mobile/views/pages/search.vue delete mode 100644 src/client/app/mobile/views/pages/selectdrive.vue delete mode 100644 src/client/app/mobile/views/pages/settings.vue delete mode 100644 src/client/app/mobile/views/pages/signup.vue delete mode 100644 src/client/app/mobile/views/pages/tag.vue delete mode 100644 src/client/app/mobile/views/pages/ui.vue delete mode 100644 src/client/app/mobile/views/pages/user/home.notes.vue delete mode 100644 src/client/app/mobile/views/pages/user/home.vue delete mode 100644 src/client/app/mobile/views/pages/user/index.vue delete mode 100644 src/client/app/mobile/views/pages/welcome.vue delete mode 100644 src/client/app/mobile/views/pages/widgets.vue delete mode 100644 src/client/app/mobile/views/widgets/activity.vue delete mode 100644 src/client/app/mobile/views/widgets/index.ts delete mode 100644 src/client/app/mobile/views/widgets/profile.vue delete mode 100644 src/client/app/reset.styl delete mode 100644 src/client/app/safe.js delete mode 100644 src/client/app/store.ts delete mode 100644 src/client/app/theme.ts delete mode 100644 src/client/assets/error.jpg delete mode 100644 src/client/assets/fedi.jpg delete mode 100644 src/client/assets/flush.html delete mode 100644 src/client/assets/message.mp3 delete mode 100644 src/client/assets/misskey-php-like-logo.png delete mode 100644 src/client/assets/pointer.png delete mode 100644 src/client/assets/post.mp3 delete mode 100644 src/client/assets/redoc.html delete mode 100644 src/client/assets/reversi-put-me.mp3 delete mode 100644 src/client/assets/reversi-put-you.mp3 delete mode 100644 src/client/assets/room/furnitures/bed/bed.blend delete mode 100644 src/client/assets/room/furnitures/bed/bed.glb delete mode 100644 src/client/assets/room/furnitures/bin/bin.blend delete mode 100644 src/client/assets/room/furnitures/bin/bin.glb delete mode 100644 src/client/assets/room/furnitures/book/book.blend delete mode 100644 src/client/assets/room/furnitures/book/book.glb delete mode 100644 src/client/assets/room/furnitures/book2/barcode.png delete mode 100644 src/client/assets/room/furnitures/book2/book2.blend delete mode 100644 src/client/assets/room/furnitures/book2/book2.glb delete mode 100644 src/client/assets/room/furnitures/book2/texture.afdesign delete mode 100644 src/client/assets/room/furnitures/book2/texture.png delete mode 100644 src/client/assets/room/furnitures/book2/uv.png delete mode 100644 src/client/assets/room/furnitures/cardboard-box/cardboard-box.blend delete mode 100644 src/client/assets/room/furnitures/cardboard-box/cardboard-box.glb delete mode 100644 src/client/assets/room/furnitures/cardboard-box2/cardboard-box2.blend delete mode 100644 src/client/assets/room/furnitures/cardboard-box2/cardboard-box2.glb delete mode 100644 src/client/assets/room/furnitures/cardboard-box2/texture.png delete mode 100644 src/client/assets/room/furnitures/cardboard-box2/uv.png delete mode 100644 src/client/assets/room/furnitures/cardboard-box3/cardboard-box3.blend delete mode 100644 src/client/assets/room/furnitures/cardboard-box3/cardboard-box3.glb delete mode 100644 src/client/assets/room/furnitures/cardboard-box3/texture.png delete mode 100644 src/client/assets/room/furnitures/cardboard-box3/texture.xcf delete mode 100644 src/client/assets/room/furnitures/cardboard-box3/uv.png delete mode 100644 src/client/assets/room/furnitures/carpet-stripe/carpet-stripe.blend delete mode 100644 src/client/assets/room/furnitures/carpet-stripe/carpet-stripe.glb delete mode 100644 src/client/assets/room/furnitures/chair/chair.blend delete mode 100644 src/client/assets/room/furnitures/chair/chair.glb delete mode 100644 src/client/assets/room/furnitures/chair2/chair2.blend delete mode 100644 src/client/assets/room/furnitures/chair2/chair2.glb delete mode 100644 src/client/assets/room/furnitures/color-box/color-box.blend delete mode 100644 src/client/assets/room/furnitures/color-box/color-box.glb delete mode 100644 src/client/assets/room/furnitures/corkboard/corkboard.blend delete mode 100644 src/client/assets/room/furnitures/corkboard/corkboard.glb delete mode 100644 src/client/assets/room/furnitures/cube/cube.blend delete mode 100644 src/client/assets/room/furnitures/cube/cube.glb delete mode 100644 src/client/assets/room/furnitures/cup-noodle/cup-noodle.blend delete mode 100644 src/client/assets/room/furnitures/cup-noodle/cup-noodle.glb delete mode 100644 src/client/assets/room/furnitures/cup-noodle/noodle.png delete mode 100644 src/client/assets/room/furnitures/desk/desk.blend delete mode 100644 src/client/assets/room/furnitures/desk/desk.glb delete mode 100644 src/client/assets/room/furnitures/energy-drink/energy-drink.blend delete mode 100644 src/client/assets/room/furnitures/energy-drink/energy-drink.glb delete mode 100644 src/client/assets/room/furnitures/energy-drink/texture.afdesign delete mode 100644 src/client/assets/room/furnitures/energy-drink/texture.png delete mode 100644 src/client/assets/room/furnitures/energy-drink/uv.png delete mode 100644 src/client/assets/room/furnitures/eraser/cover.png delete mode 100644 src/client/assets/room/furnitures/eraser/cover.psd delete mode 100644 src/client/assets/room/furnitures/eraser/eraser-uv.png delete mode 100644 src/client/assets/room/furnitures/eraser/eraser.blend delete mode 100644 src/client/assets/room/furnitures/eraser/eraser.glb delete mode 100644 src/client/assets/room/furnitures/facial-tissue/facial-tissue-uv.png delete mode 100644 src/client/assets/room/furnitures/facial-tissue/facial-tissue.blend delete mode 100644 src/client/assets/room/furnitures/facial-tissue/facial-tissue.glb delete mode 100644 src/client/assets/room/furnitures/facial-tissue/facial-tissue.png delete mode 100644 src/client/assets/room/furnitures/facial-tissue/facial-tissue.psd delete mode 100644 src/client/assets/room/furnitures/fan/fan.blend delete mode 100644 src/client/assets/room/furnitures/fan/fan.glb delete mode 100644 src/client/assets/room/furnitures/holo-display/holo-display.blend delete mode 100644 src/client/assets/room/furnitures/holo-display/holo-display.glb delete mode 100644 src/client/assets/room/furnitures/holo-display/ray-uv.png delete mode 100644 src/client/assets/room/furnitures/holo-display/ray.png delete mode 100644 src/client/assets/room/furnitures/keyboard/keyboard.blend delete mode 100644 src/client/assets/room/furnitures/keyboard/keyboard.glb delete mode 100644 src/client/assets/room/furnitures/low-table/low-table.blend delete mode 100644 src/client/assets/room/furnitures/low-table/low-table.glb delete mode 100644 src/client/assets/room/furnitures/mat/mat.blend delete mode 100644 src/client/assets/room/furnitures/mat/mat.glb delete mode 100644 src/client/assets/room/furnitures/milk/milk-uv.png delete mode 100644 src/client/assets/room/furnitures/milk/milk.blend delete mode 100644 src/client/assets/room/furnitures/milk/milk.glb delete mode 100644 src/client/assets/room/furnitures/milk/milk.png delete mode 100644 src/client/assets/room/furnitures/milk/milk.psd delete mode 100644 src/client/assets/room/furnitures/monitor/monitor.blend delete mode 100644 src/client/assets/room/furnitures/monitor/monitor.glb delete mode 100644 src/client/assets/room/furnitures/monitor/monitor.psd delete mode 100644 src/client/assets/room/furnitures/monitor/screen-uv.png delete mode 100644 src/client/assets/room/furnitures/monitor/screen.jpg delete mode 100644 src/client/assets/room/furnitures/moon/moon.blend delete mode 100644 src/client/assets/room/furnitures/moon/moon.glb delete mode 100644 src/client/assets/room/furnitures/moon/moon.jpg delete mode 100644 src/client/assets/room/furnitures/mousepad/mousepad.blend delete mode 100644 src/client/assets/room/furnitures/mousepad/mousepad.glb delete mode 100644 src/client/assets/room/furnitures/pc/motherboard-uv.png delete mode 100644 src/client/assets/room/furnitures/pc/motherboard-uv.psd delete mode 100644 src/client/assets/room/furnitures/pc/motherboard.jpg delete mode 100644 src/client/assets/room/furnitures/pc/pc.blend delete mode 100644 src/client/assets/room/furnitures/pc/pc.glb delete mode 100644 src/client/assets/room/furnitures/pencil/pencil.blend delete mode 100644 src/client/assets/room/furnitures/pencil/pencil.glb delete mode 100644 src/client/assets/room/furnitures/photoframe/photo-uv.png delete mode 100644 src/client/assets/room/furnitures/photoframe/photo.jpg delete mode 100644 src/client/assets/room/furnitures/photoframe/photoframe.blend delete mode 100644 src/client/assets/room/furnitures/photoframe/photoframe.glb delete mode 100644 src/client/assets/room/furnitures/piano/piano.blend delete mode 100644 src/client/assets/room/furnitures/piano/piano.glb delete mode 100644 src/client/assets/room/furnitures/pinguin/pinguin.blend delete mode 100644 src/client/assets/room/furnitures/pinguin/pinguin.glb delete mode 100644 src/client/assets/room/furnitures/plant/plant-soil-uv.png delete mode 100644 src/client/assets/room/furnitures/plant/plant-soil.png delete mode 100644 src/client/assets/room/furnitures/plant/plant-soil.psd delete mode 100644 src/client/assets/room/furnitures/plant/plant.blend delete mode 100644 src/client/assets/room/furnitures/plant/plant.glb delete mode 100644 src/client/assets/room/furnitures/plant2/plant2.blend delete mode 100644 src/client/assets/room/furnitures/plant2/plant2.glb delete mode 100644 src/client/assets/room/furnitures/plant2/soil.png delete mode 100644 src/client/assets/room/furnitures/poster-h/poster-h.blend delete mode 100644 src/client/assets/room/furnitures/poster-h/poster-h.glb delete mode 100644 src/client/assets/room/furnitures/poster-h/uv.png delete mode 100644 src/client/assets/room/furnitures/poster-v/poster-v.blend delete mode 100644 src/client/assets/room/furnitures/poster-v/poster-v.glb delete mode 100644 src/client/assets/room/furnitures/poster-v/uv.png delete mode 100644 src/client/assets/room/furnitures/pudding/pudding.blend delete mode 100644 src/client/assets/room/furnitures/pudding/pudding.glb delete mode 100644 src/client/assets/room/furnitures/rubik-cube/rubik-cube.blend delete mode 100644 src/client/assets/room/furnitures/rubik-cube/rubik-cube.glb delete mode 100644 src/client/assets/room/furnitures/server/rack-uv.png delete mode 100644 src/client/assets/room/furnitures/server/rack.png delete mode 100644 src/client/assets/room/furnitures/server/server.blend delete mode 100644 src/client/assets/room/furnitures/server/server.glb delete mode 100644 src/client/assets/room/furnitures/server/server.png delete mode 100644 src/client/assets/room/furnitures/server/uv.png delete mode 100644 src/client/assets/room/furnitures/sofa/sofa.blend delete mode 100644 src/client/assets/room/furnitures/sofa/sofa.glb delete mode 100644 src/client/assets/room/furnitures/spiral/spiral.blend delete mode 100644 src/client/assets/room/furnitures/spiral/spiral.glb delete mode 100644 src/client/assets/room/furnitures/tv/screen-uv.png delete mode 100644 src/client/assets/room/furnitures/tv/tv.blend delete mode 100644 src/client/assets/room/furnitures/tv/tv.glb delete mode 100644 src/client/assets/room/furnitures/wall-clock/wall-clock.blend delete mode 100644 src/client/assets/room/furnitures/wall-clock/wall-clock.glb delete mode 100644 src/client/assets/room/rooms/default/default.blend delete mode 100644 src/client/assets/room/rooms/default/default.glb delete mode 100644 src/client/assets/room/rooms/washitsu/husuma-uv.png delete mode 100644 src/client/assets/room/rooms/washitsu/husuma.png delete mode 100644 src/client/assets/room/rooms/washitsu/tatami-single1600.png delete mode 100644 src/client/assets/room/rooms/washitsu/tatami-uv.png delete mode 100644 src/client/assets/room/rooms/washitsu/tatami.afdesign delete mode 100644 src/client/assets/room/rooms/washitsu/tatami.png delete mode 100644 src/client/assets/room/rooms/washitsu/washitsu.blend delete mode 100644 src/client/assets/room/rooms/washitsu/washitsu.glb delete mode 100644 src/client/assets/thumbnail-not-available.png delete mode 100644 src/client/assets/title.svg delete mode 100644 src/client/assets/unread.svg delete mode 100644 src/client/assets/version.html delete mode 100644 src/client/assets/welcome-bg.dark.svg delete mode 100644 src/client/assets/welcome-bg.light.svg create mode 100644 src/client/components/acct.vue rename src/client/{app/common/views => }/components/autocomplete.vue (78%) create mode 100644 src/client/components/avatar.vue rename src/client/{app/common/views => }/components/avatars.vue (100%) rename src/client/{app/common/views => }/components/code-core.vue (99%) rename src/client/{app/common/views => }/components/code.vue (99%) create mode 100644 src/client/components/cw-button.vue create mode 100644 src/client/components/date-separated-list.vue create mode 100644 src/client/components/dialog.vue rename src/client/{app/common/views => }/components/drive-file-thumbnail.vue (83%) create mode 100644 src/client/components/drive-window.vue create mode 100644 src/client/components/drive.file.vue rename src/client/{app/desktop/views => }/components/drive.folder.vue (69%) rename src/client/{app/desktop/views => }/components/drive.nav-folder.vue (83%) rename src/client/{app/desktop/views => }/components/drive.vue (66%) create mode 100644 src/client/components/ellipsis.vue create mode 100644 src/client/components/emoji-picker.vue rename src/client/{app/common/views => }/components/emoji.vue (71%) create mode 100644 src/client/components/error.vue create mode 100644 src/client/components/file-type-icon.vue create mode 100644 src/client/components/follow-button.vue rename src/client/{app/common/views => }/components/formula-core.vue (88%) rename src/client/{app/common/views => }/components/formula.vue (99%) create mode 100644 src/client/components/google.vue create mode 100644 src/client/components/index.ts create mode 100644 src/client/components/loading.vue rename src/client/{app/common/views => }/components/media-banner.vue (57%) create mode 100644 src/client/components/media-image.vue create mode 100644 src/client/components/media-list.vue rename src/client/{app/mobile/views => }/components/media-video.vue (51%) rename src/client/{app/common/views => }/components/mention.vue (58%) create mode 100644 src/client/components/menu.vue rename src/client/{app/common/views => }/components/mfm.ts (80%) create mode 100644 src/client/components/misskey-flavored-markdown.vue create mode 100644 src/client/components/modal.vue create mode 100644 src/client/components/note-header.vue rename src/client/{app/common/views => }/components/note-menu.vue (61%) create mode 100644 src/client/components/note-preview.vue create mode 100644 src/client/components/note.sub.vue create mode 100644 src/client/components/note.vue create mode 100644 src/client/components/notes.vue create mode 100644 src/client/components/notification.vue create mode 100644 src/client/components/notifications.vue create mode 100644 src/client/components/page-preview.vue rename src/client/{app/common/views => }/components/page/page.block.vue (99%) rename src/client/{app/common/views => }/components/page/page.button.vue (74%) rename src/client/{app/common/views => }/components/page/page.counter.vue (60%) rename src/client/{app/common/views => }/components/page/page.if.vue (98%) rename src/client/{app/common/views => }/components/page/page.image.vue (75%) rename src/client/{app/common/views => }/components/page/page.number-input.vue (56%) create mode 100644 src/client/components/page/page.post.vue rename src/client/{app/common/views => }/components/page/page.radio-button.vue (73%) rename src/client/{app/common/views => }/components/page/page.section.vue (71%) rename src/client/{app/common/views => }/components/page/page.switch.vue (61%) rename src/client/{app/common/views => }/components/page/page.text-input.vue (57%) rename src/client/{app/common/views => }/components/page/page.text.vue (67%) rename src/client/{app/common/views => }/components/page/page.textarea-input.vue (70%) rename src/client/{app/common/views => }/components/page/page.textarea.vue (51%) rename src/client/{app/common/views => }/components/page/page.vue (66%) create mode 100644 src/client/components/poll-editor.vue create mode 100644 src/client/components/poll.vue create mode 100644 src/client/components/popup.vue create mode 100644 src/client/components/post-form-attaches.vue create mode 100644 src/client/components/post-form-dialog.vue rename src/client/{app/common/scripts/post-form.ts => components/post-form.vue} (54%) create mode 100644 src/client/components/reaction-icon.vue create mode 100644 src/client/components/reaction-picker.vue create mode 100644 src/client/components/reactions-viewer.details.vue rename src/client/{app/common/views => }/components/reactions-viewer.reaction.vue (61%) rename src/client/{app/common/views => }/components/reactions-viewer.vue (77%) create mode 100644 src/client/components/renote-picker.vue create mode 100644 src/client/components/sequential-entrance.vue create mode 100644 src/client/components/signin-dialog.vue rename src/client/{app/common/views => }/components/signin.vue (69%) create mode 100644 src/client/components/signup-dialog.vue rename src/client/{app/common/views => }/components/signup.vue (67%) create mode 100644 src/client/components/sub-note-content.vue rename src/client/{app/common/views => }/components/time.vue (52%) create mode 100644 src/client/components/timeline.vue create mode 100644 src/client/components/toast.vue create mode 100644 src/client/components/ui/button.vue create mode 100644 src/client/components/ui/container.vue rename src/client/{app/common/views => }/components/ui/hr.vue (88%) create mode 100644 src/client/components/ui/info.vue create mode 100644 src/client/components/ui/input.vue create mode 100644 src/client/components/ui/pagination.vue create mode 100644 src/client/components/ui/radio.vue create mode 100644 src/client/components/ui/select.vue create mode 100644 src/client/components/ui/switch.vue create mode 100644 src/client/components/ui/textarea.vue create mode 100644 src/client/components/uploader.vue create mode 100644 src/client/components/url-preview.vue rename src/client/{app/common/views => }/components/url.vue (69%) create mode 100644 src/client/components/user-list.vue create mode 100644 src/client/components/user-menu.vue create mode 100644 src/client/components/user-moderate-dialog.vue rename src/client/{app/common/views => }/components/user-name.vue (100%) create mode 100644 src/client/components/user-preview.vue create mode 100644 src/client/components/user-select.vue create mode 100644 src/client/components/users-dialog.vue create mode 100644 src/client/components/visibility-chooser.vue create mode 100644 src/client/components/window.vue rename src/client/{app => }/config.ts (68%) rename src/client/{app/common/views => }/directives/autocomplete.ts (100%) rename src/client/{app/desktop/views => }/directives/index.ts (51%) create mode 100644 src/client/directives/size.ts rename src/client/{app/desktop/views => }/directives/user-preview.ts (63%) rename src/client/{app/common/views => }/filters/bytes.ts (86%) create mode 100644 src/client/filters/index.ts rename src/client/{app/common/views => }/filters/note.ts (100%) rename src/client/{app/common/views => }/filters/number.ts (100%) rename src/client/{app/common/views => }/filters/user.ts (65%) create mode 100644 src/client/i18n.ts create mode 100644 src/client/init.ts rename src/client/{app => }/mios.ts (72%) create mode 100644 src/client/pages/about.vue create mode 100644 src/client/pages/announcements.vue create mode 100644 src/client/pages/auth.form.vue create mode 100644 src/client/pages/auth.vue create mode 100644 src/client/pages/drive.vue create mode 100644 src/client/pages/explore.vue create mode 100644 src/client/pages/favorites.vue create mode 100644 src/client/pages/featured.vue create mode 100644 src/client/pages/follow-requests.vue create mode 100644 src/client/pages/follow.vue create mode 100644 src/client/pages/index.home.vue rename src/client/{app/mobile/views => }/pages/index.vue (66%) create mode 100644 src/client/pages/index.welcome.entrance.vue create mode 100644 src/client/pages/index.welcome.setup.vue create mode 100644 src/client/pages/index.welcome.vue create mode 100644 src/client/pages/instance/announcements.vue create mode 100644 src/client/pages/instance/emojis.vue create mode 100644 src/client/pages/instance/federation.instance.vue create mode 100644 src/client/pages/instance/federation.vue create mode 100644 src/client/pages/instance/files.vue create mode 100644 src/client/pages/instance/index.vue create mode 100644 src/client/pages/instance/monitor.vue create mode 100644 src/client/pages/instance/queue.queue.vue create mode 100644 src/client/pages/instance/queue.vue rename src/client/{app/admin/views/dashboard.charts.vue => pages/instance/stats.vue} (54%) create mode 100644 src/client/pages/instance/users.vue create mode 100644 src/client/pages/mentions.vue create mode 100644 src/client/pages/messages.vue rename src/client/{app/common/views/components => pages}/messaging-room.form.vue (63%) create mode 100644 src/client/pages/messaging-room.message.vue rename src/client/{app/common/views/components => pages}/messaging-room.vue (53%) create mode 100644 src/client/pages/messaging.vue create mode 100644 src/client/pages/my-antennas/index.antenna.vue create mode 100644 src/client/pages/my-antennas/index.vue create mode 100644 src/client/pages/my-lists/index.vue create mode 100644 src/client/pages/my-lists/list.vue create mode 100644 src/client/pages/note.vue create mode 100644 src/client/pages/page-editor/els/page-editor.el.button.vue rename src/client/{app/common/views => }/pages/page-editor/els/page-editor.el.counter.vue (50%) rename src/client/{app/common/views => }/pages/page-editor/els/page-editor.el.if.vue (76%) rename src/client/{app/common/views => }/pages/page-editor/els/page-editor.el.image.vue (66%) create mode 100644 src/client/pages/page-editor/els/page-editor.el.number-input.vue rename src/client/{app/common/views => }/pages/page-editor/els/page-editor.el.post.vue (65%) rename src/client/{app/common/views => }/pages/page-editor/els/page-editor.el.radio-button.vue (53%) rename src/client/{app/common/views => }/pages/page-editor/els/page-editor.el.section.vue (93%) create mode 100644 src/client/pages/page-editor/els/page-editor.el.switch.vue create mode 100644 src/client/pages/page-editor/els/page-editor.el.text-input.vue rename src/client/{app/common/views => }/pages/page-editor/els/page-editor.el.text.vue (57%) create mode 100644 src/client/pages/page-editor/els/page-editor.el.textarea-input.vue rename src/client/{app/common/views => }/pages/page-editor/els/page-editor.el.textarea.vue (57%) rename src/client/{app/common/views => }/pages/page-editor/page-editor.blocks.vue (100%) create mode 100644 src/client/pages/page-editor/page-editor.container.vue rename src/client/{app/common/views => }/pages/page-editor/page-editor.script-block.vue (77%) rename src/client/{app/common/views => }/pages/page-editor/page-editor.vue (66%) rename src/client/{app/common/views => }/pages/page.vue (66%) create mode 100644 src/client/pages/pages.vue create mode 100644 src/client/pages/search.vue create mode 100644 src/client/pages/settings/2fa.vue create mode 100644 src/client/pages/settings/drive.vue create mode 100644 src/client/pages/settings/general.vue create mode 100644 src/client/pages/settings/import-export.vue create mode 100644 src/client/pages/settings/index.vue create mode 100644 src/client/pages/settings/integration.vue create mode 100644 src/client/pages/settings/mute-block.vue create mode 100644 src/client/pages/settings/privacy.vue create mode 100644 src/client/pages/settings/profile.vue create mode 100644 src/client/pages/settings/reaction.vue create mode 100644 src/client/pages/settings/security.vue create mode 100644 src/client/pages/settings/theme.vue create mode 100644 src/client/pages/tag.vue create mode 100644 src/client/pages/user/follow-list.vue rename src/client/{app/common/views/components/activity.vue => pages/user/index.activity.vue} (97%) rename src/client/{app/mobile/views/pages/user/home.photos.vue => pages/user/index.photos.vue} (59%) create mode 100644 src/client/pages/user/index.timeline.vue create mode 100644 src/client/pages/user/index.vue create mode 100644 src/client/router.ts rename src/client/{app/common => }/scripts/2fa.ts (64%) rename src/{misc => client/scripts}/aiscript/evaluator.ts (99%) rename src/{misc => client/scripts}/aiscript/index.ts (100%) rename src/{misc => client/scripts}/aiscript/type-checker.ts (100%) rename src/client/{app/common => }/scripts/collect-page-vars.ts (100%) rename src/client/{app/common => }/scripts/compose-notification.ts (60%) rename src/client/{app/common => }/scripts/contains.ts (55%) rename src/client/{app/common => }/scripts/copy-to-clipboard.ts (100%) rename src/client/{app/common => }/scripts/gen-search-query.ts (86%) create mode 100644 src/client/scripts/get-instance-name.ts rename src/client/{app/common => }/scripts/get-md5.ts (100%) rename src/client/{app/common => }/scripts/get-static-image-url.ts (75%) rename src/client/{app/common => scripts}/hotkey.ts (98%) rename src/client/{app/common => scripts}/keycode.ts (100%) rename src/client/{app/common => }/scripts/loading.ts (100%) rename src/client/{app/common => }/scripts/paging.ts (52%) rename src/client/{app/common => }/scripts/please-login.ts (100%) rename src/client/{app/common => }/scripts/search.ts (95%) create mode 100644 src/client/scripts/select-drive-file.ts rename src/client/{app/common => }/scripts/stream.ts (98%) create mode 100644 src/client/store.ts create mode 100644 src/client/style.scss delete mode 100644 src/client/style.styl rename src/client/{app => }/sw.js (87%) create mode 100644 src/client/theme.ts create mode 100644 src/client/themes/elegant.json5 delete mode 100644 src/client/themes/future.json5 create mode 100644 src/client/themes/garden.json5 delete mode 100644 src/client/themes/gray.json5 delete mode 100644 src/client/themes/gruvbox-dark.json5 delete mode 100644 src/client/themes/japanese-sushi-set.json5 delete mode 100644 src/client/themes/monokai.json5 delete mode 100644 src/client/themes/tweet-deck.json5 create mode 100644 src/client/themes/urban.json5 delete mode 100644 src/client/themes/vivid.json5 rename src/client/{app => }/tsconfig.json (100%) rename src/client/{app => }/v.d.ts (100%) create mode 100644 src/client/widgets/calendar.vue rename src/client/{app/common/define-widget.ts => widgets/define.ts} (75%) create mode 100644 src/client/widgets/index.ts create mode 100644 src/client/widgets/memo.vue create mode 100644 src/client/widgets/notifications.vue create mode 100644 src/client/widgets/rss.vue create mode 100644 src/client/widgets/timeline.vue rename src/client/{app/common/views/components => widgets}/trends.chart.vue (100%) create mode 100644 src/client/widgets/trends.vue delete mode 100644 src/daemons/notes-stats-child.ts delete mode 100644 src/daemons/notes-stats.ts create mode 100644 src/misc/check-hit-antenna.ts create mode 100644 src/models/entities/announcement-read.ts create mode 100644 src/models/entities/announcement.ts create mode 100644 src/models/entities/antenna-note.ts create mode 100644 src/models/entities/antenna.ts create mode 100644 src/models/entities/clip-note.ts create mode 100644 src/models/entities/clip.ts create mode 100644 src/models/repositories/antenna.ts create mode 100644 src/models/repositories/clip.ts create mode 100644 src/server/api/common/signup.ts create mode 100644 src/server/api/endpoints/admin/accounts/create.ts create mode 100644 src/server/api/endpoints/admin/announcements/create.ts create mode 100644 src/server/api/endpoints/admin/announcements/delete.ts create mode 100644 src/server/api/endpoints/admin/announcements/list.ts create mode 100644 src/server/api/endpoints/admin/announcements/update.ts create mode 100644 src/server/api/endpoints/admin/emoji/list-remote.ts create mode 100644 src/server/api/endpoints/admin/queue/deliver-delayed.ts create mode 100644 src/server/api/endpoints/admin/queue/inbox-delayed.ts create mode 100644 src/server/api/endpoints/admin/server-info.ts create mode 100644 src/server/api/endpoints/announcements.ts create mode 100644 src/server/api/endpoints/antennas/create.ts create mode 100644 src/server/api/endpoints/antennas/delete.ts create mode 100644 src/server/api/endpoints/antennas/list.ts create mode 100644 src/server/api/endpoints/antennas/notes.ts create mode 100644 src/server/api/endpoints/antennas/show.ts create mode 100644 src/server/api/endpoints/antennas/update.ts create mode 100644 src/server/api/endpoints/clips/create.ts create mode 100644 src/server/api/endpoints/clips/delete.ts create mode 100644 src/server/api/endpoints/clips/list.ts create mode 100644 src/server/api/endpoints/clips/notes.ts create mode 100644 src/server/api/endpoints/clips/show.ts create mode 100644 src/server/api/endpoints/clips/update.ts create mode 100644 src/server/api/endpoints/federation/followers.ts create mode 100644 src/server/api/endpoints/federation/following.ts create mode 100644 src/server/api/endpoints/federation/users.ts create mode 100644 src/server/api/endpoints/i/read-announcement.ts create mode 100644 src/server/api/endpoints/users/search-by-username-and-host.ts create mode 100644 src/server/api/stream/channels/antenna.ts delete mode 100644 src/server/api/stream/channels/ap-log.ts delete mode 100644 src/server/api/stream/channels/notes-stats.ts create mode 100644 src/services/add-note-to-antenna.ts diff --git a/.config/example.yml b/.config/example.yml index cd08f76d6..91580d9ec 100644 --- a/.config/example.yml +++ b/.config/example.yml @@ -111,10 +111,6 @@ id: 'aid' # ┌─────────────────────┐ #───┘ Other configuration └───────────────────────────────────── -# If enabled: -# The first account created is automatically marked as Admin. -autoAdmin: true - # Whether disable HSTS #disableHsts: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a35dc548..3b6e2c59a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,56 @@ ChangeLog ========= +12.0.0 indigo (unreleased) +-------------------- +### Breaking Chnages +* お知らせがリセットされます。 +* 通知がリセットされます。 +* モデレーターがインスタンス設定を閲覧したり変更したりできなくなります(それらができるのはAdminのみになります)。 + * モデレーターが出来るのは、ユーザーのサイレンス/凍結などに限られます。 + * 従来と同じ権限を与えたい場合、モデレーターをAdminに設定することを検討してください(Adminは複数人設定可能です)。 +* notes/search APIのページングがoffsetではなくuntilId方式に +* クライアントのテーマのフォーマットが調整されました。 + * 旧テーマを変換してインポートする機能が予定されています +* ノートに位置情報を添付できる機能を廃止 +* ノートに何のアプリから投稿したかという情報を含めるのを廃止 + +### ✨Improvements +* Webクライアントを一新 + * Syuilo Design System (仮称)を採用し、各コンポーネントが統一され一貫したデザインに + * レスポンシブデザインになり、デスクトップ/タブレット/スマートフォンで同じ機能が使えるように + * 複数アカウントに対応し、簡単に別のアカウントに切り替えられるように + * 通知から直接フォローリクエストを許可/拒否できるように + * ユーザーの登録日を表示するように + * タイムラインウィジェットを追加 + * ユーザーを選択する操作が便利に + * ユーザーページからユーザーにメッセージを送れるように + * ユーザーページからユーザーとトークを開始できるように + * 「戻る」ボタンを追加し、PWAフレンドリーに + * 軽量化 +* お知らせ機能の強化 + * お知らせが未読か既読か管理されるようになり、未読のお知らせがあると分かりやすく表示されるように + * 何人がお知らせを読んだか分かるように +* アンテナ機能 + * 指定した条件(キーワード、ファイル添付の有無など)にマッチする投稿のタイムラインを見れる機能 + * 新しい投稿があったとき通知するようにもできる + * ウィジェットとしても表示可能 +* Elasticsearchをインストールしなくても全文検索できるように +* リモートのカスタム絵文字をコピーしてくる機能を追加 +* 自分の送ったフォローリクエストが承認されたときの通知を追加 +* 他多数 + +### 🐛Fixes +* ミュートしている人からのリアクション通知があると、通知があると表示される問題を修正 +* 投稿メニューを開いて操作した後にもう一度メニューを開こうとしてもできない問題を修正 +* リモートのノートのURLが書かれていた場合、動作がおかしい問題を修正 +* リストTLだとTでのTLフォーカスが効かない問題を修正 +* OAuth認証画面の配色がおかしい問題を修正 +* 設定画面で、アバターを更新してもアバターの画像がその場で更新されない問題を修正 +* 投稿詳細/ユーザー詳細 画面でadminや公式アカウントマークが表示されない問題を修正 +* APIのリクエスト方法(websocket/HTTP)によって返ってくるエラーの内容に違いがある問題を修正 +* Pages: VERSION 変数が常に null な問題を修正 + 11.37.1 (2020/01/07) -------------------- ### 🐛Fixes diff --git a/gulpfile.ts b/gulpfile.ts index 2ba30aace..274f05a5a 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -2,38 +2,25 @@ * Gulp tasks */ +import * as fs from 'fs'; import * as gulp from 'gulp'; import * as ts from 'gulp-typescript'; -const sourcemaps = require('gulp-sourcemaps'); -import tslint from 'gulp-tslint'; -const stylus = require('gulp-stylus'); import * as rimraf from 'rimraf'; -import * as chalk from 'chalk'; import * as rename from 'gulp-rename'; -import * as mocha from 'gulp-mocha'; -import * as replace from 'gulp-replace'; const cleanCSS = require('gulp-clean-css'); -const terser = require('gulp-terser'); +const sass = require('gulp-dart-sass'); +const fiber = require('fibers'); const locales = require('./locales'); - -const env = process.env.NODE_ENV || 'development'; -const isDebug = env !== 'production'; - -if (isDebug) { - console.warn(chalk.yellow.bold('WARNING! NODE_ENV is not "production".')); - console.warn(chalk.yellow.bold(' built script will not be compressed.')); -} +const meta = require('./package.json'); gulp.task('build:ts', () => { const tsProject = ts.createProject('./tsconfig.json'); return tsProject .src() - .pipe(sourcemaps.init()) .pipe(tsProject()) .on('error', () => {}) - .pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '../built' })) .pipe(gulp.dest('./built/')); }); @@ -41,47 +28,25 @@ gulp.task('build:copy:views', () => gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views')) ); -gulp.task('build:copy:fonts', () => - gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/client/assets/fonts/')) -); +gulp.task('build:copy:locales', cb => { + fs.mkdirSync('./built/client/assets/locales', { recursive: true }); -gulp.task('build:copy', gulp.parallel('build:copy:views', 'build:copy:fonts', () => + for (const [lang, locale] of Object.entries(locales)) { + fs.writeFileSync(`./built/client/assets/locales/${lang}.${meta.version}.json`, JSON.stringify(locale), 'utf-8'); + } + + cb(); +}); + +gulp.task('build:copy', gulp.parallel('build:copy:views', 'build:copy:locales', () => gulp.src([ - './src/const.json', './src/emojilist.json', './src/server/web/views/**/*', './src/**/assets/**/*', - '!./src/client/app/**/assets/**/*' + '!./src/client/assets/**/*' ]).pipe(gulp.dest('./built/')) )); -gulp.task('lint', () => - gulp.src('./src/**/*.ts') - .pipe(tslint({ - formatter: 'verbose' - })) - .pipe(tslint.report()) -); - -gulp.task('format', () => - gulp.src('./src/**/*.ts') - .pipe(tslint({ - formatter: 'verbose', - fix: true - })) - .pipe(tslint.report()) -); - -gulp.task('mocha', () => - gulp.src('./test/**/*.ts') - .pipe(mocha({ - exit: true, - require: 'ts-node/register' - } as any)) -); - -gulp.task('test', gulp.task('mocha')); - gulp.task('clean', cb => rimraf('./built', cb) ); @@ -90,20 +55,9 @@ gulp.task('cleanall', gulp.parallel('clean', cb => rimraf('./node_modules', cb) )); -gulp.task('build:client:script', () => { - const client = require('./built/meta.json'); - return gulp.src(['./src/client/app/boot.js', './src/client/app/safe.js']) - .pipe(replace('VERSION', JSON.stringify(client.version))) - .pipe(replace('ENV', JSON.stringify(env))) - .pipe(replace('LANGS', JSON.stringify(Object.keys(locales)))) - .pipe(terser({ - toplevel: true - })) - .pipe(gulp.dest('./built/client/assets/')); -}); - gulp.task('build:client:styles', () => - gulp.src('./src/client/app/init.css') + gulp.src('./src/client/style.scss') + .pipe(sass({ fiber })) .pipe(cleanCSS()) .pipe(gulp.dest('./built/client/assets/')) ); @@ -112,7 +66,6 @@ gulp.task('copy:client', () => gulp.src([ './assets/**/*', './src/client/assets/**/*', - './src/client/app/*/assets/**/*' ]) .pipe(rename(path => { path.dirname = path.dirname!.replace('assets', '.'); @@ -120,15 +73,7 @@ gulp.task('copy:client', () => .pipe(gulp.dest('./built/client/assets/')) ); -gulp.task('doc', () => - gulp.src('./src/docs/**/*.styl') - .pipe(stylus()) - .pipe(cleanCSS()) - .pipe(gulp.dest('./built/docs/assets/')) -); - gulp.task('build:client', gulp.parallel( - 'build:client:script', 'build:client:styles', 'copy:client' )); @@ -137,7 +82,6 @@ gulp.task('build', gulp.parallel( 'build:ts', 'build:copy', 'build:client', - 'doc' )); gulp.task('default', gulp.task('build')); diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml deleted file mode 100644 index ed97d539c..000000000 --- a/locales/ca-ES.yml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/locales/cs-CZ.yml b/locales/cs-CZ.yml deleted file mode 100644 index 96135478c..000000000 --- a/locales/cs-CZ.yml +++ /dev/null @@ -1,1481 +0,0 @@ ---- -meta: - lang: "Čeština" -common: - misskey: "⭐ ve fedivesmíru" - about-title: "⭐ ve fedivesmíru." - about: "Děkujeme, že jste našli Misskey. Misskey je decentralizovaná mikroblogovací platforma zrozená na Zemi. Neboť existuje ve fedivesmíru (vesmíru, kde jsou organizovány různé sociální sítě), je vzájemně propojena s jinými sociálními sítěmi. Co takhle si chvilku odpočinout od ruchu a shonu města a ponořit se do nového internetu?" - intro: - title: "Co je Misskey?" - about: "Misskey je open-source decentralizovaný mikroblogovací software. Má sofistikované, zcela přizpůsobitelné uživatelské rozhraní, různé způsoby reagování na příspěvky, bezplatné úložiště souborů nabízející integrovaný management system, a další pokročilé vlastnosti. Misskey je navíc připojeno k systému sítí zvanému „fedivesmír“ nebo „fediverse“, který nám dovoluje komunikovat s uživateli na jiných sociálních sítí. Pokud například něco napíšete, nebude to posláno pouze uživatelů Misskey, ale také lidem na sítích Mastodon a Pleroma. Jen si představte, že planeta posílá jiné planetě rádiový signál, aby s ní komunikovala." - features: "Vlastnosti" - rich-contents: "Příspěvky" - rich-contents-desc: "Pouze napište svoje nápady, žhavá témata a cokoliv, co chcete sdílet. Můžete ozdobit svá slova, připojit vaše oblíbené obrázky, posílat soubory včetně videí či vytvořit hlasování – to je jen několik věcí, co můžete dělat s Misskey!" - reaction: "Reakce" - reaction-desc: "Nejsnadnější způsob, jak vyjádřit své emoce. Misskey vám dovoluje přidávat k příspěvkům ostatních lidí různé reakce. Emoční zážitek na Misskey nebude nikdy na jiných sociálních sítích, které mohou dávat pouze „lajky“." - ui: "Rozhraní" - ui-desc: "Jediné rozhraní není pro všechny. Misskey má proto vysoce přizpůsobitelné rozhraní pro váš vkus. Můžete si vytvořit svou vlastní originální domovskou stránku upravením vzhledu vaší časové osy a posunováním widgetů, které můžete snadno upravit, a učinit toto místo svým vlastním." - drive: "Disk" - drive-desc: "Chcete sdílet obrázek, který jste již nahráli? Chcete vaše nahrané soubory organizovat, pojmenovávat a vytvářet pro ně složky? Misskey Disk je pro vás nejlepší řešení. Je velmi snadné sdílet vaše soubory online." - outro: "Podívejte se na unikátní vlastnosti Misskey vlastníma očima! Pokud si myslíte, že tato instance není pro vás, zkuste jiné instance, neboť Misskey je decentralizovaná sociální síť, takže můžete snadno najít své přátele. Hodně štěstí a zábavy!" - application-authorization: "Autorizované aplikace" - close: "Zavřít" - do-not-copy-paste: "Prosím nezadávejte ani nevkládejte sem kód. Váš účet může být kompromitován." - load-more: "Načíst více" - enter-password: "Prosím zadejte heslo" - 2fa: "Dvoufaktorová autentikace" - customize-home: "Přizpůsobit vzhled domovské stránky" - featured-notes: "Oblíbené poznámky" - dark-mode: "Tmavý režim" - signin: "Přihlásit" - signup: "Registrovat" - signout: "Odhlásit" - reload-to-apply-the-setting: "Pro uplatnění tohoto nastavení musíte znovu načíst tuto stránku. Chcete ji načíst teď?" - fetching-as-ap-object: "Načítám data z Fediversu..." - delete-confirm: "Opravdu chcete smazat tento příspěvek?" - signin-required: "Přihlašte se, prosím" - notification-type: "Typy oznámení" - notification-types: - all: "Všechny" - pollVote: "Hlasy" - follow: "Sledovaní" - receiveFollowRequest: "Žádost o sledování" - reply: "Odpovědi" - quote: "Citace" - renote: "Renotovat" - mention: "Zmínky" - reaction: "Reakce" - got-it: "Rozumím!" - customization-tips: - title: "Tipy pro přizpůsobení" - paragraph: "

Přizpůsobování domovské stránky vám dovoluje přidávat/odstraňovat, přetahovat a a uspořádat widgety.

Můžete změnit zobrazení pravým kliknutím na některé widgety.

Můžete widgety smazat jejich přetažením do prostoru označeného jako „Koš“ v záhlaví stránky.

Přizpůsobování dokončíte kliknutím na tlačítko „Hotovo“ v pravéh horním rohu.

" - gotit: "Rozumím!" - notification: - file-uploaded: "Soubor nahrán!" - message-from: "Zpráva od uživatele {}:" - reversi-invited: "Pozván/a ke hře" - reversi-invited-by: "Pozván/a uživatelem {}:" - notified-by: "Oznámení od uživatele {}:" - reply-from: "Odpověď uživatele {}:" - quoted-by: "Citováno uživatelem {}:" - time: - unknown: "neznámý čas" - future: "budoucí" - just_now: "teď" - seconds_ago: "před {} s" - minutes_ago: "před {} min" - hours_ago: "před {} h" - days_ago: "před {} d" - weeks_ago: "před {} týd" - months_ago: "před {} měs" - years_ago: "před {} lety" - month-and-day: "{day}. {month}." - trash: "Koš" - drive: "Disk" - pages: "Stránky" - messaging: "Konverzace" - home: "Domů" - deck: "Deck" - timeline: "Časová osa" - explore: "Objevovat" - following: "Sledovaní" - followers: "Sledující" - favorites: "Oblíbené" - permissions: - "read:account": "Zobrazit informace o účtu" - "write:account": "Narábět s účtem" - "read:blocks": "Prohlížet blokování" - "write:blocks": "Narábět s blokováním" - "read:drive": "Prohlížet Disk" - "write:drive": "Pracovat s Diskem" - "read:favorites": "Prohlížet oblíbené" - "write:favorites": "Narábět s oblíbeními" - "read:following": "Prohlížet následování" - "write:following": "Pracovat s následováním" - "read:messaging": "Prohlížet konverzaci" - "write:messaging": "Pracovat s konverzaci" - "read:mutes": "Prohlížet ztlumené" - "write:mutes": "Narábět s utíšeními" - "write:notes": "Narábět s poznámkami" - "read:notifications": "Prohlížet oznámení" - "write:notifications": "Pracovat s oznámeními" - "read:reactions": "Prohlížet reakce" - "write:reactions": "Narabět s reakcemi" - "write:votes": "Hlasovat" - "read:pages": "Zhlédnutí stránky" - "write:pages": "Upravit stránky" - "write:user-groups": "Upravit uživatelskou skupinu" - empty-timeline-info: - follow-users-to-make-your-timeline: "Poznámky sledujících se zobrazí ve vaší časové ose" - explore: "Najít uživatele" - post-form: - attach-location-information: "Přidat informace o lokaci" - hide-contents: "Schovat obsah" - reply-placeholder: "Odpovědět na tento příspěvek" - quote-placeholder: "Citovat tento příspěvek" - quote-attached: "Přiložit citaci" - submit: "Odeslat" - reply: "Odpovědět" - renote: "Renotovat" - posting: "Posílání" - attach-media-from-local: "Nahrát soubor z vašeho zařízení" - attach-media-from-drive: "Přiložit soubory z vašeho Drivu" - insert-a-kao: "v('ω')v" - create-poll: "Vytvořit anketu" - text-remain: "zbývá ještě {} znaků" - recent-tags: "Nejnovější" - local-only-message: "Publikovat zprávu pouze lokálně" - click-to-tagging: "Klikni pro otágování" - visibility: "Viditelnost" - geolocation-alert: "Vaše zařízení nedalo k dispozici lokaci" - error: "Chyba" - enter-username: "Zadejte své uživatelské jméno" - specified-recipient: "Pro" - add-visible-user: "Přidat uživatele" - username-prompt: "Zadejte své uživatelské jméno" - enter-file-name: "Upravit název souboru" - weekday-short: - sunday: "Ne" - monday: "Po" - tuesday: "Út" - wednesday: "St" - thursday: "Čt" - friday: "Pá" - saturday: "So" - weekday: - sunday: "Neděle" - monday: "Pondělí" - tuesday: "Úterý" - wednesday: "Středa" - thursday: "Čtvrtek" - friday: "Pátek" - saturday: "Sobota" - reactions: - like: "Lajk" - love: "Super" - laugh: "Smích" - hmm: "Hmm...?" - surprise: "Překvapení" - congrats: "Gratuluji!" - angry: "Naštvaný" - confused: "Zmatený" - rip: "RIP" - pudding: "Pudink" - note-visibility: - public: "Veřejná" - home: "Domovská" - home-desc: "Poslat pouze na domovskou časovou osu" - followers: "Pro sledující" - followers-desc: "Poslat pouze sledujícím" - specified: "Přímá" - specified-desc: "Poslat pouze zmíněným uživatelům" - local-public: "Veřejná (pouze místní)" - local-home: "Domovská (pouze místní)" - local-followers: "Pro sledující (pouze místní)" - note-placeholders: - a: "Co právě děláte?" - b: "Co se děje?" - c: "Co se vám honí hlavou?" - d: "Napíšete pár slov?" - e: "Pište sem" - f: "Čekám, až něco napíšete..." - settings: "Nastavení" - _settings: - profile: "Profil" - notification: "Oznámení" - apps: "Aplikace" - tags: "Hashtagy" - mute-and-block: "Ztlumit/blokovat" - blocking: "Blokování" - security: "Zabezpečení" - signin: "Historie přihlášení" - password: "Heslo" - other: "Ostatní" - appearance: "Vzhled" - behavior: "Chování" - reactions: "Reakce" - fetch-on-scroll: "Nekonečné načítaní posuvem" - fetch-on-scroll-desc: "Pokud budete rolovat dolů po stránce, automaticky bude načten další obsah." - note-visibility: "Viditelnost příspěvku" - default-note-visibility: "Výchozí viditelnost příspěvku" - remember-note-visibility: "Zapamatovat viditelnost příspěvků" - web-search-engine: "Webové vyhledávače" - web-search-engine-desc: "Například: https://www.google.com/?#q={{query}}" - paste: "Vložit" - pasted-file-name-desc: "Například: \"rrrr-MM-dd HH-mm-ss [{{number}}]\" → \"2018-03-20 21-30-24 1\"" - paste-dialog: "Upravit název vloženého souboru" - keep-cw: "Zachovat varování o obsahu" - keep-cw-desc: "Při odpovědi na příspěvek bude varování o obsahu nastaveno stejně jako původní příspěvek." - i-like-sushi: "Mam radši sushi (než puding)" - show-reversi-board-labels: "Zobrazit označení řad a sloupců v Reversi" - use-avatar-reversi-stones: "Použít avatar jako figurku v Reversi" - disable-animated-mfm: "Vypnout pohyblivé texty v příspěvku" - disable-showing-animated-images: "Nepřehrávat animované obrázky" - suggest-recent-hashtags: "Navrhovat nedávné hashtagy v rámci psacího pole" - always-show-nsfw: "Vždycky ukázat NSFW obsah" - always-mark-nsfw: "Označovat všechny příspěvky za delikátní" - show-full-acct: "Zaradit hostovací server jako součast přezdívky" - show-via: "zobrazit přes" - reduce-motion: "Snížit pohyb v rozhraní" - this-setting-is-this-device-only: "Pouze pro toto zařízení" - use-os-default-emojis: "Použít výchozí emoji systému" - line-width: "Hrubka línie" - line-width-thin: "Úzka" - line-width-normal: "Běžná" - line-width-thick: "Tlustá" - font-size: "Velikost písma" - font-size-x-small: "Malé" - font-size-small: "Dost malé" - font-size-medium: "Průměrné" - font-size-large: "Dost velké" - font-size-x-large: "Velké" - deck-column-align: "Zarovnání sloupců v Decku" - deck-column-align-center: "Na střed" - deck-column-align-left: "Vlevo" - deck-column-align-flexible: "Flexibilní" - deck-column-width: "Šířka sloupců v Decku" - deck-column-width-narrow: "Úzké" - deck-column-width-narrower: "Poněkud úzké" - deck-column-width-normal: "Normální" - deck-column-width-wider: "Poněkud široké" - deck-column-width-wide: "Široké" - use-shadow: "Používat v rozhraní stíny" - rounded-corners: "Zakulatit rohy v rozhraní" - circle-icons: "Používat kulaté avatary" - contrasted-acct: "Přidat uživatelskému účtu kontrast" - wallpaper: "Obrázek na pozadí" - choose-wallpaper: "Zvolit pozadí" - delete-wallpaper: "Odstranit pozadí" - post-form-on-timeline: "Zobrazit formulář pro nové příspěvky nad časovou osou" - show-clock-on-header: "Zobrazit hodiny v pravém horním rohu" - show-reply-target: "Zobrazit cíl odpovědi" - timeline: "Časová osa" - show-my-renotes: "Zobrazit moje renoty v časové ose" - show-renoted-my-notes: "Zobrazit renoty vašich vlastních příspěvků v časové ose" - show-local-renotes: "Zobrazit renoty místních příspěvků v časové ose" - remain-deleted-note: "I nadále zobrazovat odstraněné příspěvky" - sound: "Zvuk" - enable-sounds: "Povolit zvuk" - enable-sounds-desc: "Přehrát zvuk, například při odeslání nebo přijetí příspěvku, či zprávy. Toto nastavení je uloženo v prohlížeči." - volume: "Hlasitost" - test: "Test" - update: "Aktualizace Misskey" - version: "Verze:" - latest-version: "Nejnovější verze:" - update-checking: "Kontroluji aktualizace" - do-update: "Zkontrolovat aktualizace" - update-settings: "Pokročilá nastavení" - no-updates: "Nejsou dostupné žádné aktualizace" - no-updates-desc: "Váš server Misskey je aktuální." - update-available: "Je dostupná nová verze" - update-available-desc: "Aktualizace budou aplikovány po znovunačtení stránky." - advanced-settings: "Pokročilá nastavení" - debug-mode: "Povolit režim ladění" - debug-mode-desc: "Toto nastavení je uloženo v prohlížeči." - navbar-position: "Poloha navigačního panelu" - navbar-position-top: "Nahoře" - navbar-position-left: "Vlevo" - navbar-position-right: "Vpravo" - i-am-under-limited-internet: "Mam omezený (pomalý) internet" - post-style: "Styl zobrazení poznámek" - post-style-standard: "Standardní" - post-style-smart: "Chytrý" - notification-position: "Poloha oznámení" - notification-position-bottom: "Dole" - notification-position-top: "Nahoře" - disable-via-mobile: "Neoznačovat příspěvky jako „z mobilu“" - load-raw-images: "Zobrazovat obrázky v původní kvalitě" - load-remote-media: "Zobrazovat média ze vzdáleného serveru" - sync: "Synchronizace" - save: "Uložit" - saved: "Uloženo" - preview: "Náhled" - room: "Místnost" - _room: - graphicsQuality: "Kvalita grafiky" - _graphicsQuality: - ultra: "Nejvyšší" - high: "Vysoká" - medium: "Střední" - low: "Nízká" - cheep: "Nejnižší" - search: "Hledání" - delete: "Odstranit" - loading: "Načítám..." - ok: "OK" - cancel: "Zrušit" - update-available-title: "Aktualizace k dispozici" - update-available: "Je k dispozici nová verze Misskey ({newer},vaše verze je {current}). Pro aplikování nové verze znovunačtěte stránku." - my-token-regenerated: "Váš token byl regenerován, proto budete odhlášen/a." - hide-password: "Skrýt heslo" - show-password: "Zobrazit heslo" - enter-username: "Zadejte své uživatelské jméno" - do-not-use-in-production: "Tohle je vývojářský build. Nepoužívejte v produkci." - user-suspended: "Tomuto uživateli byl pozastaven účet." - is-remote-user: "Informace o tomto uživateli nemusí být kompletní." - is-remote-post: "Obsah tohoto příspěvku je zrcadlen." - view-on-remote: "Pro kompletnost jej zobrazte vzdáleně." - renoted-by: "{user} renotoval/a" - no-notes: "Bez poznámek" - turn-on-darkmode: "Přepnout na tmavý režim" - turn-off-darkmode: "Světlý režim" - error: - title: "Něco se stalo :(" - retry: "Zkusit znovu" - reversi: - drawn: "Remíza" - my-turn: "Váš tah" - opponent-turn: "Je řada na protivníkovi" - turn-of: "{name} je na tahu" - past-turn-of: "{name} byl/a na tahu" - won: "{name} vyhrál/a" - black: "Černá" - white: "Bílá" - total: "Celkem" - this-turn: "{count}. kolo" - widgets: - analog-clock: "Analogové hodiny" - profile: "Profil" - calendar: "Kalendář" - timemachine: "Kalendář (Stroj času)" - activity: "Aktivita" - rss: "RSS čtečka" - memo: "Rychlé poznámky" - trends: "Trendy" - photo-stream: "Proud fotek" - posts-monitor: "Grafy příspěvků" - slideshow: "Prezentace" - version: "Verze" - broadcast: "Rozhlas" - notifications: "Oznámení" - users: "Doporučení uživatelé" - polls: "Ankety" - post-form: "Formulář pro psaní" - server: "Informace o serveru" - nav: "Navigace" - tips: "Tipy" - hashtags: "Hashtagy" - queue: "Ve frontě" - dev: "Nepodařilo se vytvořit aplikace. Prosím zkuste to znovu." - ai-chan-kawaii: "Ai-chan kawaii!" - you: "Vy" -auth/views/form.vue: - share-access: "Chcete dovolit aplikaci {name} přístup k vašemu účtu?" - permission-ask: "Tato aplikace vyžaduje následující oprávnění:" - cancel: "Zrušit" - accept: "Povolit přístup" -auth/views/index.vue: - loading: "Načítám..." - denied-paragraph: "Tato aplikace nebude mít přístup k Vašemu účtu." - already-authorized: "Tato aplikace byla již autorizována." - callback-url: "Zpátky do aplikace." - please-go-back: "Prosím vraťte se zpátky do aplikace." - error: "Taková relace neexistuje." - sign-in: "Prosím přihlaste se." -common/views/pages/explore.vue: - popular-users: "Populární uživatelé" - recently-updated-users: "Nedávno aktívni uživatelé" - recently-registered-users: "Nedávno registrovaní uživatelé" - popular-tags: "Populární tagy" - federated: "Z fedivesmíru" - explore: "Prozkoumat {host}" - users-info: "Aktuálně je zde registrováno {users} uživatelů" -common/views/components/url-preview.vue: - enable-player: "Otevřít v přehrávači" - disable-player: "Zavřít přehrávač" -common/views/components/user-list.vue: - no-users: "Žádní uživatelé" -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "Čeká se na {}" - cancel: "Zrušit" -common/views/components/games/reversi/reversi.game.vue: - surrender: "Vzdát se" - surrendered: "Vzdaním se" - looped-map: "Zacyklená mapa" - can-put-everywhere: "Lze položit kamkoliv" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "Hrajte Reversi s Vašimi kamarády!" - invite: "Pozvat" - rule: "Jak hrát" - mode-invite: "Pozvat" - invitations: "Jste pozvaní ke hře!" - my-games: "Moje hra" - all-games: "Všechny hry" - enter-username: "Zadejte své uživatelské jméno" - game-state: - ended: "Ukončené" - playing: "Probíhají" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "Nastavení hry" - choose-map: "Vybrat mapu" - random: "Náhodně" - black-or-white: "Černé/bílé" - black-is: "Černá je {}" - rules: "Pravidla" - looped-map: "Zacyklená mapa" - settings-of-the-bot: "Nastavení Botu" - this-game-is-started-soon: "Hra začne za pár vteřin" - waiting-for-other: "Čeká se na protivníka" - waiting-for-me: "Čeká se na Vás" - waiting-for-both: "Připravuji" - cancel: "Zrušit" - ready: "Připraveno" - cancel-ready: "Pokračovat v přípravě" -common/views/components/connect-failed.vue: - title: "Nelze se připojit k serveru" - description: "Nastal problém s Vaším připojením k internetu, nebo server není dostupný nebo zrovna probíhá údržba. Prosím {zkuste to znova} za pár minut." - thanks: "Děkujeme že jste použili Misskey." - troubleshoot: "Odstranění problémů" -common/views/components/connect-failed.troubleshooter.vue: - title: "Poradce při potížích" - network: "Síťové připojení" - checking-network: "Prověřit síťové připojení" - internet: "Připojení k internetu" - checking-internet: "Ověřuji připojení k internetu." - server: "Připojení k serveru" - checking-server: "Spojuji se se serverem" - finding: "Vyšetřování problému" - no-network: "Žádné připojení k síti" - no-network-desc: "Ujistěte se že jste připojeni k Internetu." - no-internet: "Nejste připojeni k internetu" - no-internet-desc: "Jste připojen k síti, ale zdá se že stále chybí připojení k Internetu. Prosím zkontrolujte Vaše připojení k Internetu." - no-server: "Nelze se připojit k serveru Misskey" - success: "Úspěšně se podařilo spojit s Misskey serverem" - flush: "Vyčistit mezipaměť" - set-version: "Vyberte verzi" -common/views/components/media-banner.vue: - sensitive: "Choulostivý obsah" - click-to-show: "Klikněte pro zobrazení" -common/views/components/theme.vue: - theme: "Vzhled" - light-theme: "Motiv pro použití ve světlém vzhledu" - dark-theme: "Motiv pro použití v tmavém vzhledu" - light-themes: "Světlý vzhled" - dark-themes: "Tmavý vzhled" - install-a-theme: "Nainstalovat motiv" - theme-code: "Kód motivu" - install: "Nainstalovat" - installed: "\"{}\" byl nainstalován" - create-a-theme: "Vytvořit motiv" - save-created-theme: "Uložit motiv" - primary-color: "Základní barva" - text-color: "Barva textu" - base-theme: "Základní vzhled" - base-theme-light: "Světlý" - base-theme-dark: "Tmavý" - find-more-theme: "Najít další vzhledy" - theme-name: "Jméno vzhledu" - preview-created-theme: "Náhled" - invalid-theme: "Vzhled není validní" - already-installed: "Tento vzhled je již nainstalován." - saved: "Uloženo" - manage-themes: "Správa vzhledů" - builtin-themes: "Standardní vzhledy" - my-themes: "Moje vzhledy" - installed-themes: "Nainstalované vzhledy" - select-theme: "Zvolte vzhled" - uninstall: "Odinstalovat" - uninstalled: "\"{}\" byl odinstalován" - author: "Autor" - desc: "Popis" - export: "Exportovat" - import: "Importovat" - import-by-code: "nebo zkopírujte kód" - theme-name-required: "Jméno vzhledu je povinné" -common/views/components/cw-button.vue: - hide: "Skrýt" - show: "Více" - chars: "{count} znaků" - files: "{count} souborů" - poll: "Anketa" -common/views/components/messaging.vue: - search-user: "Najít uživatele" - you: "Vy" - no-history: "Žádná historie" - user: "Uživatel" - group: "Skupina" - start-with-user: "Zahájit konverzaci s uživatelem" - start-with-group: "Zahájit skupinovou konverzaci" - select-group: "Vybrat skupinu" -common/views/components/messaging-room.vue: - new-message: "Máte novou zprávu" -common/views/components/messaging-room.form.vue: - input-message-here: "Sem zadejte zprávu" - send: "Odeslat" - attach-from-local: "Přiložit soubory z Vašeho zařízení" -common/views/components/messaging-room.message.vue: - is-read: "Přečtené" - deleted: "Tato zpráva byla odstraněna" -common/views/components/nav.vue: - about: "O Misskey" - stats: "Statistiky" - status: "Status" - wiki: "Wiki" - donors: "Dárci" - repository: "Úložiště" - develop: "Vývojáři" - feedback: "Zpětná vazba" - tos: "Podmínky užívání" -common/views/components/note-menu.vue: - mention: "Zmínění" - detail: "Více" - copy-content: "Zkopírovat obsah" - copy-link: "Zkopírovat odkaz" - favorite: "Přidat do oblíbených" - unfavorite: "Odebrat z oblízených" - watch: "Sledovat" - unwatch: "Přestat sledovat" - pin: "Připnout" - unpin: "Odepnout" - delete: "Odstranit" - delete-confirm: "Opravdu chcete smazat tento příspěvek?" - delete-and-edit: "Smazat a upravit" - remote: "Ukázat originální poznámku" -common/views/components/user-menu.vue: - mention: "Zmínění" - mute: "Umlčet" - unmute: "Zrušit umlčení" - block: "Blokován" - unblock: "Odblokovat" - push-to-list: "Přidat do seznamu" - select-list: "Vyberte seznam" - report-abuse: "Nahlásit spam" - report-abuse-reported: "Problém byl nahlášen administrátorovi. Děkujeme za Vaší kooperaci." - silence: "Ztlumit" - suspend: "Zmrazit" -common/views/components/poll.vue: - vote-count: "{} hlasů" - total-votes: "{} hlasů celkem" - vote: "Hlasovat" - show-result: "Podívat se na výsledky" - voted: "Už jste hlasovaly" - closed: "Ukončeno" - remaining-days: "zbývá {d} dnů, {h} hodin" - remaining-hours: "zbývá {h} hodin, a {m} minut" - remaining-minutes: "zbývá {m} minut, a {s} sekund" - remaining-seconds: "zbývá {s} sekund" -common/views/components/poll-editor.vue: - no-only-one-choice: "Musíte vybrat alespoň dvě možnosti" - choice-n: "Volba {}" - remove: "Odstranit tuto možnost" - add: "+ Přidat možnost" - destroy: "Zahodit dotazník" - multiple: "Více odpovědí je povoleno" - expiration: "Termín" - infinite: "Nekonečne" - at: "Výběr data a času" - no-more: "Více už přidat nemůžete" - deadline-date: "Termín ukončení" - deadline-time: "Doba trvání" - interval: "Trvání" - unit: "Jednotka" - second: "Sekunda" - minute: "Minuta" - hour: "Hodina" - day: "Ne" -common/views/components/reaction-picker.vue: - choose-reaction: "Vyberte svoji reakci" - input-reaction-placeholder: "nebo vložte Emoji" -common/views/components/emoji-picker.vue: - custom-emoji: "Emoji" - people: "Lidé" - animals-and-nature: "Zvířata a příroda" - food-and-drink: "Jídlo a pití" - activity: "Aktivita" - travel-and-places: "Místa a cestování" - objects: "Objekty" - symbols: "Symboly" - flags: "Vlajky" -common/views/components/settings/app-type.vue: - title: "Režim" - intro: "Můžete vybrat zdali chcete použít stolní, nebo mobilní vzhled." - choices: - auto: "Vybrat vzhled automaticky" - desktop: "Vždy použít stolní vzhled" - mobile: "Vždy použít mobilní vzhled" - info: "Pro aktivování změn musíte znovu načíst stránky." -common/views/components/signin.vue: - username: "Přezdívka" - password: "Heslo" - token: "Token" - signing-in: "Přihlašování..." - or: "Nebo" - signin-with-twitter: "Přihlásit se pomocí účtu Twitter" - signin-with-github: "Přihlásit se pomocí účtu GitHub" - signin-with-discord: "Přihlásit se pomocí účtu Discord" - login-failed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo." - enter-2fa-code: "Vložte Váš verifikační kód" -common/views/components/signup.vue: - invitation-code: "Kód pozvánky" - invitation-info: "Pokud máte pozvánku, prosím kontaktujte administrátora." - username: "Přezdívka" - checking: "Kontroluji..." - available: "Dostupná" - unavailable: "Obsazená" - error: "Chyba připojení" - invalid-format: "Písmena, čísla a _ jsou povolená." - too-short: "Nesmí být prázdné!" - too-long: "Do 20 znaků." - password: "Heslo" - password-placeholder: "Více jak 8 znaků je doporučováno." - weak-password: "Slabé heslo" - normal-password: "Průměrné heslo" - strong-password: "Silné heslo" - retype: "Zadejte znovu" - retype-placeholder: "Zadejte znovu pro kontrolu" - password-matched: "OK" - password-not-matched: "Neshodují se" - recaptcha: "Potvrzení" - agree-to: "Souhlasím s {0}." - tos: "Podmínky užívání" - create: "Vytvořit účet" - some-error: "Pokus o vytvoření účtu selhal. Prosím zkuste to znovu." -common/views/components/special-message.vue: - new-year: "Šťastný nový rok!" - christmas: "Šťastné a veselé vánoce!" -common/views/components/stream-indicator.vue: - connecting: "Připojování" - reconnecting: "Připojuji se znovu" - connected: "Připojení navázáno" -common/views/components/notification-settings.vue: - title: "Oznámení" - mark-as-read-all-notifications: "Označit všechna oznámení za přečtená" - mark-as-read-all-unread-notes: "Označit všechny příspěvky za přečtené" - mark-as-read-all-talk-messages: "Označit všechny zprávy za přečtené" -common/views/components/integration-settings.vue: - title: "Integrace" - connect: "Připojit" - disconnect: "Odpojit" - connected-to: "Jste připojen k tomuto GitHub účtu" -common/views/components/github-setting.vue: - description: "Jakmile spojíte Váš GitHub účet s Vaším Misskey účtem, uvidíte informace o Vašem GitHub účtu na Vašem profilu a budete se moci přihlásit skrze GitHub." - connected-to: "Je připojen k tomuto GitHub účtu" - detail: "Více…" - reconnect: "Znovu připojit" - connect: "Připojit Váš GitHub účet" - disconnect: "Odpojit" -common/views/components/discord-setting.vue: - description: "Jakmile spojíte Váš Discord účet s Vaším Misskey účtem, uvidíte informace o Vašem Discord účtu na Vašem profilu a budete se moci přihlásit skrze Discord." - connected-to: "Je připojen k tomuto Discord účtu" - detail: "Více…" - reconnect: "Znovu připojit" - connect: "Připojit Váš Discord účet" - disconnect: "Odpojit" -common/views/components/uploader.vue: - waiting: "Čekáme" -common/views/components/visibility-chooser.vue: - public: "Veřejné" - home: "Domů" - home-desc: "Poslat pouze na domovskou časovou osu" - specified: "Přímá" - specified-desc: "Poslat pouze zmíněným uživatelům" - local-public: "Veřejná (pouze místní)" - local-public-desc: "Nepublikovat na vzdálených serverech" - local-home: "Domovská (pouze místní)" - local-followers: "Pro sledující (pouze místní)" -common/views/components/trends.vue: - count: "{} zmíněných uživatelů" - empty: "Žádný trend" -common/views/components/language-settings.vue: - title: "Zobrazit jazyky" - pick-language: "Zvolte jazyk" - recommended: "Doporučené" - auto: "Automaticky" - specify-language: "Vyberte jazyk" - info: "Pro aktivování změn musíte znovu načíst stránky." -common/views/components/profile-editor.vue: - title: "Profil" - name: "Jméno" - account: "Účet" - location: "Lokace" - description: "O mně" - you-can-include-hashtags: "V popisku o Vás můžete použít i hastagy." - language: "Jazyk" - birthday: "Datum narození" - avatar: "Avatar" - banner: "Baner" - is-cat: "Tento účet je kočka" - is-bot: "Tento účet je Bot" - advanced: "Ostatní" - privacy: "Osobní údaje" - save: "Uložit" - saved: "Profil byl úspěšně aktualizován" - uploading: "Nahrávám" - upload-failed: "Nahrávání selhalo" - unable-to-process: "Operace nemohla být dokončena." - email: "Nastavení e-mailů" - email-address: "Emailová adresa" - email-verified: "Váš e-mail byl ověřen" - email-not-verified: "Váš email není potvrzen. Prosím zkontrolujte si svou schránku." - export: "Exportovat" - import: "Importovat" - export-and-import: "Import / Export" - export-targets: - following-list: "Seznam sledujících" - mute-list: "Seznam ztlumených uživatelů" - blocking-list: "Seznam blokovaných uživatelů" - user-lists: "Seznamy" - enter-password: "Prosím, zadejte Vaše heslo" - danger-zone: "Nebezpečná zóna" - delete-account: "Smazat účet" - account-deleted: "Váš účet byl smazán. Může chvilku trvat než zmizí všechna data." - profile-metadata: "Metadata profilu" - metadata-label: "Popis" - metadata-content: "Obsah" -common/views/components/user-list-editor.vue: - users: "Uživatel" - rename: "Přejmenovat seznam" - delete: "Smazat seznam" - remove-user: "Odebrat z tohoto seznamu" - delete-are-you-sure: "Smazat seznam \"$1\"?" - deleted: "Smazáno" - add-user: "Přidat uživatele" -common/views/components/user-group-editor.vue: - users: "Členové" - rename: "Přejmenovat skupinu" - delete: "Odstranit skupinu" - transfer: "Přesunout skupinu" - transfer-are-you-sure: "Jste si jistí že chcete přidat @$2 do skupiny: $1?" - transferred: "Skupina přesunuta" - remove-user: "Odebrat uživatele z této skupiny" - delete-are-you-sure: "Jste si jistí že chcete smazat skupinu \"$1\"?" - deleted: "Smazáno" - invite: "Pozvat" - invited: "Pozvánka byla úspěšně odeslána" -common/views/components/user-lists.vue: - user-lists: "Seznamy" - create-list: "Vytvořit seznam" - list-name: "Název seznamu" -common/views/components/user-groups.vue: - user-groups: "Skupiny" - create-group: "Vytvořit skupinu" - group-name: "Název skupiny" - owned-groups: "Moje skupiny" - invites: "Pozvat" - accept-invite: "Přidat se" - reject-invite: "Odmítnout" -common/views/widgets/broadcast.vue: - fetching: "Načítám" - no-broadcasts: "Žádná nová oznámení" - have-a-nice-day: "Přejeme Vám příjemný den!" - next: "Další" - prev: "Předchozí" -common/views/widgets/calendar.vue: - year: "Rok {}" - month: "{}," - day: "{}" - today: "Dneska: " - this-month: "Měsíc:" - this-year: "Rok:" -common/views/widgets/photo-stream.vue: - title: "Foto stream" - no-photos: "Žádné obrázky" -common/views/widgets/posts-monitor.vue: - title: "Grafy příspěvků" - toggle: "Přepnout zobrazení" -common/views/widgets/hashtags.vue: - title: "Hashtagy" -common/views/widgets/server.vue: - title: "Informace o serveru" - toggle: "Přepnout zobrazení" -common/views/widgets/memo.vue: - title: "Poznámky" - memo: "Pište sem!" - save: "Uložit" -common/views/widgets/slideshow.vue: - no-image: "V této složce nebyly nalezeny žádné fotky." -common/views/widgets/tips.vue: - tips-line23: "Ai-chan kawaii!" -common/views/pages/not-found.vue: - page-not-found: "Stránka nenalezena" -common/views/pages/follow.vue: - following: "Sledování" - follow: "Sledovat" -common/views/pages/follow-requests.vue: - accept: "Přijmout" - reject: "Odmítnout" -desktop: - banner: "Baner" - avatar-crop-title: "Vyberte část, která se zobrazí jako avatar" - avatar: "Avatar" - uploading-avatar: "Nahrál nový avatar" - avatar-updated: "Vaše avatar byl aktualizován" - unable-to-process: "Operace nemohla být dokončena." - invalid-filetype: "Tento formát souboru není podporován" -desktop/views/components/activity.chart.vue: - total: "Černá ... Celkem" - notes: "Modrá ... Poznámky" - replies: "Červená ... Odpovědi" - renotes: "Zelená ... Renoty" -desktop/views/components/activity.vue: - title: "Aktivita" - toggle: "Přepnout zobrazení" -desktop/views/components/calendar.vue: - title: "{month}. {year}" - prev: "Předchozí měsíc" - next: "Následující měsíc" -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "{count} souborů vybráno" - upload: "Nahrajte soubory z vašeho zařízení" - cancel: "Zrušit" - ok: "OK" - choose-prompt: "Vybrat soubory" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Zrušit" - ok: "OK" - choose-prompt: "Zvolte adresář" -desktop/views/components/crop-window.vue: - cancel: "Zrušit" - ok: "OK" -desktop/views/components/drive-window.vue: - used: "využito" -desktop/views/components/drive.file.vue: - avatar: "Avatar" - banner: "Baner" - nsfw: "NSFW" - contextmenu: - rename: "Přejmenovat" - copy-url: "Kopírovat URL" - download: "Stáhnout" - else-files: "Ostatní" - set-as-avatar: "Nastavit jako avatar" - set-as-banner: "Nastavit jako baner" - open-in-app: "Otevřít v aplikaci" - add-app: "Přidat aplikaci" - rename-file: "Přejmenovat soubor" - input-new-file-name: "Zadejte nový název" - copied: "Kopírování dokončeno" - copied-url-to-clipboard: "URL zkopírována do schránky" -desktop/views/components/drive.folder.vue: - unable-to-process: "Operace nemohla být dokončena." - unhandled-error: "Neznámá chyba" - contextmenu: - move-to-this-folder: "Přesunout do této složky" - show-in-new-window: "Otevřít v novém okně" - rename: "Přejmenovat" - rename-folder: "Přejmenovat složku" - input-new-folder-name: "Zadejte nové jméno" - else-folders: "Ostatní" -desktop/views/components/drive.vue: - search: "Vyhledávání" - empty-drive-description: "Klikněte pravým tlačítkem myši pro otevření menu, nebo sem přetáhněte soubor pro nahrání." - empty-folder: "Tato složka je prázdná" - unable-to-process: "Operace nemohla být dokončena." - unhandled-error: "Neznámá chyba" - url-upload: "Nahrát z URL adresy" - url-of-file: "URL adresa souboru, který chcete nahrát" - may-take-time: "Může trvat nějakou dobu, dokud nebude dokončeno nahrávání." - create-folder: "Vytvořit složku" - folder-name: "Název složky" - contextmenu: - create-folder: "Vytvořit složku" - upload: "Nahrát soubor" - url-upload: "Nahrát z URL" -desktop/views/components/media-video.vue: - click-to-show: "Klikněte pro zobrazení" -desktop/views/components/followers.vue: - empty: "Vypadá to že Vás nikdo nesleduje." -desktop/views/components/game-window.vue: - game: "Reversi" -desktop/views/components/home.vue: - done: "Hotovo" - add-widget: "Přidat widget:" - add: "Přidat" -desktop/views/input-dialog.vue: - cancel: "Zrušit" - ok: "OK" -desktop/views/components/note-detail.vue: - private: "Tento příspěvek je soukromý" - deleted: "Tento příspěvek byl odstraněn" - location: "Lokace" - renote: "Renotovat" - add-reaction: "Přidat reakci" - undo-reaction: "Odebrat reakci" -desktop/views/components/note.vue: - reply: "Odpovědět" - renote: "Renote" - add-reaction: "Přidat reakci" - undo-reaction: "Odebrat reakci" - detail: "Více" - private: "Tento příspěvek je soukromý" - deleted: "Tento příspěvek byl odstraněn" -desktop/views/components/notes.vue: - error: "Načítání selhalo." - retry: "Opakovat" -desktop/views/components/notifications.vue: - empty: "Žádné nové notifikace!" -desktop/views/components/post-form.vue: - posted: "Odesláno!" - replied: "Odpověděno!" - reposted: "Renotováno!" - note-failed: "Nepodařilo se přidat příspěvek" - renote-failed: "Renotování neuspělo" -desktop/views/components/post-form-window.vue: - note: "Nový příspěvek" - reply: "Odpovědět" -desktop/views/components/progress-dialog.vue: - waiting: "Čekáme" -desktop/views/components/renote-form.vue: - quote: "Citovat..." - cancel: "Zrušit" - renote: "Renotovat" - renote-home: "Renote (domů)" - reposting: "Renotuji..." - success: "Renotováno!" - failure: "Renotování neuspělo" -desktop/views/components/renote-form-window.vue: - title: "Chcete tohle renotovat?" -desktop/views/components/settings.2fa.vue: - detail: "Více…" - url: "https://www.google.cz/landing/2step/" - register: "Přidat zařízení" - already-registered: "Toto zařízení je již připojené" - unregister: "Odebrat" - enter-password: "Prosím zadejte heslo" - authenticator: "Nejprve musíte nainstalovat Google Authenticator na Vašem zařízení:" - howtoinstall: "Jak nainstalovat" - token: "Token" - scan: "Poté naskenujte QR kód:" - done: "Prosím vložte kód zobrazený na Vašem zařízení:" - submit: "Uložit" - success: "Nastavení uloženo!" - failed: "Nepodařilo se spárovat. Prosím zkontrolujte správnost bezpečnostního kódu." - totp-header: "Ověřovací aplikace" - security-key-header: "Bezpečnostní klíč" - last-used: "Naposledy použito:" - activate-key: "Klikněte pro aktivaci bezpečnostního klíče" - security-key-name: "Název klíče" - key-unregistered: "Bezpečnostní klíč byl odstraněn" -common/views/components/media-image.vue: - sensitive: "NSFW" - click-to-show: "Klikněte pro zobrazení" -common/views/components/api-settings.vue: - caution: "Nepoužívejte tento kód v žádné jiné aplikace nebo ho sdílejte s ostatními (jinak můžete ohrozit svojí bezpečnost)." - token: "Token:" - enter-password: "Prosím zadejte heslo" - console: - title: "API konzole" - endpoint: "Endpoint" - parameter: "Parametry" - send: "Odeslat" - sending: "Odesílám" - response: "Výsledek" -desktop/views/components/settings.apps.vue: - no-apps: "Žádné připojené aplikace" -common/views/components/drive-settings.vue: - max: "Velikost úložiště" - in-use: "využito" - stats: "Statistiky" -common/views/components/mute-and-block.vue: - mute-and-block: "Umlčet/blokovat" - mute: "Umlčet" - block: "Blokován" - no-muted-users: "Žádný uživatel nebyl umlčen" - no-blocked-users: "Žádný uživatel není blokován" - save: "Uložit" -common/views/components/password-settings.vue: - reset: "Změnit heslo" - enter-current-password: "Prosím, vložte své současné heslo" - enter-new-password: "Zadejte své nové heslo" - enter-new-password-again: "Znovu zadejte své nové heslo" - not-match: "Nová hesla se neshodují" - changed: "Heslo bylo úspěšně změněno" - failed: "Nepodařilo se změnit heslo" -desktop/views/components/sub-note-content.vue: - private: "Tento příspěvek je soukromý" - deleted: "Tento příspěvek byl odstraněn" - poll: "Anketa" -desktop/views/components/settings.tags.vue: - title: "Tagy" - add: "Přidat" - save: "Uložit" -desktop/views/components/timeline.vue: - home: "Domů" - local: "Lokální" - global: "Globální" - mentions: "Zmínění" - list: "Seznamy" - hashtag: "Hashtag" - add-list: "Přidat do seznamu" - list-name: "Název seznamu" -desktop/views/components/ui.header.vue: - welcome-back: "Vítejte zpátky," - adjective: "Pán" -desktop/views/components/ui.header.account.vue: - profile: "Váš profil" - lists: "Seznamy" - groups: "Skupiny" - admin: "Administrace" - room: "Místnost" -desktop/views/components/ui.header.nav.vue: - game: "Hry" -desktop/views/components/ui.header.notifications.vue: - title: "Oznámení" -desktop/views/components/ui.header.post.vue: - post: "Nový příspěvek" -desktop/views/components/ui.header.search.vue: - placeholder: "Vyhledávání" -desktop/views/components/user-preview.vue: - notes: "Příspěvky" -desktop/views/components/users-list.vue: - all: "Všechny" - iknow: "Znáte" - fetching: "Načítám…" -desktop/views/components/window.vue: - close: "Zavřít" -admin/views/index.vue: - instance: "Instance" - emoji: "Emoji" - moderators: "Moderátoři" - users: "Uživatelé" - federation: "Z fedivesmíru" - announcements: "Oznámení" - queue: "Fronta úloh" - logs: "Logy" - db: "Databáze" - back-to-misskey: "Zpět na Misskey" -admin/views/db.vue: - tables: "Tabulky" - vacuum: "Vysavač" - vacuum-info: "Uklidí databázi. Neohrozí data a sníží využití disku. Tohle se děje automaticky a opakovaně." - vacuum-exclamation: "Vysavač může dočasně přetížit databázi a dočasně omezit akce uživatelů." -admin/views/dashboard.vue: - dashboard: "Kontrolní panel" - accounts: "Účty" - notes: "Poznámky" - drive: "Disk" - instances: "Instance" - this-instance: "Tato instance" - federated: "Z fedivesmíru" -admin/views/queue.vue: - title: "Ve frontě" - remove-all-jobs: "Vyčistit frontu" - jobs: "Úkoly" - queue: "Ve frontě" - domains: - inbox: "Obdržené" - db: "Databáze" - states: - active: "V procesu" - delayed: "Naplánováno" - waiting: "Ve frontě" - result-is-truncated: "Zkrácený výsledek" -admin/views/logs.vue: - logs: "Logy" - domain: "Doména" - level: "Úroveň" - levels: - all: "Vše" - info: "Informace" - success: "Podařilo se" - warning: "Varování" - error: "Chyba" - debug: "Debug" - delete-all: "Smazat vše" -admin/views/abuse.vue: - target: "Cíl" - details: "Popis" - remove-report: "Odstranit" -admin/views/instance.vue: - instance: "Instance" - instance-name: "Název instance" - instance-description: "Popis instance" - host: "Hostitel" - icon-url: "URL ikonky" - logo-url: "URL loga" - banner-url: "URL pro baner" - error-image-url: "URL pro chybový obrázek" - languages: "Jazyk této instance" - languages-desc: "Můžete nastavit více než jeden, oddělte mezerami." - tos-url: "URL pro smluvní podmínky" - repository-url: "URL adresa repositáře" - feedback-url: "URL pro zpětnou vazbu" - maintainer-config: "Informace o administrátorovi" - maintainer-name: "Jméno administrátora" - maintainer-email: "Kontakt na administrátora" - advanced-config: "Další nastavení" - object-storage-base-url: "URL" - object-storage-prefix: "Předpona" - object-storage-endpoint: "Endpoint" - object-storage-region: "Region" - object-storage-port: "Port" - object-storage-access-key: "Přístupový klíč" - object-storage-secret-key: "Tajný Klíč (Secret Key)" - object-storage-use-ssl: "Použít SSL" - object-storage-s3-info-here: "zde" - mb: "V megabajtech" - recaptcha-config: "nastavení služby reCAPTCHA" - recaptcha-info: "reCAPTCHA token je povinný. Můžete jej získat na https://www.google.com/recaptcha/intro/" - enable-recaptcha: "povolit reCAPTCHA" - recaptcha-secret-key: "Tajný Klíč (Secret Key)" - recaptcha-preview: "Náhled" - twitter-integration-config: "Nastavení spojení s Twitterem" - twitter-integration-info: "The callback URL is set on {url}." - enable-twitter-integration: "Povolit připojení k Twitteru" - twitter-integration-consumer-key: "Consumer key" - twitter-integration-consumer-secret: "Consumer Secret" - github-integration-config: "Nastavení spojení s GitHubem" - github-integration-info: "The callback URL is set on {url}." - enable-github-integration: "Povolit připojení ke GitHubu" - github-integration-client-id: "Client ID" - github-integration-client-secret: "Client Secret" - discord-integration-config: "Nastavení spojení s Discordem" - discord-integration-info: "The callback URL is set to {url}." - enable-discord-integration: "Povolit připojení ke Discordu" - discord-integration-client-id: "Client ID" - discord-integration-client-secret: "Client Secret" - invite: "Pozvat" - save: "Uložit" - saved: "Uloženo" - email: "Emailová adresa" - smtp-port: "SMTP Port" - smtp-auth: "Provést SMTP autentikaci" - smtp-user: "SMTP uživatel" - smtp-pass: "SMTP heslo" - test-email: "Test" - serviceworker-config: "ServiceWorker" - enable-serviceworker: "Povolit ServiceWorker" - vapid-publickey: "VAPID veřejný klíč" - vapid-privatekey: "VAPID osobní klíč" -admin/views/charts.vue: - title: "Graf" - per-day: "za den" - per-hour: "za hodinu" - federation: "Federace" - notes: "Příspěvky" - users: "Uživatelé" - drive: "Disk" - network: "Síť" - charts: - federation-instances: "Počet instancí: zvýšení/snížení" - federation-instances-total: "Celkový počet instancí" - notes-total: "Celkem příspěvků" - users-total: "Celkem uživatelů" - active-users: "Aktivní uživatelé" - network-requests: "Požadavek" - network-time: "Doba odezvy" - network-usage: "Síťový provoz" -admin/views/drive.vue: - operation: "Operace" - fileid-or-url: "ID nebo URL souboru" - file-not-found: "Soubor nebyl nalezen" - sort: - title: "Seřadit" - createdAtAsc: "Věk - od nejstaršího" - createdAtDesc: "Věk - od nejmladšího" - sizeAsc: "Velikost - od nejmenších" - sizeDesc: "Velikost – od největších" - origin: - title: "Původ" - combined: "Lokální + Vzdálené" - local: "Lokální" - remote: "Vzdálené" - delete: "Smazat" - deleted: "Smazáno" -admin/views/users.vue: - operation: "Operace" - username-or-userid: "Uživatelské jméno nebo ID uživatele" - user-not-found: "Uživatel nebyl nalezen" - reset-password: "Resetovat heslo" - reset-password-confirm: "Opravdu chcete resetovat Vaše heslo?" - password-updated: "Heslo je nyní \"{password}\"" - update-remote-user: "Aktualizovat informace o vzdáleném účtu" - username: "Přezdívka" - host: "Hostitel" - users: - title: "Uživatel" - state: - all: "Všechny" - moderator: "Moderátor" - adminOrModerator: "Admin/Moderátor" - origin: - title: "Původ" - combined: "Lokální + Vzdálené" - local: "Lokální" - remote: "Vzdálené" - createdAt: "Vytvořeno" - updatedAt: "Aktualizováno" -admin/views/moderators.vue: - add-moderator: - title: "Vytvořit moderátora" - logs: - title: "Logy" - moderator: "Moderátoři" - type: "Operace" - info: "Informace" -admin/views/emoji.vue: - add-emoji: - title: "Přidat emoji" - name: "Jméno emoji" - name-desc: "Můžete použít následující znaky a~z 0~9 _" - aliases: "Aliasy" - aliases-desc: "Můžete nastavit více než jeden, oddělte mezerami." - url: "URL obrázku" - add: "Přidat" - info: "Doporučujeme obrázky ve formátu PNG pod 50 kB." - added: "Emoji bylo přidáno" - emojis: - title: "Seznam smajlíků" - update: "Aktualizovat" - remove: "Odstranit" - remove-emoji: - are-you-sure: "Odstranit „$1“?" - removed: "Smazáno" -admin/views/announcements.vue: - announcements: "Oznámení" - save: "Uložit" - remove: "Odstranit" - add: "Přidat" - title: "Titulek" - text: "Obsah" - saved: "Uloženo" - _remove: - are-you-sure: "Odstranit \"$1\"?" - removed: "Smazáno" -admin/views/hashtags.vue: - hided-tags: "Skryté tagy" -admin/views/federation.vue: - instance: "Instance" - host: "Hostitel" - notes: "Poznámky" - users: "Uživatelé" - following: "Sledování" - caught-at: "Vytvořeno" - status: "Status" - latest-request-received-at: "Poslední požadavek přijat" - block: "Blokován" - instances: "Z fedivesmíru" - states: - all: "Všechny" - blocked: "Blokován" - not-responding: "Bez odpovědi" - marked-as-closed: "Označeno jako uzavřené" - charts: "Graf" - chart-srcs: - requests: "Požadavek" - users-total: "Celkem uživatelů" - notes-total: "Celkem příspěvků" - chart-spans: - hour: "za hodinu" - day: "za den" - blocked-hosts: "Blokován" - save: "Uložit" -desktop/views/pages/welcome.vue: - about: "O Misskey" - timeline: "Časová osa" - announcements: "Oznámení" - photos: "Nedávné obrázky" - powered-by-misskey: "Běží na Misskey." - info: "Informace" -desktop/views/pages/drive.vue: - title: "Misskey Disk" -desktop/views/pages/note.vue: - prev: "Předchozí příspěvěk" - next: "Následující příspěvek" -desktop/views/pages/selectdrive.vue: - title: "Vyberte soubor(y)" - ok: "OK" - cancel: "Zrušit" - upload: "Nahrajte soubory z vašeho zařízení" -desktop/views/pages/search.vue: - not-available: "Vyhledávání je vypnuté pro tuto instanci." - not-found: "Pro '{q}' nebyly nalezeny žádné příspěvky." -desktop/views/pages/tag.vue: - no-posts-found: "Nebyly nalezeny žádné příspěvky s \"{q}\"." -desktop/views/pages/user-list.users.vue: - users: "Uživatel" - add-user: "Přidat uživatele" - username: "Přezdívka" -desktop/views/pages/user/user.followers-you-know.vue: - loading: "Načítám..." -desktop/views/pages/user/user.friends.vue: - title: "Častá zmínění" - loading: "Načítám..." - no-users: "Žádná častá zmínění" -desktop/views/pages/user/user.photos.vue: - title: "Fotky" - loading: "Načítám..." - no-photos: "Žádné obrázky" -desktop/views/pages/user/user.header.vue: - posts: "Poznámky" - following: "Sledovaní" - followers: "Sledující" - month: "Po" - day: "Ne" -desktop/views/widgets/notifications.vue: - title: "Oznámení" -desktop/views/widgets/polls.vue: - title: "Ankety" - nothing: "Žádné nové notifikace!" -desktop/views/widgets/trends.vue: - nothing: "Žádné nové notifikace!" -desktop/views/widgets/users.vue: - title: "Doporučení uživatelé" -mobile/views/components/drive.vue: - used: "využito" - file-count: "Soubor(ů)" - folder-is-empty: "Tato složka je prázdná" - folder-name: "Název složky" - url-prompt: "URL adresa souboru, který chcete nahrát" - uploading: "Byl zahájen upload. Může chvilku trvat než bude dokončen." -mobile/views/components/drive-file-chooser.vue: - select-file: "Vybrat soubory" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "Vyberte složku" -mobile/views/components/drive.file-detail.vue: - download: "Stáhnout" - rename: "Přejmenovat" - move: "Přesunout" - hash: "Hash (md5)" - exif: "EXIF" -mobile/views/components/media-video.vue: - click-to-show: "Klikněte pro zobrazení" -common/views/components/follow-button.vue: - following: "Sledování" - follow-processing: "Zpracovávám" -mobile/views/components/note.vue: - private: "Tento příspěvek je soukromý" - deleted: "Tento příspěvek byl odstraněn" - location: "Lokace" -mobile/views/components/note-detail.vue: - reply: "Odpovědět" - reaction: "Reakce" - private: "Tento příspěvek je soukromý" - deleted: "Tento příspěvek byl odstraněn" - location: "Lokace" -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "kočka" -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "kočka" -mobile/views/components/notifications.vue: - empty: "Žádné nové notifikace!" -mobile/views/components/sub-note-content.vue: - private: "Tento příspěvek je soukromý" - deleted: "Tento příspěvek byl odstraněn" - poll: "Ankety" -mobile/views/components/ui.header.vue: - welcome-back: "Vítejte zpátky," - adjective: "Pán" -mobile/views/components/ui.nav.vue: - timeline: "Časová osa" - notifications: "Oznámení" - search: "Vyhledávání" - user-lists: "Seznamy" - user-groups: "Skupiny" - widgets: "Widgety" - game: "Hry" - admin: "Administrace" - about: "O Misskey" -mobile/views/pages/drive.vue: - contextmenu: - upload: "Nahrát soubor" - create-folder: "Vytvořit složku" -mobile/views/pages/signup.vue: - lets-start: "Váš účet je připraven! 📦" -mobile/views/pages/home.vue: - home: "Domů" - local: "Lokální" - global: "Globální" - mentions: "Zmínění" -mobile/views/pages/tag.vue: - no-posts-found: "Nebyly nalezeny žádné příspěvky s \"{q}\"." -mobile/views/pages/widgets.vue: - add-widget: "Přidat" - customization-tips: "Tipy pro přizpůsobení" -mobile/views/pages/widgets/activity.vue: - activity: "Aktivita" -mobile/views/pages/share.vue: - share-with: "Sdílet na {name}" -mobile/views/pages/note.vue: - prev: "Předchozí příspěvěk" - next: "Následující příspěvek" -mobile/views/pages/games/reversi.vue: - reversi: "Reversi" -mobile/views/pages/search.vue: - search: "Vyhledávání" - not-found: "Pro '{q}' nebyly nalezeny žádné příspěvky." -mobile/views/pages/selectdrive.vue: - select-file: "Vybrat soubory" -mobile/views/pages/notifications.vue: - notifications: "Oznámení" -mobile/views/pages/user/home.vue: - activity: "Aktivita" - frequently-replied-users: "Častá zmínění" -mobile/views/pages/user/home.photos.vue: - no-photos: "Žádné obrázky" -deck: - widgets: "Widgety" - home: "Domů" - local: "Lokální" - hashtag: "Hashtagy" - global: "Globální" - mentions: "Zmínění" - notifications: "Oznámení" - list: "Seznamy" - select-list: "Vyberte seznam" - swap-left: "Posunout doleva" - swap-right: "Posunout doprava" - rename: "Přejmenovat" -deck/deck.user-column.vue: - activity: "Aktivita" -dev/views/new-app.vue: - app-name-desc: "Jméno vaší aplikace" -pages: - pin-this-page: "Připnout" - unpin-this-page: "Odepnout" - like: "Lajk" - title: "Titulek" - blocks: - post: "Formulář pro psaní" - _post: - text: "Obsah" - _textInput: - text: "Titulek" - _textareaInput: - text: "Titulek" - _numberInput: - text: "Titulek" - _switch: - text: "Titulek" - _counter: - text: "Titulek" - _button: - text: "Titulek" - _action: - _dialog: - content: "Obsah" - _radioButton: - title: "Titulek" - script: - categories: - random: "Náhodně" - list: "Seznamy" - blocks: - _join: - arg1: "Seznamy" - random: "Náhodně" - _randomPick: - arg1: "Seznamy" - _dailyRandomPick: - arg1: "Seznamy" - _seedRandomPick: - arg2: "Seznamy" - _pick: - arg1: "Seznamy" - _listLen: - arg1: "Seznamy" - types: - array: "Seznamy" -room: - translate: "Přesunout" - save: "Uložit" - saved: "Uloženo" - furnitures: - moon: "Měsíc" - bin: "Koš" diff --git a/locales/da-DK.yml b/locales/da-DK.yml deleted file mode 100644 index de326526a..000000000 --- a/locales/da-DK.yml +++ /dev/null @@ -1,1921 +0,0 @@ ---- -meta: - lang: "Dansk" -common: - misskey: "En ⭐ i fediverset" - about-title: "En ⭐ i fediverset." - about: "Tak, fordi du fandt Misskey. Misskey er en decentral mikroblog platform født på Jorden. Den findes i Fediverset (et univers med forskellige sociale medieplatforme). Den er tæt integreret med andre sociale medier platforme. Hvorfor ikke tage en pause fra trængsel og travlhed i storbyen og hoppe ind i en ny type internet?" - intro: - title: "Hvad er Misskey?" - about: "Misskey er en open-source, decentraliseret microblogging platform. Den har en sofistikeret brugerflade, som kan tilpasses fuldstændigt. Den giver mulighed for at udtrykke mange forskellige reaktioner på poster. Desuden tilbyder den gratis opbevaring af filer med et integreret håndteringssystem samt andre avancerede funktioner. Oven i dette er Misskey tilknyttet et netværk ved navn “Fediverse”, som gør os i stand til at kommunikere med brugere på andre SNS'er. For eksempel vil en post, som du har skrevet, ikke kun blive sendt til brugere af Misskey men også til brugere af Mastodon og Pleroma. Det svarer lidt til at sende radio transmissioner mellem planeter for at etablere en kommunikation." - features: "Funktioner" - rich-contents: "Post" - rich-contents-desc: "Bare skriv løs om dine ideer, aktuelle emner eller alt muligt andet, som du gerne vil dele med andre. Det kan være, at du gerne vil udsmykke dine ord, vedhæfte dine yndlingsbilleder, sende filer, tilføje videoer eller oprette en afstemning. Alle de nævnte ting er muligt med Misskey!" - reaction: "Reaktioner" - reaction-desc: "Den nemmeste måde at udtrykke dine reaktioner på. Misskey giver mulighed for at tilføje forskellige reaktioner på andres poster. Reaktionerne vil aldrig blive vist på andre SNS'er, som kun er i stand til at udveksle \"likes\"." - ui: "Brugerflade" - ui-desc: "En enkelt brugerflade vil aldrig passe helt for alle. Derfor er Misskey's brugerflade gennemført justerbar, så den kan ramme dine ønsker helt præcist. Du kan designe dit helt eget personlige udtryk ved at rette layoutet af din tidslinje og tilpasse udvalgte widgets, som desuden kan flyttes frit rundt." - drive: "Drev" - drive-desc: "Vil du poste et billede, som du tidligere har uploadet? Har du brug for at navngive filer og organisere dem i mapper, som du selv har navngivet? Så er Misskey Drev den bedste løsning for dig. Den gør det så let som ingenting at dele dine filer online." - outro: "Tjek Misskey's unikke funktioner ved at se dem med dine egne øjne. Hvis du kommer frem til, at den ene server ikke er noget for dig, så kan du prøve en anden. Misskey er et decentraliseret SNS, så du kan lettere finde frem til brugere, som du klikker med. God fornøjelse!" - application-authorization: "Adgangsstyring" - close: "Luk" - do-not-copy-paste: "Undgå venligst at skrive eller klistre kode ind her. I modsat fald kan din konto blive kompromitteret." - load-more: "Læs mere" - enter-password: "Skriv din adgangskode" - 2fa: "To-faktor adgangsstyring" - customize-home: "Tilpas dit layout" - featured-notes: "Fremhævede poster" - dark-mode: "Nat design" - signin: "Log ind" - signup: "Bliv bruger" - signout: "Log ud" - reload-to-apply-the-setting: "Denne indstilling slår først igennem, når du har genindlæst siden. Vil du genindlæse siden nu?" - fetching-as-ap-object: "Tilladelse til sammenkobling" - delete-confirm: "Er du helt sikker på, at du vil slette denne post?" - notification-types: - all: "Alle" - follow: "Følger" - reply: "Svar" - renote: "Gen-postering" - reaction: "Reaktion" - got-it: "Det er OK" - customization-tips: - title: "Tips om tilpasning" - paragraph: "

Tilpasning giver mulighed for at tilføje, slette og flytte rundt på widgets med træk-og-slip.

Du kan ændre visningen af visse widgets ved at højre-klikke på dem.

En widget slettes ved at trække den med musen hen til skaldespanden i toppen af siden.

Du afslutter tilpasningen ved at klikke på \"Færdig\" øverst til højre.

" - gotit: "Det er OK" - notification: - file-uploaded: "Filen er overført!" - message-from: "Besked fra {}:" - reversi-invited: "Invitation til spil" - reversi-invited-by: "Inviteret af {}:" - notified-by: "Besked fra {}:" - reply-from: "Svar fra {}:" - quoted-by: "Citeret af {}:" - time: - unknown: "ukendt" - future: "fremtidig" - just_now: "nu" - seconds_ago: "{} sekund(er) siden" - minutes_ago: "{} minut(ter) siden" - hours_ago: "{} time(r) siden" - days_ago: "{} dag(e) siden" - weeks_ago: "{} uge(r) siden" - months_ago: "{} måned(er) siden" - years_ago: "{} år siden" - month-and-day: "{day}-{month}" - trash: "Skraldespand" - drive: "Drev" - pages: "Sider" - messaging: "Konversationer" - home: "Startside" - deck: "Stabel" - timeline: "Tidslinje" - explore: "Udforsk" - following: "Følger" - followers: "Følgere" - favorites: "Favoritter" - permissions: - "read:account": "Se konto indstillinger" - "write:account": "Opdater dine konto informationer" - "read:blocks": "Vis blokke" - "write:blocks": "Rediger blokke" - "read:drive": "Gennemse drevet" - "write:drive": "Rediger drevet" - "read:favorites": "Mine favoritter" - "write:favorites": "Rediger favoritterne" - "read:following": "Vis info om følgere" - "write:following": "Rediger info om følgere" - "read:messaging": "Se meddelelser" - "write:messaging": "Rediger meddelelser" - "read:mutes": "Se annullerede poster" - "write:mutes": "Rediger annullerede poster" - "write:notes": "Opret og slet poster" - "read:notifications": "Vis notifikationer" - "write:notifications": "Rediger notifikationer" - "read:reactions": "Vis reaktioner" - "write:reactions": "Rediger reaktioner" - "write:votes": "Stem" - empty-timeline-info: - follow-users-to-make-your-timeline: "Følgende brugere vil få vist deres poster på tidslinjen." - explore: "Find brugere" - post-form: - submit: "Post" - reply: "Svar" - renote: "Gen-postering" - error: "Fejl" - enter-username: "Angiv brugernavn" - add-visible-user: "Tilføj en bruger" - username-prompt: "Angiv brugernavn" - weekday-short: - sunday: "Søn" - monday: "Man" - tuesday: "Tirs" - wednesday: "Ons" - thursday: "Tors" - friday: "Fre" - saturday: "Lør" - weekday: - sunday: "Søndag" - monday: "Mandag" - tuesday: "Tirsdag" - wednesday: "Onsdag" - thursday: "Torsdag" - friday: "Fredag" - saturday: "Lørdag" - reactions: - like: "Synes om" - love: "Elsker" - laugh: "Ler" - hmm: "Hmm...?" - surprise: "Wauw" - congrats: "Tillykke" - angry: "Vred" - confused: "Forvirret" - rip: "Hvil i fred" - pudding: "Budding" - note-visibility: - public: "Offentlig" - home: "Startside" - home-desc: "Post udelukkende til tidslinjen" - followers: "Følgere" - followers-desc: "Skriv kun til dine følgere" - specified: "Direkte" - specified-desc: "Skriv kun til udvalgte brugere" - local-public: "Offentlig (på den lokale server)" - local-home: "Startside (på den lokale server)" - local-followers: "Følgere (på den lokale server)" - note-placeholders: - a: "Hvad laver du?" - b: "Hvad sker der?" - c: "Hvad har du i tankerne?" - d: "Hvad vil du gerne sige?" - e: "Skriv her" - f: "Venter på din indtastning." - settings: "Indstillinger" - _settings: - profile: "Profil" - notification: "Notifikation" - apps: "Apps" - tags: "Hashtag" - mute-and-block: "Sluk / Blokér" - blocking: "Blokér" - security: "Sikkerhed" - signin: "Login historik" - password: "Adgangskode" - other: "Andet" - appearance: "Udseende" - behavior: "Opførsel" - reactions: "Reaktion" - fetch-on-scroll: "Uendeligt scroll" - fetch-on-scroll-desc: "Når du scroller ned ad siden, hentes der automatisk nyt indhold ind" - note-visibility: "Post synlighed" - default-note-visibility: "Standard synlighed" - remember-note-visibility: "Husk post synlighed" - web-search-engine: "Søgemaskine" - web-search-engine-desc: "Eksempel: https://www.google.com/?#q={{query}}" - keep-cw: "Bevar indholdsvarsel" - keep-cw-desc: "Det indholdsvarsel, som står på det oprindelige indlæg, vil som standard blive overført til eventuelle svar på indlægget." - i-like-sushi: "Jeg foretrækker sushi frem for budding" - show-reversi-board-labels: "Vis række- og kolonne-etiketter i Reversi" - use-avatar-reversi-stones: "Anvend avatar som en sten i Reversi" - disable-animated-mfm: "Deaktiver animeret tekst i en post" - disable-showing-animated-images: "Afspil ikke animerede billeder" - suggest-recent-hashtags: "Vis de seneste populære hashtags på post formularen" - always-show-nsfw: "Vis altid indhold, der er markeret som Upassende På Jobbet" - always-mark-nsfw: "Marker altid poster med medie bilag som Upassende På Jobbet" - show-full-acct: "Vis aldrig værtsnavnet på brugernavnet" - show-via: "vis via" - reduce-motion: "Reducer bevægelser" - this-setting-is-this-device-only: "Indstillingen gælder kun for denne enhed" - use-os-default-emojis: "Anvend standard emojis fra operativsystemet" - line-width: "Linjebredde" - line-width-thin: "Tynd linje" - line-width-normal: "Normal" - line-width-thick: "Tyk linje" - font-size: "Tekst størrelse" - font-size-x-small: "Meget lille" - font-size-small: "Lille" - font-size-medium: "Normal" - font-size-large: "Stor" - font-size-x-large: "Meget stor" - deck-column-align: "Justering af kolonner" - deck-column-align-center: "Midten" - deck-column-align-left: "Venstre" - deck-column-align-flexible: "Højre" - deck-column-width: "Kolonne bredde" - deck-column-width-narrow: "Smal" - deck-column-width-narrower: "Smallere" - deck-column-width-normal: "Normal" - deck-column-width-wider: "Lidt bredere" - deck-column-width-wide: "Bred" - use-shadow: "Vis skygger" - rounded-corners: "Vis afrundede hjørner" - circle-icons: "Anvend cykliske avatar" - contrasted-acct: "Tilføj kontrast til brugerkontoen" - wallpaper: "Baggrundsbillede" - choose-wallpaper: "Vælg en baggrund" - delete-wallpaper: "Fjern baggrund" - post-form-on-timeline: "Vis post formularen oven over tidslinjen" - show-clock-on-header: "Vis uret i øverste højre hjørne" - show-reply-target: "Vis hvad der svares på" - timeline: "Tidslinje" - show-my-renotes: "Vis mine gen-posteringer på tidslinjen" - show-renoted-my-notes: "Vis gen-posteringer af dine egne poster på tidslinjen" - show-local-renotes: "Vis gen-posteringer af lokale poster på tidslinjen" - remain-deleted-note: "Fortsæt med at vise slettede poster" - sound: "Lyd" - enable-sounds: "Aktiver lyd" - enable-sounds-desc: "Afspil en lyd, når du modtager en post/besked. Denne indstilling gemmes i browseren." - volume: "Volumen" - test: "Test" - update: "Misskey opdatering" - version: "Aktuel version:" - latest-version: "Seneste version:" - update-checking: "Kikker efter opdateringer" - do-update: "Kikker efter opdateringer" - update-settings: "Avancerede indstillinger" - no-updates: "Der er ikke kommet nogen opdateringer" - no-updates-desc: "Din Misskey er opdateret" - update-available: "Der er kommet en ny version" - update-available-desc: "Opdateringer vil slå igennem efter genindlæsning af siden." - advanced-settings: "Avancerede indstillinger" - debug-mode: "Aktiver debug" - debug-mode-desc: "Denne indstilling er gemt i browseren" - navbar-position: "Placering af navigationsbaren" - navbar-position-top: "Top" - navbar-position-left: "Venstre" - navbar-position-right: "Højre" - i-am-under-limited-internet: "Mit internet kører med lav hastighed" - post-style: "Stil for visning af poster" - post-style-standard: "Standard" - post-style-smart: "Smart" - notification-position: "Vis notifikationer" - notification-position-bottom: "Bund" - notification-position-top: "Top" - disable-via-mobile: "Marker aldrig posten som \"fra mobil\"" - load-raw-images: "Vis vedhæftede bilag i original kvalitet" - load-remote-media: "Vis medie-materiale fra en ekstern server" - save: "Gem" - saved: "Gemt" - preview: "Før-visning" - search: "Søg" - delete: "Slet" - loading: "Henter" - ok: "Bekræft" - cancel: "Afbryd" - update-available-title: "Opdatering tilgængelig" - update-available: "En ny version af Misskey er nu tilgængelig ({newer}, den aktuelle version er {current}). Genindlæs siden for at få opdateringerne til at slå igennem." - my-token-regenerated: "Din nøgle er blevet genopbygget, så du bliver logget ud." - hide-password: "Skjul adgangskoden" - show-password: "Vis adgangskoden" - enter-username: "Indtast brugernavn" - do-not-use-in-production: "Dette er en instans til udvikling. Bør ikke benyttes til produktion." - user-suspended: "Denne bruger er blevet udelukket." - is-remote-user: "Oplysningerne om denne bruger er muligvis ikke fyldestgørende" - is-remote-post: "Indholdet af denne post er spejlet fra andetsteds" - view-on-remote: "Se den fulde version eksternt" - renoted-by: "Gen-posteret af {user}" - no-notes: "Uden poster" - turn-on-darkmode: "Skift til mørk baggrund" - turn-off-darkmode: "Lys baggrund" - error: - title: "Noget gik galt :(" - retry: "Prøv igen" - reversi: - drawn: "Tegn" - my-turn: "Din tur" - opponent-turn: "Modstanderens tur" - turn-of: "{name}s tur" - past-turn-of: "{name}s tur forinden" - won: "{name} vandt" - black: "Sort" - white: "Hvid" - total: "I alt" - this-turn: "Runde {count}" - widgets: - analog-clock: "Analogt ur" - profile: "Profil" - calendar: "Kalender" - timemachine: "Kalender (tidsmaskine)" - activity: "Aktivitet" - rss: "RSS læser" - memo: "Selvklæbende noter" - trends: "Tendenser" - photo-stream: "Billedkavalkade" - posts-monitor: "Graf over poster" - slideshow: "Billedkarrusel" - version: "Version" - broadcast: "Offentliggør" - notifications: "Notifikation" - users: "Anbefalede brugere" - polls: "Afstemninger" - post-form: "Post formular" - server: "Server info" - nav: "Navigation" - tips: "Tips og tricks" - hashtags: "Hashtags" - queue: "Kø" - dev: "Fejl under oprettelse af app. Prøv igen." - ai-chan-kawaii: "Ai Chan Kawaii!" - you: "Du" -auth/views/form.vue: - share-access: "Vil du tillade, at {name} får adgang til din konto?" - permission-ask: "Denne app kræver følgende tilladelser:" - cancel: "Annuller" - accept: "Åbn for adgang." -auth/views/index.vue: - loading: "Henter" - denied: "Adgang til app er blevet afvist." - denied-paragraph: "Denne app vil ikke give adgang for din konto." - already-authorized: "Der er allerede adgang til denne app." - allowed: "Der er adgang til app." - callback-url: "Hopper tilbage til app." - please-go-back: "Hop tilbage til app." - error: "Sessionen eksisterer ikke." - sign-in: "Log ind." -common/views/pages/explore.vue: - pinned-users: "Fremhævede brugere" - popular-users: "Populære brugere" - recently-updated-users: "Senest aktive brugere" - recently-registered-users: "Brugere som er kommet til for nyligt" - popular-tags: "Populære tags" - federated: "Fra Fediverset" - explore: "Udforsk {host}" - users-info: "Lige nu er {users} brugere registreret her" -common/views/components/url-preview.vue: - enable-player: "Aktiver afspilning" - disable-player: "Stop afspilning" -common/views/components/user-list.vue: - no-users: "Der er ingen brugere" -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "Venter på {}" - cancel: "Annuller" -common/views/components/games/reversi/reversi.game.vue: - surrender: "Giv op" - surrendered: "Af taberen" - is-llotheo: "Den med færrest vinder (Llotheo)" - looped-map: "Vendebrikker" - can-put-everywhere: "Kan placeres hvorsomhelst" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "Spil Reversi med dine venner!" - invite: "Inviter" - rule: "Spilleregler" - rule-desc: "Reversi er et strategi spil for to deltagere, og det spilles på et bræt med 8 gange 8 felter. På felterne skal placeres 64 ens brikker, som er sorte på den ene side og hvide på den anden. Deltagerne vælger hver sin farve og placerer på skift en brik med deres egen farve opad. Det gælder om at placere brikker med sin egen farve i hver sin ende af en stribe brikker med modstanderens farve, for det giver ret til at vende de mellemliggende brikker rundt, så de får ens egen farve. Vinderen er den, som til sidst har erobret flest felter på brættet." - mode-invite: "Inviter" - mode-invite-desc: "Spil med en udvalgt bruger" - invitations: "Du har fået en invitation!" - my-games: "Mine spil" - all-games: "Alle spil" - enter-username: "Angiv brugernavn" - game-state: - ended: "Slut" - playing: "I gang" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "Spilleindstillinger" - choose-map: "Vælg en brikfarve" - random: "Tilfældig" - black-or-white: "Sort/hvid" - black-is: "Sort er {}" - rules: "Regler" - is-llotheo: "Den med færrest vinder (Llotheo)" - looped-map: "Vendebrikker" - can-put-everywhere: "Kan placeres hvorsomhelst" - settings-of-the-bot: "Bot indstillinger" - this-game-is-started-soon: "Spillet begynder lige om lidt" - waiting-for-other: "Venter på modstanderen" - waiting-for-me: "Venter på, at du bliver klar" - waiting-for-both: "Venter på, at spillerne er klar" - cancel: "Annuller" - ready: "Klar" - cancel-ready: "Fortryd din klar-melding" -common/views/components/connect-failed.vue: - title: "Ingen kontakt med serveren" - description: "Der er et problem med din internet forbindelse, eller så er serveren nede eller under vedligeholdelse. Tag og {try again} senere." - thanks: "Tak, fordi du bruger Misskey." - troubleshoot: "Fejlfinding" -common/views/components/connect-failed.troubleshooter.vue: - title: "Fejlfinding" - network: "Netværksforbindelse" - checking-network: "Tjekker netværksforbindelsen" - internet: "Internetforbindelse" - checking-internet: "Tjekker internetforbindelse" - server: "Forbindelse til server" - checking-server: "Tjekker forbindelsen til server" - finding: "Prøver at finde problemet" - no-network: "Ingen forbindelse" - no-network-desc: "Tjek en ekstra gang, om du har netværksforbindelse." - no-internet: "Det er ingen internetforbindelse" - no-internet-desc: "Tjek en ekstra gang, at du har forbindelse til internettet" - no-server: "Ude af stand til at skabe forbindelse til Misskey serveren" - no-server-desc: "Netværksforbindelsen på din enhed er normal, men du kunne ikke koble dig på Misskey serveren. Årsagen kan være, at serveren er nede, eller at den er under vedligeholdelse. Prøv igen senere." - success: "Du er nu blevet koblet til Misskey serveren" - success-desc: "Det ser ud til, at der er forbindelse. Genindlæs siden." - flush: "Ryd cachen" - set-version: "Angiv version" -common/views/components/media-banner.vue: - sensitive: "Upassende På Jobbet" - click-to-show: "Klik for at se" -common/views/components/theme.vue: - theme: "Tema" - light-theme: "Tema i tilknytning til lys baggrund" - dark-theme: "Tema i tilknytning til mørk baggrund" - light-themes: "Lyst tema" - dark-themes: "Mørkt tema" - install-a-theme: "Installer et tema" - theme-code: "Tema kode" - install: "Installer" - installed: "\"{}\" er blevet installeret" - create-a-theme: "Opret et tema" - save-created-theme: "Gem tema" - primary-color: "Primær farve" - secondary-color: "Sekundær farve" - text-color: "Tekst farve" - base-theme: "Grundtema" - base-theme-light: "Lyst" - base-theme-dark: "Mørkt" - find-more-theme: "Find flere temaer" - theme-name: "Tema navn" - preview-created-theme: "Før-visning" - invalid-theme: "Temaet er ikke gyldigt" - already-installed: "Teamet er allerede installeret" - saved: "Gemt" - manage-themes: "Administrer temaer" - builtin-themes: "Standard temaer" - my-themes: "Mine temaer" - installed-themes: "Installerede temaer" - select-theme: "Vælg dit tema" - uninstall: "Afinstaller" - uninstalled: "\"{}\" er blevet afinstalleret" - author: "Skribent" - desc: "Beskrivelse" - export: "Eksport" - import: "Import" - import-by-code: "eller indsæt kode" - theme-name-required: "Temaet skal have et navn" -common/views/components/cw-button.vue: - hide: "Skjul" - show: "Se mere" - chars: "{count} tegn" - files: "{count} filer" - poll: "Afstemninger" -common/views/components/messaging.vue: - search-user: "Find en bruger" - you: "Du" - no-history: "Uden historik" - user: "Bruger" - group: "Gruppe" - start-with-user: "Start chat med bruger" - start-with-group: "Start chat med gruppe" - select-group: "Vælg gruppe" -common/views/components/messaging-room.vue: - not-talked-user: "Ingen bruger sessionshistorik" - not-talked-group: "Intet gruppesessions dokument" - no-history: "Der er ingen yderligere historik" - new-message: "Ny besked" - only-one-file-attached: "Kan kun indeholde én vedhæftning" -common/views/components/messaging-room.form.vue: - input-message-here: "Skriv meddelelsen her" - send: "Send" - attach-from-local: "Vedhæft filen fra din enhed" - attach-from-drive: "Vedhæft filen fra dit drev" - only-one-file-attached: "Kan kun indeholde én vedhæftning" -common/views/components/messaging-room.message.vue: - is-read: "Læst" - deleted: "Denne meddelelse er slettet" -common/views/components/nav.vue: - about: "Om" - stats: "Statistik" - status: "Status" - wiki: "Wiki" - donors: "Donatorer" - repository: "Systemets kode-repo" - develop: "Udviklere" - feedback: "Tilbagemeldinger" - tos: "Brugerbetingelser" -common/views/components/note-menu.vue: - mention: "Omtale" - detail: "Detaljer" - copy-content: "Kopier indholdet" - copy-link: "Kopier link" - favorite: "Marker denne post som favorit" - unfavorite: "Fjern favorit-markering" - watch: "Hold øje med" - unwatch: "Hold ikke længere øje med" - pin: "Tilknyt til din profil" - unpin: "Fjern tilknytning til din profil" - delete: "Slet" - delete-confirm: "Er du helt sikker på, at du vil slette denne post?" - remote: "Vis den oprindelige post" -common/views/components/user-menu.vue: - mention: "Omtale" - mute: "Annuller" - unmute: "Ophæv annullering" - mute-confirm: "Er du sikker på, at du vil annullere denne bruger?" - unmute-confirm: "Er du sikker på, at du vil fjerne annulleringen af denne bruger?" - block: "Bloker" - unblock: "Fjern blokering" - block-confirm: "Er du sikker på, at du vil blokere denne bruger?" - unblock-confirm: "Er du sikker på, at du vil fjerne blokeringen af denne bruger?" - push-to-list: "Tilføj til liste" - select-list: "Vælg liste" - report-abuse: "Meld misbrug" - report-abuse-detail: "Hvilken form for misbrug har du været ude for?" - report-abuse-reported: "Denne hændelse er nu videresendt til administratoren. Mange tak for hjælpen." - silence: "Gør tavs" - unsilence: "Fortryd at du har gjort tavs" - silence-confirm: "Er du sikker på, at du vil gøre denne bruger tavs?" - unsilence-confirm: "Er du sikker på, at du har fortrudt, at du har gjort denne bruger tavs?" - suspend: "Udeluk" - unsuspend: "Ophæv udelukkelse" - suspend-confirm: "Er du sikker på, at du vil udelukke denne bruger?" - unsuspend-confirm: "Er du sikker på, at du vil ophæve udelukkelsen af denne bruger?" -common/views/components/poll.vue: - vote-to: "Stem på '{}'" - vote-count: "{} stemmer" - total-votes: "{} stemmer i alt" - vote: "Stem" - show-result: "Vis resultatet" - voted: "Stemt" - closed: "Afsluttet" - remaining-days: "{d} dage og {h} timer tilbage" - remaining-hours: "{h} timer og {m} minutter tilbage" - remaining-minutes: "{m} minutter og {s} sekunder tilbage" - remaining-seconds: "{s} sekunder tilbage" -common/views/components/poll-editor.vue: - no-only-one-choice: "Der skal vælges mindst to muligheder" - choice-n: "Valgmulighed {}" - remove: "Slet valgmulighed" - add: "Tilføj valgmulighed" - destroy: "Drop afstemningen" - multiple: "Mere end et svar er tilladt" - expiration: "Udløber" - infinite: "Uendelig" - at: "Dato- og tidsvælger" - after: "Angivet tid" - no-more: "Du kan ikke tilføje flere svar" - deadline-date: "Slutdato" - deadline-time: "Varighed" - interval: "Varighed" - unit: "Enhed" - second: "Sekunder" - minute: "Minutter" - hour: "Time" - day: "Søn" -common/views/components/reaction-picker.vue: - choose-reaction: "Vælg reaktion" -common/views/components/emoji-picker.vue: - custom-emoji: "Brugerdefineret emoji" - people: "Personer" - animals-and-nature: "Dyr og natur" - food-and-drink: "Mad og drikke" - activity: "Aktivitet" - travel-and-places: "Rejser og steder" - objects: "Objekt" - symbols: "Symboler" - flags: "Flag" -common/views/components/settings/app-type.vue: - info: "Du er nødt til at genindlæse siden, før ændringerne slår igennem." -common/views/components/signin.vue: - username: "Brugernavn" - password: "Adgangskode" - token: "Nøgle" - signing-in: "Log ind" - or: "Eller" - signin-with-twitter: "Log ind med Twitter" - signin-with-github: "Log ind med GitHub" - signin-with-discord: "Log ind med Discord" - login-failed: "Fejl ved log ind. Sørg for, at du har skrevet korrekt brugernavn og adgangskode." -common/views/components/signup.vue: - invitation-code: "Invitationskode" - invitation-info: "Kontakt en administrator, hvis du ikke har en invitationskode." - username: "Brugernavn" - checking: "Tjekker" - available: "Tilgængelig" - unavailable: "Ikke tilgængelig" - error: "Netværksfejl" - invalid-format: "bogstaver, tal og \"_\" er tilladt." - too-short: "Må ikke være tom!" - too-long: "Brug højst 20 tegn." - password: "Adgangskode" - password-placeholder: "Det anbefales at skrive mere end otte tegn" - weak-password: "Svag adgangskode" - normal-password: "Rimelig adgangskode" - strong-password: "Stærk adgangskode" - retype: "Skriv igen" - retype-placeholder: "Bekræft din adgangskode" - password-matched: "Godkendt" - password-not-matched: "Ikke godkendt" - recaptcha: "Verificering" - agree-to: "Enig {0}" - tos: "Brugerbetingelser" - create: "Opret en konto" - some-error: "Af en eller anden grund mislykkedes forsøget på at oprette en konto. Prøv igen." -common/views/components/special-message.vue: - new-year: "Godt nytår!" - christmas: "Glædelig jul!" -common/views/components/stream-indicator.vue: - connecting: "Tilslutter" - reconnecting: "Tilslutter igen" - connected: "Tilsluttet" -common/views/components/notification-settings.vue: - title: "Notifikationer" - mark-as-read-all-notifications: "Marker alle notifikationer som læste" - mark-as-read-all-unread-notes: "Marker alle poster som læste" - mark-as-read-all-talk-messages: "Marker alle samtaler som læste" - auto-watch: "Automatisk visning af poster" - auto-watch-desc: "Modtag automatisk notifikationer om poster, som du har reageret eller svaret på." -common/views/components/integration-settings.vue: - title: "Service samarbejde" - connect: "Tilslut" - disconnect: "Frakobl" - connected-to: "Du er tilsluttet næste konto" -common/views/components/github-setting.vue: - description: "Når du tilslutter din GitHub konto til din Misskey konto, bliver du i stand til at se info om din GitHub konto på din profil, og du vil få mulighed for at logge ind via GitHub." - connected-to: "Du er tilsluttet denne GitHub konto" - detail: "Flere detaljer" - reconnect: "Tilslut igen" - connect: "Tilslut til din GitHub konto" - disconnect: "Frakobl" -common/views/components/discord-setting.vue: - description: "Når du tilslutter din Discord konto til din Misskey konto, bliver du i stand til at se info om din Discord konto på din profil, og du vil få mulighed for at logge ind via Discord." - connected-to: "Du er tilsluttet denne Discord konto" - detail: "Detaljer..." - reconnect: "Tilslut igen" - connect: "Tilslut din Discord konto" - disconnect: "Frakobl" -common/views/components/uploader.vue: - waiting: "Venter" -common/views/components/visibility-chooser.vue: - public: "Offentlig" - home: "Startside" - home-desc: "Post kun til startsiden" - followers: "Følgere" - followers-desc: "Post kun til følgere" - specified: "Direkte" - specified-desc: "Post kun til udvalgte brugere" - local-public: "Offentlig (på den lokale server)" - local-public-desc: "Offentliggør ikke til eksterne" - local-home: "Startside (på den lokale server)" - local-followers: "Følgere (på den lokale server)" -common/views/components/trends.vue: - count: "{} brugere nævnt" - empty: "Ingen tendenser" -common/views/components/language-settings.vue: - title: "Vis sprog" - pick-language: "Vælg sprog" - recommended: "Anbefalet" - auto: "Automatisk" - specify-language: "Angiv sprog" - info: "Du er nødt til at genindlæse siden, før ændringerne slår igennem." -common/views/components/profile-editor.vue: - title: "Profil" - name: "Navn" - account: "Konto" - location: "Placering" - description: "Om mig" - you-can-include-hashtags: "Du må gerne bruge hashtags i din profil beskrivelse" - language: "Sprog" - birthday: "Fødselsdag" - avatar: "Avatar" - banner: "Banner" - is-cat: "Denne konto er en Kat" - is-bot: "Denne konto er en Bot" - is-locked: "Anmodning fra følgere kræver godkendelse" - careful-bot: "Følger anmodninger fra bots kræver godkendelse" - auto-accept-followed: "Accepter automatisk følgere af personer, som du selv følger" - advanced: "Avanceret" - privacy: "Privatliv" - save: "Gem" - saved: "Profil er opdateret med succes" - uploading: "Overfører" - upload-failed: "Fejl ved overførsel" - unable-to-process: "Handlingen kunne ikke gennemføres." - email: "Email indstillinger" - email-address: "Email adresse" - email-verified: "Din email er blevet bekræftet" - email-not-verified: "Email adresse er ikke bekræftet. Tjek indbakken i din mailboks." - export: "Eksport" - import: "Import" - export-and-import: "Eksport og import" - export-targets: - all-notes: "Alle poster" - following-list: "Liste over følgere" - mute-list: "Liste over annullerede konti" - blocking-list: "Liste over blokerede konti" - user-lists: "Lister" - export-requested: "Du har bedt om en eksport. Det kan tage et stykke tid. Når eksporten er gennemført, vil eksport-filen blive lagt på dit drev." - import-requested: "Du har sat en import i gang. Det kan tage et stykke tid." - enter-password: "Angiv din adgangskode" - danger-zone: "Risici" - delete-account: "Slet kontoen" - account-deleted: "Kontoen er slettet. Det kan vare lidt, inden alle data forsvinder." - metadata-content: "Indhold" -common/views/components/user-list-editor.vue: - users: "Bruger" - rename: "Omdøb listen" - delete: "Slet liste" - remove-user: "Fjern fra denne liste" - delete-are-you-sure: "Slet liste \"$1\"?" - deleted: "Slettet med succes" - add-user: "Tilføj en bruger" -common/views/components/user-group-editor.vue: - users: "Brugere" - rename: "Omdøb gruppe" - delete: "Slet gruppe" - remove-user: "Fjern bruger fra denne gruppe" - delete-are-you-sure: "Er du sikker på, at du vil slette gruppen \"$ 1\"?" - deleted: "Slettet" - invite: "Inviter" - invited: "Inviterede" -common/views/components/user-lists.vue: - user-lists: "Lister" - create-list: "Opret en liste" - list-name: "Liste navn" -common/views/components/user-groups.vue: - user-groups: "Gruppe" - create-group: "Opret gruppe" - group-name: "Gruppenavn" - owned-groups: "Egne grupper" - joined-groups: "Tilsluttede grupper" - invites: "Inviter" - accept-invite: "Tag imod invitation" - reject-invite: "Afvis" -common/views/widgets/broadcast.vue: - fetching: "Tjekker" - no-broadcasts: "Ingen meddelelser" - have-a-nice-day: "Hav en god dag!" - next: "Næste" -common/views/widgets/calendar.vue: - year: "År {}" - month: "{}," - day: "{}" - today: "I dag:" - this-month: "Måned:" - this-year: "År:" -common/views/widgets/photo-stream.vue: - title: "Billedkavalkade" - no-photos: "Ingen billeder" -common/views/widgets/posts-monitor.vue: - title: "Graf over poster" - toggle: "Skift mellem visninger" -common/views/widgets/hashtags.vue: - title: "Hashtags" -common/views/widgets/server.vue: - title: "Server info" - toggle: "Skift mellem visninger" -common/views/widgets/memo.vue: - title: "Selvklæbende noter" - memo: "Skriv her!" - save: "Gem" -common/views/widgets/slideshow.vue: - folder-customize-mode: "For at kunne angive en mappe er du nødt til at gå ud af tilpasnings indstillingerne" - folder: "Klik og angiv en mappe" - no-image: "Der er ikke noget billede i denne mappe" -common/views/widgets/tips.vue: - tips-line1: "Du kan fokusere på tidslinjen med t" - tips-line2: "Åbn post formularen med p eller n." - tips-line3: "Du kan trække og slippe filer på post formularen" - tips-line4: "Du kan indsætte et billede fra klippebordet på afsendelses formularen" - tips-line5: "Du kan overføre filer ved at trække og slippe dem på dit drev" - tips-line6: "Du kan flytte en mappe ved at trække den inden for dit drev" - tips-line7: "Du kan flytte mapper ved at trække dem inden for dit drev" - tips-line8: "Startsidens layout kan tilpasses fra indstillingerne" - tips-line9: "Misskey er licenseret under AGPLv3." - tips-line10: "Widgeten med tidsmaskinen gør det let at \"spole\" tilbage til den tidligere tidslinje." - tips-line11: "Du kan sende poster til bruger siden ved at klikke på \"...\"" - tips-line13: "Alle filer tilknyttet en post gemmes på dit drev." - tips-line14: "Når du tilpasser layoutet på startsiden, kan du højreklikke på en widget for at ændre dens design." - tips-line17: "Du kan fremhæve en tekstbid ved at omgive den med ** **." - tips-line19: "Flere vinduer kan kobles af og vises uden for browseren." - tips-line20: "Procentdelen af kalender-widgeten viser procentdelen af den tid, der er gået." - tips-line21: "Du kan også bruge Misskey's API til at udvikle bots." - tips-line23: "Ai Chan Kawaii!" - tips-line24: "Misskey har været i drift siden 2014." - tips-line25: "Du kan modtage notifikationer, selv om Misskey ikke er åben, hvis du anvender en browser, der er i stand til at håndtere notifikationer." -common/views/pages/not-found.vue: - page-not-found: "Siden kan ikke findes" -common/views/pages/follow.vue: - signed-in-as: "Logget ind som {}" - following: "Følger" - follow: "Følg" - request-pending: "Ventende anmodninger om at blive følger" - follow-processing: "Anmoder om behandling" - follow-request: "Anmodning om at blive følger" -common/views/pages/follow-requests.vue: - received-follow-requests: "Anmodninger om at blive følgere" - accept: "Accepter" - reject: "Afvis" -desktop: - banner-crop-title: "Beskær den del, der vises som et banner" - banner: "Banner" - uploading-banner: "Overfør et nyt banner" - banner-updated: "Banner er overført med succes" - choose-banner: "Vælg banner" - avatar-crop-title: "Beskær den del, der vises som en avatar" - avatar: "Avatar" - uploading-avatar: "Overfør en ny avatar" - avatar-updated: "Avatar er overført med succes" - choose-avatar: "Vælg et billede til din avatar" - unable-to-process: "Handlingen kunne ikke gennemføres." - invalid-filetype: "Denne filtype kan ikke benyttes her" -desktop/views/components/activity.chart.vue: - total: "Sort ... Total" - notes: "Blå ... Noter" - replies: "Rød ... Svar" - renotes: "Grøn ... Gen-postering" -desktop/views/components/activity.vue: - title: "Aktivitet" - toggle: "Skift mellem visninger" -desktop/views/components/calendar.vue: - title: "{year} / {month}" - prev: "Forrige måned" - next: "Næste måned" - go: "Klik for at navigere" -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "{count} fil(er) er valgt" - upload: "Overfør filer fra din enhed" - cancel: "Annuller" - ok: "OK" - choose-prompt: "Vælg filer" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Annuller" - ok: "OK" - choose-prompt: "Vælg en mappe" -desktop/views/components/crop-window.vue: - skip: "Afbryd beskæring" - cancel: "Annuller" - ok: "OK" -desktop/views/components/drive-window.vue: - used: "I brug" -desktop/views/components/drive.file.vue: - avatar: "Avatar" - banner: "Banner" - nsfw: "Upassende På Jobbet" - contextmenu: - rename: "Omdøb" - mark-as-sensitive: "Marker som 'følsom'" - unmark-as-sensitive: "Fjern markering som 'følsom'" - copy-url: "Kopier webadresse" - download: "Download" - else-files: "Avanceret" - set-as-avatar: "Vælg som avatar" - set-as-banner: "Vælg som banner" - open-in-app: "Åbn i app" - add-app: "Tilføj app" - rename-file: "Omdøb fil" - input-new-file-name: "Angiv nyt navn" - copied: "Kopieret" - copied-url-to-clipboard: "Webadressen er kopieret til klippebordet" -desktop/views/components/drive.folder.vue: - unable-to-process: "Handlingen kunne ikke gennemføres." - circular-reference-detected: "Destinationsmappen er en undermappe til den mappe, som du forsøger at flytte." - unhandled-error: "Ukendt fejl" - contextmenu: - move-to-this-folder: "Flyt til denne mappe" - show-in-new-window: "Åbn i nyt vindue" - rename: "Omdøb" - rename-folder: "Omdøb mappe" - input-new-folder-name: "Angiv nyt navn" - else-folders: "Avanceret" -desktop/views/components/drive.vue: - search: "Søg" - empty-draghover: "Smid det her! Fordi du ved, at jeg er meget sød, ikke?" - empty-drive: "Dit medielager er tomt" - empty-drive-description: "Højreklik for at åbne menuen, eller træk og slip filer her for at overføre." - empty-folder: "Denne mappe er tom" - unable-to-process: "Handlingen kunne ikke gennemføres." - circular-reference-detected: "Destinationsmappen er en undermappe til den mappe, som du forsøger at flytte." - unhandled-error: "Ukendt fejl" - url-upload: "Overfør fra webadresse" - url-of-file: "Webadresse på filen, som du vil overføre" - url-upload-requested: "Der er anmodet om overførsel" - may-take-time: "Det kan tage noget tid at gennemføre overførslen." - create-folder: "Opret en mappe" - folder-name: "Mappenavn" - contextmenu: - create-folder: "Opret en mappe" - upload: "Overfør en fil" - url-upload: "Overfør fra webadresse" -desktop/views/components/media-video.vue: - sensitive: "Indholdet er Upassende På Jobbet" - click-to-show: "Klik for at vise" -desktop/views/components/followers-window.vue: - followers: "{}s følgere" -desktop/views/components/followers.vue: - empty: "Det ser ikke ud til, at du har nogen følgere." -desktop/views/components/following-window.vue: - following: "Følger {}" -desktop/views/components/following.vue: - empty: "Det ser ikke ud til, at du følger brugeren..." -desktop/views/components/game-window.vue: - game: "Reversi" -desktop/views/components/home.vue: - done: "Send" - add-widget: "Tilføj widget:" - add: "Tilføj" -desktop/views/input-dialog.vue: - cancel: "Annuller" - ok: "OK" -desktop/views/components/note-detail.vue: - private: "Posten er privat" - deleted: "Posten er blevet fjernet" - location: "Placering" - renote: "Gen-postering" - add-reaction: "Tilføj en reaktion" - undo-reaction: "Fortryd reaktion" -desktop/views/components/note.vue: - reply: "Svar" - renote: "Gen-postering" - add-reaction: "Tilføj en reaktion" - undo-reaction: "Fortryd reaktion" - detail: "Detaljer" - private: "Posten er privat" - deleted: "Posten er blevet fjernet" -desktop/views/components/notes.vue: - error: "Fejl ved indlæsning" - retry: "Prøv igen" -desktop/views/components/notifications.vue: - empty: "Der er ingen notifikationer!" -desktop/views/components/post-form.vue: - posted: "Afsendt!" - replied: "Besvaret!" - reposted: "Gen-posteret!" - note-failed: "Fejl under afsendelse" - reply-failed: "Fejl under besvarelse" - renote-failed: "Fejl under gen-postering" -desktop/views/components/post-form-window.vue: - note: "Ny post" - reply: "Svar" - attaches: "{} medier er vedhæftet" - uploading-media: "Har overført {} medier" -desktop/views/components/progress-dialog.vue: - waiting: "Venter" -desktop/views/components/renote-form.vue: - quote: "Citat" - cancel: "Annuller" - renote: "Gen-postering" - renote-home: "Gen-postering (på startsiden)" - reposting: "Gen-posterer" - success: "Gen-posteret!" - failure: "Fejl under gen-postering" -desktop/views/components/renote-form-window.vue: - title: "Ønsker du at gen-postere den?" -desktop/views/pages/user-following-or-followers.vue: - following: "{user} følger" - followers: "{user}s følger" -desktop/views/components/settings.2fa.vue: - intro: "Du kan forbedre sikkerheden ved at indføre to-faktor godkendelse. I så fald vil du både få brug for en adgangskode til log ind og en fysisk enhed (f.eks. en smartphone), som er registreret på forhånd." - detail: "Mere info..." - url: "https://www.google.com/landing/2step/" - caution: "Hvis du mister adgangen til din registrerede enhed, vil du ikke længere være i stand til at koble dig på Misskey!" - register: "Registrer en enhed" - already-registered: "Denne enhed er allerede registreret" - unregister: "Af-registrer" - unregistered: "To-faktor godkendelse er de-aktiveret." - enter-password: "Angiv adgangskoden" - authenticator: "Allerførst skal du installere Google Authenticator på din enhed:" - howtoinstall: "Sådan installerer du" - token: "Nøgle" - scan: "Og derefter, scan QR koden:" - done: "Angiv den nøgle, som vises på din enhed:" - submit: "Send" - success: "Indstillingerne er gemt!" - failed: "Fejl ved opsætningen. Tjek at din nøgle er korrekt." - info: "Næste gang du logger på Misskey, vil den nøgle og adgangskode, der vises på din enhed, være obligatorisk." -common/views/components/media-image.vue: - sensitive: "Indholdet er Upassende På Jobbet" - click-to-show: "Klik for at vise" -common/views/components/api-settings.vue: - intro: "For at få adgang til API'en skal du sætte denne nøgle til at være søgeordet \"i\" i anmodningsparameteren." - caution: "Indtast ikke denne nøgle i nogen app, og fortæl heller ikke andre om den. I modsat fald kan din konto blive kompromitteret." - regeneration-of-token: "Hvis din nøgle er kompromitteret, kan du genskabe den." - regenerate-token: "Genskab nøgle" - token: "Nøgle:" - enter-password: "Angiv adgangskoden" - console: - title: "API konsol" - endpoint: "Endpoint" - parameter: "Parametre" - credential-info: "Denne konsol kræver ikke parameteren \"i\"." - send: "Send" - sending: "Sender" - response: "Svar" -desktop/views/components/settings.apps.vue: - no-apps: "Der er ingen tilsluttede apps" -common/views/components/drive-settings.vue: - max: "Kapacitet" - in-use: "I brug" - stats: "Statistik" - default-upload-folder-name: "Mappe(r)" -common/views/components/mute-and-block.vue: - mute-and-block: "Annuller / Bloker" - mute: "Annuller" - block: "Bloker" - no-muted-users: "Ingen annullerede brugere" - no-blocked-users: "Ingen blokerede brugere" - word-mute: "Ordfilter" - muted-words: "Frafiltrerede ord" - muted-words-description: "Mellemrum mellem ord vil blive håndteret, som om der står AND i mellem ordene i søgningen (dvs. alle ord skal være til stede). Linjeskift mellem ord vil føre til, at der søges med OR mellem ordene (dvs. kun det ene af ordene behøver være til stede)." - unmute-confirm: "Er du sikker på, at du vil fjerne annulleringen af denne bruger?" - unblock-confirm: "Er du sikker på, at du vil fjerne blokeringen af denne bruger?" - save: "Gem" -common/views/components/password-settings.vue: - reset: "Skift adgangskode" - enter-current-password: "Angiv den nuværende adgangskode" - enter-new-password: "Angiv den nye adgangskode" - enter-new-password-again: "Skriv den nye adgangskode igen" - not-match: "Du har skrevet den nye adgangskode på to forskellige måder" - changed: "Adgangskoden er ændret" - failed: "Fejl ved ændring af adgangskode" -common/views/components/post-form-attaches.vue: - attach-cancel: "Fjern den vedhæftede fil" - mark-as-sensitive: "Marker som 'følsom'" - unmark-as-sensitive: "Fjern markering som 'følsom'" -desktop/views/components/sub-note-content.vue: - private: "Posten er privat" - deleted: "Posten er blevet fjernet" - media-count: "{} medie(r) er vedhæftet" - poll: "Afstemninger" -desktop/views/components/settings.tags.vue: - title: "Tags" - query: "Søgning (valgfri)" - add: "Tilføj" - save: "Gem" -desktop/views/components/timeline.vue: - home: "Startside" - local: "Lokal" - hybrid: "Social" - global: "Global" - mentions: "Omtaler" - messages: "Direkte poster" - list: "Liste" - hashtag: "Hashtags" - add-tag-timeline: "Tilføj hashtag sky" - add-list: "Tilføj liste" - list-name: "Navn på liste" -desktop/views/components/ui.header.vue: - welcome-back: "Velkommen tilbage!" - adjective: "Hr." -desktop/views/components/ui.header.account.vue: - profile: "Din profil" - lists: "Lister" - groups: "Gruppe" - follow-requests: "Anmodninger om at blive følger" - admin: "Administration" -desktop/views/components/ui.header.nav.vue: - game: "Spil" -desktop/views/components/ui.header.notifications.vue: - title: "Notifikationer" -desktop/views/components/ui.header.post.vue: - post: "Ny post" -desktop/views/components/ui.header.search.vue: - placeholder: "Søg" -desktop/views/components/user-preview.vue: - notes: "Poster" - following: "Følger" - followers: "Følgere" -desktop/views/components/users-list.vue: - all: "Alle" - iknow: "Som du ved" - fetching: "Indlæser..." -desktop/views/components/users-list-item.vue: - followed: "Følger dig" -desktop/views/components/window.vue: - popout: "Pop op vindue" - close: "Luk" -admin/views/index.vue: - dashboard: "Kontrolpanel" - instance: "Instans" - emoji: "Emoji" - moderators: "Redaktører" - users: "Brugere" - federation: "Forening" - announcements: "Annonceringer" - abuse: "Misbrug" - queue: "Job kø" - logs: "Logs" - back-to-misskey: "Tilbage til Misskey" -admin/views/dashboard.vue: - dashboard: "Kontrolpanel" - accounts: "Konto" - notes: "Poster" - drive: "Drev" - instances: "Instans" - this-instance: "Denne instans" - federated: "Forenede" -admin/views/queue.vue: - title: "Kø" - remove-all-jobs: "Ryd alle job køer" - queue: "Kø" - state: "Sorter efter" -admin/views/logs.vue: - logs: "Logs" - levels: - info: "Information" - error: "Fejl" -admin/views/abuse.vue: - title: "Misbrug" - target: "Mål" - reporter: "Kilde" - details: "Detaljer" - remove-report: "Slet" -admin/views/instance.vue: - instance: "Instans" - instance-name: "Instans navn" - instance-description: "Beskrivelse af instans" - host: "Vært" - icon-url: "Ikonets webadresse" - logo-url: "Logoets webadresse" - banner-url: "Banner billedets webadresse" - error-image-url: "Fejl billedets webadresse" - languages: "Sproget på denne instans" - languages-desc: "Du kan angive flere ved at adskille med mellemrum" - tos-url: "Webadresse for brugerbetingelser" - repository-url: "Webadresse for systemets kode-repo" - feedback-url: "Webadresse for tilbagemeldinger om systemet" - maintainer-config: "Administrator info" - maintainer-name: "Administrator navn" - maintainer-email: "Kontakt administrator" - advanced-config: "Andre indstillinger" - note-and-tl: "Poster og tidslinje" - drive-config: "Indstillinger for drev" - use-object-storage: "Brug af eksternt lager" - object-storage-base-url: "Webadresse" - object-storage-bucket: "Navn på eksternt lager" - object-storage-prefix: "Præfiks" - object-storage-endpoint: "Endpoint" - object-storage-region: "Region" - object-storage-port: "Port" - object-storage-access-key: "Genvejstast" - object-storage-secret-key: "Nøgle" - object-storage-use-ssl: "Brug SSL" - object-storage-s3-info: "Når du bruger Amazon S3 som eksternt lager, skal du bekræfte indstillingerne for {0} samt den dertil hørende \"Terminal\" og \"Region\"." - object-storage-s3-info-here: "Her" - object-storage-gcs-info: "Når du bruger Google Cloud Storage som eksternt lager, skal du indstille \"Terminal\" til storage.googleapis.com og forlade feltet \"Region\"." - cache-remote-files: "Cache eksterne filer" - local-drive-capacity-mb: "Kapacitet på hver lokal brugers drev" - remote-drive-capacity-mb: "Kapacitet på hver ekstern brugers drev" - mb: "I megabytes (MB)" - recaptcha-config: "Indstillinger for verificering" - recaptcha-info: "Du skal bruge en verificeringsnøgle for at aktivere verificering. Nøglen fås på https://www.google.com/recaptcha/intro/" - enable-recaptcha: "Aktiver verificering" - recaptcha-site-key: "Nøgle for webstedet" - recaptcha-secret-key: "Verificeringsnøgle" - recaptcha-preview: "Før-visning" - hidden-tags: "Skjulte hashtags" - hidden-tags-info: "Brug linjeskift til at adskille de hashtags, som du vil skjule." - external-service-integration-config: "Opret forbindelse til eksterne tjenester" - twitter-integration-config: "Indstillinger for forbindelse til Twitter" - twitter-integration-info: "Webadressen for callback er sat til {url}." - enable-twitter-integration: "Aktiver forbindelsen til Twitter" - twitter-integration-consumer-key: "Brugernøgle" - twitter-integration-consumer-secret: "Brugerhemmelighed" - github-integration-config: "Indstillinger for forbindelse til GitHub" - github-integration-info: "Webadressen for callback er sat til {url}." - enable-github-integration: "Aktiver forbindelsen til GitHub" - github-integration-client-id: "Bruger ID" - github-integration-client-secret: "Brugerhemmelighed" - discord-integration-config: "Indstillinger for forbindelse til Discord" - discord-integration-info: "Webadressen for callback er sat til {url}." - enable-discord-integration: "Aktiver forbindelsen til Discord" - discord-integration-client-id: "Bruger ID" - discord-integration-client-secret: "Brugerhemmelighed" - proxy-account-config: "Indstillinger for proxy-konto" - proxy-account-info: "En proxy-konto kan følge en ekstern brugers aktivitet og hente data fra vedkommende. Når du tilføjer en ekstern bruger, som ikke følges af nogen på denne instans, til din liste, vil proxy-kontoen følge ham eller hende i stedet for dine følgere." - proxy-account-username: "Brugernavn for proxy konto" - proxy-account-username-desc: "Angiv brugernavnet på den konto, der bliver brugt som proxy." - proxy-account-warn: "Du er nødt til at oprette en konto med dette brugernavn først." - max-note-text-length: "Det højeste antal tegn pr. post" - disable-registration: "Deaktiver oprettelse af nye brugere" - disable-local-timeline: "Deaktiver den lokale tidslinje" - disable-global-timeline: "Deaktiver den globale tidslinje" - disabling-timelines-info: "Administratorer og redaktører kan stadig bruge en tidslinje, selv om den er deaktiveret." - enable-emoji-reaction: "Aktiver piktogram med reaktioner" - use-star-for-reaction-fallback: "Fald tilbage på en stjerne, hvis der kommer en ukendt reaktion." - invite: "Inviter" - save: "Gem" - saved: "Gemt" - pinned-users: "Fremhæv bruger" - pinned-users-info: "Angiv brugere, du vil fremhæve, adskilt af linjeskift." - email-config: "Indstillinger for email server" - email-config-info: "Bruges til bekræftelse af email adresse og nulstilling af adgangskode." - enable-email: "Aktiver levering af emails" - email: "Email adresse" - smtp-secure: "Brug implicit SSL / TLS til SMTP-forbindelsen" - smtp-secure-info: "Sluk STARTTLS, når du bruger den." - smtp-host: "SMTP vært" - smtp-port: "SMTP port" - smtp-auth: "Udfør autentifikation af SMTP" - smtp-user: "SMTP bruger" - smtp-pass: "SMTP adgangskode" - test-email: "Test" - serviceworker-config: "ServiceWorker" - enable-serviceworker: "Aktiver ServiceWorker" - serviceworker-info: "Skal være aktiveret for at give push notifikationer." - vapid-publickey: "Offentlig nøgle til VAPID" - vapid-privatekey: "Privat nøgle til VAPID" - vapid-info: "Hvis du vil aktivere ServiceWorker, skal du generere en VAPID-nøgle. Medmindre du har angivet den globale node_modules placering andetsteds, skal du køre den som root:" -admin/views/charts.vue: - title: "Graf" - per-day: "pr. dag" - per-hour: "pr. time" - federation: "Forening" - notes: "Poster" - users: "Brugere" - drive: "Drev" - network: "Netværk" - charts: - federation-instances: "Sæt antallet af instanser op eller ned" - federation-instances-total: "Antal instanser i alt" - notes: "Fremgang eller tilbagegang i antal poster (lokale + eksterne)" - local-notes: "Fremgang eller tilbagegang i antal poster (lokale)" - remote-notes: "Fremgang eller tilbagegang i antal poster (eksterne)" - notes-total: "Antal poster i alt" - users: "Fremgang eller tilbagegang i antal brugere" - users-total: "Antal brugere i alt" - active-users: "Aktive brugere" - drive: "Fremgang eller tilbagegang i brugen af drevet" - drive-total: "Forbrugt plads på drevet i alt" - drive-files: "Fremgang eller tilbagegang i antal filer på drevet" - drive-files-total: "Antal filer i alt på drevet" - network-requests: "Netværkskald" - network-time: "Svartid" - network-usage: "Trafik" -admin/views/drive.vue: - operation: "Drift" - fileid-or-url: "Fil ID eller webadresse" - file-not-found: "Filen kunne ikke findes" - lookup: "Forespørgsel" - sort: - title: "Sorter efter" - createdAtAsc: "Alder - ældste først" - createdAtDesc: "Alder - seneste først" - sizeAsc: "Størrelse - mindste først" - sizeDesc: "Størrelse - største først" - origin: - title: "Oprindelse" - combined: "Lokal + ekstern" - local: "Lokal" - remote: "Ekstern" - delete: "Slet" - deleted: "Slettet" - mark-as-sensitive: "Marker som 'følsom'" - unmark-as-sensitive: "Fjern markering som 'følsom'" - marked-as-sensitive: "Marker som 'følsom'" - unmarked-as-sensitive: "Fjern markering som 'følsom'" -admin/views/users.vue: - operation: "Drift" - username-or-userid: "Brugernavn eller bruger ID" - user-not-found: "Bruger kunne ikke findes" - lookup: "Opslag" - reset-password: "Nulstil adgangskode" - reset-password-confirm: "Er du sikker på, at du vil nulstille din adgangskode?" - password-updated: "Adgangskoden er nu \"{password}\"" - suspend: "Udeluk" - suspend-confirm: "Er du sikker på, at du vil udelukke denne konto?" - suspended: "Udelukket med succes" - unsuspend: "Annuller udelukkelse" - unsuspend-confirm: "Er du sikker på, at du vil annullere udelukkelsen på denne konto?" - unsuspended: "Brugerens udelukkelse er annulleret med succes" - make-silence: "Gør tavs" - silence-confirm: "Vil du gøre brugeren tavs?" - unmake-silence: "Vil du annullere, at brugeren er gjort tavs?" - unsilence-confirm: "Er du sikker på, at du vil omgøre, at brugeren er gjort tavs?" - update-remote-user: "Opdater informationen om den eksterne bruger" - remote-user-updated: "Informationen om den eksterne bruger er nu blevet opdateret." - delete-all-files: "Slet alle filer" - delete-all-files-confirm: "Er du sikker på, at alle filerne skal slettes?" - username: "Brugernavn" - host: "Vært" - users: - title: "Bruger" - sort: - title: "Sorter efter" - createdAtAsc: "Tidspunkt for oprettelse (ældste først)" - createdAtDesc: "Tidspunkt for oprettelse (seneste først)" - updatedAtAsc: "Tidspunkt for seneste opdatering (ældste først)" - updatedAtDesc: "Tidspunkt for seneste opdatering (seneste først)" - state: - title: "Sorter efter" - all: "Alle" - admin: "Administrator" - moderator: "Redaktører" - adminOrModerator: "Administrator/Redaktør" - silenced: "Brugeren er i forvejen gjort tavs" - suspended: "Udelukket" - origin: - title: "Oprindelse" - combined: "Lokal + Ekstern" - local: "Lokal" - remote: "Ekstern" - createdAt: "Oprettet den" - updatedAt: "Opdateret den" -admin/views/moderators.vue: - add-moderator: - title: "Opret redaktør" - add: "Opret" - added: "Redaktør er oprettet" - remove: "Fjern" - removed: "Redaktøren er nu fjernet" - logs: - title: "Logs" - moderator: "Redaktører" - type: "Drift" - info: "Information" -admin/views/emoji.vue: - add-emoji: - title: "Tilføj emoji" - name: "Navn på emoji" - name-desc: "Du kan bruge tegnene fra a til z, 0 til 9 og \"_\"" - aliases: "Aliasser" - aliases-desc: "Du kan tilføje flere med mellemrum imellem" - url: "Webadresse for billede" - add: "Tilføj" - info: "Vi anbefaler PNG billeder under 50 KB." - added: "Emoji er tilføjet" - emojis: - title: "Emojis" - update: "Opdatering" - remove: "Slet" - updated: "Opdateret" - remove-emoji: - are-you-sure: "Er du sikker på, at du vil slette \"$1\"?" - removed: "Slettet" -admin/views/announcements.vue: - announcements: "Annonceringer" - save: "Gem" - remove: "Slet" - add: "Tilføj" - title: "Titel" - text: "Indhold" - saved: "Gemt" - _remove: - are-you-sure: "Er du sikker på, at du vil slette \"$1\"?" - removed: "Slettet" -admin/views/hashtags.vue: - hided-tags: "Skjulte tags" -admin/views/federation.vue: - instance: "Instans" - host: "Vært" - notes: "Poster" - users: "Brugere" - following: "Følger" - followers: "Følgere" - caught-at: "Oprettet den" - status: "Status" - latest-request-sent-at: "Tidspunkt for afsendelse af seneste forespørgsel" - latest-request-received-at: "Seneste forespørgsel blev modtaget den" - remove-all-following: "Annuller alle følgere" - remove-all-following-info: "Annuller alle konti fra værten {host}. Udføres når værten ikke længere eksisterer." - delete-all-files: "Slet alle filer" - block: "Bloker" - marked-as-closed: "Marker som lukket" - lookup: "Opslag" - instances: "Forenede" - instance-not-registered: "Instansen kan ikke findes" - sort: "Sorter efter" - sorts: - caughtAtAsc: "Tidspunkt for oprettelse (ældste først)" - caughtAtDesc: "Tidspunkt for oprettelse (seneste først)" - lastCommunicatedAtAsc: "Tidspunktet for den tidligere interaktion" - lastCommunicatedAtDesc: "Tidspunktet for den senere interaktion" - notesAsc: "Poster (mindste først)" - notesDesc: "Poster (største først)" - usersAsc: "Antal brugere (færrest først)" - usersDesc: "Antal brugere (flest først)" - followingAsc: "Antal følgere (færrest først)" - followingDesc: "Antal følgere (flest først)" - followersAsc: "Antal følgere (færrest først)" - followersDesc: "Antal følgere (flest først)" - driveUsageAsc: "Diskforbrug (mindst først)" - driveUsageDesc: "Diskforbrug (størst først)" - driveFilesAsc: "Antal filer på drev (færrest først)" - driveFilesDesc: "Antal filer på drev (flest først)" - state: "Sorter efter" - states: - all: "Alle" - blocked: "Bloker" - not-responding: "Uden svar" - marked-as-closed: "Markeret som lukkede" - result-is-truncated: "Vis de øverste {n} elementer." - charts: "Graf" - chart-srcs: - requests: "Netværkskald" - users: "Fremgang eller tilbagegang i antal brugere" - users-total: "Antal brugere i alt" - notes: "Sæt antallet af poster op eller ned" - notes-total: "Antal poster i alt" - ff: "Stigning i antal følgere" - ff-total: "Det samlede antal følgere" - drive-usage: "Fremgang eller tilbagegang i brugen af drevet" - drive-usage-total: "Forbrugt plads på drevet i alt" - drive-files: "Sæt antallet af filer på drevet op eller ned" - drive-files-total: "Samlet antal filer på drev" - chart-spans: - hour: "pr. time" - day: "pr. dag" - blocked-hosts: "Bloker" - blocked-hosts-info: "Beskrivelse af værterne du vil blokere, adskilt af linjeskift." - save: "Gem" -desktop/views/pages/welcome.vue: - about: "Mere info..." - timeline: "Tidslinje" - announcements: "Annonceringer" - photos: "Seneste billeder" - powered-by-misskey: "Leveret af Misskey." - info: "Information" -desktop/views/pages/drive.vue: - title: "Misskey drev" -desktop/views/pages/note.vue: - prev: "Forrige post" - next: "Næste post" -desktop/views/pages/selectdrive.vue: - title: "Vælg fil(er)" - ok: "OK" - cancel: "Annuller" - upload: "Overfør filer fra din enhed" -desktop/views/pages/search.vue: - not-available: "Søgefunktionen er deaktiverede i indstillingerne for denne instans." - not-found: "Ingen poster fundet for \"{q}\"" -desktop/views/pages/tag.vue: - no-posts-found: "Ingen poster fundet med \"{q}\"." -desktop/views/pages/user-list.users.vue: - users: "Bruger" - add-user: "Tilføj en bruger" - username: "Brugernavn" -desktop/views/pages/user/user.followers-you-know.vue: - title: "Følgere som du måske kender" - loading: "Henter" - no-users: "Ingen følgere du kender" -desktop/views/pages/user/user.friends.vue: - title: "Hyppige omtaler" - loading: "Henter" - no-users: "Ingen hyppige omtaler" -desktop/views/pages/user/user.photos.vue: - title: "Billeder" - loading: "Henter" - no-photos: "Ingen billeder" -desktop/views/pages/user/user.header.vue: - posts: "Poster" - following: "Følger" - followers: "Følgere" - is-bot: "Denne konto er en bot" - no-description: "Ingen brugerbeskrivelse" - years-old: "{age} år" - year: "-" - month: "Man" - day: "Søn" - follows-you: "Følger dig" -desktop/views/pages/user/user.timeline.vue: - default: "Poster" - with-replies: "Poster og svar" - with-media: "Medier" - my-posts: "Mine poster" -desktop/views/widgets/notifications.vue: - title: "Notifikationer" -desktop/views/widgets/polls.vue: - title: "Afstemninger" - refresh: "Genopfrisk" - nothing: "Der er ingen notifikationer!" -desktop/views/widgets/post-form.vue: - title: "Post" - note: "Post" - something-happened: "Kunne af uvisse årsager ikke postes" -desktop/views/widgets/profile.vue: - update-banner: "Klik for at redigere dit banner" - update-avatar: "Klik for at redigere din avatar" -desktop/views/widgets/trends.vue: - title: "Tendenser" - refresh: "Genopfrisk" - nothing: "Der er ingen notifikationer!" -desktop/views/widgets/users.vue: - title: "Anbefalede brugere" - refresh: "Genopfrisk" - no-one: "Hvad synes du?" -mobile/views/components/drive.vue: - used: "I brug" - folder-count: "Mappe(r)" - count-separator: "," - file-count: "Fil(er)" - nothing-in-drive: "Der er ikke gemt noget" - folder-is-empty: "Denne mappe er tom" - folder-name: "Mappenavn" - here-is-root: "Lige nu befinder du dig i bunden - ikke i en mappe." - url-prompt: "Webadresse på filen, som du vil overføre" - uploading: "Overførslen er sat i gang. Det kan tage et stykke tid." - folder-name-cannot-empty: "Et mappe er nødt til at have et navn" -mobile/views/components/drive-file-chooser.vue: - select-file: "Vælg fil" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "Vælg mappe" -mobile/views/components/drive.file.vue: - nsfw: "Indholdet er Upassende På Jobbet" -mobile/views/components/drive.file-detail.vue: - download: "Download" - rename: "Omdøb" - move: "Flyt" - hash: "Hashtag (md5)" - exif: "EXIF" - nsfw: "Indholdet er Upassende På Jobbet" - mark-as-sensitive: "Marker som 'følsom'" - unmark-as-sensitive: "Fjern markering som 'følsom'" -mobile/views/components/media-video.vue: - sensitive: "Indholdet er Upassende På Jobbet" - click-to-show: "Klik for at vise" -common/views/components/follow-button.vue: - following: "Følger" - follow: "Følger" - request-pending: "Ventende anmodninger om at blive følger" - follow-processing: "Anmoder om behandling" - follow-request: "Anmodninger om at blive følger" -mobile/views/components/note.vue: - private: "Posten er privat" - deleted: "Posten er blevet fjernet" - location: "Placering" -mobile/views/components/note-detail.vue: - reply: "Svar" - reaction: "Reaktion" - private: "Posten er privat" - deleted: "Posten er blevet fjernet" - location: "Placering" -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "cat" -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "cat" -mobile/views/components/notifications.vue: - empty: "Der er ingen notifikationer!" -mobile/views/components/sub-note-content.vue: - private: "Posten er privat" - deleted: "Posten er blevet fjernet" - media-count: "{} medie(r) er vedhæftet" - poll: "Afstemninger" -mobile/views/components/ui.header.vue: - welcome-back: "Velkommen tilbage!" - adjective: "Hr." -mobile/views/components/ui.nav.vue: - timeline: "Tidslinje" - notifications: "Notifikationer" - follow-requests: "Anmodninger om at blive følger" - search: "Søg" - user-lists: "Lister" - user-groups: "Gruppe" - widgets: "Widgets" - game: "Spil" - admin: "Administration" - about: "Om" -mobile/views/pages/drive.vue: - contextmenu: - upload: "Overfør en fil" - url-upload: "Overfør fil fra webadresse" - create-folder: "Opret en mappe" - rename-folder: "Omdøb mappe" - move-folder: "Flyt denne mappe" - delete-folder: "Slet denne mappe" -mobile/views/pages/signup.vue: - lets-start: "Din konto er nu klar! 📦" -mobile/views/pages/followers.vue: - followers-of: "{name}s følgere" -mobile/views/pages/following.vue: - following-of: "{name}s følger" -mobile/views/pages/home.vue: - home: "Startside" - local: "Lokal" - hybrid: "Social" - global: "Global" - mentions: "Omtaler" - messages: "Direkte poster" -mobile/views/pages/tag.vue: - no-posts-found: "Ingen poster fundet med \"{q}\"." -mobile/views/pages/widgets.vue: - dashboard: "Kontrolpanel" - widgets-hints: "Du kan tilføje / slette / flytte rundt på widgets. For at flytte widgeten skal du trække “三”. Klik på \"×\" for at slette widgeten. Nogle widgets kan tilpasses direkte ved at klikke på dem." - add-widget: "Tilføj" - customization-tips: "Tips om tilpasning" -mobile/views/pages/widgets/activity.vue: - activity: "Aktivitet" -mobile/views/pages/share.vue: - share-with: "Del med {name}" -mobile/views/pages/note.vue: - title: "Post" - prev: "Forrige post" - next: "Næste post" -mobile/views/pages/games/reversi.vue: - reversi: "Reversi" -mobile/views/pages/search.vue: - search: "Søg" - not-found: "Ingen poster fundet for \"{q}\"" -mobile/views/pages/selectdrive.vue: - select-file: "Vælg fil(er)" -mobile/views/pages/notifications.vue: - notifications: "Notifikationer" -mobile/views/pages/settings.vue: - signed-in-as: "Logget ind som {}" -mobile/views/pages/user.vue: - follows-you: "Følger dig" - following: "Følger" - followers: "Følgere" - notes: "Poster" - overview: "Oversigt" - timeline: "Tidslinje" - media: "Medier" - years-old: "{age} år" -mobile/views/pages/user/home.vue: - recent-notes: "Seneste poster" - images: "Billeder" - activity: "Aktivitet" - keywords: "Nøgleord" - domains: "Domæner" - frequently-replied-users: "Hyppige omtaler" - followers-you-know: "Følgere som du måske kender" - last-used-at: "Senest aktiv:" -mobile/views/pages/user/home.photos.vue: - no-photos: "Ingen billeder" -deck: - widgets: "Widgets" - home: "Startside" - local: "Lokal" - hybrid: "Social" - hashtag: "Hashtags" - global: "Global" - mentions: "Omtaler" - direct: "Direkte poster" - notifications: "Notifikationer" - list: "Lister" - select-list: "Vælg liste" - swap-left: "Flyt til venstre" - swap-right: "Flyt til højre" - swap-up: "Flyt op" - swap-down: "Flyt ned" - remove: "Fjern" - add-column: "Tilføj en kolonne" - rename: "Omdøb" - stack-left: "Fold sammen til venstre" - pop-right: "Parker til højre" - disabled-timeline: - title: "Tidslinjen er deaktiveret" - description: "Tidslinjen er deaktiveret af serverens administrator" -deck/deck.tl-column.vue: - is-media-only: "Poster med medieindhold" - edit: "Valgmuligheder" -deck/deck.user-column.vue: - follows-you: "Følger dig" - posts: "Poster" - following: "Følger" - followers: "Følgere" - images: "Billeder" - activity: "Aktivitet" - timeline: "Tidslinje" - pinned-notes: "Fremhævede poster" -docs: - edit-this-page-on-github: "Har du fundet en fejl, eller ønsker at bidrage til dokumentationen?" - edit-this-page-on-github-link: "Rediger denne side på GitHub" -dev/views/index.vue: - manage-apps: "Administrer apps" -dev/views/apps.vue: - manage-apps: "Administrer apps" - create-app: "Opret app" - app-missing: "Ingen apps" -dev/views/new-app.vue: - new-app: "Ny app" - new-app-info: "Du kan også oprette en app fra API'en. (app / opret)" - create-app: "Opretter app" - app-name: "Navn på app" - app-name-placeholder: "F.eks. Misskey for iOS" -pages: - pin-this-page: "Tilknyt til din profil" - unpin-this-page: "Fjern tilknytning til din profil" - like: "Synes om" - title: "Titel" - blocks: - section: "Sektion" - image: "Billeder" - button: "Knap" - if: "Hvis" - _if: - variable: "Variabel" - post: "Post formular" - _post: - text: "Indhold" - textInput: "Indtastet tekst" - _textInput: - name: "Variabel navn" - text: "Titel" - default: "Standard værdi" - textareaInput: "Tekst med flere linjer" - _textareaInput: - name: "Variabel navn" - text: "Titel" - default: "Standard værdi" - numberInput: "Indtastet tal" - _numberInput: - name: "Variabel navn" - text: "Titel" - default: "Standard værdi" - switch: "Kontakt" - _switch: - name: "Variabel navn" - text: "Titel" - default: "Standard værdi" - counter: "Tæller" - _counter: - name: "Variabel navn" - text: "Titel" - inc: "Forhøj tallet med en" - _button: - text: "Titel" - action: "Handling når der trykkes på knappen" - _action: - dialog: "Vis dialogboks" - _dialog: - content: "Indhold" - resetRandom: "Nulstil tilfældigt tal" - _radioButton: - name: "Variabel navn" - title: "Titel" - default: "Standard værdi" - script: - categories: - flow: "Kontrol" - logical: "Logisk handling" - operation: "Eksekver" - comparison: "Sammenlign" - random: "Tilfældig" - value: "Værdi" - fn: "Funktion" - text: "Tekstmanipulation" - convert: "Konverter" - list: "Lister" - blocks: - text: "Text" - multiLineText: "Tekst med linjeskift" - textList: "Punktliste" - _textList: - info: "Brug linjeskift til at adskille linjerne" - strLen: "Længde af tekststrengen" - _strLen: - arg1: "Tekst" - strPick: "Udtræk et tegn" - _strPick: - arg1: "Text" - arg2: "Tegnets position" - strReplace: "Erstat tekststreng(e)" - _strReplace: - arg1: "Tekst" - arg2: "Før søg-og-erstat" - arg3: "Efter søg-og-erstat" - strReverse: "Vend teksten rundt" - _strReverse: - arg1: "Tekst" - join: "Sammenflet tekst" - _join: - arg1: "Lister" - arg2: "Skilletegn" - add: "+ Plus" - _add: - arg1: "A" - arg2: "B" - subtract: "- Minus" - _subtract: - arg1: "A" - arg2: "B" - multiply: "× Multiplicer" - _multiply: - arg1: "A" - arg2: "B" - divide: "÷ Divider" - _divide: - arg1: "A" - arg2: "B" - _mod: - arg1: "A" - arg2: "B" - _round: - arg1: "Tal" - eq: "A og B er ens" - _eq: - arg1: "A" - arg2: "B" - notEq: "A og B er forskellige" - _notEq: - arg1: "A" - arg2: "B" - and: "A og B" - _and: - arg1: "A" - arg2: "B" - or: "A eller B" - _or: - arg1: "A" - arg2: "B" - lt: "A er mindre end B" - _lt: - arg1: "A" - arg2: "B" - gt: "A er større end B" - _gt: - arg1: "A" - arg2: "B" - ltEq: "A er mindre end eller lig med B" - _ltEq: - arg1: "A" - arg2: "B" - gtEq: "A er større end eller lig med B" - _gtEq: - arg1: "A" - arg2: "B" - if: "Branch" - _if: - arg1: "Hvis" - arg2: "så" - arg3: "ellers" - not: "negation" - _not: - arg1: "negation" - random: "Tilfældig" - _random: - arg1: "Sandsynlighed" - rannum: "Tilfældigt tal" - _rannum: - arg1: "Minimum" - arg2: "Maximum" - randomPick: "Vælg tilfældig fra listen" - _randomPick: - arg1: "Lister" - dailyRandom: "Tilfældigt (pr. bruger pr. dag)" - _dailyRandom: - arg1: "Sandsynlighed" - dailyRannum: "Tilfældigt antal (pr. bruger pr. dag)" - _dailyRannum: - arg1: "Minimum" - arg2: "Maximum" - dailyRandomPick: "Tilfældigt valgt fra listen (pr. bruger pr. dag)" - _dailyRandomPick: - arg1: "Lister" - seedRandom: "Tilfældig (frø)" - _seedRandom: - arg1: "Frø" - arg2: "Sandsynlighed" - seedRannum: "Tilfældigt antal (frø)" - _seedRannum: - arg1: "Frø" - arg2: "Minimum" - arg3: "Maximum" - seedRandomPick: "Vælg tilfældigt (frø) fra listen" - _seedRandomPick: - arg1: "Frø" - arg2: "Lister" - DRPWPM: "Tilfældigt valgt fra sandsynlighedslisten (pr. bruger pr. dag)" - _DRPWPM: - arg1: "Punktliste" - pick: "Vælg fra listen" - _pick: - arg1: "Lister" - arg2: "Position" - _listLen: - arg1: "Lister" - number: "Tal" - stringToNumber: "Tekst til tal" - _stringToNumber: - arg1: "Tekst" - numberToString: "Tal til tekst" - _numberToString: - arg1: "Tal" - splitStrByLine: "Del teksten op i linjer" - _splitStrByLine: - arg1: "Tekst" - ref: "Variabel" - fn: "Funktion" - _fn: - slots: "Slot-funktion" - slots-info: "Brug linjeskift til at adskille slot-funktionerne" - arg1: "Output" - for: "Gentag" - _for: - arg1: "Antal gange" - arg2: "Proces" - typeError: "Slot-funktionen {slot} skal gennemløbe i \"{expect}\", men den faktiske indtastning er \"{actual}\"!" - thereIsEmptySlot: "Slot-funktionen {slot} er tom!" - types: - string: "Tekst" - number: "Tal" - boolean: "Sand/falsk" - array: "Lister" - stringArray: "Punktliste" - emptySlot: "Tomt slot" - enviromentVariables: "Miljø variabel" - pageVariables: "Side element" - argVariables: "Input slot" -room: - translate: "Flyt" - save: "Gem" - saved: "Gemt" - furnitures: - moon: "Måne" - bin: "Skraldespand" diff --git a/locales/de-DE.yml b/locales/de-DE.yml deleted file mode 100644 index db3daf524..000000000 --- a/locales/de-DE.yml +++ /dev/null @@ -1,954 +0,0 @@ ---- -meta: - lang: "Deutsch" -common: - misskey: "Ein ⭐ des Fediversums" - about-title: "Ein ⭐ des Fediversums." - about: "Danke, dass Du Misskey gefunden hast. Misskey ist eine dezentralisierte Microblogging-Plattform, welche auf der ganzen Welt verteilt ist. Da es innerhalb es Fediversums existiert (ein Universum, in dem verschiedene Soziale Netzwerke organisiert sind), ist es unmittelbar mit anderen sozialen Netzwerken verbunden. Warum nimmst du dir nicht einmal eine Auszeit von dem Trubel der Stadt und tauchst in das neue Internet hinein?" - intro: - title: "Was ist Misskey?" - about: "Misskey ist eine Quelloffene, dezentralisierte microblogging Software. Es bietet eine erweiterbare Benutzeroberfläche, verschiedenste Möglichkeiten auf Beiträge zu reagieren, kostenlosen Datenspeicher, und andere fortschrittliche Funktionen. Zusätzlich ist Misskey dazu in der Lage, sich mittels des Fediverse mit beliebig vielen anderen ActivityPub-kompatiblen Diensten zu verbinden. Wenn du zum Beispiel einen Betrag mit Misskey abschickst, wird dieser auch für Nutzer von Mastodon oder Pleroma sichtbar sein. So ähnlich wie eine Radioübertragung zwischen Planeten." - features: "Funktionen" - rich-contents: "Notizen" - rich-contents-desc: "Poste einfach deine Ideen, Interessen und alles, was du teilen möchtest. Gestalte deine Nachrichten, teile deine Lieblingsbilder, sende Dateien und Videos und erstelle Umfragen – das und mehr kann Misskey!" - reaction: "Reaktionen" - reaction-desc: "Der einfachste Weg, deine Gefühle mit anderen zu teilen. Mit Misskey kannst du auf verschiedenste Arten auf Beiträge reagieren, statt nur zu „liken“." - ui: "Benutzeroberfläche" - ui-desc: "Geschmäcker sind verschieden. Deswegen ist Misskeys Oberfläche hochanpassbar und modular. Mache die Startseite zu deiner Startseite, indem du das Layout deiner Timeline änderst und mit Widgets staffierst." - drive: "Drive" - drive-desc: "Du willst ein hochgeladenes Foto nochmal posten? Deine Dateien benennen und in Ordnern sortieren? Misskeys Drive ist der beste Ort dafür. Damit wird das Teilen zum Kinderspiel!" - outro: "Probiere Misskey aus und entdecke Misskeys einzigartige Funktionen. Wenn dir diese Instanz nicht zusagt, nimm einfach eine andere. Dank Misskeys dezentralem System kannst du dich überall mit deinen Freunden verbinden. Also dann, GLHF!" - application-authorization: "Autorisierte Anwendungen" - close: "Schließen" - do-not-copy-paste: "Bitte keinen Code einfügen. Ihr Account könnte gefährdet werden." - load-more: "Mehr laden" - enter-password: "Bitte Passwort eingeben" - 2fa: "Zwei-Faktor-Authentifizierung" - customize-home: "Layout Anpassen" - featured-notes: "Beliebt" - dark-mode: "Dunkler Modus" - signin: "Einloggen" - signup: "Registrieren" - signout: "Ausloggen" - reload-to-apply-the-setting: "Die Seite muss zum Übernehmen dieser Einstellung aktualisiert werden. Soll die Seite jetzt neu geladen werden?" - fetching-as-ap-object: "Hole Daten…" - delete-confirm: "Diesen Beitrag löschen?" - notification-types: - reply: "Antworten" - renote: "Anmerkung" - got-it: "Verstanden!" - customization-tips: - title: "Anpassung-Tipps" - paragraph: "

Du kannst deine Startseite anpassen, indem du Widgets hinzufügst und verschiebst.

Klicke rechts auf ein Widget, um dessen Aussehen zu verändern.

Um ein Widget zu löschen, klicke und ziehe es auf den Papierkorb am Kopfende der Seite.

Wenn du fertig bist, drücke auf den Beenden-Knopf oben rechts.

" - gotit: "Verstanden!" - notification: - file-uploaded: "Datei hochgeladen!" - message-from: "Nachricht von {}:" - reversi-invited: "Zu einem Spiel eingeladen" - reversi-invited-by: "Eingeladen von {}:" - notified-by: "Benachrichtigt von {}:" - reply-from: "Antwort von {}:" - quoted-by: "Zitiert von {}:" - time: - unknown: "Unbekannt" - future: "Zukunft" - just_now: "Gerade eben" - seconds_ago: "vor {} Sekunde(n)" - minutes_ago: "vor {} Minute(n)" - hours_ago: "vor {} Stunde(n)" - days_ago: "vor {} Tag(en)" - weeks_ago: "vor {} Woche(n)" - months_ago: "vor {} Monat(en)" - years_ago: "vor {} Jahr(en)" - month-and-day: "{day}/{month}" - trash: "Papierkorb" - drive: "Drive" - pages: "Seite" - messaging: "Unterhaltungen" - home: "Home" - deck: "Deck" - timeline: "Zeitleiste" - explore: "Entdecken" - following: "Folgt" - followers: "Folgende" - favorites: "Favoriten" - permissions: - "read:account": "Accountinformationen anzeigen." - "write:account": "Accountinformationen bearbeiten." - "read:blocks": "Blöcke anzeigen" - "write:blocks": "Auf Sperrungen zugreifen" - "read:drive": "Dateien anzeigen" - "write:drive": "Dateien bearbeiten" - "read:favorites": "Favoriten anzeigen" - "write:favorites": "Auf Favoriten zugreifen" - "read:following": "Follower-Daten lesen" - "write:following": "Folgestatus bearbeiten" - "read:messaging": "Unterhaltung anzeigen" - "write:messaging": "Unterhaltung bearbeiten" - "read:mutes": "Stummschaltungen lesen" - "write:mutes": "Stummschaltungen bearbeiten" - "write:notes": "Beiträge löschen und verfassen" - "read:notifications": "Benachrichtigungen lesen" - "write:notifications": "Benachrichtigungen bearbeiten" - "read:reactions": "Reaktionen sehen" - "write:reactions": "Reaktionen hinzufügen und bearbeiten" - "write:votes": "Abstimmen" - empty-timeline-info: - follow-users-to-make-your-timeline: "Beiträge von Benutzern, denen du folgst, werden in der Zeitleiste angezeigt." - explore: "Benutzer finden" - post-form: - reply: "Antworten" - renote: "Anmerkung" - enter-username: "Bitte gib einen Benutzernamen ein" - username-prompt: "Bitte gib einen Benutzernamen ein" - weekday-short: - sunday: "So" - monday: "Mo" - tuesday: "Di" - wednesday: "Mi" - thursday: "Do" - friday: "Fr" - saturday: "Sa" - weekday: - sunday: "Sonntag" - monday: "Montag" - tuesday: "Dienstag" - wednesday: "Mittwoch" - thursday: "Donnerstag" - friday: "Freitag" - saturday: "Samstag" - reactions: - like: "Gefällt mir" - love: "Lieben" - laugh: "Lachen" - hmm: "Hmm...?" - surprise: "Wow" - congrats: "Glückwunsch!" - angry: "Wütend" - confused: "Verwirrt" - rip: "RIP" - pudding: "Pudding" - note-visibility: - public: "Öffentlich" - home: "Startseite" - home-desc: "Auf die Startseite posten" - followers: "Abonnenten" - followers-desc: "Nur für diejenigen sichtbar, die dir folgen" - specified: "Direkt" - specified-desc: "Nur für bestimmte Benutzer sichtbar" - local-public: "Öffentlich (nur lokal)" - local-home: "Home (nur lokal)" - local-followers: "Follower (nur lokal)" - note-placeholders: - a: "Was machst du gerade?" - b: "Was ist so passiert?" - c: "Was geht dir durch den Kopf?" - d: "Willst du etwas sagen?" - e: "Schreib hier etwas!" - f: "Warte darauf, das du schreibst..." - settings: "Einstellungen" - _settings: - profile: "Dein Profil" - notification: "Benachrichtigungen" - apps: "Anwendungen" - tags: "Hashtags" - mute-and-block: "Stummschalten/Blocken" - blocking: "Blocken" - security: "Sicherheit" - signin: "Login-Verlauf" - password: "Passwort" - other: "Mehr" - appearance: "Designs" - behavior: "Verhalten" - fetch-on-scroll: "Unendliches laden beim scrollen" - fetch-on-scroll-desc: "Wenn beim scrollen das Ende erreicht wird, lädt die Anwendung automatisch neue Inhalte nach." - note-visibility: "Sichtbarkeit von Beiträgen" - default-note-visibility: "Die Standardsichtbarkeit" - remember-note-visibility: "Erinnerung an Sichtbarkeit von Beiträgen" - web-search-engine: "Web-Suchmaschine" - web-search-engine-desc: "Beispiel: https://www.google.de/search?q={{query}}" - keep-cw: "Inhaltswarnung beibehalten" - keep-cw-desc: "Wenn auf einen Beitrag geantwortet wird, wird die Inhaltswarnung des Originalbeitrags übernommen." - i-like-sushi: "Ich bevorzuge Sushi anstelle von Pudding" - show-reversi-board-labels: "Zeige Reihen- und Spaltenbeschreibungen in Reversi an" - use-avatar-reversi-stones: "Avatar als Stein in Reversi anzeigen" - disable-animated-mfm: "Animierten Text in Beiträgen deaktivieren" - disable-showing-animated-images: "Animierte Grafiken deaktivieren" - suggest-recent-hashtags: "Beim Verfassen von Beiträgen letzte Hashtags anzeigen" - always-show-nsfw: "Sensible Inhalte (NSFW) immer anzeigen" - always-mark-nsfw: "Meine Anhänge immer als NSFW markieren" - show-full-acct: "Servername bei Benutzernamen immer anzeigen" - show-via: "„via“ anzeigen" - reduce-motion: "Animationen der Benutzeroberfläche reduzieren" - this-setting-is-this-device-only: "Nur auf diesem Gerät" - use-os-default-emojis: "Betriebssystem-Emojis nutzen" - line-width: "Linienstärke" - line-width-thin: "Dünn" - line-width-normal: "Normal" - line-width-thick: "Dick" - font-size: "Schriftgröße" - font-size-x-small: "Sehr klein" - font-size-small: "Klein" - font-size-medium: "Normal" - font-size-large: "Groß" - font-size-x-large: "Sehr groß" - deck-column-align: "Spaltenaufteilung der Deck-Ansicht" - deck-column-align-center: "Mitte" - deck-column-align-left: "Links" - deck-column-align-flexible: "Flexibel" - deck-column-width: "Spaltenbreite des Decks" - deck-column-width-narrow: "Sehr eng" - deck-column-width-narrower: "Eng" - deck-column-width-normal: "Normal" - deck-column-width-wider: "Breit" - deck-column-width-wide: "Sehr breit" - use-shadow: "Nutze Schatten" - rounded-corners: "Abgerundete Ecken" - circle-icons: "Kreisförmige Avatar" - contrasted-acct: "Nutzernamen kontrastreicher darstellen" - wallpaper: "Hintergrund" - choose-wallpaper: "Hintergrund auswählen" - delete-wallpaper: "Hintergrund entfernen" - post-form-on-timeline: "Beitragsformular über Timeline anzeigen" - show-clock-on-header: "Uhr am oberen rechten Rand anzeigen" - show-reply-target: "Zeige bei einer Antwort die ursprüngliche Nachricht" - timeline: "Timeline" - show-my-renotes: "Zeige eigene Renotes in der Timeline" - show-renoted-my-notes: "Zeige Renotes deiner Posts in der Timeline" - show-local-renotes: "Zeige Renotes lokaler Posts in der Timeline" - remain-deleted-note: "Gelöschte Beiträge weiterhin anzeigen" - sound: "Töne" - enable-sounds: "Töne aktivieren" - enable-sounds-desc: "Spiel einen Ton ab beim Erhalten eines Beitrags bzw. einer Nachricht. Diese Einstellung wird im Browser gespeichert." - volume: "Lautstärke" - test: "Test" - update: "Misskey-Update" - version: "Version:" - latest-version: "Neuste Version:" - update-checking: "Suche nach Updates" - do-update: "Nach Updates suchen" - update-settings: "Erweiterte Einstellungen" - no-updates: "Kein Update verfügbar" - no-updates-desc: "Misskey ist aktuell." - update-available: "Eine neue Version ist verfügbar!" - update-available-desc: "Änderungen werden beim Neuladen der Seite angewendet." - advanced-settings: "Erweiterte Einstellungen" - debug-mode: "Debug-Modus einschalten" - debug-mode-desc: "Diese Einstellung wird im Browser gespeichert." - navbar-position: "Postion der Navigationsleiste" - navbar-position-top: "Oben" - navbar-position-left: "Links" - navbar-position-right: "Rechts" - i-am-under-limited-internet: "Ich möchte Datenvolumen sparen" - post-style: "Beitrags-Anzeigestil" - post-style-standard: "Standard" - post-style-smart: "Smart" - notification-position: "Benachrichtigungen anzeigen" - notification-position-bottom: "Unten" - notification-position-top: "Oben" - disable-via-mobile: "Beitrag nicht als „vom Handy“ markieren" - load-raw-images: "Anhänge in voller Größe laden" - load-remote-media: "Zeige Inhalte von fremden Servern" - save: "Speichern" - saved: "Gespeichert" - preview: "Vorschau" - search: "Suche" - delete: "Löschen" - loading: "Laden" - ok: "Okay" - cancel: "Abbrechen" - update-available-title: "Aktualisierung verfügbar" - update-available: "Eine neue Version von Misskey ist verfügbar ({newer}, aktuell ist {current}). Lade die Seite neu um die aktuelle Version zu laden" - my-token-regenerated: "Dein Token wurde generiert. Du wirst jetzt abgemeldet." - hide-password: "Passwort verbergen" - show-password: "Passwort zeigen" - enter-username: "Kontonamen eingeben" - do-not-use-in-production: "Dies ist eine Entwicklungsversion. Nicht in einer Produktivumgebung verwenden." - user-suspended: "Dieser Nutzer wurde gesperrt." - is-remote-user: "Diese Nutzerinformationen können unvollständig sein." - is-remote-post: "Dies ist ein entfernter Post." - view-on-remote: "Vollständige Infos auf Ursprungsserver anzeigen" - renoted-by: "Renote von {user}" - no-notes: "Keine Beiträge" - turn-on-darkmode: "Dunkles Design" - turn-off-darkmode: "Helles Design" - error: - title: "Allgemeiner Fehler" - retry: "Erneut versuchen" - reversi: - drawn: "Unentschieden" - my-turn: "Du bist am Zug" - opponent-turn: "Dein Gegner ist an der Reihe" - turn-of: "{name}s Zug" - past-turn-of: "Zug von {name}" - won: "{name} hat gewonnen" - black: "Schwarz" - white: "Weiß" - total: "Gesamt" - this-turn: "{count}. Zug" - widgets: - analog-clock: "Analoge Uhr" - profile: "Profil" - calendar: "Kalender" - timemachine: "Kalender (Zeitmaschine)" - activity: "Aktivitäten" - rss: "RSS Leser" - memo: "Notizen" - trends: "Trends" - photo-stream: "Bilder" - posts-monitor: "Beitrags-Aktivität" - slideshow: "Diashow" - version: "Version" - broadcast: "Ankündigungen" - notifications: "Benachrichtigungen" - users: "Empfohlene Benutzer" - polls: "Umfrage" - post-form: "\"Neuer Beitrag\"-Formular" - server: "Server-Info" - nav: "Navigation" - tips: "Tipps" - hashtags: "Hashtags" - queue: "Warteschlange" - dev: "Fehler beim Erstellen der Applikation. Bitte versuche es erneut." - ai-chan-kawaii: "Ai-chan kawaii!" - you: "Du" -auth/views/form.vue: - share-access: "Erlaubst Du {name} auf deinen Account zuzugreifen?" - permission-ask: "Diese Applikation benötigt folgende Berechtigungen:" - cancel: "Abbrechen" - accept: "Zugriff erlauben." -auth/views/index.vue: - loading: "Lädt" - denied: "Autorisierung der Anwendung wurde verweigert." - denied-paragraph: "Diese App kann nicht auf deinen Account zugreifen." - already-authorized: "Diese Anwendung ist bereits autorisiert." - allowed: "Autorisierung der Anwendung wurde erlaubt." - callback-url: "Zur App zurückkehren" - please-go-back: "Bitte gehe zurück zur Anwendung." - error: "Sitzung ist nicht vorhanden." - sign-in: "Bitte melde dich an." -common/views/pages/explore.vue: - pinned-users: "Vorgeschlagen" - popular-users: "Beliebt" - recently-updated-users: "Kürzlich aktiv" - recently-registered-users: "Neue Benutzer" - popular-tags: "Beliebte Tags" - federated: "Aus dem Fediverse" - explore: "{host} erkunden" - users-info: "Momentan sind {users} Nutzer hier registriert" -common/views/components/url-preview.vue: - enable-player: "Player öffnen" - disable-player: "Player schließen" -common/views/components/user-list.vue: - no-users: "Keine Benutzer" -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "Warten auf {}" - cancel: "Abbrechen" -common/views/components/games/reversi/reversi.game.vue: - surrender: "Aufgeben" - surrendered: "durch Aufgabe" - is-llotheo: "Der niedrigere gewinnt (Llotheo)" - looped-map: "Spielbrettenden verbinden" - can-put-everywhere: "Setzen ist überall erlaubt" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "Spiele Reversi mit deinen Freunden!" - invite: "Einladen" - rule: "Spielanleitung" - mode-invite: "Einladen" - all-games: "Alle Spiele" - enter-username: "Bitte gib einen Benutzernamen ein" - game-state: - ended: "Fertig" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "Spieleinstellungen" - choose-map: "Wähle eine Karte" - random: "Zufällige Auswahl" - black-or-white: "Schwarz/Weiß" - black-is: "Schwarz ist {}" - rules: "Regeln" - is-llotheo: "Der niedrigere gewinnt (Llotheo)" - looped-map: "Spielbrettenden verbinden" - can-put-everywhere: "Setzen ist überall erlaubt" - settings-of-the-bot: "Bot-Einstellungen" - this-game-is-started-soon: "Spiel beginnt gleich" - waiting-for-other: "Warte auf den Gegner" - waiting-for-me: "Warten, bis du bereit bist" - waiting-for-both: "Vorbereiten…" - cancel: "Abbrechen" - ready: "Bereit" -common/views/components/connect-failed.vue: - title: "Verbindung zum Server ist fehlgeschlagen" - description: "Entweder gibt es ein Problem mit deiner Internetverbindung oder der Server ist zur Zeit nicht erreichbar oder wird gewartet. Bitte versuche es später noch einmal." - thanks: "Vielen Dank für das nutzen von Misskey." - troubleshoot: "Problembehandlung" -common/views/components/connect-failed.troubleshooter.vue: - title: "Problembehandlung" - network: "Netzwerkverbindung" - checking-network: "Prüfen der Netzwerkverbindung" - internet: "Internetverbindung" - checking-internet: "Internetverbindung wird getestet" - server: "Serververbindung" - checking-server: "Überprüfung der Server-Verbindung" - finding: "Nach dem Problem suchen" - no-network: "Keine Netzwerkverbindung" - no-network-desc: "Bitte stelle sicher, dass du mit dem Internet verbunden bist." - no-internet: "Keine Internetverbindung" - no-internet-desc: "Bitte vergewissere dich, dass du mit dem Internet verbunden bist." - no-server: "Verbindung mit dem Server nicht möglich" - no-server-desc: "Die Internetverbindung scheint in Ordnung zu sein, aber eine Verbindung mit dem Misskey-Server konnte nicht hergestellt werden. Möglicherweise ist dieser zur Zeit offline oder wird gewartet. Bitte versuche es später noch einmal." - success: "Erfolgreich mit dem Misskey-Server verbunden" - success-desc: "Die Verbindung scheint zu funktionieren. Bitte lade die Seite neu." - flush: "Cache leeren" - set-version: "Version angeben" -common/views/components/media-banner.vue: - sensitive: "Dieser Inhalt ist NSFW" - click-to-show: "Klicke zum den Inhalt anzusehen" -common/views/components/theme.vue: - theme: "Design" - light-theme: "Thema" - dark-theme: "Thema während des Nachtmodus" - light-themes: "Helles Thema" - dark-themes: "Dunkles Thema" - install-a-theme: "Design wird installiert" - theme-code: "Design-Quelltext" - install: "Anwenden" - installed: "\"{}\" wurde installiert" - create-a-theme: "Thema erstellen" - save-created-theme: "Thema speichern" - primary-color: "Primäre Farbe" - secondary-color: "Sekundäre Farbe" - text-color: "Textfarbe" - base-theme: "Basisthema" - base-theme-light: "Hell" - base-theme-dark: "Dunkel" - find-more-theme: "Mehr Designs finden" - theme-name: "Name des Themas" - preview-created-theme: "Vorschau" - invalid-theme: "Thema ist ungültig" - already-installed: "Thema ist bereits installiert" - saved: "Gespeichert" - manage-themes: "Designs verwalten" - builtin-themes: "Standard-Designs" - my-themes: "Meine Designs" - installed-themes: "Installierte Designs" - select-theme: "Design wählen" - uninstall: "Deinstallieren" - uninstalled: "„{}“ wurde deinstalliert" - author: "Autor" - desc: "Beschreibung" - export: "Exportieren" - import: "Importieren" - import-by-code: "oder Quelltext einfügen" - theme-name-required: "Design-Name ist erforderlich" -common/views/components/cw-button.vue: - hide: "Ausblenden" - show: "Mehr" - chars: "{count} Zeichen" - files: "{count} Dateien" - poll: "Umfrage" -common/views/components/messaging.vue: - search-user: "Einen Nutzer suchen" - you: "Du" - no-history: "Keine Chronik" - user: "Benutzer" - group: "Gruppen" -common/views/components/messaging-room.vue: - no-history: "Keine weitere Chronik vorhanden" - new-message: "Neue Nachricht" -common/views/components/messaging-room.form.vue: - input-message-here: "Nachricht hier eingeben" - send: "Senden" - attach-from-local: "Wähle Dateien von deinem PC aus" - attach-from-drive: "Wähle Dateien von deinem Speicher aus" -common/views/components/messaging-room.message.vue: - is-read: "Gelesen" - deleted: "Diese Nachricht wurde gelöscht" -common/views/components/nav.vue: - about: "Über" - stats: "Statistiken" - status: "Status" - wiki: "Wiki" - donors: "Spender" - repository: "Quellcode" - develop: "Entwickler" - feedback: "Feedback" -common/views/components/note-menu.vue: - mention: "Erwähnungen" - detail: "Details" - copy-content: "Inhalt kopieren" - copy-link: "Link kopieren" - favorite: "Diesen Beitrag favorisieren" - unfavorite: "Aus Favoriten entfernen" - watch: "Beobachten" - unwatch: "Nicht mehr beobachten" - pin: "An die Profilseite pinnen" - unpin: "Lösen" - delete: "Löschen" - delete-confirm: "Diesen Beitrag löschen?" - remote: "Auf Quelle anzeigen" -common/views/components/user-menu.vue: - mention: "Erwähnungen" - mute: "Stummschalten" - unmute: "Stummschaltung aufheben" - mute-confirm: "Bist du sicher, dass du diesen Nutzer stummschalten möchtest?" - unmute-confirm: "Stummschaltung für diesen Nutzer aufheben?" - block: "Sperren" - unblock: "Sperrung aufheben" - block-confirm: "Diesen Nutzer wirklich sperren?" -common/views/components/poll.vue: - vote-to: "Stimme für '{}'" - vote-count: "{} Stimmen" - vote: "Abstimmen" - show-result: "Zeige Ergebnis" - voted: "Abgestimmt" -common/views/components/poll-editor.vue: - no-only-one-choice: "Du musst zwei oder mehr Entscheidungen angeben" - choice-n: "Auswahl {}" - remove: "Diese Auswahl entfernen" - add: "+ Eine Auswahl hinzufügen" - destroy: "Diese Abstimmung löschen" - day: "So" -common/views/components/reaction-picker.vue: - choose-reaction: "Wähle eine Reaktion aus" -common/views/components/emoji-picker.vue: - activity: "Aktivität" -common/views/components/signin.vue: - username: "Benutzername" - password: "Passwort" - token: "Token" - signing-in: "Melde an..." - or: "Oder" -common/views/components/signup.vue: - username: "Benutzername" - checking: "Überprüfung..." - available: "Verfügbar" - unavailable: "Nicht verfügbar" - error: "Verbindungsfehler" - invalid-format: "Benutze nur Buchstaben, Zahlen und _" - too-short: "Bitte mindestens ein Zeichen eingeben" - too-long: "Bitte maximal 20 Zeichen verwenden" - password: "Passwort" - password-placeholder: "Wir empfehlen mindestens 8 Zeichen" - weak-password: "Schwaches Passwort" - normal-password: "Normales Passwort" - strong-password: "Starkes Passwort" - retype: "Wiederholen" - retype-placeholder: "Bitte das Passwort erneut eingeben" - password-matched: "OK" - password-not-matched: "Stimmt nicht überein" - recaptcha: "Captcha" - create: "Account erstellen" - some-error: "Die Anmeldung konnte aufgrund eines Fehler nicht abgeschlossen werden. Bitte versuche es erneut." -common/views/components/special-message.vue: - new-year: "Frohes neues Jahr!" - christmas: "Frohe Weihnachten!" -common/views/components/stream-indicator.vue: - connecting: "Verbindung wird hergestellt" - reconnecting: "Erneut verbinden" - connected: "Verbindung hergestellt" -common/views/components/notification-settings.vue: - title: "Benachrichtigungen" -common/views/components/uploader.vue: - waiting: "Warten" -common/views/components/visibility-chooser.vue: - public: "Öffentlich" - home: "Home" - home-desc: "Auf die Startseite posten" - followers: "Folgende" - followers-desc: "Nur für diejenigen sichtbar, die dir folgen" - specified: "Direkt" - specified-desc: "Nur für bestimmte Benutzer sichtbar" - local-public: "Öffentlich (nur lokal)" - local-home: "Home (nur lokal)" - local-followers: "Follower (nur lokal)" -common/views/components/profile-editor.vue: - title: "Dein Profil" - name: "Name" - avatar: "Avatar" - banner: "Banner" - save: "Speichern" - unable-to-process: "Der Vorgang konnte nicht abgeschlossen werden" - export: "Exportieren" - import: "Importieren" - export-targets: - user-lists: "Listen" - enter-password: "Bitte Passwort eingeben" -common/views/components/user-group-editor.vue: - invite: "Einladen" -common/views/components/user-lists.vue: - user-lists: "Listen" -common/views/components/user-groups.vue: - user-groups: "Gruppen" - owned-groups: "Meine Gruppen" - invites: "Einladen" -common/views/widgets/broadcast.vue: - fetching: "Laden" - no-broadcasts: "Keine Broadcasts" - have-a-nice-day: "Schönen Tag!" - next: "Nächster" -common/views/widgets/photo-stream.vue: - title: "Fotostream" - no-photos: "Keine Fotos" -common/views/widgets/posts-monitor.vue: - title: "Beitrags-Aktivität" - toggle: "Sicht umschalten" -common/views/widgets/server.vue: - title: "Serverinformationen" - toggle: "Sicht umschalten" -common/views/widgets/memo.vue: - title: "Notizen" - memo: "Schreib hier!" - save: "Speichern" -desktop: - banner: "Banner" - avatar: "Avatar" - unable-to-process: "Der Vorgang konnte nicht abgeschlossen werden" -desktop/views/components/activity.chart.vue: - total: "Schwarz ... komplett" - notes: "Blau ... Hinweise" - replies: "Rot ... Antworten" - renotes: "Grün ... Anmerkungen" -desktop/views/components/activity.vue: - title: "Aktivität" - toggle: "Sichten umschalten" -desktop/views/components/calendar.vue: - prev: "Vorheriger Monat" - next: "Nächster Monat" - go: "Klicke zur Navigation" -desktop/views/components/choose-file-from-drive-window.vue: - upload: "Dateien von deinem PC hochladen" - cancel: "Abbrechen" - ok: "OK" - choose-prompt: "Wähle eine Datei aus" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Abbrechen" - ok: "OK" - choose-prompt: "Wähle einen Ordner" -desktop/views/components/crop-window.vue: - skip: "Zuschneiden überspringen" - cancel: "Abbrechen" - ok: "OK" -desktop/views/components/drive-window.vue: - used: "benutzt" -desktop/views/components/drive.file.vue: - avatar: "Avatar" - banner: "Banner" - contextmenu: - rename: "Umbenennen" - copy-url: "URL kopieren" - download: "Download" - set-as-avatar: "Als Avatar festlegen" - set-as-banner: "Setze als Banner" - open-in-app: "In der App öffnen" - add-app: "App hinzufügen" - rename-file: "Datei umbennen" - input-new-file-name: "Gib den neuen Dateinamen an" - copied: "Kopieren erfolgreich" - copied-url-to-clipboard: "URL wurde in die Zwischenablage kopiert" -desktop/views/components/drive.folder.vue: - unable-to-process: "Der Vorgang konnte nicht abgeschlossen werden" - circular-reference-detected: "Das Zielverzeichnis ist innerhalb des Verzeichnisses, dass du verschieben möchtest" - unhandled-error: "Unbekannter Fehler" - contextmenu: - move-to-this-folder: "Verschiebe in diesen Ordner" - show-in-new-window: "In einem neuen Fenster anzeigen" - rename: "Umbenennen" - rename-folder: "Ordner umbenennen" - input-new-folder-name: "Namen für neuen Ordner eingeben" -desktop/views/components/drive.vue: - search: "Suchen" - empty-draghover: "Herzlich Willkommen!" - empty-drive: "Dein Speicher ist leer" - empty-drive-description: "Du kannst rechts klicken und \"Datei hochladen\" auswählen oder eine Datei per Drag and Drop auf das Fenster ziehen." - empty-folder: "Dieser Ordner ist leer" - unable-to-process: "Der Vorgang konnte nicht beendet werden" - circular-reference-detected: "Das Zielverzeichnis ist innerhalb des Verzeichnisses, dass du verschieben möchtest" - unhandled-error: "Unbekannter Fehler" - url-upload: "Von einer URL hochladen" - url-of-file: "URL der Datei, welche du hochladen möchtest" - url-upload-requested: "Upload angefordert" - may-take-time: "Es kann eine Weile dauern, bis der Upload fertiggestellt ist." - create-folder: "Ein Verzeichnis erstellen" - folder-name: "Ordnername" - contextmenu: - create-folder: "Ein Verzeichnis erstellen" - upload: "Eine Datei hochladen" - url-upload: "Von einer URL hochladen" -desktop/views/components/followers.vue: - empty: "Dir scheint niemand zu folgen." -desktop/views/components/following.vue: - empty: "Du folgst niemanden" -desktop/views/components/home.vue: - done: "Beenden" - add-widget: "Widget hinzufügen:" - add: "Hinzufügen" -desktop/views/input-dialog.vue: - cancel: "Abbrechen" - ok: "OK" -desktop/views/components/note-detail.vue: - private: "Dieser Beitrag ist privat" - deleted: "Dieser Beitrag wurde entfernt" - location: "Ort" - renote: "Anmerkung" - add-reaction: "Reaktion hinzufügen" -desktop/views/components/note.vue: - reply: "Antworten" - renote: "Anmerkung" - detail: "Details" - private: "Dieser Beitrag ist privat" - deleted: "Dieser Beitrag wurde entfernt" -desktop/views/components/notes.vue: - error: "Laden fehlgeschlagen." - retry: "Erneut versuchen" -desktop/views/components/notifications.vue: - empty: "Keine Benachrichtigungen" -desktop/views/components/post-form.vue: - posted: "Gepostet!" - replied: "Geantwortet!" - reposted: "Weitergesagt!" - note-failed: "Anmerkung fehlgeschlagen" - reply-failed: "Antwort fehlgeschlagen" - renote-failed: "Anmerkung fehlgeschlagen" -desktop/views/components/post-form-window.vue: - note: "Neuer Beitrag" - reply: "Antworten" - attaches: "{} Medien hinzugefügt" - uploading-media: "Lade {} Medien hoch" -desktop/views/components/progress-dialog.vue: - waiting: "Warten" -desktop/views/components/renote-form.vue: - quote: "Zitieren..." - cancel: "Abbrechen" - renote: "Anmerkung" - reposting: "Weitersagen..." - success: "Weitergesagt!" - failure: "Weitersagen fehlgeschlagen" -desktop/views/components/renote-form-window.vue: - title: "Bist du dir sicher, dass du das weitersagen willst?" -desktop/views/components/settings.2fa.vue: - url: "https://www.google.de/intl/de/landing/2step/" - register: "Ein Gerät registrieren" - already-registered: "Das Gerät wurde bereits registriert" - unregister: "Abschalten" - unregistered: "Zwei-Faktor-Authentifizierung wurde deaktiviert." - enter-password: "Bitte Passwort eingeben" - token: "Token" -common/views/components/api-settings.vue: - enter-password: "Bitte Passwort eingeben" - console: - parameter: "Parameter" - send: "Senden" -common/views/components/drive-settings.vue: - in-use: "benutzt" - stats: "Statistiken" -common/views/components/mute-and-block.vue: - unmute-confirm: "Stummschaltung für diesen Nutzer aufheben?" - save: "Speichern" -desktop/views/components/sub-note-content.vue: - private: "Dieser Beitrag ist privat" - deleted: "Dieser Beitrag wurde entfernt" - poll: "Umfrage" -desktop/views/components/settings.tags.vue: - add: "Hinzufügen" - save: "Speichern" -desktop/views/components/timeline.vue: - home: "Home" - local: "Lokal" - global: "Global" - list: "Listen" -desktop/views/components/ui.header.account.vue: - profile: "Dein Profil" - lists: "Listen" - groups: "Gruppen" -desktop/views/components/ui.header.nav.vue: - game: "Spielen" -desktop/views/components/ui.header.notifications.vue: - title: "Benachrichtigungen" -desktop/views/components/ui.header.post.vue: - post: "Einen neuen Post erstellen" -desktop/views/components/ui.header.search.vue: - placeholder: "Suchen" -desktop/views/components/users-list.vue: - fetching: "Lade…" -admin/views/dashboard.vue: - drive: "Drive" -admin/views/abuse.vue: - details: "Details" - remove-report: "Löschen" -admin/views/instance.vue: - recaptcha-preview: "Vorschau" - invite: "Einladen" - save: "Speichern" - saved: "Gespeichert" - test-email: "Test" -admin/views/charts.vue: - drive: "Drive" -admin/views/drive.vue: - origin: - local: "Lokal" - delete: "Löschen" -admin/views/users.vue: - username: "Benutzername" - users: - origin: - local: "Lokal" -admin/views/emoji.vue: - add-emoji: - add: "Hinzufügen" - emojis: - remove: "Löschen" -admin/views/announcements.vue: - save: "Speichern" - remove: "Löschen" - add: "Hinzufügen" - saved: "Gespeichert" -admin/views/federation.vue: - status: "Status" - save: "Speichern" -desktop/views/pages/note.vue: - prev: "Vorheriger Kommentar" - next: "Nächster Kommentar" -desktop/views/pages/selectdrive.vue: - title: "Wähle Datei(en) aus" - ok: "OK" - cancel: "Abbrechen" -desktop/views/pages/user-list.users.vue: - username: "Benutzername" -desktop/views/pages/user/user.followers-you-know.vue: - loading: "Laden" -desktop/views/pages/user/user.friends.vue: - loading: "Laden" -desktop/views/pages/user/user.photos.vue: - loading: "Laden" - no-photos: "Keine Fotos" -desktop/views/pages/user/user.header.vue: - month: "Mo" - day: "So" -desktop/views/widgets/notifications.vue: - title: "Benachrichtigungen" -desktop/views/widgets/polls.vue: - title: "Umfrage" - nothing: "Keine Benachrichtigungen" -desktop/views/widgets/trends.vue: - nothing: "Keine Benachrichtigungen" -mobile/views/components/drive.vue: - used: "benutzt" - folder-name: "Ordnername" - url-prompt: "URL der Datei, welche du hochladen möchtest" -mobile/views/components/drive.file-detail.vue: - download: "Download" - rename: "Umbenennen" -mobile/views/components/note.vue: - private: "Dieser Beitrag ist privat" - deleted: "Dieser Beitrag wurde entfernt" - location: "Ort" -mobile/views/components/note-detail.vue: - reply: "Antworten" - private: "Dieser Beitrag ist privat" - deleted: "Dieser Beitrag wurde entfernt" - location: "Ort" -mobile/views/components/notifications.vue: - empty: "Keine Benachrichtigungen" -mobile/views/components/sub-note-content.vue: - private: "Dieser Beitrag ist privat" - deleted: "Dieser Beitrag wurde entfernt" - poll: "Umfrage" -mobile/views/components/ui.nav.vue: - notifications: "Benachrichtigungen" - search: "Suchen" - user-lists: "Listen" - user-groups: "Gruppen" - game: "Spielen" - about: "Über" -mobile/views/pages/drive.vue: - contextmenu: - upload: "Eine Datei hochladen" - create-folder: "Ein Verzeichnis erstellen" -mobile/views/pages/home.vue: - home: "Home" - local: "Lokal" - global: "Global" -mobile/views/pages/widgets.vue: - add-widget: "Hinzufügen" - customization-tips: "Anpassungs-Tipps" -mobile/views/pages/widgets/activity.vue: - activity: "Aktivität" -mobile/views/pages/note.vue: - prev: "Vorheriger Kommentar" - next: "Nächster Kommentar" -mobile/views/pages/search.vue: - search: "Suchen" -mobile/views/pages/notifications.vue: - notifications: "Benachrichtigungen" -mobile/views/pages/user/home.vue: - activity: "Aktivität" - keywords: "Schlagwörter" -mobile/views/pages/user/home.photos.vue: - no-photos: "Keine Fotos" -deck: - home: "Home" - local: "Lokal" - global: "Global" - notifications: "Benachrichtigungen" - list: "Listen" - rename: "Umbenennen" -deck/deck.user-column.vue: - following: "Folgen" - followers: "Folgende" - images: "Bilder" - activity: "Aktivität" - timeline: "Zeitleiste" - pinned-notes: "Angeheftete Beiträge" -docs: - edit-this-page-on-github: "Hast Du einen Fehler gefunden oder Lust, diese Dokumentation zu verbessern?" - edit-this-page-on-github-link: "Seite auf GitHub bearbeiten!" -dev/views/index.vue: - manage-apps: "Anwendungen verwalten" -dev/views/apps.vue: - manage-apps: "Anwendungen verwalten" - create-app: "Anwendung erstellen" - app-missing: "Keine Anwendungen" -dev/views/new-app.vue: - create-app: "Erstelle Anwendung" - app-name: "Name der Anwendung" - app-name-desc: "Der Name der Anwendung" - app-overview: "Beschreibung der Anwendung" - callback-url: "Callback-URL (optional)" - callback-url-desc: "Die URL, auf die nach erfolgreicher Authentifizierung umgeleitet werden soll." - authority: "Berechtigungen" - authority-desc: "Nur die hier eingetragenen Berechtigungen, werden per API zur Verfügung stehen." - authority-warning: "Dies kann auch nach dem erstellen der Anwendung geändert werden, allerdings werden dann alle bisher generierten Token ungültig." -pages: - pin-this-page: "An die Profilseite pinnen" - unpin-this-page: "Lösen" - like: "Gefällt mir" - blocks: - post: "\"Neuer Beitrag\"-Formular" - script: - categories: - random: "Zufällige Auswahl" - list: "Listen" - blocks: - _join: - arg1: "Listen" - random: "Zufällige Auswahl" - _randomPick: - arg1: "Listen" - _dailyRandomPick: - arg1: "Listen" - _seedRandomPick: - arg2: "Listen" - _pick: - arg1: "Listen" - _listLen: - arg1: "Listen" - types: - array: "Listen" -room: - save: "Speichern" - saved: "Gespeichert" - furnitures: - moon: "Mond" - bin: "Papierkorb" diff --git a/locales/en-US.yml b/locales/en-US.yml deleted file mode 100644 index 94f728b47..000000000 --- a/locales/en-US.yml +++ /dev/null @@ -1,2175 +0,0 @@ ---- -meta: - lang: "English" -common: - misskey: "A ⭐ of the fediverse" - about-title: "A ⭐ of the fediverse." - about: "Thank you for finding Misskey. Misskey 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?" - intro: - title: "What is Misskey?" - about: "Misskey is an open-source, decentralized microblogging software. It has a sophisticated, fully customizable user interface, a variety of ways for expressing a reaction to posts, free file storage providing an integrated management system, and other advanced features are available. In addition, Misskey connects to a network system called the “Fediverse”, which enables us to communicate with users on other SNSs. For example, when you post something, it will be sent not only to Misskey users, but also those on Mastodon and Pleroma. Just imagine that the planet is sending a radio transmission to another planet, in order to communicate." - features: "Features" - rich-contents: "Post" - rich-contents-desc: "Just post your idea, hot topics, and anything you want to share. You may want to decorate your words, attach your favorite pictures, send files, including videos, or create a poll - those are some of the things you can do with Misskey!" - reaction: "Reactions" - reaction-desc: "The easiest way to express your emotions. Misskey allows you to add various reactions to posts. Other SNSs only have a \"like\" reaction." - ui: "Interface" - ui-desc: "No single UI can suit everyone. Therefore, Misskey has a highly customizable UI for your tastes. You can make your home original by editing the layout of your timeline, and moving around selectable widgets that you can easily adjust to make this place your own." - drive: "Drive" - drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online." - outro: "Check Misskey-unique features by seeing them with your own eyes! If you feel like this instance is not for you, try other instances, as Misskey is a decentralized SNS, so that you can easily find your mates. Then, GLHF!" - application-authorization: "Application authorizations" - close: "Close" - do-not-copy-paste: "Please do not enter or paste the code here. Account may be compromised." - load-more: "Read more" - enter-password: "Enter your password" - 2fa: "Two-factor authentication" - customize-home: "Customize home layout" - featured-notes: "Featured notes" - dark-mode: "Dark Mode" - signin: "Login" - signup: "Sign up" - signout: "Logout" - reload-to-apply-the-setting: "You'll need to reload the page to reflect this setting. Do you want to reload it now?" - fetching-as-ap-object: "Inquiring to fediverse" - unfollow-confirm: "Do you want to unfollow {name}?" - delete-confirm: "Are you sure you want to delete this post?" - signin-required: "Please login" - notification-type: "Notification Type" - notification-types: - all: "All" - pollVote: "Votes" - follow: "Following" - receiveFollowRequest: "Follow requests" - reply: "Reply" - quote: "Quote" - renote: "Renote" - mention: "Mentions" - reaction: "Reaction" - got-it: "Got it!" - customization-tips: - title: "Customization tips" - paragraph: "

Home customization allows you to add/delete, drag and drop and rearrange widgets.

You can change the display by right clicking on some widgets.

To delete a widget, drag and drop the widget onto the area labeled \"Trash\" in the header.

To finish the customization, click \"Done\" on the upper right.

" - gotit: "Got it!" - notification: - file-uploaded: "File uploaded!" - message-from: "Message from {}:" - reversi-invited: "Invited to a game" - reversi-invited-by: "Invited by {}:" - notified-by: "Notified by {}:" - reply-from: "Reply from {}:" - quoted-by: "Quoted by {}:" - time: - unknown: "unknown" - future: "future" - just_now: "now" - seconds_ago: "{}s ago" - minutes_ago: "{}m ago" - hours_ago: "{}h ago" - days_ago: "{}d ago" - weeks_ago: "{}week(s) ago" - months_ago: "{}month(s) ago" - years_ago: "{}year(s) ago" - month-and-day: "{month}/{day}" - trash: "Trash" - drive: "Drive" - pages: "Pages" - messaging: "Talk" - home: "Home" - deck: "Deck" - timeline: "Timeline" - explore: "Explore" - following: "Following" - followers: "Followers" - favorites: "Favorites" - permissions: - "read:account": "View account information" - "write:account": "Update your account information" - "read:blocks": "View Blocks" - "write:blocks": "Work with Blocks" - "read:drive": "Browse the Drive" - "write:drive": "Work with the Drive" - "read:favorites": "View Favorites" - "write:favorites": "Work with Favorites" - "read:following": "View your Follow info" - "write:following": "Work with Follow info" - "read:messaging": "View Messaging" - "write:messaging": "Work with Messaging" - "read:mutes": "View Muted" - "write:mutes": "Work with Muted" - "write:notes": "Create and delete posts" - "read:notifications": "View notifications" - "write:notifications": "Work with notifications" - "read:reactions": "View reactions" - "write:reactions": "Work with reactions" - "write:votes": "Vote" - "read:pages": "View Pages" - "write:pages": "Update Pages" - "read:page-likes": "View Likes on Pages" - "write:page-likes": "Update Likes on Pages" - "read:user-groups": "View User groups" - "write:user-groups": "Edit User groups" - empty-timeline-info: - follow-users-to-make-your-timeline: "Following users will show their posts in your timeline." - explore: "Find users" - post-form: - attach-location-information: "Attach location information" - hide-contents: "Hide contents" - reply-placeholder: "Reply to this post..." - quote-placeholder: "Quote this Post..." - option-quote-placeholder: "Quote this post... (optional)" - quote-attached: "Quoted" - quote-question: "Do you want to append a quote?" - submit: "Post" - reply: "Reply" - renote: "Renote" - posting: "Posting" - attach-media-from-local: "Attach media from your device" - attach-media-from-drive: "Attach media from your Drive" - insert-a-kao: "v('ω')v" - create-poll: "Create a poll" - text-remain: "{} characters remaining" - recent-tags: "Recent" - local-only-message: "This post will only be published locally" - click-to-tagging: "Click to tagging" - visibility: "Visibility" - geolocation-alert: "Your device does not provide location services" - error: "Error" - enter-username: "Please enter username" - specified-recipient: "Recipient" - add-visible-user: "Add a user" - cw-placeholder: "Comments for the post (optional)" - username-prompt: "Please enter username" - enter-file-name: "Edit file name" - weekday-short: - sunday: "S" - monday: "M" - tuesday: "T" - wednesday: "W" - thursday: "T" - friday: "F" - saturday: "S" - weekday: - sunday: "Sunday" - monday: "Monday" - tuesday: "Tuesday" - wednesday: "Wednesday" - thursday: "Thursday" - friday: "Friday" - saturday: "Saturday" - reactions: - like: "Like" - love: "Love" - laugh: "Laugh" - hmm: "Hmm...?" - surprise: "Wow" - congrats: "Congrats!" - angry: "Angry" - confused: "Confused" - rip: "RIP" - pudding: "Pudding" - note-visibility: - public: "Public" - home: "Home" - home-desc: "Post to the home timeline only" - followers: "Followers" - followers-desc: "Post to followers only" - specified: "Direct" - specified-desc: "Post to specified users only" - local-public: "Public (Only local)" - local-home: "Home (Only local)" - local-followers: "Followers (Only local)" - note-placeholders: - a: "What are you doing?" - b: "What's happening?" - c: "What’s on your mind?" - d: "What do you want to say?" - e: "Write here" - f: "Waiting for your writing." - settings: "Settings" - _settings: - profile: "Profile" - notification: "Notification" - apps: "Apps" - tags: "Hashtag" - mute-and-block: "Mute / Block" - blocking: "Block" - security: "Security" - signin: "Login History" - password: "Password" - other: "Other" - appearance: "Appearance" - behavior: "Behavior" - reactions: "Reaction" - reactions-description: "Customize Emojis of Reaction picker delimited by line breaks" - fetch-on-scroll: "Endless loading on scroll" - fetch-on-scroll-desc: "When you scroll down the page, it automatically fetches additional content." - note-visibility: "Post visibility" - default-note-visibility: "Default visibility" - remember-note-visibility: "Remember post visibility" - web-search-engine: "Web search engine" - web-search-engine-desc: "Example: https://www.google.com/?#q={{query}}" - paste: "Paste" - pasted-file-name: "Template for pasted file name" - pasted-file-name-desc: "Example: \"yyyy-MM-dd HH-mm-ss [{{number}}]\" → \"2018-03-20 21-30-24 1\"" - paste-dialog: "Edit the pasted file name" - paste-dialog-desc: "Display a dialog to edit the file name when you paste a file." - keep-cw: "Preserve content warning" - keep-cw-desc: "When replying to a post, the same content warning is set by default to the reply, as has been set by the original post." - i-like-sushi: "I prefer sushi rather than pudding" - show-reversi-board-labels: "Show row and column labels in Reversi" - use-avatar-reversi-stones: "Use avatar as a stone in reversi" - disable-animated-mfm: "Disable animated texts in a post" - disable-showing-animated-images: "Do not play animated images" - enable-quick-notification-view: "Enable Quick Notification View" - suggest-recent-hashtags: "Show recent popular hashtags on the post form" - always-show-nsfw: "Always show NSFW contents" - always-mark-nsfw: "Always mark posts with media attachments as NSFW" - show-full-acct: "Do not omit the hostname from the username" - show-via: "Show via" - reduce-motion: "Reduce motion in UI" - this-setting-is-this-device-only: "Only for this device" - use-os-default-emojis: "Use the OS default Emojis" - line-width: "Line thickness" - line-width-thin: "Thin" - line-width-normal: "Regular" - line-width-thick: "Thick" - font-size: "Text size" - font-size-x-small: "Very small" - font-size-small: "Small" - font-size-medium: "Medium" - font-size-large: "Big" - font-size-x-large: "Very big" - deck-column-align: "Deck column alignment" - deck-column-align-center: "Center" - deck-column-align-left: "Left" - deck-column-align-flexible: "Flexible" - deck-column-width: "Deck column width" - deck-column-width-narrow: "Narrow" - deck-column-width-narrower: "Narrower" - deck-column-width-normal: "Regular" - deck-column-width-wider: "Slightly wide" - deck-column-width-wide: "Wide" - use-shadow: "Use shadows in the UI" - rounded-corners: "Round the corners of the UI" - circle-icons: "Use circular avatar icon" - contrasted-acct: "Add contrast to user account" - wallpaper: "Background image" - choose-wallpaper: "Choose a background" - delete-wallpaper: "Remove background" - post-form-on-timeline: "Display the posting form at the top of the timeline" - show-clock-on-header: "Show clock on the upper-right" - show-reply-target: "Show reply target" - timeline: "Timeline" - show-my-renotes: "Show my renotes in the timeline" - show-renoted-my-notes: "Show renotes of your own posts in the timeline" - show-local-renotes: "Show renotes of local posts on the timeline" - remain-deleted-note: "Continue to show deleted notes" - sound: "Sound" - enable-sounds: "Enable sounds" - enable-sounds-desc: "Play a sound when you receive a post/message. This setting is stored in the browser." - volume: "Volume" - test: "Test" - update: "Misskey Update" - version: "Current version:" - latest-version: "Latest version:" - update-checking: "Checking for updates" - do-update: "Check for updates" - update-settings: "Advanced settings" - no-updates: "No updates are available" - no-updates-desc: "Your Misskey is up to date." - update-available: "A new version is available" - update-available-desc: "Updates will be applied after reloading the page." - advanced-settings: "Advanced Settings" - debug-mode: "Enable debug mode" - debug-mode-desc: "This setting is stored in the browser." - navbar-position: "Navbar position" - navbar-position-top: "Top" - navbar-position-left: "Left" - navbar-position-right: "Right" - i-am-under-limited-internet: "I have limited bandwidth" - post-style: "Note display style" - post-style-standard: "Standard" - post-style-smart: "Smart" - notification-position: "Show notifications" - notification-position-bottom: "Bottom" - notification-position-top: "Top" - disable-via-mobile: "Don't mark the post as 'from mobile'" - load-raw-images: "Show attached images in original quality" - load-remote-media: "Show media from a remote server" - sync: "Sync" - save: "Save" - saved: "Saved" - preview: "Preview" - home-profile: "Home profile" - deck-profile: "Deck profile" - room: "Room" - _room: - graphicsQuality: "Graphics Quality" - _graphicsQuality: - ultra: "Ultra" - high: "High" - medium: "Medium" - low: "Low" - cheep: "Cheep" - useOrthographicCamera: "Use Orthographic Camera" - search: "Search" - delete: "Delete" - loading: "Loading" - ok: "Confirm" - cancel: "Cancel" - update-available-title: "Update available" - update-available: "A new version of Misskey is now available({newer}, the current version is {current}). Reload the page to apply updates." - my-token-regenerated: "Your token has been regenerated, so you will be signed out." - hide-password: "Hide Password" - show-password: "Show Password" - enter-username: "Please enter username" - do-not-use-in-production: "This is a development build. Do not use in production." - user-suspended: "This user has been suspended." - is-remote-user: "The information about this user may not be entirely complete." - is-remote-post: "These post contents are mirrored." - view-on-remote: "For completion, view it remotely." - renoted-by: "Renoted by {user}" - no-notes: "Without any notes" - turn-on-darkmode: "Switch to Dark mode" - turn-off-darkmode: "Light mode" - error: - title: "Something happened :(" - retry: "Retry" - reversi: - drawn: "Draw" - my-turn: "Your turn" - opponent-turn: "Opponent's turn" - turn-of: "{name}'s turn" - past-turn-of: "{name}'s turn" - won: "{name} won" - black: "Black" - white: "White" - total: "Total" - this-turn: "Turn {count}" - widgets: - analog-clock: "Analog clock" - profile: "Profile" - calendar: "Calendar" - timemachine: "Calendar (Time Machine)" - activity: "Activity" - rss: "RSS reader" - memo: "Sticky note" - trends: "Trends" - photo-stream: "Photostream" - posts-monitor: "Chart of posts" - slideshow: "Slideshow" - version: "Version" - broadcast: "Broadcast" - notifications: "Notifications" - users: "Recommended users" - polls: "Polls" - post-form: "Post form" - server: "Server info" - nav: "Navigation" - tips: "Tips" - hashtags: "Hashtags" - queue: "Queue" - dev: "Failed to create the application. Please try again." - ai-chan-kawaii: "Ai-chan kawaii!" - you: "You" -auth/views/form.vue: - share-access: "Would you allow {name} to access your account?" - permission-ask: "This application requires the following permissions:" - cancel: "Cancel" - accept: "Allow access." -auth/views/index.vue: - loading: "Loading" - denied: "Application authorization has been denied." - denied-paragraph: "This application will not access your account." - already-authorized: "This application has already been authorized." - allowed: "Application authorizations allowed." - callback-url: "Going back to the application." - please-go-back: "Please go back to the application." - error: "Session does not exist." - sign-in: "Please sign in." -common/views/pages/explore.vue: - pinned-users: "Pinned users" - popular-users: "Popular users" - recently-updated-users: "Recently active users" - recently-registered-users: "Users who joined recently" - recently-discovered-users: "Recently Discovered Users" - popular-tags: "Popular Tags" - federated: "From the fediverse" - explore: "Explore {host}" - explore-fediverse: "Explore Fediverse" - users-info: "Currently, {users} users are registered here" -common/views/components/reactions-viewer.details.vue: - few-users: "{users} reacted with {reaction}" - many-users: "{users}, and {omitted} more reacted with {reaction}" -common/views/components/url-preview.vue: - enable-player: "Enable playback" - disable-player: "Close the player" -common/views/components/user-list.vue: - no-users: "There are no users." -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "Waiting for {}" - cancel: "Cancel" -common/views/components/games/reversi/reversi.game.vue: - surrender: "Surrender" - surrendered: "By surrender" - is-llotheo: "The lesser one wins(Llotheo)" - looped-map: "Looped map" - can-put-everywhere: "Can put everywhere" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "Play reversi with your friends!" - invite: "Invite" - rule: "How to play" - rule-desc: "Reversi is a strategy board game for two players, played on an 8×8 uncheckered board. There are sixty-four identical game pieces called disks (often spelled \"discs\"), which are light on one side and dark on the other. Players take turns placing disks on the board with their assigned color facing up. During a play, any disks of the opponent's color that are in a straight line and bounded by the disk just placed and another disk of the current player's color are turned over to the current player's color. The object of the game is to have the majority of disks turned to display your color when the last playable empty square is filled." - mode-invite: "Invite" - mode-invite-desc: "Game with a specified user." - invitations: "You’ve got an invitation!" - my-games: "My game" - all-games: "All games" - enter-username: "Please enter username" - game-state: - ended: "Finished" - playing: "In Progress" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "Game settings" - choose-map: "Choose a map" - random: "Random" - black-or-white: "Black/White" - black-is: "Black is {}" - rules: "Rules" - is-llotheo: "The lesser one wins(Llotheo)" - looped-map: "Looped map" - can-put-everywhere: "Can put everywhere" - settings-of-the-bot: "Bot settings" - this-game-is-started-soon: "The game will begin in seconds" - waiting-for-other: "Waiting for the opponent" - waiting-for-me: "Waiting for the your preparation" - waiting-for-both: "Preparing" - cancel: "Cancel" - ready: "Ready" - cancel-ready: "Cancel \"Ready\"" -common/views/components/connect-failed.vue: - title: "Unable to connect to the server" - description: "There is a problem with your Internet connection, or the server may be down or under maintenance. Please {try again} later." - thanks: "Thank you for using Misskey." - troubleshoot: "Troubleshoot" -common/views/components/connect-failed.troubleshooter.vue: - title: "Troubleshooting" - network: "Network connection" - checking-network: "Checking network connection" - internet: "Internet connection" - checking-internet: "Checking Internet connection" - server: "Server connection" - checking-server: "Checking server connection" - finding: "Searching for issues" - no-network: "No connection" - no-network-desc: "Please make sure that you have a network connection." - no-internet: "There is no Internet connection" - no-internet-desc: "Please make sure you are connected to the Internet." - no-server: "Unable to connect to the Misskey server" - no-server-desc: "The network connection of your device is normal, but you could not connect to the Misskey server. There is a possibility that the server is either down, or under maintenance, please try again later." - success: "Successfully connected to the Misskey server" - success-desc: "Looks like we have a connection. Please reload the page." - flush: "Clean cache" - set-version: "Specify version" -common/views/components/media-banner.vue: - sensitive: "NSFW" - click-to-show: "Click to show" -common/views/components/theme.vue: - theme: "Theme" - light-theme: "Theme to use in Light mode" - dark-theme: "Theme during dark mode" - light-themes: "Light theme" - dark-themes: "Dark theme" - install-a-theme: "Install a theme" - theme-code: "Theme code" - install: "Install" - installed: "\"{}\" has been installed" - create-a-theme: "Create a theme" - save-created-theme: "Save theme" - primary-color: "Primary color" - secondary-color: "Secondary color" - text-color: "Text color" - base-theme: "Base theme" - base-theme-light: "Light" - base-theme-dark: "Dark" - find-more-theme: "Find more themes" - theme-name: "Theme name" - preview-created-theme: "Preview" - invalid-theme: "Not valid theme" - already-installed: "This theme is already installed." - saved: "Saved" - manage-themes: "Themes manager" - builtin-themes: "Standard themes" - my-themes: "My themes" - installed-themes: "Installed themes" - select-theme: "Select your theme" - uninstall: "Uninstall" - uninstalled: "\"{}\" has been uninstalled" - author: "Author" - desc: "Description" - export: "Export" - import: "Import" - import-by-code: "or paste code" - theme-name-required: "Theme name is required" -common/views/components/cw-button.vue: - hide: "Hide" - show: "See more" - chars: "{count} chars" - files: "{count} files" - poll: "Poll" -common/views/components/messaging.vue: - search-user: "Find a user" - you: "You" - no-history: "Without history" - user: "User" - group: "Group" - start-with-user: "Start chatting with a user" - start-with-group: "Start a group and chat" - select-group: "Select a group" -common/views/components/messaging-room.vue: - not-talked-user: "You have not talked to this user yet" - not-talked-group: "There is no conversation in this group" - no-history: "There is no further history" - new-message: "New message" - only-one-file-attached: "You can only attach one file to a message" -common/views/components/messaging-room.form.vue: - input-message-here: "Enter message here" - send: "Send" - attach-from-local: "Attach files from your device" - attach-from-drive: "Attach files from your Drive" - only-one-file-attached: "You can only attach one file to a message" -common/views/components/messaging-room.message.vue: - is-read: "Read" - deleted: "This message has been deleted" -common/views/components/nav.vue: - about: "About" - stats: "Stats" - status: "Status" - wiki: "Wiki" - donors: "Donators" - repository: "Repository" - develop: "Developers" - feedback: "Feedback" - tos: "Terms Of Service" -common/views/components/note-menu.vue: - mention: "Mention" - detail: "Details" - copy-content: "Copy the contents" - copy-link: "Copy link" - favorite: "Favorite this note" - unfavorite: "Unfavorite" - watch: "Watch" - unwatch: "Unwatch" - pin: "Pin to your profile" - unpin: "Unpin" - delete: "Delete" - delete-confirm: "Are you sure you want to delete this post?" - delete-and-edit: "Delete and Edit" - delete-and-edit-confirm: "Are you sure you want to delete this note and edit it? You will lose all reactions, renotes and replies to it." - remote: "Show original note" - pin-limit-exceeded: "You can't pin any more posts." -common/views/components/user-menu.vue: - mention: "Mention" - mute: "Mute" - unmute: "Unmute" - mute-confirm: "Are you sure you want to mute this user?" - unmute-confirm: "Are you certain that you want to unmute this user?" - block: "Block" - unblock: "Unblock" - block-confirm: "Are you sure you want to block this user?" - unblock-confirm: "Are you certain that you want to unblock this user?" - push-to-list: "Add to list" - select-list: "Select a list" - report-abuse: "Report abuse" - report-abuse-detail: "What kind of nuisance did you encounter?" - report-abuse-reported: "The issue has been reported to the administrator. Your cooperation is much appreciated." - silence: "Silence" - unsilence: "Unsilence" - silence-confirm: "Are you sure that you want to silence this user?" - unsilence-confirm: "Are you sure that you want to stop silencing this user?" - suspend: "Suspend" - unsuspend: "Unsuspend" - suspend-confirm: "Are you sure that you want to suspend this user?" - unsuspend-confirm: "Are you sure that you want to unsuspend this user?" -common/views/components/poll.vue: - vote-to: "Vote for '{}'" - vote-count: "{} votes" - total-votes: "{} votes in total" - vote: "Vote" - show-result: "Show results" - voted: "Voted" - closed: "Ended" - remaining-days: "{d} days, {h} hours remain" - remaining-hours: "{h} hours, and {m} minutes remain" - remaining-minutes: "{m} minutes, and {s} seconds remaining" - remaining-seconds: "{s} seconds remaining" -common/views/components/poll-editor.vue: - no-only-one-choice: "At least two choices are required" - choice-n: "Choice {}" - remove: "Delete the choice" - add: "+ Add a choice" - destroy: "Discard the poll" - multiple: "More than one answer is allowed" - expiration: "Valid until" - infinite: "Indefinitely" - at: "Date and time pick" - after: "Progression specifics" - no-more: "You cannot add any more" - deadline-date: "Finish date" - deadline-time: "Time duration" - interval: "Duration" - unit: "Unit" - second: "Seconds" - minute: "Minutes" - hour: "Hours" - day: "S" -common/views/components/reaction-picker.vue: - choose-reaction: "Send a reaction" - input-reaction-placeholder: "or input Emoji" -common/views/components/emoji-picker.vue: - recent-emoji: "Recently used" - custom-emoji: "Custom Emoji" - no-category: "Uncategorized" - people: "People" - animals-and-nature: "Animals & Nature" - food-and-drink: "Food & drink" - activity: "Activity" - travel-and-places: "Travel & Places" - objects: "Objects" - symbols: "Symbols" - flags: "Flags" -common/views/components/settings/app-type.vue: - title: "Mode" - intro: "You can specify whether you want to use the desktop, or the mobile layout." - choices: - auto: "Choose layout automatically" - desktop: "Always use the desktop layout" - mobile: "Always use the mobile layout" - info: "You need to reload the page for the changes to take effect." -common/views/components/signin.vue: - username: "Username" - password: "Password" - token: "Token" - signing-in: "Signing in..." - or: "Or" - signin-with-twitter: "Log in with Twitter" - signin-with-github: "Sign in with GitHub" - signin-with-discord: "Sign in with Discord" - login-failed: "Unable to log in. The username or password you entered is incorrect." - tap-key: "Click on the Security Key to log in" - enter-2fa-code: "Enter your verification code" -common/views/components/signup.vue: - invitation-code: "Invitation code" - invitation-info: "If you do not have an invitation code, please contact an administrator." - username: "Username" - checking: "Confirming..." - available: "Available" - unavailable: "Unavailable" - error: "Network error" - invalid-format: "letters, numbers and _ are acceptable." - too-short: "Should not be blank!" - too-long: "Enter within 20 characters." - password: "Password" - password-placeholder: "More than 8 characters are recommended." - weak-password: "Weak password" - normal-password: "Fair password" - strong-password: "Strong password" - retype: "Re-enter" - retype-placeholder: "Confirm your password" - password-matched: "OK" - password-not-matched: "Doesn't match" - recaptcha: "Verification" - agree-to: "Accept {0}." - tos: "Terms Of Service" - create: "Create an Account" - some-error: "An attempt at account creation has failed for some reason. Please try again." -common/views/components/special-message.vue: - new-year: "Happy New Year!" - christmas: "Merry Christmas!" -common/views/components/stream-indicator.vue: - connecting: "Connecting" - reconnecting: "Reconnecting" - connected: "Connected" -common/views/components/notification-settings.vue: - title: "Notifications" - mark-as-read-all-notifications: "Mark all notifications as read" - mark-as-read-all-unread-notes: "Mark all posts as read" - mark-as-read-all-talk-messages: "Mark all conversations as read" - auto-watch: "Automatically watch out for posts" - auto-watch-desc: "Automatically receive notifications about posts you react to, or respond to." -common/views/components/integration-settings.vue: - title: "Service cooperation" - connect: "Connect" - disconnect: "Disconnect" - connected-to: "You are connected to this account" -common/views/components/github-setting.vue: - description: "Once you connect your GitHub account to your Misskey account, you will be able to see information about your GitHub account on your profile, and you will be able to sign-in via GitHub." - connected-to: "You are connected to this GitHub account" - detail: "More..." - reconnect: "Reconnect" - connect: "Link your GitHub account" - disconnect: "Disconnect" -common/views/components/discord-setting.vue: - description: "Once you connect your Discord account to your Misskey account, you will be able to see information from your Discord account on your profile, and you will be able to sign-in using Discord." - connected-to: "You are connected to this Discord account" - detail: "Details…" - reconnect: "Reconnect" - connect: "Link your Discord account" - disconnect: "Disconnect" -common/views/components/uploader.vue: - waiting: "Waiting" -common/views/components/visibility-chooser.vue: - public: "Public" - home: "Home" - home-desc: "Post to Home only" - followers: "Followers" - followers-desc: "Post to Followers only" - specified: "Direct" - specified-desc: "Post to specified users only" - local-public: "Local (Public)" - local-public-desc: "Do not publish to remote" - local-home: "Home (Only local)" - local-followers: "Followers (Only local)" -common/views/components/trends.vue: - count: "{} users mentioned" - empty: "No popular hashtag trends" -common/views/components/language-settings.vue: - title: "Display Language" - pick-language: "Select a language" - recommended: "Recommended" - auto: "Auto" - specify-language: "Specify language" - info: "You need to reload the page for the changes to take effect." -common/views/components/profile-editor.vue: - title: "Profile" - name: "Name" - account: "Account" - location: "Location" - description: "About me" - you-can-include-hashtags: "You can also include hashtags in your profile description." - language: "Language" - birthday: "Birthday" - avatar: "Avatar" - banner: "Banner" - is-cat: "This account is a Cat" - is-bot: "This account is a Bot" - is-locked: "Follower requests require approval" - careful-bot: "Follower requests from bots require approval" - auto-accept-followed: "Automatically approve follows from the people you follow" - advanced: "Other" - privacy: "Privacy" - save: "Save" - saved: "Profile updated successfully" - uploading: "Uploading" - upload-failed: "Failed to upload" - unable-to-process: "The operation could not be completed." - avatar-not-an-image: "The file you specified as an avatar is not an image" - banner-not-an-image: "The file you specified as a banner is not an image" - email: "Email settings" - email-address: "Email Address" - email-verified: "Your email has been verified." - email-not-verified: "Email address is not confirmed. Please check your inbox." - export: "Export" - import: "Import" - export-and-import: "Export and Import" - export-targets: - all-notes: "All posted Notes" - following-list: "List of followers" - mute-list: "List of muted accounts" - blocking-list: "List of blocked accounts" - user-lists: "Lists" - export-requested: "You have requested an export. This may take a while. After the export is complete, the resulting file will be added to the drive." - import-requested: "You have initiated an import. This may take quite some time." - enter-password: "Please enter your password" - danger-zone: "Cautious options" - delete-account: "Remove the account" - account-deleted: "The account has been deleted. It may take some time until all of the data disappears." - profile-metadata: "Profile metadata" - metadata-label: "Label" - metadata-content: "Content" -common/views/components/user-list-editor.vue: - users: "User" - rename: "Rename list" - delete: "Delete list" - remove-user: "Remove from this list" - delete-are-you-sure: "Delete list \"$1\"?" - deleted: "Deleted successfully" - add-user: "Add a user" -common/views/components/user-group-editor.vue: - users: "Members" - rename: "Rename group" - delete: "Delete group" - transfer: "transfer group" - transfer-are-you-sure: "Are you sure you want to add @$2 to the group $1?" - transferred: "Group transferred" - remove-user: "Remove a user from this group" - delete-are-you-sure: "Are you sure to delete group \"$1\"?" - deleted: "Deleted" - invite: "Invite" - invited: "The invitation was successfully sent" -common/views/components/user-lists.vue: - user-lists: "Lists" - create-list: "Create a list" - list-name: "List name" -common/views/components/user-groups.vue: - user-groups: "Groups" - create-group: "Create a group" - group-name: "Group name" - owned-groups: "My groups" - joined-groups: "Membership in groups" - invites: "Invite" - accept-invite: "Join" - reject-invite: "Decline" -common/views/widgets/broadcast.vue: - fetching: "Checking" - no-broadcasts: "No announcements" - have-a-nice-day: "Have a nice day!" - next: "Next" - prev: "Previous" -common/views/widgets/calendar.vue: - year: "Year {}" - month: "{}," - day: "{}" - today: "Today: " - this-month: "Month:" - this-year: "Year:" -common/views/widgets/photo-stream.vue: - title: "Photo stream" - no-photos: "No photos" -common/views/widgets/posts-monitor.vue: - title: "Chart of posts" - toggle: "Toggle views" -common/views/widgets/hashtags.vue: - title: "Hashtags" -common/views/widgets/server.vue: - title: "Server info" - toggle: "Toggle views" -common/views/widgets/memo.vue: - title: "Sticky note" - memo: "Write here!" - save: "Save" -common/views/widgets/slideshow.vue: - folder-customize-mode: "To specify a folder, please exit customization mode" - folder: "Please click and specify a folder" - no-image: "There is no image in this folder" -common/views/widgets/tips.vue: - tips-line1: "You can focus on the timeline with t." - tips-line2: "Open posting form with p or n." - tips-line3: "You can drag and drop files on the post form." - tips-line4: "You can paste an image from the clipboard into the submission form." - tips-line5: "You can upload files by dragging and dropping them to Drive." - tips-line6: "You can move a folder by dragging it within the Drive." - tips-line7: "You can move folders by dragging them within the Drive." - tips-line8: "The Home layout can be customized from the settings." - tips-line9: "Misskey is licensed under AGPLv3." - tips-line10: "Using the Time Machine widget makes it easy to trace back to the past timeline." - tips-line11: "You can pin posts to user page by clicking on \"...\"" - tips-line13: "All the files attached to the post are saved to Drive." - tips-line14: "While customizing your home layout, you can right click on a widget to change its design." - tips-line17: "Surrounding the text with ** ** will highlight it." - tips-line19: "Several windows can be detached outside the browser." - tips-line20: "The percentage of the calendar widget shows the percentage of time elapsed." - tips-line21: "You can also use the API to develop bots." - tips-line23: "Ai-chan kawaii!" - tips-line24: "Misskey has been running since 2014." - tips-line25: "In a browser compatible with notification features, you can receive notifications in case Misskey is not open" -common/views/pages/not-found.vue: - page-not-found: "The page has not been found" -common/views/pages/follow.vue: - signed-in-as: "Signed in as {}" - following: "Following" - follow: "Follow" - request-pending: "Pending follow request" - follow-processing: "Processing follow" - follow-request: "Follow request" -common/views/pages/follow-requests.vue: - received-follow-requests: "Follow requests" - accept: "Accept" - reject: "Reject" -desktop: - banner-crop-title: "Crop the part that appears as a banner" - banner: "Banner" - uploading-banner: "Uploading a new banner" - banner-updated: "Successfully updated the banner" - choose-banner: "Choose the banner" - avatar-crop-title: "Crop the part that appears as an avatar" - avatar: "Avatar" - uploading-avatar: "Uploading a new avatar" - avatar-updated: "Successfully updated the avatar" - choose-avatar: "Select an image for the avatar" - unable-to-process: "The operation could not be completed." - invalid-filetype: "This filetype is not acceptable here" -desktop/views/components/activity.chart.vue: - total: "Black ... Total" - notes: "Blue ... Notes" - replies: "Red ... Replies" - renotes: "Green ... Renotes" -desktop/views/components/activity.vue: - title: "Activity" - toggle: "Toggle views" -desktop/views/components/calendar.vue: - title: "{year} / {month}" - prev: "Previous month" - next: "Next month" - go: "Click to navigate" -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "{count} File(s) selected" - upload: "Upload files from your device" - cancel: "Cancel" - ok: "OK" - choose-prompt: "Choose files" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Cancel" - ok: "OK" - choose-prompt: "Choose a folder" -desktop/views/components/crop-window.vue: - skip: "Skip cropping" - cancel: "Cancel" - ok: "OK" -desktop/views/components/drive-window.vue: - used: "used" -desktop/views/components/drive.file.vue: - avatar: "Avatar" - banner: "Banner" - nsfw: "NSFW" - contextmenu: - rename: "Rename" - mark-as-sensitive: "Mark as 'sensitive'" - unmark-as-sensitive: "Unmark as 'sensitive'" - copy-url: "Copy URL" - download: "Download" - else-files: "Other" - set-as-avatar: "Set as avatar" - set-as-banner: "Set as a banner" - open-in-app: "Open in app" - add-app: "Add app" - rename-file: "Rename file" - input-new-file-name: "Enter new name" - copied: "Copied" - copied-url-to-clipboard: "URL has been copied to clipboard" -desktop/views/components/drive.folder.vue: - upload-folder: "Default Upload location" - unable-to-process: "The operation could not be completed." - circular-reference-detected: "The destination folder is a subfolder of the folder you wish to move." - unhandled-error: "Unknown error" - unable-to-delete: "Unable to delete" - has-child-files-or-folders: "Since this folder is not empty, it can not be deleted." - contextmenu: - move-to-this-folder: "Move to this folder" - show-in-new-window: "Open in new window" - rename: "Rename" - rename-folder: "Rename folder" - input-new-folder-name: "Enter new name" - else-folders: "Other" - set-as-upload-folder: "Set as default upload folder" -desktop/views/components/drive.vue: - search: "Search" - empty-draghover: "Drop it here! Yep, cuz you know I'm cute, right?" - empty-drive: "Your media storage is empty" - empty-drive-description: "Right-click to open the menu, or drag and drop a file onto here for uploading." - empty-folder: "This folder is empty" - unable-to-process: "The operation could not be completed." - circular-reference-detected: "The destination folder is a subfolder of the folder you wish to move." - unhandled-error: "Unknown error" - url-upload: "Upload from a URL" - url-of-file: "URL of file you want to upload" - url-upload-requested: "Upload requested" - may-take-time: "It may take some time until the upload is complete." - create-folder: "Create a folder" - folder-name: "Folder name" - contextmenu: - create-folder: "Create a folder" - upload: "Upload a file" - url-upload: "Upload from a URL" -desktop/views/components/media-video.vue: - sensitive: "The content is NSFW" - click-to-show: "Click to show" -desktop/views/components/followers-window.vue: - followers: "{}'s followers" -desktop/views/components/followers.vue: - empty: "Seems like you don’t have any followers." -desktop/views/components/following-window.vue: - following: "Following {}" -desktop/views/components/following.vue: - empty: "It seems you don't have any following users…" -desktop/views/components/game-window.vue: - game: "Reversi" -desktop/views/components/home.vue: - done: "Done" - add-widget: "Add widget:" - add: "Add" -desktop/views/input-dialog.vue: - cancel: "Cancel" - ok: "OK" -desktop/views/components/note-detail.vue: - private: "Post is private" - deleted: "Post has been removed" - location: "Location" - renote: "Renote" - add-reaction: "Add a reaction" - undo-reaction: "Reverse reaction" -desktop/views/components/note.vue: - reply: "Reply" - renote: "Renote" - add-reaction: "Add a reaction" - undo-reaction: "Reverse reaction" - detail: "Details" - private: "This post is private" - deleted: "This post has been deleted" -desktop/views/components/notes.vue: - error: "Loading failed." - retry: "Retry" -desktop/views/components/notifications.vue: - empty: "No notifications!" -desktop/views/components/post-form.vue: - posted: "Posted!" - replied: "Replied!" - reposted: "Renoted!" - note-failed: "Failed to post" - reply-failed: "Failed to reply" - renote-failed: "Failed to Renote" -desktop/views/components/post-form-window.vue: - note: "New Post" - reply: "Reply" - attaches: "{} media attached" - uploading-media: "Uploading {} media" -desktop/views/components/progress-dialog.vue: - waiting: "Waiting" -desktop/views/components/renote-form.vue: - quote: "Quote..." - cancel: "Cancel" - renote: "Renote" - renote-home: "Renote (Home)" - reposting: "Renoting..." - success: "Renoted!" - failure: "Failed to Renote" -desktop/views/components/renote-form-window.vue: - title: "Do you want to renote it?" -desktop/views/pages/user-following-or-followers.vue: - following: "{user}'s following" - followers: "{user}'s follower" -desktop/views/components/settings.2fa.vue: - intro: "If you set up 2-step verification, you will not only need a password at sign-in, but also a pre-registered physical device (such as your smartphone), which will improve security." - detail: "Details…" - url: "https://www.google.com/landing/2step/" - caution: "If you lose access to your registered device, you won't be able to connect to Misskey anymore!" - register: "Register a device" - already-registered: "This device is already registered" - unregister: "Unregister" - unregistered: "Two-factor authentication has been disabled." - enter-password: "Enter the password" - authenticator: "First, you need to install Google Authenticator on your device:" - howtoinstall: "How to install" - token: "Token" - scan: "And then, scan the QR code:" - done: "Please enter the token displayed on your device:" - submit: "Submit" - success: "Settings saved!" - failed: "Failed to setup. Please ensure that the token is correct." - info: "From the next time you sign in to Misskey, the token displayed on your device will be necessary too, as well as the password." - totp-header: "Authenticator App" - security-key-header: "Security Key" - security-key: "For additional security, you can log in to your account using a hardware Security Key that supports FIDO2. When you then sign in, you'll need the registered Security Key, or an authenticator app with you." - last-used: "Last used:" - activate-key: "Click to activate the Security Key" - security-key-name: "Name the Key" - register-security-key: "Complete Key registration" - something-went-wrong: "Wow! There was a problem registering the Key:" - key-unregistered: "The Key has been deleted" - use-password-less-login: "Use Password-less login" -common/views/components/media-image.vue: - sensitive: "NSFW" - click-to-show: "Click to show" -common/views/components/api-settings.vue: - intro: "To access the API, set this token as the key 'i' of request parameters." - caution: "Do not enter this token to any apps nor tell this token to others otherwise your account may get compromised." - regeneration-of-token: "If your token gets leaked, you can regenerate it." - regenerate-token: "Regenerate the token" - token: "Token:" - enter-password: "Enter the password" - console: - title: "API console" - endpoint: "Endpoint" - parameter: "Parameters" - credential-info: "Parameter \"i\" is not required at this console." - send: "Send" - sending: "Sending" - response: "Result" -desktop/views/components/settings.apps.vue: - no-apps: "No linked applications" -common/views/components/drive-settings.vue: - max: "Max" - in-use: "In use" - stats: "Statistics" - default-upload-folder: "Default upload folder location" - default-upload-folder-name: "Folder(s)" - change-default-upload-folder: "Change folder" -common/views/components/mute-and-block.vue: - mute-and-block: "Mute / Block" - mute: "Mute" - block: "Blocking" - no-muted-users: "No muted users" - no-blocked-users: "No blocked users" - word-mute: "Word mute" - muted-words: "Muted keywords" - muted-words-description: "Separating with spaces results in AND specifications, and delimiting with line breaks results in OR specifications" - unmute-confirm: "Are you certain that you want to unmute this user?" - unblock-confirm: "Are you certain that you want to unblock this user?" - save: "Save" -common/views/components/password-settings.vue: - reset: "Change password" - enter-current-password: "Enter the current password" - enter-new-password: "Enter the new password" - enter-new-password-again: "Enter the new password again" - not-match: "The new passwords do not match" - changed: "Password changed" - failed: "Failed to change password" -common/views/components/post-form-attaches.vue: - attach-cancel: "Remove Attachment" - mark-as-sensitive: "Mark as 'sensitive'" - unmark-as-sensitive: "Unmark as 'sensitive'" -desktop/views/components/sub-note-content.vue: - private: "This post is private" - deleted: "This post has been deleted" - media-count: "{} media attached" - poll: "Poll" -desktop/views/components/settings.tags.vue: - title: "Tags" - query: "Query (optional)" - add: "Add" - save: "Save" -desktop/views/components/timeline.vue: - home: "Home" - local: "Local" - hybrid: "Social" - global: "Global" - mentions: "Mentions" - messages: "Direct posts" - list: "Lists" - hashtag: "Hashtag" - add-tag-timeline: "Add hashtag cloud" - add-list: "Add list" - list-name: "List name" -desktop/views/components/ui.header.vue: - welcome-back: "Welcome back," - adjective: "-san" -desktop/views/components/ui.header.account.vue: - profile: "Your profile" - lists: "Lists" - groups: "Groups" - follow-requests: "Follow requests" - admin: "Admin" - room: "Room" -desktop/views/components/ui.header.nav.vue: - game: "Games" -desktop/views/components/ui.header.notifications.vue: - title: "Notifications" -desktop/views/components/ui.header.post.vue: - post: "Compose new Post" -desktop/views/components/ui.header.search.vue: - placeholder: "Search" -desktop/views/components/user-preview.vue: - notes: "Posts" - following: "Following" - followers: "Followers" -desktop/views/components/users-list.vue: - all: "All" - iknow: "You know" - fetching: "Loading…" -desktop/views/components/users-list-item.vue: - followed: "Follows you" -desktop/views/components/window.vue: - popout: "Pop-out" - close: "Close" -admin/views/index.vue: - dashboard: "Dashboard" - instance: "Instance" - emoji: "Emoji" - moderators: "Moderators" - users: "Users" - federation: "Federation" - announcements: "Announcements" - abuse: "Abuse" - queue: "Job Queue" - logs: "Logs" - db: "Database" - back-to-misskey: "Back to Misskey" -admin/views/db.vue: - tables: "Tables" - vacuum: "Vacuum" - vacuum-info: "Tidies up the database. Keeps the data intact and reduces disk usage. This is usually done automatically and periodically." - vacuum-exclamation: "Vacuuming can overload the database for a while, and cause users not to be able to participate in interactions." -admin/views/dashboard.vue: - dashboard: "Dashboard" - accounts: "Accounts" - notes: "Notes" - drive: "Drive" - instances: "Instances" - this-instance: "This instance" - federated: "Federated" -admin/views/queue.vue: - title: "Queue" - remove-all-jobs: "Clear all queued jobs" - jobs: "Jobs" - queue: "Queue" - domains: - deliver: "Delivers" - inbox: "Received" - db: "Database" - objectStorage: "Object Storage" - state: "Sort" - states: - active: "Running" - delayed: "Scheduled" - waiting: "Queued" - result-is-truncated: "Result is truncated" - other-queues: "Other queues" -admin/views/logs.vue: - logs: "Logs" - domain: "Domain" - level: "Level" - levels: - all: "All" - info: "Information" - success: "Success" - warning: "Warning" - error: "Error" - debug: "Debug" - delete-all: "Remove All" -admin/views/abuse.vue: - title: "Abuse" - target: "Target" - reporter: "Reporter" - details: "Details" - remove-report: "Remove" -admin/views/instance.vue: - instance: "Instance" - instance-name: "Instance name" - instance-description: "Instance description" - host: "Host" - icon-url: "URL of the icon" - logo-url: "URL of the logo" - banner-url: "Banner image URL" - error-image-url: "Error image URL" - languages: "Language of this instance" - languages-desc: "You can add more than one, separated by spaces." - tos-url: "Terms of Service URL" - repository-url: "Repository URL" - feedback-url: "URL for feedback" - maintainer-config: "Administrator information" - maintainer-name: "Administrator name" - maintainer-email: "Contact Administrator" - advanced-config: "Other settings" - note-and-tl: "Notes and timelines" - drive-config: "Drive settings" - use-object-storage: "Use Object Storage" - object-storage-base-url: "URL" - object-storage-bucket: "Bucket Name" - object-storage-prefix: "Prefix" - object-storage-endpoint: "Endpoint" - object-storage-region: "Region" - object-storage-port: "Port" - object-storage-access-key: "Access Key" - object-storage-secret-key: "Secret Key" - object-storage-use-ssl: "Use SSL" - object-storage-s3-info: "If you are going to use Amazon S3 as Object Storage, Please refer {0} to configure 'Endpoint' and 'Region'." - object-storage-s3-info-here: "here" - object-storage-gcs-info: "If you are going to use Google Cloud Storage as Object Storage, Set the 'Endpoint' as storage.googleapis.com, and keep the 'Region' is blank." - cache-remote-files: "Cache remote files" - cache-remote-files-desc: "If disabled, All remote files going to be linked to their origin server directly. This will be an effective solution to save your server storage. However, Since no thumbnail will be generated, It will make increasing data usage, and also may remote files are invisible to users who set direct-link disabled. It is recommended that this config set enabled or enabling the next config, 'Proxy remote files'." - proxy-remote-files: "Proxy remote files" - proxy-remote-files-desc: "If enabled, Remote files that not stored locally or deleted by storage overusage will be proxied locally and also thumbnails will be generated." - local-drive-capacity-mb: "Volume of Drive per user" - remote-drive-capacity-mb: "Volume of Drive per remote user" - mb: "In megabytes" - recaptcha-config: "the reCAPTCHA settings" - recaptcha-info: "reCAPTCHA token is required. Please get it on https://www.google.com/recaptcha/intro/" - recaptcha-info2: "v3 is not supported. Please use v2." - enable-recaptcha: "enable reCAPTCHA" - recaptcha-site-key: "Site key" - recaptcha-secret-key: "Secret Key" - recaptcha-preview: "Preview" - hidden-tags: "Hidden hashtags" - hidden-tags-info: "List up the hashtags delimited by line breaks that you want exclude from statistics." - external-service-integration-config: "Connect an external service" - twitter-integration-config: "Settings of connecting to Twitter" - twitter-integration-info: "The callback URL is set on {url}." - enable-twitter-integration: "Enable connection to Twitter" - twitter-integration-consumer-key: "Consumer key" - twitter-integration-consumer-secret: "Consumer Secret" - github-integration-config: "Setting of connecting to GitHub" - github-integration-info: "The callback URL is set on {url}." - enable-github-integration: "Enable connection to GitHub" - github-integration-client-id: "Client ID" - github-integration-client-secret: "Client Secret" - discord-integration-config: "Discord Integration settings" - discord-integration-info: "The callback URL is set to {url}." - enable-discord-integration: "Enable Discord connection" - discord-integration-client-id: "Client ID" - discord-integration-client-secret: "Client Secret" - proxy-account-config: "Proxy account" - proxy-account-info: "A proxy account is an account that acts as a remote follower for users under certain conditions. For example, when a user adds a remote user to the list, the activity will not be delivered to the server if no one is following that user, so the proxy account will follow instead." - proxy-account-username: "Proxy account user name" - proxy-account-username-desc: "Specify the user name of the account that is used as a proxy." - proxy-account-warn: "You must make an account having this username before this action." - max-note-text-length: "Maximum numbers of post characters" - disable-registration: "Disable new user registration" - disable-local-timeline: "Disable the Local Timeline" - disable-global-timeline: "Disable global timeline" - disabling-timelines-info: "Even if you disable these timelines, the administrator as well as moderators can use them continually." - enable-emoji-reaction: "Enable pictograms for reactions" - use-star-for-reaction-fallback: "Use the star as fallback for unknown reaction" - invite: "Invite" - save: "Save" - saved: "Saved" - pinned-users: "Pinned user" - pinned-users-info: "List up the users delimited by line breaks that you want to show as 'Pinned Users'." - email-config: "Email server settings" - email-config-info: "Used to confirm email and password reset etc." - enable-email: "Enable email delivery" - email: "Email Address" - smtp-secure: "Use implicit SSL/TLS in the SMTP connection" - smtp-secure-info: "Turn off STARTTLS when used that." - smtp-host: "SMTP Host" - smtp-port: "SMTP Port" - smtp-auth: "Perform SMTP authentication" - smtp-user: "SMTP User" - smtp-pass: "SMTP Password" - test-email: "Test" - serviceworker-config: "ServiceWorker" - enable-serviceworker: "Enable ServiceWorker" - serviceworker-info: "Must be enabled for push notifications." - vapid-publickey: "VAPID public key" - vapid-privatekey: "VAPID private key" - vapid-info: "If you want to enable ServiceWorker, you need to generate VAPID keys. Unless you have set your global node_modules location elsewhere, you need to run this as root:" -admin/views/charts.vue: - title: "Chart" - per-day: "per Day" - per-hour: "per Hour" - federation: "Federation" - notes: "Posts" - users: "Users" - drive: "Media storage" - network: "Network" - charts: - federation-instances: "The number of instances: increase/decrease" - federation-instances-total: "Total number of instances" - notes: "Increase, or decrease in the number of posts (Combined)" - local-notes: "Increase, or decrease in the number of posts (Local)" - remote-notes: "Increase, or decrease in the number of posts (Remote)" - notes-total: "Total posts" - users: "The number of users: increase/decrease" - users-total: "Total users" - active-users: "Active users" - drive: "Increase and decrease in storage capacity use" - drive-total: "Total usage of Drive" - drive-files: "The number of files on the storage: increase/decrease" - drive-files-total: "Total number of files on Drive" - network-requests: "Requests" - network-time: "Response time" - network-usage: "Traffic" -admin/views/drive.vue: - operation: "Operations" - fileid-or-url: "File ID or URL" - file-not-found: "File not found" - lookup: "Look up" - sort: - title: "Sort" - createdAtAsc: "Age - Oldest First" - createdAtDesc: "Age - Newest First" - sizeAsc: "Size - Smallest First" - sizeDesc: "Size - Largest First" - origin: - title: "Origin" - combined: "Local + Remote" - local: "Local" - remote: "Remote" - delete: "Delete" - deleted: "Deleted successfully" - mark-as-sensitive: "Mark as 'sensitive'" - unmark-as-sensitive: "Unmark as 'sensitive'" - marked-as-sensitive: "Set a sensitive content notice" - unmarked-as-sensitive: "Remove the sensitive content notice" - clean-remote-files: "Clear the remote files cache" - clean-remote-files-are-you-sure: "Are you sure you want to remove all cached files from remote?" - clean-up: "Clean up" -admin/views/users.vue: - operation: "Operations" - username-or-userid: "Username or user ID" - user-not-found: "User not found" - lookup: "Look up" - reset-password: "Reset password" - reset-password-confirm: "Do you want to reset your password?" - password-updated: "The password is now \"{password}\"" - suspend: "Suspend" - suspend-confirm: "Do you want to suspend this account?" - suspended: "Successfully suspended." - unsuspend: "Unsuspend" - unsuspend-confirm: "Are you sure you want to unsuspend this account?" - unsuspended: "The user has successfully unsuspended." - make-silence: "Silence" - silence-confirm: "Silence user?" - unmake-silence: "Unsilence" - unsilence-confirm: "Are you certain that you want to stop silencing this user?" - update-remote-user: "Update information about remote user" - remote-user-updated: "The information regarding the remote user has been updated." - delete-all-files: "Delete all files" - delete-all-files-confirm: "Are you sure that you want to delete all files?" - username: "Username" - host: "Host" - users: - title: "Users" - sort: - title: "Sort" - createdAtAsc: "Date Registered (Ascending)" - createdAtDesc: "Date Registered (Descending)" - updatedAtAsc: "Last Updated (Ascending)" - updatedAtDesc: "Last Updated (Descending)" - state: - title: "Sort" - all: "All" - available: "Available" - admin: "Administrator" - moderator: "Moderator" - adminOrModerator: "Admin/Moderator" - silenced: "Already silenced" - suspended: "Suspended" - origin: - title: "Origin" - combined: "Local + Remote" - local: "Local" - remote: "Remote" - createdAt: "Created at" - updatedAt: "Updated at" -admin/views/moderators.vue: - add-moderator: - title: "Register Moderator" - add: "Register" - added: "Registered a Moderator." - remove: "Discharge" - removed: "The moderator has been discharged" - logs: - title: "Logs" - moderator: "Moderators" - type: "Operations" - at: "Timestamp" - info: "Information" -admin/views/emoji.vue: - add-emoji: - title: "Add emoji" - name: "Emoji name" - name-desc: "You can use the characters a~z 0~9 _" - category: "Categories" - aliases: "Aliases" - aliases-desc: "You can add more than one, separated by spaces." - url: "Image URL" - add: "Add" - info: "We recommend PNG images under 50KB." - added: "Emoji was added" - emojis: - title: "Emojis" - update: "Update" - remove: "Remove" - updated: "Updated" - remove-emoji: - are-you-sure: "Delete \"$1\"?" - removed: "Deleted" -admin/views/announcements.vue: - announcements: "Announcements" - save: "Save" - remove: "Remove" - add: "Add" - title: "Title" - text: "Content" - saved: "Saved" - _remove: - are-you-sure: "Delete \"$1\"?" - removed: "Deleted" -admin/views/hashtags.vue: - hided-tags: "Hidden Tags" -admin/views/federation.vue: - instance: "Instance" - host: "Host" - notes: "Notes" - users: "Users" - following: "Following" - followers: "Followers" - caught-at: "Created at" - status: "Statuses" - latest-request-sent-at: "Time of last request sent" - latest-request-received-at: "Last request received at" - remove-all-following: "Withold all followers" - remove-all-following-info: "Unfollow all accounts from {host}. Please run this if the instance no longer exists." - delete-all-files: "Remove all files" - block: "Block" - marked-as-closed: "Marked as closed" - lookup: "Look up" - instances: "Federated" - instance-not-registered: "The instance has not been discovered" - sort: "Sort by" - sorts: - caughtAtAsc: "Date of discovery (Ascending)" - caughtAtDesc: "Date of discovery (Descending)" - lastCommunicatedAtAsc: "The date and time of the older interactions" - lastCommunicatedAtDesc: "The date and time of the newer interactions" - notesAsc: "Least Notes posted" - notesDesc: "Most Notes posted" - usersAsc: "Less followers" - usersDesc: "More followers" - followingAsc: "Least followed" - followingDesc: "Most followed" - followersAsc: "Having less followers" - followersDesc: "The largest number of followers" - driveUsageAsc: "Least storage used" - driveUsageDesc: "Most storage used" - driveFilesAsc: "Least files stored on Drive" - driveFilesDesc: "The largest number of files stored on Drive" - state: "Sort" - states: - all: "All" - blocked: "Blocked" - not-responding: "Without response" - marked-as-closed: "Marked as closed" - result-is-truncated: "Displaying the top {n} items." - charts: "Charts" - chart-srcs: - requests: "Requests" - users: "Increase, or decrease in the number of users" - users-total: "Users in total" - notes: "Increase, or decrease in the number of notes" - notes-total: "Total number of notes" - ff: "Increase of followers" - ff-total: "Total number of follows accumulated" - drive-usage: "Increase and decrease in storage use" - drive-usage-total: "Total usage of the Drive" - drive-files: "Increase, or decrease in the number of files stored on Drive" - drive-files-total: "The number of files accumulated on Drive" - chart-spans: - hour: "Hourly" - day: "Daily" - blocked-hosts: "Blocking" - blocked-hosts-info: "List up the hosts delimited by line breaks that you want to block." - save: "Save" -desktop/views/pages/welcome.vue: - about: "More details..." - timeline: "Timeline" - announcements: "Announcements" - photos: "Recent Images" - powered-by-misskey: "Powered by Misskey." - info: "Information" -desktop/views/pages/drive.vue: - title: "Misskey storage" -desktop/views/pages/note.vue: - prev: "Previous post" - next: "Next post" -desktop/views/pages/selectdrive.vue: - title: "Choose file(s)" - ok: "OK" - cancel: "Cancel" - upload: "Upload files from your device" -desktop/views/pages/search.vue: - not-available: "Search feature is turned off in the settings for this instance." - not-found: "No posts were found for '{q}'" -desktop/views/pages/tag.vue: - no-posts-found: "No posts contains \"{q}\" found." -desktop/views/pages/user-list.users.vue: - users: "User" - add-user: "Add a user" - username: "Username" -desktop/views/pages/user/user.followers-you-know.vue: - title: "Followers you may know" - loading: "Loading" - no-users: "No followers you know" -desktop/views/pages/user/user.friends.vue: - title: "Frequent mentions" - loading: "Loading" - no-users: "No frequent mentions" -desktop/views/pages/user/user.photos.vue: - title: "Photos" - loading: "Loading" - no-photos: "No photos" -desktop/views/pages/user/user.header.vue: - posts: "Notes" - following: "Following" - followers: "Followers" - is-bot: "This account is a Bot" - no-description: "This user has not written their profile introduction" - years-old: "{age} years old" - year: "/" - month: "/" - day: "-" - follows-you: "Follows you" -desktop/views/pages/user/user.timeline.vue: - default: "Posts" - with-replies: "Posts and replies" - with-media: "Media" - my-posts: "My posts" -desktop/views/widgets/notifications.vue: - title: "Notifications" -desktop/views/widgets/polls.vue: - title: "Polls" - refresh: "refresh" - nothing: "No polls found!" -desktop/views/widgets/post-form.vue: - title: "Post" - note: "Post" - something-happened: "Could not be posted in this circumstance." -desktop/views/widgets/profile.vue: - update-banner: "Click to edit your banner" - update-avatar: "Click to edit your avatar" -desktop/views/widgets/trends.vue: - title: "Trend" - refresh: "refresh" - nothing: "No trends found!" -desktop/views/widgets/users.vue: - title: "Recommended users" - refresh: "refresh" - no-one: "Anyone!" -mobile/views/components/drive.vue: - used: "used" - folder-count: "Folder(s)" - count-separator: ", " - file-count: "File(s)" - nothing-in-drive: "There's nothing stored." - folder-is-empty: "This folder is empty" - folder-name: "Folder name" - here-is-root: "Currently, you are on the root, not inside of any folder." - url-prompt: "URL of the file you want to upload" - uploading: "Upload requested. It may take a while for the upload to finish." - folder-name-cannot-empty: "Folder name cannot be blank." -mobile/views/components/drive-file-chooser.vue: - select-file: "Choose files" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "Choose a folder" -mobile/views/components/drive.file.vue: - nsfw: "NSFW" -mobile/views/components/drive.file-detail.vue: - download: "Download" - rename: "Rename" - move: "Move" - hash: "Hash (md5)" - exif: "EXIF" - nsfw: "NSFW" - mark-as-sensitive: "Mark as 'sensitive'" - unmark-as-sensitive: "Unmark as 'sensitive'" -mobile/views/components/media-video.vue: - sensitive: "The content is NSFW" - click-to-show: "Click to show" -common/views/components/follow-button.vue: - following: "Following" - follow: "Follow" - request-pending: "Pending" - follow-processing: "Processing" - follow-request: "Follow request" -mobile/views/components/note.vue: - private: "This post is private" - deleted: "This post has been deleted" - location: "Location" -mobile/views/components/note-detail.vue: - reply: "Reply" - reaction: "Reaction" - private: "This post is private" - deleted: "This post has been deleted" - location: "Location" -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "cat" -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "cat" -mobile/views/components/notifications.vue: - empty: "No notifications" -mobile/views/components/sub-note-content.vue: - private: "This post is private" - deleted: "This post has been deleted" - media-count: "{} media attached" - poll: "Poll" -mobile/views/components/ui.header.vue: - welcome-back: "Welcome back, " - adjective: "Sir" -mobile/views/components/ui.nav.vue: - timeline: "Timeline" - notifications: "Notifications" - follow-requests: "Follow requests" - search: "Search" - user-lists: "Lists" - user-groups: "Groups" - widgets: "Widgets" - game: "Games" - admin: "Admin" - about: "About Misskey" -mobile/views/pages/drive.vue: - contextmenu: - upload: "Upload a file" - url-upload: "Upload file from a URL" - create-folder: "Create a folder" - rename-folder: "Rename folder" - move-folder: "Move this folder" - delete-folder: "Delete this folder" -mobile/views/pages/signup.vue: - lets-start: "Your account is now ready! 📦" -mobile/views/pages/followers.vue: - followers-of: "{name}'s followers" -mobile/views/pages/following.vue: - following-of: "{name}'s following" -mobile/views/pages/home.vue: - home: "Home" - local: "Local" - hybrid: "Social" - global: "Global" - mentions: "Mentions" - messages: "Direct posts" -mobile/views/pages/tag.vue: - no-posts-found: "No posts contains \"{q}\" found." -mobile/views/pages/widgets.vue: - dashboard: "Dashboard" - widgets-hints: "You can add/delete/rearrange widgets. To move the widget, drag \"三\". Tap \"x\" to delete the widget. Some widgets can change display by tapping." - add-widget: "Add" - customization-tips: "Customization tips" -mobile/views/pages/widgets/activity.vue: - activity: "Activity" -mobile/views/pages/share.vue: - share-with: "Share on {name}" -mobile/views/pages/note.vue: - title: "Post" - prev: "Previous note" - next: "Next note" -mobile/views/pages/games/reversi.vue: - reversi: "Reversi" -mobile/views/pages/search.vue: - search: "Search" - not-found: "No posts were found for '{q}'" -mobile/views/pages/selectdrive.vue: - select-file: "Choose files" -mobile/views/pages/notifications.vue: - notifications: "Notifications" -mobile/views/pages/settings.vue: - signed-in-as: "Signed in as {}" -mobile/views/pages/user.vue: - follows-you: "Follows you" - following: "Following" - followers: "Followers" - notes: "Posts" - overview: "Overview" - timeline: "Timeline" - media: "Media" - years-old: "{age} years old" -mobile/views/pages/user/home.vue: - recent-notes: "Recent notes" - images: "Images" - activity: "Activity" - keywords: "Keywords" - domains: "Domains" - frequently-replied-users: "Frequent mentions" - followers-you-know: "Followers you know" - last-used-at: "Last active:" -mobile/views/pages/user/home.photos.vue: - no-photos: "No photos" -deck: - widgets: "Widgets" - home: "Home" - local: "Local" - hybrid: "Social" - hashtag: "Hashtag" - global: "Global" - mentions: "Mentions" - direct: "Direct posts" - notifications: "Notifications" - list: "List" - select-list: "Select a list" - swap-left: "Move left" - swap-right: "Move right" - swap-up: "Move up" - swap-down: "Move down" - remove: "Remove" - add-column: "Add a column" - rename: "Rename" - stack-left: "Stack to the left" - pop-right: "Dock on the right" - disabled-timeline: - title: "The timeline has been disabled" - description: "This timeline has been disabled by the server's administrator." -deck/deck.tl-column.vue: - is-media-only: "Only media posts" - edit: "Options" -deck/deck.user-column.vue: - follows-you: "Follows you" - posts: "Posts" - following: "Following" - followers: "Followers" - images: "Images" - activity: "Activity" - timeline: "Timeline" - pinned-notes: "Pinned posts" - pinned-page: "Pinned page" -docs: - edit-this-page-on-github: "Found an error, or do you want to contribute to the documentation?" - edit-this-page-on-github-link: "Edit this page at GitHub!" -dev/views/index.vue: - manage-apps: "Manage apps" -dev/views/apps.vue: - manage-apps: "Manage apps" - create-app: "Create app" - app-missing: "No apps" -dev/views/new-app.vue: - new-app: "New Application" - new-app-info: "You can also create an application with the API. (app/create)" - create-app: "Creating application" - app-name: "Application name" - app-name-placeholder: "ex) Misskey for iOS" - app-name-desc: "The name of your app" - app-overview: "Application summary" - app-overview-placeholder: " ex) Misskey iOS Client." - app-overview-desc: "A brief description, or an introduction of your app." - callback-url: "The callback URL (optional)" - callback-url-placeholder: "ex) https://your.app.example.com/callback.php" - callback-url-desc: "The URL to redirect to after the user is authenticated via the authentication form." - authority: "Permissions" - authority-desc: "Only the functions requested here can be accessed via the API." - authority-warning: "You can change it even after creating the application, but if you give different permissions, all user keys associated at that time will be invalidated." -pages: - new-page: "Create a page" - edit-page: "Edit a page" - read-page: "Viewing the source" - page-created: "Created the page!" - page-updated: "Updated the page" - name-already-exists: "The specified page name already exists" - title-invalid-name: "The specified page URL is invalid" - text-invalid-name: "Check whether that is not a blank" - are-you-sure-delete: "Do you want to delete this page?" - page-deleted: "The page has been deleted" - edit-this-page: "Edit this page" - pin-this-page: "Pin to your profile" - unpin-this-page: "Unpin" - view-source: "View Source" - view-page: "View page" - like: "Like" - unlike: "Unlike" - liked-pages: "Favorite pages" - my-pages: "My pages" - inspector: "Inspector" - content: "Page block" - variables: "Variables" - variables-info: "You can make your page more dynamic by using variables. If you write down { variable name } in the text, you can embed the value of the variable there. For example, if the source text is Hello { thing } world! and the value of variable 'thing' is ai , that text becomes to Hello ai world!." - variables-info2: "Because the evaluation(=calculating) of variables are performed from top to bottom, the variable cannot refer another variable which exists on later line. For example, when defining three variables A, B and C, variable C can refer the variable A and B in its expression, but variable A cannot refer the variable B or C in its expression." - variables-info3: "If you want to get some input from the user, place a 'User Input' block on the page and set the variable name as which you want to store that input in 'variable name' (variables are created automatically). You can use that variable to perform actions in response to user's input." - variables-info4: "Function allows make your processing logic as group in a reusable way. To create a function, create a variable of type 'Function'. A function can have a slot (Argument) whose value is available as a variable in the function. There are also functions that take functions as arguments in the AiScript standard (called the higher-order function.). In addition to the predefined functions, you can also set them in the slots of such higher-order functions on the fly." - more-details: "Description" - title: "Title" - url: "Page URL" - summary: "Summary of page" - align-center: "Center align" - hide-title-when-pinned: "Hide page title when pinned to profile" - font: "Font" - fontSerif: "Serif" - fontSansSerif: "Sans Serif" - set-eye-catching-image: "Set an eye-catching image" - remove-eye-catching-image: "Delete an eye-catching image" - choose-block: "Add a block" - select-type: "Select a type" - enter-variable-name: "Please choose a variable name" - the-variable-name-is-already-used: "This variable name is already used" - content-blocks: "Content" - input-blocks: "Input" - special-blocks: "Special" - post-from-post-form: "Post this content" - posted-from-post-form: "Posted!" - blocks: - text: "Text" - textarea: "Text area" - section: "Section" - image: "Images" - button: "Button" - if: "If" - _if: - variable: "Variables" - post: "Post form" - _post: - text: "Content" - textInput: "Text input" - _textInput: - name: "Variable name" - text: "Title" - default: "Default value" - textareaInput: "Multiple type text input" - _textareaInput: - name: "Variable name" - text: "Title" - default: "Default value" - numberInput: "Numeric input" - _numberInput: - name: "Variable name" - text: "Title" - default: "Default value" - switch: "Switch" - _switch: - name: "Variable name" - text: "Title" - default: "Default value" - counter: "Counter" - _counter: - name: "Variable name" - text: "Title" - inc: "Increase number" - _button: - text: "Title" - colored: "Color" - action: "Operation when the button pressed" - _action: - dialog: "Show a dialog" - _dialog: - content: "Content" - resetRandom: "Reset a random number" - pushEvent: "Send an event" - _pushEvent: - event: "Name of the event" - message: "Message to display when pressed" - variable: "Variable to send" - no-variable: "None" - radioButton: "Choices" - _radioButton: - name: "Variable name" - title: "Title" - values: "Item of choices that delimited by line breaks" - default: "Default value" - script: - categories: - flow: "Control" - logical: "Logical operation" - operation: "Compute" - comparison: "Compare" - random: "Random" - value: "Value" - fn: "Function" - text: "Text operation" - convert: "Variable" - list: "Lists" - blocks: - text: "Text" - multiLineText: "Text (Multiple lines)" - textList: "List of text" - _textList: - info: "Separate each one with a newline" - strLen: "Length of text" - _strLen: - arg1: "Text" - strPick: "Extract character" - _strPick: - arg1: "Text" - arg2: "Position of character" - strReplace: "Replace string(s)" - _strReplace: - arg1: "Text" - arg2: "Before replacement" - arg3: "After replacement" - strReverse: "Flip text" - _strReverse: - arg1: "Text" - join: "Text Concatenation" - _join: - arg1: "Lists" - arg2: "Separator" - add: "+ Plus" - _add: - arg1: "A" - arg2: "B" - subtract: "- Minus" - _subtract: - arg1: "A" - arg2: "B" - multiply: "× Multiply" - _multiply: - arg1: "A" - arg2: "B" - divide: "÷ Divide" - _divide: - arg1: "A" - arg2: "B" - mod: "÷ Remaindering" - _mod: - arg1: "A" - arg2: "B" - round: "Round decimal" - _round: - arg1: "Number" - eq: "A and B are equal" - _eq: - arg1: "A" - arg2: "B" - notEq: "A and B are different" - _notEq: - arg1: "A" - arg2: "B" - and: "A and B" - _and: - arg1: "A" - arg2: "B" - or: "A or B" - _or: - arg1: "A" - arg2: "B" - lt: "A is smaller than B" - _lt: - arg1: "A" - arg2: "B" - gt: "A is bigger than B" - _gt: - arg1: "A" - arg2: "B" - ltEq: "A is smaller or same than B" - _ltEq: - arg1: "A" - arg2: "B" - gtEq: "A is bigger or same than B" - _gtEq: - arg1: "A" - arg2: "B" - if: "Branch" - _if: - arg1: "If" - arg2: "then" - arg3: "else" - not: "denial" - _not: - arg1: "denial" - random: "Random" - _random: - arg1: "Probability" - rannum: "Random number" - _rannum: - arg1: "Minimum" - arg2: "Maximum" - randomPick: "Choose at random from the list" - _randomPick: - arg1: "Lists" - dailyRandom: "Random (Daily for each user)" - _dailyRandom: - arg1: "Probability" - dailyRannum: "Random number (Daily for each user)" - _dailyRannum: - arg1: "Minimum" - arg2: "Maximum" - dailyRandomPick: "Choose at random from the list (Daily for each user)" - _dailyRandomPick: - arg1: "Lists" - seedRandom: "Random (Seed)" - _seedRandom: - arg1: "Seed" - arg2: "Probability" - seedRannum: "Random number (Seed)" - _seedRannum: - arg1: "Seed" - arg2: "Minimum" - arg3: "Maximum" - seedRandomPick: "Randomly selected from list (Seed)" - _seedRandomPick: - arg1: "Seed" - arg2: "Lists" - DRPWPM: "Randomly selected from weighted list (Daily updated per user)" - _DRPWPM: - arg1: "List of text" - pick: "Select from list" - _pick: - arg1: "Lists" - arg2: "Position" - listLen: "Get length of list" - _listLen: - arg1: "Lists" - number: "Number" - stringToNumber: "Text to number" - _stringToNumber: - arg1: "Text" - numberToString: "Number to text" - _numberToString: - arg1: "Number" - splitStrByLine: "Split the text by lines" - _splitStrByLine: - arg1: "Text" - ref: "Variables" - fn: "Function" - _fn: - slots: "Slots" - slots-info: "Please delimit each slot with a line break" - arg1: "Output" - for: "Repeat" - _for: - arg1: "Count" - arg2: "Action" - typeError: "Slot {slot} accepts \"{expect}\" type, but It actually contains \"{actual}\" type!" - thereIsEmptySlot: "Slot {slot} is empty!" - types: - string: "Text" - number: "Number" - boolean: "Flag" - array: "Lists" - stringArray: "List of text" - emptySlot: "Empty slot" - enviromentVariables: "Environment variable" - pageVariables: "Page element" - argVariables: "Input slot" -room: - add-furniture: "Place furniture" - translate: "Move" - rotate: "Rotate" - exit: "Deselect" - remove: "Remove" - save: "Save" - saved: "Saved" - clear: "Remove All" - clear-confirm: "Are you sure to remove all furnitures in your room?" - leave-confirm: "There are unsaved changes. Do you really want to leave?" - chooseImage: "Select an image" - room-type: "Room type" - carpet-color: "Color of carpet" - rooms: - default: "Default" - washitsu: "Japanese-style" - furnitures: - milk: "Milk carton" - bed: "Bed" - low-table: "Low Table" - desk: "Desk" - chair: "Chair" - chair2: "Chair 2" - fan: "Fan" - pc: "Computer" - plant: "Houseplant" - plant2: "Houseplant 2" - eraser: "Eraser" - pencil: "Pencil" - pudding: "Pudding" - cardboard-box: "Cardboard Box" - cardboard-box2: "Cardboard Box 2" - cardboard-box3: "Cardboard Box 3" - book: "Book" - book2: "Book 2" - piano: "Piano" - facial-tissue: "Facial tissue" - server: "Servers" - moon: "Moon" - corkboard: "Cork board" - mousepad: "Mousepad" - monitor: "Monitor" - keyboard: "Keyboard" - carpet-stripe: "Carpet (stripe)" - mat: "Mat" - color-box: "Bookshelf" - wall-clock: "Wall clock" - photoframe: "Picture frame" - cube: "Cube" - tv: "TV" - pinguin: "Penguin" - rubik-cube: "Rubik's Cube" - poster-h: "Poster (Horizontal)" - poster-v: "Poster (Vertical)" - sofa: "Sofa" - spiral: "Spiral Staircase" - bin: "Waste bin" - cup-noodle: "Cup noodle" - holo-display: "Holographic display" - energy-drink: "Energy drink" diff --git a/locales/es-ES.yml b/locales/es-ES.yml deleted file mode 100644 index 67a546b86..000000000 --- a/locales/es-ES.yml +++ /dev/null @@ -1,1194 +0,0 @@ ---- -meta: - lang: "Español" -common: - misskey: "Una ⭐️ del fediverso" - about-title: "Una ⭐️ del fediverso" - about: "Gracias por encontrar Misskey. Misskey es una plataforma descentralizada de microblogging nacida en la Tierra. Porque el servicio existe dentro del Fediverso (un universo donde se organizan varias plataformas sociales), se encuentra enlazado mutuamente con otras plataformas sociales. ¿Por qué no te tomas un respiro del caos de la ciudad y te sumerges es una nueva manera de entender Internet?" - intro: - title: "¿Misskey?" - about: "Misskey es un Servicio de red social descentralizada de microblogging de código abierto. Contiene una interfaz de usuario altamente personalizable, reacciones a posts, almacenamiento para poder manejar archivos y otras funciones avanzadas. Además de conectarse con la red llamada Fediverso, puede intercambiar mensajes con otras redes sociales. Por ejemplo, si contribuyes con algo, esa contribución es transmitida no sólo a Misskey sino a otras redes sociales. Imagina que se parece a transmitir una onda de radio de un planeta a otro." - features: "Características" - rich-contents: "Posts" - rich-contents-desc: "Escribe sobre tus pensamientos, eventos, todo lo que quieras compartir. Si es necesario, puedes usar varias sintaxis, decorar tus posts y añadir tus imágenes favoritas, archivos de viddeo y encuestas." - reaction: "Reacciones" - reaction-desc: "La forma mas facil de expresar tus emociones. Misskey te permite añadir varios tipos de reacciones a los posts de otros usuarios. La emperiencia emocional en Misskey nunca será igual que en otra red social, donde solo puedes poner \"likes\"." - ui: "Interfaz" - ui-desc: "No hay ninguna interfaz que le vaya bien a todos. Por eso, Misskey tiene una interfaz altamente personalizable para tus gustos. Puedes hacer tu página principal única editando la interfaz de tu timeline y moviendo varios widgets para conseguir hacer de este lugar uno propio." - drive: "Drive" - drive-desc: "¿Quieres postear de nuevo la imagen que has posteado antes? Si es así, ¿Quieres separar y ordenar en carpetas los archivos que has subido? La característica Drive incorporada en la base de Misskey es la solución. Compartir archivos es simple." - outro: "Aún hay características que solamente están en Misskey, asegúrate de eso con tus propios ojos. Misskey es un servicio de red social distribuida, si no te gusta esta instancia, puedes probar otra instancia. Así que, ¡buena suerte!" - application-authorization: "Autorizaciones de la aplicación." - close: "Cerrar" - do-not-copy-paste: "Por favor no copies código aquí. Tu cuenta puede resultar comprometida." - load-more: "Leer más" - enter-password: "Escribe una contraseña" - 2fa: "Autenticación de dos factores" - customize-home: "Personaliza la página principal" - featured-notes: "Destacados" - dark-mode: "Modo oscuro" - signin: "Iniciar sesión" - signup: "¡Regístrate!" - signout: "Cerrar sesión" - reload-to-apply-the-setting: "Para aplicar esta configuración, hay que recargar la página. ¿Quiere recargar ahora?" - fetching-as-ap-object: "Consultar en el fediverso" - unfollow-confirm: "¿Quiere dejar de seguir a {name}?" - delete-confirm: "¿Seguro que quieres borrar la publicación?" - signin-required: "Inicie sesion" - notification-type: "Tipo de notificación" - notification-types: - all: "Todo" - pollVote: "Encuestas" - follow: "Seguimientos" - receiveFollowRequest: "Solicitudes de seguimiento" - reply: "Responder" - quote: "Citas" - renote: "Volver a publicar" - mention: "Menciones" - reaction: "Reacciones" - got-it: "¡Listo!" - customization-tips: - title: "Consejos de personalización" - paragraph: "

Se puede personalizar el inicio agregando/quitando widgets, arrastrarlos, soltarlos y ordenarlos.

Haciendo Click derecho, se puede modificar la muestra de un widget

Para quitar un widget, arrastre y suelte el widget en el area que dice \"Papelera\" en el cabezal

Para acabar de personalizar, haga click en \"Listo\" arriba a la derecha

" - gotit: "¡Comprendido!" - notification: - file-uploaded: "Archivo cargado." - message-from: "Mensaje de {}:" - reversi-invited: "Invitado a un juego" - reversi-invited-by: "Invitado por {}:" - notified-by: "Notificado por {}:" - reply-from: "Respuesta de {}:" - quoted-by: "Citado por {}:" - time: - unknown: "Desconocido" - future: "Futuro" - just_now: "Ahora mismo" - seconds_ago: "Hace {}" - minutes_ago: "Hace {} minuto(s)" - hours_ago: "Hace {} hora(s)" - days_ago: "Hace {} dia(s)" - weeks_ago: "Hace {} semana(s)" - months_ago: "Hace {} mes(es)" - years_ago: "Hace {} año(s)" - month-and-day: "{day} de {month}" - trash: "Papelera" - drive: "Drive" - pages: "Páginas" - messaging: "Conversación" - home: "Inicio" - deck: "Deck" - timeline: "Timeline" - explore: "Explorar" - following: "Siguiendo" - followers: "Seguidores" - favorites: "Me gusta esta nota" - permissions: - "read:account": "Ver información de la cuenta" - "write:account": "Editar información de la cuenta" - "read:blocks": "Ver bloques" - "write:blocks": "Editar bloques" - "read:drive": "Explorar el drive" - "write:drive": "Administrar el drive" - "read:favorites": "Ver favoritos" - "write:favorites": "Editar favoritos" - "read:following": "Ver información de seguidor" - "write:following": "Seguir/Dejar de seguir" - "read:messaging": "Ver conversación" - "write:messaging": "Administrar coversación" - "read:mutes": "Ver silenciados" - "write:mutes": "Administrar silenciados" - "write:notes": "Crear y eliminar articulos" - "read:notifications": "Ver notificaciones" - "write:notifications": "Administrar notificaciones" - "read:reactions": "Ver reacciones" - "write:reactions": "Administrar reacciones" - "write:votes": "Vota" - "read:pages": "Ver páginas" - "write:pages": "Administrar páginas" - "read:page-likes": "Ver páginas que te gustan" - "write:page-likes": "Administrar páginas que te gustan" - "read:user-groups": "Ver grupos de usuarios" - "write:user-groups": "Administrar grupos de usuarios" - empty-timeline-info: - follow-users-to-make-your-timeline: "Seguir al usuario mostrará sus posts en la linea de tiempo" - explore: "Explorar usuarios" - post-form: - reply: "Responder" - renote: "Volver a publicar" - attach-media-from-local: "Agregar medios de tu dispositivo" - insert-a-kao: "v('ω')v" - recent-tags: "Reciente" - error: "Error" - enter-username: "Ingresar nombre de usuario" - add-visible-user: "Agregar usuario" - username-prompt: "Ingresar nombre de usuario" - enter-file-name: "Editar nombre del archivo" - weekday-short: - sunday: "domingo" - monday: "lunes" - tuesday: "martes" - wednesday: "miércoles" - thursday: "jueves" - friday: "viernes" - saturday: "sábado" - weekday: - sunday: "Domingo" - monday: "Lunes" - tuesday: "Martes" - wednesday: "Miércoles" - thursday: "Jueves" - friday: "Viernes" - saturday: "Sábado" - reactions: - like: "Me gusta" - love: "amor" - laugh: "risa" - hmm: "hmm" - surprise: "sorpresa" - congrats: "felicidades" - angry: "enfadado" - confused: "confundido" - rip: "RIP" - pudding: "Chafado" - note-visibility: - public: "Público" - home: "Inicio" - home-desc: "Sólo en el timeline de inicio" - followers: "Seguidores" - followers-desc: "Sólo para tus seguidores" - specified: "Mensaje directo" - specified-desc: "Sólo para ciertos usuarios" - local-public: "Público (sólo local)" - local-home: "Inicio (sólo local)" - local-followers: "Seguidores (sólo local)" - note-placeholders: - a: "¿Qué haces?" - b: "¿Qué está pasando?" - c: "¿Qué te pasa por la cabeza?" - d: "¿Quieres decir algo?" - e: "¡Escribe aquí!" - f: "Esperando a que escribas algo..." - settings: "Configuración" - _settings: - profile: "Tu perfil" - notification: "Notificaciones" - apps: "Aplicaciones" - tags: "Etiquetas" - mute-and-block: "Silenciar/Bloquear" - blocking: "Bloquear" - security: "Seguridad" - signin: "Historial de ingresos" - password: "Contraseña" - other: "Otros" - appearance: "Diseño" - behavior: "Comportamiento" - reactions: "Reacciones" - fetch-on-scroll-desc: "Cuando te deslizas al final de la página nuevo contenido se carga automáticamente." - note-visibility: "Visibilidad de la publicación" - default-note-visibility: "Rango de publicación predeterminado" - web-search-engine: "Buscador web" - web-search-engine-desc: "Ejemplo: https://www.google.com/?#q={{query}}" - keep-cw: "Mantener CW" - this-setting-is-this-device-only: "Solo para este dispositivo" - use-os-default-emojis: "Usar los emoticonos estándar del sistema operativo" - line-width: "Grosor de línea" - line-width-thin: "Fino" - line-width-normal: "Normal" - line-width-thick: "Grosor" - font-size: "Tamaño del texto" - font-size-x-small: "Muy pequeño" - font-size-small: "Pequeño" - font-size-medium: "Normal" - font-size-large: "Grande" - font-size-x-large: "Muy grande" - deck-column-align: "Alineamiento de las columnas" - deck-column-align-center: "Centrar" - deck-column-align-left: "Izquierda" - deck-column-align-flexible: "Flexible" - deck-column-width: "Ancho de las columnas" - deck-column-width-narrow: "Estrecho" - deck-column-width-narrower: "Un poco estrecho" - deck-column-width-normal: "Normal" - deck-column-width-wider: "Un poco ancho" - deck-column-width-wide: "Ancho" - use-shadow: "Usar sombras en la Interfaz de Usuario" - rounded-corners: "Esquinas redondeadas en la Interfaz de Usuario" - circle-icons: "Usar avatar circulares" - contrasted-acct: "Añadir contraste al nombre de usuario" - wallpaper: "Fondo de pantalla" - choose-wallpaper: "Escoge un fondo de pantalla" - delete-wallpaper: "Quitar fondo de pantalla" - post-form-on-timeline: "Mostrar el formulario de las entradas encima de la línea de tiempo" - show-clock-on-header: "Muestra el reloj en la parte superior derecha" - show-reply-target: "Mostrar destinatario de la mención" - timeline: "Timeline" - show-my-renotes: "Mostrar mis renotes en la timeline" - show-renoted-my-notes: "Mostrar renotes de mis posts en la timeline" - sound: "Sonido" - enable-sounds: "Habilitar sonido" - volume: "Volúmen" - test: "Prueba" - update: "Actualizar Misskey" - version: "Versión" - latest-version: "Última versión" - update-checking: "Buscando actualizaciones" - no-updates: "No hay actualizaciones disponibles" - no-updates-desc: "Tu Misskey está actualizado" - update-available: "¡Una nueva versión está disponible!" - update-available-desc: "Las actualizaciones se aplicarán cuando la página se vuelva a cargar." - advanced-settings: "Configuraciones avanzadas" - navbar-position-left: "Izquierda" - save: "Guardar" - saved: "Guardado" - preview: "Vista previa" - search: "Buscar" - delete: "eliminar" - loading: "cargando" - ok: "Confirmar" - cancel: "Cancelar" - update-available-title: "Actualización disponible" - update-available: "Hay disponible una nueva versión de Misskey ({newer}, la versión actual es {current}). Refresca la página para aplicar las actualizaciones." - my-token-regenerated: "Tu token se ha regenerado vas a ser desconectado." - hide-password: "Ocultar contraseña" - show-password: "Mostrar contraseña" - enter-username: "Ingresar nombre de usuario" - do-not-use-in-production: "Esto está en desarrollo, no usarlo para producción." - user-suspended: "Este usuario ha sido suspendido" - is-remote-user: "La información sobre este usuario puede no estar completa" - is-remote-post: "Es una publicación remota" - view-on-remote: "Consultar el perfil completo" - renoted-by: "Renotado por {user}" - no-notes: "No hay publicaciones" - turn-on-darkmode: "Cambiar a modo oscuro" - turn-off-darkmode: "Modo claro" - error: - title: "Se ha producido un problema :(" - retry: "Inténtalo otra vez" - reversi: - drawn: "Empatado" - my-turn: "Mi turno" - opponent-turn: "Turno del oponente" - turn-of: "Turno de {name}" - past-turn-of: "Turno de {name}" - won: "{name} ha ganado" - black: "Negro" - white: "Blanco" - total: "Total" - this-turn: "Turno {count}" - widgets: - analog-clock: "Reloj analógico" - profile: "Perfil" - calendar: "Calendario" - timemachine: "Calendario (máquina del tiempo)" - activity: "Actividad" - rss: "Lector RSS" - memo: "Notas adhesivas" - trends: "Tendencias" - photo-stream: "Secuencia de fotos" - posts-monitor: "Gráfico de publicaciones" - slideshow: "Diapositivas" - version: "Versión" - broadcast: "Transmisión" - notifications: "Notificaciones" - users: "Usuarios destacados" - polls: "Encuestas" - post-form: "Formulario" - server: "Información del servidor" - nav: "Navegación" - tips: "Consejos" - hashtags: "Etiquetas" - queue: "En cola" - dev: "Se ha producido un error creando la aplicación. Intentelo de nuevo." - ai-chan-kawaii: "Ai-chan es muy mona!" - you: "Tú" -auth/views/form.vue: - share-access: "¿Deseas permitir a {name} acceder a tu cuenta?" - permission-ask: "La aplicación requiere los siguientes permisos:" - cancel: "Cancelar" - accept: "Garantizar acceso." -auth/views/index.vue: - loading: "Cargando" - denied: "Acceso de aplicación denegado." - denied-paragraph: "Esta aplicación no tendrá acceso a tu cuenta." - already-authorized: "Esta aplicación ha sido previamente autorizada." - allowed: "Accesos de aplicaciones autorizados." - callback-url: "Volviendo a la aplicación." - please-go-back: "Por favor, vuelve a la aplicación." - error: "Esta sesión no existe." - sign-in: "Por favor inicia sesión." -common/views/pages/explore.vue: - popular-users: "Usuarios populares" - recently-updated-users: "Usuarios activos recientemente" - recently-registered-users: "Usuarios que se han unido recientemente" - popular-tags: "Etiquetas populares" - federated: "Desde el fediverso" - explore: "Explorar {host}" - users-info: "Actualmente hay {users} registrados aquí" -common/views/components/url-preview.vue: - enable-player: "Activar reproducción" - disable-player: "Cerrar el reproductor" -common/views/components/user-list.vue: - no-users: "No hay usuarios." -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "Esperando por {}" - cancel: "Cancelar" -common/views/components/games/reversi/reversi.game.vue: - surrender: "Rendirse" - surrendered: "Por rendirse" - is-llotheo: "El último gana (Llotheo)" - looped-map: "Mapa en bucle" - can-put-everywhere: "Puedes colocar donde quieras" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "¡Juega Reversi con tus amigos!" - invite: "Invitar" - rule: "Cómo jugar" - rule-desc: "Reversi es un juego de estrategia para dos jugadores, el cual se juega en un tablero de 8x8. Hay 64 fichas llamadas discos, las cuales son claras de un lado y oscuras del otro. Los jugadores toman turnos colocando fichas en el tablero con su color asignado mirando hacia arriba. Durante una jugada, cualquier disco del color del oponente que esté en fila entre un disco del oponente y otro del mismo color, será volteado para tener el color del jugador que haya hecho la movida. El objetivo del juego es tener la mayoría de los discos de tu color cuando el último cuadro es llenado." - mode-invite: "Invitar" - mode-invite-desc: "Invitar un usuario al juego." - invitations: "¡Has recibido una invitación!" - my-games: "Mis juegos" - all-games: "Todos los juegos" - enter-username: "Ingresar nombre de usuario" - game-state: - ended: "Finalizado" - playing: "En progreso" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "Configuración de juego" - choose-map: "Elije un mapa" - random: "Aleatorio" - black-or-white: "Negro/Blanco" - black-is: "Negro es {}" - rules: "Reglas" - is-llotheo: "El que tenga menos gana" - looped-map: "Mapa en bucle" - can-put-everywhere: "Puedes colocar donde quieras" - settings-of-the-bot: "Configuración de bot" - this-game-is-started-soon: "El juego comenzará pronto" - waiting-for-other: "Esperando a que se prepare el adversario" - waiting-for-me: "Esperando por la preparación" - waiting-for-both: "Esperando por ti" - cancel: "Cancelar" - ready: "Listo" - cancel-ready: "Cancelar \"Listo\"" -common/views/components/connect-failed.vue: - title: "Imposible conectar al servidor" - description: "Hay un problema en tu conexió o puede que el servidor esté caido o en mantenimiento. Por favor {try again} más tarde." - thanks: "Gracias por usar Misskey." - troubleshoot: "Problemas más frecuentes" -common/views/components/connect-failed.troubleshooter.vue: - title: "Resolución de problemas" - network: "Conexión de red" - checking-network: "Verificar la conexión a la red" - internet: "Conexión a Internet" - checking-internet: "Comprobando la conexión a Internet" - server: "Conexión al servidor" - checking-server: "Probando la conexión al servidor" - finding: "Buscando cualquier problema" - no-network: "Sin conexión" - no-network-desc: "Por favor, asegurate que estás conectado a una red" - no-internet: "Sin conexión a Internet" - no-internet-desc: "Por favor, asegurate de estar conectado a Internet." - no-server: "Imposible conectarse al servidor de Misskey" - no-server-desc: "La conexión de red de tu PC es correcta, aún así no puedes conectarte al servidor de Misskey. Es posible que el servidor esté caido o en mantenimiento. Por favor vuelve a intentarlo más tarde." - success: "Conectado al servidor de Misskey de manera correcta" - success-desc: "Parece que la conexión ha sido posible. Por favor refresca la página." - flush: "Limpiar la memoria caché" - set-version: "Escoge la versión" -common/views/components/media-banner.vue: - sensitive: "Este contenido no es apropiado para ver en el trabajo" - click-to-show: "Click para mostrar" -common/views/components/theme.vue: - theme: "Tema" - light-theme: "Tema a usar en Light mode" - dark-theme: "Tema a usar en dark mode" - light-themes: "Tema claro" - dark-themes: "Tema oscuro" - install-a-theme: "Instalar tema" - theme-code: "Código del tema" - install: "Instalación" - installed: "\"{}\" se ha instalado" - create-a-theme: "Crear tema" - save-created-theme: "Guardar tema" - primary-color: "Color primario" - secondary-color: "Color secundario" - text-color: "Color del texto" - base-theme: "Tema base" - base-theme-light: "Claro" - base-theme-dark: "Oscuro" - find-more-theme: "Obtener más temas" - theme-name: "Nombre del tema" - preview-created-theme: "Vista previa" - invalid-theme: "No es un tema válido" - already-installed: "Este tema ya está instalado." - saved: "Guardado" - manage-themes: "Gestor de temas" - builtin-themes: "Temas estandar" - my-themes: "Mis temas" - installed-themes: "Temas instalados" - select-theme: "Elegir tema" - uninstall: "Desinstalar" - uninstalled: "\"{}\" ha sido desinstalado" - author: "Autor" - desc: "Descripción" - export: "Exportar" - import: "Importar" - import-by-code: "o pega el código" -common/views/components/cw-button.vue: - show: "Mostrar" - chars: "{count} letras" - files: "{count} archivos" - poll: "Encuesta" -common/views/components/messaging.vue: - search-user: "Encuentra un usuario" - you: "Tu" - no-history: "Sin historial" -common/views/components/messaging-room.vue: - no-history: "El historial se ha acabado" - new-message: "Nuevo mensaje" -common/views/components/messaging-room.form.vue: - input-message-here: "Escribe el mensaje aquí" - send: "Enviar" - attach-from-local: "Adjunta ficheros desde tu PC" - attach-from-drive: "Adjunta ficheros desde tu disco" -common/views/components/messaging-room.message.vue: - is-read: "Leer" - deleted: "El mensaje se ha borrado" -common/views/components/nav.vue: - about: "Sobre" - stats: "Estadísticas" - status: "Estado" - wiki: "Wiki" - donors: "Donantes" - repository: "Repositorio" - develop: "Desarrolladores" - feedback: "Opiniones" -common/views/components/note-menu.vue: - mention: "Menciones" - detail: "Detalles" - copy-link: "Copiar enlace" - favorite: "Me gusta esta nota" - pin: "Fijar en el perfil" - delete: "Borrar" - delete-confirm: "¿Seguro que quieres borrar la publicación?" - remote: "Ver el original" -common/views/components/user-menu.vue: - mention: "Menciones" - mute: "Silenciar" - block: "Bloquear" -common/views/components/poll.vue: - vote-to: "'{}' para votar" - vote-count: "{} votos" - vote: "Vota" - show-result: "Mostrar resultados" - voted: "Votado" -common/views/components/poll-editor.vue: - no-only-one-choice: "Selecciona dos o más opciones." - choice-n: "{} opcion(es)" - remove: "Borra la opción" - add: "+ Añade una opción" - destroy: "Cancelar la encuesta" - day: "domingo" -common/views/components/reaction-picker.vue: - choose-reaction: "Escoge una reacción" -common/views/components/emoji-picker.vue: - custom-emoji: "Personalizados" - people: "Gente" - animals-and-nature: "Naturaleza" - food-and-drink: "Comida y bebida" - activity: "Actividad" - travel-and-places: "Viajes y lugares" - objects: "Objetos" - symbols: "Símbolos" - flags: "Países" -common/views/components/settings/app-type.vue: - info: "Necesitas recargar la página para que los cambios tengan efecto." -common/views/components/signin.vue: - username: "Usuario" - password: "Contraseña" - token: "Identificador" - signing-in: "Entrando..." - or: "O" - signin-with-twitter: "Ingresar con Twitter" - signin-with-github: "Ingresar con Github" - signin-with-discord: "Ingresar con Discord" - login-failed: "Autenticación fallida. Asegúrate de haber usado el nombre de usuario y contraseña correctos." -common/views/components/signup.vue: - invitation-code: "Código de invitación" - invitation-info: "Si no tienes un código de invitación, por favor contacta un administrador." - username: "Usuario" - checking: "Comprobando..." - available: "Disponible" - unavailable: "Utilizado" - error: "Error de conexión" - invalid-format: "utiliza letras, números y/o -." - too-short: "¡Mínimo tienes que introducir un caracter!" - too-long: "No puedes usar más de 20 caracteres." - password: "Contraseña" - password-placeholder: "Te recomendamos más de 8 caracteres" - weak-password: "Contraseña débil" - normal-password: "No está mal" - strong-password: "Muy buena contraseña" - retype: "Inténtalo otra vez" - retype-placeholder: "Confirma la contraseña" - password-matched: "OK" - password-not-matched: "Las contraseñas no son las mismas" - recaptcha: "Verificar" - create: "Crea una cuenta" - some-error: "Por algún motivo no se ha podido crear la cuenta. Por favor inténtalo de nuevo." -common/views/components/special-message.vue: - new-year: "¡Feliz Año Nuevo!" - christmas: "¡Feliz Navidad!" -common/views/components/stream-indicator.vue: - connecting: "Conectando" - reconnecting: "Reconectando" - connected: "Conectado" -common/views/components/notification-settings.vue: - title: "Notificaciones" -common/views/components/integration-settings.vue: - title: "Integraciones" - connect: "Conectar" - disconnect: "Desconectarse" - connected-to: "Estas conectado a la siguiente cuenta" -common/views/components/github-setting.vue: - description: "Una vez conectada tu cuenta de GitHub a Misskey podrás ver la información sobre tu perfil de GitHub y además podrás registrarte mediante tu cuenta de GitHub." - connected-to: "Estas conectado a esta cuenta de GitHub" - detail: "Ver detalles..." - reconnect: "Reconectar" - connect: "Vincular tu cuenta de GitHub" - disconnect: "Desconectarse" -common/views/components/discord-setting.vue: - description: "Una vez conectada tu cuenta de Discord a Misskey podrás ver la información sobre tu perfil de Discord y además podrás registrarte mediante tu cuenta de Discord." - connected-to: "Estas conectado a esta cuenta de Discord" - detail: "Ver detalles..." - reconnect: "Reconectar" - connect: "Vincular tu cuenta de Discord" - disconnect: "Desconectarse" -common/views/components/uploader.vue: - waiting: "Un momento" -common/views/components/visibility-chooser.vue: - public: "Público" - home: "Inicio" - home-desc: "Publica solo en la página de inicio" - followers: "Seguidores" - followers-desc: "Piblica solo para tus seguidores" - specified: "Directo" - specified-desc: "Publica solo para los seguidores que quieras" - local-public: "Público (sólo local)" - local-public-desc: "No publicar para remoto" - local-home: "Inicio (sólo local)" - local-followers: "Seguidores (sólo local)" -common/views/components/trends.vue: - count: "{} usuarios mencionados" - empty: "Ninguna tendencia popular ahora" -common/views/components/language-settings.vue: - title: "Mostrar idioma" - pick-language: "Selecciona un idioma" - recommended: "Recomendado" - auto: "Automático" - specify-language: "Especifica el idioma" - info: "Necesitas recargar la página para que los cambios tengan efecto." -common/views/components/profile-editor.vue: - title: "Perfil" - name: "Nombre" - account: "Cuenta" - location: "Localización" - description: "Acerca de mí" - you-can-include-hashtags: "También puedes incluir hashtags en la descripción de tu perfil." - language: "Idioma" - birthday: "Fecha de nacimiento" - avatar: "Avatar" - banner: "Banner" - is-cat: "Esta cuenta es un gato" - is-bot: "Esta cuenta es un bot" - is-locked: "Las peticiones de seguimiento necesitan aprobación" - careful-bot: "Las peticiones de seguimiento de bots necesitan aprobación" - auto-accept-followed: "Aprobar automaticamente las peticiones de follow de gente a la que sigues" - advanced: "Otros" - privacy: "Privacidad" - save: "Guardar" - saved: "Perfil actualizado con exito" - uploading: "Subiendo" - upload-failed: "Error al subir" - unable-to-process: "La operación no se puede llevar a cabo" - email: "Preferencias de correo" - email-address: "Correo electrónico" - email-verified: "Tu cuenta de correo ha sido verificada." - email-not-verified: "Tu cuenta de correo no está verificada. Por favor comprueba tu bandeja de entrada." - export: "Exportar" - import: "Importar" - export-and-import: "Exportar/Importar" - export-targets: - all-notes: "Todas las notas publicadas" - following-list: "Seguidores" - mute-list: "Silenciar" - blocking-list: "Bloquear" - user-lists: "Listas" - export-requested: "Has solicitado una exportación. Esto puede tardar un rato. Después de que termine la exportación el archivo se añadirá al drive." - import-requested: "Has empezado una importación. Esto puede tardar un rato." - enter-password: "Escribe una contraseña" - danger-zone: "Zona de peligro" - delete-account: "Eliminar cuenta" - account-deleted: "Esta cuenta ha sido eliminada. Puede tardar un rato hasta que toda la información desaparazca." -common/views/components/user-list-editor.vue: - users: "Usuarios" - rename: "Cambiar el nombre de la lista" - delete: "Eliminar lista" - remove-user: "Eliminar de la lista" -common/views/components/user-group-editor.vue: - invite: "Invitar" -common/views/components/user-lists.vue: - user-lists: "Listas" - list-name: "Nombre de lista" -common/views/components/user-groups.vue: - invites: "Invitar" -common/views/widgets/broadcast.vue: - fetching: "Recuperando" - no-broadcasts: "Sin emisión" - have-a-nice-day: "¡Buenos dias!" - next: "Siguiente" -common/views/widgets/calendar.vue: - year: "Año {}" - month: "Mes {}" - day: "Día {}" - today: "Hoy:" - this-month: "Este mes:" - this-year: "Este año:" -common/views/widgets/photo-stream.vue: - title: "Galería de fotos" - no-photos: "No hay fotos." -common/views/widgets/posts-monitor.vue: - title: "Tabla de publicaciones" - toggle: "Alternar vistas" -common/views/widgets/hashtags.vue: - title: "Etiquetas" -common/views/widgets/server.vue: - title: "Información del servidor" - toggle: "Alternar vistas" -common/views/widgets/memo.vue: - title: "Notas" - memo: "¡Escribe aquí!" - save: "Guardar" -common/views/widgets/slideshow.vue: - folder-customize-mode: "Para especificar una carpeta, por favor sal de modo de personalización" - folder: "Por favor, cliquea y especifica una carpeta" - no-image: "No hay imágenes en esta carpeta" -common/views/widgets/tips.vue: - tips-line1: "Puedes enfocarte en las publicaciones con t" - tips-line2: "Abrir formulario de publicación con p or n" - tips-line3: "Puedes arrastrar y soltar archivos en el formulario de publicación" - tips-line4: "Puedes pegar una imagen del portapapeles en el formulario de publicación" - tips-line5: "Puedes cargar archivos con sólo arrastrarlos y soltarlos en Drive" - tips-line6: "Puedes mover una carpeta arrastrándola hacia el Drive" - tips-line7: "Puedes mover una carpeta arrastrándola hacia el Drive" - tips-line8: "Inicio se puede personalizar desde la configuración" - tips-line9: "Misskey está hecho bajo licencia AGPLv3" - tips-line10: "Usando el accesorio de Máquina del Tiempo puedes encontrar publicaciones antiguas" - tips-line11: "Puedes resaltar publicaciones en la página de usuario haciendo click en \"...\"" - tips-line13: "Todos los archivos añadidos a la publicación se han guardado en tu unidad." - tips-line14: "Cuando personalizas el inicio puedas dar click derecho a un accesorio y cambiar el diseño." - tips-line17: "Al colocar ** delante y luego del texto, lo estarás destacando en negrillas" - tips-line19: "Algunas ventanas pueden ser separadas fuera del navegador" - tips-line20: "El porcentaje mostrando en el accesorio de calendario indica el porcentaje de tiempo transcurrido." - tips-line21: "También puedes usar la API para desarrollar tus propios bots." - tips-line24: "Misskey inició en 2014." - tips-line25: "Puedes recibir notificaciones incluso si Misskey no está abierto en un navegador compatible." -common/views/pages/follow.vue: - signed-in-as: "Autenticado como {}" - following: "Siguiendo" - follow: "Seguir" - request-pending: "Solicitud pendiente" - follow-processing: "Solicitud en proceso" - follow-request: "Solicitar suscripción" -common/views/pages/follow-requests.vue: - received-follow-requests: "Solicitudes de seguimiento" -desktop: - banner-crop-title: "Corta la parte que aparece como un banner" - banner: "Banner" - uploading-banner: "Cargando un nuevo banner" - banner-updated: "Banner actualizado" - choose-banner: "Escoge un banner" - avatar-crop-title: "Corta la parte que aparece como un avatar" - avatar: "Avatar" - uploading-avatar: "Cargando un nuevo avatar" - avatar-updated: "Avatar actualizado" - choose-avatar: "Escoge una imagen de avatar" - unable-to-process: "La operación no se puede llevar a cabo" - invalid-filetype: "Este tipo de archivo no es compatible aquí" -desktop/views/components/activity.chart.vue: - total: "Negro ... Total" - notes: "Azul ... Notas" - replies: "Rojo ... Respuestas" - renotes: "Verde ... Republicaciones" -desktop/views/components/activity.vue: - title: "Actividad" - toggle: "Alternar vistas" -desktop/views/components/calendar.vue: - title: "{year} / {month}" - prev: "Mes anterior" - next: "Próximo mes" - go: "Click para navegar" -desktop/views/components/choose-file-from-drive-window.vue: - upload: "Cargar archivos de tu dispositivo" - cancel: "Cancelar" - ok: "OK" - choose-prompt: "Escoger archivos" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Cancelar" - ok: "OK" - choose-prompt: "Escoge una Carpeta" -desktop/views/components/crop-window.vue: - skip: "Ignorar el cortado" - cancel: "Cancelar" - ok: "OK" -desktop/views/components/drive-window.vue: - used: "usado" -desktop/views/components/drive.file.vue: - avatar: "Avatar" - banner: "Banner" - nsfw: "Ver más" - contextmenu: - rename: "Renombrar" - mark-as-sensitive: "Marcar como 'sensible'" - unmark-as-sensitive: "Desmarcar como 'sensible'" - copy-url: "Copia la URL" - download: "Descargar" - else-files: "Otros" - set-as-avatar: "Utilizar como avatar" - set-as-banner: "Utilizar como banner" - open-in-app: "Abrir en la aplicación" - add-app: "Añadir aplicación" - rename-file: "Renombra el fichero" - input-new-file-name: "Escribe el nombre nuevo" - copied: "Copiado" - copied-url-to-clipboard: "URL copiada al porta papeles" -desktop/views/components/drive.folder.vue: - unable-to-process: "La operación no se puede llevar a cabo" - circular-reference-detected: "La carpeta de destino es una sub-carpeta de la carpeta que quieres mover." - unhandled-error: "Error desconocido" - contextmenu: - move-to-this-folder: "Mover a esta carpeta" - show-in-new-window: "Abrir en una ventana nueva" - rename: "Renombrar" - rename-folder: "Renombrar carpeta" - input-new-folder-name: "Escribe el nombre nuevo" - else-folders: "Otros" -desktop/views/components/drive.vue: - search: "Buscar" - empty-draghover: "¡Saluda!" - empty-drive: "Tu disco está vacio" - empty-drive-description: "También puedes subir archivos seleccionándolos y con el botón derecho selecciona \"Subir fichero\" o puedes arrastrarlo hasta la ventana." - empty-folder: "La carpeta está vacia" - unable-to-process: "La operación no se puede llevar a cabo." - circular-reference-detected: "La carpeta de destino es una sub-carpeta de la carpeta que quieres mover." - unhandled-error: "Errer desconocido" - url-upload: "Subir desde una URL" - url-of-file: "URL del fichero que quieres subir" - url-upload-requested: "Subida solicitada" - may-take-time: "Subir el fichero puede tardar un tiempo." - create-folder: "Crear una carpeta" - folder-name: "Nombre de la carpeta" - contextmenu: - create-folder: "Crear una carpeta" - upload: "Subir fichero" - url-upload: "Subir desde una URL" -desktop/views/components/media-video.vue: - sensitive: "Este contenido no es apropiado para ver en el trabajo" - click-to-show: "Click para mostrar" -desktop/views/components/followers-window.vue: - followers: "{} seguidores" -desktop/views/components/followers.vue: - empty: "Parece que no tienes seguidores aún." -desktop/views/components/following-window.vue: - following: "Siguiendo {}" -desktop/views/components/following.vue: - empty: "Parece que aún no sigues a nadie." -desktop/views/components/game-window.vue: - game: "Reversi" -desktop/views/components/home.vue: - done: "Listo" - add-widget: "Agregar accesorio:" - add: "Agregar" -desktop/views/input-dialog.vue: - cancel: "Cancelar" - ok: "OK" -desktop/views/components/note-detail.vue: - private: "Esta publicación es privada" - deleted: "Esta publicación ha sido removida" - location: "Localización" - renote: "Republicar" - add-reaction: "Agregar una reacción" -desktop/views/components/note.vue: - reply: "Responder" - renote: "Volver a publicar" - add-reaction: "Reacción" - detail: "Detalles" - private: "Esta publicación es privada" - deleted: "Esta publicación ha sido removida" -desktop/views/components/notes.vue: - error: "Error al cargar." - retry: "Reintentar" -desktop/views/components/notifications.vue: - empty: "No hay notificaciones" -desktop/views/components/post-form.vue: - posted: "¡Publicado!" - replied: "¡Respondido!" - reposted: "¡Republicado!" - note-failed: "Error al publicar nota" - reply-failed: "Error al responder" - renote-failed: "Error al republicar" -desktop/views/components/post-form-window.vue: - note: "Nota nueva" - reply: "Responder" - attaches: "{} archivo(s) multimedia adjuntados" - uploading-media: "Subiendo {} archivo(s) multimedia" -desktop/views/components/progress-dialog.vue: - waiting: "Un momento" -desktop/views/components/renote-form.vue: - quote: "Cita..." - cancel: "Cancelar" - renote: "Volver a publicar" - reposting: "Publicando de nuevo..." - success: "¡Publicado!" - failure: "La publicación ha fallado" -desktop/views/components/renote-form-window.vue: - title: "¿Seguro qué quieres volver a publicarlo?" -desktop/views/pages/user-following-or-followers.vue: - following: "{user} sigue a" - followers: "Seguidores de {user}" -desktop/views/components/settings.2fa.vue: - detail: "Ver detalles..." - url: "https://www.google.com/landing/2step/" - caution: "Si pierdes acceso al dispositivo, no podrás conectarte a Misskey." - register: "Registrar un dispositivo" - already-registered: "Un dispositivo ya fue registrado" - unregister: "Inhabilitado" - unregistered: "Autenticación de dos pasos fue deshabilitada." - enter-password: "Escribe una contraseña" - authenticator: "Primero, necesitas instalar Google Authenticator en tu dispositivo:" - howtoinstall: "Cómo instalar" - token: "Token" - scan: "Luego, escanea el código QR:" - done: "Por favor ingresa el token mostrado en tu dispositivo:" - submit: "Enviar" - success: "¡Configuraciones guardadas!" - failed: "Error al configurar. Por favor asegúrate de que el token es correcto." - info: "Desde ahora, ingresa el token que se muestra en tu dispositivo adicionalmente a tu contraseña cuando inicies sesión en Misskey" -common/views/components/media-image.vue: - sensitive: "Este contenido no es apropiado para ver en el trabajo" - click-to-show: "Click para mostrar" -common/views/components/api-settings.vue: - token: "Token:" - enter-password: "Escribe una contraseña" - console: - title: "Consola API" - send: "Enviar" -desktop/views/components/settings.apps.vue: - no-apps: "No hay aplicaciones asociadas" -common/views/components/drive-settings.vue: - in-use: "usado" - stats: "Estadísticas" -common/views/components/mute-and-block.vue: - mute-and-block: "Silenciar y bloquear" - mute: "Silenciar" - block: "Bloquear" - save: "Guardar" -common/views/components/post-form-attaches.vue: - mark-as-sensitive: "Marcar como 'sensible'" - unmark-as-sensitive: "Desmarcar como 'sensible'" -desktop/views/components/sub-note-content.vue: - private: "Esta publicación es privada" - deleted: "Esta publicación ha sido removida" - poll: "Encuesta" -desktop/views/components/settings.tags.vue: - title: "Etiqueta" - add: "Agregar" - save: "Guardar" -desktop/views/components/timeline.vue: - home: "Inicio" - local: "Local" - hybrid: "Social" - global: "Global" - list: "Listas" - hashtag: "Hashtags" - list-name: "Nombre de lista" -desktop/views/components/ui.header.vue: - welcome-back: "Bienvenido/a de vuelta," - adjective: "-san" -desktop/views/components/ui.header.account.vue: - profile: "Tu perfil" - lists: "Listas" - follow-requests: "Solicitudes de seguimiento" - admin: "Admin" -desktop/views/components/ui.header.nav.vue: - game: "Juegos" -desktop/views/components/ui.header.notifications.vue: - title: "Notificaciones" -desktop/views/components/ui.header.post.vue: - post: "Crear una publicación" -desktop/views/components/ui.header.search.vue: - placeholder: "Buscar" -desktop/views/components/user-preview.vue: - notes: "Publicaciones" - following: "Sigue" - followers: "Seguidores" -desktop/views/components/users-list.vue: - all: "Todo" -desktop/views/components/window.vue: - close: "Cerrar" -admin/views/index.vue: - dashboard: "Panel de control" - instance: "Instancia" - moderators: "Moderadores" - users: "Usuarios" - federation: "Federado" - queue: "Cola de trabajos" - logs: "Registros" - back-to-misskey: "Volver a Misskey" -admin/views/dashboard.vue: - dashboard: "Panel de Control" - accounts: "Cuenta" - notes: "Publicaciones" - drive: "Drive" - instances: "Instancias" - this-instance: "Esta instancia" - federated: "Federado" -admin/views/queue.vue: - title: "Cola" - remove-all-jobs: "Limpiar todos los trabajos pendientes" - queue: "Cola" -admin/views/logs.vue: - logs: "Registros" -admin/views/abuse.vue: - title: "Abuso" - target: "Destinatario" - reporter: "Informador" - details: "Detalles" - remove-report: "eliminar" -admin/views/instance.vue: - instance: "Instancia" - instance-name: "Nombre de la instancia" - instance-description: "Descripción de la instancia" - host: "Host" - banner-url: "URL de la imagen de banner" - error-image-url: "Error en la URL de la imagen" - languages: "Idioma de esta instancia" - languages-desc: "Puedes añadir mas de uno, separado por espacios." - maintainer-config: "Información del administrador" - maintainer-name: "Nombre del administrador" - maintainer-email: "Contactar con el administrador" - drive-config: "Ajustes del Drive" - cache-remote-files: "Mantener en cache los archivos remotos" - recaptcha-preview: "Vista previa" - invite: "Invitar" - save: "Guardar" - saved: "Guardado" - email: "Correo electrónico" - smtp-host: "Host SMTP" - smtp-port: "Puerto SMTP" - smtp-user: "Usuario SMTP" - smtp-pass: "Contraseña SMTP" - test-email: "Prueba" -admin/views/charts.vue: - title: "Gráficos" - per-day: "Por día" - per-hour: "Por hora" - federation: "Federación" - users: "Usuarios" - drive: "Drive" - network: "Red" -admin/views/drive.vue: - sort: - title: "Ordenar" - origin: - combined: "Local+Remoto" - local: "Local" - remote: "Remoto" - delete: "eliminar" - mark-as-sensitive: "Marcar como 'sensible'" - unmark-as-sensitive: "Desmarcar como 'sensible'" -admin/views/users.vue: - username: "Usuario" - host: "Host" - users: - state: - all: "Todo" - moderator: "Moderadores" - origin: - local: "Local" -admin/views/moderators.vue: - logs: - title: "Registros" - moderator: "Moderadores" -admin/views/emoji.vue: - add-emoji: - add: "Agregar" - emojis: - remove: "eliminar" -admin/views/announcements.vue: - save: "Guardar" - remove: "eliminar" - add: "Agregar" - saved: "Guardado" -admin/views/federation.vue: - instance: "Instancia" - host: "Host" - following: "Siguiendo" - status: "Estado" - block: "Bloquear" - instances: "Federado" - states: - all: "Todo" - blocked: "Bloquear" - charts: "Gráficos" - chart-spans: - hour: "Por hora" - day: "Por día" - blocked-hosts: "Bloquear" - save: "Guardar" -desktop/views/pages/welcome.vue: - timeline: "Timeline" -desktop/views/pages/selectdrive.vue: - cancel: "Cancelar" -desktop/views/pages/user-list.users.vue: - username: "Usuario" -desktop/views/pages/user/user.followers-you-know.vue: - loading: "cargando" -desktop/views/pages/user/user.friends.vue: - loading: "cargando" -desktop/views/pages/user/user.photos.vue: - loading: "cargando" - no-photos: "No hay fotos." -desktop/views/pages/user/user.header.vue: - month: "lunes" - day: "domingo" -desktop/views/pages/user/user.timeline.vue: - default: "Posts" - with-replies: "Posts y respuestas" - with-media: "Multimedia" - my-posts: "Mis posts" -desktop/views/widgets/notifications.vue: - title: "Notificaciones" -desktop/views/widgets/polls.vue: - title: "Encuestas" - nothing: "No hay notificaciones" -desktop/views/widgets/trends.vue: - nothing: "No hay notificaciones" -mobile/views/components/drive.vue: - used: "usado" - folder-name: "Nombre de la carpeta" - url-prompt: "URL del fichero que quieres subir" -mobile/views/components/drive.file.vue: - nsfw: "Este contenido no es apropiado para ver en el trabajo" -mobile/views/components/drive.file-detail.vue: - download: "Descargar" - rename: "Renombrar" - nsfw: "Este contenido no es apropiado para ver en el trabajo" - mark-as-sensitive: "Marcar como 'sensible'" - unmark-as-sensitive: "Desmarcar como 'sensible'" -mobile/views/components/media-video.vue: - sensitive: "Este contenido no es apropiado para ver en el trabajo" - click-to-show: "Click para mostrar" -common/views/components/follow-button.vue: - following: "Siguiendo" - request-pending: "Solicitud pendiente" - follow-processing: "Solicitud en proceso" - follow-request: "Solicitudes de seguimiento" -mobile/views/components/note.vue: - private: "Esta publicación es privada" - deleted: "Esta publicación ha sido removida" - location: "Localización" -mobile/views/components/note-detail.vue: - reply: "Responder" - private: "Esta publicación es privada" - deleted: "Esta publicación ha sido removida" - location: "Localización" -mobile/views/components/notifications.vue: - empty: "No hay notificaciones" -mobile/views/components/sub-note-content.vue: - private: "Esta publicación es privada" - deleted: "Esta publicación ha sido removida" - poll: "Encuestas" -mobile/views/components/ui.header.vue: - welcome-back: "Bienvenido/a de vuelta," - adjective: "-san" -mobile/views/components/ui.nav.vue: - timeline: "Timeline" - notifications: "Notificaciones" - follow-requests: "Solicitudes de seguimiento" - search: "Buscar" - user-lists: "Listas" - game: "Juegos" - admin: "Admin" - about: "Sobre" -mobile/views/pages/drive.vue: - contextmenu: - upload: "Subir fichero" - create-folder: "Crear una carpeta" -mobile/views/pages/home.vue: - home: "Inicio" - local: "Local" - hybrid: "Social" - global: "Global" -mobile/views/pages/widgets.vue: - dashboard: "Panel de control" - add-widget: "Agregar" - customization-tips: "Consejos de personalización" -mobile/views/pages/widgets/activity.vue: - activity: "Actividad" -mobile/views/pages/games/reversi.vue: - reversi: "Reversi" -mobile/views/pages/search.vue: - search: "Buscar" -mobile/views/pages/notifications.vue: - notifications: "Notificaciones" -mobile/views/pages/user.vue: - timeline: "Timeline" -mobile/views/pages/user/home.vue: - activity: "Actividad" -mobile/views/pages/user/home.photos.vue: - no-photos: "No hay fotos." -deck: - home: "Inicio" - local: "Local" - hybrid: "Social" - hashtag: "Etiquetas" - global: "Global" - notifications: "Notificaciones" - list: "Listas" - rename: "Renombrar" -deck/deck.user-column.vue: - activity: "Actividad" - timeline: "Timeline" -pages: - pin-this-page: "Fijar en el perfil" - like: "Me gusta" - blocks: - post: "Formulario" - script: - categories: - random: "Aleatorio" - list: "Listas" - blocks: - _join: - arg1: "Listas" - random: "Aleatorio" - _randomPick: - arg1: "Listas" - _dailyRandomPick: - arg1: "Listas" - _seedRandomPick: - arg2: "Listas" - _pick: - arg1: "Listas" - _listLen: - arg1: "Listas" - types: - array: "Listas" -room: - save: "Guardar" - saved: "Guardado" - furnitures: - moon: "Luna" - bin: "Papelera" diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml deleted file mode 100644 index 3f698f1c1..000000000 --- a/locales/fr-FR.yml +++ /dev/null @@ -1,2135 +0,0 @@ ---- -meta: - lang: "Français" -common: - misskey: "Une ⭐ du fédiverse" - about-title: "Une ⭐ du fédiverse." - about: "Merci d’avoir choisis Misskey. Misskey est une plateforme de microblogage distribuée née sur Terre et fait partie du Fédiverse (un univers composé de diverses plateformes de réseaux sociaux organisées), elle est connectée mutuellement avec d’autres plateformes de réseaux sociaux. Désirez-vous prendre une pause, un court instant, loin de l’agitation de la ville et plonger dans un Internet d’un nouveau genre ?" - intro: - title: "C’est quoi Misskey ?" - about: "Misskey est un réseau social de Microblogage open source. Il offre une interface utilisateur riche et hautement personnalisable, une variété de réactions aux publications et un lecteur pour la gestion centralisée de fichiers. De plus, comme il est possible de se connecter au reste du Fédiverse, vous pouvez interagir avec d'autres plateformes fédérées. Par exemple, si vous publiez quelque chose, la note sera transmise non seulement aux utilisateurs de Misskey, mais aussi à d'autres plateformes de réseaux sociaux dans le Fédiverse. Imaginez que vous puissiez transmettre des ondes radio d'une planète vers l'autre." - features: "Options" - rich-contents: "Notes" - rich-contents-desc: "Partagez vos idées, les événements et les sujets qui vous tiennent à cœur ainsi que tout autre chose que vous souhaitez partager avec les autres. Si vous le désirez, vous pouvez décorer vos messages en utilisant une syntaxe différente ou en y joignant des sondages et des fichiers, tels que les photos ou les vidéos que vous aimez." - reaction: "Réactions" - reaction-desc: "Une manière simple d'exprimer vos émotions. Misskey peut attacher diverses réactions aux publications des autres utilisateur·rice·s. Si vous essayez les réactions sur Misskey, vous ne pourrez plus retourner sur une autre plateforme de réseaux sociaux n'offrant que des « J'aime »." - ui: "Interface" - ui-desc: "Aucune interface graphique ne peut plaire à tout le monde. Par conséquent, Misskey possède une interface utilisateur hautement personnalisable selon vos goûts. Vous pouvez rendre votre page d'accueil originale en modifiant la mise en page de votre fil et en déplaçant les widgets que vous pouvez facilement ajuster pour vous approprier cet espace." - drive: "Drive" - drive-desc: "Vous voulez poster une photo que vous avez déjà transférée ? Vous souhaitez organiser, nommer et créer un dossier pour vos fichiers téléversés ? Misskey Drive est la meilleure solution pour vous. Très facile de partager vos fichiers en ligne." - outro: "Découvrez vous-même les fonctionnalités de Misskey. Étant donné que Misskey est un réseau social fédéré, vous pouvez essayer d’autres instances afin de trouver vos amis si la présente instance ne vous correspond pas. Bonne chance et amusez-vous bien !" - application-authorization: "Autorisations de l’application" - close: "Fermer" - do-not-copy-paste: "Veuillez ne pas entrer ou coller le code ici. Le compte pourrait être compromis." - load-more: "Charger plus" - enter-password: "Veuillez entrer le mot de passe" - 2fa: "Authentification à deux facteurs" - customize-home: "Personnaliser la disposition de votre accueil" - featured-notes: "Les notes mises en avant" - dark-mode: "Mode nuit" - signin: "Se connecter" - signup: "S'enregistrer" - signout: "Se déconnecter" - reload-to-apply-the-setting: "Le rechargement de la page est nécessaire pour appliquer ces paramètres. Désirez-vous la recharger maintenant ?" - fetching-as-ap-object: "Récupération depuis le fédiverse" - unfollow-confirm: "Désirez-vous vous désabonner de {name} ?" - delete-confirm: "Supprimer cette publication ?" - signin-required: "Veuillez vous connecter" - notification-type: "Type de notifications" - notification-types: - all: "Tout" - pollVote: "Sondages" - follow: "Abonnements" - receiveFollowRequest: "Demandes d’abonnements" - reply: "Réponses" - quote: "Cité par" - renote: "Partages" - mention: "Mentions" - reaction: "Réactions" - got-it: "J’ai compris !" - customization-tips: - title: "Conseils de personnalisation" - paragraph: "

La personnalisation de la page d'accueil vous permet d'ajouter/supprimer, glisser-déposer et réarranger les widgets.

Vous pouvez changer l'apparence de certain widget avec le clicdroit.

Pour supprimer un widget, faites glisser le widget sur la zone \"Corbeille\" dans l'en-tête.

Pour terminer la personnalisation, cliquez sur \"Terminé\" en haut à droite.

" - gotit: "Compris !" - notification: - file-uploaded: "Le fichier a été téléversé !" - message-from: "Message de {} :" - reversi-invited: "Invité à jouer" - reversi-invited-by: "Invité par {} :" - notified-by: "Notifié par {} :" - reply-from: "Réponse de {} :" - quoted-by: "Cité par {} :" - time: - unknown: "inconnu" - future: "à l’instant" - just_now: "à l'instant" - seconds_ago: "Il y a {} seconde(s)" - minutes_ago: "Il y a {} min" - hours_ago: "Il y a {} h" - days_ago: "Il y a {} j" - weeks_ago: "Il y a {} semaines" - months_ago: "Il y a {} mois" - years_ago: "Il y a {} an(s)" - month-and-day: "{day}-{month}" - trash: "Corbeille" - drive: "Drive" - pages: "Pages" - messaging: "Conversations" - home: "Principal" - deck: "Deck" - timeline: "Fil" - explore: "Découvrir" - following: "Suit" - followers: "Abonné·e·s" - favorites: "Favorites" - permissions: - "read:account": "Afficher les informations du compte" - "write:account": "Mettre à jour les informations de votre compte" - "read:blocks": "Voir les blocs" - "write:blocks": "Écrire des blocs" - "read:drive": "Parcourir le Drive" - "write:drive": "Écrire sur le Drive" - "read:favorites": "Afficher les favoris" - "write:favorites": "Écrire des favoris" - "read:following": "Voir les informations de l'abonné" - "write:following": "Suivre/Ne plus suivre" - "read:messaging": "Lire les conversations" - "write:messaging": "Utiliser la messagerie" - "read:mutes": "Voir les comptes masqués" - "write:mutes": "Gérer les comptes muets" - "write:notes": "Créer ou supprimer des publications" - "read:notifications": "Afficher les notifications" - "write:notifications": "Gérer vos notifications" - "read:reactions": "Lire les réactions" - "write:reactions": "Gérer vos réactions" - "write:votes": "Vote" - "read:pages": "Afficher la page" - "write:pages": "Mettre à jour les Pages" - "read:page-likes": "Lire les favoris sur les Pages" - "write:page-likes": "Mettre à jour les favoris sur les Pages" - "read:user-groups": "Voir les groupes d'utilisateur·rice·s" - "write:user-groups": "Éditer les groupes des utilisateur·rice·s" - empty-timeline-info: - follow-users-to-make-your-timeline: "Les utilisateur·rice·s suivant·e·s afficheront leurs publications sur votre fil." - explore: "Trouver des utilisateur·rice·s" - post-form: - attach-location-information: "Joindre des informations de localisation" - hide-contents: "Masquer les contenus" - reply-placeholder: "Répondre à cette note …" - quote-placeholder: "Citer cette note …" - option-quote-placeholder: "Citer ce billet ... (Facultatif)" - quote-attached: "Cité" - quote-question: "Souhaitez-vous ajoutez une citation ?" - submit: "Publication" - reply: "Répondre" - renote: "Republier" - posting: "Publication …" - attach-media-from-local: "Joindre un média depuis votre appareil" - attach-media-from-drive: "Joindre un média depuis votre Drive" - insert-a-kao: "v('ω')v" - create-poll: "Créer un sondage" - text-remain: "{} caractères restants" - recent-tags: "Récent" - local-only-message: "Ce message sera publié uniquement sur le fil local" - click-to-tagging: "Cliquer pour taguer" - visibility: "Visibilité" - geolocation-alert: "Votre appareil ne prend pas en charge les services de localisation" - error: "Erreur" - enter-username: "Saisir un nom d'utilisateur" - specified-recipient: "Correspondant·e" - add-visible-user: "Ajouter un utilisateur" - cw-placeholder: "Commenter le contenu (optionnel)" - username-prompt: "Saisir un nom d'utilisateur" - enter-file-name: "Éditer le nom du fichier" - weekday-short: - sunday: "D" - monday: "L" - tuesday: "M" - wednesday: "M" - thursday: "J" - friday: "V" - saturday: "S" - weekday: - sunday: "Dimanche" - monday: "Lundi" - tuesday: "Mardi" - wednesday: "Mercredi" - thursday: "Jeudi" - friday: "Vendredi" - saturday: "Samedi" - reactions: - like: "Bien" - love: "Adore" - laugh: "Rire" - hmm: "Hmm … ?" - surprise: "Wow" - congrats: "Félicitations !" - angry: "En colère" - confused: "Confus" - rip: "RIP" - pudding: "Pudding" - note-visibility: - public: "Public" - home: "Principal" - home-desc: "Publier sur le fil principal uniquement" - followers: "Abonné·e·s" - followers-desc: "Publier à vos abonné·e·s uniquement" - specified: "Direct" - specified-desc: "Publier uniquement aux utilisateur·rice·s mentionné·e·s" - local-public: "Local (Public)" - local-home: "Accueil (local uniquement)" - local-followers: "Abonné·e·s (Local uniquement)" - note-placeholders: - a: "Que faites-vous maintenant ?" - b: "Quoi de neuf ?" - c: "Qu’avez-vous en tête ?" - d: "Désirez-vous publier quelques mots ?" - e: "Écrivez ici" - f: "En attente de vos écrits" - settings: "Paramètres" - _settings: - profile: "Votre profil" - notification: "Notifications" - apps: "Applications" - tags: "Hashtags" - mute-and-block: "Masqués / Bloqués" - blocking: "En cours blocage" - security: "Sécurité" - signin: "Historique des connexions" - password: "Mot de passe" - other: "Avancé" - appearance: "Apparence" - behavior: "Comportement" - reactions: "Réaction" - reactions-description: "Personnaliser les émojis à afficher dans le sélecteur de réactions, délimités par les sauts de ligne." - fetch-on-scroll: "Chargement automatique lors du défilement" - fetch-on-scroll-desc: "Chargement automatique du contenu lors du défilement de la page." - note-visibility: "Visibilité de la publication" - default-note-visibility: "Visibilité par défaut" - remember-note-visibility: "Se souvenir du mode de visibilité de la publication" - web-search-engine: "Moteur de recherche Web" - web-search-engine-desc: "Exemple : https://www.google.com/?#q={{query}}" - paste: "Coller" - pasted-file-name: "Modèle de nom de fichier collé" - pasted-file-name-desc: "Exemple : \"yyyy-MM-dd HH-mm-ss [{{number}}]\" → \"2018-03-20 21-30-24 1\"" - paste-dialog: "Modifier le nom du fichier collé" - keep-cw: "Maintenir l'avertissement de contenu" - keep-cw-desc: "Lorsque vous répondez à un message, le même avertissement de contenu est reprit par défaut dans la réponse, le même que celui qui a été défini dans le message original." - i-like-sushi: "Je préfère les sushis plutôt que le pudding" - show-reversi-board-labels: "Afficher les étiquettes des lignes et colonnes dans Reversi" - use-avatar-reversi-stones: "Utiliser l’avatar comme pion dans Reversi" - disable-animated-mfm: "Désactiver les textes animés dans les publications" - disable-showing-animated-images: "Désactiver l'animation des images" - enable-quick-notification-view: "Activer l'affichage rapide des notifications" - suggest-recent-hashtags: "Afficher les hashtags populaires dans le champs de saisie" - always-show-nsfw: "Toujours afficher les contenus sensibles" - always-mark-nsfw: "Toujours marquer les notes ayant des médias comme sensibles" - show-full-acct: "Afficher l’adresse complète de l’utilisateur" - show-via: "Afficher via" - reduce-motion: "Réduire les animations dans l’interface utilisateur" - this-setting-is-this-device-only: "Uniquement sur cet appareil" - use-os-default-emojis: "Utiliser les émojis standards du système" - line-width: "Epaisseur du trait" - line-width-thin: "Fine" - line-width-normal: "Normale" - line-width-thick: "Épaisse" - font-size: "Taille du texte" - font-size-x-small: "Très petit" - font-size-small: "Petite" - font-size-medium: "Normale" - font-size-large: "Grande" - font-size-x-large: "Large" - deck-column-align: "Alignement des colonnes du Deck" - deck-column-align-center: "Centrer" - deck-column-align-left: "À gauche" - deck-column-align-flexible: "Flexible" - deck-column-width: "Largeur des colonnes du Deck" - deck-column-width-narrow: "Étroite" - deck-column-width-narrower: "Légèrement étroite" - deck-column-width-normal: "Normale" - deck-column-width-wider: "Légèrement large" - deck-column-width-wide: "Large" - use-shadow: "Utiliser les ombres dans l'interface utilisateur" - rounded-corners: "Coins arrondis de l'interface utilisateur" - circle-icons: "Utiliser des avatar circulaires" - contrasted-acct: "Ajouter du contraste au nom de l’utilisateur" - wallpaper: "Image du fond d'écran" - choose-wallpaper: "Sélectionner un fond d'écran" - delete-wallpaper: "Supprimer le fond d'écran" - post-form-on-timeline: "Afficher le champs de saisie en haut du fil" - show-clock-on-header: "Afficher l'horloge sur le coté supérieur droit" - show-reply-target: "Afficher les réponses" - timeline: "Fil d’actualité" - show-my-renotes: "Afficher mes republications dans le fil" - show-renoted-my-notes: "Afficher les partages de mes propres notes sur le fil" - show-local-renotes: "Afficher les partages locaux sur les fils" - remain-deleted-note: "Continuer à afficher les notes supprimées" - sound: "Son" - enable-sounds: "Activer les sons" - enable-sounds-desc: "Jouer un son lorsque vous recevez un message/publication. Ce paramètre est sauvegardé dans le navigateur." - volume: "Volume" - test: "Test" - update: "Mise à jour de Misskey" - version: "Version actuelle :" - latest-version: "Dernière version :" - update-checking: "Recherche de mises à jour" - do-update: "Rechercher des mises à jour" - update-settings: "Paramètres avancés" - no-updates: "Aucune mise à jour disponible" - no-updates-desc: "Votre Misskey est à jour." - update-available: "Nouvelle version disponible !" - update-available-desc: "Les mises à jour seront appliquées une fois la page est rechargée." - advanced-settings: "Paramètres avancés" - debug-mode: "Activer le mode débogage" - debug-mode-desc: "Ce paramètre est stocké dans le navigateur." - navbar-position: "Position de la barre de navigation" - navbar-position-top: "En haut" - navbar-position-left: "À gauche" - navbar-position-right: "À droite" - i-am-under-limited-internet: "J'ai un accès Internet limité" - post-style: "Style d'affichage des notes" - post-style-standard: "Standard" - post-style-smart: "Intelligent" - notification-position: "Afficher les notifications" - notification-position-bottom: "en bas" - notification-position-top: "En haut" - disable-via-mobile: "Enlever la mention publié via 'mobile'" - load-raw-images: "Afficher les photos jointes dans leur qualité originale" - load-remote-media: "Afficher les médias depuis le serveur distant" - sync: "Synchroniser" - save: "Enregistrer" - saved: "enregistré" - preview: "Prévisualisation" - home-profile: "Profil principal" - deck-profile: "Profil deck" - room: "Pièce" - _room: - graphicsQuality: "Qualité des graphismes" - _graphicsQuality: - ultra: "Très élevée" - high: "Élevée" - medium: "Moyenne" - low: "Basse" - cheep: "Minimale" - useOrthographicCamera: "Utiliser une caméra orthographique" - search: "Recherche" - delete: "Supprimer" - loading: "Chargement en cours …" - ok: "Confirmer" - cancel: "Quitter" - update-available-title: "Mise à jour disponible" - update-available: "Une nouvelle version de Misskey est disponible ({newer}, version actuelle: {current}). Veuillez recharger la page pour appliquer la mise à jour." - my-token-regenerated: "Votre jeton vient d’être généré, vous allez maintenant être déconnecté." - hide-password: "Masquer le mot de passe" - show-password: "Afficher le mot de passe" - enter-username: "Saisir un nom d'utilisateur" - do-not-use-in-production: "Il s’agit d’une version de développement. Ne pas utiliser dans un environnement de production." - user-suspended: "Cet·te utilisateur·trice a été suspendu·e" - is-remote-user: "Les informations à propos de ce compte peuvent être incomplètes." - is-remote-post: "Ceci est une publication distante." - view-on-remote: " Consulter le profil complet" - renoted-by: "Renoté par {user}" - no-notes: "Sans aucune note" - turn-on-darkmode: "Mode nuit" - turn-off-darkmode: "Mode jour" - error: - title: "Une erreur est survenue" - retry: "Réessayer" - reversi: - drawn: "Partie nulle" - my-turn: "C’est votre tour" - opponent-turn: "Tour de l’adversaire" - turn-of: "Tour de {name}" - past-turn-of: "Tour de {name}" - won: "{name} a gagné" - black: "Noirs" - white: "Blancs" - total: "Total" - this-turn: "Tour {count}" - widgets: - analog-clock: "Horloge analogique" - profile: "Profil" - calendar: "Calendrier" - timemachine: "Calendrier (Machine temporelle)" - activity: "Activité" - rss: "Lecteur de flux RSS" - memo: "Pense-bête" - trends: "Tendances" - photo-stream: "Flux de photos" - posts-monitor: "Graphe des publications" - slideshow: "Diaporama" - version: "Version" - broadcast: "Diffusion" - notifications: "Notifications" - users: "Utilisateur·rice·s recommandé·e·s" - polls: "Sondages" - post-form: "Champs de publication" - server: "Infos sur le serveur" - nav: "Navigation" - tips: "Conseils" - hashtags: "Hashtags" - queue: "File d'attente" - dev: "Échec lors de la création de l’application. Veuillez réessayer." - ai-chan-kawaii: "Ai-Chan est mignonne !" - you: "Vous" -auth/views/form.vue: - share-access: "Désirez-vous autoriser {name} à avoir accès à votre compte ?" - permission-ask: "Cette application nécessite les autorisations suivantes :" - cancel: "Annuler" - accept: "Autoriser l’accès" -auth/views/index.vue: - loading: "Chargement en cours" - denied: "L’autorisation de l’application a été refusée." - denied-paragraph: "Cette application ne va pas accéder à votre compte." - already-authorized: "Cette application est déjà autorisée." - allowed: "Permissions autorisées de l’application." - callback-url: "Retour vers l’application." - please-go-back: "Veillez retourner à l'application." - error: "La session n’existe pas." - sign-in: "Veuillez vous connecter" -common/views/pages/explore.vue: - pinned-users: "Utilisateur·rice·s épinglé·e·s" - popular-users: "Utilisateur·rice·s populaires" - recently-updated-users: "Utilisateur·rice·s actif·ve·s récemment" - recently-registered-users: "Les nouveaux inscrits" - recently-discovered-users: "Utilisateurs récemment découverts" - popular-tags: "Mots-clés populaires" - federated: "Du Fédiverse" - explore: "Explorer {host}" - explore-fediverse: "Explorer le Fédiverse" - users-info: "Actuellement, {users} utilisateur·rice·s se sont inscrit ici" -common/views/components/reactions-viewer.details.vue: - few-users: "{users} ont réagit avec {reaction}" -common/views/components/url-preview.vue: - enable-player: "Activer la lecture" - disable-player: "Fermer le lecteur" -common/views/components/user-list.vue: - no-users: "Il n'y a aucun utilisateur" -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "En attente de {}" - cancel: "Annuler" -common/views/components/games/reversi/reversi.game.vue: - surrender: "Se rendre" - surrendered: "Par abandon" - is-llotheo: "Celui ou celle qui a moins de pierres gagne (Roseo)" - looped-map: "Carte en boucle" - can-put-everywhere: "Peut poser partout" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "Jouer à Reversi avec vos amis !" - invite: "Inviter" - rule: "Comment jouer ?" - rule-desc: "Reversi est un jeu qui se joue sur un tablier et dans lequel les joueurs placent des pions sur ce dernier, à tour de rôle avec l'adversaire. Le but du jeu est d'avoir plus de pions de sa couleur que l'adversaire à la fin de la partie, celle-ci s'achevant lorsque aucun des deux joueurs ne peut plus jouer de coup légal, généralement lorsque les 64 cases sont occupées." - mode-invite: "Inviter" - mode-invite-desc: "Inviter un joueur." - invitations: "Vous avez reçu une invitation !" - my-games: "Mes jeux" - all-games: "Tous les jeux" - enter-username: "Saisir un nom d'utilisateur" - game-state: - ended: "Terminée" - playing: "En cours" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "Paramètres du jeu" - choose-map: "Sélectionnez une carte" - random: "Aléatoire" - black-or-white: "Noirs/Blancs" - black-is: "{} Noirs" - rules: "Règles" - is-llotheo: "Celui ou celle qui a le moins de pièces gagne (Llotheo)" - looped-map: "Carte en boucle" - can-put-everywhere: "Peut poser partout" - settings-of-the-bot: "Configuration du bot" - this-game-is-started-soon: "La partie commencera dans quelques instants" - waiting-for-other: "En attente que l'adversaire soit prêt" - waiting-for-me: "En attente que vous soyez prêt" - waiting-for-both: "En attente que vous soyez prêt" - cancel: "Annuler" - ready: "Prêt" - cancel-ready: "Annuler « Prêt »" -common/views/components/connect-failed.vue: - title: "Échec de connexion au serveur" - description: "Il se peut qu’il y est un problème avec votre connexion internet, ou le serveur est hors-ligne ou en maintenance. Veuillez {réessayer} plus tard." - thanks: "On vous remercie d’avoir choisi d’utiliser Misskey." - troubleshoot: "Dépanner" -common/views/components/connect-failed.troubleshooter.vue: - title: "Dépannage" - network: "Connexion au réseau" - checking-network: "Vérification de la connexion au réseau" - internet: "Connexion Internet" - checking-internet: "Vérification de la connexion internet" - server: "Connexion au serveur" - checking-server: "Vérification de la connexion au serveur" - finding: "Recherche d'un problème" - no-network: "Aucune connexion au réseau" - no-network-desc: "Veuillez vérifier que vous êtes bien connecté au réseau." - no-internet: "Aucune connexion internet." - no-internet-desc: "Assurez-vous que vous êtes bien connectés à internet." - no-server: "Impossible de se connecter au serveur" - no-server-desc: "Votre connexion semble correcte, mais il a été impossible de vous connecter au serveur de Misskey. Il se peut que le serveur soit hors-ligne ou en maintenance, veuillez ressayer plus tard." - success: "Connexion au serveur de Misskey réussie !" - success-desc: "Succès de la connexion au serveur de Misskey. Veuillez recharger la page." - flush: "Vider le cache" - set-version: "Choisissez une version" -common/views/components/media-banner.vue: - sensitive: "Contenu sensible" - click-to-show: "Cliquer pour afficher" -common/views/components/theme.vue: - theme: "Thème" - light-theme: "Thème en mode jour" - dark-theme: "Thème en mode nuit" - light-themes: "Thème clair" - dark-themes: "Thème sombre" - install-a-theme: "Installer un thème" - theme-code: "Code du thème" - install: "Installation" - installed: "« {} » a été installé" - create-a-theme: "Créer un thème" - save-created-theme: "Enregistrer le thème" - primary-color: "Couleur primaire" - secondary-color: "Couleur secondaire" - text-color: "Couleur du texte" - base-theme: "Thème de base" - base-theme-light: "Clair" - base-theme-dark: "Sombre" - find-more-theme: "Obtenir d’autres thèmes" - theme-name: "Nom du Thème" - preview-created-theme: "Prévisualisation" - invalid-theme: "Thème n’est pas valide." - already-installed: "Le thème est déjà installé." - saved: "enregistré" - manage-themes: "Gestion des thèmes" - builtin-themes: "Thèmes standards" - my-themes: "Mes thèmes" - installed-themes: "Thèmes installés" - select-theme: "Veuillez sélectionner un thème" - uninstall: "Désinstaller" - uninstalled: "« {} » a été désinstallé" - author: "Auteur" - desc: "Description" - export: "Exporter" - import: "Importer" - import-by-code: "Ou coller du code" - theme-name-required: "Nom du thème est obligatoire." -common/views/components/cw-button.vue: - hide: "Masquer" - show: "Voir plus" - chars: "{count} caractères" - files: "{count} fichiers" - poll: "Sondage" -common/views/components/messaging.vue: - search-user: "Trouver un utilisateur" - you: "Vous" - no-history: "Pas d'historique" - user: "Utilisateur·rice·s" - group: "Groupe" - start-with-user: "Initier une discussion avec un·e utilisateur·rice" - start-with-group: "Démarrer un groupe et converser" - select-group: "Sélectionner un groupe" -common/views/components/messaging-room.vue: - not-talked-user: "Vous n'avez pas encore discuté avec cet·te utilisateur·rice" - not-talked-group: "Il n y a aucune conversation dans ce groupe" - no-history: "Aucun historique" - new-message: "Nouveau message" - only-one-file-attached: "Vous ne pouvez joindre qu'un seul fichier au message" -common/views/components/messaging-room.form.vue: - input-message-here: "Tapez ici votre message" - send: "Envoyer" - attach-from-local: "Joindre un fichier depuis votre ordinateur" - attach-from-drive: "Joindre un fichier depuis votre Drive" - only-one-file-attached: "Vous ne pouvez joindre qu'un seul fichier au message" -common/views/components/messaging-room.message.vue: - is-read: "Lu" - deleted: "Ce message a été supprimé" -common/views/components/nav.vue: - about: "À propos" - stats: "Statistiques" - status: "Statut" - wiki: "Wiki" - donors: "Donateur·rice·s" - repository: "Dépôt" - develop: "Développeurs" - feedback: "Suggestions" - tos: "Conditions d'utilisation" -common/views/components/note-menu.vue: - mention: "Mention" - detail: "Détails" - copy-content: "Copier le contenu" - copy-link: "Copier le lien" - favorite: "Mettre cette note en favoris" - unfavorite: "Retirer des favoris" - watch: "Surveiller" - unwatch: "Ne plus surveiller" - pin: "Épingler sur votre profil" - unpin: "Désépingler" - delete: "Supprimer" - delete-confirm: "Supprimer cette publication ?" - delete-and-edit: "Supprimer et réécrire" - delete-and-edit-confirm: "Êtes-vous sûr de vouloir effacer cette note et la modifier ? Vous perdrez toutes les réactions, renotes et réponses." - remote: "Afficher la note originale" - pin-limit-exceeded: "Vous ne pouvez plus épingler davantage de publications." -common/views/components/user-menu.vue: - mention: "Mention" - mute: "Silencier" - unmute: "Enlever la sourdine" - mute-confirm: "Rendre muet cet utilisateur ?" - unmute-confirm: "Ne plus masquer cet utilisateur ?" - block: "Bloquer" - unblock: "Débloquer" - block-confirm: "Bloquer cet utilisateur ?" - unblock-confirm: "Débloquer cet utilisateur ?" - push-to-list: "Ajouter à une liste" - select-list: "Sélectionnez une liste" - report-abuse: "Signaler un abus" - report-abuse-detail: "Détail du signalement" - report-abuse-reported: "Transmit à l’administrateur. Merci de votre collaboration." - silence: "Mettre en sourdine" - unsilence: "Enlever la sourdine" - silence-confirm: "Êtes-vous surs de vouloir mettre cet·te utilisateur·rice en sourdine ?" - suspend: "Suspendre" - unsuspend: "Ne plus suspendre" - suspend-confirm: "Êtes-vous surs de vouloir suspendre cet·te utilisateur·rice ?" - unsuspend-confirm: "Êtes-vous sûr de vouloir débloquer cet utilisateur ?" -common/views/components/poll.vue: - vote-to: "Voter pour '{}'" - vote-count: "{} votes" - total-votes: "{} Total des votes" - vote: "Vote" - show-result: "Montrer les résultats" - voted: "Voté" - closed: "Terminé" - remaining-days: "{d} jours, {h} heures restantes" - remaining-hours: "{h} heures et {m} minutes restantes" - remaining-minutes: "{m} minutes et {s} secondes restantes" - remaining-seconds: "{s} secondes restantes" -common/views/components/poll-editor.vue: - no-only-one-choice: "Vous devez saisir au moins deux choix." - choice-n: "Choix {}" - remove: "Supprimer ce choix" - add: "+ Ajouter un choix" - destroy: "Annuler ce sondage" - multiple: "Autoriser le multi-choix" - expiration: "Valide jusqu'à" - infinite: "Illimité" - at: "Choisir une date et une durée" - after: "Choisir la durée" - no-more: "Vous ne pouvez pas en ajouter davantage" - deadline-date: "Date d’échéance" - deadline-time: "Durée" - interval: "Durée" - unit: "Unité" - second: "secondes" - minute: "Minutes" - hour: "Heures" - day: "D" -common/views/components/reaction-picker.vue: - choose-reaction: "Envoyer une réaction" - input-reaction-placeholder: "ou insérez un émoji" -common/views/components/emoji-picker.vue: - recent-emoji: "Utilisés récemment" - custom-emoji: "Émoji personnalisé" - no-category: "Sans catégorie" - people: "Personnes" - animals-and-nature: "Animaux et nature" - food-and-drink: "Nourriture et boisson" - activity: "Activités" - travel-and-places: "Lieux et voyages" - objects: "Objets" - symbols: "Symboles" - flags: "Drapeaux" -common/views/components/settings/app-type.vue: - title: "Mode" - intro: "Vous pouvez choisir, si vous voulez utiliser la disposition de bureau ou mobile." - choices: - auto: "Choisir la disposition automatiquement" - desktop: "Toujours utiliser la disposition de bureau" - mobile: "Toujours utiliser la disposition mobile" - info: "Le rechargement de la page est requis afin d'appliquer les modifications." -common/views/components/signin.vue: - username: "Nom d'utilisateur·rice" - password: "Mot de passe" - token: "Jeton" - signing-in: "Connexion…" - or: "Ou" - signin-with-twitter: "Se connecter via Twitter" - signin-with-github: "Se connecter avec GitHub" - signin-with-discord: "Se connecter avec Discord" - login-failed: "Échec d’authentification. Veuillez vérifier que votre nom d’utilisateur et mot de passe sont corrects." - tap-key: "Cliquez sur la clé de sécurité pour vous connecter" - enter-2fa-code: "Entrez votre code de vérification" -common/views/components/signup.vue: - invitation-code: "Code d’invitation" - invitation-info: "Si vous n’avez pas de code d’invitation, contactez un administrateur." - username: "Nom d'utilisateur·rice" - checking: "Vérification…" - available: "Disponible" - unavailable: "Non disponible" - error: "Erreur du réseau" - invalid-format: "Vous pouvez utiliser des lettres, des nombres et _." - too-short: "Veuillez saisir au moins un caractère !" - too-long: "Veuillez entrer au maximum 20 caractères." - password: "Mot de passe" - password-placeholder: "Nous recommandons au moins 8 caractères." - weak-password: "Faible" - normal-password: "Moyen" - strong-password: "Fort" - retype: "Retapez" - retype-placeholder: "Confirmez votre mot de passe" - password-matched: "OK" - password-not-matched: "Les mots de passe ne correspondent pas." - recaptcha: "Vérifier" - agree-to: "Accepter {0}." - tos: "Conditions d'utilisation" - create: "Créer un compte" - some-error: "La création du compte a échoué. Veuillez réessayer." -common/views/components/special-message.vue: - new-year: "Bonne année !" - christmas: "Joyeux Noël !" -common/views/components/stream-indicator.vue: - connecting: "Connexion en cours" - reconnecting: "Reconnexion en cours" - connected: "Connecté" -common/views/components/notification-settings.vue: - title: "Notifications" - mark-as-read-all-notifications: "Marquer toutes les notifications comme lues" - mark-as-read-all-unread-notes: "Marquer toutes les notes comme lues" - mark-as-read-all-talk-messages: "Marquer toutes les conversations comme lues" - auto-watch: "Surveiller automatiquement les publications" - auto-watch-desc: "Recevoir automatiquement des notifications à propos des publications auxquelles vous avez réagi ou répondu" -common/views/components/integration-settings.vue: - title: "Intégrations" - connect: "Connecter" - disconnect: "Déconnecter" - connected-to: "Vous êtes connectés aux services suivants" -common/views/components/github-setting.vue: - description: "Si vous liez votre compte GitHub à votre compte Misskey, vous verrez votre compte GitHub s’afficher sur votre profil, vous aurez également la possibilité de vous connecter à Misskey en utilisant ce dernier." - connected-to: "Vous êtes connecté à votre compte GitHub" - detail: "Détails …" - reconnect: "Reconnecter" - connect: "Se connecter avec GitHub" - disconnect: "Déconnecter" -common/views/components/discord-setting.vue: - description: "Si vous liez votre compte Discord à votre compte Misskey, vous serez en mesure de voir votre compte Twitter s'afficher sur votre profil, vous aurez aussi la possibilité de vous connecter à Misskey en utilisant votre compte Discord." - connected-to: "Vous êtes connecté à votre compte Discord" - detail: "Détails…" - reconnect: "Reconnecter" - connect: "Lier votre compte Discord" - disconnect: "Déconnecter" -common/views/components/uploader.vue: - waiting: "Veuillez patienter" -common/views/components/visibility-chooser.vue: - public: "Public" - home: "Accueil" - home-desc: "Publier sur le fil d’Accueil uniquement" - followers: "Abonné·e·s" - followers-desc: "Publier à vos abonné·e·s uniquement" - specified: "Direct" - specified-desc: "Publier uniquement aux utilisateur·rice·s mentionné·e·s" - local-public: "Local (Public)" - local-public-desc: "Ne pas publier pour les distants" - local-home: "Accueil (local uniquement)" - local-followers: "Abonné·e·s (Local uniquement)" -common/views/components/trends.vue: - count: "{} utilisateur·rice·s mentionné·e·s" - empty: "Aucune tendance" -common/views/components/language-settings.vue: - title: "Langue " - pick-language: "Sélectionner une langue" - recommended: "Recommandé" - auto: "Automatique" - specify-language: "Spécifier la langue" - info: "Le rechargement de la page est requis afin d'appliquer les modifications." -common/views/components/profile-editor.vue: - title: "Profil" - name: "Nom" - account: "Compte" - location: "Lieu" - description: "À propos de moi" - you-can-include-hashtags: "Vous pouvez également inclure un hashtag sur votre description de profile." - language: "Langue" - birthday: "Date de naissance" - avatar: "Avatar" - banner: "Bannière" - is-cat: "Ce compte est un Chat" - is-bot: "Ce compte est un Bot" - is-locked: "Demandes d’abonnements requièrent l’approbation" - careful-bot: "Les demandes d’abonnements venant de Bots requièrent l’approbation" - auto-accept-followed: "Accepter automatiquement les demandes d’abonnement venant des gens que vous suivez" - advanced: "Avancé" - privacy: "Vie privée" - save: "Mettre à jour le profil" - saved: "Profil mis à jour avec succès" - uploading: "En cours d’envoi …" - upload-failed: "Échec de l'envoi" - unable-to-process: "L'opération n'a pas pu être complétée" - avatar-not-an-image: "Le fichier sélectionné pour votre avatar n'est pas une image" - banner-not-an-image: "Le fichier sélectionné pour votre bannière n'est pas une image" - email: "Paramètres de messagerie" - email-address: "Adresse de courrier électronique" - email-verified: "L’adresse du courrier électronique a été vérifiée." - email-not-verified: "Adresse de courriel n’est pas confirmée. Veuillez vérifier votre boite de réception." - export: "Exporter" - import: "Importer" - export-and-import: "Exportation et importation" - export-targets: - all-notes: "Toutes les notes publiées" - following-list: "Liste des abonnements" - mute-list: "Liste des comptes mis en sourdine" - blocking-list: "Liste des comptes bloqués" - user-lists: "Listes" - export-requested: "Vous avez demandé une exportation. Cela peut prendre un certain temps. Une fois l'exportation terminée, le fichier résultant sera ajouté dans le Drive." - import-requested: "Vous avez initié un import. Ceci peut prendre un peu de temps." - enter-password: "Veuillez saisir votre mot de passe" - danger-zone: "Zone de danger" - delete-account: "Supprimer le compte" - account-deleted: "Le compte a été supprimé. Cela peut prendre un certain temps avant que toutes les données disparaissent." - profile-metadata: "Métadonnées du profil" - metadata-label: "Étiquette" - metadata-content: "Contenu" -common/views/components/user-list-editor.vue: - users: "Utilisateur·rice" - rename: "Renommer la liste" - delete: "Supprimer la liste" - remove-user: "Retirer de cette liste" - delete-are-you-sure: "Voulez-vous vraiment supprimer la liste « $1 » ?" - deleted: "Supprimé" - add-user: "Ajouter un utilisateur" -common/views/components/user-group-editor.vue: - users: "Membres" - rename: "Renommer le groupe" - delete: "Supprimer le groupe" - transfer: "Transférer de groupe" - transfer-are-you-sure: "Êtes vous surs de vouloir ajouter @$2 au groupe $1 ?" - transferred: "Groupe transféré" - remove-user: "Enlever un utilisateur de ce groupe" - delete-are-you-sure: "Désirez-vous vraiment supprimer le groupe $1 ?" - deleted: "Supprimé" - invite: "Inviter" - invited: "Invitation envoyée avec succès" -common/views/components/user-lists.vue: - user-lists: "Listes" - create-list: "Créer une liste" - list-name: "Nom de la liste" -common/views/components/user-groups.vue: - user-groups: "Groupe" - create-group: "Créer un groupe" - group-name: "Nom du groupe" - owned-groups: "Mes groupes" - joined-groups: "Membre dans les groupes" - invites: "Inviter" - accept-invite: "Participer" - reject-invite: "Refuser" -common/views/widgets/broadcast.vue: - fetching: "Récupération" - no-broadcasts: "Aucune annonce" - have-a-nice-day: "Passez une bonne journée !" - next: "Suivant" - prev: "Précédent" -common/views/widgets/calendar.vue: - year: "Année {}" - month: "{}," - day: "{}" - today: "Aujourd’hui :" - this-month: "Ce mois-ci :" - this-year: "Cette année :" -common/views/widgets/photo-stream.vue: - title: "Flux de photos" - no-photos: "Pas de photo" -common/views/widgets/posts-monitor.vue: - title: "Graphe des publications" - toggle: "Basculer entre les vues" -common/views/widgets/hashtags.vue: - title: "Hashtags" -common/views/widgets/server.vue: - title: "Informations sur le serveur" - toggle: "Afficher les vues" -common/views/widgets/memo.vue: - title: "Pense-bête" - memo: "Écrivez ici !" - save: "Enregistrer" -common/views/widgets/slideshow.vue: - folder-customize-mode: "Pour pouvoir spécifier un dossier, veuillez quitter le mode de personnalisation" - folder: "Veuillez cliquer pour spécifier le dossier" - no-image: "Il n'y a aucune image dans ce dossier" -common/views/widgets/tips.vue: - tips-line1: "Vous pouvez vous concentrer sur le fil avec t" - tips-line2: "Ouvre la fenêtre de publication en appuyant sur p ou n." - tips-line3: "Vous pouvez glisser et déposer des fichiers sur la fenêtre de la note" - tips-line4: "Vous pouvez coller des images à partir du presse-papier sur la fenêtre de la note" - tips-line5: "Vous pouvez téléverser des fichiers sur le Drive en faisant un glisser-déposer" - tips-line6: "Vous pouvez déplacer un dossier en le glissant dans le Drive" - tips-line7: "Vous pouvez déplacer des dossiers en les glissant dans le Drive" - tips-line8: "Vous pouvez personnaliser l'Accueil via les paramètres" - tips-line9: "Misskey est sous licence AGPLv3" - tips-line10: "L'utilisation du widget Time Machine permet de remonter facilement dans le passé du fil." - tips-line11: "Vous pouvez épingler des notes sur votre page en cliquant sur « … »" - tips-line13: "Tous les fichiers attachés à cette publication sont sauvegardés dans le Drive" - tips-line14: "Lorsque vous personnalisez la disposition de votre page d’accueil, vous pouvez effectuer un clique droit sur un widget pour changer son apparence." - tips-line17: "Vous pouvez mettre un texte en surbrillance en le mettant entre ** **" - tips-line19: "Plusieurs fenêtres peuvent être détachées en dehors du navigateur." - tips-line20: "Pourcentage sur le widget calendrier qui indique le pourcentage de temps passé" - tips-line21: "Vous pouvez aussi utiliser l'API pour développer des Bots." - tips-line23: "Ai-chan kawaii!" - tips-line24: "Misskey est fonctionnel depuis 2014" - tips-line25: "Vous pouvez recevoir les notifications de Misskey dans un navigateur web compatible" -common/views/pages/not-found.vue: - page-not-found: "La page demandée est introuvable !" -common/views/pages/follow.vue: - signed-in-as: "Connecté en tant que {}" - following: "Suit" - follow: "Suivre" - request-pending: "Demande d’abonnement en attente" - follow-processing: "Demande en attente" - follow-request: "Demande d’abonnement" -common/views/pages/follow-requests.vue: - received-follow-requests: "Demandes d’abonnement" - accept: "Accepter" - reject: "Refuser" -desktop: - banner-crop-title: "Découpez la partie qui apparaîtra comme bannière" - banner: "Bannière" - uploading-banner: "Téléversement d'une nouvelle bannière" - banner-updated: "Mise à jour de la bannière avec succès" - choose-banner: "Choisir une bannière" - avatar-crop-title: "Découpez la partie qui apparaîtra comme avatar" - avatar: "Avatar" - uploading-avatar: "Téléversement du nouvel avatar" - avatar-updated: "Mise à jour de l’avatar avec succès" - choose-avatar: "Choisir un avatar" - unable-to-process: "L'opération n'a pas pu être complétée" - invalid-filetype: "Ce format de fichier n’est pas pris en charge" -desktop/views/components/activity.chart.vue: - total: "Noirs ... Total" - notes: "Bleu ... Notes" - replies: "Rouge ... Réponses" - renotes: "Vert ... Partages" -desktop/views/components/activity.vue: - title: "Activité" - toggle: "Afficher les vues" -desktop/views/components/calendar.vue: - title: "{month} - {year}" - prev: "Mois précédent" - next: "Mois suivant" - go: "Cliquez pour naviguer" -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "{count} fichier(s) sélectionné(s)" - upload: "Téléverser des fichiers à partir de votre ordinateur" - cancel: "Annuler" - ok: "OK" - choose-prompt: "Choisir un fichier" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Annuler" - ok: "OK" - choose-prompt: "Choisir un dossier" -desktop/views/components/crop-window.vue: - skip: "Ignorer la découpe" - cancel: "Annuler" - ok: "OK" -desktop/views/components/drive-window.vue: - used: "utilisé" -desktop/views/components/drive.file.vue: - avatar: "Avatar" - banner: "Bannière" - nsfw: "CW" - contextmenu: - rename: "Renommer" - mark-as-sensitive: "Marquer comme sensible" - unmark-as-sensitive: "Ne pas marquer comme sensible" - copy-url: "Copier l’URL" - download: "Télécharger" - else-files: "Avancé" - set-as-avatar: "Utiliser en tant qu'avatar" - set-as-banner: "Utiliser en tant que bannière" - open-in-app: "Ouvrir dans l'application" - add-app: "Ajouter une application" - rename-file: "Renommer le ficher" - input-new-file-name: "Entrer un nouveau nom" - copied: "Copié" - copied-url-to-clipboard: "L'URL a été copiée dans le presse-papier" -desktop/views/components/drive.folder.vue: - upload-folder: "Emplacement de téléversement par défaut" - unable-to-process: "L'opération n'a pas pu être complétée" - circular-reference-detected: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer." - unhandled-error: "Erreur inconnue" - unable-to-delete: "Ne peut pas être supprimé" - has-child-files-or-folders: "Ce dossier n'est pas vide, il ne peut pas être supprimé" - contextmenu: - move-to-this-folder: "Déplacer dans ce dossier" - show-in-new-window: "Ouvrir dans une nouvelle fenêtre" - rename: "Renommer" - rename-folder: "Renommer le dossier" - input-new-folder-name: "Entrer un nouveau nom" - else-folders: "Avancé" - set-as-upload-folder: "Spécifier en tant que dossier de téléversement par défaut" -desktop/views/components/drive.vue: - search: "Rechercher" - empty-draghover: "Drop Welcome!" - empty-drive: "Votre Drive est vide" - empty-drive-description: "Vous pouvez également téléverser le fichier en faisant un clic droit et en choisissant « Téléverser » ou tout simplement en faisant glisser votre fichier." - empty-folder: "Ce dossier est vide" - unable-to-process: "L'opération n'a pas pu être complétée" - circular-reference-detected: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer." - unhandled-error: "Erreur inconnue" - url-upload: "Téléverser via une URL" - url-of-file: "URL de l'image que vous souhaitez téléverser." - url-upload-requested: "Téléversement demandé" - may-take-time: "Le téléversement de votre fichier peut prendre un certain temps." - create-folder: "Créer un dossier" - folder-name: "Nom du dossier" - contextmenu: - create-folder: "Créer un dossier" - upload: "Téléverser un fichier" - url-upload: "Téléverser à partir d’une URL" -desktop/views/components/media-video.vue: - sensitive: "Le contenu est NSFW" - click-to-show: "Cliquer pour afficher" -desktop/views/components/followers-window.vue: - followers: "Abonné·e·s de {}" -desktop/views/components/followers.vue: - empty: "Il semble que vous n’avez pas encore d’abonné·e·s." -desktop/views/components/following-window.vue: - following: "Suit {}" -desktop/views/components/following.vue: - empty: "Vous ne suivez aucun compte." -desktop/views/components/game-window.vue: - game: "Reversi" -desktop/views/components/home.vue: - done: "Envoyer" - add-widget: "Ajouter un widget" - add: "Ajouter" -desktop/views/input-dialog.vue: - cancel: "Annuler" - ok: "OK" -desktop/views/components/note-detail.vue: - private: "cette publication est privée" - deleted: "cette publication a été supprimée" - location: "Géolocalisation" - renote: "Republier" - add-reaction: "Ajouter une réaction" - undo-reaction: "Annuler la réaction" -desktop/views/components/note.vue: - reply: "Répondre" - renote: "Partager" - add-reaction: "Ajouter votre réaction" - undo-reaction: "Inverser la réaction" - detail: "Détails" - private: "Cette publication est privée" - deleted: "Cette publication a été supprimée" -desktop/views/components/notes.vue: - error: "Échec du chargement." - retry: "Réessayer" -desktop/views/components/notifications.vue: - empty: "Aucune de notification !" -desktop/views/components/post-form.vue: - posted: "Publié !" - replied: "Répondu !" - reposted: "Reposté !" - note-failed: "La note à échoué" - reply-failed: "La réponse a échoué" - renote-failed: "Échec lors de la republication" -desktop/views/components/post-form-window.vue: - note: "Nouvelle note" - reply: "Répondre" - attaches: "{} media joint(s)" - uploading-media: "Téléversement du média {}" -desktop/views/components/progress-dialog.vue: - waiting: "En attente" -desktop/views/components/renote-form.vue: - quote: "Citer..." - cancel: "Annuler" - renote: "Republier" - renote-home: "Renote (accueil)" - reposting: "Republication en cours…" - success: "Republié !" - failure: "La renote a échoué" -desktop/views/components/renote-form-window.vue: - title: "Êtes vous sûr de vouloir renote cette note?" -desktop/views/pages/user-following-or-followers.vue: - following: "{user} suit" - followers: "Abonné·e·s de {user}" -desktop/views/components/settings.2fa.vue: - intro: "Si vous configurez la vérication en deux étapes vous aurez non seulement besoin de votre mot de passe mais aussi un appareil déjà pré-enregistré(tel que votre smartphone) ce qui ameliora grandement la sécurité de votre compte." - detail: "Voir les détails..." - url: "https://www.google.com/landing/2step/" - caution: "Activer la vérification en deux étapes vient aussi avec des contraintes, si vous perdez votre appareil ou ne pouvez tout simplement plus y accéder vous ne serez plus en mesure de vous connecter à Misskey." - register: "Enregistrer un appareil" - already-registered: "Cette étape à déjà été complétée" - unregister: "Désactiver" - unregistered: "L'authentification à deux facteurs a été désactivée." - enter-password: "Entrez un mot de passe" - authenticator: "Vous devez au préalable installer Google Authenticator sur votre appareil :" - howtoinstall: "Comment installer" - token: "Jeton" - scan: "Ensuite, scannez le code QR affiché sur votre écran :" - done: "Veuillez entrer le token qui s'affiche sur votre appareil :" - submit: "Envoyer" - success: "Sauvegarde des paramètres avec succès !" - failed: "L’opération a échoué. Veuillez vous assurer que le jeton a été saisi correctement." - info: "À partir de maintenant, à chaque fois que vous vous connectez entrez votre mot de passe ainsi que le jeton généré sur votre appareil." - totp-header: "Application d'authentification" - security-key-header: "Clé de sécurité" - security-key: "Pour plus de sécurité, vous pouvez vous connecter à votre compte à l'aide d'une clé de sécurité matérielle qui prend en charge FIDO2. Lorsque vous vous connecterez, vous aurez besoin de la clé de sécurité enregistrée ou d'une application d'authentification avec vous." - last-used: "Dernière utilisation :" - activate-key: "Cliquez pour activer la clé de sécurité" - security-key-name: "Nom de la clé" - something-went-wrong: "Oula ! Il y a eu un problème lors de l’enregistrement de la clé." - key-unregistered: "La clé a été supprimée" - use-password-less-login: "Utiliser une connexion sans mot de passe" -common/views/components/media-image.vue: - sensitive: "Contenu sensible" - click-to-show: "Cliquer pour afficher" -common/views/components/api-settings.vue: - intro: "Pour accéder à l'API, définissez ce jeton comme la clé de « i » dans les paramètres de requête." - caution: "Merci de ne pas introduire ce jeton dans aucune application ou le divulguer à quiconque. Ceci risque de compromettre votre compte." - regeneration-of-token: "Si votre jeton est compromis, vous pouvez le régénérer." - regenerate-token: "Régénérer le jeton" - token: "Jeton :" - enter-password: "Entrez le mot de passe" - console: - title: "Console API" - endpoint: "Point de terminaison" - parameter: "Paramètres" - credential-info: "Le paramètre « i » est requis dans la console." - send: "Envoyer" - sending: "Envoi en cours" - response: "Résultat" -desktop/views/components/settings.apps.vue: - no-apps: "Aucune application autorisée" -common/views/components/drive-settings.vue: - max: "Maximale" - in-use: "utilisé" - stats: "Statistiques" - default-upload-folder: "Emplacement par défaut du dossier de transfert" - default-upload-folder-name: "Dossier·s" - change-default-upload-folder: "Changer de dossier" -common/views/components/mute-and-block.vue: - mute-and-block: "Masqués / Bloqués" - mute: "Mis en sourdine" - block: "Vous avez bloqué" - no-muted-users: "Aucun utilisateur n’est mis en sourdine" - no-blocked-users: "Aucun utilisateur n’est bloqué" - word-mute: "Filtre de mots" - muted-words: "Mots masqués" - muted-words-description: "Description des mots mis en sourdine" - unmute-confirm: "Ne plus masquer cet utilisateur ?" - unblock-confirm: "Débloquer cet utilisateur ?" - save: "Enregistrer" -common/views/components/password-settings.vue: - reset: "Modifier le mot de passe" - enter-current-password: "Entrez votre mot de passe actuel" - enter-new-password: "Saisissez le nouveau mot de passe" - enter-new-password-again: "Entrez à nouveau le nouveau mot de passe" - not-match: "Les nouveaux mots de passe ne sont pas identiques" - changed: "Mot de passe modifié avec succès" - failed: "Échec lors de la modification du mot de passe" -common/views/components/post-form-attaches.vue: - attach-cancel: "Enlever le fichier attaché" - mark-as-sensitive: "Marquer comme sensible" - unmark-as-sensitive: "Ne pas marquer comme sensible" -desktop/views/components/sub-note-content.vue: - private: "cette publication est privée" - deleted: "cette publication a été supprimée" - media-count: "{} médias attachés" - poll: "Sondage" -desktop/views/components/settings.tags.vue: - title: "Étiquettes" - query: "Requête (optionnelle)" - add: "Ajouter" - save: "Enregistrer" -desktop/views/components/timeline.vue: - home: "Accueil" - local: "Local" - hybrid: "Social" - global: "Global" - mentions: "Mentions" - messages: "Messages directs" - list: "Listes" - hashtag: "Hashtag" - add-tag-timeline: "Ajouter un fil de hashtags" - add-list: "Ajouter une nouvelle liste" - list-name: "Nom de la liste" -desktop/views/components/ui.header.vue: - welcome-back: "Content de vous revoir !" - adjective: "M." -desktop/views/components/ui.header.account.vue: - profile: "Votre profil" - lists: "Listes" - groups: "Groupes" - follow-requests: "Demandes d’abonnement" - admin: "Admin" - room: "Pièce" -desktop/views/components/ui.header.nav.vue: - game: "Jeux" -desktop/views/components/ui.header.notifications.vue: - title: "Notifications" -desktop/views/components/ui.header.post.vue: - post: "Rédiger une nouvelle publication" -desktop/views/components/ui.header.search.vue: - placeholder: "Chercher" -desktop/views/components/user-preview.vue: - notes: "Publications" - following: "Abonné à" - followers: "Abonné·e·s" -desktop/views/components/users-list.vue: - all: "Tout" - iknow: "Vous connaissez" - fetching: "Chargement..." -desktop/views/components/users-list-item.vue: - followed: "vous suit" -desktop/views/components/window.vue: - popout: "Fenêtre contextuelle" - close: "Fermer" -admin/views/index.vue: - dashboard: "Tableau de bord" - instance: "Instance" - emoji: "Émoji" - moderators: "Modérateurs" - users: "Utilisateur·rice·s" - federation: "Fédération" - announcements: "Annonces" - abuse: "Abus" - queue: "File d’attente" - logs: "Journaux" - db: "Base de données" - back-to-misskey: "Retour vers Misskey" -admin/views/db.vue: - tables: "Tables" - vacuum: "Vacuum" - vacuum-info: "Range la base de données. Conserve les données intactes et réduit l'utilisation du disque. Cela se fait généralement automatiquement et périodiquement." -admin/views/dashboard.vue: - dashboard: "Tableau de bord" - accounts: "Comptes" - notes: "Notes" - drive: "Lecteur" - instances: "Instances" - this-instance: "Cette instance" - federated: "Fédérées" -admin/views/queue.vue: - title: "File d'attente" - remove-all-jobs: "Enlever toutes les tâches en attente" - jobs: "Tâches" - queue: "File d'attente" - domains: - deliver: "Délivrées" - inbox: "Reçues" - db: "Base de données" - objectStorage: "Stockage d'objets" - state: "État" - states: - active: "en cours" - delayed: "Programmé" - waiting: "En file d'attente" - result-is-truncated: "Le résultat est tronqué" - other-queues: "Autres files d’attente" -admin/views/logs.vue: - logs: "Journaux" - domain: "Domaine" - level: "Niveau" - levels: - all: "Tous" - info: "Informations" - success: "Succès" - warning: "Avertissement" - error: "Erreur" - debug: "Débogage" - delete-all: "Effacer tout" -admin/views/abuse.vue: - title: "Abus" - target: "Cible" - reporter: "Signalé par" - details: "Détails" - remove-report: "Supprimer" -admin/views/instance.vue: - instance: "Instance" - instance-name: "Nom de l’instance" - instance-description: "Description de l’instance" - host: "Hôte" - icon-url: "URL de l'icône" - logo-url: "URL do logo" - banner-url: "URL de l’image de la bannière" - error-image-url: "URL de l’image d’erreur" - languages: "Langue de l’instance" - languages-desc: "Vous pouvez en définir plus d’une, séparées par des espaces." - tos-url: "URL des conditions d'utilisation" - repository-url: "URL du dépôt" - feedback-url: "URL pour les commentaires" - maintainer-config: "Informations de l’administrateur" - maintainer-name: "Nom de l’administrateur" - maintainer-email: "Contact administratif" - advanced-config: "Autres réglages" - note-and-tl: "Notes et fils" - drive-config: "Paramètres du lecteur" - use-object-storage: "Utiliser le stockage d'objets" - object-storage-base-url: "URL" - object-storage-prefix: "Préfixe" - object-storage-endpoint: "Point de terminaison" - object-storage-region: "Région" - object-storage-port: "Port" - object-storage-access-key: "Clé d'accès" - object-storage-secret-key: "Clé secrète" - object-storage-use-ssl: "Utiliser SSL" - object-storage-s3-info-here: "ici" - cache-remote-files: "Mettre en cache des fichiers distants" - local-drive-capacity-mb: "Volume du lecteur par utilisateur" - remote-drive-capacity-mb: "Volume du lecteur par utilisateur distant" - mb: "en mégaoctets" - recaptcha-config: "Paramètres de reCAPTCHA" - recaptcha-info: "Si activé, un jeton reCAPTCHA est requis. Vous pouvez en obtenir un sur https://www.google.com/recaptcha/intro/" - recaptcha-info2: "v3 n'est pas supportée. Veuillez utiliser v2." - enable-recaptcha: "Activation de reCAPTCHA" - recaptcha-site-key: "Clé du site" - recaptcha-secret-key: "Clé secrète" - recaptcha-preview: "Prévisualisation" - hidden-tags: "Tags cachés" - external-service-integration-config: "Services connectés" - twitter-integration-config: "Paramètres de connexion à Twitter" - twitter-integration-info: "L'URL de callback est {url}." - enable-twitter-integration: "Activer la connexion à Twitter" - twitter-integration-consumer-key: "Clé du consommateur" - twitter-integration-consumer-secret: "Secret du consommateur" - github-integration-config: "Paramètres d’authentification GitHub" - github-integration-info: "L'URL de callback est {url}." - enable-github-integration: "Activer l’authentification avec Github" - github-integration-client-id: "ID client" - github-integration-client-secret: "Secret client" - discord-integration-config: "Paramètres d’authentification Discord" - discord-integration-info: "L'URL de callback est {url}." - enable-discord-integration: "Activer l’authentification avec Discord" - discord-integration-client-id: "ID client" - discord-integration-client-secret: "Secret client" - proxy-account-config: "Compte proxy" - proxy-account-info: "Un compte proxy se comporte, dans certaines conditions, comme un·e abonné·e distant pour les utilisateurs d'autres instances.\nExemple : quand un·e utilisateur·rice distant·e est ajouté·e à une liste, ses publications ne serait pas visibles sur l'instance si personne ne le·la suit. Le compte proxy va donc le·la suivre pour que ses publications soient acheminées." - proxy-account-username: "Nom d’utilisateur du compte proxy" - proxy-account-username-desc: "Spécifiez le nom d’utilisateur du compte utilisé comme proxy." - proxy-account-warn: "Avant d’entamer cette action, vous devez au préalable avoir créé un compte avec ce nom d’utilisateur." - max-note-text-length: "Nombre maximal de caractères pour les messages" - disable-registration: "Désactiver les inscriptions" - disable-local-timeline: "Désactiver le fil local" - disable-global-timeline: "Désactiver le fil global" - disabling-timelines-info: "Même si vous désactivez ces fils, l'administrateur et les modérateurs peuvent continuer à les utiliser." - enable-emoji-reaction: "Activer les pictogrammes dans les réactions" - use-star-for-reaction-fallback: "Utiliser une étoile si une réaction est inconnue" - invite: "Inviter" - save: "Sauvegarder" - saved: "Enregistré" - pinned-users: "Utilisateur·rice épinglé·e" - email-config: "Paramètres du serveur de messagerie" - email-config-info: "Utilisé pour confirmer votre adresse de courrier électronique et la réinitialisation de votre mot de passe." - enable-email: "Activation de la distribution du courrier" - email: "Adresse de courrier électronique" - smtp-secure: "Utiliser SSL/TLS implicitement dans la connexion SMTP" - smtp-secure-info: "Désactiver STARTTLS lorsque celui-ci est utilisé." - smtp-host: "Hôte SMTP" - smtp-port: "Port SMTP" - smtp-auth: "Effectuer une authentification SMTP" - smtp-user: "Utilisateur SMTP" - smtp-pass: "Mot de passe SMTP" - test-email: "Test" - serviceworker-config: "ServiceWorker" - enable-serviceworker: "Activer ServiceWorker" - serviceworker-info: "Devrait être activé pour les notifications push." - vapid-publickey: "Clé Publique VAPID" - vapid-privatekey: "Clé privée VAPID" - vapid-info: "Vous devez activer ServiceWorker pour pouvoir générer les clés VAPID. Vous devez lancer ceci en mode root :" -admin/views/charts.vue: - title: "Graphe" - per-day: "par jour" - per-hour: "par heure" - federation: "Fédération" - notes: "Publications" - users: "Utilisateur·rice·s" - drive: "Lecteur" - network: "Réseau" - charts: - federation-instances: "Nombre d’instances : augmentation/diminution" - federation-instances-total: "Nombre total d’instances" - notes: "Nombre de publications : augmentation/diminution (combinés)" - local-notes: "Nombre des publications : augmentation/diminution (Local)" - remote-notes: "Nombre de publications : augmentation/diminution (distants)" - notes-total: "Total des notes" - users: "Nombre d’utilisateur·rice·s : augmentation/diminution" - users-total: "Nombre total des utilisateur·rice·s" - active-users: "Utilisateur·rice·s actif·ve·s" - drive: "Capacité utilisée comme stockage : augmentation/diminution" - drive-total: "Utilisation totale du lecteur" - drive-files: "Le nombre de fichiers sur l'espace de stockage : augmentation/diminution" - drive-files-total: "Nombre total de fichiers sur le lecteur" - network-requests: "Requêtes" - network-time: "Temps de réponse" - network-usage: "Traffic" -admin/views/drive.vue: - operation: "Actions" - fileid-or-url: "ID du fichier ou URL" - file-not-found: "Fichier non trouvé" - lookup: "Recherche" - sort: - title: "Tri" - createdAtAsc: "Âge - Du plus ancien" - createdAtDesc: "Âge - Du plus récent" - sizeAsc: "Taille - Ascendant" - sizeDesc: "Taille - Volumineux en premier" - origin: - title: "Origine" - combined: "Locaux et distants combinés" - local: "Local" - remote: "Distant" - delete: "Supprimer" - deleted: "Supprimé" - mark-as-sensitive: "Marquer comme sensible" - unmark-as-sensitive: "Ne pas marquer comme sensible" - marked-as-sensitive: "Marqué comme sensible" - unmarked-as-sensitive: "Marqué comme non sensible" - clean-remote-files: "Nettoyer le cache des fichiers distants" - clean-remote-files-are-you-sure: "Êtes-vous sûr de vouloir effacer tout les fichiers distants mis en cache ?" - clean-up: "Nettoyage" -admin/views/users.vue: - operation: "Actions" - username-or-userid: "Nom d’utilisateur·rice ou ID utilisateur" - user-not-found: "Utilisateur non trouvé" - lookup: "Recherche" - reset-password: "Réinitialiser mot de passe" - reset-password-confirm: "Souhaitez-vous réinitialiser votre mot de passe ?" - password-updated: "Le mot de passe est « {password} »" - suspend: "Suspendre" - suspend-confirm: "Désirez-vous suspendre ce compte ?" - suspended: "Suspendu avec succès." - unsuspend: "Suspension levée" - unsuspend-confirm: "Souhaiteriez-vous ne plus suspendre ce compte ?" - unsuspended: "La suspension de l’utilisateur a été levée avec succès" - make-silence: "Mettre en sourdine" - silence-confirm: "Mettre l'utilisateur sous silence ?" - unmake-silence: "Enlever la sourdine" - update-remote-user: "Mettre à jour les informations de l’utilisateur·rice distant·e" - remote-user-updated: "Les informations de l’utilisateur·rice distant·e ont étés mis à jour" - delete-all-files: "Supprimer tous les fichiers" - delete-all-files-confirm: "Êtes vous surs de vouloir supprimer tous les fichiers ?" - username: "Nom d'utilisateur·rice" - host: "Hôte" - users: - title: "Utilisateur·rice·s" - sort: - title: "Trier par" - createdAtAsc: "Date d’inscription (Ascendant)" - createdAtDesc: "Date d’inscription (Descendant)" - updatedAtAsc: "Mis à jour récemment (Ascendant)" - updatedAtDesc: "Mis à jour récemment (descendant)" - state: - title: "État" - all: "Tout" - available: "Disponible" - admin: "Admin" - moderator: "Modérateur" - adminOrModerator: "Administrateur/Modérateur" - silenced: "Déjà mis en sourdine" - suspended: "Suspendu" - origin: - title: "Origine" - combined: "Locaux + distants" - local: "Locaux" - remote: "Distants" - createdAt: "Créé le" - updatedAt: "Mis à jour le" -admin/views/moderators.vue: - add-moderator: - title: "Ajout d’un modérateur" - add: "Ajouter" - added: "Ajouté en tant que modérateur" - remove: "Révoquer" - removed: "Le modérateur a été révoqué" - logs: - title: "Journaux" - moderator: "Modérateurs" - type: "Actions" - at: "Date de modification" - info: "Informations" -admin/views/emoji.vue: - add-emoji: - title: "Ajouter un émoji" - name: "Nom de l’émoji" - name-desc: "Vous pouvez utiliser les caractères a~z 0~9 _" - category: "Catégories" - aliases: "Aliases" - aliases-desc: "Vous pouvez définir plus d’un, séparés par des espaces." - url: "URL de l’image" - add: "Ajouter" - info: "Nous recommandons l’usage d’images PNG moins de 50 Ko." - added: "Émoji ajouté avec succès" - emojis: - title: "Émojis" - update: "Mise à jour" - remove: "Supprimer" - updated: "À été mis à jour" - remove-emoji: - are-you-sure: "Supprimer « %1$s » ?" - removed: "Supprimé" -admin/views/announcements.vue: - announcements: "Annonces" - save: "Enregistrer" - remove: "Supprimer" - add: "Ajouter" - title: "Titre" - text: "Contenu" - saved: "Sauvegardé" - _remove: - are-you-sure: "Supprimer « %1$s » ?" - removed: "Supprimé" -admin/views/hashtags.vue: - hided-tags: "Tags cachés" -admin/views/federation.vue: - instance: "Instance" - host: "Hôte" - notes: "Notes" - users: "Utilisateur·rice·s" - following: "Abonnements" - followers: "Abonné·e·s" - caught-at: "Créé le" - status: "Statuts" - latest-request-sent-at: "Dernière requête envoyée" - latest-request-received-at: "Dernière requête reçue" - remove-all-following-info: "Se désabonner de tous les comptes de {host}. Exécutez cette commande si l'instance n'existe plus." - delete-all-files: "Supprimer tous les fichiers" - block: "Bloquer" - marked-as-closed: "Marquées comme fermées" - lookup: "Recherche" - instances: "Fédérées" - instance-not-registered: "L’instance n’a pas encore été découverte" - sort: "Trier par" - sorts: - caughtAtAsc: "Date d’inscription (Ascendant)" - caughtAtDesc: "Date d’inscription (Descendant)" - lastCommunicatedAtAsc: "La date et l'heure des interactions plus anciennes" - lastCommunicatedAtDesc: "La date et l'heure des nouvelles interactions" - notesDesc: "Description des notes" - usersAsc: "Peu d'abonné·e·s" - followingAsc: "Les moins suivies" - followingDesc: "Ayant le plus d'abonné·e·s" - followersAsc: "Ayant le moins d'abonné·e·s" - followersDesc: "Ayant le plus d'abonné·e·s" - driveUsageAsc: "Moins d'espace de stockage utilisé" - state: "État" - states: - all: "Tout" - blocked: "Bloquées" - not-responding: "Sans réponse" - marked-as-closed: "Marquée comme fermée" - charts: "Graphs" - chart-srcs: - requests: "Requêtes" - users: "Nombre d’utilisateur·trice·s : augmentation/diminution" - users-total: "Nombre total des utilisateur·rice·s" - notes: "Augmentation/diminution du nombre des notes" - notes-total: "Nombre total des notes" - ff: "Augmentation des abonné·e·s" - ff-total: "Nombre total d'abonnements" - drive-usage: "Augmentation et diminution de la capacité stockage" - drive-usage-total: "Utilisation totale du stockage" - drive-files-total: "Nombre total des fichiers sur le Drive" - chart-spans: - hour: "Par heure" - day: "Par jour" - blocked-hosts: "En cours blocage" - save: "Enregistrer" -desktop/views/pages/welcome.vue: - about: "à propos" - timeline: "Fil d’actualité" - announcements: "Notices" - photos: "Images récentes" - powered-by-misskey: "Propulsé par Misskey." - info: "Informations" -desktop/views/pages/drive.vue: - title: "Lecteur de Misskey" -desktop/views/pages/note.vue: - prev: "Note précédente" - next: "Note suivante" -desktop/views/pages/selectdrive.vue: - title: "Choisir fichier(s)" - ok: "OK" - cancel: "Annuler" - upload: "Téléverser des fichiers à partir de votre ordinateur" -desktop/views/pages/search.vue: - not-available: "La fonction de recherche est désactivée dans les paramètres de l’instance." - not-found: "Aucune publication trouvée pour « {q} »." -desktop/views/pages/tag.vue: - no-posts-found: "Aucune publication contenant « {q} » n’a été trouvée." -desktop/views/pages/user-list.users.vue: - users: "Utilisateur·rice·s" - add-user: "Ajouter un utilisateur" - username: "Nom d'utilisateur" -desktop/views/pages/user/user.followers-you-know.vue: - title: "Abonné·e·s que vous connaissez" - loading: "Chargement en cours" - no-users: "Aucun·e abonné·e connu·e" -desktop/views/pages/user/user.friends.vue: - title: "Mentions fréquentes" - loading: "Chargement en cours" - no-users: "Aucune mention fréquente" -desktop/views/pages/user/user.photos.vue: - title: "Photos" - loading: "Chargement en cours" - no-photos: "Pas de photos" -desktop/views/pages/user/user.header.vue: - posts: "Notes" - following: "Suit" - followers: "Abonné·e·s" - is-bot: "Ce compte est un Bot" - no-description: "L'utilisateur n'a pas renseigné d'introduction sur son profile" - years-old: "{age} ans" - year: "/" - month: "/" - day: "-" - follows-you: "Vous suit" -desktop/views/pages/user/user.timeline.vue: - default: "Publications" - with-replies: "Publications et réponses" - with-media: "Média" - my-posts: "Mes Messages" -desktop/views/widgets/notifications.vue: - title: "Notifications" -desktop/views/widgets/polls.vue: - title: "Sondages" - refresh: "Afficher d'autres" - nothing: "Rien" -desktop/views/widgets/post-form.vue: - title: "Publication" - note: "Publication" -desktop/views/widgets/profile.vue: - update-banner: "Cliquer pour éditer votre bannière" - update-avatar: "Cliquer pour éditer votre avatar" -desktop/views/widgets/trends.vue: - title: "Tendances" - refresh: "Afficher d'autres" - nothing: "Rien" -desktop/views/widgets/users.vue: - title: "Utilisateurs·rices" - refresh: "Afficher d'autres" - no-one: "Personne" -mobile/views/components/drive.vue: - used: "utilisé" - folder-count: "Dossier·s" - count-separator: ", " - file-count: "Fichier·s" - nothing-in-drive: "Rien" - folder-is-empty: "Ce dossier est vide" - folder-name: "Nom du dossier" - here-is-root: "Actuellement, vous êtes dans la racine et non pas dans un dossier." - url-prompt: "URL du fichier que vous souhaitez téléverser" - uploading: "Envoi demandé. Le téléversement pourrait prendre un certain temps avant de s'achever." - folder-name-cannot-empty: "Le nom du dossier ne peut être laissé vide." -mobile/views/components/drive-file-chooser.vue: - select-file: "Choisissez un fichier" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "Choisissez un dossier" -mobile/views/components/drive.file.vue: - nsfw: "CW" -mobile/views/components/drive.file-detail.vue: - download: "Télécharger" - rename: "Renommer" - move: "Déplacer" - hash: "Hash (md5)" - exif: "EXIF" - nsfw: "CW" - mark-as-sensitive: "Marquer comme sensible" - unmark-as-sensitive: "Ne pas marquer comme sensible" -mobile/views/components/media-video.vue: - sensitive: "Le contenu est NSFW" - click-to-show: "Cliquer pour afficher" -common/views/components/follow-button.vue: - following: "Abonné·e" - follow: " Suivre" - request-pending: "Demande en attente" - follow-processing: "En cours d’abonnement" - follow-request: "Demande d’abonnement" -mobile/views/components/note.vue: - private: "cette publication est privée" - deleted: "cette publication a été supprimée" - location: "Géolocalisation" -mobile/views/components/note-detail.vue: - reply: "Répondre" - reaction: "Réaction" - private: "cette publication est privée" - deleted: "cette publication a été supprimée" - location: "Lieu" -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "chat" -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "chat" -mobile/views/components/notifications.vue: - empty: "Aucune de notification !" -mobile/views/components/sub-note-content.vue: - private: "cette publication est privée" - deleted: "cette publication a été supprimée" - media-count: "{} médias attachés" - poll: "Sondage" -mobile/views/components/ui.header.vue: - welcome-back: "Content de vous revoir ! " - adjective: "M." -mobile/views/components/ui.nav.vue: - timeline: "Fil d’actualité" - notifications: "Notifications" - follow-requests: "Demandes d’abonnement" - search: "Rechercher" - user-lists: "Listes" - user-groups: "Groupe" - widgets: "Modules" - game: "Jeux" - admin: "Admin" - about: "À propos de Misskey" -mobile/views/pages/drive.vue: - contextmenu: - upload: "Téléverser un fichier" - url-upload: "Transférer un fichier depuis une URL" - create-folder: "Créer un dossier" - rename-folder: "Renommer le dossier" - move-folder: "Déplacer ce dossier" - delete-folder: "Supprimer ce dossier" -mobile/views/pages/signup.vue: - lets-start: "Votre compte est prêt ! 📦" -mobile/views/pages/followers.vue: - followers-of: "Abonné·e·s de {name}" -mobile/views/pages/following.vue: - following-of: "Abonné·e·s de {name}" -mobile/views/pages/home.vue: - home: "Accueil" - local: "Local" - hybrid: "Social" - global: "Global" - mentions: "Mentions" - messages: "Messages directs" -mobile/views/pages/tag.vue: - no-posts-found: "Aucune publication ayant pour hashtag « {q} » n’a été trouvée." -mobile/views/pages/widgets.vue: - dashboard: "Tableau de bord" - add-widget: "Ajouter" - customization-tips: "Conseils de personnalisation" -mobile/views/pages/widgets/activity.vue: - activity: "Activité" -mobile/views/pages/share.vue: - share-with: "Partager avec {name}" -mobile/views/pages/note.vue: - title: "Publication" - prev: "Note précédente" - next: "Note suivante" -mobile/views/pages/games/reversi.vue: - reversi: "Reversi" -mobile/views/pages/search.vue: - search: "Chercher" - not-found: "Aucune publication trouvée pour « {q} »." -mobile/views/pages/selectdrive.vue: - select-file: "Choisissez un fichier" -mobile/views/pages/notifications.vue: - notifications: "Notifications" -mobile/views/pages/settings.vue: - signed-in-as: "Connecté·e en tant que {}" -mobile/views/pages/user.vue: - follows-you: "Vous suit" - following: "Abonnements" - followers: "Abonné·e·s" - notes: "Notes" - overview: "Aperçu" - timeline: "Fil d’actualité" - media: "Média" - years-old: "{age} ans" -mobile/views/pages/user/home.vue: - recent-notes: "Notes récentes" - images: "Images" - activity: "Activité" - keywords: "Mot clés" - domains: "Domaines" - frequently-replied-users: "Mentions fréquentes" - followers-you-know: "Abonné·e·s que vous connaissez" - last-used-at: "Dernière connexion il y a" -mobile/views/pages/user/home.photos.vue: - no-photos: "Pas de photos" -deck: - widgets: "Widgets" - home: "Principal" - local: "Local" - hybrid: "Social" - hashtag: "Hashtags" - global: "Global" - mentions: "Mentions" - direct: "Messages directs" - notifications: "Notifications" - list: "Listes" - select-list: "Sélectionnez une liste" - swap-left: "Déplacer à gauche" - swap-right: "Déplacer à droite" - swap-up: "Déplacer vers le haut" - swap-down: "Déplacer vers le bas" - remove: "Supprimer la colonne" - add-column: "Ajouter une colonne" - rename: "Renommer" - stack-left: "Empiler à gauche" - pop-right: "Vers la droite" - disabled-timeline: - title: "Le fil été désactivé" - description: "Ce fil a été désactivé par l'administrateur du serveur." -deck/deck.tl-column.vue: - is-media-only: "Les publications médias uniquement" - edit: "Option" -deck/deck.user-column.vue: - follows-you: "Vous suit" - posts: "Notes" - following: "Suit" - followers: "Abonné·e·s" - images: "Images" - activity: "Activité" - timeline: "Fil d’actualité" - pinned-notes: "Notes épinglées" - pinned-page: "Page épinglée" -docs: - edit-this-page-on-github: "Vous avez trouvé une erreur ou vous voulez contribuer à la documentation ?" - edit-this-page-on-github-link: "Éditez cette page sur GitHub !" -dev/views/index.vue: - manage-apps: "Gestion des applications" -dev/views/apps.vue: - manage-apps: "Gestion des applications" - create-app: "Créer une app" - app-missing: "Aucune application" -dev/views/new-app.vue: - new-app: "Nouvelle application" - new-app-info: "Vous pouvez aussi créer une application avec l'API. (app/create)" - create-app: "Création d’une application" - app-name: "Nom de l’application" - app-name-placeholder: "p. ex. Misskey pour iOS" - app-name-desc: "Le nom de votre application" - app-overview: "Description courte de l’application" - app-overview-placeholder: "p. ex. Misskey pour iOS" - app-overview-desc: "Brève description introductive à votre application." - callback-url: "L’Url de callback (facultatif)" - callback-url-placeholder: "p. ex. https://votre.app.example.com/callback.php" - callback-url-desc: "Vous pouvez définir l’URL de redirection lorsque l’utilisateur s’est authentifié via formulaire d’authentification." - authority: "Autorisations " - authority-desc: "Sont accessibles via l’API, uniquement les fonctionnalités demandées ici." - authority-warning: "Vous pouvez le changer même après avoir créé l'application, mais si vous attribuez une nouvelle permission, toutes les clés utilisateur associées seront dès lors invalides." -pages: - new-page: "Créer une page" - edit-page: "Modifier une page" - read-page: "Voir la source" - page-created: "Page a été créée !" - page-updated: "A mis à jour la page" - name-already-exists: "Une page portant le même nom existe déjà" - title-invalid-name: "L’URL de la page spécifiée n’est pas valide" - are-you-sure-delete: "Confirmez-vous la suppression de cette page ?" - page-deleted: "La page a bien été supprimée." - edit-this-page: "Éditer cette page" - pin-this-page: "Épingler sur votre profil" - unpin-this-page: "Désépingler" - view-source: "Afficher la source" - view-page: "Afficher la page" - like: "Bien" - unlike: "Je n’aime pas" - liked-pages: "Pages favorites" - my-pages: "Mes pages" - inspector: "Inspecteur" - content: "Bloc de page" - variables: "Variables" - more-details: "Description" - title: "Titre" - url: "URL de page" - summary: "Résumé de page" - align-center: "Centrée" - hide-title-when-pinned: "Masquer le titre de la page lorsque celle-ci est épinglée au profil" - font: "Police de caractères" - fontSerif: "Serif" - fontSansSerif: "Sans Serif" - set-eye-catching-image: "Définir une image attirante" - remove-eye-catching-image: "Supprimer une image attirante" - choose-block: "Ajouter un bloc" - select-type: "Choisir un type" - enter-variable-name: "Veuillez choisir un nom de variable" - the-variable-name-is-already-used: "Cette variable est déjà utilisée" - content-blocks: "Contenu du cadre" - input-blocks: "Entrée" - special-blocks: "Spécial" - post-from-post-form: "Publier ce contenu" - posted-from-post-form: "Publié !" - blocks: - text: "Texte" - textarea: "Zone de texte" - section: "Section" - image: "Images" - button: "Bouton" - if: "Si" - _if: - variable: "Variables" - post: "Champs de publication" - _post: - text: "Contenu" - textInput: "Entrée textuelle" - _textInput: - name: "Nom de la variable" - text: "Titre" - default: "Valeur par défaut" - _textareaInput: - name: "Nom de la variable" - text: "Titre" - default: "Valeur par défaut" - numberInput: "Entrée numérique" - _numberInput: - name: "Nom de la variable" - text: "Titre" - default: "Valeur par défaut" - switch: "Basculer" - _switch: - name: "Nom de la variable" - text: "Titre" - default: "Valeur par défaut" - counter: "Compteur" - _counter: - name: "Nom de la variable" - text: "Titre" - inc: "Augmenter le chiffre" - _button: - text: "Titre" - colored: "Couleur" - action: "L'opération lorsque le bouton sera pressé" - _action: - dialog: "Afficher une fenêtre de dialogue" - _dialog: - content: "Contenu" - resetRandom: "Réinitialiser le nombre aléatoire" - pushEvent: "Envoyer un évènement" - _pushEvent: - event: "Nom de l'évènement" - message: "Message à afficher lorsque appuyé" - variable: "Variable à envoyer" - no-variable: "Aucune" - radioButton: "Choix" - _radioButton: - name: "Nom de la variable" - title: "Titre" - default: "Valeur par défaut" - script: - categories: - flow: "Contrôle" - logical: "Opération logique" - operation: "Calculer" - comparison: "Comparer" - random: "Aléatoire" - value: "Valeur" - fn: "Fonction" - text: "Actions texte" - convert: "Convertir" - list: "Listes" - blocks: - text: "Texte" - multiLineText: "Texte (Multi-lignes)" - textList: "Liste de texte" - strLen: "Longueur du texte" - _strLen: - arg1: "Texte" - strPick: "Extraire un caractère" - _strPick: - arg1: "Texte" - arg2: "Position du joueur" - strReplace: "Remplacement de texte" - _strReplace: - arg1: "Texte" - arg2: "Avant le remplacement" - arg3: "Après le remplacement" - strReverse: "Inverser le texte" - _strReverse: - arg1: "Texte" - _join: - arg1: "Listes" - arg2: "Séparateur" - add: "+ Plus" - _add: - arg1: "A" - arg2: "B" - subtract: "- Moins" - _subtract: - arg1: "A" - arg2: "B" - multiply: "× Multiplier par" - _multiply: - arg1: "A" - arg2: "B" - divide: "÷ Diviser par" - _divide: - arg1: "A" - arg2: "B" - _mod: - arg1: "A" - arg2: "B" - _round: - arg1: "Numérique" - eq: "A et B sont équivalents" - _eq: - arg1: "A" - arg2: "B" - notEq: "A et B sont différents" - _notEq: - arg1: "A" - arg2: "B" - and: "A et B" - _and: - arg1: "A" - arg2: "B" - or: "A ou B" - _or: - arg1: "A" - arg2: "B" - lt: "A est plus petit que B" - _lt: - arg1: "A" - arg2: "B" - gt: "A est supérieur à B" - _gt: - arg1: "A" - arg2: "B" - ltEq: "A est plus petit ou égal à B" - _ltEq: - arg1: "A" - arg2: "B" - gtEq: "A est supérieur ou égal à B" - _gtEq: - arg1: "A" - arg2: "B" - if: "Branche" - _if: - arg1: "Si" - arg2: "donc" - arg3: "sinon" - not: "négation" - _not: - arg1: "négation" - random: "Aléatoire" - _random: - arg1: "Probabilité" - rannum: "Nombre aléatoire" - _rannum: - arg1: "Minimum" - arg2: "Maximum" - randomPick: "Choisir aléatoirement depuis la liste" - _randomPick: - arg1: "Listes" - dailyRandom: "Aléatoire (Quotidien pour chaque utilisateur)" - _dailyRandom: - arg1: "Probabilité" - _dailyRannum: - arg1: "Minimum" - arg2: "Maximum" - _dailyRandomPick: - arg1: "Listes" - seedRandom: "Aléatoire (graine)" - _seedRandom: - arg1: "Graine" - arg2: "Probabilité" - seedRannum: "Nombre aléatoire (Graine)" - _seedRannum: - arg1: "Graine" - arg2: "Min" - arg3: "Max" - seedRandomPick: "Sélection aléatoire dans une liste (Graine)" - _seedRandomPick: - arg1: "Graine" - arg2: "Listes" - DRPWPM: "Sélection aléatoire à partir d'une liste pondérée (mise à jour quotidienne par utilisateur)" - _DRPWPM: - arg1: "Liste de texte" - pick: "Sélectionner dans la liste" - _pick: - arg1: "Listes" - arg2: "Position" - listLen: "Longueur de la liste" - _listLen: - arg1: "Listes" - number: "Numérique" - stringToNumber: "Chaîne en chiffres" - _stringToNumber: - arg1: "Texte" - numberToString: "Chiffres en chaîne" - _numberToString: - arg1: "Numérique" - splitStrByLine: "Séparer le texte par lignes" - _splitStrByLine: - arg1: "Texte" - ref: "Variables" - fn: "Fonction" - _fn: - slots: "Emplacement" - slots-info: "Veuillez délimiter chaque emplacement par un saut de ligne" - arg1: "Sortie" - for: "Répéter" - _for: - arg1: "Compter" - arg2: "Action" - thereIsEmptySlot: "Slot {slot} est vide !" - types: - string: "Texte" - number: "Numérique" - boolean: "Marqueur" - array: "Listes" - stringArray: "Liste de texte" - emptySlot: "Slot vide" - enviromentVariables: "Variables d'environnement" - pageVariables: "Élément de page" - argVariables: "Entrée vide" -room: - add-furniture: "Placer des meubles" - translate: "Déplacer" - rotate: "Tourner" - exit: "Retour" - remove: "Enlever" - save: "Enregistrer" - saved: "enregistré" - clear: "Tout enlever" - clear-confirm: "Désirez-vous enlever tout les meubles de votre chambre ?" - leave-confirm: "Vous avez des modifications non-sauvegardées. Voulez-vous vraiment quitter ?" - chooseImage: "Sélectionnez une image" - room-type: "Type de chambre" - carpet-color: "Couleur du tapis" - rooms: - default: "Par défaut" - washitsu: "Style japonnais" - furnitures: - milk: "Lait en carton" - bed: "Lit" - low-table: "Table basse" - desk: "Bureau" - chair: "Chaise" - chair2: "Chaise 2" - fan: "Ventilateur" - pc: "Ordinateur" - plant: "Plante d’intérieur" - plant2: "Plante d’intérieur 2" - eraser: "Gomme" - pencil: "Crayon" - pudding: "Pudding" - cardboard-box: "Boîte en carton" - cardboard-box2: "Boîte en carton 2" - cardboard-box3: "Boîte en carton 3" - book: "Livre" - book2: "Livre 2" - piano: "Piano" - facial-tissue: "Mouchoirs en papier" - server: "Serveurs" - moon: "Lune" - corkboard: "Tableau en liège" - mousepad: "Tapis de souris" - monitor: "Écran" - keyboard: "Clavier" - carpet-stripe: "Tapis (zébré)" - mat: "Tapis" - color-box: "Étagère" - wall-clock: "Horloge murale" - photoframe: "Cadre photo" - cube: "Cube" - tv: "Téléviseur" - pinguin: "Pingouin" - rubik-cube: "Cube de Rubik" - poster-h: "Affiche (horizontale)" - poster-v: "Affiche (verticale)" - sofa: "Canapé" - spiral: "Escaliers en spirale" - bin: "Corbeille" - cup-noodle: "Bol de nouilles" - holo-display: "Affichage holographique" - energy-drink: "Boisson énergétique" diff --git a/locales/index.js b/locales/index.js index b71625dbc..749a3e0e1 100644 --- a/locales/index.js +++ b/locales/index.js @@ -14,19 +14,19 @@ const merge = (...args) => args.reduce((a, c) => ({ }), {}); const languages = [ - 'cs-CZ', + /*'cs-CZ', 'da-DK', 'de-DE', 'en-US', 'es-ES', - 'fr-FR', + 'fr-FR',*/ 'ja-JP', - 'ja-KS', + /*'ja-KS', 'ko-KR', 'nl-NL', 'pl-PL', 'zh-CN', - 'zh-TW', + 'zh-TW',*/ ]; const primaries = { diff --git a/locales/it-IT.yml b/locales/it-IT.yml deleted file mode 100644 index 8b14dc617..000000000 --- a/locales/it-IT.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -meta: - lang: "Italiano" -common: - misskey: "A ⭐ of the fediverse" - about-title: "A ⭐ of the fediverse." diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 7ced7bdca..5673a2d41 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1,2039 +1,499 @@ -meta: - lang: "日本語" - divider: "" +_ago: + unknown: "謎" + future: "未来" + justNow: "たった今" + secondsAgo: "{n}秒前" + minutesAgo: "{n}分前" + hoursAgo: "{n}時間前" + daysAgo: "{n}日前" + weeksAgo: "{n}週間前" + monthsAgo: "{n}ヶ月前" + yearsAgo: "{n}年前" -common: - misskey: "A ⭐ of fediverse" - about-title: "A ⭐ of fediverse." - about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた分散マイクロブログSNSです。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。" - intro: - title: "Misskeyって?" - about: "Misskeyはオープンソースの分散型マイクロブログSNSです。リッチで高度にカスタマイズできるUI、投稿へのリアクション、ファイルを一元管理できるドライブなど、先進的な機能を揃えています。また、Fediverseと呼ばれるネットワークに接続できるため、他のSNSともやり取りできます。例えば、あなたが何か投稿すると、その投稿はMisskeyだけでなく他のSNSにも伝わります。ちょうどある惑星から他の惑星に電波を発信している様子をイメージしてください。" - features: "特徴" - rich-contents: "投稿" - rich-contents-desc: "自分の考え、話題の出来事、皆と共有したいことについて発信してください。必要であれば、様々な構文を使って投稿を装飾したり、好きな画像、動画などのファイルやアンケートを添付することもできます。" - reaction: "リアクション" - reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。" - ui: "インターフェース" - ui-desc: "どのようなUIが使いやすいかは人それぞれです。だから、Misskeyは自由度の高いUIを持っています。レイアウトやデザインを調整したり、カスタマイズ可能な様々なウィジェットを配置したりして、自分だけのホームを作ってください。" - drive: "ドライブ" - drive-desc: "以前投稿したことのある画像をまた投稿したくなったことはありませんか?もしくは、アップロードしたファイルをフォルダ分けして整理したくなったことはありませんか?Misskeyの根幹に組み込まれたドライブ機能によってそれらが解決します。ファイルの共有も簡単です。" - outro: "他にもMisskeyにしかない機能はまだまだあるので、ぜひあなた自身の目で確かめてください。Misskeyは分散型SNSなので、このインスタンスが気に入らなければ他のインスタンスを試すこともできます。それでは、GLHF!" - application-authorization: "アプリの連携" - close: "閉じる" - do-not-copy-paste: "ここにコードを入力したり張り付けたりしないでください。アカウントが不正利用される可能性があります。" - load-more: "もっと読み込む" - enter-password: "パスワードを入力してください" - 2fa: "二段階認証" - customize-home: "ホームをカスタマイズ" - featured-notes: "ハイライト" - dark-mode: "ダークモード" - signin: "ログイン" - signup: "新規登録" - signout: "ログアウト" - reload-to-apply-the-setting: "この設定を反映するにはページをリロードする必要があります。今すぐリロードしますか?" - fetching-as-ap-object: "連合に照会中" - unfollow-confirm: "{name}さんをフォロー解除しますか?" - delete-confirm: "この投稿を削除しますか?" - signin-required: "ログインしてください" - notification-type: "通知の種類" - notification-types: - all: "すべて" - pollVote: "投票" - follow: "フォロー" - receiveFollowRequest: "フォローリクエスト" - reply: "返信" - quote: "引用" - renote: "Renote" - mention: "言及" - reaction: "リアクション" +_time: + second: "秒" + minute: "分" + hour: "時間" + day: "日" - got-it: "わかった" - customization-tips: - title: "カスタマイズのヒント" - paragraph: "

ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。

一部のウィジェットは、クリックすることで表示を変更することができます。

ウィジェットを削除するには、ヘッダーの「ゴミ箱」と書かれたエリアにウィジェットをドラッグ&ドロップします。

カスタマイズを終了するには、右上の「完了」をクリックします。

" - gotit: "Got it!" - notification: - file-uploaded: "ファイルがアップロードされました" - message-from: "{}さんからメッセージ:" - reversi-invited: "対局への招待があります" - reversi-invited-by: "{}さんから" - notified-by: "{}さんから" - reply-from: "{}さんから返信:" - quoted-by: "{}さんが引用:" - time: - unknown: "なぞのじかん" - future: "未来" - just_now: "たった今" - seconds_ago: "{}秒前" - minutes_ago: "{}分前" - hours_ago: "{}時間前" - days_ago: "{}日前" - weeks_ago: "{}週間前" - months_ago: "{}ヶ月前" - years_ago: "{}年前" - month-and-day: "{month}月 {day}日" +introMisskey: "ようこそ!Misskeyは、オープンソースの分散型マイクロブログサービスです。\n「ノート」を作成して、いま起こっていることを共有したり、あなたについて皆に発信しよう📡\n「リアクション」機能で、皆のノートに素早く反応を追加することもできます👍\n新しい世界を探検しよう🚀" +monthAndDay: "{month}月 {day}日" +search: "検索" +notifications: "通知" +username: "ユーザー名" +password: "パスワード" +fetchingAsApObject: "連合に照会中" +ok: "OK" +gotIt: "わかった" +cancel: "キャンセル" +enterUsername: "ユーザー名を入力" +renotedBy: "{user}がRenote" +noNotes: "投稿はありません" +noNotifications: "通知はありません" +instance: "インスタンス" +settings: "設定" +profile: "プロフィール" +timeline: "タイムライン" +noAccountDescription: "自己紹介はありません" +login: "ログイン" +loggingIn: "ログイン中" +logout: "ログアウト" +signup: "新規登録" +uploading: "アップロード中" +save: "保存" +users: "ユーザー" +addUser: "ユーザーを追加" +favorite: "お気に入り" +favorites: "お気に入り" +unfavorite: "お気に入り解除" +pin: "ピン留め" +unpin: "ピン留め解除" +copyContent: "内容をコピー" +copyLink: "リンクをコピー" +delete: "削除" +addToList: "リストに追加" +sendMessage: "メッセージを送信" +copyUsername: "ユーザー名をコピー" +reply: "返信" +loadMore: "もっと見る" +youGotNewFollower: "フォローされました" +receiveFollowRequest: "フォローリクエストされました" +followRequestAccepted: "フォローが承認されました" +mentions: "あなた宛て" +directNotes: "ダイレクト投稿" +importAndExport: "インポートとエクスポート" +import: "インポート" +export: "エクスポート" +files: "ファイル" +download: "ダウンロード" +driveFileDeleteConfirm: "ファイル「{name}」を削除しますか?このファイルを添付した投稿も消えます。" +unfollowConfirm: "{name}のフォローを解除しますか?" +exportRequested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、「ドライブ」に追加されます。" +importRequested: "インポートをリクエストしました。これには時間がかかる場合があります。" +lists: "リスト" +noLists: "リストはありません" +notes: "投稿" +following: "フォロー" +followers: "フォロワー" +followsYou: "フォローされています" +createList: "リスト作成" +manageLists: "リストの管理" +error: "問題が発生しました" +retry: "再試行" +enterListName: "リスト名を入力" +renameList: "リスト名を変更" +deleteList: "リストを削除" +privacy: "プライバシー" +makeFollowManuallyApprove: "フォローを承認制にする" +defaultNoteVisibility: "デフォルトの公開範囲" +followRequests: "フォロー申請" +enterEmoji: "絵文字を入力" +renote: "Renote" +quote: "引用" +pinnedNote: "ピン留めされた投稿" +you: "あなた" +clickToShow: "クリックして表示" +sensitive: "閲覧注意" +add: "追加" +reaction: "リアクション" +reactionSettingDescription: "リアクションピッカーに表示するリアクションを改行で区切って設定します。" +rememberNoteVisibility: "公開範囲を記憶する" +renameFile: "ファイル名を変更" +attachCancel: "添付取り消し" +markAsSensitive: "閲覧注意にする" +unmarkAsSensitive: "閲覧注意を解除する" +enterFileName: "ファイル名を入力" +mute: "ミュート" +unmute: "ミュート解除" +block: "ブロック" +unblock: "ブロック解除" +suspend: "凍結" +unsuspend: "解凍" +blockConfirm: "ブロックしますか?" +unblockConfirm: "ブロック解除しますか?" +suspendConfirm: "凍結しますか?" +unsuspendConfirm: "解凍しますか?" +selectList: "リストを選択" +customEmojis: "カスタム絵文字" +emojiName: "絵文字名" +emojiUrl: "絵文字画像URL" +addEmoji: "絵文字を追加" +cacheRemoteFiles: "リモートのファイルをキャッシュする" +cacheRemoteFilesDescription: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクするようになります。サーバーのストレージを節約できますが、サムネイルが生成されないので通信量が増加します。" +flagAsBot: "Botとして設定" +flagAsCat: "Catとして設定" +autoAcceptFollowed: "フォロー中ユーザーからのフォロリクを自動承認" +addAcount: "アカウント追加" +loginFailed: "ログインに失敗しました" +showOnRemote: "リモートで表示" +general: "全般" +wallpaper: "壁紙" +removeWallpaper: "壁紙を削除" +searchWith: "検索: {q}" +youHaveNoLists: "リストがありません" +followConfirm: "{name}をフォローしますか?" +proxyAccount: "プロキシアカウント" +proxyAccountDescription: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがインスタンスに配達されないため、代わりにプロキシアカウントがフォローするようにします。" +host: "ホスト" +selectUser: "ユーザーを選択" +recipient: "宛先" +annotation: "注釈" +federation: "連合" +instances: "インスタンス" +registeredAt: "初観測" +latestRequestSentAt: "直近のリクエスト送信" +latestRequestReceivedAt: "直近のリクエスト受信" +latestStatus: "直近のステータス" +storageUsage: "ストレージ使用量" +charts: "チャート" +perHour: "1時間ごと" +perDay: "1日ごと" +stopActivityDelivery: "アクティビティの配送を停止" +blockThisInstance: "このインスタンスをブロック" +operations: "操作" +software: "ソフトウェア" +version: "バージョン" +metadata: "メタデータ" +withNFiles: "{n}つのファイル" +monitor: "モニター" +jobQueue: "ジョブキュー" +cpuAndMemory: "CPUとメモリ" +network: "ネットワーク" +disk: "ディスク" +instanceInfo: "インスタンス情報" +statistics: "統計" +clearQueue: "キューをクリア" +clearQueueConfirmTitle: "キューをクリアしますか?" +clearQueueConfirmText: "未配達の投稿は配送されなくなります。通常この操作を行う必要はありません。" +clearCachedFiles: "キャッシュをクリア" +clearCachedFilesConfirm: "キャッシュされたリモートファイルをすべて削除しますか?" +blockedInstances: "インスタンスブロック" +blockedInstancesDescription: "ブロックしたいインスタンスのホストを改行で区切って設定します。ブロックされたインスタンスは、このインスタンスとやり取りできなくなります。" +muteAndBlock: "ミュートとブロック" +mutedUsers: "ミュートしたユーザー" +blockedUsers: "ブロックしたユーザー" +noUsers: "ユーザーはいません" +editProfile: "プロフィールを編集" +noteDeleteConfirm: "この投稿を削除しますか?" +pinLimitExceeded: "これ以上ピン留めできません" +intro: "Misskeyのインストールが完了しました!管理者アカウントを作成しましょう。" +done: "完了" +processing: "処理中" +preview: "プレビュー" +noCustomEmojis: "絵文字はありません" +customEmojisOfRemote: "リモートの絵文字" +noJobs: "ジョブはありません" +federating: "連合中" +blocked: "ブロック中" +suspended: "配信停止" +all: "全て" +subscribing: "購読中" +publishing: "配信中" +notResponding: "応答なし" +instanceFollowing: "インスタンスのフォロー" +instanceFollowers: "インスタンスのフォロワー" +instanceUsers: "インスタンスのユーザー" +changePassword: "パスワードを変更" +security: "セキュリティ" +retypedNotMatch: "入力が一致しません。" +currentPassword: "現在のパスワード" +newPassword: "新しいパスワード" +newPasswordRetype: "新しいパスワード(再入力)" +attachFile: "ファイルを添付" +more: "もっと!" +featured: "ハイライト" +usernameOrUserId: "ユーザー名かユーザーID" +noSuchUser: "ユーザーが見つかりません" +lookup: "照会" +announcements: "お知らせ" +imageUrl: "画像URL" +remove: "削除" +removed: "削除しました" +removeAreYouSure: "「{x}」を削除しますか?" +saved: "保存しました" +messaging: "トーク" +upload: "アップロード" +fromDrive: "ドライブから" +fromUrl: "URLから" +editWidgets: "ウィジェットを編集" +exitEdit: "編集を終了" +explore: "みつける" +games: "Misskey Games" +messageRead: "既読" +recentUsedEmojis: "最近使用した絵文字" +noMoreHistory: "これより過去の履歴はありません" +startMessaging: "トークを開始" +nUsersRead: "{n}人が読みました" +agreeTo: "{0}に同意" +tos: "利用規約" +start: "始める" +home: "ホーム" +remoteUserCaution: "リモートユーザーのため、情報が不完全です。" +activity: "アクティビティ" +images: "画像" +birthday: "誕生日" +yearsOld: "{age}歳" +registeredDate: "登録日" +location: "場所" +theme: "テーマ" +lightThemes: "明るいテーマ" +darkThemes: "暗いテーマ" +drive: "ドライブ" +selectFile: "ファイルを選択" +selectFiles: "ファイルを選択" +renameFolder: "フォルダー名を変更" +createFolder: "フォルダーを作成" +deleteFolder: "フォルダーを削除" +addFile: "ファイルを追加" +emptyDrive: "ドライブは空です" +emptyFolder: "フォルダーは空です" +copyUrl: "URLをコピー" +rename: "名前を変更" +avatar: "アイコン" +banner: "バナー" +nsfw: "閲覧注意" +disconnectedFromServer: "サーバーから切断されました" +reloadConfirm: "リロードしますか?" +watch: "ウォッチ" +unwatch: "ウォッチ解除" +accept: "許可" +reject: "拒否" +instanceName: "インスタンス名" +instanceDescription: "インスタンスの紹介" +maintainerName: "管理者の名前" +maintainerEmail: "管理者のメールアドレス" +tosUrl: "利用規約URL" +thisYear: "今年" +thisMonth: "今月" +today: "今日" +dayX: "{day}日" +monthX: "{month}月" +yearX: "{year}年" +pages: "ページ" +integration: "連携" +connectSerice: "接続する" +disconnectSerice: "切断する" +enableLocalTimeline: "ローカルタイムラインを有効にする" +enableGlobalTimeline: "グローバルタイムラインを有効にする" +disablingTimelinesInfo: "これらのタイムラインを無効化しても、利便性のため管理者およびモデレーターは引き続き利用することができます。" +registration: "登録" +enableRegistration: "誰でも新規登録できるようにする" +invite: "招待" +proxyRemoteFiles: "リモートのファイルをプロキシする" +proxyRemoteFilesDescription: "この設定を有効にすると、未保存または保存容量超過で削除されたリモートファイルをローカルでプロキシし、サムネイルも生成するようになります。サーバーのストレージには影響しません、" +driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量" +driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのドライブ容量" +inMb: "メガバイト単位" +iconUrl: "アイコン画像のURL" +bannerUrl: "バナー画像のURL" +basicInfo: "基本情報" +pinnedUsers: "ピン留めユーザー" +pinnedUsersDescription: "「みつける」ページなどにピン留めしたいユーザーを改行で区切って記述します。" +recaptcha: "reCAPTCHA" +enableRecaptcha: "reCAPTCHAを有効にする" +recaptchaSiteKey: "サイトキー" +recaptchaSecretKey: "シークレットキー" +antennas: "アンテナ" +manageAntennas: "アンテナの管理" +name: "名前" +antennaSource: "受信ソース" +antennaKeywords: "受信キーワード" +antennaKeywordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります" +notifyAntenna: "新しい投稿を通知する" +withFileAntenna: "ファイルが添付された投稿のみ" +serviceworker: "ServiceWorker" +enableServiceworker: "ServiceWorkerを有効にする" +antennaUsersDescription: "ユーザー名を改行で区切って指定します" +caseSensitive: "大文字小文字を区別する" +withReplies: "返信を含む" +connectedTo: "次のアカウントに接続されています" +notesAndReplies: "投稿と返信" +withFiles: "ファイル付き" +silence: "サイレンス" +silenceConfirm: "サイレンスしますか?" +unsilenceConfirm: "サイレンス解除しますか?" +popularUsers: "人気のユーザー" +recentlyUpdatedUsers: "最近投稿したユーザー" +recentlyRegisteredUsers: "最近登録したユーザー" +recentlyDiscoveredUsers: "最近発見されたユーザー" +exploreUsersCount: "{count}のユーザーがいます" +exploreFediverse: "Fediverseを探索" +popularTags: "人気のタグ" +userList: "リスト" +about: "情報" +aboutMisskey: "Misskeyについて" +aboutMisskeyText: "Misskeyはsyuiloによって2014年から開発されている、オープンソースのソフトウェアです。" +misskeyMembers: "現在以下のメンバーによって開発・メンテナンスされています:" +misskeySource: "ソースコードはここで公開されています:" +administrator: "管理者" +token: "トークン" +twoStepAuthentication: "二段階認証" - trash: "ゴミ箱" - drive: "ドライブ" - pages: "ページ" - messaging: "トーク" - home: "ホーム" - deck: "デッキ" +_2fa: + registerDevice: "デバイスを登録" + step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。" + step2: "次に、表示されているQRコードをアプリでスキャンします。" + step3: "アプリに表示されているトークンを入力して完了です。" + step4: "これからログインするときも、同じようにトークンを入力します。" + +_permissions: + "read:account": "アカウントの情報を見る" + "write:account": "アカウントの情報を変更する" + "read:blocks": "ブロックを見る" + "write:blocks": "ブロックを操作する" + "read:drive": "ドライブを見る" + "write:drive": "ドライブを操作する" + "read:favorites": "お気に入りを見る" + "write:favorites": "お気に入りを操作する" + "read:following": "フォローの情報を見る" + "write:following": "フォロー・フォロー解除する" + "read:messaging": "トークを見る" + "write:messaging": "トークを操作する" + "read:mutes": "ミュートを見る" + "write:mutes": "ミュートを操作する" + "write:notes": "投稿を作成・削除する" + "read:notifications": "通知を見る" + "write:notifications": "通知を操作する" + "read:reactions": "リアクションを見る" + "write:reactions": "リアクションを操作する" + "write:votes": "投票する" + "read:pages": "ページを見る" + "write:pages": "ページを操作する" + "read:page-likes": "ページのいいねを見る" + "write:page-likes": "ページのいいねを操作する" + "read:user-groups": "ユーザーグループを見る" + "write:user-groups": "ユーザーグループを操作する" + +_auth: + shareAccess: "「{name}」がアカウントにアクセスすることを許可しますか?" + permissionAsk: "このアプリは次の権限を要求しています" + +_antennaSources: + all: "全ての投稿" + homeTimeline: "フォローしているユーザーの投稿" + users: "指定した一人または複数のユーザーの投稿" + userList: "指定したリストのユーザーの投稿" + +_weekday: + sunday: "日曜日" + monday: "月曜日" + tuesday: "火曜日" + wednesday: "水曜日" + thursday: "木曜日" + friday: "金曜日" + saturday: "土曜日" + +_widgets: + memo: "付箋" + notifications: "通知" timeline: "タイムライン" - explore: "みつける" - following: "フォロー中" - followers: "フォロワー" - favorites: "お気に入り" + calendar: "カレンダー" + trends: "トレンド" + clock: "時計" - permissions: - "read:account": "アカウントの情報を見る" - "write:account": "アカウントの情報を変更する" - "read:blocks": "ブロックを見る" - "write:blocks": "ブロックを操作する" - "read:drive": "ドライブを見る" - "write:drive": "ドライブを操作する" - "read:favorites": "お気に入りを見る" - "write:favorites": "お気に入りを操作する" - "read:following": "フォローの情報を見る" - "write:following": "フォロー・フォロー解除する" - "read:messaging": "トークを見る" - "write:messaging": "トークを操作する" - "read:mutes": "ミュートを見る" - "write:mutes": "ミュートを操作する" - "write:notes": "投稿を作成・削除する" - "read:notifications": "通知を見る" - "write:notifications": "通知を操作する" - "read:reactions": "リアクションを見る" - "write:reactions": "リアクションを操作する" - "write:votes": "投票する" - "read:pages": "ページを見る" - "write:pages": "ページを操作する" - "read:page-likes": "ページのいいねを見る" - "write:page-likes": "ページのいいねを操作する" - "read:user-groups": "ユーザーグループを見る" - "write:user-groups": "ユーザーグループを操作する" - - empty-timeline-info: - follow-users-to-make-your-timeline: "ユーザーをフォローすると投稿がタイムラインに表示されます。" - explore: "ユーザーを探索する" - - post-form: - attach-location-information: "位置情報を添付する" - hide-contents: "内容を隠す" - reply-placeholder: "この投稿への返信..." - quote-placeholder: "この投稿を引用..." - option-quote-placeholder: "この投稿を引用... (オプション)" - quote-attached: "引用付き" - quote-question: "引用として添付しますか?" - submit: "投稿" - reply: "返信" - renote: "Renote" - posting: "投稿中" - attach-media-from-local: "PCからメディアを添付" - attach-media-from-drive: "ドライブからメディアを添付" - insert-a-kao: "v('ω')v" - create-poll: "アンケートを作成" - text-remain: "残り{}文字" - recent-tags: "最近" - local-only-message: "この投稿はローカルにのみ公開されます" - click-to-tagging: "クリックでタグ付け" - visibility: "公開範囲" - geolocation-alert: "お使いの端末は位置情報に対応していません" - error: "エラー" - enter-username: "ユーザー名を入力してください" - specified-recipient: "宛先" - add-visible-user: "ユーザーを追加" - cw-placeholder: "内容への注釈 (オプション)" - username-prompt: "ユーザー名を入力してください" - enter-file-name: "ファイル名を編集" - - weekday-short: - sunday: "日" - monday: "月" - tuesday: "火" - wednesday: "水" - thursday: "木" - friday: "金" - saturday: "土" - - weekday: - sunday: "日曜日" - monday: "月曜日" - tuesday: "火曜日" - wednesday: "水曜日" - thursday: "木曜日" - friday: "金曜日" - saturday: "土曜日" - - reactions: - like: "いいね" - love: "しゅき" - laugh: "笑" - hmm: "ふぅ~む" - surprise: "わお" - congrats: "おめでとう" - angry: "おこ" - confused: "こまこまのこまり" - rip: "RIP" - pudding: "Pudding" - - note-visibility: - public: "公開" - home: "ホーム" - home-desc: "ホームタイムラインにのみ公開" - followers: "フォロワー" - followers-desc: "自分のフォロワーにのみ公開" - specified: "ダイレクト" - specified-desc: "指定したユーザーにのみ公開" - local-public: "公開 (ローカルのみ)" - local-home: "ホーム (ローカルのみ)" - local-followers: "フォロワー (ローカルのみ)" - - note-placeholders: - a: "今どうしてる?" - b: "何かありましたか?" - c: "何をお考えですか?" - d: "言いたいことは?" - e: "ここに書いてください" - f: "あなたが書くのを待っています..." - - settings: "設定" - _settings: - profile: "プロフィール" - notification: "通知" - apps: "アプリ" - tags: "ハッシュタグ" - mute-and-block: "ミュート/ブロック" - blocking: "ブロック" - security: "セキュリティ" - signin: "ログイン履歴" - password: "パスワード" - other: "その他" - appearance: "デザイン" - behavior: "動作" - reactions: "リアクション" - reactions-description: "リアクションピッカーに表示するリアクションを改行で区切って設定します。" - fetch-on-scroll: "スクロールで自動読み込み" - fetch-on-scroll-desc: "ページを下までスクロールしたときに自動で追加のコンテンツを読み込みます。" - note-visibility: "投稿の公開範囲" - default-note-visibility: "デフォルトの公開範囲" - remember-note-visibility: "投稿の公開範囲を記憶する" - web-search-engine: "ウェブ検索エンジン" - web-search-engine-desc: "例: https://www.google.com/?#q={{query}}" - paste: "ペースト" - pasted-file-name: "ペーストされたファイル名のテンプレート" - pasted-file-name-desc: "例: \"yyyy-MM-dd HH-mm-ss [{{number}}]\" → \"2018-03-20 21-30-24 1\"" - paste-dialog: "ペースト時にファイル名を編集" - paste-dialog-desc: "ペースト時にファイル名を編集するダイアログを表示するようにします。" - keep-cw: "CW保持" - keep-cw-desc: "投稿にリプライする際、リプライ元の投稿にCWが設定されていたとき、デフォルトで同じCWを設定するようにします。" - i-like-sushi: "私は(プリンよりむしろ)寿司が好き" - show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" - use-avatar-reversi-stones: "リバーシの石にアバターを使う" - disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" - disable-showing-animated-images: "アニメーション画像を再生しない" - enable-quick-notification-view: "通知のクイックビューを有効にする" - suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する" - always-show-nsfw: "常に閲覧注意のメディアを表示する" - always-mark-nsfw: "常にメディアを閲覧注意として投稿" - show-full-acct: "ユーザー名のホストを省略しない" - show-via: "viaを表示する" - reduce-motion: "UIの動きを減らす" - this-setting-is-this-device-only: "このデバイスのみ" - use-os-default-emojis: "OS標準の絵文字を使用" - line-width: "線の太さ" - line-width-thin: "細い" - line-width-normal: "普通" - line-width-thick: "太い" - font-size: "文字の大きさ" - font-size-x-small: "小さい" - font-size-small: "少し小さい" - font-size-medium: "普通" - font-size-large: "少し大きい" - font-size-x-large: "大きい" - deck-column-align: "デッキのカラムの配置" - deck-column-align-center: "中央" - deck-column-align-left: "左" - deck-column-align-flexible: "フレキシブル" - deck-column-width: "デッキのカラムの幅" - deck-column-width-narrow: "狭" - deck-column-width-narrower: "やや狭" - deck-column-width-normal: "普通" - deck-column-width-wider: "やや広" - deck-column-width-wide: "広" - use-shadow: "UIに影を使用" - rounded-corners: "UIの角を丸める" - circle-icons: "円形のアバターを使用" - contrasted-acct: "ユーザー名にコントラストを付ける" - wallpaper: "壁紙" - choose-wallpaper: "壁紙を選択" - delete-wallpaper: "壁紙を削除" - post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" - show-clock-on-header: "右上に時計を表示する" - show-reply-target: "リプライ先を表示する" - timeline: "タイムライン" - show-my-renotes: "自分の行ったRenoteをタイムラインに表示する" - show-renoted-my-notes: "自分の投稿のRenoteをタイムラインに表示する" - show-local-renotes: "ローカルの投稿のRenoteをタイムラインに表示する" - remain-deleted-note: "削除された投稿を表示し続ける" - sound: "サウンド" - enable-sounds: "サウンドを有効にする" - enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。" - volume: "ボリューム" - test: "テスト" - update: "Misskey Update" - version: "バージョン:" - latest-version: "最新のバージョン:" - update-checking: "アップデートを確認中" - do-update: "アップデートを確認" - update-settings: "詳細設定" - no-updates: "利用可能な更新はありません" - no-updates-desc: "お使いのMisskeyは最新です。" - update-available: "新しいバージョンが利用可能です" - update-available-desc: "ページを再度読み込みすると更新が適用されます。" - advanced-settings: "高度な設定" - debug-mode: "デバッグモードを有効にする" - debug-mode-desc: "この設定はブラウザに記憶されます。" - navbar-position: "ナビゲーションバーの位置" - navbar-position-top: "上" - navbar-position-left: "左" - navbar-position-right: "右" - i-am-under-limited-internet: "私は通信を制限されている" - post-style: "投稿の表示スタイル" - post-style-standard: "標準" - post-style-smart: "スマート" - notification-position: "通知の表示" - notification-position-bottom: "下" - notification-position-top: "上" - disable-via-mobile: "「モバイルからの投稿」フラグを付けない" - load-raw-images: "添付された画像を高画質で表示する" - load-remote-media: "リモートサーバーのメディアを表示する" - sync: "同期" - save: "保存" - saved: "保存しました" - preview: "プレビュー" - home-profile: "ホームのプロファイル" - deck-profile: "デッキのプロファイル" - room: "ルーム" - _room: - graphicsQuality: "グラフィックの品質" - _graphicsQuality: - ultra: "最高" - high: "高" - medium: "中" - low: "低" - cheep: "最低" - useOrthographicCamera: "平行投影カメラを使用" - - search: "検索" - delete: "削除" - loading: "読み込み中" - ok: "おk" - cancel: "やめる" - update-available-title: "更新があります" - update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。" - my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。" - hide-password: "パスワードを隠す" - show-password: "パスワードを表示する" - enter-username: "ユーザー名を入力してください" - - do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。" - user-suspended: "このユーザーは凍結されています。" - is-remote-user: "このユーザー情報は不正確な可能性があります。" - is-remote-post: "この投稿情報はコピーです。" - view-on-remote: "正確な情報を見る" - renoted-by: "{user}がRenote" - no-notes: "投稿がありません" - turn-on-darkmode: "闇に飲まれる" - turn-off-darkmode: "光あれ" - - error: - title: "問題が発生しました" - retry: "やり直す" - - reversi: - drawn: "引き分け" - my-turn: "あなたのターンです" - opponent-turn: "相手のターンです" - turn-of: "{name}のターンです" - past-turn-of: "{name}のターン" - won: "{name}の勝ち" - black: "黒" - white: "白" - total: "合計" - this-turn: "{count}ターン目" - - widgets: - analog-clock: "アナログ時計" - profile: "プロフィール" - calendar: "カレンダー" - timemachine: "カレンダー(タイムマシン)" - activity: "アクティビティ" - rss: "RSSリーダー" - memo: "付箋" - trends: "トレンド" - photo-stream: "フォトストリーム" - posts-monitor: "投稿チャート" - slideshow: "スライドショー" - version: "バージョン" - broadcast: "ブロードキャスト" - notifications: "通知" - users: "おすすめユーザー" - polls: "アンケート" - post-form: "投稿フォーム" - server: "サーバー情報" - nav: "ナビゲーション" - tips: "ヒント" - hashtags: "ハッシュタグ" - queue: "キュー" - - dev: "アプリの作成に失敗しました。再度お試しください。" - ai-chan-kawaii: "藍ちゃかわいい" - you: "あなた" - -auth/views/form.vue: - share-access: "{name}があなたのアカウントにアクセスすることを許可しますか?" - permission-ask: "このアプリは次の権限を要求しています:" - cancel: "キャンセル" - accept: "アクセスを許可" - -auth/views/index.vue: - loading: "読み込み中" - denied: "アプリケーションの連携をキャンセルしました。" - denied-paragraph: "このアプリがあなたのアカウントにアクセスすることはありません。" - already-authorized: "このアプリは既に連携済みです" - allowed: "アプリケーションの連携を許可しました" - callback-url: "アプリケーションに戻っています" - please-go-back: "アプリケーションに戻って、やっていってください。" - error: "セッションが存在しません。" - sign-in: "サインインしてください" - -common/views/pages/explore.vue: - pinned-users: "ピン留めされたユーザー" - popular-users: "人気のユーザー" - recently-updated-users: "最近投稿したユーザー" - recently-registered-users: "新規ユーザー" - recently-discovered-users: "最近発見されたユーザー" - popular-tags: "人気のタグ" - federated: "連合" - explore: "{host}を探索" - explore-fediverse: "Fediverseを探索" - users-info: "現在{users}ユーザーが登録されています" - -common/views/components/reactions-viewer.details.vue: - few-users: "{users}が{reaction}をリアクション" - many-users: "{users}と他{omitted}人が{reaction}をリアクション" - -common/views/components/url-preview.vue: - enable-player: "プレイヤーを開く" - disable-player: "プレイヤーを閉じる" - -common/views/components/user-list.vue: - no-users: "ユーザーがいません" - -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "{}を待っています" - cancel: "キャンセル" - -common/views/components/games/reversi/reversi.game.vue: - surrender: "投了" - surrendered: "投了により" - is-llotheo: "石の少ない方が勝ち(ロセオ)" - looped-map: "ループマップ" - can-put-everywhere: "どこでも置けるモード" - -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "他のMisskeyユーザーとリバーシで対戦しよう" - invite: "招待" - rule: "遊び方" - rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてゆき、最終的に残った石が多い方が勝ちというボードゲームです。" - mode-invite: "招待" - mode-invite-desc: "指定したユーザーと対戦するモードです。" - invitations: "対局の招待があります!" - my-games: "自分の対局" - all-games: "みんなの対局" - enter-username: "ユーザー名を入力してください" - game-state: - ended: "終了" - playing: "進行中" - -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "ゲームの設定" - choose-map: "マップを選択" - random: "ランダム" - black-or-white: "先手/後手" - black-is: "{}が黒" - rules: "ルール" - is-llotheo: "石の少ない方が勝ち(ロセオ)" - looped-map: "ループマップ" - can-put-everywhere: "どこでも置けるモード" - settings-of-the-bot: "Botの設定" - this-game-is-started-soon: "ゲームは数秒後に開始されます" - waiting-for-other: "相手の準備が完了するのを待っています" - waiting-for-me: "あなたの準備が完了するのを待っています" - waiting-for-both: "準備中" - cancel: "キャンセル" - ready: "準備完了" - cancel-ready: "準備続行" - -common/views/components/connect-failed.vue: - title: "サーバーに接続できません" - description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。" - thanks: "いつもMisskeyをご利用いただきありがとうございます。" - troubleshoot: "トラブルシュート" - -common/views/components/connect-failed.troubleshooter.vue: - title: "トラブルシューティング" - network: "ネットワーク接続" - checking-network: "ネットワーク接続を確認中" - internet: "インターネット接続" - checking-internet: "インターネット接続を確認中" - server: "サーバー接続" - checking-server: "サーバー接続を確認中" - finding: "問題を調べています" - no-network: "ネットワークに接続されていません" - no-network-desc: "お使いのPCのネットワーク接続が正常か確認してください。" - no-internet: "インターネットに接続されていません" - no-internet-desc: "ネットワークには接続されていますが、インターネットには接続されていないようです。お使いのPCのインターネット接続が正常か確認してください。" - no-server: "Misskeyのサーバーに接続できません" - no-server-desc: "お使いのPCのインターネット接続は正常ですが、Misskeyのサーバーには接続できませんでした。サーバーがダウンまたはメンテナンスしている可能性があるので、しばらくしてから再度御アクセスください。" - success: "Misskeyのサーバーに接続できました" - success-desc: "正常に接続できるようです。ページを再度読み込みしてください。" - flush: "キャッシュの削除" - set-version: "バージョン指定" - -common/views/components/media-banner.vue: - sensitive: "閲覧注意" - click-to-show: "クリックして表示" - -common/views/components/theme.vue: - theme: "テーマ" - light-theme: "非ダークモード時に使用するテーマ" - dark-theme: "ダークモード時に使用するテーマ" - light-themes: "明るいテーマ" - dark-themes: "暗いテーマ" - install-a-theme: "テーマのインストール" - theme-code: "テーマコード" - install: "インストール" - installed: "「{}」をインストールしました" - create-a-theme: "テーマの作成" - save-created-theme: "テーマを保存" - primary-color: "プライマリ カラー" - secondary-color: "セカンダリ カラー" - text-color: "文字色" - base-theme: "ベーステーマ" - base-theme-light: "Light" - base-theme-dark: "Dark" - find-more-theme: "その他のテーマを入手" - theme-name: "テーマ名" - preview-created-theme: "プレビュー" - invalid-theme: "テーマが正しくありません。" - already-installed: "既にそのテーマはインストールされています。" - saved: "保存しました" - manage-themes: "テーマの管理" - builtin-themes: "標準テーマ" - my-themes: "マイテーマ" - installed-themes: "インストールされたテーマ" - select-theme: "テーマを選択してください" - uninstall: "アンインストール" - uninstalled: "「{}」をアンインストールしました" - author: "作者" - desc: "説明" - export: "エクスポート" - import: "インポート" - import-by-code: "またはコードをペースト" - theme-name-required: "テーマ名は必須です。" - -common/views/components/cw-button.vue: +_cw: hide: "隠す" show: "もっと見る" chars: "{count}文字" files: "{count}ファイル" poll: "アンケート" -common/views/components/messaging.vue: - search-user: "ユーザーを探す" - you: "あなた" - no-history: "履歴はありません" - user: "ユーザー" - group: "グループ" - start-with-user: "ユーザーとトークを開始" - start-with-group: "グループとトークを開始" - select-group: "グループを選択してください" - -common/views/components/messaging-room.vue: - not-talked-user: "このユーザーとの会話はありません" - not-talked-group: "このグループでの会話はありません" - no-history: "これより過去の履歴はありません" - new-message: "新しいメッセージがあります" - only-one-file-attached: "メッセージに添付できるファイルはひとつです" - -common/views/components/messaging-room.form.vue: - input-message-here: "ここにメッセージを入力" - send: "送信" - attach-from-local: "PCからファイルを添付する" - attach-from-drive: "ドライブからファイルを添付する" - only-one-file-attached: "メッセージに添付できるファイルはひとつです" - -common/views/components/messaging-room.message.vue: - is-read: "既読" - deleted: "このメッセージは削除されました" - -common/views/components/nav.vue: - about: "Misskeyについて" - stats: "統計" - status: "ステータス" - wiki: "Wiki" - donors: "ドナー" - repository: "リポジトリ" - develop: "開発者" - feedback: "フィードバック" - tos: "利用規約" - -common/views/components/note-menu.vue: - mention: "メンション" - detail: "詳細" - copy-content: "内容をコピー" - copy-link: "リンクをコピー" - favorite: "お気に入り" - unfavorite: "お気に入り解除" - watch: "ウォッチ" - unwatch: "ウォッチ解除" - pin: "ピン留め" - unpin: "ピン留め解除" - delete: "削除" - delete-confirm: "この投稿を削除しますか?" - delete-and-edit: "削除して編集" - delete-and-edit-confirm: "この投稿を削除してもう一度編集しますか?この投稿へのリアクション、Renote、返信も全て削除されます。" - remote: "投稿元で見る" - pin-limit-exceeded: "これ以上ピン留めできません。" - -common/views/components/user-menu.vue: - mention: "メンション" - mute: "ミュート" - unmute: "ミュート解除" - mute-confirm: "このユーザーをミュートしますか?" - unmute-confirm: "このユーザーをミュート解除しますか?" - block: "ブロック" - unblock: "ブロック解除" - block-confirm: "このユーザーをブロックしますか?" - unblock-confirm: "このユーザーをブロック解除しますか?" - push-to-list: "リストに追加" - select-list: "リストを選択してください" - report-abuse: "スパムを報告" - report-abuse-detail: "どのような迷惑行為を行っていますか?" - report-abuse-reported: "管理者に報告されました。ご協力ありがとうございました。" - silence: "サイレンス" - unsilence: "サイレンス解除" - silence-confirm: "このユーザーをサイレンスしますか?" - unsilence-confirm: "このユーザーをサイレンス解除しますか?" - suspend: "凍結" - unsuspend: "凍結解除" - suspend-confirm: "このユーザーを凍結しますか?" - unsuspend-confirm: "このユーザーを凍結解除しますか?" - -common/views/components/poll.vue: - vote-to: "「{}」に投票する" - vote-count: "{}票" - total-votes: "計{}票" - vote: "投票する" - show-result: "結果を見る" - voted: "投票済み" - closed: "終了済み" - remaining-days: "終了まであと{d}日{h}時間" - remaining-hours: "終了まであと{h}時間{m}分" - remaining-minutes: "終了まであと{m}分{s}秒" - remaining-seconds: "終了まであと{s}秒" - -common/views/components/poll-editor.vue: - no-only-one-choice: "アンケートには、選択肢が最低2つ必要です" - choice-n: "選択肢{}" - remove: "この選択肢を削除" - add: "+選択肢を追加" - destroy: "アンケートを破棄" - multiple: "複数回答可" +_poll: + noOnlyOneChoice: "選択肢は最低2つ必要です" + choiceN: "選択肢{n}" + noMore: "これ以上追加できません" + canMultipleVote: "複数回答可" expiration: "期限" infinite: "無期限" at: "日時指定" after: "経過指定" - no-more: "これ以上追加できません" - deadline-date: "期日" - deadline-time: "時間" - interval: "期間" - unit: "単位" - second: "秒" - minute: "分" - hour: "時間" - day: "日" + deadlineDate: "期日" + deadlineTime: "時間" + duration: "期間" + votesCount: "{n}票" + totalVotes: "計{n}票" + vote: "投票する" + showResult: "結果を見る" + voted: "投票済み" + closed: "終了済み" + remainingDays: "終了まであと{d}日{h}時間" + remainingHours: "終了まであと{h}時間{m}分" + remainingMinutes: "終了まであと{m}分{s}秒" + remainingSeconds: "終了まであと{s}秒" -common/views/components/reaction-picker.vue: - choose-reaction: "リアクションを選択" - input-reaction-placeholder: "または絵文字を入力" - -common/views/components/emoji-picker.vue: - recent-emoji: "最近使った絵文字" - custom-emoji: "カスタム絵文字" - no-category: "カテゴリなし" - people: "人" - animals-and-nature: "動物&自然" - food-and-drink: "食べ物&飲み物" - activity: "アクティビティ" - travel-and-places: "場所" - objects: "物" - symbols: "記号" - flags: "旗" - -common/views/components/settings/app-type.vue: - title: "モード" - intro: "デスクトップ版とモバイル版のどちらを使うかを指定できます。" - choices: - auto: "自動で選択" - desktop: "デスクトップ版に固定" - mobile: "モバイル版に固定" - info: "変更はページの再度読み込み後に反映されます。" - -common/views/components/signin.vue: - username: "ユーザー名" - password: "パスワード" - token: "トークン" - signing-in: "やってます..." - or: "または" - signin-with-twitter: "Twitterでログイン" - signin-with-github: "GitHubでログイン" - signin-with-discord: "Discordでログイン" - login-failed: "ログインできませんでした。ユーザー名とパスワードを確認してください。" - tap-key: "セキュリティキーをクリックしてログイン" - enter-2fa-code: "認証コードを入力してください" - -common/views/components/signup.vue: - invitation-code: "招待コード" - invitation-info: "招待コードをお持ちでない方は、管理者までご連絡ください。" - username: "ユーザー名" - checking: "確認しています..." - available: "利用できます" - unavailable: "既に利用されています" - error: "通信エラー" - invalid-format: "a~z、A~Z、0~9、_が使えます" - too-short: "1文字以上でお願いします!" - too-long: "20文字以内でお願いします" - password: "パスワード" - password-placeholder: "8文字以上を推奨します" - weak-password: "弱いパスワード" - normal-password: "まあまあのパスワード" - strong-password: "強いパスワード" - retype: "再入力" - retype-placeholder: "確認のため再入力してください" - password-matched: "確認されました" - password-not-matched: "一致していません" - recaptcha: "認証" - agree-to: "{0}に同意します。" - tos: "利用規約" - create: "アカウント作成" - some-error: "何らかの原因によりアカウントの作成に失敗しました。再度お試しください。" - -common/views/components/special-message.vue: - new-year: "Happy New Year!" - christmas: "Merry Christmas!" - -common/views/components/stream-indicator.vue: - connecting: "接続中" - reconnecting: "再接続中" - connected: "接続完了" - -common/views/components/notification-settings.vue: - title: "通知" - mark-as-read-all-notifications: "すべての通知を既読にする" - mark-as-read-all-unread-notes: "すべての投稿を既読にする" - mark-as-read-all-talk-messages: "すべてのトークを既読にする" - auto-watch: "投稿の自動ウォッチ" - auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。" - -common/views/components/instance.vue: - start: 始める - -common/views/components/integration-settings.vue: - title: "サービス連携" - connect: "接続する" - disconnect: "切断する" - connected-to: "次のアカウントに接続されています" - -common/views/components/github-setting.vue: - description: "お使いのGitHubアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでGitHubアカウント情報が表示されるようになったり、GitHubを用いた便利なサインインを利用できるようになります。" - connected-to: "次のGitHubアカウントに接続されています" - detail: "詳細..." - reconnect: "再接続する" - connect: "GitHubと接続する" - disconnect: "切断する" - -common/views/components/discord-setting.vue: - description: "お使いのDiscordアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでDiscordアカウント情報が表示されるようになったり、Discordを用いた便利なサインインを利用できるようになります。" - connected-to: "次のDiscordアカウントに接続されています" - detail: "詳細..." - reconnect: "再接続する" - connect: "Discordと接続する" - disconnect: "切断する" - -common/views/components/uploader.vue: - waiting: "待機中" - -common/views/components/visibility-chooser.vue: - public: "公開" +_visibility: + public: "パブリック" + publicDescription: "全てのユーザーに公開" home: "ホーム" - home-desc: "ホームタイムラインにのみ公開" + homeDescription: "ホームタイムラインのみに公開" followers: "フォロワー" - followers-desc: "自分のフォロワーにのみ公開" + followersDescription: "自分のフォロワーのみに公開" specified: "ダイレクト" - specified-desc: "指定したユーザーにのみ公開" - local-public: "公開 (ローカルのみ)" - local-public-desc: "リモートへは公開しない" - local-home: "ホーム (ローカルのみ)" - local-followers: "フォロワー (ローカルのみ)" + specifiedDescription: "指定したユーザーのみに公開" -common/views/components/trends.vue: - count: "{}人が投稿" - empty: "トレンドなし" +_postForm: + replyPlaceholder: "この投稿に返信..." + quotePlaceholder: "この投稿を引用..." + post: "投稿" + _placeholders: + a: "いまどうしてる?" + b: "何かありましたか?" + c: "何をお考えですか?" + d: "言いたいことは?" + e: "ここに書いてください" + f: "あなたが書くのを待っています..." -common/views/components/language-settings.vue: - title: "表示言語" - pick-language: "言語を選択" - recommended: "推奨" - auto: "自動" - specify-language: "言語を指定" - info: "変更はページの再度読み込み後に反映されます。" - -common/views/components/profile-editor.vue: - title: "プロフィール" +_profile: name: "名前" - account: "アカウント" - location: "場所" + username: "ユーザー名" description: "自己紹介" - you-can-include-hashtags: "ハッシュタグを含めることができます。" - language: "言語" - birthday: "誕生日" - avatar: "アバター" - banner: "バナー" - is-cat: "このアカウントはCatです" - is-bot: "このアカウントはBotです" - is-locked: "フォローを承認制にする" - careful-bot: "Botからのフォローだけ承認制にする" - auto-accept-followed: "フォローしているユーザーからのフォローを自動承認する" - advanced: "その他" - privacy: "プライバシー" - save: "保存" - saved: "プロフィールを保存しました" - uploading: "アップロード中" - upload-failed: "アップロードに失敗しました" - unable-to-process: "操作を完了できません" - avatar-not-an-image: "アバターとして指定したファイルは画像ではありません" - banner-not-an-image: "バナーとして指定したファイルは画像ではありません" - email: "メール設定" - email-address: "メールアドレス" - email-verified: "メールアドレスが確認されました" - email-not-verified: "メールアドレスが確認されていません。メールボックスをご確認ください。" - export: "エクスポート" - import: "インポート" - export-and-import: "エクスポートとインポート" - export-targets: - all-notes: "すべての投稿データ" - following-list: "フォロー" - mute-list: "ミュート" - blocking-list: "ブロック" - user-lists: "リスト" - export-requested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、ドライブにファイルが追加されます。" - import-requested: "インポートをリクエストしました。これには時間がかかる場合があります。" - enter-password: "パスワードを入力してください" - danger-zone: "危険な設定" - delete-account: "アカウントを削除" - account-deleted: "アカウントが削除されました。データが消えるまで時間がかかる場合があります。" - profile-metadata: "プロフィール補足情報" - metadata-label: "ラベル" - metadata-content: "内容" + youCanIncludeHashtags: "ハッシュタグを含めることができます。" + metadata: "補足情報" + metadataLabel: "ラベル" + metadataContent: "内容" -common/views/components/user-list-editor.vue: - users: "ユーザー" - rename: "リスト名を変更" - delete: "リストを削除" - remove-user: "このリストから削除" - delete-are-you-sure: "リスト「$1」を削除しますか?" - deleted: "削除しました" - add-user: "ユーザーを追加" +_exportOrImport: + allNotes: "全ての投稿" + followingList: "フォロー" + muteList: "ミュート" + blockingList: "ブロック" + userLists: "リスト" -common/views/components/user-group-editor.vue: - users: "メンバー" - rename: "グループ名を変更" - delete: "グループを削除" - transfer: "グループを譲渡" - transfer-are-you-sure: "グループ「$1」を「@$2」さんに譲渡しますか?" - transferred: "グループを譲渡しました" - remove-user: "このグループから削除" - delete-are-you-sure: "グループ「$1」を削除しますか?" - deleted: "削除しました" - invite: "招待" - invited: "招待を送信しました" +_charts: + federationInstancesIncDec: "連合の増減" + federationInstancesTotal: "連合の合計" + usersIncDec: "ユーザーの増減" + usersTotal: "ユーザーの合計" + activeUsers: "アクティブユーザー数" + notesIncDec: "投稿の増減" + localNotesIncDec: "ローカルの投稿の増減" + remoteNotesIncDec: "リモートの投稿の増減" + notesTotal: "投稿の合計" + filesIncDec: "ファイルの増減" + filesTotal: "ファイルの合計" + storageUsageIncDec: "ストレージ使用量の増減" + storageUsageTotal: "ストレージ使用量の合計" -common/views/components/user-lists.vue: - user-lists: "リスト" - create-list: "リストを作成" - list-name: "リスト名" +_instanceCharts: + requests: "リクエスト" + users: "ユーザーの増減" + usersTotal: "ユーザーの積算" + notes: "投稿の増減" + notesTotal: "投稿の積算" + ff: "フォロー/フォロワーの増減" + ffTotal: "フォロー/フォロワーの積算" + cacheSize: "キャッシュサイズの増減" + cacheSizeTotal: "キャッシュサイズの積算" + files: "ファイル数の増減" + filesTotal: "ファイル数の積算" -common/views/components/user-groups.vue: - user-groups: "グループ" - create-group: "グループを作成" - group-name: "グループ名" - owned-groups: "自分のグループ" - joined-groups: "参加しているグループ" - invites: "招待" - accept-invite: "参加" - reject-invite: "拒否" - -common/views/widgets/broadcast.vue: - fetching: "確認中" - no-broadcasts: "お知らせはありません" - have-a-nice-day: "良い一日を!" - next: "次" - prev: "前" - -common/views/widgets/calendar.vue: - year: "{}年" - month: "{}月" - day: "{}日" - today: "今日:" - this-month: "今月:" - this-year: "今年:" - -common/views/widgets/photo-stream.vue: - title: "フォトストリーム" - no-photos: "写真はありません" - -common/views/widgets/posts-monitor.vue: - title: "投稿チャート" - toggle: "表示を切り替え" - -common/views/widgets/hashtags.vue: - title: "ハッシュタグ" - -common/views/widgets/server.vue: - title: "サーバー情報" - toggle: "表示を切り替え" - -common/views/widgets/memo.vue: - title: "付箋" - memo: "ここに書いて!" - save: "保存" - -common/views/widgets/slideshow.vue: - folder-customize-mode: "フォルダを指定するには、カスタマイズモードを終了してください" - folder: "クリックしてフォルダを指定してください" - no-image: "このフォルダには画像がありません" - -common/views/widgets/tips.vue: - tips-line1: "tでタイムラインにフォーカスできます" - tips-line2: "pまたはnで投稿フォームを開きます" - tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます" - tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます" - tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます" - tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます" - tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます" - tips-line8: "ホームは設定からカスタマイズできます" - tips-line9: "MisskeyはAGPLv3です" - tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます" - tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます" - tips-line13: "投稿に添付したファイルは全てドライブに保存されます" - tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます" - tips-line17: "「**」でテキストを囲むと**強調表示**されます" - tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます" - tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています" - tips-line21: "APIを利用してbotの開発なども行えます" - tips-line23: "藍かわいいよ藍" - tips-line24: "Misskeyは2014年にサービスを開始しました" - tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます" - -common/views/pages/not-found.vue: - page-not-found: "ページが見つかりませんでした" - -common/views/pages/follow.vue: - signed-in-as: "{}としてサインイン中" - following: "フォロー中" - follow: "フォロー" - request-pending: "フォロー許可待ち" - follow-processing: "フォロー処理中" - follow-request: "フォロー申請" - -common/views/pages/follow-requests.vue: - received-follow-requests: "フォロー申請" - accept: "承認" - reject: "拒否" - -desktop: - banner-crop-title: "バナーとして表示する部分を選択" - banner: "バナー" - uploading-banner: "新しいバナーをアップロードしています" - banner-updated: "バナーを更新しました" - choose-banner: "バナーにする画像を選択" - avatar-crop-title: "アバターとして表示する部分を選択" - avatar: "アバター" - uploading-avatar: "新しいアバターをアップロードしています" - avatar-updated: "アバターを更新しました" - choose-avatar: "アバターにする画像を選択" - unable-to-process: "操作を完了できません" - invalid-filetype: "この形式のファイルはサポートされていません" - -desktop/views/components/activity.chart.vue: - total: "Black ... Total" - notes: "Blue ... Notes" - replies: "Red ... Replies" - renotes: "Green ... Renotes" - -desktop/views/components/activity.vue: - title: "アクティビティ" - toggle: "表示を切り替え" - -desktop/views/components/calendar.vue: - title: "{year}年 {month}月" - prev: "前の月" - next: "次の月" - go: "クリックして時間遡行" - -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "{count}ファイル選択中" - upload: "PCからドライブにファイルをアップロード" - cancel: "キャンセル" - ok: "決定" - choose-prompt: "ファイルを選択" - -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "キャンセル" - ok: "決定" - choose-prompt: "フォルダを選択" - -desktop/views/components/crop-window.vue: - skip: "クロップをスキップ" - cancel: "キャンセル" - ok: "決定" - -desktop/views/components/drive-window.vue: - used: "使用中" - -desktop/views/components/drive.file.vue: - avatar: "アバター" - banner: "バナー" - nsfw: "閲覧注意" - contextmenu: - rename: "名前を変更" - mark-as-sensitive: "閲覧注意に設定" - unmark-as-sensitive: "閲覧注意を解除" - copy-url: "URLをコピー" - download: "ダウンロード" - else-files: "その他" - set-as-avatar: "アバターに設定" - set-as-banner: "バナーに設定" - open-in-app: "アプリで開く" - add-app: "アプリを追加" - rename-file: "ファイル名の変更" - input-new-file-name: "新しいファイル名を入力してください" - copied: "コピー完了" - copied-url-to-clipboard: "URLをクリップボードにコピーしました" - -desktop/views/components/drive.folder.vue: - upload-folder: "既定アップロード先" - unable-to-process: "操作を完了できません" - circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。" - unhandled-error: "不明なエラー" - unable-to-delete: "削除できません" - has-child-files-or-folders: "このフォルダは空でないため、削除できません。" - contextmenu: - move-to-this-folder: "このフォルダへ移動" - show-in-new-window: "新しいウィンドウで表示" - rename: "名前を変更" - rename-folder: "フォルダ名の変更" - input-new-folder-name: "新しいフォルダ名を入力してください" - else-folders: "その他" - set-as-upload-folder: "既定アップロード先に設定" - -desktop/views/components/drive.vue: - search: "検索" - empty-draghover: "ドロップですか?いいですよ、ボクはカワイイですからね" - empty-drive: "ドライブには何もありません。" - empty-drive-description: "右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。" - empty-folder: "このフォルダーは空です" - unable-to-process: "操作を完了できません" - circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。" - unhandled-error: "不明なエラー" - url-upload: "URLアップロード" - url-of-file: "アップロードしたいファイルのURL" - url-upload-requested: "アップロードをリクエストしました" - may-take-time: "アップロードが完了するまで時間がかかる場合があります。" - create-folder: "フォルダー作成" - folder-name: "フォルダー名" - contextmenu: - create-folder: "フォルダーを作成" - upload: "ファイルをアップロード" - url-upload: "URLからアップロード" - -desktop/views/components/media-video.vue: - sensitive: "閲覧注意" - click-to-show: "クリックして表示" - -desktop/views/components/followers-window.vue: - followers: "{} のフォロワー" - -desktop/views/components/followers.vue: - empty: "フォロワーはいないようです。" - -desktop/views/components/following-window.vue: - following: "{} のフォロー" - -desktop/views/components/following.vue: - empty: "フォロー中のユーザーはいないようです。" - -desktop/views/components/game-window.vue: - game: "リバーシ" - -desktop/views/components/home.vue: - done: "完了" - add-widget: "ウィジェットを追加:" - add: "追加" - -desktop/views/input-dialog.vue: - cancel: "キャンセル" - ok: "決定" - -desktop/views/components/note-detail.vue: - private: "この投稿は非公開です" - deleted: "この投稿は削除されました" - location: "位置情報" - renote: "Renote" - add-reaction: "リアクション" - undo-reaction: "リアクション解除" - -desktop/views/components/note.vue: - reply: "返信" - renote: "Renote" - add-reaction: "リアクション" - undo-reaction: "リアクション解除" - detail: "詳細" - private: "この投稿は非公開です" - deleted: "この投稿は削除されました" - -desktop/views/components/notes.vue: - error: "読み込みに失敗しました。" - retry: "リトライ" - -desktop/views/components/notifications.vue: - empty: "ありません!" - -desktop/views/components/post-form.vue: - posted: "投稿しました!" - replied: "返信しました!" - reposted: "Renoteしました!" - note-failed: "投稿に失敗しました" - reply-failed: "返信に失敗しました" - renote-failed: "Renoteに失敗しました" - -desktop/views/components/post-form-window.vue: - note: "新規投稿" - reply: "返信" - attaches: "添付: {}メディア" - uploading-media: "{}個のメディアをアップロード中" - -desktop/views/components/progress-dialog.vue: - waiting: "待機中" - -desktop/views/components/renote-form.vue: - quote: "引用する..." - cancel: "キャンセル" - renote: "Renote" - renote-home: "Renote (Home)" - reposting: "しています..." - success: "Renoteしました!" - failure: "Renoteに失敗しました" - -desktop/views/components/renote-form-window.vue: - title: "この投稿をRenoteしますか?" - -desktop/views/pages/user-following-or-followers.vue: - following: "{user}のフォロー" - followers: "{user}のフォロワー" - -desktop/views/components/settings.2fa.vue: - intro: "二段階認証を設定すると、サインイン時にパスワードだけでなく、予め登録しておいた物理的なデバイス(例えばあなたのスマートフォンなど)も必要になり、よりセキュリティが向上します。" - detail: "詳細..." - url: "https://www.google.co.jp/intl/ja/landing/2step/" - caution: "登録したデバイスを紛失するなどした場合、Misskeyにサインインできなくなりますのでご注意ください。" - register: "デバイスを登録する" - already-registered: "既に設定は完了しています。" - unregister: "設定を解除" - unregistered: "二段階認証が無効になりました。" - enter-password: "パスワードを入力してください" - authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:" - howtoinstall: "インストール方法はこちら" - token: "トークン" - scan: "次に、表示されているQRコードをスキャンします:" - done: "お使いのデバイスに表示されているトークンを入力して完了します:" - submit: "完了" - success: "設定が完了しました!" - failed: "設定に失敗しました。トークンに誤りがないかご確認ください。" - info: "次回サインインからは、同様にパスワードに加えてデバイスに表示されているトークンを入力します。" - totp-header: "認証アプリ" - security-key-header: "セキュリティキー" - security-key: "セキュリティを強化するために、FIDO2をサポートするハードウェアセキュリティキーを使用してアカウントにログインできます。 サインインの際は、登録されたセキュリティキーまたは認証アプリが必要になります。" - last-used: "最後の使用:" - activate-key: "クリックしてセキュリティキーをアクティベートしてください" - security-key-name: "キー名" - register-security-key: "キーの登録を完了" - something-went-wrong: "わー! キーを登録する際に問題が発生しました:" - key-unregistered: "キーが削除されました" - use-password-less-login: "パスワードなしのログインを使用" - -common/views/components/media-image.vue: - sensitive: "閲覧注意" - click-to-show: "クリックして表示" - -common/views/components/api-settings.vue: - intro: "APIを利用するには、上記のトークンを「i」というキーでパラメータに付加してリクエストします。" - caution: "アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。" - regeneration-of-token: "万が一このトークンが漏れたりその可能性がある場合はトークンを再生成できます。" - regenerate-token: "トークンを再生成" - token: "Token:" - enter-password: "パスワードを入力してください" - console: - title: "APIコンソール" - endpoint: "エンドポイント" - parameter: "パラメータ" - credential-info: "「i」パラメータは自動で付与されます。" - send: "送信" - sending: "応答待ち" - response: "結果" - -desktop/views/components/settings.apps.vue: - no-apps: "連携しているアプリケーションはありません" - -common/views/components/drive-settings.vue: - max: "容量" - in-use: "使用中" - stats: "統計" - default-upload-folder: "既定のアップロード先フォルダ" - default-upload-folder-name: "フォルダ" - change-default-upload-folder: "フォルダを変更" - -common/views/components/mute-and-block.vue: - mute-and-block: "ミュートとブロック" - mute: "ミュート" - block: "ブロック" - no-muted-users: "ミュートしているユーザーはいません" - no-blocked-users: "ブロックしているユーザーはいません" - word-mute: "ワードミュート" - muted-words: "ミュートされたキーワード" - muted-words-description: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります" - unmute-confirm: "このユーザーをミュート解除しますか?" - unblock-confirm: "このユーザーをブロック解除しますか?" - save: "保存" - -common/views/components/password-settings.vue: - reset: "パスワードを変更する" - enter-current-password: "現在のパスワードを入力してください" - enter-new-password: "新しいパスワードを入力してください" - enter-new-password-again: "もう一度新しいパスワードを入力してください" - not-match: "新しいパスワードが一致しません" - changed: "パスワードを変更しました" - failed: "パスワード変更に失敗しました" - -common/views/components/post-form-attaches.vue: - attach-cancel: "添付取り消し" - mark-as-sensitive: "閲覧注意に設定" - unmark-as-sensitive: "閲覧注意を解除" - -desktop/views/components/sub-note-content.vue: - private: "この投稿は非公開です" - deleted: "この投稿は削除されました" - media-count: "{}つのメディア" - poll: "アンケート" - -desktop/views/components/settings.tags.vue: - title: "タグ" - query: "クエリ (省略可)" - add: "追加" - save: "保存" - -desktop/views/components/timeline.vue: +_timelines: home: "ホーム" local: "ローカル" - hybrid: "ソーシャル" + social: "ソーシャル" global: "グローバル" - mentions: "あなた宛て" - messages: "ダイレクト投稿" - list: "リスト" - hashtag: "ハッシュタグ" - add-tag-timeline: "ハッシュタグを追加" - add-list: "リストを追加" - list-name: "リスト名" -desktop/views/components/ui.header.vue: - welcome-back: "おかえりなさい、" - adjective: "さん" - -desktop/views/components/ui.header.account.vue: - profile: "プロフィール" - lists: "リスト" - groups: "グループ" - follow-requests: "フォロー申請" - admin: "管理" - room: "ルーム" - -desktop/views/components/ui.header.nav.vue: - game: "ゲーム" - -desktop/views/components/ui.header.notifications.vue: - title: "通知" - -desktop/views/components/ui.header.post.vue: - post: "新規投稿" - -desktop/views/components/ui.header.search.vue: - placeholder: "検索" - -desktop/views/components/user-preview.vue: - notes: "投稿" - following: "フォロー" - followers: "フォロワー" - -desktop/views/components/users-list.vue: - all: "すべて" - iknow: "知り合い" - fetching: "読み込んでいます" - -desktop/views/components/users-list-item.vue: - followed: "フォローされています" - -desktop/views/components/window.vue: - popout: "ポップアウト" - close: "閉じる" - -admin/views/index.vue: - dashboard: "ダッシュボード" - instance: "インスタンス" - emoji: "カスタム絵文字" - moderators: "モデレーター" - users: "ユーザー" - federation: "連合" - announcements: "お知らせ" - abuse: "スパム報告" - queue: "ジョブキュー" - logs: "ログ" - db: "データベース" - back-to-misskey: "Misskeyに戻る" - -admin/views/db.vue: - tables: "テーブル" - vacuum: "バキューム" - vacuum-info: "データベースの掃除を行います。データはそのままで、ディスク使用量を減らします。通常この操作は自動で定期的に行われます。" - vacuum-exclamation: "バキュームを行うと、しばらくの間データベースの負荷が高くなり、ユーザーの操作を受け付けなくなる場合があります。" - -admin/views/dashboard.vue: - dashboard: "ダッシュボード" - accounts: "アカウント" - notes: "投稿" - drive: "ドライブ" - instances: "インスタンス" - this-instance: "このインスタンス" - federated: "連合" - -admin/views/queue.vue: - title: "キュー" - remove-all-jobs: "すべてのジョブをクリア" - jobs: "ジョブ" - queue: "キュー" - domains: - deliver: "配送" - inbox: "受信" - db: "データベース" - objectStorage: "オブジェクトストレージ" - state: "状態" - states: - active: "処理中" - delayed: "予約済み" - waiting: "順番待ち" - result-is-truncated: "結果は省略されています" - other-queues: "その他のキュー" - -admin/views/logs.vue: - logs: "ログ" - domain: "ドメイン" - level: "レベル" - levels: - all: "全て" - info: "情報" - success: "成功" - warning: "警告" - error: "エラー" - debug: "デバッグ" - delete-all: "全て削除" - -admin/views/abuse.vue: - title: "スパム報告" - target: "対象" - reporter: "報告者" - details: "詳細" - remove-report: "削除" - -admin/views/instance.vue: - instance: "インスタンス" - instance-name: "インスタンス名" - instance-description: "インスタンスの紹介" - host: "ホスト" - icon-url: "アイコンURL" - logo-url: "ロゴURL" - banner-url: "バナー画像URL" - error-image-url: "エラー画像URL" - languages: "インスタンスの対象言語" - languages-desc: "スペースで区切って複数設定できます。" - tos-url: "利用規約URL" - repository-url: "リポジトリURL" - feedback-url: "フィードバックURL" - maintainer-config: "管理者情報" - maintainer-name: "管理者名" - maintainer-email: "管理者の連絡先" - advanced-config: "その他の設定" - note-and-tl: "投稿とタイムライン" - drive-config: "ドライブの設定" - use-object-storage: "オブジェクトストレージを使用する" - object-storage-base-url: "URL" - object-storage-bucket: "バケット名" - object-storage-prefix: "プレフィックス" - object-storage-endpoint: "エンドポイント" - object-storage-region: "リージョン" - object-storage-port: "ポート" - object-storage-access-key: "アクセスキー" - object-storage-secret-key: "シークレットキー" - object-storage-use-ssl: "SSLを使用" - object-storage-s3-info: "Amazon S3をオブジェクトストレージとして使用する場合の「エンドポイント」と「リージョン」の設定については{0}をご確認ください。" - object-storage-s3-info-here: "こちら" - object-storage-gcs-info: "Google Cloud Storageをオブジェクトストレージとして使用する場合、「エンドポイント」は storage.googleapis.com に設定し、「リージョン」は空欄にします。" - cache-remote-files: "リモートのファイルをキャッシュする" - cache-remote-files-desc: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクするようになります。そのためサーバーのストレージを節約できますが、プライバシー設定で直リンクを無効にしているユーザーにはファイルが見えなくなったり、サムネイルが生成されないので通信量が増加します。通常はこの設定をオンにするか次のリモートファイルのプロキシを有効にすることをおすすめします。" - proxy-remote-files: "リモートのファイルをプロキシする" - proxy-remote-files-desc: "この設定を有効にすると、未保存または保存容量超過で削除されたリモートファイルをローカルでプロキシし、サムネイルも生成するようになります。" - local-drive-capacity-mb: "ローカルユーザーひとりあたりのドライブ容量" - remote-drive-capacity-mb: "リモートユーザーひとりあたりのドライブ容量" - mb: "メガバイト単位" - recaptcha-config: "reCAPTCHAの設定" - recaptcha-info: "reCAPTCHAを有効にする場合、reCAPTCHAトークンを取得する必要があります。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してください。" - recaptcha-info2: "v3は非対応です。v2を使用してください。" - enable-recaptcha: "reCAPTCHAを有効にする" - recaptcha-site-key: "サイトキー" - recaptcha-secret-key: "シークレットキー" - recaptcha-preview: "プレビュー" - hidden-tags: "非表示ハッシュタグ" - hidden-tags-info: "集計から除外するハッシュタグを改行で区切って記述します。" - external-service-integration-config: "外部サービス連携" - twitter-integration-config: "Twitter連携の設定" - twitter-integration-info: "コールバックURLは {url} に設定します。" - enable-twitter-integration: "Twitter連携を有効にする" - twitter-integration-consumer-key: "Consumer key" - twitter-integration-consumer-secret: "Consumer secret" - github-integration-config: "GitHub連携の設定" - github-integration-info: "コールバックURLは {url} に設定します。" - enable-github-integration: "GitHub連携を有効にする" - github-integration-client-id: "Client ID" - github-integration-client-secret: "Client Secret" - discord-integration-config: "Discord連携の設定" - discord-integration-info: "コールバックURLは {url} に設定します。" - enable-discord-integration: "Discord連携を有効にする" - discord-integration-client-id: "Client ID" - discord-integration-client-secret: "Client Secret" - proxy-account-config: "プロキシアカウントの設定" - proxy-account-info: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがサーバーに配達されないため、代わりにプロキシアカウントがフォローするようにします。" - proxy-account-username: "プロキシアカウントのユーザー名" - proxy-account-username-desc: "プロキシとして使用するアカウントのユーザー名を指定してください。" - proxy-account-warn: "アカウントは自動で作られないため、そのユーザー名のアカウントを予め作成しておく必要があります。" - max-note-text-length: "投稿の最大文字数" - disable-registration: "ユーザー登録の受付を停止する" - disable-local-timeline: "ローカルタイムラインを無効にする" - disable-global-timeline: "グローバルタイムラインを無効にする" - disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。" - enable-emoji-reaction: "リアクションに絵文字を使えるようにする" - use-star-for-reaction-fallback: "不明なリアクションのフォールバックに star を使う" - invite: "招待" - save: "保存" - saved: "保存しました" - pinned-users: "ピン留めユーザー" - pinned-users-info: "ピン留めしたいユーザーを改行で区切って記述します。" - email-config: "メールサーバーの設定" - email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。" - enable-email: "メール配信を有効にする" - email: "メールアドレス" - smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する" - smtp-secure-info: "STARTTLS使用時はオフにします。" - smtp-host: "SMTPホスト" - smtp-port: "SMTPポート" - smtp-auth: "SMTP認証を行う" - smtp-user: "SMTPユーザー" - smtp-pass: "SMTPパスワード" - test-email: "テスト" - serviceworker-config: "ServiceWorker" - enable-serviceworker: "ServiceWorkerを有効にする" - serviceworker-info: "プッシュ通知を行うには有効する必要があります。" - vapid-publickey: "VAPID公開鍵" - vapid-privatekey: "VAPID秘密鍵" - vapid-info: "ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります。シェルで次のようにします:" - -admin/views/charts.vue: - title: "チャート" - per-day: "1日ごと" - per-hour: "1時間ごと" - federation: "フェデレーション" - notes: "投稿" - users: "ユーザー" - drive: "ドライブ" - network: "ネットワーク" - charts: - federation-instances: "インスタンスの増減" - federation-instances-total: "インスタンスの積算" - notes: "投稿の増減 (統合)" - local-notes: "投稿の増減 (ローカル)" - remote-notes: "投稿の増減 (リモート)" - notes-total: "投稿の積算" - users: "ユーザーの増減" - users-total: "ユーザーの積算" - active-users: "アクティブユーザー数" - drive: "ドライブ使用量の増減" - drive-total: "ドライブ使用量の積算" - drive-files: "ドライブのファイル数の増減" - drive-files-total: "ドライブのファイル数の積算" - network-requests: "リクエスト" - network-time: "応答時間" - network-usage: "通信量" - -admin/views/drive.vue: - operation: "操作" - fileid-or-url: "ファイルIDまたはファイルURL" - file-not-found: "ファイルが見つかりません" - lookup: "照会" - sort: - title: "ソート" - createdAtAsc: "アップロード日時が古い順" - createdAtDesc: "アップロード日時が新しい順" - sizeAsc: "サイズが小さい順" - sizeDesc: "サイズが大きい順" - origin: - title: "オリジン" - combined: "ローカル+リモート" - local: "ローカル" - remote: "リモート" - delete: "削除" - deleted: "削除しました" - mark-as-sensitive: "閲覧注意に設定" - unmark-as-sensitive: "閲覧注意を解除" - marked-as-sensitive: "閲覧注意に設定しました" - unmarked-as-sensitive: "閲覧注意を解除しました" - clean-remote-files: "リモートファイルのキャッシュを削除" - clean-remote-files-are-you-sure: "すべてのリモートファイルのキャッシュを削除してもよろしいですか?" - clean-up: "クリーンアップ" - -admin/views/users.vue: - operation: "操作" - username-or-userid: "ユーザー名またはユーザーID" - user-not-found: "ユーザーが見つかりません" - lookup: "照会" - reset-password: "パスワードをリセット" - reset-password-confirm: "パスワードをリセットしますか?" - password-updated: "パスワードは現在「{password}」です" - suspend: "凍結" - suspend-confirm: "凍結しますか?" - suspended: "凍結しました" - unsuspend: "凍結の解除" - unsuspend-confirm: "凍結を解除しますか?" - unsuspended: "凍結を解除しました" - make-silence: "サイレンス" - silence-confirm: "サイレンスしますか?" - unmake-silence: "サイレンスの解除" - unsilence-confirm: "サイレンスを解除しますか?" - update-remote-user: "リモートユーザー情報の更新" - remote-user-updated: "リモートユーザー情報を更新しました" - delete-all-files: "すべてのファイルを削除" - delete-all-files-confirm: "すべてのファイルを削除しますか?" - username: "ユーザー名" - host: "ホスト" - users: - title: "ユーザー" - sort: - title: "ソート" - createdAtAsc: "登録日時が古い順" - createdAtDesc: "登録日時が新しい順" - updatedAtAsc: "更新日時が古い順" - updatedAtDesc: "更新日時が新しい順" - state: - title: "状態" - all: "すべて" - available: "利用可能" - admin: "管理者" - moderator: "モデレーター" - adminOrModerator: "管理者+モデレーター" - silenced: "サイレンス済み" - suspended: "凍結済み" - origin: - title: "オリジン" - combined: "ローカル+リモート" - local: "ローカル" - remote: "リモート" - createdAt: "登録日時" - updatedAt: "更新日時" - -admin/views/moderators.vue: - add-moderator: - title: "モデレーターの登録" - add: "登録" - added: "モデレーターを登録しました" - remove: "解除" - removed: "モデレーター登録を解除しました" - logs: - title: "ログ" - moderator: "モデレーター" - type: "操作" - at: "日時" - info: "情報" - -admin/views/emoji.vue: - add-emoji: - title: "絵文字の登録" - name: "絵文字名" - name-desc: "a~z 0~9 _ の文字が使えます。" - category: "カテゴリ" - aliases: "エイリアス" - aliases-desc: "スペースで区切って複数設定できます。" - url: "絵文字画像URL" - add: "追加" - info: "50KB以下のPNG画像をおすすめします。" - added: "絵文字を登録しました" - emojis: - title: "絵文字一覧" - update: "更新" - remove: "削除" - updated: "更新しました" - remove-emoji: - are-you-sure: "「$1」を削除しますか?" - removed: "削除しました" - -admin/views/announcements.vue: - announcements: "お知らせ" - save: "保存" - remove: "削除" - add: "追加" - title: "タイトル" - text: "内容" - saved: "保存しました" - _remove: - are-you-sure: "「$1」を削除しますか?" - removed: "削除しました" - -admin/views/hashtags.vue: - hided-tags: "Hidden Tags" - -admin/views/federation.vue: - instance: "インスタンス" - host: "ホスト" - notes: "投稿" - users: "ユーザー" - following: "フォロー中" - followers: "フォロワー" - caught-at: "登録日時" - status: "ステータス" - latest-request-sent-at: "直近のリクエスト送信" - latest-request-received-at: "直近のリクエスト受信" - remove-all-following: "フォローを全解除" - remove-all-following-info: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。" - delete-all-files: "ファイルをすべて削除" - block: "ブロック" - marked-as-closed: "閉鎖されているとマーク" - lookup: "照会" - instances: "連合" - instance-not-registered: "そのインスタンスは登録されていません" - sort: "ソート" - sorts: - caughtAtAsc: "登録日時が古い順" - caughtAtDesc: "登録日時が新しい順" - lastCommunicatedAtAsc: "最後にやり取りした日時が古い順" - lastCommunicatedAtDesc: "最後にやり取りした日時が新しい順" - notesAsc: "投稿が少ない順" - notesDesc: "投稿が多い順" - usersAsc: "ユーザーが少ない順" - usersDesc: "ユーザーが多い順" - followingAsc: "フォローが少ない順" - followingDesc: "フォローが多い順" - followersAsc: "フォロワーが少ない順" - followersDesc: "フォロワーが多い順" - driveUsageAsc: "ドライブ使用量が少ない順" - driveUsageDesc: "ドライブ使用量が多い順" - driveFilesAsc: "ドライブのファイル数が少ない順" - driveFilesDesc: "ドライブのファイル数が多い順" - state: "状態" - states: - all: "すべて" - blocked: "ブロック" - not-responding: "応答なし" - marked-as-closed: "閉鎖とマーク済み" - result-is-truncated: "上位{n}件を表示しています。" - charts: "チャート" - chart-srcs: - requests: "リクエスト" - users: "ユーザーの増減" - users-total: "ユーザーの積算" - notes: "投稿の増減" - notes-total: "投稿の積算" - ff: "フォロー/フォロワーの増減" - ff-total: "フォロー/フォロワーの積算" - drive-usage: "ドライブ使用量の増減" - drive-usage-total: "ドライブ使用量の積算" - drive-files: "ドライブファイル数の増減" - drive-files-total: "ドライブファイル数の積算" - chart-spans: - hour: "1時間ごと" - day: "1日ごと" - blocked-hosts: "ブロック" - blocked-hosts-info: "ブロックしたいホストを改行で区切って記述します。" - save: "保存" - -desktop/views/pages/welcome.vue: - about: "詳しく..." - timeline: "タイムライン" - announcements: "お知らせ" - photos: "最近の画像" - powered-by-misskey: "Powered by Misskey." - info: "情報" - -desktop/views/pages/drive.vue: - title: "Misskey Drive" - -desktop/views/pages/note.vue: - prev: "前の投稿" - next: "次の投稿" - -desktop/views/pages/selectdrive.vue: - title: "ファイルを選択してください" - ok: "決定" - cancel: "キャンセル" - upload: "PCからドライブにファイルをアップロード" - -desktop/views/pages/search.vue: - not-available: "検索機能はインスタンスの設定で無効になっています。" - not-found: "「{q}」に関する投稿は見つかりませんでした。" - -desktop/views/pages/tag.vue: - no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。" - -desktop/views/pages/user-list.users.vue: - users: "ユーザー" - add-user: "ユーザーを追加" - username: "ユーザー名" - -desktop/views/pages/user/user.followers-you-know.vue: - title: "知り合いのフォロワー" - loading: "読み込み中" - no-users: "知り合いのフォロワーはいません" - -desktop/views/pages/user/user.friends.vue: - title: "よく話すユーザー" - loading: "読み込み中" - no-users: "よく話すユーザーはいません" - -desktop/views/pages/user/user.photos.vue: - title: "フォト" - loading: "読み込み中" - no-photos: "写真はありません" - -desktop/views/pages/user/user.header.vue: - posts: "投稿" - following: "フォロー" - followers: "フォロワー" - is-bot: "このアカウントはBotです" - no-description: "自己紹介はありません" - years-old: "{age}歳" - year: "年" - month: "月" - day: "日" - follows-you: "フォローされています" - -desktop/views/pages/user/user.timeline.vue: - default: "投稿" - with-replies: "投稿と返信" - with-media: "メディア" - my-posts: "私の投稿" - -desktop/views/widgets/notifications.vue: - title: "通知" - -desktop/views/widgets/polls.vue: - title: "アンケート" - refresh: "他を見る" - nothing: "ありません!" - -desktop/views/widgets/post-form.vue: - title: "投稿" - note: "投稿" - something-happened: "何らかの事情で投稿できませんでした。" - -desktop/views/widgets/profile.vue: - update-banner: "クリックでバナー編集" - update-avatar: "クリックでアバター編集" - -desktop/views/widgets/trends.vue: - title: "トレンド" - refresh: "他を見る" - nothing: "ありません!" - -desktop/views/widgets/users.vue: - title: "おすすめユーザー" - refresh: "他を見る" - no-one: "いません!" - -mobile/views/components/drive.vue: - used: "使用中" - folder-count: "フォルダ" - count-separator: "、" - file-count: "ファイル" - nothing-in-drive: "ドライブには何もありません" - folder-is-empty: "このフォルダは空です" - folder-name: "フォルダー名" - here-is-root: "現在いる場所はルートで、フォルダではありません。" - url-prompt: "アップロードしたいファイルのURL" - uploading: "アップロードをリクエストしました。アップロードが完了するまで時間がかかる場合があります。" - folder-name-cannot-empty: "フォルダ名を空白にすることはできません。" - -mobile/views/components/drive-file-chooser.vue: - select-file: "ファイルを選択" - -mobile/views/components/drive-folder-chooser.vue: - select-folder: "フォルダーを選択" - -mobile/views/components/drive.file.vue: - nsfw: "閲覧注意" - -mobile/views/components/drive.file-detail.vue: - download: "ダウンロード" - rename: "名前を変更" - move: "移動" - hash: "ハッシュ (md5)" - exif: "EXIF" - nsfw: "閲覧注意" - mark-as-sensitive: "閲覧注意に設定" - unmark-as-sensitive: "閲覧注意を解除" - -mobile/views/components/media-video.vue: - sensitive: "閲覧注意" - click-to-show: "クリックして表示" - -common/views/components/follow-button.vue: - following: "フォロー中" - follow: "フォロー" - request-pending: "フォロー許可待ち" - follow-processing: "フォロー処理中" - follow-request: "フォロー申請" - -mobile/views/components/note.vue: - private: "この投稿は非公開です" - deleted: "この投稿は削除されました" - location: "位置情報" - -mobile/views/components/note-detail.vue: - reply: "返信" - reaction: "リアクション" - private: "この投稿は非公開です" - deleted: "この投稿は削除されました" - location: "位置情報" - -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "cat" - -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "cat" - -mobile/views/components/notifications.vue: - empty: "ありません!" - -mobile/views/components/sub-note-content.vue: - private: "この投稿は非公開です" - deleted: "この投稿は削除されました" - media-count: "{}つのメディア" - poll: "アンケート" - -mobile/views/components/ui.header.vue: - welcome-back: "おかえりなさい、" - adjective: "さん" - -mobile/views/components/ui.nav.vue: - timeline: "タイムライン" - notifications: "通知" - follow-requests: "フォロー申請" - search: "検索" - user-lists: "リスト" - user-groups: "グループ" - widgets: "ウィジェット" - game: "ゲーム" - admin: "管理" - about: "Misskeyについて" - -mobile/views/pages/drive.vue: - contextmenu: - upload: "ファイルをアップロード" - url-upload: "ファイルをURLでアップロード" - create-folder: "フォルダーを作成" - rename-folder: "フォルダー名を変更" - move-folder: "このフォルダを移動" - delete-folder: "このフォルダを削除" - -mobile/views/pages/signup.vue: - lets-start: "📦 始めましょう" - -mobile/views/pages/followers.vue: - followers-of: "{name}のフォロワー" - -mobile/views/pages/following.vue: - following-of: "{name}のフォロー" - -mobile/views/pages/home.vue: - home: "ホーム" - local: "ローカル" - hybrid: "ソーシャル" - global: "グローバル" - mentions: "あなた宛て" - messages: "ダイレクト投稿" - -mobile/views/pages/tag.vue: - no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。" - -mobile/views/pages/widgets.vue: - dashboard: "ダッシュボード" - widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。" - add-widget: "追加" - customization-tips: "カスタマイズのヒント" - -mobile/views/pages/widgets/activity.vue: - activity: "アクティビティ" - -mobile/views/pages/share.vue: - share-with: "{name}で共有" - -mobile/views/pages/note.vue: - title: "投稿" - prev: "前の投稿" - next: "次の投稿" - -mobile/views/pages/games/reversi.vue: - reversi: "リバーシ" - -mobile/views/pages/search.vue: - search: "検索" - not-found: "「{q}」に関する投稿は見つかりませんでした。" - -mobile/views/pages/selectdrive.vue: - select-file: "ファイルを選択" - -mobile/views/pages/notifications.vue: - notifications: "通知" - -mobile/views/pages/settings.vue: - signed-in-as: "{}としてサインイン中" - -mobile/views/pages/user.vue: - follows-you: "フォローされています" - following: "フォロー" - followers: "フォロワー" - notes: "投稿" - overview: "概要" - timeline: "タイムライン" - media: "メディア" - years-old: "{age}歳" - -mobile/views/pages/user/home.vue: - recent-notes: "最近の投稿" - images: "画像" - activity: "アクティビティ" - keywords: "キーワード" - domains: "頻出ドメイン" - frequently-replied-users: "よく話すユーザー" - followers-you-know: "知り合いのフォロワー" - last-used-at: "最終ログイン" - -mobile/views/pages/user/home.photos.vue: - no-photos: "写真はありません" - -deck: - widgets: "ウィジェット" - home: "ホーム" - local: "ローカル" - hybrid: "ソーシャル" - hashtag: "ハッシュタグ" - global: "グローバル" - mentions: "あなた宛て" - direct: "ダイレクト投稿" - notifications: "通知" - list: "リスト" - select-list: "リストを選択してください" - swap-left: "左に移動" - swap-right: "右に移動" - swap-up: "上に移動" - swap-down: "下に移動" - remove: "カラムを削除" - add-column: "カラムを追加" - rename: "名前を変更" - stack-left: "左に重ねる" - pop-right: "右に出す" - disabled-timeline: - title: "無効化されたタイムライン" - description: "サーバーの運営者により、このタイムラインは使用できない状態に設定されています。" - -deck/deck.tl-column.vue: - is-media-only: "メディア投稿のみ" - edit: "オプション" - -deck/deck.user-column.vue: - follows-you: "フォローされています" - posts: "投稿" - following: "フォロー" - followers: "フォロワー" - images: "画像" - activity: "アクティビティ" - timeline: "タイムライン" - pinned-notes: "ピン留めされた投稿" - pinned-page: "ピン留めされたページ" - -docs: - edit-this-page-on-github: "間違いや改善点を見つけましたか?" - edit-this-page-on-github-link: "このページをGitHubで編集" - -dev/views/index.vue: - manage-apps: "アプリの管理" - -dev/views/apps.vue: - manage-apps: "アプリを管理" - create-app: "アプリ作成" - app-missing: "アプリなし" - -dev/views/new-app.vue: - new-app: "新しいアプリケーション" - new-app-info: "アプリケーションはAPIからでも作成できます。 (app/create)" - create-app: "アプリケーションの作成" - app-name: "アプリケーション名" - app-name-placeholder: "ex) Misskey for iOS" - app-name-desc: "あなたのアプリの名称。" - app-overview: "アプリの概要" - app-overview-placeholder: " ex) Misskey iOSクライアント。" - app-overview-desc: "あなたのアプリの簡単な説明や紹介。" - callback-url: "コールバックURL (オプション)" - callback-url-placeholder: "ex) https://your.app.example.com/callback.php" - callback-url-desc: "ユーザーが認証フォームで認証した際にリダイレクトするURLを設定できます。" - authority: "権限" - authority-desc: "ここで要求した機能だけがAPIからアクセスできます。" - authority-warning: "アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。" - -pages: +_pages: new-page: "ページの作成" edit-page: "ページの編集" read-page: "ソースを表示中" @@ -2185,23 +645,23 @@ pages: _join: arg1: "リスト" arg2: "区切り" - add: "+ 足す" + add: "足す" _add: arg1: "A" arg2: "B" - subtract: "- 引く" + subtract: "引く" _subtract: arg1: "A" arg2: "B" - multiply: "× 掛ける" + multiply: "掛ける" _multiply: arg1: "A" arg2: "B" - divide: "÷ 割る" + divide: "割る" _divide: arg1: "A" arg2: "B" - mod: "÷ 割った余り" + mod: "割った余り" _mod: arg1: "A" arg2: "B" @@ -2323,65 +783,3 @@ pages: enviromentVariables: "環境変数" pageVariables: "ページ要素" argVariables: "入力スロット" - -room: - add-furniture: "家具を置く" - translate: "移動" - rotate: "回転" - exit: "戻る" - remove: "しまう" - save: "保存" - saved: "保存しました" - clear: "片付け" - clear-confirm: "全ての家具をしまいますか?" - leave-confirm: "未保存の変更があります、移動しますか?" - chooseImage: "画像を選択" - room-type: "部屋のタイプ" - carpet-color: "床の色" - rooms: - default: "デフォルト" - washitsu: "和室" - furnitures: - milk: "牛乳パック" - bed: "ベッド" - low-table: "ローテーブル" - desk: "デスク" - chair: "チェア" - chair2: "チェア2" - fan: "換気扇" - pc: "パソコン" - plant: "観葉植物" - plant2: "観葉植物2" - eraser: "消しゴム" - pencil: "鉛筆" - pudding: "プリン" - cardboard-box: "段ボール箱" - cardboard-box2: "段ボール箱2" - cardboard-box3: "段ボール箱3" - book: "本" - book2: "本2" - piano: "ピアノ" - facial-tissue: "ティッシュボックス" - server: "サーバー" - moon: "月" - corkboard: "コルクボード" - mousepad: "マウスパッド" - monitor: "モニター" - keyboard: "キーボード" - carpet-stripe: "カーペット(縞)" - mat: "マット" - color-box: "カラーボックス" - wall-clock: "壁掛け時計" - photoframe: "額縁" - cube: "キューブ" - tv: "テレビ" - pinguin: "ピンギン" - rubik-cube: "ルービックキューブ" - poster-h: "ポスター(横長)" - poster-v: "ポスター(縦長)" - sofa: "ソファ" - spiral: "螺旋階段" - bin: "ゴミ箱" - cup-noodle: "カップ麺" - holo-display: "ホログラフィックディスプレイ" - energy-drink: "エナジードリンク" diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml deleted file mode 100644 index c2a430e63..000000000 --- a/locales/ja-KS.yml +++ /dev/null @@ -1,1291 +0,0 @@ ---- -meta: - lang: "日本語 (関西弁)" -common: - misskey: "A ⭐ of fediverse" - about-title: "A ⭐ of fediverse." - about: "ようMisskeyを見つけてくれて、おおきにやで。Misskeyは、地球で生まれた分散マイクロブログSNSやねん。Fediverse(ぎょうさんのSNSで構成されとる宇宙)っちゅうもんの中におるから、お隣さんのSNSとも仲良うさせてもろてんねん。ちょいとやかましい心斎橋から離れて、新しいインターネットにダイブしてみぃひん?" - intro: - title: "Misskeyってなんやねん" - about: "Misskeyってのはな、オープンソースの分散型マイクロブログSNSのことや。ごっついええ感じにできるUIやったり、投稿へのリアクションやったり、ファイルをまとめとけるドライブやったり、いろんな機能が目白押しや。Fediverseに対応しとるから、よそのSNSともノリツッコミできるんやで。タイガースが東京ドームに野球しに行くようなもんや。" - features: "ええとこ" - rich-contents: "投稿" - rich-contents-desc: "思っとること、タイガースの実況、他に言いたいことがあればなんでも言ってええで。いろんな構文あるから、好きにつこうてくれや。画像や動画、アンケートも添付できるで。" - reaction: "リアクション" - reaction-desc: "「何思っとるか言うてみ?」言われても、わからんわ!リアクション使うて、エモーションをダイレクトに伝えるんや!Misskeyはな、他のユーザーの投稿にいろんなリアクション付けられるんや。もう「いいね」とかいうもんだけのSNSには戻れへんわな。551の豚まん食うてみ?もう他の豚まん食えへんで?" - ui: "インターフェイス" - ui-desc: "このUIええ言うてたで、知らんけど。あんたの好みのUIなんて知ったこっちゃない。Misskeyは好きにいじれるからな、レイアウトやデザイン変えたり、色んなウィジェットひっつけたりして、あんただけのMisskey作って楽しんでな!" - drive: "ドライブ" - drive-desc: "「こないだの画像、どこやったかな……また投稿したいんやけど……」「さっきのファイルあのフォルダに直しといて」そんなこと言わんとって。Misskeyはもとからドライブ機能持っとるさかい、心配あらへん。ファイルの「わけわけ」したってな。" - outro: "Misskeyの機能は無限大や!知らんけど。知らん言うとるやんけ、あんたが見に行けや!Misskeyは分散型SNSやから、ここがあかんくても他がある。阪神でもオリックスでもワイは応援するで!" - application-authorization: "アプリの連携" - close: "さいなら" - do-not-copy-paste: "ここにコードを入力したり張り付けたりせんといてください。アカウントが不正利用されるかも分からん。知らんけど。" - load-more: "もっとあらへんのか!" - enter-password: "パスワードを入れてや" - 2fa: "二段階認証" - delete-confirm: "この投稿を削除してもええか?" - notification-types: - all: "すべて" - follow: "フォロー" - reply: "返す" - renote: "Renote" - reaction: "リアクション" - got-it: "ほい" - customization-tips: - title: "カスタマイズのヒント" - paragraph: "

ホームのカスタマイズは、ウィジェットを増やしたりほかしたり、ドラッグ&ドロップして並び替えたりしていじれるで。

一部ウィジェットはクリックで表示もいじれるんや。

ほかしたいときはヘッダーの「ゴミ箱」にほうりこんでら。

「完了」押したらお終いやで。

" - gotit: "Got it!" - notification: - file-uploaded: "ファイルがアップロードされたで" - message-from: "{}はんからメッセージ:" - reversi-invited: "対局への招待がきとるで" - reversi-invited-by: "{}はんから" - notified-by: "{}はんから" - reply-from: "{}はんから返信:" - quoted-by: "{}はんが引用:" - time: - unknown: "なぞのじかん" - future: "未来" - just_now: "たった今" - seconds_ago: "{}秒前" - minutes_ago: "{}分前" - hours_ago: "{}時間前" - days_ago: "{}日前" - weeks_ago: "{}週間前" - months_ago: "{}ヶ月前" - years_ago: "{}年前" - month-and-day: "{month}月 {day}日" - trash: "ゴミ箱" - drive: "ドライブ" - messaging: "トーク" - home: "ホーム" - timeline: "タイムライン" - following: "フォローしとる" - followers: "フォロワー" - favorites: "お気に入り" - permissions: - "write:votes": "投票するで" - post-form: - submit: "投稿" - reply: "返す" - renote: "Renote" - error: "エラー" - enter-username: "ユーザー名を入力してや" - add-visible-user: "ユーザー増やす" - username-prompt: "ユーザー名を入力してや" - weekday-short: - sunday: "日" - monday: "月" - tuesday: "火" - wednesday: "水" - thursday: "木" - friday: "金" - saturday: "土" - weekday: - sunday: "日曜日" - monday: "月曜日" - tuesday: "火曜日" - wednesday: "水曜日" - thursday: "木曜日" - friday: "金曜日" - saturday: "土曜日" - reactions: - like: "ええやん" - love: "好きやねん" - laugh: "わろた" - hmm: "ふぅ~む" - surprise: "わお" - congrats: "おめでとうさん" - angry: "何言うてまんねん" - confused: "こまこまのこまりやわぁ" - rip: "RIP" - pudding: "アメちゃんちゃうんちゃう?" - note-visibility: - public: "公開" - home: "ホーム" - home-desc: "ホームタイムライン以外に見せんとって" - followers: "フォロワー" - followers-desc: "自分のフォロワー以外に見せんとって" - specified: "ダイレクト" - specified-desc: "今から言うユーザー以外に見せんとってや" - local-public: "公開 (ローカルだけ)" - local-home: "ホーム (ローカルだけ)" - local-followers: "フォロワー (ローカルだけ)" - note-placeholders: - a: "今なにしてん?" - b: "何かあったんか?" - c: "何考えとりますん?" - d: "言うときたいことは?" - e: "ここに書いてや" - f: "あんさんが書くんを待っちょります..." - _settings: - profile: "プロフィール" - notification: "通知" - tags: "ハッシュタグ" - blocking: "ブロック" - password: "パスワード" - other: "その他" - reactions: "リアクション" - timeline: "タイムライン" - save: "保存" - saved: "保存したで!" - preview: "試してみる" - search: "検索" - delete: "削除" - loading: "読み込み中" - update-available-title: "更新があんで" - update-available: "Misskeyの新しいバージョンがあんで({newer}。現在{current}をつこてるわ)。ページを再度読み込みしたると更新が適用されるわ。" - my-token-regenerated: "あんさんのトークンが更新されたらしいわ。すまんがとりあえずサインアウトすんで。" - enter-username: "ユーザー名を入力してや" - do-not-use-in-production: "開発ビルドや。本番環境で使わんといて!知らんで!" - is-remote-post: "この投稿情報はコピーです。" - view-on-remote: "ちゃんとした情報見せてや!" - renoted-by: "{user}がRenote" - error: - title: "問題が起こったわ" - retry: "もっぺん" - reversi: - drawn: "おあいこ" - my-turn: "あんさんのターンや" - opponent-turn: "相手のターンや" - turn-of: "{name}のターンや" - past-turn-of: "{name}のターン" - won: "{name}の勝ちやで!" - black: "黒" - white: "白" - total: "合計" - this-turn: "{count}ターン目" - widgets: - analog-clock: "アナログ時計" - profile: "プロフィール" - calendar: "カレンダー" - timemachine: "カレンダー(タイムマシン)" - activity: "アクティビティ" - rss: "RSSリーダー" - memo: "付箋" - trends: "トレンド" - photo-stream: "フォトストリーム" - posts-monitor: "投稿チャート" - slideshow: "スライドショー" - version: "バージョン" - broadcast: "ブロードキャスト" - notifications: "通知" - users: "おすすめユーザー" - polls: "アンケート" - post-form: "投稿フォーム" - server: "サーバー情報" - nav: "ナビゲーション" - tips: "ヒント" - hashtags: "ハッシュタグ" - dev: "アプリの作成あかんかったわ。もっぺんやってみて。" - ai-chan-kawaii: "藍ちゃめっさべっぴんさんや" - you: "あんさん" -auth/views/form.vue: - share-access: "あんたのアカウントに{name}がアクセスしようとしてるで?ええか?" - permission-ask: "このアプリは次の権限を要求してんで:" - cancel: "やめとくわ" - accept: "アクセスを許可や!" -auth/views/index.vue: - loading: "読み込み中" - denied: "アプリケーションの連携をやめといたわ。" - denied-paragraph: "このアプリがあんさんのアカウントにアクセスすることは多分あらへん。知らんけど。" - already-authorized: "このアプリはもう連携済みやったわ" - allowed: "アプリケーションの連携を許可したで" - callback-url: "アプリケーションに戻っとります" - please-go-back: "アプリケーションに戻って、気張ってってな。" - error: "セッションが存在してへん。" - sign-in: "サインインしてや" -common/views/pages/explore.vue: - federated: "連合" -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "{}を待っとります" - cancel: "やめとくわ" -common/views/components/games/reversi/reversi.game.vue: - surrender: "投了や..." - surrendered: "投了により" - is-llotheo: "石の少ない方が勝ち(ロセオ)" - looped-map: "ループマップ" - can-put-everywhere: "どこに置いてもええモード" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "お隣のミスキストはんらとリバーシで対戦や!" - invite: "招待" - rule: "遊び方" - rule-desc: "リバーシは、相手と交互に石をボードに置いて、相手の石を挟んで自分の色に変えてって、最終的に残った石が多い方が勝ちっちゅうボードゲームや。" - mode-invite: "招待" - mode-invite-desc: "指定したユーザーと対戦するモードや。" - invitations: "対局の招待がきてんで!" - my-games: "自分の対局" - all-games: "みんなの対局" - enter-username: "ユーザー名を入力してや" - game-state: - ended: "終了" - playing: "進行中" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "ゲームの設定" - choose-map: "マップを選択" - random: "いんじゃんほい" - black-or-white: "先手/後手" - black-is: "{}が黒や" - rules: "ルール" - is-llotheo: "石の少ない方が勝ちや!(ロセオ)" - looped-map: "ループマップ" - can-put-everywhere: "どこに置いてもええモード" - settings-of-the-bot: "Botの設定" - this-game-is-started-soon: "ゲームは数秒後に開始されんで" - waiting-for-other: "相手の準備が完了すんのを待ってんで" - waiting-for-me: "あんさんの準備が完了すんのを待ってんで" - waiting-for-both: "準備中" - cancel: "やめとくわ" - ready: "準備完了" - cancel-ready: "準備続行" -common/views/components/connect-failed.vue: - title: "サーバーに接続でけへんわ" - description: "インターネット回線に問題が起きとるか、サーバーがダウンまたはメンテナンスしとるっぽいわ。知らんけど。とりあえずあとで{再試行}してや。" - thanks: "いつもMisskeyをつこてくれてほんまありがとな。" - troubleshoot: "トラブルシュート" -common/views/components/connect-failed.troubleshooter.vue: - title: "トラブルシューティング" - network: "ネットワーク接続" - checking-network: "ネットワーク接続を確認中" - internet: "インターネット接続" - checking-internet: "インターネット接続を確認中" - server: "サーバー接続" - checking-server: "サーバー接続を確認中" - finding: "問題を調べとるで" - no-network: "ネットワークに接続されとらんで" - no-network-desc: "つこてるPCのネットワーク接続が正常か確認してや。" - no-internet: "インターネットに接続されとらんで" - no-internet-desc: "ネットワークには接続されとるけど、インターネットには接続されとらんようやわ。つこてるPCのインターネット接続が正常か確認してや。" - no-server: "Misskeyのサーバーに接続でけへんわ" - no-server-desc: "つこてるPCのインターネット接続は正常やけど、Misskeyのサーバーにはつながらんわ。多分サーバーがダウンまたはメンテナンスしとるわ、知らんけど。すまんけどしばらくしてから再度アクセスしてみてや。" - success: "Misskeyのサーバーに接続できたわ" - success-desc: "正常に接続できるようやわ。ページを再度読み込みしてな。" - flush: "キャッシュの削除" - set-version: "バージョン指定" -common/views/components/media-banner.vue: - sensitive: "見せたらあかん" - click-to-show: "押してみ、見せたるわ" -common/views/components/theme.vue: - light-theme: "ナイトゲームちゃう時のテーマどないする?" - dark-theme: "ナイトゲームの時のテーマどないする?" - light-themes: "デイゲーム" - dark-themes: "ナイトゲーム" - install-a-theme: "テーマ入れるで" - theme-code: "テーマコード" - install: "インストール" - installed: "「{}」を入れたで!" - create-a-theme: "テーマ作る" - save-created-theme: "テーマ保存" - primary-color: "この色一番重要や" - secondary-color: "次はこの色出したって" - text-color: "文字はこの色や!" - base-theme: "この色が背景や!" - base-theme-light: "Light" - base-theme-dark: "Dark" - theme-name: "テーマ名" - preview-created-theme: "試してみる" - invalid-theme: "このテーマあかんわ、なんか間違うとる" - already-installed: "このテーマもうあるで" - saved: "保存したで!" - manage-themes: "テーマの管理" - builtin-themes: "いつものテーマ" - my-themes: "ワイのテーマ" - installed-themes: "入れたテーマ" - select-theme: "テーマ選んでや!" - uninstall: "ほかす" - uninstalled: "「{}」をほかしてもうたわ" - author: "作った人" - desc: "説明" - export: "エクスポート" - import: "インポート" - import-by-code: "それかコードを貼っつける" - theme-name-required: "テーマ名は絶対要るで" -common/views/components/cw-button.vue: - hide: "もうええわ" - show: "見たいやろ?" - poll: "アンケート" -common/views/components/messaging.vue: - search-user: "ユーザーを探す" - you: "あんさん" - no-history: "履歴はあらへんで" - user: "ユーザー" -common/views/components/messaging-room.vue: - no-history: "これより過去の履歴はあらへんで" - new-message: "新しいメッセージがあるで" -common/views/components/messaging-room.form.vue: - input-message-here: "ここにメッセージ書いてや" - send: "送信" - attach-from-local: "PCからファイルを添付する" - attach-from-drive: "ドライブからファイルを添付する" -common/views/components/messaging-room.message.vue: - is-read: "既読" - deleted: "このメッセージは削除されたわ" -common/views/components/nav.vue: - about: "Misskeyについて" - stats: "統計" - status: "ステータス" - wiki: "Wiki" - donors: "支援者" - repository: "リポジトリ" - develop: "開発者" - feedback: "フィードバック" -common/views/components/note-menu.vue: - detail: "もっと" - copy-link: "リンクをコピー" - favorite: "お気に入り" - unfavorite: "お気に入りやめる" - pin: "ピン留め" - unpin: "ピン留めやめる" - delete: "ほかす" - delete-confirm: "この投稿を削除してもええか?" - remote: "投稿元に行ってみよか" -common/views/components/user-menu.vue: - mute: "ミュート" - block: "ブロック" - suspend: "凍結" -common/views/components/poll.vue: - vote-to: "「{}」に投票や!" - vote-count: "{}票" - vote: "投票するで" - show-result: "結果を見よか" - voted: "投票済みや" -common/views/components/poll-editor.vue: - no-only-one-choice: "選択肢が最低2つ必要やで" - choice-n: "選択肢{}" - remove: "この選択肢を消すで" - add: "+選択肢を追加" - destroy: "アンケートをほかそ" - day: "日" -common/views/components/reaction-picker.vue: - choose-reaction: "リアクション、どれにするんや?" -common/views/components/emoji-picker.vue: - custom-emoji: "カスタム絵文字" - people: "人" - animals-and-nature: "動物&自然" - food-and-drink: "食いもん&飲みもん" - activity: "アクティビティ" - travel-and-places: "場所" - objects: "物" - symbols: "記号" - flags: "旗" -common/views/components/settings/app-type.vue: - info: "ページもっぺん読み込んだら反映したるで。" -common/views/components/signin.vue: - username: "ユーザー名" - password: "パスワード" - token: "トークン" - signing-in: "サインイン中や..." - or: "それか" - signin-with-twitter: "Twitterでサインイン" - signin-with-github: "GitHubでログイン" - signin-with-discord: "Discordでログイン" - login-failed: "なんかログインできんかったわ。ユーザー名とパスワードとかを確認してや。" -common/views/components/signup.vue: - invitation-code: "招待コード" - invitation-info: "招待コードをもっとらんのやったら、管理者まで連絡してや。" - username: "ユーザー名" - checking: "確認中や……" - available: "使えるで" - unavailable: "もう使われとるで" - error: "通信あかんわ" - invalid-format: "a~z、A~Z、0~9、_が使えるで" - too-short: "1文字以上やで!" - too-long: "20文字以内やで" - password: "パスワード" - password-placeholder: "8文字以上にしときや" - weak-password: "へぼいパスワード" - normal-password: "ぼちぼちなパスワード" - strong-password: "良さげなパスワード" - retype: "もっかい入力頼むで" - retype-placeholder: "確認のためもっぺん入力してや" - password-matched: "一致しとるで" - password-not-matched: "一致しとらんで" - recaptcha: "認証" - create: "アカウント作成" - some-error: "何かよう分からんけど、アカウントの作成に失敗してしもたわ。すまんがもっぺん試してくれへんか?" -common/views/components/special-message.vue: - new-year: "おおきに。今年もよろしゅう。" - christmas: "メリークリスマス!" -common/views/components/stream-indicator.vue: - connecting: "つないどるで" - reconnecting: "つなぎ直すで" - connected: "つないだわ" -common/views/components/notification-settings.vue: - title: "通知" -common/views/components/integration-settings.vue: - title: "サービス連携" - connect: "つなげる" - disconnect: "接続をほかす" - connected-to: "このアカウントと繋がっとるで" -common/views/components/github-setting.vue: - description: "あんたがつことるTwitterアカウントをMisskeyアカウントに接続しとくと、あんさんのプロフィールにTwitterアカウント情報が表示されるようになったり、Twitterを使うた便利なサインインが使えるようになったりすんで。" - connected-to: "次のGitHubアカウントに接続されとるで" - detail: "くわしく..." - reconnect: "つなぎ直す" - connect: "GitHubと接続する" - disconnect: "接続をほかす" -common/views/components/discord-setting.vue: - description: "あんたがつことるDiscordアカウントをMisskeyアカウントに接続しとくと、あんさんのプロフィールにDiscordアカウント情報が表示されるようになったり、Discordを使うた便利なサインインが使えるようになったりすんで。" - connected-to: "次のDiscordアカウントに接続されとるで" - detail: "くわしく..." - reconnect: "つなぎ直す" - connect: "Discordと接続する" - disconnect: "接続をほかす" -common/views/components/uploader.vue: - waiting: "待っとる" -common/views/components/visibility-chooser.vue: - public: "公開" - home: "ホーム" - home-desc: "ホームタイムライン以外に見せんとって" - followers: "フォロワー" - followers-desc: "自分のフォロワー以外に見せんとって" - specified: "ダイレクト" - specified-desc: "今から言うユーザー以外に見せんとってや" - local-public: "公開 (ローカルだけ)" - local-public-desc: "リモートには見せへん" - local-home: "ホーム (ローカルだけ)" - local-followers: "フォロワー (ローカルだけ)" -common/views/components/trends.vue: - count: "{}人が投稿" - empty: "流行は自分で作るんや" -common/views/components/language-settings.vue: - title: "表示言語" - pick-language: "言語選んでや" - recommended: "これええで" - auto: "勝手にやる" - specify-language: "言語選びや" - info: "ページもっぺん読み込んだら反映したるで。" -common/views/components/profile-editor.vue: - title: "プロフィール" - name: "名前" - account: "アカウント" - location: "場所" - description: "自己紹介" - language: "言語" - birthday: "誕生日" - avatar: "アバター" - banner: "バナー" - is-cat: "このアカウントはCatやで" - is-bot: "このアカウントはBotやで" - is-locked: "他人のフォローは許可してからや!" - careful-bot: "Botからのフォローだけは許可制や" - advanced: "その他" - privacy: "プライバシーってなんや?オカンの年齢か?" - save: "保存" - saved: "プロフィールを保存したで" - uploading: "アップロードしとります" - upload-failed: "これアップロードでけへんわ" - unable-to-process: "あかん、無理やわ" - email: "メール設定" - email-address: "メールアドレス" - email-verified: "このメールアドレスOKや!" - email-not-verified: "メールアドレスが確認されとらん。メールボックスもっぺん見てくれへん?" - export: "エクスポート" - import: "インポート" - export-targets: - following-list: "フォロー" - mute-list: "ミュート" - blocking-list: "ブロック" - user-lists: "リスト" - enter-password: "パスワードを入れてや" -common/views/components/user-list-editor.vue: - users: "ユーザー" - add-user: "ユーザー増やす" -common/views/components/user-group-editor.vue: - invite: "招待" -common/views/components/user-lists.vue: - user-lists: "リスト" - list-name: "リスト名" -common/views/components/user-groups.vue: - invites: "招待" -common/views/widgets/broadcast.vue: - fetching: "見てみるわ…" - no-broadcasts: "お知らせはあらへんで" - have-a-nice-day: "おおきに!" - next: "次" -common/views/widgets/calendar.vue: - year: "{}年" - month: "{}月" - day: "{}日" - today: "今日:" - this-month: "今月:" - this-year: "今年:" -common/views/widgets/photo-stream.vue: - title: "フォトストリーム" - no-photos: "写真はあらへんで" -common/views/widgets/posts-monitor.vue: - title: "投稿チャート" - toggle: "表示を切り替え" -common/views/widgets/hashtags.vue: - title: "ハッシュタグ" -common/views/widgets/server.vue: - title: "サーバー情報" - toggle: "表示を切り替え" -common/views/widgets/memo.vue: - title: "付箋" - memo: "書くんや!" - save: "保存" -common/views/widgets/slideshow.vue: - folder-customize-mode: "フォルダを指定するんやったら、一旦カスタマイズモードを終了してや" - folder: "クリックしてフォルダ決めてや" - no-image: "このフォルダには画像無いわ" -common/views/widgets/tips.vue: - tips-line1: "tでタイムラインにフォーカスできんで" - tips-line2: "pまたはnで投稿フォームを開くで" - tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできんで" - tips-line4: "投稿フォームにクリップボードにおる画像データをペーストできんで" - tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできんで" - tips-line6: "ドライブやと、ファイルをドラッグしてフォルダ移動できんで" - tips-line7: "ドライブやと、フォルダをドラッグしてフォルダ移動できんで" - tips-line8: "ホームは設定からカスタマイズできんで" - tips-line9: "MisskeyはAGPLv3やで" - tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れんで" - tips-line11: "投稿の ... をクリックして、ピン留めから投稿をユーザーページにピン留めできんで" - tips-line13: "投稿に添付したファイルは全てドライブに保存されんで" - tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できんで" - tips-line17: "「**」でテキストを囲ったると**強調表示**されんで" - tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができんで" - tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示してんねん" - tips-line21: "APIをつこてbotの開発なども行えるで" - tips-line24: "Misskeyは2014年にサービスを開始したんよ" - tips-line25: "対応ブラウザやったらMisskeyを開いとらんでも通知を受け取れんで" -common/views/pages/follow.vue: - signed-in-as: "{}としてサインイン中" - following: "フォローしとる" - follow: "フォロー" - request-pending: "フォローの許し待っとる" - follow-processing: "今フォロー処理やっとる‥" - follow-request: "フォロー許してくれや!言うてみる" -common/views/pages/follow-requests.vue: - received-follow-requests: "フォロー許してくれや!言うてみる" -desktop: - banner-crop-title: "どこバナーとして出す?" - banner: "バナー" - uploading-banner: "新しいバナーをアップロードしとるで" - banner-updated: "バナーを更新したで" - choose-banner: "バナーにする画像選んでや" - avatar-crop-title: "どこアバターとして出しとく?" - avatar: "アバター" - uploading-avatar: "新しいアバターをアップロードしとるで" - avatar-updated: "アバターを更新したで" - choose-avatar: "アバターにする画像選んでや" - unable-to-process: "あかん、無理やわ" - invalid-filetype: "この形式のファイル無理やねん" -desktop/views/components/activity.chart.vue: - total: "黒いの ... 全部" - notes: "青いの ... 投稿" - replies: "赤いの ... 返信" - renotes: "碧いの ... Renotes" -desktop/views/components/activity.vue: - title: "アクティビティ" - toggle: "表示変える" -desktop/views/components/calendar.vue: - title: "{year}年 {month} 月" - prev: "前の月" - next: "次の月" - go: "クリックしてタイムリープ" -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "{count}ファイル選択中" - upload: "PCからドライブにファイル上げる" - cancel: "やめとくわ" - ok: "そうする" - choose-prompt: "ファイル選んでや" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "やめとくわ" - ok: "そうする" - choose-prompt: "フォルダ選んでや" -desktop/views/components/crop-window.vue: - skip: "クロップせーへんわ" - cancel: "やめとくわ" - ok: "そうする" -desktop/views/components/drive-window.vue: - used: "使うとる" -desktop/views/components/drive.file.vue: - avatar: "アバター" - banner: "バナー" - nsfw: "見たらあかんで" - contextmenu: - rename: "名前を変えるで" - mark-as-sensitive: "見たらあかん感じにしとく" - unmark-as-sensitive: "やっぱ見せたるわ" - copy-url: "URLをコピー" - download: "ダウンロード" - else-files: "その他" - set-as-avatar: "アバターにする" - set-as-banner: "バナーにする" - open-in-app: "アプリで開く" - add-app: "アプリ増やす" - rename-file: "ファイル名をいらう(変える)" - input-new-file-name: "新しいファイル名を入力してや" - copied: "コピー完了や" - copied-url-to-clipboard: "URLをクリップボードに写したわ" -desktop/views/components/drive.folder.vue: - unable-to-process: "あかん、無理やわ" - circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーや。" - unhandled-error: "ようわからん" - contextmenu: - move-to-this-folder: "ここに持ってくるわ" - show-in-new-window: "新しいウィンドウで出す" - rename: "名前を変えるで" - rename-folder: "フォルダ名を変えるで" - input-new-folder-name: "新しいフォルダ名を入力してや" - else-folders: "その他" -desktop/views/components/drive.vue: - search: "検索" - empty-draghover: "ドロップするにゃ!お魚以外なら何でもいいにゃ!" - empty-drive: "ドライブには何もあらへんで。" - empty-drive-description: "右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできんねん。" - empty-folder: "このフォルダーは空や" - unable-to-process: "あかん、無理やわ" - circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーや。" - unhandled-error: "ようわからん" - url-upload: "URLアップロード" - url-of-file: "このURLのファイルをアップロードしたいねん" - url-upload-requested: "アップロードしたい言うといたで" - may-take-time: "アップロード終わるんにちょい時間かかるかもしれへんわ。" - create-folder: "フォルダー作成" - folder-name: "フォルダー名" - contextmenu: - create-folder: "フォルダー作る" - upload: "ファイル上げる" - url-upload: "URLつこうて上げる" -desktop/views/components/media-video.vue: - sensitive: "ちょっと見せられへんわ" - click-to-show: "クリックして見せるで" -desktop/views/components/followers-window.vue: - followers: "{} のフォロワー" -desktop/views/components/followers.vue: - empty: "フォロワーはおらんっぽいで、知らんけど。" -desktop/views/components/following-window.vue: - following: "{} のフォロー" -desktop/views/components/following.vue: - empty: "フォロー中のユーザーはおらんっぽいで、知らんけど。" -desktop/views/components/game-window.vue: - game: "ゲーム" -desktop/views/components/home.vue: - done: "完了" - add-widget: "ウィジェット増やす" - add: "増やす" -desktop/views/input-dialog.vue: - cancel: "やめとくわ" - ok: "これや!" -desktop/views/components/note-detail.vue: - private: "この投稿は見せられへんわ" - deleted: "この投稿なんか無くなってもうたわ" - location: "ここおるで:" - renote: "Renote" - add-reaction: "リアクション" -desktop/views/components/note.vue: - reply: "返す" - renote: "Renote" - add-reaction: "リアクション" - detail: "もっと" - private: "この投稿は見せられへんわ" - deleted: "この投稿なんか無くなってもうたわ" -desktop/views/components/notes.vue: - error: "あかん、読み込めへんわ" - retry: "もっぺん" -desktop/views/components/notifications.vue: - empty: "あらへん!" -desktop/views/components/post-form.vue: - posted: "投稿したで!" - replied: "返信したで!" - reposted: "Renoteしたで!" - note-failed: "投稿に失敗したで" - reply-failed: "返信に失敗したで" - renote-failed: "Renoteでけへん" -desktop/views/components/post-form-window.vue: - note: "新規投稿" - reply: "返す" - attaches: "添付: {}メディア" - uploading-media: "{}個のメディアを上げとんねん……" -desktop/views/components/progress-dialog.vue: - waiting: "待っとる" -desktop/views/components/renote-form.vue: - quote: "取ってくる……" - cancel: "やめとくわ" - renote: "Renote" - renote-home: "Renote (Home)" - reposting: "やっとります..." - success: "Renoteしたで!" - failure: "Renoteでけへん" -desktop/views/components/renote-form-window.vue: - title: "この投稿をRenoteしてもええか?" -desktop/views/pages/user-following-or-followers.vue: - following: "{user}のフォロー" - followers: "{user}のフォロワー" -desktop/views/components/settings.2fa.vue: - intro: "二段階認証を設定すると、サインイン時にパスワードだけとちゃうくて、予め登録しておいた物理的なデバイス(例えばあんさんのスマートフォンなど)も必要になり、よりセキュリティが向上すんで。" - detail: "詳細..." - url: "https://www.google.co.jp/intl/ja/landing/2step/" - caution: "登録したデバイスを紛失してもうたら、もうMisskeyにサインインできんくなるで。" - register: "デバイス登録する" - already-registered: "もう設定終わっとるわ" - unregister: "設定をほかす" - unregistered: "二段階認証もうせーへんで" - enter-password: "パスワードを入れてや" - authenticator: "まず、Google Authenticatorとかのをつこてるデバイスにインストールしてや:" - howtoinstall: "インストール方法はここやで" - token: "トークン" - scan: "んで、ここに出とるQRコードをスキャンしてな:" - done: "最後にデバイスに表示されとるトークンを入力してな:" - submit: "送信" - success: "設定が完了したで!" - failed: "なんか設定に失敗したで。トークンを間違えとらんか確認してや。" - info: "次のサインインからは、パスワードに加えてデバイスに出とるトークンを入力してな。" -common/views/components/media-image.vue: - sensitive: "ちょっと見せられへんわ" - click-to-show: "クリックして見せるで" -common/views/components/api-settings.vue: - intro: "API使うんやったらこのトークンを「i」っちゅうパラメータにくっつけてリクエストできるで。" - caution: "アカウント勝手にいじられるかも知れんから、このトークンは教えたらあかんし、アプリにも書いたらあかんで(これはフリちゃうで)" - regeneration-of-token: "トークン漏れてもうたんやったらもっかい生成できるで。" - regenerate-token: "トークンもっかい生成" - token: "Token:" - enter-password: "パスワードを入れてや" - console: - title: "APIコンソール" - endpoint: "エンドポイント" - parameter: "パラメータ" - credential-info: "「i」パラメータは勝手に付くで。" - send: "送る" - sending: "応答待っとる" - response: "こんなん返ってきたわ" -desktop/views/components/settings.apps.vue: - no-apps: "連携しているアプリケーションはあらへんで" -common/views/components/drive-settings.vue: - max: "容量" - in-use: "使うとる" - stats: "統計" - default-upload-folder-name: "フォルダ" -common/views/components/mute-and-block.vue: - mute-and-block: "ミュートとブロック" - mute: "ミュート" - block: "ブロック" - no-muted-users: "ミュートしとるユーザーはおらんで" - no-blocked-users: "ブロックしとるユーザーはおらんで" - word-mute: "ワードミュート" - muted-words: "ミュートしとるキーワード" - muted-words-description: "スペースで区切るとAND指定で、改行で区切るとOR指定や" - save: "保存" -common/views/components/password-settings.vue: - reset: "パスワード変える" - enter-current-password: "今のパスワードを入れてや" - enter-new-password: "こんどのパスワード入れてや" - enter-new-password-again: "もっぺん入れてや" - not-match: "パスワードがおうとらん" - changed: "パスワード変えたわ" -common/views/components/post-form-attaches.vue: - mark-as-sensitive: "見たらあかん感じにしとく" - unmark-as-sensitive: "やっぱ見せたるわ" -desktop/views/components/sub-note-content.vue: - private: "この投稿は見せられへんわ" - deleted: "この投稿なんか無くなってもうたわ" - media-count: "{}つのメディア" - poll: "アンケート" -desktop/views/components/settings.tags.vue: - add: "増やす" - save: "保存" -desktop/views/components/timeline.vue: - home: "ホーム" - local: "ローカル" - global: "グローバル" - mentions: "あんた宛て" - messages: "ダイレクト投稿" - list: "リスト" - hashtag: "ハッシュタグ" - add-tag-timeline: "ハッシュタグ増やす" - add-list: "リストに入れる" - list-name: "リスト名" -desktop/views/components/ui.header.vue: - welcome-back: "おかえり、" - adjective: "はん" -desktop/views/components/ui.header.account.vue: - profile: "プロフィール" - lists: "リスト" - follow-requests: "フォロー許してくれや!言うてみる" - admin: "管理" -desktop/views/components/ui.header.nav.vue: - game: "ゲーム" -desktop/views/components/ui.header.notifications.vue: - title: "通知" -desktop/views/components/ui.header.post.vue: - post: "新規投稿" -desktop/views/components/ui.header.search.vue: - placeholder: "検索" -desktop/views/components/user-preview.vue: - notes: "投稿" - following: "フォロー" - followers: "フォロワー" -desktop/views/components/users-list.vue: - all: "すべて" - iknow: "知っとる" - fetching: "読み込んどります" -desktop/views/components/users-list-item.vue: - followed: "フォローされとるで" -desktop/views/components/window.vue: - popout: "ポップアウト" - close: "さいなら" -admin/views/index.vue: - dashboard: "ダッシュボード" - instance: "インスタンス" - emoji: "カスタム絵文字" - moderators: "モデレーター" - users: "ユーザー" - federation: "連合" - announcements: "知っといてや" - back-to-misskey: "Misskeyに戻る" -admin/views/dashboard.vue: - dashboard: "ダッシュボード" - accounts: "アカウント" - notes: "投稿" - drive: "ドライブ" - instances: "インスタンス" - this-instance: "ワイのインスタンス" - federated: "連合" -admin/views/logs.vue: - levels: - info: "情報" - error: "エラー" -admin/views/abuse.vue: - details: "もっと" - remove-report: "削除" -admin/views/instance.vue: - instance: "インスタンス" - instance-name: "インスタンス名" - instance-description: "インスタンスの紹介" - host: "ホスト" - banner-url: "バナー画像URL" - languages: "インスタンスの対象言語" - languages-desc: "スペースで区切って複数設定できるで。" - maintainer-config: "管理者情報" - maintainer-name: "管理者名" - maintainer-email: "管理者の連絡先" - drive-config: "ドライブの設定" - object-storage-endpoint: "エンドポイント" - cache-remote-files: "リモートのファイルをキャッシュする" - local-drive-capacity-mb: "ローカルユーザーひとりあたりのドライブ容量" - remote-drive-capacity-mb: "リモートユーザーひとりあたりのドライブ容量" - mb: "メガバイト単位" - recaptcha-config: "reCAPTCHAの設定" - recaptcha-info: "reCAPTCHAを有効にするにはreCAPTCHAトークンが要るで。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してな。" - enable-recaptcha: "reCAPTCHAを有効にする" - recaptcha-preview: "試してみる" - twitter-integration-config: "Twitter連携の設定" - twitter-integration-info: "コールバックURLは {url} に設定してや。" - enable-twitter-integration: "Twitter連携を有効にする" - twitter-integration-consumer-key: "Consumer key" - twitter-integration-consumer-secret: "Consumer secret" - github-integration-config: "GitHub連携の設定" - github-integration-info: "コールバックURLは {url} に設定してや。" - enable-github-integration: "GitHub連携を使えるようにする" - github-integration-client-id: "Client ID" - github-integration-client-secret: "Client Secret" - discord-integration-config: "Discord連携の設定" - discord-integration-info: "コールバックURLは {url} に設定してや。" - enable-discord-integration: "Discord連携を有効にする" - discord-integration-client-id: "Client ID" - discord-integration-client-secret: "Client Secret" - proxy-account-config: "プロキシアカウントの設定" - proxy-account-info: "プロキシアカウントは、代わりにフォローしてくれるアカウントや。例えば、551に豚まんが無いときやったり、ユーザーがリモートユーザーをアカウントに入れたとき、リストに入れられたユーザーが誰からもフォローされてないと寂しいやん。寂しいし、アクティビティも配達されへんから、プロキシアカウントがフォローしてくれるで。ええやつやん…" - proxy-account-username: "プロキシアカウントのユーザー名" - proxy-account-username-desc: "プロキシとして使用するアカウントのユーザー名を指定してや" - proxy-account-warn: "アカウント作るんはあんたがやってや。あんたのおかんもMisskeyもやってくれへんで。" - max-note-text-length: "投稿の最大文字数" - disable-registration: "ユーザー登録の受付を止める" - disable-local-timeline: "ローカルタイムラインを使えんようにする" - invite: "来てや" - save: "保存" - saved: "保存したで!" - email-config: "メールサーバーの設定" - email-config-info: "メールアドレス確認やパスワードリセットの際に使うで。" - enable-email: "メール配信を有効にする" - email: "メールアドレス" - smtp-secure: "SMTP接続に暗黙的なSSL/TLSを使用する" - smtp-secure-info: "STARTTLS使用時はオフにします。" - smtp-host: "SMTPホスト" - smtp-port: "SMTPポート" - smtp-user: "SMTPユーザー" - smtp-pass: "SMTPパスワード" -admin/views/charts.vue: - title: "チャート" - per-day: "1日ごと" - per-hour: "1時間ごと" - federation: "フェデレーション" - notes: "投稿" - users: "ユーザー" - drive: "ドライブ" - network: "ネットワーク" - charts: - federation-instances: "インスタンスの増減" - federation-instances-total: "インスタンスの積算" - notes: "投稿の増減(統合)" - local-notes: "投稿の増減 (ローカル)" - remote-notes: "投稿の増減 (リモート)" - notes-total: "投稿の積算" - users: "ユーザーの増減" - users-total: "ユーザーの積算" - drive: "ドライブ使用量の増減" - drive-total: "ドライブ使用量の積算" - drive-files: "ドライブのファイル数の増減" - drive-files-total: "ドライブのファイル数の積算" - network-requests: "リクエスト" - network-time: "応答時間" - network-usage: "通信量" -admin/views/drive.vue: - operation: "操作" - lookup: "照会" - origin: - local: "ローカル" - delete: "削除" - mark-as-sensitive: "見たらあかん感じにしとく" - unmark-as-sensitive: "やっぱ見せたるわ" -admin/views/users.vue: - operation: "操作" - username-or-userid: "ユーザー名またはユーザーID" - user-not-found: "ユーザーが見つからへん!" - lookup: "照会" - reset-password: "パスワードをリセット" - password-updated: "パスワードは現在「{password} 」やで" - suspend: "凍結" - username: "ユーザー名" - host: "ホスト" - users: - title: "ユーザー" - state: - all: "すべて" - moderator: "モデレーター" - origin: - local: "ローカル" -admin/views/moderators.vue: - logs: - moderator: "モデレーター" - type: "操作" - info: "情報" -admin/views/emoji.vue: - add-emoji: - add: "増やす" - emojis: - remove: "削除" -admin/views/announcements.vue: - announcements: "知っときや" - save: "保存" - remove: "削除" - add: "増やす" - saved: "保存したで!" -admin/views/federation.vue: - instance: "インスタンス" - host: "ホスト" - notes: "投稿" - users: "ユーザー" - following: "フォローしとる" - followers: "フォロワー" - status: "ステータス" - block: "ブロック" - lookup: "照会" - instances: "連合" - states: - all: "すべて" - blocked: "ブロック" - charts: "チャート" - chart-srcs: - requests: "リクエスト" - users: "ユーザーの増減" - users-total: "ユーザーの積算" - notes-total: "投稿の積算" - drive-usage: "ドライブ使用量の増減" - drive-usage-total: "ドライブ使用量の積算" - chart-spans: - hour: "1時間ごと" - day: "1日ごと" - blocked-hosts: "ブロック" - save: "保存" -desktop/views/pages/welcome.vue: - about: "もうちょい……" - timeline: "タイムライン" - announcements: "知っときや" - photos: "最近の画像" - powered-by-misskey: "Misskeyのおかげや" - info: "情報" -desktop/views/pages/drive.vue: - title: "ドライブ" -desktop/views/pages/note.vue: - prev: "前のやつ" - next: "次のやつ" -desktop/views/pages/selectdrive.vue: - title: "ファイルを選択してや" - ok: "決定" - cancel: "やめとくわ" - upload: "PCからドライブにファイル上げる" -desktop/views/pages/search.vue: - not-available: "検索機能は使えへんわ。管理者がそう言うとる。" -desktop/views/pages/user-list.users.vue: - users: "ユーザー" - add-user: "ユーザー増やす" - username: "ユーザー名" -desktop/views/pages/user/user.followers-you-know.vue: - title: "知っとるフォロワー" - loading: "読み込んどります" - no-users: "フォロワー全員知らんわ" -desktop/views/pages/user/user.friends.vue: - title: "よう話すツレ" - loading: "読み込んどります" - no-users: "よう話すツレは居らん" -desktop/views/pages/user/user.photos.vue: - title: "写真" - loading: "読み込んどります" - no-photos: "写真はあらへんで" -desktop/views/pages/user/user.header.vue: - posts: "投稿" - following: "フォロー" - followers: "フォロワー" - is-bot: "このアカウントはBotや" - years-old: "{age}歳" - year: "年" - month: "月" - day: "日" - follows-you: "フォローされとるで" -desktop/views/pages/user/user.timeline.vue: - default: "投稿" - with-replies: "投稿と返信" - with-media: "メディア" -desktop/views/widgets/notifications.vue: - title: "通知" -desktop/views/widgets/polls.vue: - title: "アンケート" - refresh: "他を見る" - nothing: "あらへん!" -desktop/views/widgets/post-form.vue: - title: "投稿" - note: "投稿" -desktop/views/widgets/profile.vue: - update-banner: "クリックしてバナー編集" - update-avatar: "クリックしてアバター編集" -desktop/views/widgets/trends.vue: - title: "流行" - refresh: "他を見る" - nothing: "あらへん!" -desktop/views/widgets/users.vue: - title: "おすすめユーザー" - refresh: "他を見る" - no-one: "おらん!" -mobile/views/components/drive.vue: - used: "使うとる" - folder-count: "フォルダ" - count-separator: "、" - file-count: "ファイル" - nothing-in-drive: "ドライブには何もあらへんで。" - folder-is-empty: "このフォルダ何もないわ" - folder-name: "フォルダー名" - url-prompt: "このURLのファイルをアップロードしたいねん" - uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。" -mobile/views/components/drive-file-chooser.vue: - select-file: "ファイル選んでや" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "フォルダ選んでや" -mobile/views/components/drive.file.vue: - nsfw: "ちょっと見せられへんわ" -mobile/views/components/drive.file-detail.vue: - download: "ダウンロード" - rename: "名前を変えるで" - move: "移動" - hash: "ハッシュ(md5)" - exif: "EXIF" - nsfw: "ちょっと見せられへんわ" - mark-as-sensitive: "見たらあかん感じにしとく" - unmark-as-sensitive: "やっぱ見せたるわ" -mobile/views/components/media-video.vue: - sensitive: "ちょっと見せられへんわ" - click-to-show: "押してみ、見せたるわ" -common/views/components/follow-button.vue: - following: "フォローしとる" - follow: "フォロー" - request-pending: "フォロー許してくれるん待っとる" - follow-processing: "今フォロー処理やっとる‥" - follow-request: "フォローさせてや!言うてみる" -mobile/views/components/note.vue: - private: "この投稿は見せられへんわ" - deleted: "この投稿なんか無くなってもうたわ" - location: "ここおるで:" -mobile/views/components/note-detail.vue: - reply: "返す" - reaction: "リアクション" - private: "この投稿は見せられへんわ" - deleted: "この投稿なんか無くなってもうたわ" - location: "ここおるで:" -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "cat" -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "cat" -mobile/views/components/notifications.vue: - empty: "あらへん!" -mobile/views/components/sub-note-content.vue: - private: "この投稿は見せられへんわ" - deleted: "この投稿なんか無くなってもうたわ" - media-count: "{}つのメディア" - poll: "アンケート" -mobile/views/components/ui.header.vue: - welcome-back: "おかえり、" - adjective: "はん" -mobile/views/components/ui.nav.vue: - timeline: "タイムライン" - notifications: "通知" - follow-requests: "フォロー許してくれや!言うてみる" - search: "検索" - user-lists: "リスト" - widgets: "ウィジェット" - game: "ゲーム" - admin: "管理" - about: "Misskeyってなんや?" -mobile/views/pages/drive.vue: - contextmenu: - upload: "ファイル上げる" - create-folder: "フォルダー作る" -mobile/views/pages/signup.vue: - lets-start: "📦 始めようや" -mobile/views/pages/followers.vue: - followers-of: "{name}のフォロワー" -mobile/views/pages/following.vue: - following-of: "{name}のフォロー" -mobile/views/pages/home.vue: - home: "ホーム" - local: "ローカル" - global: "グローバル" - mentions: "あんた宛て" - messages: "ダイレクト投稿" -mobile/views/pages/tag.vue: - no-posts-found: "ハッシュタグ「{q}」が付けられた投稿はあらへんかった。" -mobile/views/pages/widgets.vue: - dashboard: "ダッシュボード" - add-widget: "増やす" - customization-tips: "カスタマイズのヒント" -mobile/views/pages/widgets/activity.vue: - activity: "やっとること" -mobile/views/pages/share.vue: - share-with: "{name}で共有" -mobile/views/pages/note.vue: - title: "投稿" - prev: "前のやつ" - next: "次のやつ" -mobile/views/pages/games/reversi.vue: - reversi: "リバーシ" -mobile/views/pages/search.vue: - search: "探す" - not-found: "ワイは「{q}」なんて投稿知らんわ、無いんちゃう?知らんけど。" -mobile/views/pages/selectdrive.vue: - select-file: "ファイル選んでや" -mobile/views/pages/notifications.vue: - notifications: "通知" -mobile/views/pages/settings.vue: - signed-in-as: "あんたは橋の下で拾った{}や!" -mobile/views/pages/user.vue: - follows-you: "フォローされとるで" - following: "フォロー" - followers: "フォロワー" - notes: "投稿" - overview: "こんなやつ" - timeline: "タイムライン" - media: "メディア" - years-old: "{age}歳" -mobile/views/pages/user/home.vue: - recent-notes: "最近儲かりまっか?" - images: "画像" - activity: "やっとること" - keywords: "キーワード" - domains: "よく出るドメイン" - frequently-replied-users: "よう話すツレ" - followers-you-know: "知っとるフォロワー" - last-used-at: "最後いつ来た?" -mobile/views/pages/user/home.photos.vue: - no-photos: "写真はあらへんで" -deck: - widgets: "ウィジェット" - home: "ホーム" - local: "ローカル" - hashtag: "ハッシュタグ" - global: "グローバル" - mentions: "あんた宛て" - direct: "ダイレクト投稿" - notifications: "通知" - list: "リスト" - swap-left: "左に移動や!" - swap-right: "右に移動や!" - swap-up: "上に移動や!" - swap-down: "下に移動や!" - remove: "カラムにさいなら" - add-column: "カラム増やす" - rename: "名前を変えるで" - stack-left: "左に重ねんで!" - pop-right: "右に出すで!" -deck/deck.tl-column.vue: - is-media-only: "メディア投稿だけや" - edit: "オプション" -deck/deck.user-column.vue: - follows-you: "フォローされとるで" - posts: "投稿" - following: "フォロー" - followers: "フォロワー" - images: "画像" - activity: "アクティビティ" - timeline: "タイムライン" - pinned-notes: "ピン留めしはった投稿" -docs: - edit-this-page-on-github: "間違いや改善点を見つけましたか?" - edit-this-page-on-github-link: "このページをGitHubで編集" -dev/views/index.vue: - manage-apps: "アプリの管理" -dev/views/apps.vue: - manage-apps: "アプリを管理" - create-app: "アプリ作る" - app-missing: "アプリあらへん" -dev/views/new-app.vue: - create-app: "アプリケーション作る" - app-name: "アプリケーションの名前" - app-name-desc: "あんたのアプリの名前。" - app-overview: "このアプリどんなん?" - callback-url: "コールバックURL (無くてもええで)" - callback-url-desc: "ユーザーが認証フォームで認証した後どこに連れてくかを設定できるで" - authority: "権限" - authority-desc: "ここにチェックした機能しかAPIからアクセスできひんから気ぃつけてな" - authority-warning: "アプリ作った後でも変えれるけど、新しいやつ追加したらそん時関連付いてるユーザーキーは全部ほかされるで。" -pages: - pin-this-page: "ピン留め" - unpin-this-page: "ピン留めやめる" - like: "ええやん" - blocks: - image: "画像" - post: "投稿フォーム" - script: - categories: - random: "いんじゃんほい" - list: "リスト" - blocks: - _join: - arg1: "リスト" - random: "いんじゃんほい" - _randomPick: - arg1: "リスト" - _dailyRandomPick: - arg1: "リスト" - _seedRandomPick: - arg2: "リスト" - _pick: - arg1: "リスト" - _listLen: - arg1: "リスト" - types: - array: "リスト" -room: - translate: "移動" - save: "保存" - saved: "保存したで!" - furnitures: - moon: "月" - bin: "ゴミ箱" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml deleted file mode 100644 index bfbe22407..000000000 --- a/locales/ko-KR.yml +++ /dev/null @@ -1,2175 +0,0 @@ ---- -meta: - lang: "한국어" -common: - misskey: "연합우주의 ⭐" - about-title: "연합우주의 ⭐." - about: "Misskey를 발견해주셔서 감사합니다! Misskey는 지구에서 태어난 분산 마이크로 블로그 SNS 입니다. Fediverse (다양한 SNS가 함께하는 우주) 속에 존재하고 있어서, 다른 SNS와 서로 연결되어 있습니다. 번잡한 도시에서 벗어나 새로운 인터넷에 빠져보지 않으시겠어요?" - intro: - title: "Misskey란?" - about: "Misskey는 오픈소스 분산형 마이크로블로그 SNS입니다. 다양하고 폭넓게 커스터마이징할 수 있는 UI, 글에 대한 리액션, 파일을 관리할 수 있는 드라이브 등의 선진적인 기능을 갖추고 있습니다. 더하여 Fediverse라고 부르는 네트워크에 연결할 수 있어 다른 SNS와도 주고받을 수 있습니다. 예를 들자면, 당신이 무언가를 게시하면, 해당 게시물은 Misskey 뿐만 아니라 다른 SNS에도 전해집니다. 살짝 어떤 행성에서 다른 행성으로 전파를 발신하고 있는 모습을 상상해주세요." - features: "특징" - rich-contents: "글" - rich-contents-desc: "자신의 생각, 화제의 사건, 모두와 공유하고 싶은 것을 올려주세요. 필요한 경우 다양한 스타일을 사용하여 글을 장식하거나 마음에 드는 이미지, 영상 등의 파일이나 투표를 올리는 것도 가능합니다." - reaction: "리액션" - reaction-desc: "당신의 감정을 전하는 가장 쉬운 방법입니다. Misskey는 다른 사용자의 글에 다양한 리액션을 붙이는 것이 가능합니다. 한 번 Misskey의 리액션 기능을 경험해버리면, 더는 \"좋아요\" 밖에 감정표현이 없는 SNS로는 돌아갈 수 없게 되어버립니다." - ui: "인터페이스" - ui-desc: "어떤 형태의 UI가 편한가는 사람마다 다 다릅니다. 그래서 Misskey는 자유도가 높은 UI를 만들고 있습니다. 레이아웃이나 디자인을 변경하거나, 커스터마이징 가능한 다양한 위젯을 배치하거나 하여 자신만의 홈을 만들어주세요." - drive: "드라이브" - drive-desc: "이전에 올렸던 적 있는 이미지를 다시 올리고 싶을 때가 있지 않으신가요? 아니면 업로드했던 파일을 폴더로 정리하고 싶지 않으신가요? Misskey에 기본적으로 내장된 드라이브 기능으로 해결됩니다. 파일 공유도 쉽습니다." - outro: "이외에도 Misskey에만 있는 기능이 아직도 더 있으니 부디 여러분 자신의 눈으로 확인해보시기 바랍니다. Misskey는 분산형 SNS라서 이 인스턴스가 마음에 들지 않으신다면 다른 인스턴스를 시도해보실 수도 있습니다. 그럼, GLHF!" - application-authorization: "앱 연계" - close: "닫기" - do-not-copy-paste: "여기에 코드를 입력하거나 붙여넣지 마십시오. 계정이 무단으로 사용될 수 있습니다." - load-more: "더보기" - enter-password: "비밀번호를 입력하여 주십시오" - 2fa: "2단계 인증" - customize-home: "홈 커스터마이징" - featured-notes: "하이라이트" - dark-mode: "다크 모드" - signin: "로그인" - signup: "신규 등록" - signout: "로그아웃" - reload-to-apply-the-setting: "이 설정을 적용하려면 페이지를 새로고침해야 합니다. 바로 새로고침하시겠습니까?" - fetching-as-ap-object: "연합에서 조회 중" - unfollow-confirm: "{name} 님을 팔로우 해제하시겠습니까?" - delete-confirm: "이 글을 삭제하시겠습니까?" - signin-required: "로그인 해주세요" - notification-type: "알림의 종류" - notification-types: - all: "모두" - pollVote: "투표" - follow: "팔로잉" - receiveFollowRequest: "팔로우 요청" - reply: "답글 달기" - quote: "인용" - renote: "리노트" - mention: "멘션" - reaction: "리액션" - got-it: "알겠습니다" - customization-tips: - title: "커스터마이징 도움말" - paragraph: "

홈 화면 커스터마이징에서는 위젯을 추가/삭제하거나 드래그 & 드롭하여 정렬하거나 할 수 있습니다.

일부 위젯은오른쪽클릭을 하여 보기를 변경할 수 있습니다.

위젯을 삭제하려면 헤더의 \"휴지통\"이라고 적혀있는 영역에 창을 끌어넣습니다.

커스터마이징을 종료하려면 오른쪽 상단의 \"완료\" 버튼을 클릭해주세요.

" - gotit: "Got it!" - notification: - file-uploaded: "파일이 업로드되었습니다" - message-from: "{}님의 메시지:" - reversi-invited: "게임 초대가 있습니다" - reversi-invited-by: "{}님으로부터" - notified-by: "{}님으로부터" - reply-from: "{}님으로부터 답글:" - quoted-by: "{}님이 인용:" - time: - unknown: "알 수 없는 시간" - future: "미래" - just_now: "방금 전" - seconds_ago: "{}초 전" - minutes_ago: "{}분 전" - hours_ago: "{}시간 전" - days_ago: "{}일 전" - weeks_ago: "{}주 전" - months_ago: "{}개월 전" - years_ago: "{}년 전" - month-and-day: "{month}월 {day}일" - trash: "휴지통" - drive: "드라이브" - pages: "페이지" - messaging: "대화" - home: "홈" - deck: "덱" - timeline: "타임라인" - explore: "발견하기" - following: "팔로우 중" - followers: "팔로워" - favorites: "즐겨찾기" - permissions: - "read:account": "계정 정보 보기" - "write:account": "계정 정보 변경" - "read:blocks": "차단 보기" - "write:blocks": "차단 수정" - "read:drive": "드라이브 보기" - "write:drive": "드라이브 수정" - "read:favorites": "즐겨찾기 보기" - "write:favorites": "즐겨찾기 수정" - "read:following": "팔로우 정보 보기" - "write:following": "팔로잉, 팔로우 수정" - "read:messaging": "대화 보기" - "write:messaging": "대화 수정" - "read:mutes": "뮤트 보기" - "write:mutes": "뮤트 수정" - "write:notes": "글 작성, 삭제" - "read:notifications": "알림 보기" - "write:notifications": "알림 수정" - "read:reactions": "리액션 보기" - "write:reactions": "리액션 수정" - "write:votes": "투표하기" - "read:pages": "페이지 보기" - "write:pages": "페이지 변경" - "read:page-likes": "페이지의 좋아요 보기" - "write:page-likes": "페이지의 좋아요 변경" - "read:user-groups": "유저 그룹 보기" - "write:user-groups": "유저 그룹을 변경" - empty-timeline-info: - follow-users-to-make-your-timeline: "사용자를 팔로우하면 글이 타임라인에 표시됩니다." - explore: "사용자 탐색" - post-form: - attach-location-information: "위치 정보를 첨부합니다" - hide-contents: "내용 숨기기" - reply-placeholder: "이 글에 답글..." - quote-placeholder: "이 글을 인용..." - option-quote-placeholder: "이 글을 인용... (옵션)" - quote-attached: "인용함" - quote-question: "인용해서 작성하시겠습니까?" - submit: "글쓰기" - reply: "답글 달기" - renote: "리노트" - posting: "게시중" - attach-media-from-local: "PC에서 미디어 첨부" - attach-media-from-drive: "드라이브에서 미디어 첨부" - insert-a-kao: "v('ω')v" - create-poll: "투표 만들기" - text-remain: "{}문자 남음" - recent-tags: "최근" - local-only-message: "이 글은 로컬에만 공개되어 있습니다" - click-to-tagging: "클릭하여 태그 넣기" - visibility: "공개 범위" - geolocation-alert: "사용 중이신 장치에서는 위치 정보를 사용할 수 없습니다" - error: "오류" - enter-username: "사용자명을 입력해주세요" - specified-recipient: "수신인" - add-visible-user: "사용자 추가" - cw-placeholder: "내용에 대한 주석 (옵션)" - username-prompt: "사용자명을 입력해주세요" - enter-file-name: "파일 이름 수정" - weekday-short: - sunday: "일" - monday: "월" - tuesday: "화" - wednesday: "수" - thursday: "목" - friday: "금" - saturday: "토" - weekday: - sunday: "일요일" - monday: "월요일" - tuesday: "화요일" - wednesday: "수요일" - thursday: "목요일" - friday: "금요일" - saturday: "토요일" - reactions: - like: "좋아요" - love: "죠아" - laugh: "ㅋㅋㅋㅋ" - hmm: "으음...?" - surprise: "와우" - congrats: "축하합니다" - angry: "화남" - confused: "곤-란" - rip: "RIP" - pudding: "Pudding" - note-visibility: - public: "공개" - home: "홈" - home-desc: "홈 타임라인에만 공개" - followers: "팔로워" - followers-desc: "자신의 팔로워에게만 공개" - specified: "다이렉트" - specified-desc: "지정한 사용자에게만 공개" - local-public: "공개 (로컬 한정)" - local-home: "홈 (로컬 한정)" - local-followers: "팔로워 (로컬 한정)" - note-placeholders: - a: "지금 무엇을 하고 있나요?" - b: "무슨 일이 일어나고 있나요?" - c: "무엇을 생각하고 있나요?" - d: "말하고 싶은 게 있나요?" - e: "여기에 적어주세요" - f: "작성해주시길 기다리고 있어요..." - settings: "설정" - _settings: - profile: "프로필" - notification: "알림" - apps: "앱" - tags: "해시태그" - mute-and-block: "뮤트/차단" - blocking: "차단" - security: "보안" - signin: "로그인 기록" - password: "비밀번호" - other: "기타" - appearance: "디자인" - behavior: "동작" - reactions: "리액션" - reactions-description: "리액션 선택창에 표시할 리액션을 줄바꿈으로 구분해 설정합니다." - fetch-on-scroll: "스크롤하여 자동으로 불러오기" - fetch-on-scroll-desc: "페이지를 아래로 스크롤하였을 때 자동으로 추가 콘텐츠를 불러옵니다." - note-visibility: "게시물의 공개 범위" - default-note-visibility: "기본 공개 범위" - remember-note-visibility: "글의 공개 범위를 기억하기" - web-search-engine: "웹 검색엔진" - web-search-engine-desc: "예: https://www.google.com/?#q={{query}}" - paste: "붙여넣기" - pasted-file-name: "붙여넣은 파일의 이름 템플릿" - pasted-file-name-desc: "예시: \"yyyy-MM-dd HH-mm-ss [{{number}}]\" → \"2018-03-20 21-30-24 1\"" - paste-dialog: "붙여넣기 시 파일 이름을 편집" - paste-dialog-desc: "붙여넣기 시 파일 이름을 편집할 수 있도록 대화 상자를 표시합니다." - keep-cw: "CW 유지" - keep-cw-desc: "글에 답글을 달 때, 답글할 글에 CW가 설정되어 있는 경우 기본값으로 동일한 CW를 설정하도록 합니다." - i-like-sushi: "저는 (푸딩보다 차라리) 초밥이 좋아요" - show-reversi-board-labels: "리버시 보드의 행과 열 레이블을 표시" - use-avatar-reversi-stones: "리버시의 돌로 아바타를 사용" - disable-animated-mfm: "글의 문자 애니메이션을 비활성화" - disable-showing-animated-images: "움직이는 이미지를 자동으로 재생하지 않음" - enable-quick-notification-view: "알림의 빠른 보기를 사용합니다" - suggest-recent-hashtags: "최근 해시태그를 글 작성란에 표시" - always-show-nsfw: "항상 열람주의 미디어를 표시" - always-mark-nsfw: "항상 미디어를 열람주의로 설정하여 게시" - show-full-acct: "사용자명의 호스트를 표시하지 않기" - show-via: "via 표시하기" - reduce-motion: "UI의 애니메이션 줄이기" - this-setting-is-this-device-only: "이 장치만" - use-os-default-emojis: "운영체제의 기본 이모지 사용" - line-width: "선 두께" - line-width-thin: "얇음" - line-width-normal: "보통" - line-width-thick: "두꺼움" - font-size: "글씨 크기" - font-size-x-small: "작음" - font-size-small: "조금 작음" - font-size-medium: "보통" - font-size-large: "조금 큼" - font-size-x-large: "큼" - deck-column-align: "덱의 칼럼 위치" - deck-column-align-center: "가운데" - deck-column-align-left: "왼쪽" - deck-column-align-flexible: "플렉서블" - deck-column-width: "덱의 칼럼 폭" - deck-column-width-narrow: "좁음" - deck-column-width-narrower: "조금 좁음" - deck-column-width-normal: "보통" - deck-column-width-wider: "조금 넓음" - deck-column-width-wide: "넓음" - use-shadow: "UI에 그림자 효과 적용" - rounded-corners: "UI의 모서리를 둥글게 설정" - circle-icons: "원형 아바타를 사용" - contrasted-acct: "사용자명에 대비 추가" - wallpaper: "배경" - choose-wallpaper: "배경 설정" - delete-wallpaper: "배경 제거" - post-form-on-timeline: "타임라인 상단에 글 작성란을 표시" - show-clock-on-header: "오른쪽 상단에 시계 표시" - show-reply-target: "답글 대상 표시" - timeline: "타임라인" - show-my-renotes: "내 리노트를 타임라인에 보이기" - show-renoted-my-notes: "내 글이 리노트될 경우 타임라인에 보이기" - show-local-renotes: "로컬 글의 리노트를 타임라인에 보이기" - remain-deleted-note: "삭제된 글을 계속 표시" - sound: "소리" - enable-sounds: "소리 사용" - enable-sounds-desc: "글이나 메시지를 송수신하였을 때 소리를 재생합니다. 이 설정은 브라우저에 저장됩니다." - volume: "음량" - test: "테스트" - update: "Misskey Update" - version: "버전:" - latest-version: "최신 버전:" - update-checking: "업데이트 확인 중" - do-update: "업데이트 확인" - update-settings: "고급 설정" - no-updates: "사용 가능한 업데이트가 없습니다" - no-updates-desc: "사용중인 Misskey는 최신 버전입니다." - update-available: "새 버전을 사용할 수 있습니다" - update-available-desc: "페이지를 다시 로드하면 업데이트가 적용됩니다." - advanced-settings: "고급 설정" - debug-mode: "디버그 모드를 사용하도록 설정" - debug-mode-desc: "이 설정은 브라우저에 저장됩니다." - navbar-position: "내비게이션 막대 위치" - navbar-position-top: "위" - navbar-position-left: "왼쪽" - navbar-position-right: "오른쪽" - i-am-under-limited-internet: "저는 통신 대역폭이 제한되어 있습니다" - post-style: "글 표시 스타일" - post-style-standard: "표준" - post-style-smart: "스마트" - notification-position: "알림 표시" - notification-position-bottom: "아래" - notification-position-top: "위" - disable-via-mobile: "작성하는 글에 \"모바일에서 작성함\" 을 붙이지 않음" - load-raw-images: "첨부 이미지를 고품질로 표시" - load-remote-media: "원격 서버의 미디어를 표시" - sync: "동기화" - save: "저장" - saved: "저장하였습니다" - preview: "미리보기" - home-profile: "홈 프로필" - deck-profile: "덱 프로필" - room: "룸" - _room: - graphicsQuality: "그래픽 품질" - _graphicsQuality: - ultra: "최고" - high: "높음" - medium: "보통" - low: "낮음" - cheep: "최저" - useOrthographicCamera: "평행 투시 카메라를 사용" - search: "검색" - delete: "삭제" - loading: "로드 중" - ok: "ㅇㅇ" - cancel: "그만두기" - update-available-title: "업데이트가 있습니다" - update-available: "Misskey의 새로운 버전이 있습니다 ({newer}. 현재 {current}을 사용 중). 페이지를 다시 로드하면 업데이트가 적용됩니다." - my-token-regenerated: "당신의 토큰이 업데이트되었으므로 로그아웃합니다." - hide-password: "비밀번호 숨기기" - show-password: "비밀번호 표시" - enter-username: "사용자명을 입력해주세요" - do-not-use-in-production: "이것은 개발 빌드입니다. 프로덕션 환경에서 사용하지 마십시오." - user-suspended: "이 사용자는 정지된 상태입니다." - is-remote-user: "이 사용자 정보는 정확하지 않을 수 있습니다." - is-remote-post: "이 글 정보는 복사본입니다." - view-on-remote: "정확한 정보 보기" - renoted-by: "{user} 님이 리노트" - no-notes: "글이 없습니다" - turn-on-darkmode: "어둠에 삼켜져라" - turn-off-darkmode: "빛이 있으라" - error: - title: "오류가 발생했습니다" - retry: "다시 시도" - reversi: - drawn: "무승부" - my-turn: "당신의 차례입니다" - opponent-turn: "상대의 차례입니다" - turn-of: "{name}의 차례입니다" - past-turn-of: "{name}의 차례" - won: "{name}의 승리" - black: "흑" - white: "백" - total: "합계" - this-turn: "{count}턴 째" - widgets: - analog-clock: "아날로그 시계" - profile: "프로필" - calendar: "달력" - timemachine: "달력(타임머신)" - activity: "활동" - rss: "RSS 리더" - memo: "스티커 메모" - trends: "트렌드" - photo-stream: "포토 스트림" - posts-monitor: "글 차트" - slideshow: "슬라이드 쇼" - version: "버전" - broadcast: "브로드캐스트" - notifications: "알림" - users: "추천 사용자" - polls: "투표" - post-form: "글 입력란" - server: "서버 정보" - nav: "내비게이션" - tips: "팁" - hashtags: "해시태그" - queue: "큐" - dev: "앱을 만드는 데 실패했습니다. 다시 시도하시기 바랍니다." - ai-chan-kawaii: "아이쨩 귀여워" - you: "당신" -auth/views/form.vue: - share-access: "{name}가 당신의 계정에 엑세스하도록 허용하시겠습니까?" - permission-ask: "이 앱은 다음의 권한을 요청합니다:" - cancel: "취소" - accept: "접근 권한 허용" -auth/views/index.vue: - loading: "로드 중" - denied: "애플리케이션의 연계를 취소하였습니다." - denied-paragraph: "이 앱이 당신의 계정에 액세스할 수 없습니다." - already-authorized: "이 앱은 이미 연결되어 있습니다." - allowed: "애플리케이션의 연동을 허용하였습니다." - callback-url: "애플리케이션으로 돌아갑니다." - please-go-back: "애플리케이션으로 돌아가여 시도하여 주십시오." - error: "세션이 존재하지 않습니다." - sign-in: "로그인 해주시기 바랍니다" -common/views/pages/explore.vue: - pinned-users: "고정된 사용자" - popular-users: "인기 사용자" - recently-updated-users: "최근 게시한 사용자" - recently-registered-users: "신규 사용자" - recently-discovered-users: "최근 발견된 유저" - popular-tags: "인기 태그" - federated: "연합" - explore: "{host}을(를) 탐색" - explore-fediverse: "연합 우주를 탐색" - users-info: "현재 {users} 사용자가 등록되어 있습니다" -common/views/components/reactions-viewer.details.vue: - few-users: "{users}님이 {reaction} 리액션" - many-users: "{users}님 외 {omitted}명이 {reaction} 리액션" -common/views/components/url-preview.vue: - enable-player: "플레이어 열기" - disable-player: "플레이어 닫기" -common/views/components/user-list.vue: - no-users: "사용자가 없습니다" -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "{}을(를) 기다리고 있습니다" - cancel: "취소" -common/views/components/games/reversi/reversi.game.vue: - surrender: "기권" - surrendered: "기권에 의해" - is-llotheo: "돌이 적은 쪽이 승리 (llotheo)" - looped-map: "루프 지도" - can-put-everywhere: "어디에도 둘 수 있는 모드" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "다른 Misskey 사용자와 리버시로 대결하자" - invite: "초대" - rule: "게임 방법" - rule-desc: "리버시는 상대와 번갈아가며 돌을 판에 두고, 상대의 돌을 자신의 돌 사이에 두어 자신의 색으로 바꿔나가며, 최종적으로 남아있는 돌이 많은 쪽이 승리하는 보드게임입니다." - mode-invite: "초대" - mode-invite-desc: "지정한 사용자와 대결하는 모드입니다." - invitations: "게임 초대가 있습니다!" - my-games: "내 대국" - all-games: "모두의 대국" - enter-username: "사용자명을 입력해주세요" - game-state: - ended: "종료" - playing: "진행중" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "게임 설정" - choose-map: "맵 선택" - random: "랜덤" - black-or-white: "선수/후수" - black-is: "{}가 흑" - rules: "규칙" - is-llotheo: "돌이 적은 사람이 승리 (llotheo)" - looped-map: "루프 지도" - can-put-everywhere: "어디나 놓을 수 있음" - settings-of-the-bot: "Bot 설정" - this-game-is-started-soon: "게임이 몇 초 후에 시작됩니다" - waiting-for-other: "상대가 준비가 완료될 때까지 기다리고 있습니다" - waiting-for-me: "당신의 준비 완료를 기다리고 있습니다" - waiting-for-both: "준비중" - cancel: "취소" - ready: "준비 완료" - cancel-ready: "준비 취소" -common/views/components/connect-failed.vue: - title: "서버에 연결할 수 없습니다" - description: "인터넷 회선에 문제가 있거나, 서버가 다운되었거나 점검중일 가능성이 있습니다. 잠시후에 {다시 시도}해 주십시오." - thanks: "항상 Misskey를 이용해주셔서 감사합니다." - troubleshoot: "트러블슈팅" -common/views/components/connect-failed.troubleshooter.vue: - title: "트러블슈팅" - network: "네트워크 연결" - checking-network: "네트워크 연결 확인중" - internet: "인터넷 연결" - checking-internet: "인터넷 연결을 확인중" - server: "서버 연결" - checking-server: "서버 연결을 확인중" - finding: "문제를 확인하고 있습니다" - no-network: "네트워크에 연결되어 있지 않습니다" - no-network-desc: "사용중인 PC의 네트워크 연결이 정상적인지 확인해주십시오." - no-internet: "인터넷에 접속되어 있지 않습니다" - no-internet-desc: "네트워크에 연결되어 있으나 인터넷에 연결되어 있지 않은 것 같습니다. 사용중이신 PC의 인터넷 연결이 정상적인지 확인하여 주십시오." - no-server: "Misskey 서버에 연결할 수 없습니다" - no-server-desc: "사용중이신 PC의 인터넷 연결이 정상적이나 Misskey의 서버에 연결할 수 없었습니다. 서버가 다운되었거나 점검중일 가능성이 있으므로, 잠시 후에 다시 시도해주십시오." - success: "Misskey 서버에 연결하였습니다" - success-desc: "정상적으로 연결 가능한 것 같습니다. 페이지를 새로고침하여 주십시오." - flush: "캐시 삭제" - set-version: "버전 지정" -common/views/components/media-banner.vue: - sensitive: "열람주의" - click-to-show: "클릭하여 표시" -common/views/components/theme.vue: - theme: "테마" - light-theme: "다크 모드가 아닐 때 사용하는 테마" - dark-theme: "다크 모드일 때 사용하는 테마" - light-themes: "밝은 테마" - dark-themes: "어두운 테마" - install-a-theme: "테마 설치" - theme-code: "테마 코드" - install: "설치" - installed: "\"{}\"를 설치했습니다" - create-a-theme: "테마 만들기" - save-created-theme: "테마 저장" - primary-color: "기본 색" - secondary-color: "보조 색" - text-color: "글자 색상" - base-theme: "기본 테마" - base-theme-light: "밝음" - base-theme-dark: "어두움" - find-more-theme: "그 외 테마 찾아보기" - theme-name: "테마명" - preview-created-theme: "미리보기" - invalid-theme: "테마가 올바르지 않습니다." - already-installed: "이미 해당 테마가 설치되어 있습니다." - saved: "저장하였습니다" - manage-themes: "테마 관리" - builtin-themes: "표준 테마" - my-themes: "내 테마" - installed-themes: "설치된 테마" - select-theme: "테마를 선택하여 주십시오" - uninstall: "제거" - uninstalled: "\"{}\"을 제거하였습니다" - author: "작성자" - desc: "설명" - export: "내보내기" - import: "가져오기" - import-by-code: "또는 코드 붙여넣기" - theme-name-required: "테마명은 필수 항목입니다." -common/views/components/cw-button.vue: - hide: "숨기기" - show: "더 보기" - chars: "{count}문자" - files: "{count}파일" - poll: "투표" -common/views/components/messaging.vue: - search-user: "사용자 찾기" - you: "당신" - no-history: "기록이 없습니다" - user: "사용자" - group: "그룹" - start-with-user: "사용자와 대화 시작" - start-with-group: "그룹과 대화 시작" - select-group: "그룹을 선택하여 주십시오" -common/views/components/messaging-room.vue: - not-talked-user: "이 사용자와의 대화가 없습니다" - not-talked-group: "이 그룹과의 대화가 없습니다" - no-history: "이것보다 과거의 기록이 없습니다" - new-message: "새 메시지가 있습니다" - only-one-file-attached: "메시지에 첨부할 수 있는 파일은 하나까지입니다" -common/views/components/messaging-room.form.vue: - input-message-here: "여기에 메시지를 입력하세요" - send: "전송" - attach-from-local: "PC에서 파일 첨부" - attach-from-drive: "드라이브에서 파일 첨부" - only-one-file-attached: "메시지에 첨부할 수 있는 파일은 하나까지입니다" -common/views/components/messaging-room.message.vue: - is-read: "읽음" - deleted: "이 메시지는 삭제되었습니다" -common/views/components/nav.vue: - about: "Misskey에 대하여" - stats: "통계" - status: "상태" - wiki: "위키" - donors: "기증자" - repository: "저장소" - develop: "개발자" - feedback: "피드백" - tos: "이용 약관" -common/views/components/note-menu.vue: - mention: "멘션" - detail: "상세" - copy-content: "내용 복사" - copy-link: "링크 복사" - favorite: "이 노트 즐겨찾기" - unfavorite: "즐겨찾기에서 제거" - watch: "지켜보기" - unwatch: "지켜보기 해제" - pin: "프로필에 고정" - unpin: "프로필에서 고정 해제" - delete: "삭제" - delete-confirm: "이 글을 삭제하시겠습니까?" - delete-and-edit: "삭제 후 편집" - delete-and-edit-confirm: "이 글을 삭제한 뒤 다시 편집하시겠습니까? 이 글에 대한 리액션, 리노트, 답글 또한 모두 삭제됩니다." - remote: "글 원본 보기" - pin-limit-exceeded: "더 이상 고정할 수 없습니다." -common/views/components/user-menu.vue: - mention: "멘션" - mute: "뮤트" - unmute: "뮤트 해제" - mute-confirm: "이 사용자를 뮤트하시겠습니까?" - unmute-confirm: "이 사용자를 뮤트 해제하시겠습니까?" - block: "차단" - unblock: "차단 해제" - block-confirm: "이 사용자를 차단하시겠습니까?" - unblock-confirm: "이 사용자를 차단 해제하시겠습니까?" - push-to-list: "리스트에 추가" - select-list: "리스트를 선택하여 주십시오" - report-abuse: "스팸 신고" - report-abuse-detail: "어떤 스팸 행위를 하고 있습니까?" - report-abuse-reported: "관리자에게 보고되었습니다. 협조해주셔서 감사합니다." - silence: "침묵" - unsilence: "침묵 해제" - silence-confirm: "이 사용자를 침묵하시겠습니까?" - unsilence-confirm: "이 사용자를 침묵 해제하시겠습니까?" - suspend: "정지" - unsuspend: "정지 해제" - suspend-confirm: "이 사용자를 정지하시겠습니까?" - unsuspend-confirm: "이 사용자를 정지 해제하시겠습니까?" -common/views/components/poll.vue: - vote-to: "\"{}\"에 투표하기" - vote-count: "{}표" - total-votes: "총 {}표" - vote: "투표하기" - show-result: "결과 보기" - voted: "투표함" - closed: "종료됨" - remaining-days: "종료까지 앞으로 {d}일 {h}시간" - remaining-hours: "종료까지 앞으로 {h}시간 {m}분" - remaining-minutes: "종료까지 앞으로 {m}분 {s}초" - remaining-seconds: "종료까지 앞으로 {s}초" -common/views/components/poll-editor.vue: - no-only-one-choice: "투표에는 선택지가 최소한 두 개 필요합니다" - choice-n: "선택지 {}" - remove: "이 선택지를 제거" - add: "+선택지 추가" - destroy: "투표 제거" - multiple: "복수 응답 가능" - expiration: "기한" - infinite: "무기한" - at: "일시 지정" - after: "기간 지정" - no-more: "더 이상 추가할 수 없습니다" - deadline-date: "기한" - deadline-time: "시간" - interval: "기간" - unit: "단위" - second: "초" - minute: "분" - hour: "시간" - day: "일" -common/views/components/reaction-picker.vue: - choose-reaction: "리액션 선택" - input-reaction-placeholder: "또는 이모지 입력" -common/views/components/emoji-picker.vue: - recent-emoji: "최근 사용한 이모지" - custom-emoji: "커스텀 이모지" - no-category: "카테고리 없음" - people: "사람들" - animals-and-nature: "동물 & 자연" - food-and-drink: "음식 & 음료" - activity: "활동" - travel-and-places: "장소" - objects: "사물" - symbols: "기호" - flags: "깃발" -common/views/components/settings/app-type.vue: - title: "모드" - intro: "데스크톱과 모바일 중 어떤 레이아웃을 사용할 지 지정할 수 있습니다." - choices: - auto: "자동으로 선택" - desktop: "데스크톱 레이아웃으로 고정" - mobile: "모바일 레이아웃으로 고정" - info: "변경사항은 페이지를 새로고침한 뒤에 반영됩니다." -common/views/components/signin.vue: - username: "사용자명" - password: "비밀번호" - token: "토큰" - signing-in: "로그인 중입니다..." - or: "또는" - signin-with-twitter: "Twitter로 로그인" - signin-with-github: "GitHub으로 로그인" - signin-with-discord: "Discord로 로그인" - login-failed: "로그인할 수 없습니다. 사용자명과 비밀번호를 확인하여 주십시오." - tap-key: "보안 키를 클릭하여 로그인" - enter-2fa-code: "인증 코드를 입력하여 주십시오" -common/views/components/signup.vue: - invitation-code: "초대 코드" - invitation-info: "초대 코드가 없으신 분은 관리자에게 연락하시기 바랍니다." - username: "사용자명" - checking: "확인하는 중입니다..." - available: "사용 가능" - unavailable: "이미 사용중입니다" - error: "통신 오류" - invalid-format: "a~z, A~Z, 0-9, _를 사용할 수 있습니다" - too-short: "1자 이상 작성해야 합니다!" - too-long: "20글자 이하로 작성하여 주십시오" - password: "비밀번호" - password-placeholder: "8글자 이상을 권장합니다" - weak-password: "약한 비밀번호" - normal-password: "적당한 비밀번호" - strong-password: "강한 비밀번호" - retype: "다시 입력" - retype-placeholder: "확인을 위해 다시 입력하여 주십시오" - password-matched: "확인되었습니다" - password-not-matched: "일치하지 않습니다" - recaptcha: "자동 가입 방지" - agree-to: "{0}에 동의합니다." - tos: "이용 약관" - create: "계정 만들기" - some-error: "알 수 없는 이유로 계정 만들기에 실패했습니다. 다시 한번 시도해 주세요." -common/views/components/special-message.vue: - new-year: "새해 복 많이 받으세요!" - christmas: "메리 크리스마스!" -common/views/components/stream-indicator.vue: - connecting: "연결중" - reconnecting: "다시 연결 중" - connected: "연결 완료" -common/views/components/notification-settings.vue: - title: "알림" - mark-as-read-all-notifications: "모든 알림을 읽은 상태로 표시" - mark-as-read-all-unread-notes: "모든 글을 읽은 상태로 표시" - mark-as-read-all-talk-messages: "모든 대화를 읽은 상태로 표시" - auto-watch: "글 자동 감시" - auto-watch-desc: "리액션, 답글, 게시물에 대한 알림을 자동으로 받을 수 있도록 합니다." -common/views/components/integration-settings.vue: - title: "서비스 연계" - connect: "접속" - disconnect: "연결 끊기" - connected-to: "다음 계정에 연결되어 있습니다" -common/views/components/github-setting.vue: - description: "사용중이신 Github 계정을 Misskey 계정에 연결하면 프로필에 Github 정보가 표시되고, Github를 사용하여 편리하게 로그인할 수 있습니다." - connected-to: "다음 Github 계정에 연결되어 있습니다" - detail: "자세히..." - reconnect: "다시 연결" - connect: "GitHub와 연결 하기" - disconnect: "연결 끊기" -common/views/components/discord-setting.vue: - description: "사용중이신 Discord 계정을 Misskey 계정에 연결하면 프로필에 Discord 정보가 표시되고, Discord를 사용하여 편리하게 로그인할 수 있습니다." - connected-to: "다음 Discord 계정에 연결되어 있습니다" - detail: "자세히..." - reconnect: "다시 연결" - connect: "Discord와 연결하기" - disconnect: "연결 끊기" -common/views/components/uploader.vue: - waiting: "기다리는 중" -common/views/components/visibility-chooser.vue: - public: "공개" - home: "홈" - home-desc: "홈 타임라인에만 공개" - followers: "팔로워" - followers-desc: "자신의 팔로워에게만 공개" - specified: "다이렉트" - specified-desc: "지정한 사용자에게만 공개" - local-public: "공개 (로컬 한정)" - local-public-desc: "원격에는 공개하지 않음" - local-home: "홈 (로컬 한정)" - local-followers: "팔로워 (로컬 한정)" -common/views/components/trends.vue: - count: "{}명이 언급함" - empty: "트렌드 없음" -common/views/components/language-settings.vue: - title: "표시 언어" - pick-language: "언어 설정" - recommended: "추천" - auto: "자동" - specify-language: "언어 지정" - info: "변경사항은 페이지를 새로고침한 뒤에 반영됩니다." -common/views/components/profile-editor.vue: - title: "프로필" - name: "이름" - account: "계정" - location: "장소" - description: "자기소개" - you-can-include-hashtags: "해시 태그를 포함할 수 있습니다." - language: "언어" - birthday: "생일" - avatar: "아바타" - banner: "배너" - is-cat: "이 계정은 Cat입니다" - is-bot: "이 계정은 Bot입니다" - is-locked: "팔로우를 수동으로 승인" - careful-bot: "Bot의 팔로우만 수동으로 승인" - auto-accept-followed: "팔로우중인 사용자로부터의 팔로우를 자동으로 승인" - advanced: "기타" - privacy: "프라이버시" - save: "저장" - saved: "프로필을 저장하였습니다" - uploading: "업로드 중" - upload-failed: "업로드에 실패하였습니다" - unable-to-process: "작업을 완료할 수 없습니다" - avatar-not-an-image: "아바타로 지정한 파일이 이미지 형식이 아닙니다" - banner-not-an-image: "배너로 지정한 파일이 이미지 형식이 아닙니다" - email: "메일 설정" - email-address: "메일 주소" - email-verified: "매일 주소가 확인되었습니다" - email-not-verified: "메일 주소가 확인되지 않았습니다. 받은 편지함을 확인하여 주시기 바랍니다." - export: "내보내기" - import: "가져오기" - export-and-import: "내보내기와 가져오기" - export-targets: - all-notes: "모든 글 데이터" - following-list: "팔로잉" - mute-list: "뮤트" - blocking-list: "차단" - user-lists: "리스트" - export-requested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 드라이브에 파일이 추가됩니다." - import-requested: "가져오기를 요청하였습니다. 이 작업에는 시간이 걸릴 수 있습니다." - enter-password: "비밀번호를 입력하여 주십시오" - danger-zone: "위험한 설정" - delete-account: "계정 삭제" - account-deleted: "계정이 삭제되었습니다. 데이터가 사라질 때까지 시간이 걸릴 수 있습니다." - profile-metadata: "프로필 추가 정보" - metadata-label: "라벨" - metadata-content: "내용" -common/views/components/user-list-editor.vue: - users: "사용자" - rename: "리스트 이름 바꾸기" - delete: "리스트 삭제" - remove-user: "이 리스트에서 제거" - delete-are-you-sure: "리스트 \"$1\"을 삭제하시겠습니까?" - deleted: "삭제하였습니다" - add-user: "사용자 추가" -common/views/components/user-group-editor.vue: - users: "멤버" - rename: "그룹명을 변경" - delete: "그룹을 삭제" - transfer: "그룹을 양도" - transfer-are-you-sure: "그룹 「$1」을 「@$2」 님에게 양도하시겠습니까?" - transferred: "그룹을 양도하였습니다" - remove-user: "이 그룹에서 삭제" - delete-are-you-sure: "그룹 「$1」을 삭제하시겠습니까?" - deleted: "삭제하였습니다" - invite: "초대" - invited: "초대를 보냈습니다" -common/views/components/user-lists.vue: - user-lists: "리스트" - create-list: "리스트 만들기" - list-name: "리스트 이름" -common/views/components/user-groups.vue: - user-groups: "그룹" - create-group: "그룹 만들기" - group-name: "그룹명" - owned-groups: "자신의 그룹" - joined-groups: "참여중인 그룹" - invites: "초대" - accept-invite: "참여" - reject-invite: "거부" -common/views/widgets/broadcast.vue: - fetching: "확인중" - no-broadcasts: "공지사항이 없습니다" - have-a-nice-day: "좋은 하루 되세요!" - next: "다음" - prev: "이전" -common/views/widgets/calendar.vue: - year: "{}년" - month: "{}월" - day: "{}일" - today: "오늘:" - this-month: "이번 달:" - this-year: "올해:" -common/views/widgets/photo-stream.vue: - title: "포토 스트림" - no-photos: "사진이 없습니다" -common/views/widgets/posts-monitor.vue: - title: "글 차트" - toggle: "보기 전환" -common/views/widgets/hashtags.vue: - title: "해시태그" -common/views/widgets/server.vue: - title: "서버 정보" - toggle: "보기 전환" -common/views/widgets/memo.vue: - title: "스티커 메모" - memo: "여기에 써주세요!" - save: "저장" -common/views/widgets/slideshow.vue: - folder-customize-mode: "폴더를 지정하려면 커스터마이징 모드를 종료하여 주십시오" - folder: "클릭하여 폴더를 지정하여 주십시오" - no-image: "이 폴더에 사진이 없습니다" -common/views/widgets/tips.vue: - tips-line1: "1로 타임라인을 활성화(focus)할 수 있습니다" - tips-line2: "p 혹은n 키로 글 작성 폼을 열 수 있습니다" - tips-line3: "글에 파일을 끌어넣을 수 있습니다" - tips-line4: "글쓰기 영역에 클립보드에 있는 이미지를 붙여넣을 수 있습니다" - tips-line5: "드라이브에 파일을 끌어넣어 업로드 하실 수 있습니다" - tips-line6: "드라이브에서 파일을 끌어 폴더를 이동할 수 있습니다" - tips-line7: "드라이브에서 폴더를 끌어 폴더를 이동할 수 있습니다" - tips-line8: "홈을 설정에서 커스터마이징 할 수 있습니다" - tips-line9: "Misskey는 AGPLv3입니다" - tips-line10: "타임머신 위젯을 사용하면 간단하게 과거의 타임라인으로 거슬러올라갈 수 있습니다" - tips-line11: "글의 \"...\" 을 클릭하여 글을 사용자의 페이지에 고정할 수 있습니다" - tips-line13: "글에 첨부된 파일은 드라이브에 저장됩니다" - tips-line14: "홈의 커스터마이징에서 위젯을 마우스 오른쪽 클릭 하여 디자인을 변경할 수 있습니다" - tips-line17: "\"**\" 으로 텍스트를 감싸면 **강조표시**됩니다." - tips-line19: "몇몇 창은 브라우저 밖으로 분리할 수 있습니다" - tips-line20: "달력 위젯의 퍼센트는 경과된 비율을 나타냅니다" - tips-line21: "API를 사용하여 bot의 개발 등을 할 수 있습니다" - tips-line23: "아이 귀여워요 아이" - tips-line24: "Misskey는 2014년에 서비스를 시작했습니다" - tips-line25: "대응하는 브라우저인 경우 Misskey를 열어놓지 않아도 알림을 받을 수 있습니다" -common/views/pages/not-found.vue: - page-not-found: "페이지를 찾을 수 없습니다" -common/views/pages/follow.vue: - signed-in-as: "{}으로 로그인" - following: "팔로우 중" - follow: "팔로우" - request-pending: "팔로우 허가 대기중" - follow-processing: "팔로우 처리중" - follow-request: "팔로우 요청" -common/views/pages/follow-requests.vue: - received-follow-requests: "팔로우 요청" - accept: "승인" - reject: "거부" -desktop: - banner-crop-title: "배너로 표시할 부분을 선택" - banner: "배너" - uploading-banner: "새로운 배너를 업로드하고 있습니다" - banner-updated: "배너를 업데이트 했습니다" - choose-banner: "배너 이미지를 선택" - avatar-crop-title: "아바타로 표시할 부분을 선택" - avatar: "아바타" - uploading-avatar: "새로운 아바타를 업로드하고 있습니다" - avatar-updated: "아바타가 변경되었습니다" - choose-avatar: "아바타 이미지를 선택" - unable-to-process: "작업을 완료할 수 없습니다" - invalid-filetype: "이 형식의 파일은 지원되지 않습니다" -desktop/views/components/activity.chart.vue: - total: "검은색 ... 전체" - notes: "파랑색 ... 노트" - replies: "빨강색 ... 답글" - renotes: "초록색 ... 리노트" -desktop/views/components/activity.vue: - title: "활동" - toggle: "보기 전환" -desktop/views/components/calendar.vue: - title: "{year}년 {month}월" - prev: "이전 달" - next: "다음 달" - go: "클릭하여 시간역행" -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "{count} 파일 선택중" - upload: "PC에서 드라이브에 파일을 업로드" - cancel: "취소" - ok: "확인" - choose-prompt: "파일 선택" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "취소" - ok: "확인" - choose-prompt: "폴더 선택" -desktop/views/components/crop-window.vue: - skip: "자르기 건너뛰기" - cancel: "취소" - ok: "확인" -desktop/views/components/drive-window.vue: - used: "사용중" -desktop/views/components/drive.file.vue: - avatar: "아바타" - banner: "배너" - nsfw: "열람주의" - contextmenu: - rename: "이름 변경" - mark-as-sensitive: "열람주의로 설정" - unmark-as-sensitive: "열람주의 해제" - copy-url: "URL 복사" - download: "다운로드" - else-files: "기타" - set-as-avatar: "아바타로 설정" - set-as-banner: "배너로 설정" - open-in-app: "앱에서 열기" - add-app: "앱 추가" - rename-file: "파일 이름 변경" - input-new-file-name: "새 파일 이름을 입력해 주십시오" - copied: "복사 완료" - copied-url-to-clipboard: "URL을 클립보드에 복사하였습니다" -desktop/views/components/drive.folder.vue: - upload-folder: "기본 업로드 위치" - unable-to-process: "작업을 완료할 수 없습니다" - circular-reference-detected: "대상 폴더가 이동할 폴더의 하위 폴더입니다." - unhandled-error: "알 수 없는 오류" - unable-to-delete: "삭제할 수 없습니다" - has-child-files-or-folders: "이 폴더는 비어있지 않기 때문에 삭제할 수 없습니다." - contextmenu: - move-to-this-folder: "이 폴더로 이동" - show-in-new-window: "새 창으로 보기" - rename: "이름 변경" - rename-folder: "폴더 이름 변경" - input-new-folder-name: "새 폴더 이름을 입력하여 주십시오" - else-folders: "기타" - set-as-upload-folder: "기본 업로드 위치로 설정" -desktop/views/components/drive.vue: - search: "검색" - empty-draghover: "끌어놓으신 거 맞나요? 괜찮아요, 저는 귀여우니까요" - empty-drive: "드라이브에 아무것도 없습니다" - empty-drive-description: "오른쪽 클릭하여 \"파일 업로드\"를 선택하거나, 파일을 끌어넣어 업로드할 수 있습니다." - empty-folder: "이 폴더는 비어있습니다" - unable-to-process: "작업을 완료할 수 없습니다" - circular-reference-detected: "대상 폴더가 이동할 폴더의 하위 폴더입니다." - unhandled-error: "알 수 없는 오류" - url-upload: "URL 업로드" - url-of-file: "업로드 하려는 파일의 URL" - url-upload-requested: "업로드를 요청했습니다" - may-take-time: "업로드가 완료될 때까지 시간이 소요될 수 있습니다." - create-folder: "폴더 만들기" - folder-name: "폴더 이름" - contextmenu: - create-folder: "폴더 만들기" - upload: "파일 업로드" - url-upload: "URL에서 업로드" -desktop/views/components/media-video.vue: - sensitive: "열람주의" - click-to-show: "클릭하여 표시" -desktop/views/components/followers-window.vue: - followers: "{} 의 팔로워" -desktop/views/components/followers.vue: - empty: "팔로워가 없는 것 같습니다." -desktop/views/components/following-window.vue: - following: "{} 의 팔로우" -desktop/views/components/following.vue: - empty: "팔로우중인 사용자가 없는 것 같습니다." -desktop/views/components/game-window.vue: - game: "리버시" -desktop/views/components/home.vue: - done: "완료" - add-widget: "위젯 추가:" - add: "추가" -desktop/views/input-dialog.vue: - cancel: "취소" - ok: "확인" -desktop/views/components/note-detail.vue: - private: "이 글은 비공개입니다" - deleted: "이 글은 삭제되었습니다" - location: "위치 정보" - renote: "리노트" - add-reaction: "리액션 추가" - undo-reaction: "리액션 취소" -desktop/views/components/note.vue: - reply: "답글 달기" - renote: "리노트" - add-reaction: "리액션 추가" - undo-reaction: "리액션 취소" - detail: "상세" - private: "이 글은 비공개입니다" - deleted: "이 글은 삭제되었습니다" -desktop/views/components/notes.vue: - error: "불러오지 못했습니다" - retry: "재시도" -desktop/views/components/notifications.vue: - empty: "비었습니다!" -desktop/views/components/post-form.vue: - posted: "게시하였습니다!" - replied: "답글을 달았습니다!" - reposted: "리노트 하였습니다!" - note-failed: "게시에 실패하였습니다" - reply-failed: "답글을 달지 못했습니다" - renote-failed: "리노트에 실패하였습니다" -desktop/views/components/post-form-window.vue: - note: "새 글" - reply: "답글 달기" - attaches: "첨부: {} 미디어" - uploading-media: "{}개의 미디어를 업로드 중" -desktop/views/components/progress-dialog.vue: - waiting: "대기중" -desktop/views/components/renote-form.vue: - quote: "인용하기..." - cancel: "취소" - renote: "리노트" - renote-home: "리노트 (홈)" - reposting: "작업중입니다..." - success: "리노트 하였습니다!" - failure: "리노트에 실패하였습니다" -desktop/views/components/renote-form-window.vue: - title: "이 글을 리노트하시겠습니까?" -desktop/views/pages/user-following-or-followers.vue: - following: "{user}의 팔로잉" - followers: "{user}의 팔로워" -desktop/views/components/settings.2fa.vue: - intro: "2단계 인증을 설정하면 로그인 하려면 비밀번호 외에도 미리 등록 해놓은 물리적 장치 (예를 들면 당신의 스마트 폰 등) 도 필요하게 되어 보안 수준을 보다 향상시킵니다." - detail: "자세히..." - url: "https://www.google.com/intl/ko/landing/2step/" - caution: "등록한 장치를 분실한 경우 Misskey에 로그인할 수 없게 되므로 주의하여 주십시오." - register: "장치 등록" - already-registered: "이미 설정이 완료되었습니다." - unregister: "설정 해제" - unregistered: "2단계 인증이 비활성화되었습니다." - enter-password: "비밀번호를 입력하여 주십시오" - authenticator: "먼저, 가지고 계신 장치에 Google Authenticator를 설치해야 합니다:" - howtoinstall: "설치 방법은 여기에 있습니다" - token: "토큰" - scan: "다음으로 표시되어 있는 QR 코드를 스캔합니다:" - done: "사용중이신 장치에 표시된 토큰을 입력해주시면 마무리됩니다:" - submit: "완료" - success: "설정이 완료되었습니다!" - failed: "설정에 실패했습니다. 토큰이 잘못되었는지 확인해주십시오." - info: "다음 로그인부터는 이와 동일하게 비밀번호에 더해 장치에 표시된 토큰을 입력합니다." - totp-header: "인증 앱" - security-key-header: "보안 키" - security-key: "보안을 강화하려면 FIDO2를 지원하는 하드웨어 보안 키를 사용하여 계정에 로그인할 수 있습니다. 로그인 시 등록하였던 보안 키 또는 인증 앱이 필요하게 됩니다." - last-used: "마지막 사용:" - activate-key: "클릭하여 보안 키를 활성화하여 주십시오" - security-key-name: "키 이름" - register-security-key: "키 등록 완료" - something-went-wrong: "으악! 키를 등록하는 도중 문제가 발생하였습니다:" - key-unregistered: "키가 등록되어 있지 않습니다" - use-password-less-login: "비밀번호 없는 로그인 사용" -common/views/components/media-image.vue: - sensitive: "열람주의" - click-to-show: "클릭하여 보기" -common/views/components/api-settings.vue: - intro: "API를 사용하려면 위의 토큰을 \"i\" 라는 키의 값으로 매개변수를 추가하여 요청합니다." - caution: "계정을 부정 사용할 가능성이 있으므로, 이 토큰은 제 3자에게 알려주지 마십시오 (앱 등에 붙여넣지 마십시오)." - regeneration-of-token: "만일 이 토큰이 유출되었거나 그럴 가능성이 있는 경우 토큰을 재생성할 수 있습니다." - regenerate-token: "토큰 재생성" - token: "Token:" - enter-password: "비밀번호를 입력하여 주십시오" - console: - title: "API 콘솔" - endpoint: "엔드포인트" - parameter: "매개변수" - credential-info: "\"i\" 패러미터는 자동으로 추가됩니다." - send: "전송" - sending: "응답을 기다리는 중" - response: "결과" -desktop/views/components/settings.apps.vue: - no-apps: "연결된 애플리케이션이 없습니다" -common/views/components/drive-settings.vue: - max: "최대 용량" - in-use: "사용중" - stats: "통계" - default-upload-folder: "기본 업로드 폴더 위치" - default-upload-folder-name: "폴더" - change-default-upload-folder: "폴더 변경" -common/views/components/mute-and-block.vue: - mute-and-block: "뮤트 및 차단" - mute: "뮤트" - block: "차단" - no-muted-users: "뮤트한 사용자가 없습니다" - no-blocked-users: "차단한 사용자가 없습니다" - word-mute: "단어 뮤트" - muted-words: "뮤트된 키워드" - muted-words-description: "공백으로 구분하는 경우 AND로 지정되며, 줄바꿈으로 구분하는 경우 OR로 지정됩니다" - unmute-confirm: "이 사용자를 뮤트 해제하시겠습니까?" - unblock-confirm: "이 사용자를 차단 해제하시겠습니까?" - save: "저장" -common/views/components/password-settings.vue: - reset: "비밀번호 변경" - enter-current-password: "현재 비밀번호를 입력하여 주십시오" - enter-new-password: "새 비밀번호를 입력하여 주십시오" - enter-new-password-again: "다시 한 번 새 비밀번호를 입력하여 주십시오" - not-match: "새 비밀번호가 일치하지 않습니다" - changed: "비밀번호를 변경하였습니다" - failed: "비밀번호 변경을 실패하였습니다." -common/views/components/post-form-attaches.vue: - attach-cancel: "첨부 취소" - mark-as-sensitive: "열람주의로 설정" - unmark-as-sensitive: "열람주의 해제" -desktop/views/components/sub-note-content.vue: - private: "이 글은 비공개입니다" - deleted: "이 글은 삭제되었습니다" - media-count: "{}개의 미디어" - poll: "투표" -desktop/views/components/settings.tags.vue: - title: "태그" - query: "쿼리 (생략 가능)" - add: "추가" - save: "저장" -desktop/views/components/timeline.vue: - home: "홈" - local: "로컬" - hybrid: "소셜" - global: "글로벌" - mentions: "받은 멘션" - messages: "다이렉트 게시글" - list: "리스트" - hashtag: "해시태그" - add-tag-timeline: "해시태그 추가" - add-list: "리스트 추가" - list-name: "리스트 이름" -desktop/views/components/ui.header.vue: - welcome-back: "돌아오신 걸 환영합니다." - adjective: "님" -desktop/views/components/ui.header.account.vue: - profile: "프로필" - lists: "리스트" - groups: "그룹" - follow-requests: "팔로우 요청" - admin: "관리" - room: "룸" -desktop/views/components/ui.header.nav.vue: - game: "게임" -desktop/views/components/ui.header.notifications.vue: - title: "알림" -desktop/views/components/ui.header.post.vue: - post: "새 글" -desktop/views/components/ui.header.search.vue: - placeholder: "검색" -desktop/views/components/user-preview.vue: - notes: "글" - following: "팔로잉" - followers: "팔로워" -desktop/views/components/users-list.vue: - all: "모두" - iknow: "아는 사람" - fetching: "불러오는 중입니다" -desktop/views/components/users-list-item.vue: - followed: "당신을 팔로우합니다" -desktop/views/components/window.vue: - popout: "팝아웃" - close: "닫기" -admin/views/index.vue: - dashboard: "대시보드" - instance: "인스턴스" - emoji: "커스텀 이모지" - moderators: "모더레이터" - users: "사용자" - federation: "연합" - announcements: "공지사항" - abuse: "스팸 신고" - queue: "작업 대기열" - logs: "로그" - db: "데이터베이스" - back-to-misskey: "Misskey로 돌아가기" -admin/views/db.vue: - tables: "테이블" - vacuum: "청소" - vacuum-info: "데이터베이스를 청소합니다. 데이터는 그대로인 채로 데이터의 사용량을 줄입니다. 일반적으로 이 작업은 자동으로 정기적으로 수행됩니다." - vacuum-exclamation: "청소를 수행하면 한동안 데이터베이스의 부하가 높아져 사용자 조작을 처리하지 못 할 수 있습니다." -admin/views/dashboard.vue: - dashboard: "대시보드" - accounts: "계정" - notes: "글" - drive: "드라이브" - instances: "인스턴스" - this-instance: "이 인스턴스" - federated: "연합" -admin/views/queue.vue: - title: "큐" - remove-all-jobs: "모든 작업 제거" - jobs: "작업" - queue: "큐" - domains: - deliver: "전송" - inbox: "수신" - db: "데이터베이스" - objectStorage: "오브젝트 스토리지" - state: "상태" - states: - active: "처리중" - delayed: "지연됨" - waiting: "대기열에 있음" - result-is-truncated: "결과는 생략되었습니다" - other-queues: "기타 큐" -admin/views/logs.vue: - logs: "로그" - domain: "도메인" - level: "수준" - levels: - all: "전체" - info: "정보" - success: "성공" - warning: "경고" - error: "오류" - debug: "디버그" - delete-all: "모두 삭제" -admin/views/abuse.vue: - title: "스팸 신고" - target: "대상" - reporter: "신고자" - details: "상세" - remove-report: "삭제" -admin/views/instance.vue: - instance: "인스턴스" - instance-name: "인스턴스 이름" - instance-description: "인스턴스의 소개" - host: "관리자" - icon-url: "아이콘 URL" - logo-url: "로고 URL" - banner-url: "배너 이미지 URL" - error-image-url: "오류 이미지 URL" - languages: "인스턴스의 대상 언어" - languages-desc: "공백으로 구분하여 여러 개 설정할 수 있습니다." - tos-url: "이용약관 URL" - repository-url: "저장소 URL" - feedback-url: "피드백 URL" - maintainer-config: "관리자 정보" - maintainer-name: "관리자 이름" - maintainer-email: "관리자 연락처" - advanced-config: "그 외 설정" - note-and-tl: "글과 타임라인" - drive-config: "드라이브 설정" - use-object-storage: "오브젝트 스토리지를 사용" - object-storage-base-url: "URL" - object-storage-bucket: "버킷 이름" - object-storage-prefix: "프리픽스" - object-storage-endpoint: "엔드포인트" - object-storage-region: "리전" - object-storage-port: "포트" - object-storage-access-key: "액세스 키" - object-storage-secret-key: "시크릿 키" - object-storage-use-ssl: "SSL 사용" - object-storage-s3-info: "Amazon S3를 오브젝트 스토리지로 사용하는 경우의 「엔드포인트」와 「리전」의 설정값에 대해서는 {0}을 확인하여 주십시오." - object-storage-s3-info-here: "이곳" - object-storage-gcs-info: "Google Cloud Storage를 오브젝트 스토리지로 사용하는 경우, 「엔드포인트」는 storage.googleapis.com 으로 설정하고, 「리전」 란은 비웁니다." - cache-remote-files: "원격 파일을 캐시" - cache-remote-files-desc: "이 설정을 해지하면 원격 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 프라이버시 설정에서 직접 링크를 무효로 설정한 사용자에게는 파일이 보이지 않거나, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다. 보통은 이 설정을 사용하거나 아래의 원격 파일 프록시를 설정하는 것을 추천합니다." - proxy-remote-files: "원격 파일 프록시" - proxy-remote-files-desc: "이 설정을 사용하면, 저장되지 않았거나 용량 초과로 삭제된 원격 파일을 로컬에서 프록시하여 썸네일을 생성하게 됩니다." - local-drive-capacity-mb: "로컬 사용자 한 명당 드라이브 용량" - remote-drive-capacity-mb: "원격 사용자 한 명당 드라이브 용량" - mb: "메가바이트 단위" - recaptcha-config: "reCAPCHA 설정" - recaptcha-info: "reCAPCHA를 사용하도록 설정하는 경우 reCAPCHA 토큰을 확보해야 합니다. https://www.google.com/recaptcha/intro/ 에 접속하여 토큰을 가져와주십시오." - recaptcha-info2: "v3는지원하지 않습니다. v2를 사용하여 주십시오." - enable-recaptcha: "reCAPCHA 활성화" - recaptcha-site-key: "사이트 키" - recaptcha-secret-key: "시크릿 키" - recaptcha-preview: "미리보기" - hidden-tags: "숨긴 해시태그" - hidden-tags-info: "집계에서 제외할 해시태그를 줄 바꿈으로 구분하여 기술합니다." - external-service-integration-config: "외부 서비스 연계" - twitter-integration-config: "Twitter 연동 설정" - twitter-integration-info: "콜백 URL은 {url} 로 설정됩니다." - enable-twitter-integration: "트위터 연동 활성화" - twitter-integration-consumer-key: "Consumer key" - twitter-integration-consumer-secret: "Consumer secret" - github-integration-config: "Github 연동 설정" - github-integration-info: "콜백 URL은 {url} 로 설정됩니다." - enable-github-integration: "Github 연동 활성화" - github-integration-client-id: "Client ID" - github-integration-client-secret: "Client Secret" - discord-integration-config: "Discord 연동 설정" - discord-integration-info: "콜백 URL은 {url} 로 설정됩니다." - enable-discord-integration: "Discord 연동 활성화" - discord-integration-client-id: "Client ID" - discord-integration-client-secret: "Client Secret" - proxy-account-config: "프록시 계정 설정" - proxy-account-info: "프록시 계정은 특정 조건에서 사용자의 원격 팔로잉을 대행하는 계정입니다. 예를 들면, 사용자가 원격 사용자를 리스트에 넣었을 때 리스트에 삽입된 사용자를 아무도 팔로우하지 않으면 해당 사용자의 액티비티가 이 서버로 전송되지 않습니다. 그런 경우 대신 프록시 계정이 해당 사용자를 팔로우하도록 합니다." - proxy-account-username: "프록시 계정 사용자명" - proxy-account-username-desc: "프록시로 사용할 사용자의 사용자명을 지정하여 주십시오." - proxy-account-warn: "프록시 계정은 자동으로 생성되지 않으므로 해당 사용자명의 계정을 미리 생성해둬야 합니다." - max-note-text-length: "글의 최대 문자수" - disable-registration: "사용자 등록 비활성화" - disable-local-timeline: "로컬 타임라인 비활성화" - disable-global-timeline: "글로벌 타임라인 비활성화" - disabling-timelines-info: "이 타임라인들을 비활성화해도 관리자 및 모더레이터는 계속 사용할 수 있습니다." - enable-emoji-reaction: "리액션에 이모지를 사용할 수 있게 함" - use-star-for-reaction-fallback: "알 수 없는 리액션을 star로 대체하여 사용" - invite: "초대" - save: "저장" - saved: "저장하였습니다" - pinned-users: "고정된 사용자" - pinned-users-info: "고정해두고 싶은 사용자를 줄바꿈으로 구분하여 기술합니다." - email-config: "메일 서버 설정" - email-config-info: "메일 주소 확인 혹은 비밀번호 재설정에 사용 됩니다." - enable-email: "메일 발신 활성화" - email: "메일 주소" - smtp-secure: "SMTP 연결에 암시적으로 SSL/TLS를 사용" - smtp-secure-info: "STARTTLS를 사용 시 ON으로 합니다." - smtp-host: "SMTP 호스트" - smtp-port: "SMTP 포트" - smtp-auth: "SMTP 인증 수행" - smtp-user: "SMTP 사용자" - smtp-pass: "SMTP 비밀번호" - test-email: "테스트" - serviceworker-config: "ServiceWorker" - enable-serviceworker: "ServiceWorker 사용" - serviceworker-info: "푸시알림을 수행하려면 사용해야 합니다." - vapid-publickey: "VAPID 공개키" - vapid-privatekey: "VAPID 개인키" - vapid-info: "ServiceWorker를 사용하는 경우 VAPID 키 쌍을 생성해야 합니다. 셸에서 다음과 같이 합니다:" -admin/views/charts.vue: - title: "차트" - per-day: "1일마다" - per-hour: "1시간마다" - federation: "연합" - notes: "글" - users: "사용자" - drive: "드라이브" - network: "네트워크" - charts: - federation-instances: "인스턴스 수 증감" - federation-instances-total: "인스턴스 수 누계" - notes: "글 증감 (통합)" - local-notes: "글 증감 (로컬)" - remote-notes: "글 증감 (원격)" - notes-total: "글 누적" - users: "사용자 증감" - users-total: "사용자 누적" - active-users: "활성 사용자 수" - drive: "드라이브 사용량 증감" - drive-total: "드라이브 사용량 누적" - drive-files: "드라이브 파일 수 증감" - drive-files-total: "드라이브 파일 수 누적" - network-requests: "요청" - network-time: "응답시간" - network-usage: "통신량" -admin/views/drive.vue: - operation: "작업" - fileid-or-url: "파일 ID 또는 파일 URL" - file-not-found: "파일을 찾을 수 없습니다" - lookup: "조회" - sort: - title: "정렬" - createdAtAsc: "업로드 날짜 오랜 순" - createdAtDesc: "업로드 날짜 최신순" - sizeAsc: "크기가 작은 순" - sizeDesc: "크기가 큰 순" - origin: - title: "출처" - combined: "로컬 + 리모트" - local: "로컬" - remote: "리모트" - delete: "삭제" - deleted: "삭제하였습니다" - mark-as-sensitive: "열람주의로 설정" - unmark-as-sensitive: "열람주의 해제" - marked-as-sensitive: "열람주의로 설정하였습니다" - unmarked-as-sensitive: "열람주의를 제거하였습니다" - clean-remote-files: "리모트 파일 캐시를 삭제" - clean-remote-files-are-you-sure: "정말 모든 리모트 파일의 캐시를 삭제하시겠습니까?" - clean-up: "청소" -admin/views/users.vue: - operation: "작업" - username-or-userid: "사용자명 혹은 사용자 ID" - user-not-found: "사용자를 찾을 수 없습니다" - lookup: "조회" - reset-password: "비밀번호 재설정" - reset-password-confirm: "비밀번호를 재설정하시겠습니까?" - password-updated: "비밀번호는 현재 \"{password}\" 입니다" - suspend: "정지" - suspend-confirm: "정지하시겠습니까?" - suspended: "정지하였습니다" - unsuspend: "정지 해제" - unsuspend-confirm: "정지를 해제하시겠습니까?" - unsuspended: "정지를 해제하였습니다" - make-silence: "침묵" - silence-confirm: "침묵으로 설정합니까?" - unmake-silence: "침묵 해제" - unsilence-confirm: "침묵 해제하시겠습니까?" - update-remote-user: "원격 사용자 정보 갱신" - remote-user-updated: "원격 사용자 정보를 갱신하였습니다" - delete-all-files: "모든 파일 삭제" - delete-all-files-confirm: "모든 파일을 삭제하시겠습니까?" - username: "사용자명" - host: "호스트" - users: - title: "사용자" - sort: - title: "정렬" - createdAtAsc: "등록일이 오래된 순" - createdAtDesc: "등록일이 최신인 순" - updatedAtAsc: "수정일이 오래된 순" - updatedAtDesc: "수정일이 최신인 순" - state: - title: "상태" - all: "모두" - available: "이용 가능" - admin: "관리자" - moderator: "모더레이터" - adminOrModerator: "관리자+모더레이터" - silenced: "침묵됨" - suspended: "정지됨" - origin: - title: "위치 (오리진)" - combined: "로컬 + 원격" - local: "로컬" - remote: "원격" - createdAt: "등록 날짜" - updatedAt: "수정한 날짜" -admin/views/moderators.vue: - add-moderator: - title: "모더레이터 등록" - add: "등록" - added: "모더레이터를 등록하였습니다" - remove: "해제" - removed: "모더레이터 등록을 해제했습니다" - logs: - title: "로그" - moderator: "모더레이터" - type: "작업" - at: "일시" - info: "정보" -admin/views/emoji.vue: - add-emoji: - title: "이모지 등록" - name: "이모지 이름" - name-desc: "a~z 0~9 _ 의 문자를 사용할 수 있습니다." - category: "카테고리" - aliases: "별칭" - aliases-desc: "공백으로 구분하여 여러 개 설정할 수 있습니다." - url: "이모지 이미지 URL" - add: "추가" - info: "50KB 미만의 PNG 이미지를 추천합니다." - added: "이모지를 등록하였습니다" - emojis: - title: "이모지 목록" - update: "업데이트" - remove: "삭제" - updated: "업데이트 하였습니다" - remove-emoji: - are-you-sure: "\"$1\" 을 삭제하시겠습니까?" - removed: "삭제하였습니다" -admin/views/announcements.vue: - announcements: "공지사항" - save: "저장" - remove: "삭제" - add: "추가" - title: "제목" - text: "내용" - saved: "저장하였습니다" - _remove: - are-you-sure: "\"$1\" 을 삭제하시겠습니까?" - removed: "삭제하였습니다" -admin/views/hashtags.vue: - hided-tags: "Hidden Tags" -admin/views/federation.vue: - instance: "인스턴스" - host: "호스트" - notes: "글" - users: "사용자" - following: "팔로우 중" - followers: "팔로워" - caught-at: "등록 날짜" - status: "상태" - latest-request-sent-at: "마지막으로 요청을 전송한 시간" - latest-request-received-at: "마지막으로 요청을 받은 시간" - remove-all-following: "모든 팔로잉 해제" - remove-all-following-info: "{host}(으)로부터 모든 팔로잉을 해제합니다. 해당 인스턴스가 더 이상 존재하지 않게 된 경우 등에 실행하십시오." - delete-all-files: "파일을 모두 삭제" - block: "차단" - marked-as-closed: "폐쇄된 것으로 표시" - lookup: "조회" - instances: "연합" - instance-not-registered: "해당 인스턴스가 등록되어 있지 않습니다" - sort: "정렬" - sorts: - caughtAtAsc: "등록일이 오래된 순" - caughtAtDesc: "등록일이 최신인 순" - lastCommunicatedAtAsc: "마지막으로 요청을 주고받은 일시가 오래된 순" - lastCommunicatedAtDesc: "마지막으로 요청을 주고받은 일시가 빠른 순" - notesAsc: "글이 적은 순" - notesDesc: "글이 많은 순" - usersAsc: "사용자가 적은 순" - usersDesc: "사용자가 많은 순" - followingAsc: "팔로잉이 적은 순" - followingDesc: "팔로잉이 많은 순" - followersAsc: "팔로워가 적은 순" - followersDesc: "팔로워가 많은 순" - driveUsageAsc: "드라이브 사용량이 적은 순" - driveUsageDesc: "드라이브 사용량이 많은 순" - driveFilesAsc: "드라이브 파일 수가 적은 순" - driveFilesDesc: "드라이브 파일 수가 많은 순" - state: "상태" - states: - all: "모두" - blocked: "차단됨" - not-responding: "응답 없음" - marked-as-closed: "폐쇄된 것으로 표시됨" - result-is-truncated: "상위 {n}개를 표시하고 있습니다." - charts: "차트" - chart-srcs: - requests: "요청" - users: "사용자 증감" - users-total: "사용자 누적" - notes: "글 증감" - notes-total: "글 누적" - ff: "팔로잉/팔로워 증감" - ff-total: "팔로잉/팔로워 누적" - drive-usage: "드라이브 사용량 증감" - drive-usage-total: "드라이브 사용량 누적" - drive-files: "드라이브 파일 수 증감" - drive-files-total: "드라이브 파일 수 누적" - chart-spans: - hour: "1시간마다" - day: "1일마다" - blocked-hosts: "차단" - blocked-hosts-info: "차단할 호스트를 줄바꿈으로 구분하여 기술합니다." - save: "저장" -desktop/views/pages/welcome.vue: - about: "자세히..." - timeline: "타임라인" - announcements: "공지사항" - photos: "최근 이미지" - powered-by-misskey: "Powered by Misskey." - info: "정보" -desktop/views/pages/drive.vue: - title: "Misskey Drive" -desktop/views/pages/note.vue: - prev: "이전 글" - next: "다음 글" -desktop/views/pages/selectdrive.vue: - title: "파일을 선택하여 주십시오" - ok: "확인" - cancel: "취소" - upload: "PC에서 드라이브에 파일을 업로드" -desktop/views/pages/search.vue: - not-available: "검색 기능은 인스턴스 설정에서 비활성화되어 있습니다." - not-found: "\"{q}\" 와 일치하는 글을 찾을 수 없습니다." -desktop/views/pages/tag.vue: - no-posts-found: "해시태그 \"{q}\"가 붙은 글을 찾을 수 없습니다." -desktop/views/pages/user-list.users.vue: - users: "사용자" - add-user: "사용자 추가" - username: "사용자명" -desktop/views/pages/user/user.followers-you-know.vue: - title: "아는 사람의 팔로워" - loading: "로드 중" - no-users: "아는 사람의 팔로워가 없습니다." -desktop/views/pages/user/user.friends.vue: - title: "자주 언급되는 사용자" - loading: "로드 중" - no-users: "자주 언급되는 사용자가 없습니다" -desktop/views/pages/user/user.photos.vue: - title: "사진" - loading: "로드 중" - no-photos: "사진이 없습니다" -desktop/views/pages/user/user.header.vue: - posts: "글" - following: "팔로잉" - followers: "팔로워" - is-bot: "이 계정은 Bot입니다" - no-description: "자기소개가 없습니다" - years-old: "{age}세" - year: "년" - month: "월" - day: "일" - follows-you: "당신을 팔로우합니다" -desktop/views/pages/user/user.timeline.vue: - default: "글" - with-replies: "글과 답글" - with-media: "미디어" - my-posts: "내 글" -desktop/views/widgets/notifications.vue: - title: "알림" -desktop/views/widgets/polls.vue: - title: "투표" - refresh: "새로고침" - nothing: "없습니다!" -desktop/views/widgets/post-form.vue: - title: "글쓰기" - note: "글쓰기" - something-happened: "알 수 없는 문제로 글을 게시할 수 없습니다." -desktop/views/widgets/profile.vue: - update-banner: "클릭하여 배너 변경" - update-avatar: "클릭하여 아바타 변경" -desktop/views/widgets/trends.vue: - title: "트렌드" - refresh: "새로고침" - nothing: "없습니다!" -desktop/views/widgets/users.vue: - title: "추천 사용자" - refresh: "새로고침" - no-one: "없습니다!" -mobile/views/components/drive.vue: - used: "사용중" - folder-count: "폴더" - count-separator: ", " - file-count: "파일" - nothing-in-drive: "드라이브에 아무것도 없습니다" - folder-is-empty: "폴더가 비어있습니다" - folder-name: "폴더 이름" - here-is-root: "현재 경로는 루트 경로로 폴더가 아닙니다." - url-prompt: "업로드 하려는 파일의 URL" - uploading: "업로드를 요청하였습니다. 업로드가 완료될 때까지 시간이 소요될 수 있습니다." - folder-name-cannot-empty: "폴더 이름은 비워둘 수 없습니다." -mobile/views/components/drive-file-chooser.vue: - select-file: "파일 선택" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "폴더 선택" -mobile/views/components/drive.file.vue: - nsfw: "열람주의" -mobile/views/components/drive.file-detail.vue: - download: "다운로드" - rename: "이름 변경" - move: "이동" - hash: "해시 (md5)" - exif: "EXIF" - nsfw: "열람주의" - mark-as-sensitive: "열람주의로 설정" - unmark-as-sensitive: "열람주의 해제" -mobile/views/components/media-video.vue: - sensitive: "열람주의" - click-to-show: "클릭하여 표시" -common/views/components/follow-button.vue: - following: "팔로우 중" - follow: "팔로우" - request-pending: "팔로우 허가 대기중" - follow-processing: "팔로우 처리중" - follow-request: "팔로우 요청" -mobile/views/components/note.vue: - private: "이 글은 비공개입니다" - deleted: "이 글은 삭제되었습니다" - location: "위치 정보" -mobile/views/components/note-detail.vue: - reply: "답글 달기" - reaction: "리액션" - private: "이 글은 비공개입니다" - deleted: "이 글은 삭제되었습니다" - location: "위치 정보" -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "cat" -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "cat" -mobile/views/components/notifications.vue: - empty: "없습니다!" -mobile/views/components/sub-note-content.vue: - private: "이 글은 비공개입니다" - deleted: "이 글은 삭제되었습니다" - media-count: "{}개의 미디어" - poll: "투표" -mobile/views/components/ui.header.vue: - welcome-back: "돌아오신 걸 환영합니다." - adjective: "님" -mobile/views/components/ui.nav.vue: - timeline: "타임라인" - notifications: "알림" - follow-requests: "팔로우 요청" - search: "검색" - user-lists: "리스트" - user-groups: "그룹" - widgets: "위젯" - game: "게임" - admin: "관리" - about: "Misskey에 대하여" -mobile/views/pages/drive.vue: - contextmenu: - upload: "파일 업로드" - url-upload: "파일을 URL로부터 업로드" - create-folder: "폴더 만들기" - rename-folder: "폴더 이름 바꾸기" - move-folder: "이 폴더를 이동" - delete-folder: "이 폴더를 삭제" -mobile/views/pages/signup.vue: - lets-start: "📦 이제 시작해도 됩니다" -mobile/views/pages/followers.vue: - followers-of: "{name}의 팔로워" -mobile/views/pages/following.vue: - following-of: "{name}의 팔로잉" -mobile/views/pages/home.vue: - home: "홈" - local: "로컬" - hybrid: "소셜" - global: "글로벌" - mentions: "받은 멘션" - messages: "다이렉트 게시글" -mobile/views/pages/tag.vue: - no-posts-found: "해시태그 \"{q}\"가 붙은 글을 찾을 수 없습니다." -mobile/views/pages/widgets.vue: - dashboard: "대시보드" - widgets-hints: "위젯을 추가 / 제거하거나 정렬할 수 있습니다. 위젯을 이동하려면 창틀의 \"☰\" 아이콘을 드래그합니다. 위젯을 삭제하려면 \"X\" 아이콘을 탭 합니다. 몇몇 위젯은 탭하면 표시형식을 바꿀 수 있습니다." - add-widget: "추가" - customization-tips: "커스터마이징 도움말" -mobile/views/pages/widgets/activity.vue: - activity: "활동" -mobile/views/pages/share.vue: - share-with: "{name}(으)로 공유" -mobile/views/pages/note.vue: - title: "글" - prev: "이전 글" - next: "다음 글" -mobile/views/pages/games/reversi.vue: - reversi: "리버시" -mobile/views/pages/search.vue: - search: "검색" - not-found: "\"{q}\" 와 일치하는 글을 찾을 수 없습니다." -mobile/views/pages/selectdrive.vue: - select-file: "파일 선택" -mobile/views/pages/notifications.vue: - notifications: "알림" -mobile/views/pages/settings.vue: - signed-in-as: "{}(으)로 로그인" -mobile/views/pages/user.vue: - follows-you: "당신을 팔로우합니다" - following: "팔로잉" - followers: "팔로워" - notes: "글" - overview: "요약" - timeline: "타임라인" - media: "미디어" - years-old: "{age}세" -mobile/views/pages/user/home.vue: - recent-notes: "최근 글" - images: "이미지" - activity: "활동" - keywords: "키워드" - domains: "자주 보이는 도메인" - frequently-replied-users: "자주 언급되는 사용자" - followers-you-know: "아는 사람의 팔로워" - last-used-at: "마지막 로그인" -mobile/views/pages/user/home.photos.vue: - no-photos: "사진이 없습니다" -deck: - widgets: "위젯" - home: "홈" - local: "로컬" - hybrid: "소셜" - hashtag: "해시태그" - global: "글로벌" - mentions: "받은 멘션" - direct: "다이렉트 게시글" - notifications: "알림" - list: "리스트" - select-list: "리스트를 선택하여 주십시오" - swap-left: "왼쪽으로 이동" - swap-right: "오른쪽으로 이동" - swap-up: "위로 이동" - swap-down: "아래로 이동" - remove: "칼럼 제거" - add-column: "칼럼 추가" - rename: "이름 변경" - stack-left: "왼쪽에 쌓기" - pop-right: "오른쪽으로 빼기" - disabled-timeline: - title: "비활성화된 타임라인" - description: "서버 운영자에 의해 이 타임라인이 사용할 수 없도록 설정되어 있습니다." -deck/deck.tl-column.vue: - is-media-only: "미디어가 달린 글만" - edit: "옵션" -deck/deck.user-column.vue: - follows-you: "당신을 팔로우합니다" - posts: "글" - following: "팔로잉" - followers: "팔로워" - images: "이미지" - activity: "활동" - timeline: "타임라인" - pinned-notes: "고정해놓은 글" - pinned-page: "고정해놓은 페이지" -docs: - edit-this-page-on-github: "틀린 점이나 개선할 점을 찾으셨나요?" - edit-this-page-on-github-link: "이 페이지를 GitHub에서 편집" -dev/views/index.vue: - manage-apps: "앱 관리" -dev/views/apps.vue: - manage-apps: "앱 관리" - create-app: "앱 생성" - app-missing: "앱 없음" -dev/views/new-app.vue: - new-app: "새 애플리케이션" - new-app-info: "애플리케이션은 API에서도 생성할 수 있습니다. (app/create)" - create-app: "애플리케이션 생성" - app-name: "애플리케이션 이름" - app-name-placeholder: "ex) Misskey for iOS" - app-name-desc: "앱의 이름." - app-overview: "앱 개요" - app-overview-placeholder: "ex) Misskey iOS 클라이언트." - app-overview-desc: "애플리케이션에 대한 간단한 설명이나 소개" - callback-url: "콜백 URL (옵션)" - callback-url-placeholder: "ex) https://your.app.example.com/callback.php" - callback-url-desc: "사용자가 인증 폼에서 인증한 뒤 리다이렉트할 URL을 설정합니다." - authority: "권한" - authority-desc: "이곳에서 요청한 권한에 한정하여 API로 액세스할 수 있습니다." - authority-warning: "앱을 생성한 뒤에도 변경할 수 있지만, 새로운 권한을 설정하는 경우 그 시점부터 예전에 발급받았던 유저 키는 모두 무효화됩니다." -pages: - new-page: "페이지 만들기" - edit-page: "페이지 수정" - read-page: "소스 표시중" - page-created: "페이지를 만들었습니다" - page-updated: "페이지를 수정했습니다" - name-already-exists: "지정한 페이지 URL은 이미 존재합니다" - title-invalid-name: "유효하지 않은 페이지 URL입니다" - text-invalid-name: "비어있지 않은지 확인해주세요" - are-you-sure-delete: "이 페이지를 삭제하시겠습니까?" - page-deleted: "페이지가 삭제되었습니다" - edit-this-page: "이 페이지를 편집" - pin-this-page: "프로필에 고정" - unpin-this-page: "프로필에서 고정 해제" - view-source: "소스 보기" - view-page: "페이지 보기" - like: "좋아요" - unlike: "좋아요 해제" - liked-pages: "좋아요한 페이지" - my-pages: "내 페이지" - inspector: "인스펙터" - content: "페이지 블록" - variables: "변수" - variables-info: "변수를 사용하면 동적인 페이지를 만들 수 있습니다. 텍스트에 { 변수명 }을 적으면 그 위치에 변수의 값을 집어넣습니다. 예를 들자면 Hello { thing } world! 라는 텍스트가 있을 때, 변수(thing)의 값이 ai인 경우 텍스트는 Hello ai world!가 됩니다." - variables-info2: "변수의 평가(값을 산출해내는 것)는 위에서부터 아래로 진행되므로 어떤 변수의 내부에서 자신보다 아래에 있는 변수를 참조할 수는 없습니다. 예를 들자면 위에서부터 A, B, C의 3개의 변수가 정의되어 있을 때, C의 내부에 AB를 참조할 수는 있지만, A의 내부에서 BC를 참조할 수는 없습니다." - variables-info3: "사용자로부터 입력을 받으려면, 페이지에 「사용자 입력」 블록을 삽입하고 「변수명」에 입력받은 값을 저장하고 싶은 변수명을 설정합니다 (변수는 자동으로 생성됩니다). 그 변수를 사용하여 사용자 입력에 따라 동작할 수 있습니다." - variables-info4: "함수를 사용하면 반복되는 작업을 손쉽게 처리할 수 있습니다. 함수를 만드시려면 「함수」 타입의 변수를 만듭니다. 함수에서 슬롯(인수)를 받도록 설정하면, 함수를 사용할 때 슬롯에 입력된 값을 함수 안에서 변수로써 이용할 수 있게 됩니다. 또한, AiScript 표준에는 함수를 인수로 받는 함수(고차함수)도 존재합니다. 함수를 미리 정의하는 것 외에, 이와 같은 고차함수를 즉석으로 설정할 수 있습니다." - more-details: "자세한 설명" - title: "제목" - url: "페이지 URL" - summary: "페이지 요약" - align-center: "가운데 정렬" - hide-title-when-pinned: "프로필에 고정해놓은 경우 타이틀을 표시하지 않음" - font: "글꼴" - fontSerif: "세리프" - fontSansSerif: "산 세리프" - set-eye-catching-image: "아이캐치 이미지를 설정" - remove-eye-catching-image: "아이캐치 이미지를 삭제" - choose-block: "블록 추가" - select-type: "종류 선택" - enter-variable-name: "변수명을 설정해주십시오" - the-variable-name-is-already-used: "그 변수명은 이미 사용중입니다" - content-blocks: "콘텐츠" - input-blocks: "입력" - special-blocks: "특수" - post-from-post-form: "이 내용을 올리기" - posted-from-post-form: "게시하였습니다" - blocks: - text: "텍스트" - textarea: "텍스트 영역" - section: "섹션" - image: "이미지" - button: "버튼" - if: "만약" - _if: - variable: "변수" - post: "글 입력란" - _post: - text: "내용" - textInput: "텍스트 입력" - _textInput: - name: "변수명" - text: "제목" - default: "기본값" - textareaInput: "여러 줄 텍스트 입력" - _textareaInput: - name: "변수명" - text: "제목" - default: "기본값" - numberInput: "수치 입력" - _numberInput: - name: "변수명" - text: "제목" - default: "기본값" - switch: "스위치" - _switch: - name: "변수명" - text: "제목" - default: "기본값" - counter: "카운터" - _counter: - name: "변수명" - text: "제목" - inc: "증가치" - _button: - text: "제목" - colored: "색상" - action: "버튼을 눌렀을 때의 동작" - _action: - dialog: "대화상자를 표시" - _dialog: - content: "내용" - resetRandom: "난수를 초기화" - pushEvent: "이벤트 보내기" - _pushEvent: - event: "이벤트 이름" - message: "눌렀을 때 표시할 메시지" - variable: "보낼 변수" - no-variable: "없음" - radioButton: "선택지" - _radioButton: - name: "변수명" - title: "제목" - values: "줄바꿈으로 구분된 선택지" - default: "기본값" - script: - categories: - flow: "흐름 제어" - logical: "논리 연산" - operation: "계산" - comparison: "비교" - random: "랜덤" - value: "값" - fn: "함수" - text: "텍스트 조작" - convert: "변환" - list: "리스트" - blocks: - text: "텍스트" - multiLineText: "텍스트 (여러줄)" - textList: "텍스트 목록" - _textList: - info: "각각을 줄 바꿈으로 구분해주십시오" - strLen: "텍스트의 길이" - _strLen: - arg1: "텍스트" - strPick: "문자 추출" - _strPick: - arg1: "텍스트" - arg2: "문자 위치" - strReplace: "텍스트 치환" - _strReplace: - arg1: "텍스트" - arg2: "치환 전" - arg3: "치환 후" - strReverse: "텍스트 뒤집기" - _strReverse: - arg1: "텍스트" - join: "텍스트 접합" - _join: - arg1: "리스트" - arg2: "구분자" - add: "+ 더하기" - _add: - arg1: "A" - arg2: "B" - subtract: "- 빼기" - _subtract: - arg1: "A" - arg2: "B" - multiply: "× 곱하기" - _multiply: - arg1: "A" - arg2: "B" - divide: "÷ 나누기" - _divide: - arg1: "A" - arg2: "B" - mod: "÷ 나눈 나머지" - _mod: - arg1: "A" - arg2: "B" - round: "소수점을 반올림" - _round: - arg1: "수치" - eq: "A와 B가 동일" - _eq: - arg1: "A" - arg2: "B" - notEq: "A와 B가 다름" - _notEq: - arg1: "A" - arg2: "B" - and: "A 그리고 B" - _and: - arg1: "A" - arg2: "B" - or: "A 혹은 B" - _or: - arg1: "A" - arg2: "B" - lt: "< A가 B보다 작음" - _lt: - arg1: "A" - arg2: "B" - gt: "> A가 B보다 큼" - _gt: - arg1: "A" - arg2: "B" - ltEq: "<= A가 B보다 작거나 같음" - _ltEq: - arg1: "A" - arg2: "B" - gtEq: ">= A가 B보다 크거나 같음" - _gtEq: - arg1: "A" - arg2: "B" - if: "분기" - _if: - arg1: "만약" - arg2: "그러면" - arg3: "그렇지 않으면" - not: "부정" - _not: - arg1: "부정" - random: "랜덤" - _random: - arg1: "확률" - rannum: "난수" - _rannum: - arg1: "최소" - arg2: "최대" - randomPick: "목록에서 임의로 선택" - _randomPick: - arg1: "리스트" - dailyRandom: "랜덤 (하루동안 결과 유지)" - _dailyRandom: - arg1: "확률" - dailyRannum: "난수 (하루동안 결과 유지)" - _dailyRannum: - arg1: "최소" - arg2: "최대" - dailyRandomPick: "목록에서 임의로 선택 (하루동안 결과 유지)" - _dailyRandomPick: - arg1: "리스트" - seedRandom: "무작위 (시드)" - _seedRandom: - arg1: "시드" - arg2: "확률" - seedRannum: "난수 (시드)" - _seedRannum: - arg1: "시드" - arg2: "최소" - arg3: "최대" - seedRandomPick: "목록에서 무작위로 선택 (시드)" - _seedRandomPick: - arg1: "시드" - arg2: "리스트" - DRPWPM: "확률형 목록에서 임의로 선택 (하루동안 결과 유지)" - _DRPWPM: - arg1: "텍스트 목록" - pick: "목록에서 선택" - _pick: - arg1: "리스트" - arg2: "위치" - listLen: "리스트의 길이 가져오기" - _listLen: - arg1: "리스트" - number: "수치" - stringToNumber: "텍스트를 수치로" - _stringToNumber: - arg1: "텍스트" - numberToString: "수치를 텍스트로" - _numberToString: - arg1: "수치" - splitStrByLine: "텍스트를 행 단위로 분할" - _splitStrByLine: - arg1: "텍스트" - ref: "변수" - fn: "함수" - _fn: - slots: "슬롯" - slots-info: "각 슬롯을 줄 바꿈으로 구분하여 주십시오" - arg1: "출력" - for: "반복" - _for: - arg1: "횟수" - arg2: "처리" - typeError: "슬롯 {slot}은 \"{expect}\"를 사용할 수 있지만 \"{actual}이 들어있습니다!" - thereIsEmptySlot: "슬롯 {slot}이(가) 비었습니다!" - types: - string: "텍스트" - number: "수치" - boolean: "플래그" - array: "리스트" - stringArray: "텍스트 목록" - emptySlot: "빈 슬롯" - enviromentVariables: "환경 변수" - pageVariables: "페이지 요소" - argVariables: "입력 슬롯" -room: - add-furniture: "가구를 배치" - translate: "이동" - rotate: "회전" - exit: "선택 해제" - remove: "치우기" - save: "저장" - saved: "저장하였습니다" - clear: "모두 치우기" - clear-confirm: "정말 방 안의 모든 가구를 치우시겠습니까?" - leave-confirm: "저장되지 않은 변경 사항이 있습니다. 정말 나가시겠습니까?" - chooseImage: "이미지 선택" - room-type: "룸 종류" - carpet-color: "바닥 색상" - rooms: - default: "기본" - washitsu: "일본식" - furnitures: - milk: "우유 팩" - bed: "침대" - low-table: "낮은 테이블" - desk: "책상" - chair: "의자" - chair2: "의자 2" - fan: "환기구" - pc: "컴퓨터" - plant: "관엽식물" - plant2: "관엽식물 2" - eraser: "지우개" - pencil: "연필" - pudding: "푸딩" - cardboard-box: "골판지 상자" - cardboard-box2: "골판지 상자 2" - cardboard-box3: "골판지 상자 3" - book: "책" - book2: "책 2" - piano: "피아노" - facial-tissue: "휴지 상자" - server: "서버" - moon: "달" - corkboard: "게시판" - mousepad: "마우스 패드" - monitor: "모니터" - keyboard: "키보드" - carpet-stripe: "카페트 (줄무늬)" - mat: "매트" - color-box: "책장" - wall-clock: "벽걸이 시계" - photoframe: "액자" - cube: "큐브" - tv: "TV" - pinguin: "펭귄" - rubik-cube: "루빅스 큐브" - poster-h: "포스터 (가로)" - poster-v: "포스터 (세로)" - sofa: "소파" - spiral: "나선형 계단" - bin: "휴지통" - cup-noodle: "컵라면" - holo-display: "홀로그램" - energy-drink: "에너지 드링크" diff --git a/locales/nl-NL.yml b/locales/nl-NL.yml deleted file mode 100644 index c76e98229..000000000 --- a/locales/nl-NL.yml +++ /dev/null @@ -1,701 +0,0 @@ ---- -meta: - lang: "Nederlands" -common: - misskey: "Deel alles met anderen die ook Misskey gebruiken." - about-title: "Een ster van het fediverse" - about: "Bedankt voor het ontdekken van Misskey. Misskey is een gedecentraliseerd microblogging platform geboren op aarde. Omdat het bestaat binnen het Fediverse (een georganiseerd universum van verschillende sociale mediaplatformen), staat het verbonden met andere sociale medieplatformen. Neem een pauze van de stedelijke drukte, en duik in het nieuwe intenet?" - intro: - title: "Wat is Misskey?" - about: "Misskey is een open source gedecentraliseerd blogplatform. Het heeft een gesofisticeerde, volledig aanpasbare gebruikersinterface, uitgebreide reactiemogelijkheden voor posts, gratis geïntegreerd bestandsoplagbeheer en andere geavanceerde mogelijkheden. Daarnaast staat Misskey verbonden aan een netwerksysteem genaam het \"Fediverse\", hiermee kunnen we communiceren met andere gebruikers op andere SNSs. Dit betekent dat wanneer je iets post het niet enkel verstuurd wordt naar andere Misskey gebruikers, maar ook naar gebruikers op Mastodon en Pleroma. Stel je voor dat een planeet een radiosignaal verzendt naar een andere planeet als manier van communiceren." - features: "Kenmerken" - rich-contents: "Bericht" - rich-contents-desc: "Post jouw idee, hot topic, wat je ook maar wil delen. Maak jouw teksten aantrekkelijk met je favoriete foto's, verzend bestanden, zelfs video's, of maak een poll. Dit zijn enkele van de mogelijkheden die Misskey aanbiedt!" - reaction: "Reactie" - reaction-desc: "Dé makkelijkste manier om jouw gevoelens uit te drukken. Met Misskey kan je verschillende reacties toevoegen aan jouw posts. Andere SNSs hebben enkel maar een \"vind ik leuk\" reactie." - ui: "Interface" - ui-desc: "Niet één UI past nij iedereen. Daarom heeft Misskey een uitgebreide keuze om de UI naar jouw hand te zetten. Je kan jouw nieuwe thuis zo origineel maken als je zelf wil door jouw tijdslijn aan te passen door widgets te verplaatsen en hun look te veranderen. Zo maak je van Misskey jouw eigen stek." - drive: "Drive" - drive-desc: "Wil je een foto posten die je reeds het geüpload? Wens je georganiseerde map met zelfgekozen naam maken voor al jouw bestanden? De beste oplossing voor jou is Misskey Drive. Dit maakt het supermakkelijk om jouw bestanden online te delen." - application-authorization: "Geauthoriseerde applicaties" - close: "Sluiten" - do-not-copy-paste: "Gelieve de code hier niet in te geven of te plakken. De account kan gecompromiseerd zijn." - load-more: "Laad meer resultaten" - enter-password: "Voer het wachtwoord in" - 2fa: "Tweestapsverificatie" - customize-home: "Layout aanpassen" - featured-notes: "Uitgelicht" - dark-mode: "Donker thema" - signin: "Aanmelden" - signup: "Registreren" - signout: "Afmelden" - reload-to-apply-the-setting: "Herlaad de pagina om je aanpassingen te bekijken. Wil je de pagina nu herladen?" - fetching-as-ap-object: "Verzenden naar Fediverse" - unfollow-confirm: "Wil stoppen met {name} te volgen?" - delete-confirm: "Ben je zeker dat je dit bericht wil verwijderen?" - signin-required: "Gelieve in te loggen" - notification-type: "Notificatietype" - notification-types: - all: "Alle" - pollVote: "Stemmen" - follow: "Volgend" - receiveFollowRequest: "Volgverzoeken" - reply: "Beantwoorden" - quote: "Bron" - mention: "Vermeldingen" - reaction: "Reactie" - got-it: "Ik snap het!" - customization-tips: - title: "Aanpassingstips" - gotit: "Ik snap het!" - notification: - file-uploaded: "Je bestand is geüpload" - message-from: "Bericht van {}:" - reversi-invited: "Uitgenodigd voor spel" - notified-by: "Bemerkt door: {}" - reply-from: "Antwoord van: {}" - quoted-by: "Geciteerd door: {}" - time: - unknown: "onbekend" - future: "toekomstig" - just_now: "zojuist" - seconds_ago: "{}s geleden" - minutes_ago: "{}m geleden" - hours_ago: "{}u geleden" - days_ago: "{}d geleden" - weeks_ago: "{}week/weken geleden" - months_ago: "{}maand(en) geleden" - years_ago: "{}jaar geleden" - month-and-day: "{day} {month}" - trash: "Prullenbak" - drive: "Drive" - pages: "Pagina's" - messaging: "Gesprekken" - home: "Startpagina" - deck: "Deck" - timeline: "Tijdlijn" - followers: "Volgers" - favorites: "Deze notitie toevoegen aan favorieten" - permissions: - "write:votes": "Stemmen" - post-form: - submit: "Bericht" - reply: "Beantwoorden" - add-visible-user: "Gebruiker toevoegen" - weekday-short: - sunday: "Z" - monday: "M" - tuesday: "D" - wednesday: "W" - thursday: "D" - friday: "V" - saturday: "Z" - reactions: - like: "Leuk" - love: "Geweldig" - laugh: "Grappig" - hmm: "Eh...?" - surprise: "Wauw" - congrats: "Gefeliciteerd!" - angry: "Boos" - confused: "Verward" - pudding: "Pudding" - note-visibility: - home: "Startpagina" - followers: "Volgers" - _settings: - profile: "Je profiel" - notification: "Meldingen" - password: "Wachtwoord" - reactions: "Reactie" - deck-column-align-center: "Centreren" - deck-column-align-left: "Links" - timeline: "Tijdlijn" - navbar-position-left: "Links" - search: "Zoeken" - delete: "Verwijderen" - loading: "Bezig met laden" - update-available: "Er is een nieuwe versie van Misskey beschikbaar: {newer} (de huidige versie is {current}). Herlaad de pagina om de update toe te passen." - my-token-regenerated: "Je sleutel is gegenereerd; je wordt nu uitgelogd." - widgets: - profile: "Je profiel" - activity: "Activiteit" - trends: "Populair" - photo-stream: "Fotostream" - notifications: "Meldingen" - users: "Aanbevolen gebruikers" - server: "Serverinformatie" - you: "Jij" -auth/views/form.vue: - cancel: "Annuleren" -auth/views/index.vue: - loading: "Bezig met laden" -common/views/components/games/reversi/reversi.vue: - matching: - cancel: "Annuleren" -common/views/components/games/reversi/reversi.room.vue: - cancel: "Annuleren" -common/views/components/connect-failed.vue: - title: "Verbinden met server mislukt" - description: "Er is een probleem met je internetverbinding, de server ligt plat of er wordt aan gewerkt. {Probeer} het later opnieuw." - thanks: "Bedankt voor het gebruiken van Misskey." - troubleshoot: "Probleemoplossing" -common/views/components/connect-failed.troubleshooter.vue: - title: "Probleemoplossing" - network: "Netwerkverbinding" - checking-network: "Bezig met controleren van netwerkverbinding" - internet: "Internetverbinding" - checking-internet: "Bezig met controleren van internetverbinding" - server: "Serververbinding" - checking-server: "Bezig met controleren van serververbinding" - finding: "Bezig met vaststellen van probleem" - no-network: "Er is geen internetverbinding" - no-network-desc: "Zorg ervoor dat je verbonden bent met een netwerk." - no-internet: "Er is geen internetverbinding" - no-internet-desc: "Zorg ervoor dat je verbonden bent met het internet." - no-server: "Verbinden met Misskey-server mislukt" - no-server-desc: "De netwerkverbinding van je computer is goed, maar er kan geen verbinding worden gemaakt met de Misskey-server. Het kan dat de server plat ligt of dat eraan wordt gewerkt. Probeer het later opnieuw." - success: "Verbonden met de Misskey-server" - success-desc: "Het verbinden lijkt te lukken. Herlaad de pagina." - flush: "Cache leegmaken" - set-version: "Versie opgeven" -common/views/components/theme.vue: - desc: "Omschrijving" -common/views/components/messaging.vue: - search-user: "Gebruiker zoeken" - you: "Jij" - no-history: "Geen geschiedenis" - user: "Gebruiker" -common/views/components/messaging-room.vue: - no-history: "Er is geen verdere geschiedenis" - new-message: "Nieuw bericht" -common/views/components/messaging-room.form.vue: - input-message-here: "Voer hier je bericht in" - send: "Versturen" - attach-from-local: "Bestanden bijvoegen van je computer" - attach-from-drive: "Bestanden bijvoegen van je Drive" -common/views/components/messaging-room.message.vue: - is-read: "Gelezen" - deleted: "Dit bericht is verwijderd" -common/views/components/nav.vue: - about: "Over" - stats: "Statistieken" - status: "Status" - donors: "Donateurs" - repository: "Broncode" - develop: "Ontwikkelaars" - feedback: "Feedback" -common/views/components/note-menu.vue: - favorite: "Deze notitie toevoegen aan favorieten" - pin: "Vastmaken aan profielpagina" - delete: "Verwijderen" - remote: "Origineel tonen" -common/views/components/poll.vue: - vote-to: "Stemmen op '{}'" - vote-count: "{} stemmen" - vote: "Stemmen" - show-result: "Resultaten tonen" - voted: "Gestemd" -common/views/components/poll-editor.vue: - no-only-one-choice: "Je moet twee of meer keuzes invoeren." - choice-n: "Keuze {}" - remove: "Deze keuze verwijderen" - add: "+ Keuze toevoegen" - destroy: "Deze peiling vernietigen" - day: "Z" -common/views/components/reaction-picker.vue: - choose-reaction: "Kies een reactie" -common/views/components/emoji-picker.vue: - activity: "Activiteit" -common/views/components/signin.vue: - username: "Gebruikersnaam" - password: "Wachtwoord" - token: "Sleutel" - signing-in: "Bezig met inloggen..." -common/views/components/signup.vue: - username: "Gebruikersnaam" - checking: "Bezig met controleren..." - available: "Beschikbaar" - unavailable: "Niet beschikbaar" - error: "Netwerkfout" - invalid-format: "Gebruik alleen letters, cijfers en -." - too-short: "Voer minimaal 1 teken in!" - too-long: "Voer maximaal 20 tekens in." - password: "Wachtwoord" - password-placeholder: "Wij raden aan meer dan 8 tekens te gebruiken." - weak-password: "Zwak" - normal-password: "'t Ken net" - strong-password: "Sterk" - retype: "Opnieuw invoeren" - retype-placeholder: "Wachtwoord bevestigen" - password-matched: "Oké" - password-not-matched: "Komt niet overeen" - recaptcha: "Verifiëren" - create: "Account creëren" - some-error: "Het creëren van een account is mislukt. Probeer het opnieuw." -common/views/components/special-message.vue: - new-year: "Gelukkig nieuwjaar!" - christmas: "Fijne kerstdagen!" -common/views/components/stream-indicator.vue: - connecting: "Bezig met verbinden" - reconnecting: "Bezig met herverbinden" - connected: "Verbonden" -common/views/components/notification-settings.vue: - title: "Meldingen" -common/views/components/github-setting.vue: - detail: "Details bekijken..." -common/views/components/discord-setting.vue: - detail: "Details bekijken..." -common/views/components/uploader.vue: - waiting: "Bezig met wachten" -common/views/components/visibility-chooser.vue: - home: "Startpagina" - followers: "Volgers" -common/views/components/profile-editor.vue: - title: "Je profiel" - name: "Naam" - avatar: "Gebruikersafbeelding" - banner: "Omslagfoto" - unable-to-process: "De operatie kan niet worden voltooid." - export-targets: - following-list: "Volgend" - user-lists: "Lijsten" - enter-password: "Voer het wachtwoord in" -common/views/components/user-list-editor.vue: - users: "Gebruiker" - add-user: "Gebruiker toevoegen" -common/views/components/user-lists.vue: - user-lists: "Lijsten" -common/views/widgets/broadcast.vue: - fetching: "Bezig met ophalen" - no-broadcasts: "Geen uitzendingen" - have-a-nice-day: "Fijne dag!" - next: "Volgende" -common/views/widgets/photo-stream.vue: - title: "Fotostream" - no-photos: "Geen foto's" -common/views/widgets/posts-monitor.vue: - toggle: "Schakelen tussen weergaven" -common/views/widgets/server.vue: - title: "Serverinformatie" - toggle: "Schakelen tussen weergaven" -common/views/pages/follow.vue: - signed-in-as: "Ingelogd als {}" - follow: "Volgend" -desktop: - banner: "Omslagfoto" - avatar: "Gebruikersafbeelding" - unable-to-process: "De operatie kan niet worden voltooid." -desktop/views/components/activity.chart.vue: - total: "Zwart ... totaal" - notes: "Blauw ... notities" - replies: "Rood ... antwoorden" - renotes: "Groen ... gedeelde notities" -desktop/views/components/activity.vue: - title: "Activiteit" - toggle: "Schakelen tussen weergaven" -desktop/views/components/calendar.vue: - prev: "Vorige maand" - next: "Volgende maand" - go: "Klik om te navigeren" -desktop/views/components/choose-file-from-drive-window.vue: - upload: "Bestanden uploaden van je computer" - cancel: "Annuleren" - ok: "Oké" - choose-prompt: "Kies een bestand" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Annuleren" - ok: "Oké" - choose-prompt: "Kies een map" -desktop/views/components/crop-window.vue: - skip: "Bijsnijden overslaan" - cancel: "Annuleren" - ok: "Oké" -desktop/views/components/drive-window.vue: - used: "gebruikt" -desktop/views/components/drive.file.vue: - avatar: "Gebruikersafbeelding" - banner: "Omslagfoto" - contextmenu: - rename: "Naam wijzigen" - copy-url: "URL kopiëren" - download: "Downloaden" - set-as-avatar: "Instellen als gebruikersafbeelding" - set-as-banner: "Instellen als omslagfoto" - open-in-app: "Openen in app" - add-app: "App toevoegen" - rename-file: "Bestandsnaam wijzigen" - input-new-file-name: "Voer een nieuwe naam in" - copied: "Gekopieerd" - copied-url-to-clipboard: "URL gekopieerd naar klembord" -desktop/views/components/drive.folder.vue: - unable-to-process: "De operatie kan niet worden voltooid." - circular-reference-detected: "De bestemmingsmap is een submap van de map die je wilt verplaatsen." - unhandled-error: "Onbekende fout" - contextmenu: - move-to-this-folder: "Verplaatsen naar deze map" - show-in-new-window: "Openen in nieuw venster" - rename: "Naam wijzigen" - rename-folder: "Mapnaam wijzigen" - input-new-folder-name: "Voer een nieuwe naam in" -desktop/views/components/drive.vue: - search: "Zoeken" - empty-draghover: "Welkom!" - empty-drive: "Je schijf is leeg" - empty-drive-description: "Je kunt ook uploaden door te klikken met de rechtermuisknop en te kiezen voor \"Bestand uploaden\" of door een bestand naar dit venster te slepen." - empty-folder: "Deze map is leeg" - unable-to-process: "De operatie kan niet worden voltooid." - circular-reference-detected: "De bestemmingsmap is een submap van de te verplaatsen map." - unhandled-error: "Onbekende fout" - url-upload: "Uploaden via URL" - url-of-file: "URL van het te uploaden bestand" - url-upload-requested: "Uploadverzoek" - may-take-time: "Het kan even duren voordat het uploaden voltooid is." - create-folder: "Map creëren" - folder-name: "Mapnaam" - contextmenu: - create-folder: "Map creëren" - upload: "Bestand uploaden" - url-upload: "Uploaden via URL" -desktop/views/components/followers-window.vue: - followers: "Volgers van {}" -desktop/views/components/followers.vue: - empty: "Het lijkt erop dat je geen volgers hebt." -desktop/views/components/following-window.vue: - following: "Volgend {}" -desktop/views/components/following.vue: - empty: "Je volgt niemand." -desktop/views/components/game-window.vue: - game: "Othello" -desktop/views/components/home.vue: - done: "Versturen" - add-widget: "Widget toevoegen:" - add: "Toevoegen" -desktop/views/input-dialog.vue: - cancel: "Annuleren" - ok: "Oké" -desktop/views/components/note-detail.vue: - private: "(dit bericht is privé)" - location: "Locatie" - add-reaction: "Reactie" -desktop/views/components/note.vue: - reply: "Beantwoorden" - add-reaction: "Reactie" - private: "(dit bericht is privé)" -desktop/views/components/notes.vue: - error: "Laden mislukt." - retry: "Opnieuw proberen" -desktop/views/components/notifications.vue: - empty: "Geen meldingen" -desktop/views/components/post-form.vue: - posted: "Geplaatst!" - replied: "Beantwoord!" - reposted: "Hergeplaatst!" - note-failed: "Noteren mislukt" - reply-failed: "Beantwoorden mislukt" - renote-failed: "Renote mislukt" -desktop/views/components/post-form-window.vue: - note: "Nieuwe notitie" - reply: "Beantwoorden" - attaches: "{} media bijgevoegd" - uploading-media: "Bezig met uploaden van media {}" -desktop/views/components/progress-dialog.vue: - waiting: "Bezig met wachten" -desktop/views/components/renote-form.vue: - quote: "Citeren..." - cancel: "Annuleren" - reposting: "Bezig met herplaatsen..." - success: "Hergeplaatst!" - failure: "Renote mislukt" -desktop/views/components/renote-form-window.vue: - title: "Weet je zeker dat je deze notitie wilt renoten?" -desktop/views/components/settings.2fa.vue: - intro: "Als je verificatie in twee stappen instelt, dan heb je niet alleen een wachtwoord nodig bij het inloggen, maar ook een geregistreerd fysiek apparaat (zoals je smartphone). Dit verhoogt de veiligheid. " - detail: "Details bekijken..." - url: "https://www.google.com/landing/2step/" - caution: "Als je geen toegang meer hebt tot je apparaat, dan kun je niet meer verbinden met Misskey!" - register: "Apparaat registreren" - already-registered: "Er is al een apparaat geregistreerd" - unregister: "Uitschakelen" - unregistered: "Authenticatie in twee stappen is uitgeschakeld." - enter-password: "Voer het wachtwoord in" - authenticator: "Installeer eerst Google Authenticator op je apparaat:" - howtoinstall: "Hoe installeer ik dit?" - token: "Sleutel" - scan: "Scan daarna de QR-code:" - done: "Voer de op je apparaat getoonde sleutel in:" - submit: "Versturen" - success: "Instellen voltooid!" - failed: "Instellen mislukt. Zorg ervoor dat de sleutel juist is." - info: "Vanaf nu moet je ook de op je apparaat getoonde sleutel tonen bij het inloggen op Misskey." -common/views/components/api-settings.vue: - enter-password: "Voer het wachtwoord in" - console: - parameter: "Parameters" - send: "Versturen" -common/views/components/drive-settings.vue: - in-use: "gebruikt" - stats: "Statistieken" - default-upload-folder-name: "Map(pen)" -desktop/views/components/sub-note-content.vue: - private: "(dit bericht is privé)" - poll: "Peilingen" -desktop/views/components/settings.tags.vue: - add: "Toevoegen" -desktop/views/components/timeline.vue: - home: "Startpagina" - local: "Lokaal" - global: "Algemeen" - list: "Lijsten" -desktop/views/components/ui.header.account.vue: - profile: "Je profiel" - lists: "Lijsten" -desktop/views/components/ui.header.nav.vue: - game: "Othello spelen" -desktop/views/components/ui.header.notifications.vue: - title: "Meldingen" -desktop/views/components/ui.header.post.vue: - post: "Nieuw bericht opstellen" -desktop/views/components/ui.header.search.vue: - placeholder: "Zoeken" -desktop/views/components/user-preview.vue: - notes: "Berichten" - following: "Volgend" - followers: "Volgers" -desktop/views/components/users-list.vue: - all: "Alle" - iknow: "die ik ken" - fetching: "Bezig met laden…" -desktop/views/components/users-list-item.vue: - followed: "Volgt jou" -desktop/views/components/window.vue: - popout: "Uitvouwen" - close: "Sluiten" -admin/views/index.vue: - users: "Gebruiker" -admin/views/dashboard.vue: - notes: "Bericht" - drive: "Drive" -admin/views/abuse.vue: - remove-report: "Verwijderen" -admin/views/charts.vue: - notes: "Bericht" - users: "Gebruiker" - drive: "Drive" -admin/views/drive.vue: - origin: - local: "Lokaal" - delete: "Verwijderen" -admin/views/users.vue: - username: "Gebruikersnaam" - users: - title: "Gebruiker" - state: - all: "Alle" - origin: - local: "Lokaal" -admin/views/emoji.vue: - add-emoji: - add: "Toevoegen" - emojis: - remove: "Verwijderen" -admin/views/announcements.vue: - remove: "Verwijderen" - add: "Toevoegen" -admin/views/federation.vue: - notes: "Bericht" - users: "Gebruiker" - followers: "Volgers" - status: "Status" - states: - all: "Alle" -desktop/views/pages/welcome.vue: - timeline: "Tijdlijn" -desktop/views/pages/note.vue: - prev: "Vorige notitie" - next: "Volgende notitie" -desktop/views/pages/selectdrive.vue: - title: "Bestand(en) kiezen" - ok: "Oké" - cancel: "Annuleren" - upload: "Bestanden uploaden van je PC" -desktop/views/pages/user-list.users.vue: - users: "Gebruiker" - add-user: "Gebruiker toevoegen" - username: "Gebruikersnaam" -desktop/views/pages/user/user.followers-you-know.vue: - title: "Volgers die je kent" - loading: "Bezig met laden" - no-users: "Geen gebruikers" -desktop/views/pages/user/user.friends.vue: - title: "Frequent beantwoord" - loading: "Bezig met laden" - no-users: "Geen gebruikers" -desktop/views/pages/user/user.photos.vue: - title: "Foto's" - loading: "Bezig met laden" - no-photos: "Geen foto's" -desktop/views/pages/user/user.header.vue: - posts: "Bericht" - following: "Volgend" - followers: "Volgers" - month: "M" - day: "Z" - follows-you: "Volgt jou" -desktop/views/pages/user/user.timeline.vue: - default: "Berichten" - with-replies: "Berichten en antwoorden" - with-media: "Media" -desktop/views/widgets/notifications.vue: - title: "Meldingen" -desktop/views/widgets/polls.vue: - title: "Peilingen" - refresh: "Anderen tonen" - nothing: "Niks" -desktop/views/widgets/post-form.vue: - title: "Bericht" - note: "Bericht" -desktop/views/widgets/profile.vue: - update-banner: "Klik om je omslagfoto te wijzigen" - update-avatar: "Klik om je gebruikersafbeelding te wijzigen" -desktop/views/widgets/trends.vue: - title: "Populair" - refresh: "Anderen tonen" - nothing: "Niks" -desktop/views/widgets/users.vue: - title: "Aanbevolen gebruikers" - refresh: "Anderen tonen" - no-one: "Niemand" -mobile/views/components/drive.vue: - used: "gebruikt" - folder-count: "Map(pen)" - count-separator: ", " - file-count: "Bestand(en)" - nothing-in-drive: "Niks" - folder-is-empty: "Deze map is leeg" - folder-name: "Mapnaam" - url-prompt: "URL van het te uploaden bestand" -mobile/views/components/drive-file-chooser.vue: - select-file: "Kies een bestand" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "Kies een map" -mobile/views/components/drive.file-detail.vue: - download: "Downloaden" - rename: "Naam wijzigen" - move: "Verplaatsen" - hash: "Hash (md5)" -common/views/components/follow-button.vue: - follow: "Volgend" -mobile/views/components/note.vue: - private: "(dit bericht is privé)" - location: "Locatie" -mobile/views/components/note-detail.vue: - reply: "Beantwoorden" - reaction: "Reactie" - private: "(dit bericht is privé)" - location: "Locatie" -mobile/views/components/notifications.vue: - empty: "Geen meldingen" -mobile/views/components/sub-note-content.vue: - private: "(dit bericht is privé)" - media-count: "{} media" - poll: "Peiling" -mobile/views/components/ui.nav.vue: - timeline: "Tijdlijn" - notifications: "Meldingen" - search: "Zoeken" - user-lists: "Lijsten" - game: "Othello spelen" - about: "Over Misskey" -mobile/views/pages/drive.vue: - contextmenu: - upload: "Bestand uploaden" - create-folder: "Map creëren" -mobile/views/pages/home.vue: - home: "Startpagina" - local: "Lokaal" - global: "Algemeen" -mobile/views/pages/widgets.vue: - add-widget: "Toevoegen" - customization-tips: "Aanpassingstips" -mobile/views/pages/widgets/activity.vue: - activity: "Activiteit" -mobile/views/pages/note.vue: - title: "Bericht" - prev: "Vorige notitie" - next: "Volgende notitie" -mobile/views/pages/games/reversi.vue: - reversi: "Othello" -mobile/views/pages/search.vue: - search: "Zoeken" -mobile/views/pages/selectdrive.vue: - select-file: "Kies een bestand" -mobile/views/pages/notifications.vue: - notifications: "Meldingen" -mobile/views/pages/settings.vue: - signed-in-as: "Ingelogd als {}" -mobile/views/pages/user.vue: - follows-you: "Volgt jou" - following: "Volgend" - followers: "Volgers" - notes: "Berichten" - overview: "Overzicht" - timeline: "Tijdlijn" - media: "Media" -mobile/views/pages/user/home.vue: - recent-notes: "Recente notities" - images: "Afbeeldingen" - activity: "Activiteit" - keywords: "Sleutelwoorden" - domains: "Domeinnamen" - frequently-replied-users: "Frequent beantwoord" - followers-you-know: "Volgers die je kent" - last-used-at: "Laatst actief" -mobile/views/pages/user/home.photos.vue: - no-photos: "Geen foto's" -deck: - home: "Startpagina" - local: "Lokaal" - global: "Algemeen" - notifications: "Meldingen" - list: "Lijsten" - rename: "Naam wijzigen" -deck/deck.user-column.vue: - follows-you: "Volgt jou" - posts: "Bericht" - following: "Volgend" - followers: "Volgers" - images: "Afbeeldingen" - activity: "Activiteit" - timeline: "Tijdlijn" -docs: - edit-this-page-on-github: "Heb je een fout ontdekt of wil je bijdragen aan de documentatie? " - edit-this-page-on-github-link: "Bewerk deze pagina op GitHub!" -pages: - pin-this-page: "Vastmaken aan profielpagina" - like: "Leuk" - blocks: - image: "Afbeeldingen" - script: - categories: - list: "Lijsten" - blocks: - _join: - arg1: "Lijsten" - _randomPick: - arg1: "Lijsten" - _dailyRandomPick: - arg1: "Lijsten" - _seedRandomPick: - arg2: "Lijsten" - _pick: - arg1: "Lijsten" - _listLen: - arg1: "Lijsten" - types: - array: "Lijsten" -room: - translate: "Verplaatsen" - furnitures: - moon: "Maan" - bin: "Prullenbak" diff --git a/locales/no-NO.yml b/locales/no-NO.yml deleted file mode 100644 index 2af76bf7d..000000000 --- a/locales/no-NO.yml +++ /dev/null @@ -1,528 +0,0 @@ ---- -meta: - lang: "Norsk Bokmål" -common: - misskey: "En ⭐ av fediverse" - about-title: "En ⭐ av fediverse" - about: "Takk for at du fant Misskey. Misskey er en desentralisert mikroblogging platform født på jorden. Siden den eksisterer sammen med Fediverset (Et univers hvor forskjellige sosiale media-plattformer blir organisert), så blir den gjensidig tilknyttet med andre sosiale media-plattformer. Hvorfor ikke ta en pause fra kjas og mas fra storbyen og hoppe inn i en ny type internett?" - intro: - title: "Hva er Misskey?" - features: "Funksjoner" - rich-contents: "Innlegg" - drive: "Disk" - close: "Lukk" - notification-types: - all: "Alle" - follow: "Følger" - reply: "Svar" - got-it: "Skjønner!" - notification: - file-uploaded: "Filen ble lastet opp!" - message-from: "Melding fra {}:" - reversi-invited: "Invitert til et spill" - reversi-invited-by: "Invitert av {}:" - notified-by: "Invitert av {}:" - reply-from: "Svar fra {}:" - quoted-by: "Sitert av {}:" - time: - unknown: "ukjent" - future: "fremtidig" - just_now: "akkurat nå" - seconds_ago: "{} sekunder siden" - minutes_ago: "{} minutter siden" - hours_ago: "{} t siden" - days_ago: "{} d siden" - weeks_ago: "{} uke(r) siden" - months_ago: "{} måned(er) siden" - years_ago: "{} år siden" - month-and-day: "{day}/{month}" - trash: "Papirkurv" - drive: "Disk" - home: "Hjem" - followers: "Følgere" - favorites: "Merket som favoritt" - permissions: - "write:votes": "Stem" - post-form: - submit: "Innlegg" - reply: "Svar" - error: "Feil" - weekday-short: - sunday: "S" - monday: "M" - tuesday: "T" - wednesday: "O" - thursday: "T" - friday: "F" - saturday: "L" - weekday: - sunday: "Søndag" - monday: "Mandag" - tuesday: "Tirsdag" - wednesday: "Onsdag" - thursday: "Torsdag" - friday: "Fredag" - saturday: "Lørdag" - reactions: - like: "Lik" - love: "Elsk" - laugh: "Le" - hmm: "Hmm…?" - surprise: "Wow" - congrats: "Gratulerer!" - angry: "Sint" - confused: "Forvirret" - rip: "RIP" - pudding: "Pudding" - note-visibility: - public: "Offentlig" - home: "Hjem" - followers: "Følgere" - specified: "Direkte" - _settings: - notification: "Notifikasjon" - password: "Passord" - save: "Lagre" - search: "Søk" - delete: "Slett" - loading: "Laster inn..." - update-available: "En ny versjon av Misskey er nå tilgjengelig ({newer}, nåværende versjon er {current}). Last inn siden igjen for at oppdateringen skal tre i kraft." - my-token-regenerated: "Ditt synbol har blitt generert. Du vil nå bli utlogget." - reversi: - black: "Sort" - white: "Hvit" - total: "Totalt" - widgets: - calendar: "Kalender" - memo: "Notis" - trends: "Populært nå" - version: "Versjon" - notifications: "Notifikasjon" - tips: "Tips" - you: "Du" -auth/views/form.vue: - cancel: "Avbryt" -auth/views/index.vue: - loading: "Laster inn..." -common/views/components/games/reversi/reversi.vue: - matching: - cancel: "Avbryt" -common/views/components/games/reversi/reversi.game.vue: - surrender: "Gi opp" -common/views/components/games/reversi/reversi.index.vue: - invite: "Inviter" - rule: "Slik spiller du" - mode-invite: "Inviter" - game-state: - ended: "Ferdig" - playing: "Pågår" -common/views/components/games/reversi/reversi.room.vue: - random: "Tilfeldig" - black-is: "Sort er {}" - rules: "Regler" - waiting-for-both: "Venter på deg" - cancel: "Avbryt" - ready: "Klar" - cancel-ready: "Avbryt \"Klar\"" -common/views/components/connect-failed.vue: - title: "Kunne ikke koble til tjeneren." - description: "Det er enten et problem med internettilknytningen din, eller så har tjeneren blitt tatt ned for vedlikehold. {Prøv igjen} senere." -common/views/components/media-banner.vue: - sensitive: "Sensitivt innhold" -common/views/components/theme.vue: - text-color: "Tekstfarge" - base-theme-dark: "Mørk" - theme-name: "Tema navn" - author: "Forfatter" - desc: "Beskrivelse" -common/views/components/cw-button.vue: - hide: "Skjul" -common/views/components/messaging.vue: - you: "Du" - user: "Bruker" -common/views/components/messaging-room.form.vue: - send: "Send" -common/views/components/messaging-room.message.vue: - is-read: "Lest" -common/views/components/nav.vue: - stats: "Statistikk" - status: "Status" - wiki: "Wiki" - donors: "Donatorer" - repository: "Kodelager" - develop: "Utviklere" -common/views/components/note-menu.vue: - detail: "Detaljer" - favorite: "Merket som favoritt" - pin: "Fest til profilen din" - delete: "Slett" -common/views/components/poll.vue: - vote-count: "{} stemmer" - vote: "Stem" - show-result: "Vis resultater" - voted: "Stemt" -common/views/components/poll-editor.vue: - choice-n: "Valg {}" - day: "S" -common/views/components/signin.vue: - username: "Brukernavn" - password: "Passord" - token: "Token" - or: "Eller" -common/views/components/signup.vue: - username: "Brukernavn" - error: "Nettverksfeil" - password: "Passord" - retype: "Gjenta" - recaptcha: "Captcha" -common/views/components/stream-indicator.vue: - connecting: "Tilkobler" - reconnecting: "Kobler til på nytt" - connected: "Tilkoblet" -common/views/components/notification-settings.vue: - title: "Notifikasjon" -common/views/components/github-setting.vue: - detail: "Detaljer..." -common/views/components/discord-setting.vue: - detail: "Detaljer..." -common/views/components/uploader.vue: - waiting: "Venter" -common/views/components/visibility-chooser.vue: - public: "Offentlig" - home: "Hjem" - followers: "Følgere" - specified: "Direkte" -common/views/components/profile-editor.vue: - name: "Navn" - avatar: "Avatar" - banner: "Banner" - save: "Lagre" - export-targets: - following-list: "Følger" - user-lists: "Lister" -common/views/components/user-list-editor.vue: - users: "Bruker" -common/views/components/user-group-editor.vue: - invite: "Inviter" -common/views/components/user-lists.vue: - user-lists: "Lister" - list-name: "Liste navn" -common/views/components/user-groups.vue: - invites: "Inviter" -common/views/widgets/broadcast.vue: - fetching: "Henter" - next: "Neste" -common/views/widgets/calendar.vue: - year: "År {}" - month: "Måned {}" - day: "Dag {}" - today: "I dag:" - this-month: "Denne måneden:" - this-year: "Dette året:" -common/views/widgets/memo.vue: - title: "Notis" - save: "Lagre" -common/views/pages/follow.vue: - follow: "Følg" -desktop: - banner: "Banner" - avatar: "Avatar" -desktop/views/components/calendar.vue: - prev: "Forrige måned" - next: "Neste måned" -desktop/views/components/choose-file-from-drive-window.vue: - cancel: "Avbryt" - ok: "Ok" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Avbryt" - ok: "Ok" -desktop/views/components/crop-window.vue: - cancel: "Avbryt" - ok: "Ok" -desktop/views/components/drive-window.vue: - used: "brukt" -desktop/views/components/drive.file.vue: - avatar: "Avatar" - banner: "Banner" - nsfw: "NSFW" - contextmenu: - rename: "Endre navn" - copied: "Kopiert" -desktop/views/components/drive.folder.vue: - contextmenu: - rename: "Endre navn" -desktop/views/components/drive.vue: - search: "Søk" -desktop/views/components/media-video.vue: - sensitive: "Innholdet er NSFW" -desktop/views/components/game-window.vue: - game: "Reversi" -desktop/views/components/home.vue: - done: "Fullført" - add: "Legg til" -desktop/views/input-dialog.vue: - cancel: "Avbryt" - ok: "Ok" -desktop/views/components/note-detail.vue: - location: "Lokasjon" -desktop/views/components/note.vue: - reply: "Svar" - detail: "Detaljer" -desktop/views/components/notes.vue: - retry: "Prøv på nytt" -desktop/views/components/post-form-window.vue: - note: "Nytt innlegg" - reply: "Svar" -desktop/views/components/progress-dialog.vue: - waiting: "Venter" -desktop/views/components/renote-form.vue: - cancel: "Avbryt" -desktop/views/components/settings.2fa.vue: - detail: "Detaljer..." - unregister: "Avregistrer" - token: "Token" - submit: "Send" -common/views/components/media-image.vue: - sensitive: "Innholdet er NSFW" -common/views/components/api-settings.vue: - console: - parameter: "Parametere" - send: "Send" -common/views/components/drive-settings.vue: - in-use: "brukt" - stats: "Statistikk" - default-upload-folder-name: "Mappe(r)" -common/views/components/mute-and-block.vue: - save: "Lagre" -desktop/views/components/settings.tags.vue: - add: "Legg til" - save: "Lagre" -desktop/views/components/timeline.vue: - home: "Hjem" - local: "Lokalt" - global: "Globalt" - list: "Lister" - list-name: "Liste navn" -desktop/views/components/ui.header.vue: - adjective: "-san" -desktop/views/components/ui.header.account.vue: - lists: "Lister" - admin: "Admin" -desktop/views/components/ui.header.nav.vue: - game: "Spill" -desktop/views/components/ui.header.notifications.vue: - title: "Notifikasjon" -desktop/views/components/ui.header.post.vue: - post: "Skriv nytt innlegg" -desktop/views/components/ui.header.search.vue: - placeholder: "Søk" -desktop/views/components/user-preview.vue: - notes: "Innlegg" - following: "Følger" - followers: "Følgere" -desktop/views/components/users-list.vue: - all: "Alle" - iknow: "Du kjenner" -desktop/views/components/window.vue: - close: "Lukk" -admin/views/index.vue: - users: "Bruker" - announcements: "Kunngjøringer" -admin/views/dashboard.vue: - notes: "Innlegg" - drive: "Disk" -admin/views/logs.vue: - levels: - info: "Informasjon" - error: "Feil" -admin/views/abuse.vue: - details: "Detaljer" - remove-report: "Slett" -admin/views/instance.vue: - invite: "Inviter" - save: "Lagre" -admin/views/charts.vue: - notes: "Innlegg" - users: "Bruker" - drive: "Disk" -admin/views/drive.vue: - origin: - local: "Lokalt" - delete: "Slett" -admin/views/users.vue: - username: "Brukernavn" - users: - title: "Bruker" - state: - all: "Alle" - origin: - local: "Lokalt" -admin/views/moderators.vue: - logs: - info: "Informasjon" -admin/views/emoji.vue: - add-emoji: - add: "Legg til" - emojis: - remove: "Slett" -admin/views/announcements.vue: - announcements: "Kunngjøringer" - save: "Lagre" - remove: "Slett" - add: "Legg til" -admin/views/federation.vue: - notes: "Innlegg" - users: "Bruker" - followers: "Følgere" - status: "Status" - states: - all: "Alle" - save: "Lagre" -desktop/views/pages/welcome.vue: - announcements: "Kunngjøringer" - info: "Informasjon" -desktop/views/pages/note.vue: - prev: "Forrige innlegg" - next: "Neste innlegg" -desktop/views/pages/selectdrive.vue: - ok: "Ok" - cancel: "Avbryt" -desktop/views/pages/user-list.users.vue: - users: "Bruker" - username: "Brukernavn" -desktop/views/pages/user/user.followers-you-know.vue: - loading: "Laster inn" -desktop/views/pages/user/user.friends.vue: - loading: "Laster inn" -desktop/views/pages/user/user.photos.vue: - title: "Bilder" - loading: "Laster inn" -desktop/views/pages/user/user.header.vue: - posts: "Innlegg" - following: "Følger" - followers: "Følgere" - month: "M" - day: "S" -desktop/views/pages/user/user.timeline.vue: - default: "Innlegg" - with-replies: "Innlegg og svar" - with-media: "Media" -desktop/views/widgets/notifications.vue: - title: "Notifikasjon" -desktop/views/widgets/polls.vue: - refresh: "Oppdater" -desktop/views/widgets/post-form.vue: - title: "Innlegg" - note: "Innlegg" -desktop/views/widgets/trends.vue: - title: "Populært nå" - refresh: "Oppdater" -desktop/views/widgets/users.vue: - refresh: "Oppdater" - no-one: "Ingen" -mobile/views/components/drive.vue: - used: "brukt" - folder-count: "Mappe(r)" - count-separator: "," - file-count: "Fil(er)" -mobile/views/components/drive.file.vue: - nsfw: "NSFW" -mobile/views/components/drive.file-detail.vue: - rename: "Endre navn" - move: "Flytt" - exif: "EXIF" - nsfw: "NSFW" -mobile/views/components/media-video.vue: - sensitive: "Innholdet er NSFW" -common/views/components/follow-button.vue: - follow: "Følger" -mobile/views/components/note.vue: - location: "Lokasjon" -mobile/views/components/note-detail.vue: - reply: "Svar" - location: "Lokasjon" -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "katt" -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "katt" -mobile/views/components/ui.header.vue: - adjective: "Mr." -mobile/views/components/ui.nav.vue: - notifications: "Notifikasjon" - search: "Søk" - user-lists: "Lister" - game: "Spill" - admin: "Admin" -mobile/views/pages/home.vue: - home: "Hjem" - local: "Lokalt" - global: "Globalt" -mobile/views/pages/widgets.vue: - add-widget: "Legg til" -mobile/views/pages/note.vue: - title: "Innlegg" - prev: "Forrige innlegg" - next: "Neste innlegg" -mobile/views/pages/games/reversi.vue: - reversi: "Reversi" -mobile/views/pages/search.vue: - search: "Søk" -mobile/views/pages/notifications.vue: - notifications: "Notifikasjon" -mobile/views/pages/user.vue: - following: "Følger" - followers: "Følgere" - notes: "Innlegg" - overview: "Oversikt" - media: "Media" -mobile/views/pages/user/home.vue: - recent-notes: "Nylige innlegg" - images: "Bilder" - keywords: "Nøkkelord" -deck: - home: "Hjem" - local: "Lokalt" - global: "Globalt" - notifications: "Notifikasjon" - list: "Lister" - rename: "Endre navn" -deck/deck.user-column.vue: - posts: "Innlegg" - following: "Følger" - followers: "Følgere" - images: "Bilder" -pages: - pin-this-page: "Fest til profilen din" - like: "Lik" - blocks: - image: "Bilder" - script: - categories: - random: "Tilfeldig" - list: "Lister" - blocks: - _join: - arg1: "Lister" - random: "Tilfeldig" - _randomPick: - arg1: "Lister" - _dailyRandomPick: - arg1: "Lister" - _seedRandomPick: - arg2: "Lister" - _pick: - arg1: "Lister" - _listLen: - arg1: "Lister" - types: - array: "Lister" -room: - translate: "Flytt" - save: "Lagre" - furnitures: - moon: "Måne" - bin: "Papirkurv" diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml deleted file mode 100644 index 3600fedd2..000000000 --- a/locales/pl-PL.yml +++ /dev/null @@ -1,1268 +0,0 @@ ---- -meta: - lang: "język polski" -common: - misskey: "⭐ Fediwersum" - about-title: "⭐ Fediwersum" - about: "Dziękujemy za znalezienie Misskey. Misskey jest zdecentralizowaną platformą mikroblogową powstałą na Ziemi. Ponieważ działa ona w Fediwersum (uniwersum, w którego skład wchodzi wiele sieci społecznościowych), jest ona połączona z innymi platformami społecznościowymi. Spróbujesz odpocząć od zatłoczoneo miasta i zanurzyć się w nowym Internecie?" - intro: - title: "Czym jest Misskey?" - features: "Funkcje" - rich-contents: "Wpis" - rich-contents-desc: "Po prostu opublikuj swój pomysł, gorące tematy i wszystko, co chcesz udostępnić. Możesz ozdobić swoje słowa, dołączyć swoje ulubione zdjęcia, wysłać pliki, w tym filmy i utworzyć ankietę - to są rzeczy, które możesz zrobić w Misskey!" - reaction: "Reakcja" - ui: "Interfejs" - drive: "Dysk" - drive-desc: "Chcesz opublikować zdjęcie, które już przesłałeś? Chcesz uporządkować, nazwać i utworzyć folder dla przesłanych plików? Dysk Misskey to najlepsze rozwiązanie dla Ciebie. Bardzo łatwo udostępniać swoje pliki online." - application-authorization: "Współpraca aplikacji" - close: "Zamknij" - load-more: "Załaduj więcej" - enter-password: "Wprowadź Hasło" - 2fa: "Uwierzytelnienie dwuetapowe" - customize-home: "Dostosuj stronę główną" - featured-notes: "Wyróżnienia" - dark-mode: "Tryb ciemny" - signin: "Zaloguj się" - signup: "Rejestracja" - signout: "Wyloguj się" - delete-confirm: "Czy na pewno chcesz usunąć ten wpis?" - notification-type: "Typy powiadomień" - notification-types: - all: "Wszyscy" - pollVote: "Głosy" - follow: "Śledzeni" - receiveFollowRequest: "Prośby o śledzenie" - reply: "Odpowiedzi" - quote: "Cytat" - renote: "Udostępnij" - mention: "Wzmianki" - reaction: "Reakcje" - got-it: "Rozumiem!" - customization-tips: - title: "Wskazówki o dostosowywaniu" - gotit: "Rozumiem!" - notification: - file-uploaded: "Wysłano plik!" - message-from: "Wiadomość od {}:" - reversi-invited: "Zaproszono do gry" - reversi-invited-by: "Zaproszono przez {}:" - notified-by: "Powiadomiono przez {}:" - reply-from: "Odpowiedź od {}:" - quoted-by: "Zacytowano przez {}:" - time: - unknown: "nieznany" - future: "w przyszłości" - just_now: "teraz" - seconds_ago: "{} sek. temu" - minutes_ago: "{} min. temu" - hours_ago: "{} godz. temu" - days_ago: "{} dni temu" - weeks_ago: "{} tyg. temu" - months_ago: "{} mies. temu" - years_ago: "{} lat temu" - month-and-day: "{month}-{day}" - trash: "Kosz" - drive: "Dysk" - pages: "Strony" - messaging: "Rozmowy" - home: "Strona główna" - deck: "Tablice" - timeline: "Oś czasu" - explore: "Znajdź" - following: "Śledzisz" - followers: "Śledzący" - favorites: "Moje ulubione" - permissions: - "read:drive": "Wyświetl dysk" - "read:messaging": "Zobacz konwersację" - "write:votes": "Zagłosuj" - empty-timeline-info: - explore: "Poznaj" - post-form: - hide-contents: "Ukryj zawartość" - reply-placeholder: "Odpowiedź na ten wpis…" - quote-placeholder: "Zacytuj ten wpis…" - quote-attached: "Z cytatem" - submit: "Wpis" - reply: "Odpowiedz" - renote: "Udostępnij" - posting: "Wysyłanie" - attach-media-from-local: "Załącz zawartość multimedialną z komputera" - attach-media-from-drive: "Załącz zawartość multimedialną z dysku" - create-poll: "Utwórz ankietę" - text-remain: "pozostałe znaki: {}" - recent-tags: "Ostatnie" - visibility: "Widoczność" - error: "Błąd" - enter-username: "Wprowadź nazwę użytkownika" - specified-recipient: "Adresat" - add-visible-user: "Dodaj użytkownika" - username-prompt: "Wprowadź nazwę użytkownika" - enter-file-name: "Wprowadź nazwę pliku" - weekday-short: - sunday: "N" - monday: "Pn" - tuesday: "W" - wednesday: "Ś" - thursday: "C" - friday: "P" - saturday: "S" - weekday: - sunday: "Niedziela" - monday: "Poniedziałek" - tuesday: "Wtorek" - wednesday: "Środa" - thursday: "Czwartek" - friday: "Piątek" - saturday: "Sobota" - reactions: - like: "Lubię" - love: "Kocham" - laugh: "Śmieszne" - hmm: "Hmm…?" - surprise: "Wow" - congrats: "Gratuluję!" - angry: "Wściekły" - confused: "Zmieszany" - rip: "RIP" - pudding: "Pudding" - note-visibility: - public: "Publiczny" - home: "Lokalny" - home-desc: "Widoczny tylko na tej instancji" - followers: "Dla śledzących" - followers-desc: "Widoczny tylko dla osób, które Cię śledzą" - specified: "Bezpośredni" - specified-desc: "Tylko dla określonych użytkowników" - local-public: "Publiczny (tylko lokalnie)" - local-followers: "Dla śledzących (tylko lokalnie)" - note-placeholders: - a: "Co robisz?" - b: "Co się wydarzyło?" - c: "Co Ci chodzi po głowie?" - d: "Czy masz coś do powiedzenia?" - e: "Napisz coś tutaj!" - f: "Czekamy, aż coś napiszesz." - settings: "Ustawienia" - _settings: - profile: "Profil" - notification: "Powiadomienia" - apps: "Aplikacje" - tags: "Hashtagi" - mute-and-block: "Wycisz / Zablokuj" - blocking: "Blokowanie" - security: "Zabezpieczenia" - signin: "Historia logowania" - password: "Hasło" - other: "Inne" - appearance: "Wygląd" - behavior: "Zachowanie" - reactions: "Reakcja" - fetch-on-scroll: "Automatycznie ładuj po przeciągnięciu w dół" - note-visibility: "Widoczność wpisów" - remember-note-visibility: "Zapamiętaj widoczność wpisów" - web-search-engine: "Wyszukiwarka internetowa" - web-search-engine-desc: "Wzór: https://www.google.com/?#q={{query}}" - paste: "Wklej" - line-width: "Szerokości linii" - line-width-thin: "Cienka" - line-width-normal: "Normalna" - line-width-thick: "Gruba" - font-size: "Rozmiar tekstu" - font-size-x-small: "Małe" - font-size-medium: "Normalna" - font-size-large: "Trochę duży" - font-size-x-large: "Duży" - deck-column-align-center: "Po środku" - deck-column-align-left: "Z lewej" - deck-column-align-flexible: "Elastyczne" - deck-column-width: "Szerokość kolumn w talii" - deck-column-width-narrow: "Wąska" - deck-column-width-narrower: "Trochę wąska" - deck-column-width-normal: "Normalna" - deck-column-width-wider: "Trochę szerokie" - deck-column-width-wide: "Szeroka" - wallpaper: "Tapeta" - choose-wallpaper: "Wybierz tapetę" - timeline: "Oś czasu" - sound: "Dźwięk" - volume: "Głośność" - test: "Test" - update: "Aktualizacja Misskey" - version: "Wersja:" - do-update: "Sprawdź dostępność nowych aktualizacji" - navbar-position-left: "Z lewej" - save: "Zapisz" - saved: "Zapisano" - preview: "Pokaż podgląd" - search: "Szukaj" - delete: "Usuń" - loading: "Ładowanie" - ok: "Możesz OK" - cancel: "Anuluj" - update-available-title: "Aktualizacja jest dostępna" - update-available: "Nowa wersja Misskey jest dostępna ({newer}, obecna to {current}). Odśwież stronę, aby zastosować aktualizację." - my-token-regenerated: "Twój token został wygenerowany. Zostaniesz wylogowany." - hide-password: "Ukryj hasło" - show-password: "Pokaż hasło" - enter-username: "Wprowadź nazwę użytkownika" - view-on-remote: "Dla dopełnienia, zobacz to zdalnie." - renoted-by: "{user} udostępnił(a)" - error: - title: "Coś poszło nie tak" - retry: "Ponów próbę" - reversi: - drawn: "Remis" - my-turn: "Twoja kolej" - opponent-turn: "Kolej na przeciwnika" - won: "{name} wygrał(a)" - black: "Czarny" - white: "Biały" - total: "Łącznie" - widgets: - analog-clock: "Zegar analogowy" - profile: "Profil" - calendar: "Kalendarz" - timemachine: "Kalendarz (wehikuł czasu)" - activity: "Aktywność" - rss: "Czytnik RSS" - memo: "Notatka" - trends: "Na czasie" - photo-stream: "Photostream" - posts-monitor: "Wykres wpisów" - slideshow: "Pokaz slajdów" - version: "Wersja" - broadcast: "Transmisja" - notifications: "Powiadomienia" - users: "Polecani użytkownicy" - polls: "Ankiety" - post-form: "Formularz tworzenia" - server: "Informacje o serwerze" - nav: "Nawigacja" - tips: "Wskazówki" - hashtags: "Hashtagi" - you: "Ty" -auth/views/form.vue: - permission-ask: "Ta aplikacja wymaga następujących uprawnień:" - cancel: "Anuluj" - accept: "Przyznaj dostęp." -auth/views/index.vue: - loading: "Ładowanie" - denied: "Odrzucono uwierzytelnianie aplikacji." - denied-paragraph: "Ta aplikacja nie uzyska dostępu do Twojego konta." - already-authorized: "Ta aplikacja została już uwierzytelniona." - callback-url: "Powracam do aplikacji." - please-go-back: "Wróć do aplikacji." - error: "Sesja nie istnieje." - sign-in: "Proszę zalogować się." -common/views/pages/explore.vue: - popular-users: "Popularni użytkownicy" - popular-tags: "Popularne tagi" -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "Oczekiwanie na {}" - cancel: "Anuluj" -common/views/components/games/reversi/reversi.game.vue: - surrender: "Poddaj się" - surrendered: "Przez poddanie się" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey Reversi" - sub-title: "Zagraj w Reversi ze znajomymi!" - invite: "Zaproś" - rule: "Jak grać" - mode-invite: "Zaproś" - mode-invite-desc: "Zaproś użytkownika do gry." - invitations: "Otrzymałeś(-aś) zaproszenie!" - my-games: "Moje gry" - all-games: "Wszystkie gry" - enter-username: "Wprowadź nazwę użytkownika" - game-state: - ended: "Zakończono" - playing: "W trakcie" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "Ustawienia gry" - choose-map: "Wybierz mapę" - random: "Losowy" - black-or-white: "Czarny/biały" - rules: "Zasady" - settings-of-the-bot: "Ustawienia bota" - this-game-is-started-soon: "Gra rozpocznie się wkrótce" - waiting-for-both: "Oczekiwanie na Ciebie" - cancel: "Anuluj" - ready: "Gotowy" - cancel-ready: "Cofnij „gotowy”" -common/views/components/connect-failed.vue: - title: "Nie udało się połączyć z serwerem" - description: "Wystąpił problem z Twoim połączeniem z Internetem, lub z serwerem. {Spróbuj ponownie} wkrótce." - thanks: "Dziękujemy za korzystanie z Misskey." - troubleshoot: "Rozwiązywanie problemów" -common/views/components/connect-failed.troubleshooter.vue: - title: "Rozwiązywanie problemów" - network: "Połączenie z siecią" - checking-network: "Sprawdzanie połączenia sieciowego" - internet: "Połączenie z Internetem" - checking-internet: "Sprawdzanie połączenia z Internetem" - server: "Połączenie z serwerem" - checking-server: "Sprawdzanie połączenia z serwerem" - finding: "Wyszukiwanie problemu" - no-network: "Brak połączenia z siecią" - no-network-desc: "Upewnij się, że jesteś połączony z siecią." - no-internet: "Brak połączenia z Internetem" - no-internet-desc: "Upewnij się, że jesteś połączony z Internetem." - no-server: "Nie udało się połączyć z serwerem" - no-server-desc: "Połączenie sieciowe działa, ale nie udało się połączyć z serwerem Misskey. Możliwe że serwer nie działa lub trwają prace konserwacyjne, spróbuj ponownie później." - success: "Pomyślnie połączono z serwerem Misskey" - success-desc: "Wygląda na to, że udało się połączyć. Odśwież stronę." - flush: "Wyczyść pamięć podręczną" - set-version: "Określ wersję" -common/views/components/media-banner.vue: - sensitive: "NSFW" - click-to-show: "Naciśnij aby wyświetlić" -common/views/components/theme.vue: - theme: "Motyw" - light-theme: "Motyw" - light-themes: "Jasny Motyw" - dark-themes: "Ciemny motyw" - install-a-theme: "Zainstaluj motyw" - theme-code: "Kod motywu" - install: "Zainstaluj" - installed: "\"{}\" został zainstalowany" - create-a-theme: "Stwórz motyw" - save-created-theme: "Zapisz motyw" - primary-color: "Kolor podstawowy" - secondary-color: "Kolor dodatkowy" - text-color: "Kolor tekstu" - base-theme: "Podstawowy motyw" - base-theme-light: "Jasny" - base-theme-dark: "Ciemny" - find-more-theme: "Odkryj więcej motywów" - theme-name: "Nazwa motywu" - preview-created-theme: "Pokaż podgląd" - invalid-theme: "Nieprawidłowy motyw" - already-installed: "Ten motyw jest już zainstalowany" - saved: "Zapisano" - manage-themes: "Zarządzanie motywami" - builtin-themes: "Standardowe motywy" - my-themes: "Moje motywy" - installed-themes: "Zainstalowane motywy" - select-theme: "Wybierz motyw" - uninstall: "Odinstaluj" - uninstalled: "\"{}\" został odinstalowany" - author: "Author" - desc: "Opis" - export: "Eksportuj" - import: "Importuj" - import-by-code: "lub wklej kod" - theme-name-required: "Nazwa motywu jest obowiązkowa." -common/views/components/cw-button.vue: - hide: "Ukryj" - show: "Pokaż więcej" - chars: "{count} znaków" - files: "{count} plików" - poll: "Ankieta" -common/views/components/messaging.vue: - search-user: "Znajdź użytkownika" - you: "Ty" - no-history: "Brak historii" - user: "Użytkownicy" -common/views/components/messaging-room.vue: - no-history: "Brak dalszej historii" - new-message: "Nowa wiadomość" -common/views/components/messaging-room.form.vue: - input-message-here: "Wprowadź wiadomość tutaj" - send: "Wyślij" - attach-from-local: "Załącz pliki z komputera" - attach-from-drive: "Załącz pliki z dysku" -common/views/components/messaging-room.message.vue: - is-read: "Przeczytano" - deleted: "Wiadomość została usunięta" -common/views/components/nav.vue: - about: "O stronie" - stats: "Statystyki" - status: "Stan" - wiki: "Wiki" - donors: "Sponsorzy" - repository: "Repozytorium" - develop: "Autorzy" - feedback: "Podziel się opinią" -common/views/components/note-menu.vue: - mention: "Wspomnij" - detail: "Szczegóły" - copy-content: "Skopiuj zawartość" - copy-link: "Skopiuj adres" - favorite: "Dodaj do ulubionych" - unfavorite: "Usuń z ulubionych" - pin: "Przypnij do profilu" - unpin: "Odepnij" - delete: "Usuń" - delete-confirm: "Czy na pewno chcesz usunąć ten wpis?" - remote: "Pokaż oryginał" -common/views/components/user-menu.vue: - mention: "Wspomnij" - mute: "Wycisz" - unmute: "Cofnij wyciszenie" - block: "Zablokuj" - unblock: "Odblokuj" - push-to-list: "Dodaj do listy" - select-list: "Wybierz listę" - report-abuse: "Zgłoś nadużycie" -common/views/components/poll.vue: - vote-to: "Zagłosuj na '{}'" - vote-count: "{} głosów" - vote: "Zagłosuj" - show-result: "Pokaż wyniki" - voted: "Zagłosowano" -common/views/components/poll-editor.vue: - no-only-one-choice: "Musisz wprowadzić przynajmniej dwie opcje." - choice-n: "Opcja {}" - remove: "Usuń tą opcję" - add: "+ Dodaj opcję" - destroy: "Usuń tę ankietę" - day: "N" -common/views/components/reaction-picker.vue: - choose-reaction: "Wybierz reakcję" -common/views/components/emoji-picker.vue: - custom-emoji: "Niestandardowe Emoji" - people: "Ludzie" - animals-and-nature: "Zwierzęta i Natura" - food-and-drink: "Żywność i napoje" - activity: "Aktywność" - travel-and-places: "Podróże i Miejsca" - objects: "Rzeczy" - symbols: "Symbole" - flags: "Flagi" -common/views/components/settings/app-type.vue: - info: "Musisz odświeżyć stronę, aby zmiany zostały uwzględnione." -common/views/components/signin.vue: - username: "Nazwa użytkownika" - password: "Hasło" - token: "Token" - signing-in: "Logowanie…" - or: "lub" - signin-with-twitter: "Zaloguj się za pomocą Twittera" - signin-with-github: "Zaloguj się za pomocą GitHuba" - signin-with-discord: "Zaloguj się za pomocą Discorda" - login-failed: "Logowanie nie powiodło się. Upewnij się, że podałeś prawidłową nazwę użytkownika i hasło." -common/views/components/signup.vue: - invitation-code: "Kod zaproszenia" - username: "Nazwa użytkownika" - checking: "Sprawdzanie…" - available: "Dostępna" - unavailable: "Niedostępna" - error: "Błąd sieci" - invalid-format: "Może zawierać litery, cyfry i myślniki." - too-short: "Wprowadź przynajmniej jeden znak" - too-long: "Nazwa nie może zawierać więcej niż 20 znaków" - password: "Hasło" - password-placeholder: "Zalecamy korzystanie z hasła zawierającego przynajmniej 8 znaków." - weak-password: "Słabe" - normal-password: "Średnie" - strong-password: "Silne" - retype: "Powtórz hasło" - retype-placeholder: "Potwierdź hasło" - password-matched: "OK" - password-not-matched: "Hasła nie zgadzają się" - recaptcha: "Weryfikacja" - create: "Utwórz konto" - some-error: "Nie udało się utworzyć konta. Spróbuj ponownie." -common/views/components/special-message.vue: - new-year: "Szczęśliwego nowego roku!" - christmas: "Wesołych świąt!" -common/views/components/stream-indicator.vue: - connecting: "Łączenie" - reconnecting: "Ponowne łączenie" - connected: "Połączono" -common/views/components/notification-settings.vue: - title: "Powiadomienia" - mark-as-read-all-notifications: "Oznacz wszystkie powiadomienia jako przeczytane" - mark-as-read-all-unread-notes: "Oznacz wszystkie wpisy jako przeczytane" - mark-as-read-all-talk-messages: "Oznacz wszystkie rozmowy jako przeczytane" - auto-watch: "Automatycznie nasłuchuj wpisów" - auto-watch-desc: "Automatycznie otrzymuj powiadomienia o wpisach, w których zareagowałeś(-aś) lub odpowiedziałeś(-aś)." -common/views/components/integration-settings.vue: - connect: "Połącz" - disconnect: "Rozłącz" - connected-to: "Jesteś połączony(-a) z następującym kontem" -common/views/components/github-setting.vue: - detail: "Więcej..." - reconnect: "Połącz ponownie" - disconnect: "Rozłącz" -common/views/components/discord-setting.vue: - detail: "Szczegóły…" - reconnect: "Połącz ponownie" - disconnect: "Rozłącz" -common/views/components/uploader.vue: - waiting: "Oczekiwanie" -common/views/components/visibility-chooser.vue: - public: "Publiczny" - home: "Lokalny" - home-desc: "Widoczny tylko na tej instancji" - followers: "Dla śledzących" - followers-desc: "Widoczny tylko dla osób, które Cię śledzą" - specified: "Bezpośredni" - specified-desc: "Tylko dla określonych użytkowników" - local-public: "Publiczny (tylko lokalnie)" - local-followers: "Dla śledzących (tylko lokalnie)" -common/views/components/trends.vue: - empty: "Brak popularnych hashtagów" -common/views/components/language-settings.vue: - title: "Język" - pick-language: "Wybierz język" - recommended: "Zalecane" - auto: "Automatyczny" - specify-language: "Wybierz język" - info: "Musisz odświeżyć stronę, aby zmiany zostały uwzględnione." -common/views/components/profile-editor.vue: - title: "Twój profil" - name: "Nazwa" - account: "Konto" - location: "Lokalizacja" - description: "O mnie" - language: "Język" - birthday: "Data urodzenia" - avatar: "Awatar" - banner: "Baner" - is-cat: "To konto jest prowadzone przez kota" - is-bot: "To konto jest prowadzone przez bota" - is-locked: "Prośby śledzenia wymagają zatwierdzenia" - careful-bot: "Prośby śledzenia od botów wymagają zatwierdzenia" - auto-accept-followed: "Automatyczne zatwierdzaj śledzenia od osób, które śledzisz." - advanced: "Inne" - privacy: "Prywatność" - save: "Zapisz" - saved: "Pomyślnie zaktualizowano profil" - uploading: "Wysyłanie" - upload-failed: "Wysyłanie nie powiodło się" - unable-to-process: "Nie udało się ukończyć działania." - email: "Ustawienia e-mail" - email-address: "Adres e-mail" - email-verified: "Twój adres e-mail został zweryfikowany." - export: "Eksportuj" - import: "Importuj" - export-targets: - following-list: "Śledzeni" - mute-list: "Wycisz" - blocking-list: "Zablokuj" - user-lists: "Listy" - enter-password: "Wprowadź hasło" -common/views/components/user-list-editor.vue: - users: "Użytkownicy" - rename: "Zmień nazwę listy" - delete: "Usuń listę" - remove-user: "Usuń z tej listy" - delete-are-you-sure: "Usunąć listę \"$1\"?" - deleted: "Usunięto" - add-user: "Dodaj użytkownika" -common/views/components/user-group-editor.vue: - deleted: "Usunięto" - invite: "Zaproś" -common/views/components/user-lists.vue: - user-lists: "Listy" - list-name: "Nazwa listy" -common/views/components/user-groups.vue: - invites: "Zaproś" -common/views/widgets/broadcast.vue: - fetching: "Sprawdzanie" - no-broadcasts: "Brak transmisji" - have-a-nice-day: "Miłego dnia!" - next: "Dalej" -common/views/widgets/calendar.vue: - year: "Rok {}" - month: "Miesiąc {}" - day: "Dzień {}" - today: "Dzisiaj:" - this-month: "Ten miesiąc:" - this-year: "Ten rok:" -common/views/widgets/photo-stream.vue: - title: "Photostream" - no-photos: "Brak zdjęć" -common/views/widgets/posts-monitor.vue: - title: "Wykres wpisów" - toggle: "Przełącz widok" -common/views/widgets/hashtags.vue: - title: "Hashtagi" -common/views/widgets/server.vue: - title: "Informacje o serwerze" - toggle: "Przełącz widok" -common/views/widgets/memo.vue: - title: "Notatka" - memo: "Napisz tutaj!" - save: "Zapisz" -common/views/widgets/slideshow.vue: - folder-customize-mode: "Aby określić katalog, opuść tryb dostosowywania" - folder: "Naciśnij i wybierz folder" - no-image: "Brak obrazu w tym folderze" -common/views/widgets/tips.vue: - tips-line1: "Możesz przejść do osi czasu używając t." - tips-line2: "Otwórz formularz nowego wpisu używając p lub n." - tips-line3: "Możesz przeciągnąć i upuścić pliki w formularzu wpisu." - tips-line5: "Możesz wysłać pliki przeciągając i upuszczając je w Dysku." - tips-line6: "Możesz przenieść katalog przeciągając go w Dysku." - tips-line7: "Możesz przenieść katalog przeciągając go w Dysku." - tips-line8: "Strona główna może zostać dostosowana w ustawieniach." - tips-line9: "Misskey jest dostępny na licencji AGPLv3." - tips-line11: "Możesz przypiąć wpis na stronie użytkownika klikając na „…”" - tips-line17: "Oznaczenie tekstu **w ten sposób** wyróżni go." - tips-line19: "Część okien może zostać odłączona z przeglądarki." - tips-line21: "Możesz też używać API, aby tworzyć boty." - tips-line24: "Misskey zaczął działać w 2014." - tips-line25: "Możesz otrzymywać powiadomienia nawet jeżeli Misskey nie jest otwarty w obsługiwanej przeglądarce." -common/views/pages/not-found.vue: - page-not-found: "Strona nie została znaleziona" -common/views/pages/follow.vue: - signed-in-as: "Zalogowany jako {}" - following: "Śledzisz" - follow: "Śledź" - request-pending: "Oczekiwanie na pozwolenie" - follow-processing: "Przetwarzanie śledzenia" - follow-request: "Poproś o śledzenie" -common/views/pages/follow-requests.vue: - received-follow-requests: "Prośby o śledzenie" -desktop: - banner: "Baner" - uploading-banner: "Wysyłanie baneru" - banner-updated: "Zmieniono baner" - choose-banner: "Wybierz baner" - avatar-crop-title: "Wybierz część obrazu, która zostanie użyta jako awatar" - avatar: "Awatar" - uploading-avatar: "Wysyłanie awatara" - avatar-updated: "Wysłano awatar" - choose-avatar: "Wybierz awatar" - unable-to-process: "Nie udało się ukończyć działania." -desktop/views/components/activity.chart.vue: - total: "Czarny … Łącznie" - notes: "Niebieski … Wpisy" - replies: "Czerwony … Odpowiedzi" - renotes: "Czerwony … Udostępnienia" -desktop/views/components/activity.vue: - title: "Aktywność" - toggle: "Przełącz widok" -desktop/views/components/calendar.vue: - title: "{year} / {month}" - prev: "Poprzedni miesiąc" - next: "Następny miesiąc" - go: "Naciśnij, aby przejść" -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "Wybrano {count} Plik(ów)" - upload: "Wyślij pliki z Twojego komputera" - cancel: "Anuluj" - ok: "OK" - choose-prompt: "Wybierz plik" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "Anuluj" - ok: "OK" - choose-prompt: "Wybierz katalog" -desktop/views/components/crop-window.vue: - skip: "Pomiń przycinanie" - cancel: "Anuluj" - ok: "OK" -desktop/views/components/drive-window.vue: - used: "wykorzystane" -desktop/views/components/drive.file.vue: - avatar: "Awatar" - banner: "Baner" - nsfw: "NSFW" - contextmenu: - rename: "Zmień nazwę" - mark-as-sensitive: "Oznacz jako zawartość wrażliwą" - unmark-as-sensitive: "Cofnij oznaczenie jako zawartość wrażliwą" - copy-url: "Skopiuj adres" - download: "Pobierz" - else-files: "Inne" - set-as-avatar: "Ustaw jako awatar" - set-as-banner: "Ustaw jako baner" - open-in-app: "Otwórz w aplikacji" - add-app: "Dodaj aplikację" - rename-file: "Zmień nazwę pliku" - input-new-file-name: "Wprowadź nową nazwę" - copied: "Skopiowano" - copied-url-to-clipboard: "Skopiowano adres do schowka" -desktop/views/components/drive.folder.vue: - unable-to-process: "Nie udało się ukończyć działania." - circular-reference-detected: "Docelowy katalog znajduje się w katalogu, który chcesz przenieść." - unhandled-error: "Nieznany błąd" - contextmenu: - move-to-this-folder: "Przenieś do tego katalogu" - show-in-new-window: "Otwórz w nowym oknie" - rename: "Zmień nazwę" - rename-folder: "Zmień nazwę katalogu" - input-new-folder-name: "Wprowadź nową nazwę" - else-folders: "Inne" -desktop/views/components/drive.vue: - search: "Szukaj" - empty-draghover: "Przeciągnij tutaj!" - empty-drive: "Twój dysk jest pusty" - empty-drive-description: "Możesz wysłać plik klikając prawym przyciskiem myszy i wybierając \"Wyślij plik\" lub przeciągnąć plik i upuścić w tym oknie." - empty-folder: "Ten katalog jest posty" - unable-to-process: "Nie udało się dokończyć działania." - circular-reference-detected: "Ten katalog znajduje się w katalogu, który chcesz przenieść." - unhandled-error: "Nieznany błąd" - url-upload: "Wyślij z adresu" - url-of-file: "Adres URL pliku, który chcesz wysłać" - url-upload-requested: "Zaplanowano wysyłanie" - may-take-time: "Może trochę potrwać, zanim wysyłanie zostanie ukończone." - create-folder: "Utwórz katalog" - folder-name: "Nazwa katalogu" - contextmenu: - create-folder: "Utwórz katalog" - upload: "Wyślij plik" - url-upload: "Wyślij z adresu URL" -desktop/views/components/media-video.vue: - sensitive: "To jest zawartość NSFW" - click-to-show: "Naciśnij aby wyświetlić" -desktop/views/components/followers-window.vue: - followers: "Śledzący" -desktop/views/components/followers.vue: - empty: "Wygląda na to, że nikt Cię nie śledzi…" -desktop/views/components/following-window.vue: - following: "Śledzeni przez {}" -desktop/views/components/following.vue: - empty: "Nikt Cię nie śledzi." -desktop/views/components/game-window.vue: - game: "Reversi" -desktop/views/components/home.vue: - done: "Zakończ" - add-widget: "Dodaj widżet:" - add: "Dodaj" -desktop/views/input-dialog.vue: - cancel: "Anuluj" - ok: "OK" -desktop/views/components/note-detail.vue: - private: "ten wpis jest prywatny" - deleted: "ten wpis został usunięty" - location: "Informacje o lokalizacji" - renote: "Udostępnij" - add-reaction: "Dodaj reakcję" -desktop/views/components/note.vue: - reply: "Odpowiedz" - renote: "Udostępnij" - add-reaction: "Dodaj reakcję" - detail: "Szczegóły" - private: "Ten wpis jest prywatny" - deleted: "ten wpis został usunięty" -desktop/views/components/notes.vue: - error: "Ładowanie nie powiodło się." - retry: "Spróbuj ponownie" -desktop/views/components/notifications.vue: - empty: "Brak powiadomień" -desktop/views/components/post-form.vue: - posted: "Opublikowano!" - replied: "Odpowiedziano!" - reposted: "Udostępniono!" - note-failed: "Nie udało się wysłać" - reply-failed: "Nie udało się odpowiedzieć" - renote-failed: "Nie udało się udostępnić" -desktop/views/components/post-form-window.vue: - note: "Nowy wpis" - reply: "Odpowiedz" - attaches: "{} załączników multimedialnych" - uploading-media: "Wysyłanie {} treści multimedialnych" -desktop/views/components/progress-dialog.vue: - waiting: "Oczekiwanie" -desktop/views/components/renote-form.vue: - quote: "Cytuj…" - cancel: "Anuluj" - renote: "Udostępnij" - reposting: "Udostępnianie…" - success: "Udostępniono!" - failure: "Nie udało się udostępnić" -desktop/views/components/renote-form-window.vue: - title: "Czy na pewno chcesz udostępnić ten wpis?" -desktop/views/components/settings.2fa.vue: - intro: "Jeżeli skonfigurujesz uwierzytelnianie dwuetapowe, aby zablokować się będziesz potrzebować (oprócz hasła) kodu ze skonfigurowanego urządzenia (np. smartfonu), co zwiększy bezpieczeństwo." - detail: "Zobacz szczegóły…" - url: "https://www.google.com/landing/2step/" - caution: "Jeżeli stracisz dostęp do urządzenia, nie będziesz mógł logować się do Misskey!" - register: "Zarejestruj urządzenie" - already-registered: "Urządzenie jest już zarejestrowane" - unregister: "Wyłącz" - unregistered: "Wyłączono uwierzytelnianie dwuetapowe." - enter-password: "Wprowadź hasło" - authenticator: "Na początek musisz zainstalować Google Authenticator na swoim urządzeniu:" - howtoinstall: "Jak zainstalować" - token: "Token" - scan: "Później, zeskanuje ten kod QR:" - done: "Wprowadź token wyświetlony na Twoim urządzeniu:" - submit: "Wyślij" - success: "Pomyślnie ukończono konfigurację!" - failed: "Nie udało się skonfigurować uwierzytelniania dwuetapowego, upewnij się że wprowadziłeś prawidłowy token." - info: "Od teraz, wprowadzaj token wyświetlany na urządzeniu przy każdym logowaniu do Misskey." -common/views/components/media-image.vue: - sensitive: "To jest zawartość NSFW" - click-to-show: "Naciśnij aby wyświetlić" -common/views/components/api-settings.vue: - intro: "Aby uzyskać dostęp do API, ustaw ten token jako klucz 'i' parametrów żądań." - caution: "Nie pokazuj tego tokenu osobom trzecim (nie wprowadzaj go nigdzie indziej), aby konto nie trafiło w niepowołane ręce." - regeneration-of-token: "W przypadku wycieku tokenu, możesz wygenerować nowy." - regenerate-token: "Wygeneruj nowy token" - token: "Token:" - enter-password: "Wprowadź hasło" - console: - title: "Konsola API" - parameter: "Parametry" - send: "Wyślij" -desktop/views/components/settings.apps.vue: - no-apps: "Brak zautoryzowanych aplikacji" -common/views/components/drive-settings.vue: - max: "Max" - in-use: "użyto" - stats: "Statystyki" - default-upload-folder-name: "Katalog(i)" -common/views/components/mute-and-block.vue: - mute-and-block: "Wycisz / Zablokuj" - mute: "Wycisz" - block: "Zablokuj" - no-muted-users: "Brak wyciszonych użytkowników" - no-blocked-users: "Brak zablokowanych użytkowników" - word-mute: "Wyciszenie słowa" - muted-words: "Wyciszone słowa kluczowe" - save: "Zapisz" -common/views/components/password-settings.vue: - reset: "Zmień hasło" - enter-current-password: "Wprowadź obecne hasło" - enter-new-password: "Wprowadź nowe hasło" - enter-new-password-again: "Wprowadź ponownie nowe hasło" -common/views/components/post-form-attaches.vue: - mark-as-sensitive: "Oznacz jako zawartość wrażliwą" - unmark-as-sensitive: "Cofnij oznaczenie jako zawartość wrażliwą" -desktop/views/components/sub-note-content.vue: - private: "ten wpis jest prywatny" - deleted: "ten wpis został usunięty" - media-count: "{}zawartości multimedialnej" - poll: "Ankieta" -desktop/views/components/settings.tags.vue: - title: "Tagi" - query: "Zapytanie (opcjonalne)" - add: "Dodaj" - save: "Zapisz" -desktop/views/components/timeline.vue: - home: "Strona główna" - local: "Lokalne" - global: "Globalne" - mentions: "Wspomnienia" - messages: "Bezpośrednie wpisy" - list: "Listy" - hashtag: "Hashtag" - add-tag-timeline: "Dodaj hashtag" - add-list: "Dodaj listę" - list-name: "Nazwa listy" -desktop/views/components/ui.header.vue: - welcome-back: "Witaj ponownie," -desktop/views/components/ui.header.account.vue: - profile: "Twój profil" - lists: "Listy" - follow-requests: "Prośby o śledzenie" - admin: "Admin" -desktop/views/components/ui.header.nav.vue: - game: "Gra" -desktop/views/components/ui.header.notifications.vue: - title: "Powiadomienia" -desktop/views/components/ui.header.post.vue: - post: "Utwórz nowy wpis" -desktop/views/components/ui.header.search.vue: - placeholder: "Szukaj" -desktop/views/components/user-preview.vue: - notes: "Wpisy" - following: "Śledzeni" - followers: "Śledzący" -desktop/views/components/users-list.vue: - all: "Wszyscy" - iknow: "Znasz" - fetching: "Ładowanie…" -desktop/views/components/users-list-item.vue: - followed: "Obserwuje Cię" -desktop/views/components/window.vue: - popout: "Pop-out" - close: "Zamknij" -admin/views/index.vue: - dashboard: "Kokpit" - instance: "Instancja" - emoji: "Emoji" - moderators: "Moderatorzy" - users: "Użytkownicy" - announcements: "Ogłoszenia" -admin/views/dashboard.vue: - dashboard: "Kokpit" - accounts: "Konta" - notes: "Wpisy" - drive: "Dysk" - instances: "Instancja" -admin/views/logs.vue: - levels: - info: "Informacje" - error: "Błąd" -admin/views/abuse.vue: - details: "Szczegóły" - remove-report: "Usuń" -admin/views/instance.vue: - instance: "Instancja" - recaptcha-preview: "Pokaż podgląd" - github-integration-client-id: "Client ID" - github-integration-client-secret: "Client Secret" - discord-integration-client-id: "Client ID" - discord-integration-client-secret: "Client Secret" - invite: "Zaproś" - save: "Zapisz" - saved: "Zapisano" - email: "Adres e-mail" - test-email: "Test" -admin/views/charts.vue: - notes: "Wpisy" - users: "Użytkownicy" - drive: "Dysk" - network: "Sieć" - charts: - network-requests: "Żądania" - network-time: "Czas reakcji" -admin/views/drive.vue: - sort: - title: "Sortuj" - origin: - title: "Źródło" - local: "Lokalne" - remote: "Zdalny" - delete: "Usuń" - deleted: "Usunięto" - mark-as-sensitive: "Oznacz jako zawartość wrażliwą" - unmark-as-sensitive: "Cofnij oznaczenie jako zawartość wrażliwą" -admin/views/users.vue: - user-not-found: "Nie znaleziono użytkownika" - username: "Nazwa użytkownika" - users: - title: "Użytkownicy" - sort: - title: "Sortuj" - state: - all: "Wszyscy" - moderator: "Moderatorzy" - origin: - title: "Źródło" - local: "Lokalny" - remote: "Zdalny" - createdAt: "Utworzono" -admin/views/moderators.vue: - add-moderator: - add: "Zarejestruj się" - logs: - moderator: "Moderatorzy" - info: "Informacje" -admin/views/emoji.vue: - add-emoji: - name: "Nazwa Emoji" - aliases: "Aliasy" - add: "Dodaj" - emojis: - update: "Aktualizuj" - remove: "Usuń" - updated: "Zaktualizowano" - remove-emoji: - are-you-sure: "Usunąć \"$1\"?" - removed: "Usunięto" -admin/views/announcements.vue: - announcements: "Ogłoszenia" - save: "Zapisz" - remove: "Usuń" - add: "Dodaj" - title: "Tytuł" - saved: "Zapisano" - _remove: - are-you-sure: "Usunąć \"$1\"?" - removed: "Usunięto" -admin/views/federation.vue: - instance: "Instancja" - notes: "Wpis" - users: "Użytkownicy" - following: "Śledzisz" - followers: "Śledzący" - caught-at: "Utworzono" - status: "Stan" - block: "Zablokuj" - sort: "Sortuj" - states: - all: "Wszyscy" - blocked: "Zablokuj" - chart-srcs: - requests: "Żądania" - blocked-hosts: "Zablokuj" - save: "Zapisz" -desktop/views/pages/welcome.vue: - about: "O Misskey" - timeline: "Oś czasu" - announcements: "Ogłoszenia" - photos: "Ostatnie obrazy" - powered-by-misskey: "Oparto o Misskey." - info: "Informacje" -desktop/views/pages/drive.vue: - title: "Dysk Misskey" -desktop/views/pages/note.vue: - prev: "Poprzedni wpis" - next: "Następny wpis" -desktop/views/pages/selectdrive.vue: - title: "Wybierz plik(i)" - ok: "OK" - cancel: "Anuluj" - upload: "Wyślij pliki z Twojego komputera" -desktop/views/pages/user-list.users.vue: - users: "Użytkownicy" - add-user: "Dodaj użytkownika" - username: "Nazwa użytkownika" -desktop/views/pages/user/user.followers-you-know.vue: - title: "Śledzący których znasz" - loading: "Ładowanie" - no-users: "Brak użytkowników" -desktop/views/pages/user/user.friends.vue: - title: "Najbardziej aktywni" - loading: "Ładowanie" - no-users: "Brak użytkowników" -desktop/views/pages/user/user.photos.vue: - title: "Zdjęcia" - loading: "Ładowanie" - no-photos: "Brak zdjęć" -desktop/views/pages/user/user.header.vue: - posts: "Wpisy" - following: "Śledzeni" - followers: "Śledzący" - is-bot: "To konto jest botem" - years-old: "{age} lat" - year: "/" - month: "/" - day: "-" - follows-you: "Śledzi Cię" -desktop/views/pages/user/user.timeline.vue: - default: "Wpisy" - with-replies: "Wpisy i odpowiedzi" - with-media: "Multimedia" - my-posts: "Moje wpisy" -desktop/views/widgets/notifications.vue: - title: "Powiadomienia" -desktop/views/widgets/polls.vue: - title: "Ankiety" - refresh: "Pokaż inne" - nothing: "Pusto" -desktop/views/widgets/post-form.vue: - title: "Wpis" - note: "Wpis" -desktop/views/widgets/profile.vue: - update-banner: "Naciśnij, aby zmienić baner" - update-avatar: "Naciśnij, aby zmienić awatar" -desktop/views/widgets/trends.vue: - title: "Na czasie" - refresh: "Pokaż inne" - nothing: "Pusto" -desktop/views/widgets/users.vue: - title: "Polecani użytkownicy" - refresh: "Pokaż innych" - no-one: "Pusto" -mobile/views/components/drive.vue: - used: "użyto" - folder-count: "Katalog(i)" - count-separator: ", " - file-count: "Plik(i)" - nothing-in-drive: "Pusto" - folder-is-empty: "Ten katalog jest pusty" - folder-name: "Nazwa katalogu" - url-prompt: "Adres URL pliku, który chcesz wysłać" - uploading: "Rozpoczęto wysyłanie. Może to trochę potrwać." -mobile/views/components/drive-file-chooser.vue: - select-file: "Wybierz plik" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "Wybierz katalog" -mobile/views/components/drive.file.vue: - nsfw: "NSFW" -mobile/views/components/drive.file-detail.vue: - download: "Pobierz" - rename: "Zmień nazwę" - move: "Przenieś" - hash: "Hash (md5)" - exif: "EXIF" - nsfw: "NSFW" - mark-as-sensitive: "Oznacz jako zawartość wrażliwą" - unmark-as-sensitive: "Cofnij oznaczenie jako zawartość wrażliwą" -mobile/views/components/media-video.vue: - sensitive: "To jest zawartość NSFW" - click-to-show: "Naciśnij aby wyświetlić" -common/views/components/follow-button.vue: - following: "Śledzisz" - follow: "Śledź" - request-pending: "Oczekiwanie na pozwolenie" - follow-processing: "Przetwarzanie" - follow-request: "Poproś o śledzenie" -mobile/views/components/note.vue: - private: "ten wpis jest prywatny" - deleted: "ten wpis został usunięty" - location: "Informacje o lokalizacji" -mobile/views/components/note-detail.vue: - reply: "Odpowiedz" - reaction: "Reakcja" - private: "ten wpis jest prywatny" - deleted: "ten wpis został usunięty" - location: "Informacje o lokalizacji" -mobile/views/components/note-preview.vue: - admin: "admin" - bot: "bot" - cat: "kot" -mobile/views/components/note-sub.vue: - admin: "admin" - bot: "bot" - cat: "kot" -mobile/views/components/notifications.vue: - empty: "Brak powiadomień" -mobile/views/components/sub-note-content.vue: - private: "ten wpis jest prywatny" - deleted: "ten wpis został usunięty" - media-count: "{}zawartości multimedialnej" - poll: "Ankieta" -mobile/views/components/ui.header.vue: - welcome-back: "Witaj ponownie, " -mobile/views/components/ui.nav.vue: - timeline: "Oś czasu" - notifications: "Powiadomienia" - follow-requests: "Prośby o śledzenie" - search: "Szukaj" - user-lists: "Listy" - widgets: "Widżety" - game: "Gry" - admin: "Admin" - about: "O Misskey" -mobile/views/pages/drive.vue: - contextmenu: - upload: "Wyślij plik" - create-folder: "Utwórz katalog" -mobile/views/pages/signup.vue: - lets-start: "Rozpocznijmy! 📦" -mobile/views/pages/home.vue: - home: "Strona główna" - local: "Lokalne" - global: "Globalne" - mentions: "Wspomnienia" - messages: "Bezpośrednie wpisy" -mobile/views/pages/widgets.vue: - dashboard: "Kokpit" - add-widget: "Dodaj" - customization-tips: "Wskazówki o dostosowywaniu" -mobile/views/pages/widgets/activity.vue: - activity: "Aktywność" -mobile/views/pages/note.vue: - title: "Wpis" - prev: "Poprzedni wpis" - next: "Następny wpis" -mobile/views/pages/games/reversi.vue: - reversi: "Reversi" -mobile/views/pages/search.vue: - search: "Szukaj" -mobile/views/pages/selectdrive.vue: - select-file: "Wybierz plik" -mobile/views/pages/notifications.vue: - notifications: "Powiadomienia" -mobile/views/pages/settings.vue: - signed-in-as: "Zalogowany jako {}" -mobile/views/pages/user.vue: - follows-you: "Śledzi Cię" - following: "Śledzeni" - followers: "Śledzący" - notes: "Wpisy" - overview: "Przegląd" - timeline: "Oś czasu" - media: "Multimedia" - years-old: "{age} lat" -mobile/views/pages/user/home.vue: - recent-notes: "Ostatnie wpisy" - images: "Zdjęcia" - activity: "Aktywność" - keywords: "Słowa kluczowe" - domains: "Domeny" - frequently-replied-users: "Najbardziej aktywni" - followers-you-know: "Śledzący których znasz" - last-used-at: "Ostatnio aktywny" -mobile/views/pages/user/home.photos.vue: - no-photos: "Brak zdjęć" -deck: - widgets: "Widżety" - home: "Strona główna" - local: "Lokalne" - hashtag: "Hashtag" - global: "Globalne" - mentions: "Wspomnienia" - direct: "Bezpośrednie wpisy" - notifications: "Powiadomienia" - list: "Listy" - select-list: "Wybierz listę" - swap-left: "Przesuń w lewo" - swap-right: "Przesuń w prawo" - swap-up: "Przenieś w górę" - remove: "Usuń" - add-column: "Dodaj kolumnę" - rename: "Zmień nazwę" - stack-left: "Przypnij do lewej" -deck/deck.tl-column.vue: - is-media-only: "Tylko wpisy z zawartością multimedialną" - edit: "Opcje" -deck/deck.user-column.vue: - follows-you: "Śledzi Cię" - posts: "Wpisy" - following: "Śledzeni" - followers: "Śledzący" - images: "Zdjęcia" - activity: "Aktywność" - timeline: "Oś czasu" - pinned-notes: "Przypięte posty" -docs: - edit-this-page-on-github: "Znalazłeś błąd lub chcesz pomóc w tworzeniu dokumentacji?" - edit-this-page-on-github-link: "Edytuj stronę na GitHubie!" -dev/views/index.vue: - manage-apps: "Zarządzaj aplikacjami" -dev/views/apps.vue: - manage-apps: "Zarządzaj aplikacjami" - app-missing: "Brak aplikacji" -dev/views/new-app.vue: - app-name: "Nazwa Aplikacji" - authority: "Uprawnienia" -pages: - pin-this-page: "Przypnij do profilu" - unpin-this-page: "Odepnij" - like: "Lubię" - title: "Tytuł" - blocks: - image: "Zdjęcia" - post: "Formularz tworzenia" - _textInput: - text: "Tytuł" - _textareaInput: - text: "Tytuł" - _numberInput: - text: "Tytuł" - _switch: - text: "Tytuł" - _counter: - text: "Tytuł" - _button: - text: "Tytuł" - _radioButton: - title: "Tytuł" - script: - categories: - random: "Losowy" - list: "Listy" - blocks: - _join: - arg1: "Listy" - random: "Losowy" - _randomPick: - arg1: "Listy" - _dailyRandomPick: - arg1: "Listy" - _seedRandomPick: - arg2: "Listy" - _pick: - arg1: "Listy" - _listLen: - arg1: "Listy" - types: - array: "Listy" -room: - translate: "Przenieś" - save: "Zapisz" - saved: "Zapisano" - furnitures: - moon: "Księżyc" - bin: "Kosz" diff --git a/locales/pt-PT.yml b/locales/pt-PT.yml deleted file mode 100644 index 772e1c198..000000000 --- a/locales/pt-PT.yml +++ /dev/null @@ -1,288 +0,0 @@ ---- -meta: - lang: "Português" -common: - misskey: "Uma ⭐ do fediverso" - about-title: "Uma ⭐ do fediverso." - about: "Obrigado por encontrar Misskey. Uma plataforma descentralizada de microblog nascida na Terra. Já que ela existe no Fediverso (um universo onde várias plataformas de mídia social são organizadas), ela é ligada com outras plataformas.Por que você não tira uma folga do agito e confusão da cidade, e mergulha em uma nova internet?" - intro: - title: "O que é Misskey?" - about: "Misskey é um serviço de microblog descentralizado. Personalização sofisticada da interface, variedade de reações a posts, armazenamento de arquivos grátis com gerenciamento integrado e outras funções avançadas estão disponíveis. Um sistema em rede chamado \"Fediverso\" permite que nos comuniquemos com usuários em outras redes sociais. Se você postar algo, por exemplo, seu post não será mandado apenas para o Misskey, mas também para o Mastodon. Apenas imagine que o planeta está enviando ondas de rádio para outros planetas para se comunicar." - features: "Recursos" - rich-contents: "Post" - rich-contents-desc: "Apenas poste suas ideias, temas do momento e qualquer coisa que você queira compartilhar. Você pode querer decorar suas palavras, anexar suas imagens favoritas, enviar arquivos, inclusive vídeos ou criar uma enquete. Essas são as coisas que você pode fazer em Misskey." - reaction: "Reações" - reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません" - application-authorization: "Aplicativos autorizados" - close: "Fechar" - do-not-copy-paste: "Por favor, não digite ou copie o código aqui. A conta pode ser comprometida." - notification-types: - follow: "Seguindo" - got-it: "Entendi!" - customization-tips: - title: "Dicas de personalização" - gotit: "Entendi!" - notification: - file-uploaded: "Arquivo enviado!" - message-from: "Mensagem de {}:" - reversi-invited: "Convidado a jogar" - reversi-invited-by: "Convidado por {}:" - notified-by: "Notificado por {}:" - reply-from: "Resposta de {}:" - quoted-by: "Citado por {}:" - time: - unknown: "Desconhecido" - future: "futuro" - just_now: "agora" - seconds_ago: "{} sec atrás" - minutes_ago: "{} min atrás" - hours_ago: "{} h atrás" - days_ago: "{} d atrás" - weeks_ago: "{} sem atrás" - months_ago: "{} m atrás" - years_ago: "{} ano(s) atrás" - month-and-day: "{day}/{month}" - trash: "Lixo" - timeline: "Linha do tempo" - followers: "Seguidores" - post-form: - enter-username: "Digite o nome de usuário." - username-prompt: "Digite o nome de usuário." - weekday-short: - sunday: "Dom" - monday: "Seg" - tuesday: "Ter" - wednesday: "Qua" - thursday: "Qui" - friday: "Sex" - saturday: "Seb" - weekday: - sunday: "domingo" - monday: "segunda" - tuesday: "terça" - wednesday: "quarta" - thursday: "quinta" - friday: "sexta" - saturday: "sábado" - reactions: - like: "Curtir" - love: "Amei" - laugh: "Riso" - hmm: "Hmm...?" - surprise: "Uau" - congrats: "Parabéns!" - angry: "Raiva" - confused: "Confuso" - rip: "RIP" - pudding: "Pudim" - note-visibility: - followers: "Seguidores" - note-placeholders: - a: "O que está fazendo?" - b: "O que está acontecendo?" - c: "No que está pensando?" - d: "Quer postar algo?" - e: "Escreva aqui" - f: "Esperando você escrever." - _settings: - timeline: "Linha do tempo" - search: "Buscar" - delete: "Apagar" - loading: "Carregando" - update-available-title: "Atualização disponível" - update-available: "Uma nova versão de Misskey está disponível ({newer}). A versão atual é {current}. Recarregue a página para atualizar." - my-token-regenerated: "Seu token foi recriado, portanto você foi deslogado." - enter-username: "Digite o nome de usuário." - reversi: - drawn: "Empatado" - my-turn: "Seu turno" - opponent-turn: "Turno do oponente" - black: "Pretas" - white: "Brancas" - total: "Total" - widgets: - analog-clock: "Relógio analógico" - profile: "Perfil" - calendar: "Calendário" - timemachine: "Calendário (máquina do tempo)" - activity: "Atividade" - rss: "Leitor de RSS" - memo: "Nota adesiva" - trends: "Tendências" - posts-monitor: "Gráfico de publicações" - version: "Versão" - notifications: "Notificações" - users: "Usuário sugeridos" - polls: "Enquetes" - post-form: "Formulário de publicação" - server: "Informações do servidor" - nav: "Navegação" - tips: "Dicas" - hashtags: "Hashtags" - you: "Você" -auth/views/form.vue: - permission-ask: "Este aplicativo precisa das seguintes permissões:" - cancel: "Cancelar" - accept: "Permitir acesso" -auth/views/index.vue: - loading: "Carregando" - already-authorized: "Este aplicativo já foi autorizado" - allowed: "Aplicativos com acesso autorizado" - callback-url: "Voltando ao aplicativo" - please-go-back: "Por favor, volte ao aplicativo." - error: "A sessão não existe." - sign-in: "Por favor, entre." -common/views/components/games/reversi/reversi.index.vue: - invite: "Convidar" - rule: "Como jogar" - mode-invite: "Convidar" - mode-invite-desc: "Convidar um usuário para jogar" - invitations: "Você foi convidado!" - my-games: "Meu jogo" - all-games: "Todos os jogos" - enter-username: "Digite o nome de usuário." - game-state: - ended: "Terminado" -common/views/components/games/reversi/reversi.room.vue: - rules: "Regras" - cancel: "Cancelar" -common/views/components/connect-failed.troubleshooter.vue: - flush: "Limpar o cache" -common/views/components/theme.vue: - desc: "Descrição" -common/views/components/cw-button.vue: - poll: "Enquetes" -common/views/components/messaging.vue: - you: "Você" -common/views/components/note-menu.vue: - delete: "Apagar" -common/views/components/poll-editor.vue: - day: "Dom" -common/views/components/visibility-chooser.vue: - followers: "Seguidores" -common/views/components/profile-editor.vue: - name: "Nome" - export-targets: - following-list: "Seguindo" -common/views/components/user-group-editor.vue: - invite: "Convidar" -common/views/components/user-groups.vue: - invites: "Convidar" -common/views/widgets/posts-monitor.vue: - title: "Gráfico de publicações" -common/views/widgets/memo.vue: - title: "Nota adesiva" -common/views/pages/follow.vue: - follow: "Seguindo" -desktop/views/components/choose-file-from-drive-window.vue: - upload: "Envie arquivos do seu dispositivo" - ok: "OK" -desktop/views/components/choose-folder-from-drive-window.vue: - ok: "OK" -desktop/views/components/crop-window.vue: - ok: "OK" -desktop/views/input-dialog.vue: - ok: "OK" -common/views/components/api-settings.vue: - console: - parameter: "Parâmetros" -desktop/views/components/sub-note-content.vue: - poll: "Enquetes" -desktop/views/components/user-preview.vue: - following: "Seguindo" - followers: "Seguidores" -desktop/views/components/users-list-item.vue: - followed: "Te segue" -admin/views/abuse.vue: - remove-report: "Apagar" -admin/views/instance.vue: - invite: "Convidar" -admin/views/drive.vue: - delete: "Apagar" -admin/views/emoji.vue: - emojis: - remove: "Apagar" -admin/views/announcements.vue: - remove: "Apagar" -admin/views/federation.vue: - followers: "Seguidores" -desktop/views/pages/welcome.vue: - timeline: "Timeline" - powered-by-misskey: "Desenvolvido por Misskey." -desktop/views/pages/drive.vue: - title: "Drive Misskey" -desktop/views/pages/note.vue: - prev: "Nota anterior" - next: "Próxima nota" -desktop/views/pages/selectdrive.vue: - title: "Selecione um arquivo" - ok: "OK" - cancel: "Cancelar" - upload: "Envie arquivos do seu dispositivo" -desktop/views/pages/search.vue: - not-available: "A pesquisa está desligada nas configurações desta instância." -desktop/views/pages/user/user.followers-you-know.vue: - loading: "Carregando" -desktop/views/pages/user/user.friends.vue: - loading: "Carregando" -desktop/views/pages/user/user.photos.vue: - loading: "Carregando" -desktop/views/pages/user/user.header.vue: - following: "Seguindo" - followers: "Seguidores" - month: "Seg" - day: "Dom" - follows-you: "Te segue" -desktop/views/pages/user/user.timeline.vue: - with-media: "Mídia" -desktop/views/widgets/polls.vue: - title: "Enquetes" -common/views/components/follow-button.vue: - follow: "Seguindo" -mobile/views/components/sub-note-content.vue: - poll: "Enquetes" -mobile/views/components/ui.nav.vue: - timeline: "Linha do tempo" -mobile/views/pages/widgets.vue: - customization-tips: "Dicas de personalização" -mobile/views/pages/note.vue: - prev: "Nota anterior" - next: "Próxima nota" -mobile/views/pages/search.vue: - search: "Pesquisar" -mobile/views/pages/user.vue: - follows-you: "Te segue" - following: "Seguindo" - followers: "Seguidores" - notes: "Posts" - timeline: "Linha do tempo" - media: "Mídia" -mobile/views/pages/user/home.vue: - recent-notes: "Notas recentes" - images: "Imagens" - activity: "Atividade" - keywords: "Palavras chave" - domains: "Domínios" - followers-you-know: "Seguidores que você conhece" - last-used-at: "Ativo pela última vez" -mobile/views/pages/user/home.photos.vue: - no-photos: "Sem fotos" -deck/deck.user-column.vue: - follows-you: "Te segue" - following: "Seguindo" - followers: "Seguidores" - images: "Imagens" - timeline: "Linha do tempo" -docs: - edit-this-page-on-github-link: "Edite esta página no GitHub!" -dev/views/index.vue: - manage-apps: "Gerenciar aplicativos" -pages: - like: "Curtir" - blocks: - image: "Imagens" - post: "Formulário de publicação" -room: - furnitures: - moon: "Lua" - bin: "Lixo" diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml deleted file mode 100644 index 3b665766a..000000000 --- a/locales/ru-RU.yml +++ /dev/null @@ -1,171 +0,0 @@ ---- -meta: - lang: "Русский язык" -common: - misskey: "Мы — ⭐ fediverse" - about-title: "Мы — ⭐ fediverse" - about: "Спасибо, что нашли Misskey. Misskey — это децентрализованная платформа для микроблоггинга родом с планеты Земля. Поскольку она существует внутри Fediverse (вселенной различных социальных платформ), она связана с другими платформами. Отдохните от шума большого города — и познакомьтесь с новым интернетом." - intro: - title: "Что такое Misskey?" - about: "Misskey - это децентрализованный сервис микроблогинга с открытым исходным кодом. Он имеет такие функции, как: навороченный, полностью настраиваемый пользовательский интерфейс, множество реакций на посты, бесплатное хранилище файлов с интегрированной системой управления и ещё куча передовых фишек. А ещё сетевая система под названием “Fediverse” позволяет нам общаться с пользователями других социальных сетей. Например, если ты что-нибудь запостишь, то твой пост будет отослан не только в Misskey, но ещё и mastodon. Просто представь, что планета посылает микроволны на другую планету для коммуникации." - features: "Особенности" - rich-contents: "Посты" - rich-contents-desc: "Просто выложи свою идею, актуальные темы и всё, что тебе хочется показать миру. Ты можешь декорировать свои слова, прикреплять свои любимые картинки, отправлять файлы с фильмами и создать голосование - это те вещи, которые ты можешь сделать с помощью Misskey!" - reaction: "Реакции" - reaction-desc: "あなたの気持ちを伝える最も簡単な方法です。Misskeyは、他のユーザーの投稿に様々なリアクションを付けることができます。いちどMisskeyのリアクション機能を体験してしまうと、もう「いいね」の概念しか存在しないSNSには戻れなくなるかもしれません。" - ui: "Интерфейс" - ui-desc: "Нет такого интерфейса, понравившегося всем. Поэтому у Misskey имеется пользовательский интерфейс, широко настраиваемый под ваши вкусы. Создай себе уникальную домашнюю страницу редактируя, подстраивая оформление ленты и размещая виджеты, которые тоже можно кастомизировать." - drive: "Хранилище файлов" - drive-desc: "Хотите запостить картинку, которую уже отправляли ранее? Хочется сортировать, переименовать и создать папку для ваших выложенных файлов? Тогда Misskey Drive - это лучшее решение для вас. Очень лёгкий способ делиться своими файлами онлайн." - outro: "Попробуйте будущие, уникальные для Misskey функции своими глазами! Если чувствуете, что это не в вашем вкусе, то попробуйте другие инстанции, ведь Misskey - это децентрализованная социальная сеть, так что ты можешь с лёгкостью найти себе товарищей. И наконец, GLHF!" - application-authorization: "Авторизация приложений" - close: "Закрыть" - do-not-copy-paste: "Пожалуйста, не вводите и не вставляйте сюда код. Аккаунту может угрожать опасность." - load-more: "Загрузить больше" - enter-password: "Пожалуйста, введите ваш пароль" - 2fa: "Двухфакторная аутентификация" - customize-home: "Настройка домашней страницы" - featured-notes: "Рекомендуемые" - dark-mode: "Тёмная тема" - signin: "Войти" - signup: "Регистрация" - signout: "Выйти" - reload-to-apply-the-setting: "Вам необходимо перезагрузить страницу, чтобы применить настройки. Вы хотите перезагрузить сейчас?" - customization-tips: - title: "Советы по настройке" - gotit: "Понятно!" - notification: - file-uploaded: "Файл отправлен!" - message-from: "Сообщение от {}:" - reversi-invited: "Приглашён в игру" - reversi-invited-by: "Был приглашён {}:" - notified-by: "Был приглашён {}:" - reply-from: "Ответ от {}:" - quoted-by: "Цитировано {}:" - time: - unknown: "неизвестно" - future: "сейчас" - just_now: "сейчас" - seconds_ago: "{} секунд назад" - minutes_ago: "{} минут назад" - hours_ago: "{} часов назад" - days_ago: "{} дней назад" - weeks_ago: "{} недель назад" - months_ago: "{} месяцев назад" - years_ago: "{} лет назад" - month-and-day: "{day}.{month}" - trash: "Мусорное ведро" - drive: "Drive" - pages: "Страницы" - messaging: "Чат" - timeline: "Лента" - followers: "Подписчики" - favorites: "Избранное" - post-form: - reply: "Ответить" - create-poll: "Создать опрос" - weekday-short: - sunday: "Вс" - monday: "Пн" - tuesday: "Вт" - wednesday: "Ср" - thursday: "Чт" - friday: "Пт" - saturday: "Сб" - weekday: - sunday: "Воскресенье" - monday: "Понедельник" - tuesday: "Вторник" - wednesday: "Среда" - thursday: "Четверг" - friday: "Пятница" - saturday: "Суббота" - reactions: - like: "Нравится" - laugh: "Ха-Ха" - rip: "RIP" - do-not-use-in-production: "Эта сборка для разработчиков. Не используйте в продакшне." - error: - title: "Что-то пошло не так :(" - retry: "Повторить" - reversi: - drawn: "Ничья" - my-turn: "Ваш ход" - opponent-turn: "Ход оппонента" - turn-of: "Ход {name}" - past-turn-of: "Ход {name}" - won: "{name} победил" - black: "Чёрный" - white: "Белый" - total: "Всего" - this-turn: "Ход {count}" - widgets: - analog-clock: "Аналоговые часы" - profile: "Профиль" - calendar: "Календарь" - timemachine: "Календарь (машина времени)" - activity: "Активность" - rss: "Ридер RSS" - memo: "Заметка" - trends: "Популярное" - photo-stream: "Фотопоток" - slideshow: "Слайдшоу" - version: "Версия" - notifications: "Уведомления" - users: "Рекомендованные пользователи" - polls: "Голосования" - server: "Информация о сервере" - hashtags: "Хэштеги" - dev: "Не удалось создать приложение. Пожалуйста, попробуйте ещё раз." - ai-chan-kawaii: "Ai-chan kawaii!" -auth/views/form.vue: - share-access: "Вы разрешаете {name} получить доступ к вашему аккаунту?" -common/views/components/games/reversi/reversi.index.vue: - game-state: - ended: "Завершено" - playing: "В процессе" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "Настройки игры" - random: "Случайно" - black-or-white: "Чёрные/Белые" - black-is: "{} ходит чёрными" - rules: "Правила" - settings-of-the-bot: "Настройки бота" - this-game-is-started-soon: "Игра вот-вот начнётся" - waiting-for-other: "Ожидание оппонента" - cancel: "Отмена" - ready: "Готов" -common/views/components/connect-failed.vue: - title: "Невозможно подключиться к серверу" -common/views/components/cw-button.vue: - poll: "Голосования" -common/views/components/poll-editor.vue: - day: "Вс" -common/views/widgets/memo.vue: - title: "Заметка" -desktop/views/components/sub-note-content.vue: - poll: "Голосования" -admin/views/dashboard.vue: - drive: "Хранилище файлов" -admin/views/charts.vue: - drive: "Хранилище файлов" -desktop/views/pages/user/user.header.vue: - month: "Пн" - day: "Вс" -desktop/views/widgets/polls.vue: - title: "Голосования" -mobile/views/components/sub-note-content.vue: - poll: "Голосования" -mobile/views/pages/widgets.vue: - customization-tips: "Советы по настройке" -pages: - like: "Нравится" - script: - categories: - random: "Случайно" - blocks: - random: "Случайно" -room: - furnitures: - moon: "Луна" - bin: "Мусорное ведро" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml deleted file mode 100644 index 9e379c5c2..000000000 --- a/locales/zh-CN.yml +++ /dev/null @@ -1,2173 +0,0 @@ ---- -meta: - lang: "中文(简体)" -common: - misskey: "联邦宇宙中的一颗⭐" - about-title: "联邦宇宙中的一颗⭐" - about: "非常感谢您找到了Misskey。 Misskey是诞生于地球的分布式微博SNS。因为她处于联邦宇宙(由各种SNS组成的宇宙)中,所以她与其他SNS相互连接。为什么不试试远离喧嚣的城市,潜入这片新的网络海洋之中呢?" - intro: - title: "什么是 Misskey 呢?" - about: "Misskey是开源的分散式微博SNS。丰富且可以高度定制的Ui,对别人的帖子进行各种回应,集成管理系统的网盘等先进功能。此外,称为“联邦世界”的网络系统使我们能够与其他SNS的用户进行通信。比如,如果你发布一个帖子,那么你的帖子不仅会发送给Misskey,还会发送到其他SNS平台。想象一下,正如一颗行星和另一颗行星通过电磁波来进行通信一样。" - features: "功能" - rich-contents: "发布" - rich-contents-desc: "请分享您的想法,热门话题,以及任何您想与大家分享的内容。如果有需要的话,您可以使用各种语法来修饰文章,发布问卷调查,或者添加各种您喜欢的图像和视频等文件。" - reaction: "回应" - reaction-desc: "这是表达情绪的最简单方法。 Misskey允许您向其他帖子添加各种类型的回应。 一旦体验过Misskey的回应功能,就再也不会想回到那些只有点赞功能的其他SNS上了。" - ui: "交互界面" - ui-desc: "世界上没有一个UI可以适合每一个人. 所以, Misskey 提供一个可以高度定制的UI交互界面. 您可以通过编辑, 调整布局, 放置可选择的小部件来轻松定制您的专属UI界面。" - drive: "网盘" - drive-desc: "想要发布一张您已经上传过的照片吗?想要管理文件或为上传的文件创建文件夹吗?Misskey的内置网盘将为您完美解决这些问题。简单地分享您的文件。" - outro: "Misskey还有其他更多功能,请亲身体验一下吧。因为 Misskey 是一个分布式的 SNS,如果您感觉某个功能不适合自己,试试其他的吧。祝您玩得开心!" - application-authorization: "应用程序授权" - close: "关闭" - do-not-copy-paste: "请不要在这里输入或粘贴代码。您帐户可能会受到损害。" - load-more: "加载更多" - enter-password: "请输入您的密码" - 2fa: "双重身份验证" - customize-home: "自定义主页" - featured-notes: "高亮" - dark-mode: "黑暗模式" - signin: "登录" - signup: "注册" - signout: "退出" - reload-to-apply-the-setting: "必须重新加载页面以应用此设置。 确实要立即重新加载吗?" - fetching-as-ap-object: "联合查询" - unfollow-confirm: "取消对{name}的关注?" - delete-confirm: "确定删除这个投稿吗?" - signin-required: "请先登录" - notification-type: "通知类型" - notification-types: - all: "所有" - pollVote: "投票" - follow: "关注中" - receiveFollowRequest: "关注请求" - reply: "回复" - quote: "引用" - renote: "转推" - mention: "提及" - reaction: "回应" - got-it: "知道了" - customization-tips: - title: "自定义提示" - paragraph: "

主页定制允许您添加或删除, 拖放和重新排列小组件.

您可以通过右键点击某些小部件来更改显示

若要删除小部件, 请将其拖到标头为「垃圾箱」的区域

如果您完成了定制过程,单击右上角的「完成」

" - gotit: "明白了!" - notification: - file-uploaded: "文件已上传" - message-from: "来自{}的消息:" - reversi-invited: "您已被邀请加入一场游戏" - reversi-invited-by: "来自{}的邀请" - notified-by: "来自{}的通知" - reply-from: "来自{}的回复:" - quoted-by: "来自{}的引用:" - time: - unknown: "未知" - future: "未来" - just_now: "刚刚" - seconds_ago: "{}秒前" - minutes_ago: "{}分前" - hours_ago: "{}小时前" - days_ago: "{}天前" - weeks_ago: "{}周前" - months_ago: "{}月前" - years_ago: "{}年前" - month-and-day: "{month}月 {day}日" - trash: "垃圾箱" - drive: "网盘" - pages: "页面" - messaging: "聊天" - home: "首页" - deck: "Deck" - timeline: "时间线" - explore: "发现" - following: "正在关注" - followers: "关注者" - favorites: "最爱" - permissions: - "read:account": "查看账户信息" - "write:account": "更改我的帐户信息" - "read:blocks": "查看黑名单" - "write:blocks": "编辑黑名单" - "read:drive": "查看网盘" - "write:drive": "管理网盘文件" - "read:favorites": "查看收藏夹" - "write:favorites": "编辑收藏夹" - "read:following": "查看关注信息" - "write:following": "关注/取消关注" - "read:messaging": "查看对话" - "write:messaging": "对话操作" - "read:mutes": "查看屏蔽列表" - "write:mutes": "编辑屏蔽列表" - "write:notes": "创建或删除帖子" - "read:notifications": "查看通知" - "write:notifications": "管理通知" - "read:reactions": "查看回应" - "write:reactions": "回应操作" - "write:votes": "投票" - "read:pages": "查看页面" - "write:pages": "操作页面" - "read:page-likes": "查看喜欢的页面" - "write:page-likes": "操作喜欢的页面" - "read:user-groups": "查看用户组" - "write:user-groups": "操作用户组" - empty-timeline-info: - follow-users-to-make-your-timeline: "关注其他用户时,帖子将显示在时间线中。" - explore: "查找用户" - post-form: - attach-location-information: "添加位置信息" - hide-contents: "隐藏内容" - reply-placeholder: "回复此贴..." - quote-placeholder: "引用此帖…" - option-quote-placeholder: "引用此帖…(可选)" - quote-attached: "已引用" - quote-question: "是否将其作为引用附上?" - submit: "帖子" - reply: "回复" - renote: "转推" - posting: "发送中" - attach-media-from-local: "从PC中添加媒体文件" - attach-media-from-drive: "从网盘中添加媒体文件" - insert-a-kao: "v('ω')v" - create-poll: "创建一个投票" - text-remain: "还剩{}个字符" - recent-tags: "最近" - local-only-message: "这篇文章只会在本地发布" - click-to-tagging: "点击添加标签" - visibility: "可见性" - geolocation-alert: "您的设备不支持定位服务" - error: "错误" - enter-username: "输入用户名" - specified-recipient: "收件人" - add-visible-user: "添加用户" - cw-placeholder: "评论帖子(可选)" - username-prompt: "输入用户名" - enter-file-name: "编辑文件名" - weekday-short: - sunday: "日" - monday: "一" - tuesday: "二" - wednesday: "三" - thursday: "四" - friday: "五" - saturday: "六" - weekday: - sunday: "星期日" - monday: "星期一" - tuesday: "星期二 " - wednesday: "星期三" - thursday: "星期四" - friday: "星期五" - saturday: "星期六" - reactions: - like: "赞" - love: "喜爱" - laugh: "笑" - hmm: "emmm...?" - surprise: "哇! " - congrats: "恭喜" - angry: "生气" - confused: "困惑" - rip: "RIP" - pudding: "布丁" - note-visibility: - public: "公开" - home: "首页" - home-desc: "仅发送至首页的时间线" - followers: "关注者" - followers-desc: "仅发送至粉丝" - specified: "指定用户" - specified-desc: "仅发送至指定用户" - local-public: "公开(仅限本地)" - local-home: "首页(仅限本地)" - local-followers: "关注者(仅限本地)" - note-placeholders: - a: "现在在做什么?" - b: "发生了什么?" - c: "你有什么想法?" - d: "你想要发布些什么吗?" - e: "请写下来吧" - f: "等待您的发布..." - settings: "设置" - _settings: - profile: "个人资料" - notification: "通知" - apps: "应用程序" - tags: "话题标签" - mute-and-block: "屏蔽/拉黑" - blocking: "拉黑" - security: "安全性" - signin: "登录历史" - password: "密码" - other: "其他" - appearance: "设计" - behavior: "行为" - reactions: "回应" - reactions-description: "快速选择回应中的自定义表情符号,以换行符分隔。" - fetch-on-scroll: "向下滚动时自动加载" - fetch-on-scroll-desc: "向下滚动页面时,它会自动提取其他内容。" - note-visibility: "帖子可见性" - default-note-visibility: "默认可见性" - remember-note-visibility: "记住帖子可见性" - web-search-engine: "搜索引擎" - web-search-engine-desc: "例如: https://www.google.com/?#q={{query}}" - paste: "粘贴" - pasted-file-name: "粘贴的文件名模板" - pasted-file-name-desc: "例: \"yyyy-MM-dd HH-mm-ss [{{number}}]\" → \"2018-03-20 21-30-24 1\"" - paste-dialog: "粘贴时编辑文件名" - paste-dialog-desc: "粘贴时显示编辑文件名的对话框" - keep-cw: "保留内容警告" - keep-cw-desc: "在回复帖子时,如果原帖设置了内容警告,默认情况下回帖也会设置相同的内容警告。" - i-like-sushi: "相比于布丁来说, 我更喜欢寿司。" - show-reversi-board-labels: "在黑白棋中显示行和列表签" - use-avatar-reversi-stones: "用头像作为黑白棋的棋子" - disable-animated-mfm: "在帖子中禁用动画文本" - disable-showing-animated-images: "不播放动画" - enable-quick-notification-view: "启用通知快速查看" - suggest-recent-hashtags: "在帖子表单上显示最近流行的哈希标签" - always-show-nsfw: "总是显示 NSFW 的内容" - always-mark-nsfw: "总是用 NSFW 来标记附件" - show-full-acct: "不要从用户名中忽略主机名" - show-via: "显示 via" - reduce-motion: "减弱UI中的动画效果" - this-setting-is-this-device-only: "设置仅在本设备中生效" - use-os-default-emojis: "使用设备系统默认的表情符号" - line-width: "线条宽度" - line-width-thin: "细" - line-width-normal: "正常" - line-width-thick: "粗" - font-size: "文字大小" - font-size-x-small: "小" - font-size-small: "较小" - font-size-medium: "普通" - font-size-large: "较大" - font-size-x-large: "大" - deck-column-align: "列对齐设置" - deck-column-align-center: "中央" - deck-column-align-left: "左" - deck-column-align-flexible: "可变" - deck-column-width: "Deck列宽" - deck-column-width-narrow: "窄" - deck-column-width-narrower: "很窄" - deck-column-width-normal: "普通" - deck-column-width-wider: "很宽" - deck-column-width-wide: "宽" - use-shadow: "在UI中使用阴影效果" - rounded-corners: "UI界面圆角效果" - circle-icons: "使用圆形头像" - contrasted-acct: "增加用户名的对比度" - wallpaper: "壁纸" - choose-wallpaper: "选择壁纸" - delete-wallpaper: "移除壁纸" - post-form-on-timeline: "在时间线顶部显示帖子表单" - show-clock-on-header: "在右上角显示时钟" - show-reply-target: "显示回复目标" - timeline: "时间线" - show-my-renotes: "在时间线上显示我的转推" - show-renoted-my-notes: "在时间线上显示我的帖子的转推" - show-local-renotes: "在时间线上显示本地帖子的转推" - remain-deleted-note: "继续显示已删除的帖子" - sound: "声音" - enable-sounds: "开启声音" - enable-sounds-desc: "收到帖子/留言时播放声音。 此设置将被存储在浏览器中。" - volume: "音量" - test: "测试" - update: "Misskey更新" - version: "版本:" - latest-version: "最新版本:" - update-checking: "正在检查更新" - do-update: "检查更新" - update-settings: "详细设置" - no-updates: "无可用更新" - no-updates-desc: "您所使用的 Misskey 已经是最新版本。" - update-available: "有可用的新版本" - update-available-desc: "重新加载页面以应用更新。" - advanced-settings: "高级设置" - debug-mode: "启用调试模式" - debug-mode-desc: "此设置存储在浏览器中。" - navbar-position: "导航栏位置" - navbar-position-top: "顶部" - navbar-position-left: "左边" - navbar-position-right: "右边" - i-am-under-limited-internet: "我的带宽有限" - post-style: "发帖的展示风格" - post-style-standard: "标准" - post-style-smart: "Smart" - notification-position: "通知形式" - notification-position-bottom: "底部" - notification-position-top: "顶部" - disable-via-mobile: "不要将帖子标记为“来自手机”" - load-raw-images: "以原始质量显示附加图像" - load-remote-media: "显示来自远程服务器的媒体" - sync: "同步" - save: "保存" - saved: "已保存" - preview: "预览" - home-profile: "定制首页数据" - deck-profile: "定制Deck数据" - room: "房间" - _room: - graphicsQuality: "图形质量" - _graphicsQuality: - ultra: "最高" - high: "高" - medium: "中" - low: "低" - cheep: "最低" - useOrthographicCamera: "使用正交相机" - search: "搜索" - delete: "删除" - loading: "正在加载中" - ok: "确定" - cancel: "取消" - update-available-title: "有可用更新" - update-available: "新的 Misskey 版本现已发布({newer}。目前版本{current}). 刷新页面以应用更新。" - my-token-regenerated: "您的 Token 已被重置, 您将自动登出。" - hide-password: "隐藏密码" - show-password: "显示密码" - enter-username: "输入用户名" - do-not-use-in-production: "这是一个开发者测试版. 请勿在生产环境中使用." - user-suspended: "该用户已被冻结。" - is-remote-user: "此用户信息可能不准确。" - is-remote-post: "该投稿已被复制." - view-on-remote: "查看准确的信息" - renoted-by: "由 {user} 转推" - no-notes: "没有帖子" - turn-on-darkmode: "切换暗色主题" - turn-off-darkmode: "切换亮色主题" - error: - title: "出现问题" - retry: "重试" - reversi: - drawn: "平局" - my-turn: "轮到你了" - opponent-turn: "轮到对手了" - turn-of: "{name}的回合" - past-turn-of: "轮到{name}的回合了" - won: "{name}获胜" - black: "黑" - white: "白" - total: "总计" - this-turn: "{count}回合" - widgets: - analog-clock: "模拟时钟" - profile: "个人资料" - calendar: "日历" - timemachine: "日历 (时间机器)" - activity: "动态" - rss: "RSS阅读器" - memo: "便签" - trends: "趋势" - photo-stream: "照片流" - posts-monitor: "投稿图表" - slideshow: "幻灯片" - version: "版本" - broadcast: "广播" - notifications: "通知" - users: "推荐用户" - polls: "调查问卷" - post-form: "投稿窗口" - server: "服务器信息" - nav: "导航" - tips: "提示" - hashtags: "哈希标签" - queue: "队列" - dev: "构建应用程序失败,请再试一次。" - ai-chan-kawaii: "小蓝真可爱" - you: "您" -auth/views/form.vue: - share-access: "您要允许{name}来访问您的账户吗?" - permission-ask: "这个应用程序需要以下权限:" - cancel: "取消" - accept: "允许访问。" -auth/views/index.vue: - loading: "正在加载中" - denied: "已拒绝应用程序授权。" - denied-paragraph: "这个应用程序将不会访问您的账户" - already-authorized: "这个应用程序已授权。" - allowed: "允许应用程序授权。" - callback-url: "回到应用程序。" - please-go-back: "请返回到应用程序" - error: "会话不存在。" - sign-in: "请登录。" -common/views/pages/explore.vue: - pinned-users: "已置顶用户" - popular-users: "热门用户" - recently-updated-users: "活跃用户" - recently-registered-users: "新用户" - recently-discovered-users: "最近发现的用户" - popular-tags: "热门标签" - federated: "联邦" - explore: "查找{host}" - explore-fediverse: "探索Fediverse" - users-info: "当前有{users}个注册用户" -common/views/components/reactions-viewer.details.vue: - few-users: "{users}作出了{reaction}的回应" - many-users: "{users}和其他{omitted}人做出了{reaction}的回应" -common/views/components/url-preview.vue: - enable-player: "打开播放器" - disable-player: "关闭播放器" -common/views/components/user-list.vue: - no-users: "无用户" -common/views/components/games/reversi/reversi.vue: - matching: - waiting-for: "等待 {}" - cancel: "取消" -common/views/components/games/reversi/reversi.game.vue: - surrender: "认输" - surrendered: "已认输" - is-llotheo: "棋子较少一方获胜(LLoTheO规则)" - looped-map: "循环棋盘" - can-put-everywhere: "可以下在任意位置" -common/views/components/games/reversi/reversi.index.vue: - title: "Misskey 黑白棋" - sub-title: "和其他人一起来玩Misskey黑白棋" - invite: "邀请" - rule: "游戏说明" - rule-desc: "黑白棋是一种棋盘游戏。两人交替在棋盘上落子,并将该棋子和另一个己方棋子之间的对方棋子转换成自己的颜色。最终保留最多棋子的人获胜。" - mode-invite: "邀请" - mode-invite-desc: "邀请指定用户参加游戏" - invitations: "您收到了一则邀请!" - my-games: "我的游戏" - all-games: "所有游戏" - enter-username: "输入用户名" - game-state: - ended: "结束" - playing: "游戏进行中" -common/views/components/games/reversi/reversi.room.vue: - settings-of-the-game: "游戏设置" - choose-map: "棋盘选择" - random: "随机" - black-or-white: "黑/白" - black-is: "{}是黑" - rules: "规则" - is-llotheo: "棋子较少一方获胜(LLoTheO规则)" - looped-map: "循环棋盘" - can-put-everywhere: "可以下在任意位置" - settings-of-the-bot: "机器人设定" - this-game-is-started-soon: "游戏即将在数秒后开始" - waiting-for-other: "等待对手准备" - waiting-for-me: "等待您的准备" - waiting-for-both: "准备中" - cancel: "取消" - ready: "准备完成" - cancel-ready: "取消准备" -common/views/components/connect-failed.vue: - title: "无法连接到服务器" - description: "您的网络连接可能出现了问题, 或是远程服务器暂时不可用. 请稍后{重试}." - thanks: "感谢您使用 Misskey" - troubleshoot: "故障排除" -common/views/components/connect-failed.troubleshooter.vue: - title: "正在排除故障" - network: "网络已连接" - checking-network: "正在检查网络连接" - internet: "网络连接" - checking-internet: "正在检查网络连接" - server: "已连接至服务器" - checking-server: "正在检查与服务器的连接" - finding: "搜索问题" - no-network: "无网络连接" - no-network-desc: "请确保您已连接至互联网" - no-internet: "无网络连接" - no-internet-desc: "网络已连接,但无法连接到Internet。 请确保您的PC的Internet连接正常。" - no-server: "无法连接到 Misskey 服务器" - no-server-desc: "您设备与互联网的网络连接正常,但是无法连接至 Misskey 服务器。这可能是服务器暂时不可用或正在维护,请稍后再试。" - success: "成功连接至 Misskey 服务器" - success-desc: "看起来我们连接正常. 请刷新网页." - flush: "清除缓存" - set-version: "指定版本" -common/views/components/media-banner.vue: - sensitive: "阅读注意" - click-to-show: "点击以显示" -common/views/components/theme.vue: - theme: "主题" - light-theme: "亮色模式使用的主题" - dark-theme: "暗色模式使用的主题" - light-themes: "亮色主题" - dark-themes: "暗色主题" - install-a-theme: "安装一个主题" - theme-code: "主题代码" - install: "安装" - installed: "\"{}\" 已安装" - create-a-theme: "创建一个主题" - save-created-theme: "保存主题" - primary-color: "主要颜色" - secondary-color: "次要颜色" - text-color: "文本颜色" - base-theme: "基础主题" - base-theme-light: "亮" - base-theme-dark: "暗" - find-more-theme: "获取更多主题" - theme-name: "主题名称" - preview-created-theme: "预览" - invalid-theme: "无效主题" - already-installed: "这个主题已经被安装。" - saved: "已保存" - manage-themes: "主题管理" - builtin-themes: "标准主题" - my-themes: "我的主题" - installed-themes: "已安装的主题" - select-theme: "选择您的主题" - uninstall: "卸载" - uninstalled: "\"{}\" 已被卸载" - author: "作者" - desc: "描述" - export: "导出" - import: "导入" - import-by-code: "或者粘贴代码" - theme-name-required: "必须填写主题名称" -common/views/components/cw-button.vue: - hide: "隐藏" - show: "查看更多" - chars: "{count}个字符" - files: "{count} 个文件" - poll: "调查问卷" -common/views/components/messaging.vue: - search-user: "查找用户" - you: "您" - no-history: "没有历史记录" - user: "用户" - group: "群组" - start-with-user: "开始用户聊天" - start-with-group: "开始群组聊天" - select-group: "请选择群组" -common/views/components/messaging-room.vue: - not-talked-user: "没有用户的会话记录" - not-talked-group: "没有群组的会话记录" - no-history: "没有更多的历史记录" - new-message: "新信息" - only-one-file-attached: "只能添加一个附件" -common/views/components/messaging-room.form.vue: - input-message-here: "在此键入信息" - send: "发送" - attach-from-local: "从电脑中添加文件" - attach-from-drive: "从网盘中添加文件" - only-one-file-attached: "只能添加一个附件" -common/views/components/messaging-room.message.vue: - is-read: "已读" - deleted: "此消息已被删除" -common/views/components/nav.vue: - about: "关于 Misskey" - stats: "统计" - status: "状态" - wiki: "维基百科" - donors: "捐赠者" - repository: "源码库" - develop: "开发人员" - feedback: "反馈" - tos: "服务条款" -common/views/components/note-menu.vue: - mention: "提到" - detail: "详细信息" - copy-content: "复制内容" - copy-link: "复制链接" - favorite: "收藏这个投稿" - unfavorite: "取消收藏" - watch: "关注" - unwatch: "取消关注" - pin: "置顶" - unpin: "取消置顶" - delete: "删除" - delete-confirm: "确定删除这个投稿吗?" - delete-and-edit: "删除和编辑" - delete-and-edit-confirm: "要删除此帖并再次编辑吗?对此帖的所有回应,转推和回复也将被删除。" - remote: "显示原始投稿" - pin-limit-exceeded: "无法置顶更多了。" -common/views/components/user-menu.vue: - mention: "提到" - mute: "屏蔽" - unmute: "解除屏蔽" - mute-confirm: "屏蔽此用户?" - unmute-confirm: "取消屏蔽用户?" - block: "拉黑" - unblock: "取消拉黑" - block-confirm: "确定拉黑此用户?" - unblock-confirm: "取消拉黑此用户?" - push-to-list: "添加至列表" - select-list: "请选择一个列表" - report-abuse: "举报骚扰" - report-abuse-detail: "做了什么骚扰的行为?" - report-abuse-reported: "已报告给管理员。 非常感谢你的合作。" - silence: "禁言" - unsilence: "解除禁言" - silence-confirm: "确认屏蔽此用户?" - unsilence-confirm: "取消屏蔽此用户?" - suspend: "冻结" - unsuspend: "解除冻结" - suspend-confirm: "确认冻结此用户?" - unsuspend-confirm: "确认解冻此用户?" -common/views/components/poll.vue: - vote-to: "为\"{}\"投票" - vote-count: "{}票" - total-votes: "总票数{}" - vote: "投票" - show-result: "显示结果" - voted: "已投票" - closed: "已截止" - remaining-days: "{d}天{h}小时后截止" - remaining-hours: "{h}小时{m}分后截止" - remaining-minutes: "{m}分{s}秒后截止" - remaining-seconds: "{s}秒后截止" -common/views/components/poll-editor.vue: - no-only-one-choice: "至少选择两个选项" - choice-n: "选择{}" - remove: "删除选项" - add: "+添加一个选项" - destroy: "放弃投票" - multiple: "允许多个投票" - expiration: "截止时间" - infinite: "永久" - at: "指定日期" - after: "指定时间" - no-more: "最多只能添加十个回答" - deadline-date: "日期" - deadline-time: "时间" - interval: "时长" - unit: "单位" - second: "秒" - minute: "分" - hour: "小时" - day: "日" -common/views/components/reaction-picker.vue: - choose-reaction: "选择回应" - input-reaction-placeholder: "表情符号输入" -common/views/components/emoji-picker.vue: - recent-emoji: "最近使用的表情符号" - custom-emoji: "自定义表情符号" - no-category: "未分类" - people: "人" - animals-and-nature: "动物与自然" - food-and-drink: "食物与饮品" - activity: "活动" - travel-and-places: "位置" - objects: "物品" - symbols: "符号" - flags: "旗帜" -common/views/components/settings/app-type.vue: - title: "模式" - intro: "您可以指定使用桌面版或移动版。" - choices: - auto: "自动选择" - desktop: "固定为桌面版" - mobile: "固定为移动版" - info: "更改将在刷新页面后生效。" -common/views/components/signin.vue: - username: "用户名" - password: "密码" - token: "Token (令牌)" - signing-in: "在弄了在弄了..." - or: "或者" - signin-with-twitter: "用 Twitter 登录" - signin-with-github: "用 GitHub 登录" - signin-with-discord: "用 Discord 登录" - login-failed: "登录失败。请检查用户名和密码。" - tap-key: "点击安全密钥登录" - enter-2fa-code: "输入验证码" -common/views/components/signup.vue: - invitation-code: "邀请码" - invitation-info: "如果您没有邀请码,请联系管理员。" - username: "用户名" - checking: "正在确认..." - available: "可用" - unavailable: "不可用" - error: "网络错误" - invalid-format: "可使用大小写英文字母、数字和下划线。" - too-short: "请至少输入1个字符!" - too-long: "请不要超过20个字符" - password: "密码" - password-placeholder: "推荐使用8个字符以上的密码。" - weak-password: "密码强度:弱" - normal-password: "密码强度:中等" - strong-password: "密码强度:强" - retype: "重新输入" - retype-placeholder: "重新输入您的密码" - password-matched: "确认" - password-not-matched: "密码不一致" - recaptcha: "验证" - agree-to: "同意{0}" - tos: "服务条款" - create: "创建一个账户" - some-error: "由于某种原因,创建帐户失败。请再试一次。" -common/views/components/special-message.vue: - new-year: "新年快乐哦~" - christmas: "圣诞快乐!" -common/views/components/stream-indicator.vue: - connecting: "连接中" - reconnecting: "重新连接中" - connected: "已连接" -common/views/components/notification-settings.vue: - title: "通知" - mark-as-read-all-notifications: "将所有通知标为已读" - mark-as-read-all-unread-notes: "将所有帖子标为已读" - mark-as-read-all-talk-messages: "将所有对话标为已读" - auto-watch: "自动查看帖子" - auto-watch-desc: "自动接收有关您做出回应或回复的帖子的通知。" -common/views/components/integration-settings.vue: - title: "服务合作" - connect: "连接" - disconnect: "断开连接" - connected-to: "您的账号已连接以下社交账号" -common/views/components/github-setting.vue: - description: "当您用GitHub连接Misskey账户后,您将能够看到有关您自己的信息,并且您将能够使用GitHub登录。" - connected-to: "此账户已连接GitHub" - detail: "详细信息..." - reconnect: "重新连接" - connect: "连接您的GitHub账户" - disconnect: "未连接" -common/views/components/discord-setting.vue: - description: "当您用Discord连接Misskey账户后,您将能够看到有关您自己的信息,并且您将能够使用Discord登录。" - connected-to: "此账户已连接Discord" - detail: "详细信息..." - reconnect: "重新连接" - connect: "连接您的Discord账户" - disconnect: "断开连接" -common/views/components/uploader.vue: - waiting: "等待中" -common/views/components/visibility-chooser.vue: - public: "公开" - home: "首页" - home-desc: "仅发送至首页" - followers: "关注者" - followers-desc: "仅发送至关注者" - specified: "直接" - specified-desc: "仅发送至指定用户" - local-public: "公开(仅限本地)" - local-public-desc: "不要公开发布" - local-home: "首页(仅限本地)" - local-followers: "关注者(仅限本地)" -common/views/components/trends.vue: - count: "{} 被提到" - empty: "没有趋势" -common/views/components/language-settings.vue: - title: "显示语言" - pick-language: "选择语言" - recommended: "推荐" - auto: "自动" - specify-language: "指定语言" - info: "更改将在刷新页面后生效。" -common/views/components/profile-editor.vue: - title: "个人资料" - name: "名称" - account: "账户" - location: "位置" - description: "个人简介" - you-can-include-hashtags: "您可以包含一个哈希标签。" - language: "语言" - birthday: "生日" - avatar: "头像" - banner: "横幅背景" - is-cat: "这个账户是CAT" - is-bot: "这个账户是BOT" - is-locked: "关注者请求需要批准" - careful-bot: "BOT的关注者请求需要批准" - auto-accept-followed: "自动同意来自您关注的人的关注申请" - advanced: "其他" - privacy: "隐私" - save: "保存" - saved: "您的个人资料已保存" - uploading: "正在上传" - upload-failed: "上传失败" - unable-to-process: "无法完成操作" - avatar-not-an-image: "选择的头像文件不是图片格式" - banner-not-an-image: "选择的横幅背景不是图片格式" - email: "邮件设置" - email-address: "电子邮件地址" - email-verified: "电子邮件地址已验证" - email-not-verified: "邮件地址尚未验证。 请检查您的邮箱。" - export: "导出" - import: "导入" - export-and-import: "导出/导入" - export-targets: - all-notes: "所有发帖" - following-list: "关注列表" - mute-list: "屏蔽列表" - blocking-list: "黑名单" - user-lists: "列表" - export-requested: "导出请求已提交。可能需要花一些时间。导出的文件将保存到网盘中。" - import-requested: "导入请求已提交。这可能需要花一点时间。" - enter-password: "请输入您的密码" - danger-zone: "危险选项" - delete-account: "删除帐户" - account-deleted: "帐户已被删除。 数据会在一段时间之后清除。" - profile-metadata: "个人资料补充信息" - metadata-label: "标签" - metadata-content: "内容" -common/views/components/user-list-editor.vue: - users: "用户" - rename: "重命名列表" - delete: "删除列表" - remove-user: "从此列表中删除" - delete-are-you-sure: "删除列表“$1”?" - deleted: "已删除" - add-user: "添加用户" -common/views/components/user-group-editor.vue: - users: "成员" - rename: "更改群组名" - delete: "删除群组" - transfer: "群组转让" - transfer-are-you-sure: "将群组「$1」转让给「@$2」吗?" - transferred: "群组已转让" - remove-user: "从本群组中删除" - delete-are-you-sure: "确定要删除「$1」组?" - deleted: "已删除" - invite: "邀请" - invited: "邀请已发送" -common/views/components/user-lists.vue: - user-lists: "列表" - create-list: "创建列表" - list-name: "列表名称" -common/views/components/user-groups.vue: - user-groups: "群组" - create-group: "创建群组" - group-name: "群组名" - owned-groups: "我的群组" - joined-groups: "加入群组" - invites: "邀请" - accept-invite: "加入" - reject-invite: "拒绝" -common/views/widgets/broadcast.vue: - fetching: "确认中" - no-broadcasts: "没有公告" - have-a-nice-day: "祝你有愉快的一天!" - next: "下一个" - prev: "上一首" -common/views/widgets/calendar.vue: - year: "{}年" - month: "{}月" - day: "{}日" - today: "今天:" - this-month: "本月:" - this-year: "今年:" -common/views/widgets/photo-stream.vue: - title: "图片轮播" - no-photos: "没有图片" -common/views/widgets/posts-monitor.vue: - title: "投稿表格" - toggle: "切换视图" -common/views/widgets/hashtags.vue: - title: "哈希标签" -common/views/widgets/server.vue: - title: "服务器信息" - toggle: "切换显示" -common/views/widgets/memo.vue: - title: "便签" - memo: "在这儿输入!" - save: "保存" -common/views/widgets/slideshow.vue: - folder-customize-mode: "要指定文件夹,请退出自定义模式" - folder: "请单击并指定文件夹" - no-image: "这个文件夹里没有图片" -common/views/widgets/tips.vue: - tips-line1: "您可以用t专注于时间轴" - tips-line2: "从 p 或者 n打开投稿表单" - tips-line3: "您可以在投稿表单上拖放文件。" - tips-line4: "您可以将剪贴板中的图像粘贴到提交表单中。" - tips-line5: "您可以通过将文件拖放到网盘来上传文件。" - tips-line6: "您可以通过在网盘中通过拖动操作来移动文件夹" - tips-line7: "您可以通过在网盘中通过拖动操作来移动文件夹。" - tips-line8: "可以从设置中定制主页。" - tips-line9: "Misskey 根据 AGPLv3 获得许可。" - tips-line10: "使用Time Machine(时光机)小部件可以轻松追溯到过去的时间轴。" - tips-line11: "您可以点击“...”将帖子置顶到用户页面" - tips-line13: "附在帖子上的所有文件都会保存到网盘中。" - tips-line14: "在自定义首页布局时,您可以右键单击窗口小部件以更改其设计。" - tips-line17: "用“**”围绕文本将突出显示它。" - tips-line19: "可以在浏览器外部分离多个窗口。" - tips-line20: "日历小部件的百分比显示经过的时间百分比。" - tips-line21: "您也可以使用API开发机器人。" - tips-line23: "小蓝很可爱" - tips-line24: "Misskey自2014年开始运营。" - tips-line25: "在与通知功能兼容的浏览器中,您可以在Misskey未打开的情况下接收通知" -common/views/pages/not-found.vue: - page-not-found: "您要找的网页不存在。" -common/views/pages/follow.vue: - signed-in-as: "用 {}登录" - following: "正在关注" - follow: "关注" - request-pending: "发送关注申请" - follow-processing: "申请处理中" - follow-request: "关注请求" -common/views/pages/follow-requests.vue: - received-follow-requests: "关注申请" - accept: "接受" - reject: "拒绝" -desktop: - banner-crop-title: "裁剪显示为背景的部分" - banner: "背景" - uploading-banner: "上传一个新的背景" - banner-updated: "成功上传背景" - choose-banner: "选择一个背景" - avatar-crop-title: "裁剪显示为头像的部分" - avatar: "头像" - uploading-avatar: "上传一个新的头像" - avatar-updated: "成功上传头像" - choose-avatar: "选择作为头像的图片" - unable-to-process: "无法完成操作" - invalid-filetype: "不接受此文件类型" -desktop/views/components/activity.chart.vue: - total: "黑 ... 总计" - notes: "蓝 ... 投稿" - replies: "红 ... 回复" - renotes: "绿 ... 转推" -desktop/views/components/activity.vue: - title: "活动" - toggle: "切换显示" -desktop/views/components/calendar.vue: - title: "{year}年{month}月" - prev: "上个月" - next: "下个月" - go: "点击按时间浏览" -desktop/views/components/choose-file-from-drive-window.vue: - chosen-files: "{count}文件已被选择" - upload: "从设备中上传文件" - cancel: "取消" - ok: "确定" - choose-prompt: "选择文件" -desktop/views/components/choose-folder-from-drive-window.vue: - cancel: "取消" - ok: "确定" - choose-prompt: "选择一个文件夹" -desktop/views/components/crop-window.vue: - skip: "跳过裁剪" - cancel: "取消" - ok: "确定" -desktop/views/components/drive-window.vue: - used: "已使用" -desktop/views/components/drive.file.vue: - avatar: "头像" - banner: "背景" - nsfw: "阅读注意" - contextmenu: - rename: "重命名" - mark-as-sensitive: "标记为“敏感”" - unmark-as-sensitive: "取消标记为“敏感”" - copy-url: "复制链接" - download: "下载" - else-files: "其他" - set-as-avatar: "设为头像" - set-as-banner: "设置为背景" - open-in-app: "在应用程序中打开" - add-app: "添加应用" - rename-file: "重命名文件" - input-new-file-name: "请输入新文件名" - copied: "已复制" - copied-url-to-clipboard: "已复制链接到剪贴板" -desktop/views/components/drive.folder.vue: - upload-folder: "默认上传文件夹" - unable-to-process: "无法完成操作" - circular-reference-detected: "目标文件夹是您要移动的文件夹的子文件夹。" - unhandled-error: "未知错误" - unable-to-delete: "无法删除" - has-child-files-or-folders: "此文件夹不为空,无法删除。" - contextmenu: - move-to-this-folder: "移动到此文件夹" - show-in-new-window: "在新窗口打开" - rename: "重命名" - rename-folder: "重命名文件夹" - input-new-folder-name: "请输入新文件名" - else-folders: "其他" - set-as-upload-folder: "设置为默认上传文件夹" -desktop/views/components/drive.vue: - search: "搜索" - empty-draghover: "放在这里!因为你知道我很可爱,对吗?" - empty-drive: "您的媒体存储是空的" - empty-drive-description: "右键单击以打开菜单,或将文件拖放到此处以进行上传。" - empty-folder: "这个文件夹是空的" - unable-to-process: "操作无法完成" - circular-reference-detected: "目标文件夹是您要移动的文件夹的子文件夹。" - unhandled-error: "未知错误" - url-upload: "从网址上传" - url-of-file: "要上载的文件的URL" - url-upload-requested: "请求上传" - may-take-time: "上传完成可能需要一些时间。" - create-folder: "创建一个文件夹" - folder-name: "文件夹名称" - contextmenu: - create-folder: "创建文件夹" - upload: "上传文件" - url-upload: "从URL上传" -desktop/views/components/media-video.vue: - sensitive: "阅读注意" - click-to-show: "点击以显示" -desktop/views/components/followers-window.vue: - followers: "{} 的关注者" -desktop/views/components/followers.vue: - empty: "看起来您没有关注者。" -desktop/views/components/following-window.vue: - following: "正在关注 {}" -desktop/views/components/following.vue: - empty: "看起来您没有正在关注的用户..." -desktop/views/components/game-window.vue: - game: "游戏" -desktop/views/components/home.vue: - done: "完成" - add-widget: "添加小部件:" - add: "添加" -desktop/views/input-dialog.vue: - cancel: "取消" - ok: "确定" -desktop/views/components/note-detail.vue: - private: "私密投稿" - deleted: "投稿已删除" - location: "位置信息" - renote: "转推" - add-reaction: "回应" - undo-reaction: "取消回应" -desktop/views/components/note.vue: - reply: "回复" - renote: "转推" - add-reaction: "回应" - undo-reaction: "取消回应" - detail: "详细信息" - private: "这个投稿是私密的" - deleted: "投稿已删除" -desktop/views/components/notes.vue: - error: "加载失败。" - retry: "重试" -desktop/views/components/notifications.vue: - empty: "没有通知哦!" -desktop/views/components/post-form.vue: - posted: "已发送投稿!" - replied: "已回复!" - reposted: "已转推!" - note-failed: "发帖失败" - reply-failed: "回复失败" - renote-failed: "转推失败" -desktop/views/components/post-form-window.vue: - note: "新建帖子" - reply: "回复" - attaches: "已添加{}媒体文件" - uploading-media: "正在上传 {} 媒体文件" -desktop/views/components/progress-dialog.vue: - waiting: "等待中" -desktop/views/components/renote-form.vue: - quote: "引用..." - cancel: "取消" - renote: "转推" - renote-home: "转推(首页)" - reposting: "重新发送中..." - success: "已转推!" - failure: "转推失败" -desktop/views/components/renote-form-window.vue: - title: "您是否要转推?" -desktop/views/pages/user-following-or-followers.vue: - following: "{user}的正在关注" - followers: "{user}的关注者" -desktop/views/components/settings.2fa.vue: - intro: "如果设置了两步验证,则不仅需要在登录时使用密码,还需要验证设备(如智能手机),这将提高安全性。" - detail: "详细信息..." - url: "https://www.google.com/landing/2step/" - caution: "如果您无法访问已注册的设备,您将无法再连接到 Misskey!" - register: "注册设备" - already-registered: "此设备已被注册" - unregister: "解除注册" - unregistered: "两步验证已被停用。" - enter-password: "请输入您的密码" - authenticator: "首先,您需要在设备上安装 Google Authenticator:" - howtoinstall: "怎样安装" - token: "令牌" - scan: "然后,扫描二维码:" - done: "请输入显示在您设备上的密钥:" - submit: "提交" - success: "设置完成" - failed: "设置失败, 请确保您的密钥是正确的。" - info: "从下次登录Misskey时,您的设备上显示的令牌以及密码也是必需的。" - totp-header: "身份验证 App" - security-key-header: "安全密钥" - security-key: "为了增强安全性,您可以使用支持FIDO2的硬件安全密钥登录您的帐户。 登录时,您将需要注册安全密钥或身份验证应用。" - last-used: "最后使用:" - activate-key: "单击以激活您的安全密钥" - security-key-name: "密钥名称" - register-security-key: "安全密钥注册完成" - something-went-wrong: "糟糕!安全密钥注册出现问题:" - key-unregistered: "安全密钥已被删除。" - use-password-less-login: "使用免密码登录" -common/views/components/media-image.vue: - sensitive: "阅读注意" - click-to-show: "点击查看" -common/views/components/api-settings.vue: - intro: "要访问API,请将此标记设置为请求参数的关键字“i”。" - caution: "请勿将此令牌输入任何应用,也不要将此令牌告诉其他人,否则您的账户可能会受到损害。" - regeneration-of-token: "如果您的令牌泄露,您可以重新生成。" - regenerate-token: "重新生成令牌" - token: "令牌:" - enter-password: "请输入您的密码" - console: - title: "API 控制台" - endpoint: "端点" - parameter: "参数" - credential-info: "此控制台不需要参数“i”。" - send: "发送" - sending: "等待回应" - response: "结果" -desktop/views/components/settings.apps.vue: - no-apps: "没有已连接的应用程序" -common/views/components/drive-settings.vue: - max: "容量" - in-use: "已使用" - stats: "统计" - default-upload-folder: "默认上传文件夹" - default-upload-folder-name: "文件夹" - change-default-upload-folder: "更改文件夹" -common/views/components/mute-and-block.vue: - mute-and-block: "屏蔽/拉黑" - mute: "屏蔽" - block: "拉黑" - no-muted-users: "无屏蔽用户" - no-blocked-users: "无拉黑的用户" - word-mute: "文字屏蔽" - muted-words: "屏蔽关键字" - muted-words-description: "使用空格分隔会产生AND规范,并且使用换行符分隔会产生OR规范" - unmute-confirm: "取消屏蔽用户?" - unblock-confirm: "取消拉黑此用户?" - save: "保存" -common/views/components/password-settings.vue: - reset: "更改密码" - enter-current-password: "输入当前的密码" - enter-new-password: "输入新密码" - enter-new-password-again: "请再次输入新密码" - not-match: "新密码不匹配" - changed: "密码已更改" - failed: "更改密码失败" -common/views/components/post-form-attaches.vue: - attach-cancel: "删除附件" - mark-as-sensitive: "标记为“敏感”" - unmark-as-sensitive: "取消标记为“敏感”" -desktop/views/components/sub-note-content.vue: - private: "这个帖子是私密的" - deleted: "帖子已删除" - media-count: "附加{}媒体" - poll: "投票" -desktop/views/components/settings.tags.vue: - title: "标签" - query: "查询 (可选)" - add: "添加" - save: "保存" -desktop/views/components/timeline.vue: - home: "首页" - local: "本地" - hybrid: "社交" - global: "全球" - mentions: "提到的" - messages: "直接发布" - list: "列表" - hashtag: "哈希标签" - add-tag-timeline: "添加哈希标签" - add-list: "添加列表" - list-name: "列表名称" -desktop/views/components/ui.header.vue: - welcome-back: "欢迎回来!" - adjective: "先生" -desktop/views/components/ui.header.account.vue: - profile: "个人资料" - lists: "列表" - groups: "群组" - follow-requests: "关注申请" - admin: "管理" - room: "房间" -desktop/views/components/ui.header.nav.vue: - game: "游戏" -desktop/views/components/ui.header.notifications.vue: - title: "通知" -desktop/views/components/ui.header.post.vue: - post: "撰写新帖子" -desktop/views/components/ui.header.search.vue: - placeholder: "搜索" -desktop/views/components/user-preview.vue: - notes: "帖子" - following: "关注中" - followers: "关注者" -desktop/views/components/users-list.vue: - all: "所有" - iknow: "你懂的" - fetching: "正在加载..." -desktop/views/components/users-list-item.vue: - followed: "关注您" -desktop/views/components/window.vue: - popout: "弹出" - close: "关闭" -admin/views/index.vue: - dashboard: "仪表盘" - instance: "实例" - emoji: "自定义Emoji" - moderators: "版主" - users: "用户" - federation: "联邦" - announcements: "公告" - abuse: "举报垃圾信息" - queue: "作业队列" - logs: "日志" - db: "数据库" - back-to-misskey: "返回 Misskey" -admin/views/db.vue: - tables: "表格" - vacuum: "VACUUM" - vacuum-info: "清理数据库。 保持数据完整并减少磁盘使用量。 此操作通常会自动定期执行。" - vacuum-exclamation: "运行VACUUM之后,数据库上的负载可能会持续一段时间,并且可能不响应用户操作。" -admin/views/dashboard.vue: - dashboard: "Dashboard" - accounts: "账户" - notes: "帖子" - drive: "网盘" - instances: "实例" - this-instance: "此实例" - federated: "联合" -admin/views/queue.vue: - title: "队列" - remove-all-jobs: "清除所有作业" - jobs: "任务" - queue: "队列" - domains: - deliver: "交付" - inbox: "收件箱" - db: "数据库" - objectStorage: "对象存储" - state: "状态" - states: - active: "处理中" - delayed: "已预订" - waiting: "队列等待中" - result-is-truncated: "结果已省略" - other-queues: "其他队列" -admin/views/logs.vue: - logs: "日志" - domain: "域" - level: "级别" - levels: - all: "所有" - info: "信息" - success: "成功" - warning: "警告" - error: "错误" - debug: "调试" - delete-all: "全部删除" -admin/views/abuse.vue: - title: "举报垃圾信息" - target: "目标" - reporter: "报告者" - details: "详情" - remove-report: "删除" -admin/views/instance.vue: - instance: "实例" - instance-name: "实例名称" - instance-description: "实例介绍" - host: "主机名" - icon-url: "图标URL" - logo-url: "Logo URL" - banner-url: "背景图片地址" - error-image-url: "无效的图像URL" - languages: "实例语言" - languages-desc: "您可以添加多个,以空格分隔。" - tos-url: "服务条款URL" - repository-url: "源码库URL" - feedback-url: "反馈URL" - maintainer-config: "管理员信息" - maintainer-name: "管理员名称" - maintainer-email: "联系管理员" - advanced-config: "其他设置" - note-and-tl: "帖子和时间线" - drive-config: "网盘设置" - use-object-storage: "使用对象存储" - object-storage-base-url: "URL" - object-storage-bucket: "存储空间名" - object-storage-prefix: "前缀" - object-storage-endpoint: "端点" - object-storage-region: "区域" - object-storage-port: "端口" - object-storage-access-key: "访问密钥" - object-storage-secret-key: "密钥" - object-storage-use-ssl: "使用 SSL" - object-storage-s3-info: "使用Amazon S3作为对象存储时,请确认{0}相关“终端”和“区域”的设置。" - object-storage-s3-info-here: "这里" - object-storage-gcs-info: "将Google Cloud Storage用作对象存储时,请将“终端”设置为storage.googleapis.com,并将“区域”留空。" - cache-remote-files: "远程文件缓存" - proxy-remote-files: "代理远程文件" - local-drive-capacity-mb: "每个用户的网盘空间" - remote-drive-capacity-mb: "每个远程用户的网盘容量" - mb: "以兆字节(Mbps)为单位" - recaptcha-config: "reCAPTCHA设置" - recaptcha-info: "reCAPTCHA token是必要的. 请从 https://www.google.com/recaptcha/intro/ 获取。\n请注意, 该功能在中国大陆不可用。" - recaptcha-info2: "不支持v3。请使用v2。" - enable-recaptcha: "启用 reCAPTCHA\n(请注意, 此功能在中国大陆不可用. 如果启用, 可能导致无法正常使用登录或注册等功能)" - recaptcha-site-key: "网站密钥" - recaptcha-secret-key: "密钥" - recaptcha-preview: "预览" - hidden-tags: "隐藏哈希标签" - hidden-tags-info: "使用换行符分隔要从集合中排除的哈希标签。" - external-service-integration-config: "连接外部服务" - twitter-integration-config: "连接到Twitter的设置" - twitter-integration-info: "设置返回的URL{url}。" - enable-twitter-integration: "启用连接到Twitter" - twitter-integration-consumer-key: "Consumer key" - twitter-integration-consumer-secret: "Consumer Secret" - github-integration-config: "连接到GitHub设置" - github-integration-info: "设置返回的URL{url}。" - enable-github-integration: "启用连接到GitHub" - github-integration-client-id: "Client ID" - github-integration-client-secret: "Client Secret" - discord-integration-config: "设置 Discord Integration" - discord-integration-info: "设置返回的URL{url}。" - enable-discord-integration: "启用 Discord 连接" - discord-integration-client-id: "Client ID" - discord-integration-client-secret: "Client Secret" - proxy-account-config: "代理帐户设置" - proxy-account-info: "如果此实例中没有人跟随他或她,则代理帐户可以跟随远程用户进行活动。 当您将此实例中没有人的远程用户添加到列表中时,为了获取他或她的数据,代理账户会跟随他或她,而不是您的跟随者。" - proxy-account-username: "代理账户用户名" - proxy-account-username-desc: "指定用作代理的账户的用户名。" - proxy-account-warn: "在进行此操作之前,您必须创建一个拥有此用户名的账户。" - max-note-text-length: "最大帖子字符数" - disable-registration: "停用新用户注册功能" - disable-local-timeline: "停用本地时间线功能" - disable-global-timeline: "禁用全局时间线" - disabling-timelines-info: "即使禁用时间线,管理员和版主仍然可用。" - enable-emoji-reaction: "在回应上使用表情符号" - use-star-for-reaction-fallback: "使用默认的star来表示未知的回应" - invite: "邀请" - save: "保存" - saved: "保存完毕" - pinned-users: "置顶用户" - pinned-users-info: "描述您要置顶的用户,以换行符分隔。" - email-config: "电子邮件服务器设置" - email-config-info: "用于确认电子邮件和密码重置等。" - enable-email: "启用电子邮件送递" - email: "电子邮件地址" - smtp-secure: "在 SMTP 连接中使用隐式 SSL / TLS" - smtp-secure-info: "使用时关闭 STARTTLS。" - smtp-host: "SMTP 服务器地址 (主机名)" - smtp-port: "SMTP 端口" - smtp-auth: "SMTP身份验证" - smtp-user: "SMTP 用户名" - smtp-pass: "SMTP 密码" - test-email: "测试" - serviceworker-config: "ServiceWorker" - enable-serviceworker: "启用ServiceWorker" - serviceworker-info: "您需要启用推送通知" - vapid-publickey: "VAPID公钥" - vapid-privatekey: "VAPID私钥" - vapid-info: "如果您想要启用ServiceWorker,那么您需要生成VAPID秘钥。除非您已经在其他地方设置了全局node_modules位置,否则您需要将其作为root用户运行:" -admin/views/charts.vue: - title: "历史记录" - per-day: "每天" - per-hour: "每小时" - federation: "联合" - notes: "投稿" - users: "用户" - drive: "网盘" - network: "网络" - charts: - federation-instances: "实例数:增加/减少" - federation-instances-total: "实例总数" - notes: "帖子数量:增加/减少(总和)" - local-notes: "帖子数量:增加/减少(Local)" - remote-notes: "帖子数量:增加/减少(远程)" - notes-total: "帖子总数" - users: "用户数量:增加/减少" - users-total: "用户总数" - active-users: "活跃用户数" - drive: "存储容量:增加/减少" - drive-total: "网盘总使用量" - drive-files: "网盘文件数量变化" - drive-files-total: "网盘文件总数" - network-requests: "请求" - network-time: "响应时间" - network-usage: "网络流量" -admin/views/drive.vue: - operation: "操作" - fileid-or-url: "文件ID或文件URL" - file-not-found: "找不到文件" - lookup: "查询" - sort: - title: "排序" - createdAtAsc: "按上传时间(升序)" - createdAtDesc: "按上传时间(降序)" - sizeAsc: "按大小(升序)" - sizeDesc: "按大小(降序)" - origin: - title: "源自" - combined: "本地+远程" - local: "本地" - remote: "远程" - delete: "删除" - deleted: "已删除" - mark-as-sensitive: "标记为“敏感”" - unmark-as-sensitive: "取消标记为“敏感”" - marked-as-sensitive: "标记为“敏感”" - unmarked-as-sensitive: "取消标记为“敏感”" - clean-remote-files: "删除远程文件缓存" - clean-remote-files-are-you-sure: "确定要删除所有远程文件缓存吗?" - clean-up: "清除缓存" -admin/views/users.vue: - operation: "操作" - username-or-userid: "用户名或用户ID" - user-not-found: "用户不存在" - lookup: "订阅" - reset-password: "密码重置" - reset-password-confirm: "是否重置密码?" - password-updated: "密码为「{password}」" - suspend: "被冻结" - suspend-confirm: "是否冻结?" - suspended: "成功冻结用户" - unsuspend: "已解除冻结" - unsuspend-confirm: "是否解除冻结?" - unsuspended: "已成功解除用户冻结" - make-silence: "禁言" - silence-confirm: "确认屏蔽?" - unmake-silence: "解除禁言" - unsilence-confirm: "解除屏蔽?" - update-remote-user: "更新远程用户信息" - remote-user-updated: "远程用户信息已更新" - delete-all-files: "删除所有文件" - delete-all-files-confirm: "删除所有文件吗?" - username: "用户名" - host: "主机名" - users: - title: "用户" - sort: - title: "排序" - createdAtAsc: "注册时间从旧到新" - createdAtDesc: "注册时间从新到旧" - updatedAtAsc: "更新时间从旧到新" - updatedAtDesc: "更新时间从新到旧" - state: - title: "状态" - all: "全部" - available: "可用" - admin: "管理员" - moderator: "版主" - adminOrModerator: "管理员+版主" - silenced: "已禁言" - suspended: "已冻结" - origin: - title: "源自" - combined: "本地+远程" - local: "本地" - remote: "远程" - createdAt: "注册日期" - updatedAt: "最后更新" -admin/views/moderators.vue: - add-moderator: - title: "注册版主" - add: "注册" - added: "已注册版主。" - remove: "取消" - removed: "取消注册版主" - logs: - title: "日志" - moderator: "版主" - type: "操作" - at: "日期和时间" - info: "信息" -admin/views/emoji.vue: - add-emoji: - title: "添加emoji" - name: "Emoji 名称" - name-desc: "你可以使用字符a~z 0~9 _" - category: "类别" - aliases: "别名" - aliases-desc: "您可以添加多个,以空格分隔。" - url: "emoji 地址" - add: "添加" - info: "我们建议使用50KB以下的PNG图像。" - added: "Emoji 已添加" - emojis: - title: "表情符号列表" - update: "更新" - remove: "移除" - updated: "已更新" - remove-emoji: - are-you-sure: "删除「$1」?" - removed: "已删除" -admin/views/announcements.vue: - announcements: "公告" - save: "保存" - remove: "移除" - add: "添加" - title: "标题" - text: "内容" - saved: "已保存" - _remove: - are-you-sure: "删除「$1」?" - removed: "已删除" -admin/views/hashtags.vue: - hided-tags: "隐藏标签" -admin/views/federation.vue: - instance: "例" - host: "主机名" - notes: "帖子" - users: "用户" - following: "正在关注" - followers: "关注者" - caught-at: "注册日期" - status: "状态" - latest-request-sent-at: "上次发送的请求" - latest-request-received-at: "上次收到的请求" - remove-all-following: "取消所有关注" - remove-all-following-info: "取消{host}的所有关注者。当实例不存在时执行。" - delete-all-files: "删除所有文件" - block: "拉黑" - marked-as-closed: "标记为已关闭" - lookup: "查询" - instances: "联邦" - instance-not-registered: "实例未注册" - sort: "排序" - sorts: - caughtAtAsc: "注册时间从旧到新" - caughtAtDesc: "注册时间从新到旧" - lastCommunicatedAtAsc: "上次互动时间从旧到新" - lastCommunicatedAtDesc: "上次互动时间从新到旧" - notesAsc: "发帖数量从少到多" - notesDesc: "发帖数量从多到少" - usersAsc: "用户数从少到多" - usersDesc: "用户数从多到少" - followingAsc: "关注数从少到多" - followingDesc: "关注数从多到少" - followersAsc: "粉丝数从少到多" - followersDesc: "粉丝数从多到少" - driveUsageAsc: "网盘使用量从少到多" - driveUsageDesc: "网盘使用量从多到少" - driveFilesAsc: "网盘文件数从少到多" - driveFilesDesc: "网盘文件数从多到少" - state: "状态" - states: - all: "所有" - blocked: "已拉黑" - not-responding: "没有响应" - marked-as-closed: "已标记为已关闭" - result-is-truncated: "显示最前面的{n}项。" - charts: "图表" - chart-srcs: - requests: "请求" - users: "用户数量变化" - users-total: "用户总数" - notes: "发帖数变化" - notes-total: "帖子总数" - ff: "关注/被关注数量变化" - ff-total: "关注/被关注总数" - drive-usage: "网盘使用量变化" - drive-usage-total: "网盘总使用量" - drive-files: "网盘文件数量变化" - drive-files-total: "网盘文件总数" - chart-spans: - hour: "每小时" - day: "每天" - blocked-hosts: "拉黑" - blocked-hosts-info: "描述您要阻止的主机,以换行符分隔。" - save: "保存" -desktop/views/pages/welcome.vue: - about: "更多信息..." - timeline: "时间线" - announcements: "公告" - photos: "最近图片" - powered-by-misskey: "Powered by Misskey." - info: "信息" -desktop/views/pages/drive.vue: - title: "Misskey 网盘" -desktop/views/pages/note.vue: - prev: "上一个帖子" - next: "下一个帖子" -desktop/views/pages/selectdrive.vue: - title: "选择文件" - ok: "确定" - cancel: "取消" - upload: "从设备上传文件" -desktop/views/pages/search.vue: - not-available: "在此实例的设置中关闭搜索功能。" - not-found: "没有找到“{q}”的帖子" -desktop/views/pages/tag.vue: - no-posts-found: "没有找到带有哈希标签“{q}”的帖子" -desktop/views/pages/user-list.users.vue: - users: "用户" - add-user: "添加用户" - username: "用户名" -desktop/views/pages/user/user.followers-you-know.vue: - title: "您可能认识的关注者" - loading: "正在加载中" - no-users: "没有你知道的关注者" -desktop/views/pages/user/user.friends.vue: - title: "活跃用户" - loading: "正在加载中" - no-users: "没有活跃用户" -desktop/views/pages/user/user.photos.vue: - title: "照片" - loading: "正在加载中" - no-photos: "没有图片" -desktop/views/pages/user/user.header.vue: - posts: "帖子" - following: "关注中" - followers: "关注者" - is-bot: "这个账户是Bot" - no-description: "没有自我介绍" - years-old: "{age}岁" - year: "年" - month: "月" - day: "日" - follows-you: "关注您" -desktop/views/pages/user/user.timeline.vue: - default: "帖子" - with-replies: "帖子与回复" - with-media: "媒体" - my-posts: "我的帖子" -desktop/views/widgets/notifications.vue: - title: "通知" -desktop/views/widgets/polls.vue: - title: "投票" - refresh: "更多" - nothing: "没有投票哦!" -desktop/views/widgets/post-form.vue: - title: "帖子" - note: "帖子" - something-happened: "由于某种原因无法发帖。" -desktop/views/widgets/profile.vue: - update-banner: "点击来剪辑背景" - update-avatar: "点击来剪辑头像" -desktop/views/widgets/trends.vue: - title: "趋势" - refresh: "更多" - nothing: "没有趋势图哦!" -desktop/views/widgets/users.vue: - title: "推荐用户" - refresh: "更多" - no-one: "没有任何推荐用户!" -mobile/views/components/drive.vue: - used: "已使用" - folder-count: "文件夹" - count-separator: "," - file-count: "文件" - nothing-in-drive: "网盘为空" - folder-is-empty: "这文件夹是空的" - folder-name: "文件夹名称" - here-is-root: "当前位置为根目录。" - url-prompt: "要上传的文件的URL" - uploading: "已请求上传。 上传完成可能需要一段时间。" - folder-name-cannot-empty: "文件夹名不能为空。" -mobile/views/components/drive-file-chooser.vue: - select-file: "选择文件" -mobile/views/components/drive-folder-chooser.vue: - select-folder: "选择一个文件夹" -mobile/views/components/drive.file.vue: - nsfw: "阅读注意" -mobile/views/components/drive.file-detail.vue: - download: "下载" - rename: "重命名" - move: "移动" - hash: "哈希(md5)" - exif: "EXIF" - nsfw: "阅读注意" - mark-as-sensitive: "标记为“敏感”" - unmark-as-sensitive: "取消标记为“敏感”" -mobile/views/components/media-video.vue: - sensitive: "阅读注意" - click-to-show: "点击以显示" -common/views/components/follow-button.vue: - following: "正在关注" - follow: "关注" - request-pending: "发送关注申请" - follow-processing: "申请处理中" - follow-request: "关注申请" -mobile/views/components/note.vue: - private: "私密帖子" - deleted: "帖子已删除" - location: "位置信息" -mobile/views/components/note-detail.vue: - reply: "回复" - reaction: "回应" - private: "这个帖子是私密的" - deleted: "帖子已删除" - location: "位置信息" -mobile/views/components/note-preview.vue: - admin: "管理员" - bot: "bot" - cat: "cat" -mobile/views/components/note-sub.vue: - admin: "管理员" - bot: "bot" - cat: "cat" -mobile/views/components/notifications.vue: - empty: "没有通知哦!" -mobile/views/components/sub-note-content.vue: - private: "私密帖子" - deleted: "帖子已删除" - media-count: "附加{}媒体" - poll: "投票" -mobile/views/components/ui.header.vue: - welcome-back: "欢迎回来!" - adjective: "先生" -mobile/views/components/ui.nav.vue: - timeline: "时间线" - notifications: "通知" - follow-requests: "关注申请" - search: "搜索" - user-lists: "列表" - user-groups: "群组" - widgets: "小部件" - game: "游戏" - admin: "管理" - about: "关于 Misskey" -mobile/views/pages/drive.vue: - contextmenu: - upload: "上传文件" - url-upload: "从URL上传文件" - create-folder: "创建文件夹" - rename-folder: "重命名文件夹" - move-folder: "移动此文件夹" - delete-folder: "删除此文件夹" -mobile/views/pages/signup.vue: - lets-start: "您的账户现已准备就绪! 📦" -mobile/views/pages/followers.vue: - followers-of: "{name}的关注者" -mobile/views/pages/following.vue: - following-of: "{name}的正在关注" -mobile/views/pages/home.vue: - home: "首页" - local: "Local" - hybrid: "社交" - global: "Global" - mentions: "Mentions" - messages: "直接发布" -mobile/views/pages/tag.vue: - no-posts-found: "没有找到带有哈希标签“{q}”的帖子" -mobile/views/pages/widgets.vue: - dashboard: "仪表盘" - widgets-hints: "您可以添加/删除/重新排列小部件。 要移动小部件,请拖动“三”。 点击“×”删除小部件。 某些小部件可以通过点击来更改显示。" - add-widget: "添加" - customization-tips: "定制提示" -mobile/views/pages/widgets/activity.vue: - activity: "活动" -mobile/views/pages/share.vue: - share-with: "共享{name}" -mobile/views/pages/note.vue: - title: "帖文" - prev: "上一个帖子" - next: "下一个帖子" -mobile/views/pages/games/reversi.vue: - reversi: "游戏" -mobile/views/pages/search.vue: - search: "搜索" - not-found: "没有找到有关于“{q}”的帖子" -mobile/views/pages/selectdrive.vue: - select-file: "选择文件" -mobile/views/pages/notifications.vue: - notifications: "通知" -mobile/views/pages/settings.vue: - signed-in-as: "以{}登录" -mobile/views/pages/user.vue: - follows-you: "关注您" - following: "关注中" - followers: "关注者" - notes: "帖子" - overview: "概观" - timeline: "时间线" - media: "媒体" - years-old: "{age}岁" -mobile/views/pages/user/home.vue: - recent-notes: "最近的帖子" - images: "图片" - activity: "活动" - keywords: "关键字" - domains: "域名" - frequently-replied-users: "活跃用户" - followers-you-know: "您可能认识的关注者" - last-used-at: "上次登录:" -mobile/views/pages/user/home.photos.vue: - no-photos: "没有图片" -deck: - widgets: "小部件" - home: "首页" - local: "Local" - hybrid: "社交" - hashtag: "哈希标签" - global: "Global" - mentions: "Mentions" - direct: "直接发布" - notifications: "通知" - list: "列表" - select-list: "请选择一个列表" - swap-left: "向左移动" - swap-right: "向右移动" - swap-up: "向上移动" - swap-down: "向下移动" - remove: "移除" - add-column: "添加一列" - rename: "重命名" - stack-left: "向左折叠" - pop-right: "带到右边" - disabled-timeline: - title: "禁用时间线" - description: "服务器管理员已禁用时间线。" -deck/deck.tl-column.vue: - is-media-only: "只有媒体的帖子" - edit: "选项" -deck/deck.user-column.vue: - follows-you: "关注您" - posts: "帖子" - following: "关注中" - followers: "关注者" - images: "图片" - activity: "活动" - timeline: "时间线" - pinned-notes: "置顶帖" - pinned-page: "已置顶的页面" -docs: - edit-this-page-on-github: "发现错误或想要为文档做出贡献?" - edit-this-page-on-github-link: "在GitHub上编辑这个页面。" -dev/views/index.vue: - manage-apps: "管理应用" -dev/views/apps.vue: - manage-apps: "管理应用" - create-app: "创建应用" - app-missing: "没有应用" -dev/views/new-app.vue: - new-app: "新应用" - new-app-info: "可以从 API 中创建应用。 (app/create)" - create-app: "正在创建应用" - app-name: "应用名称" - app-name-placeholder: "ex) iOS版Misskey" - app-name-desc: "您应用的名称" - app-overview: "应用摘要" - app-overview-placeholder: " ex) iOS版Misskey客户端." - app-overview-desc: "您的应用的简要说明或介绍。" - callback-url: "回应URL (optional)" - callback-url-placeholder: "ex) https://your.app.example.com/callback.php" - callback-url-desc: "通过身份验证表单对用户进行身份验证后重定向到的URL。" - authority: "权限" - authority-desc: "只能通过API访问此处请求的功能。" - authority-warning: "您可以在创建应用程序后对其进行更改,但如果您授予不同的权限,则当时关联的所有用户密钥都将失效。" -pages: - new-page: "创建页面" - edit-page: "编辑页面" - read-page: "查看源" - page-created: "页面已创建" - page-updated: "页面已更新" - name-already-exists: "该页面URL已存在" - title-invalid-name: "无效的页面URL" - text-invalid-name: "请确认该项不为空" - are-you-sure-delete: "是否删除此页面?" - page-deleted: "该页面已被删除。" - edit-this-page: "编辑此页面" - pin-this-page: "置顶" - unpin-this-page: "取消置顶" - view-source: "查看源代码" - view-page: "查看页面" - like: "赞" - unlike: "取消赞" - liked-pages: "喜欢的页面" - my-pages: "个人页面" - inspector: "检查器" - content: "页面内容" - variables: "变量" - variables-info: "您可以使用变量创建动态页面。在文本中通过{变量名}的写法来嵌入变量值。例如在文本Hello { thing } world!中,如果变量(thing)的值为ai,那么该文本会成为Hello ai world!。" - variables-info2: "因为变量的计算(计算变量值)是从上到下执行的,所以不能在变量中引用下面的变量。例如从上到下依次定义了A,B,C3个变量,那么C中可以引用AB,但是A无法引用BC。" - variables-info3: "为了接收来自用户的输入,页面上设有“用户输入”块,在“变量名称”中设置要在其中保存输入值的变量名(变量会自动创建)。您可以使用该变量执行操作以响应用户输入。" - variables-info4: "通过使用函数,您可以将数值计算过程组合成可重用的形式。要创建函数,需要创建一个“函数”类型的变量。你可以将函数设定为槽函数(参数)的格式,槽函数的值可作为函数中的变量使用。另外,AiScript标准中还有一些函数会将函数作为参数(称为高阶函数)。\n除了已经预先定义的函数外,您也可以将它们设置为这些高阶函数的槽函数。" - more-details: "详细说明" - title: "标题" - url: "页面URL" - summary: "页面摘要" - align-center: "居中" - hide-title-when-pinned: "置顶时隐藏标题" - font: "字体" - fontSerif: "衬线字体" - fontSansSerif: "无衬线字体" - set-eye-catching-image: "设置封面图片" - remove-eye-catching-image: "删除封面图片" - choose-block: "添加块" - select-type: "类型选择" - enter-variable-name: "请确定变量名" - the-variable-name-is-already-used: "变量名已使用" - content-blocks: "内容" - input-blocks: "输入" - special-blocks: "特殊" - post-from-post-form: "发布此内容" - posted-from-post-form: "已发布" - blocks: - text: "文本" - textarea: "文本区域" - section: "章节" - image: "图片" - button: "按钮" - if: "判断" - _if: - variable: "变量" - post: "投稿窗口" - _post: - text: "内容" - textInput: "文本输入" - _textInput: - name: "变量名" - text: "标题" - default: "默认值" - textareaInput: "多行文本输入" - _textareaInput: - name: "变量名" - text: "标题" - default: "默认值" - numberInput: "数值输入" - _numberInput: - name: "变量名" - text: "标题" - default: "默认值" - switch: "开关" - _switch: - name: "变量名" - text: "标题" - default: "默认值" - counter: "计数器" - _counter: - name: "变量名" - text: "标题" - inc: "增加值" - _button: - text: "标题" - colored: "彩色" - action: "按下按钮时的行为" - _action: - dialog: "显示对话框" - _dialog: - content: "内容" - resetRandom: "随机值重置" - pushEvent: "发送事件" - _pushEvent: - event: "事件名称" - message: "按下时显示的消息" - variable: "发送的变量" - no-variable: "空" - radioButton: "选择项" - _radioButton: - name: "变量名" - title: "标题" - values: "使用换行区分的选择项" - default: "默认值" - script: - categories: - flow: "控制" - logical: "逻辑运算" - operation: "计算" - comparison: "比较" - random: "随机" - value: "值" - fn: "函数" - text: "文本操作" - convert: "转换" - list: "列表" - blocks: - text: "文本" - multiLineText: "文本 (多行)" - textList: "文本列表" - _textList: - info: "情使用换行符分隔每行" - strLen: "文本长度" - _strLen: - arg1: "文本" - strPick: "字符提取" - _strPick: - arg1: "文本" - arg2: "字符位置" - strReplace: "文本替换" - _strReplace: - arg1: "文本" - arg2: "替换之前" - arg3: "替换之后" - strReverse: "文本反向" - _strReverse: - arg1: "文本" - join: "合并文本" - _join: - arg1: "列表" - arg2: "分隔符" - add: "+ 加" - _add: - arg1: "A" - arg2: "B" - subtract: "- 减" - _subtract: - arg1: "A" - arg2: "B" - multiply: "× 乘" - _multiply: - arg1: "A" - arg2: "B" - divide: "÷ 除" - _divide: - arg1: "A" - arg2: "B" - mod: "÷ 取模" - _mod: - arg1: "A" - arg2: "B" - round: "四舍五入" - _round: - arg1: "数值" - eq: "A和B相等" - _eq: - arg1: "A" - arg2: "B" - notEq: "A和B不等" - _notEq: - arg1: "A" - arg2: "B" - and: "A和B" - _and: - arg1: "A" - arg2: "B" - or: "A或B" - _or: - arg1: "A" - arg2: "B" - lt: "< A小于B" - _lt: - arg1: "A" - arg2: "B" - gt: "> A大于B" - _gt: - arg1: "A" - arg2: "B" - ltEq: "<= A小于等于B" - _ltEq: - arg1: "A" - arg2: "B" - gtEq: ">= A大于等于B" - _gtEq: - arg1: "A" - arg2: "B" - if: "分支" - _if: - arg1: "如果" - arg2: "的话" - arg3: "否则" - not: "否定" - _not: - arg1: "否定" - random: "随机" - _random: - arg1: "概率" - rannum: "随机" - _rannum: - arg1: "最小" - arg2: "最大" - randomPick: "从列表中随机选择" - _randomPick: - arg1: "列表" - dailyRandom: "随机(每个用户每日)" - _dailyRandom: - arg1: "概率" - dailyRannum: "随机数(每个用户每日)" - _dailyRannum: - arg1: "最小" - arg2: "最大" - dailyRandomPick: "从列表中随机选择(每个用户每日)" - _dailyRandomPick: - arg1: "列表" - seedRandom: "随机 (种子)" - _seedRandom: - arg1: "种子" - arg2: "概率" - seedRannum: "随机数(种子)" - _seedRannum: - arg1: "种子" - arg2: "最小" - arg3: "最大" - seedRandomPick: "从列表中随机选择 (种子)" - _seedRandomPick: - arg1: "种子" - arg2: "列表" - DRPWPM: "从概率列表中随机选择(每用户每天)" - _DRPWPM: - arg1: "文本列表" - pick: "从列表中选择" - _pick: - arg1: "列表" - arg2: "位置" - listLen: "获取列表长度" - _listLen: - arg1: "列表" - number: "数值" - stringToNumber: "文本到数字" - _stringToNumber: - arg1: "文本" - numberToString: "数字到文本" - _numberToString: - arg1: "数值" - splitStrByLine: "将文本按行拆分" - _splitStrByLine: - arg1: "文本" - ref: "变量" - fn: "函数" - _fn: - slots: "槽函数" - slots-info: "请使用换行符分隔每个槽函数" - arg1: "输出" - for: "重复" - _for: - arg1: "次数" - arg2: "处理" - typeError: "槽函数{slot}需要传入“{expect}”,但是实际传入为“{actual}”!" - thereIsEmptySlot: "槽函数{slot}为空!" - types: - string: "文本" - number: "数值" - boolean: "布尔值" - array: "列表" - stringArray: "文本列表" - emptySlot: "空白槽函数" - enviromentVariables: "环境变量" - pageVariables: "页面元素" - argVariables: "输入槽函数" -room: - add-furniture: "放置家具" - translate: "移动" - rotate: "旋转" - exit: "返回" - remove: "移除" - save: "保存" - saved: "已保存" - clear: "清理" - clear-confirm: "是否清除所有家具?" - leave-confirm: "有尚未保存的修改。是否离开?" - chooseImage: "选择图片" - room-type: "房间类型" - carpet-color: "地板颜色" - rooms: - default: "默认" - washitsu: "和式房间" - furnitures: - milk: "牛奶纸箱" - bed: "床" - low-table: "矮桌" - desk: "书桌" - chair: "椅子" - chair2: "椅子2" - fan: "换气扇" - pc: "电脑" - plant: "观叶植物" - plant2: "观叶植物2" - eraser: "橡皮擦" - pencil: "铅笔" - pudding: "布丁" - cardboard-box: "纸板箱" - cardboard-box2: "纸板箱2" - cardboard-box3: "纸板箱3" - book: "书" - book2: "书2" - piano: "钢琴" - facial-tissue: "纸巾盒" - server: "服务器" - moon: "月球" - corkboard: "软木板" - mousepad: "鼠标垫" - monitor: "显示器" - keyboard: "键盘" - carpet-stripe: "地毯(条纹)" - mat: "垫子" - color-box: "收纳柜" - wall-clock: "挂钟" - photoframe: "相框" - cube: "立方体" - tv: "电视" - pinguin: "企鹅君" - rubik-cube: "魔方" - poster-h: "海报(横向)" - poster-v: "海报(纵向)" - sofa: "沙发" - spiral: "螺旋楼梯" - bin: "垃圾箱" - cup-noodle: "杯面" - holo-display: "全息显示器" - energy-drink: "能量饮料" diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml deleted file mode 100644 index a0138b465..000000000 --- a/locales/zh-TW.yml +++ /dev/null @@ -1,91 +0,0 @@ ---- -meta: - lang: "中文(繁体)" -common: - intro: - title: "什麽是 Misskey 呢?" - rich-contents: "發佈" - reaction: "回應" - drive: "雲端硬碟" - close: "關閉" - enter-password: "請輸入密碼" - 2fa: "雙重身份驗證" - dark-mode: "夜間模式" - signup: "註冊" - signout: "登出" - notification: - reversi-invited: "您已被邀請加入壹場遊戲" - reversi-invited-by: "來自{}的邀請" - notified-by: "來自{}的邀請" - time: - future: "未來" - just_now: "剛剛" - drive: "雲端硬碟" - weekday: - sunday: "週日" - monday: "週一" - tuesday: "週二" - wednesday: "週三" - thursday: "週四" - friday: "週五" - saturday: "週六" - reactions: - like: "贊" - love: "喜歡" - congrats: "恭喜" - _settings: - password: "密碼" - font-size: "字體大小" - font-size-x-small: "小" - font-size-small: "較小" - deck-column-width-wide: "寬" - timeline: "時間軸" -common/views/components/connect-failed.troubleshooter.vue: - flush: "清除快取" -common/views/components/theme.vue: - light-themes: "淺色主題" - dark-themes: "深色主題" - install-a-theme: "安裝主題" - save-created-theme: "保存主題" -common/views/components/signin.vue: - signin-with-twitter: "用 Twitter 帳號登入" - signin-with-github: "用 GitHub 帳號登入" - signin-with-discord: "用 Discord 帳號登入" - login-failed: "登錄失敗。 請檢查用戶名和密碼。" -common/views/components/signup.vue: - invitation-code: "邀請碼" - username: "用戶名" - available: "可用" - too-long: "請不要超過20個字元" - password: "密碼" - password-placeholder: "建議至少8個字元" -common/views/components/stream-indicator.vue: - connecting: "正在連線" - reconnecting: "正在重新連線" - connected: "已建立連線" -common/views/components/integration-settings.vue: - disconnect: "中斷連線" -common/views/components/github-setting.vue: - reconnect: "重新連線" - disconnect: "中斷連線" -common/views/components/discord-setting.vue: - reconnect: "重新連線" - disconnect: "中斷連線" -common/views/components/language-settings.vue: - recommended: "推薦" - auto: "自動" - specify-language: "指定語言" -common/views/components/profile-editor.vue: - title: "個人資料" - name: "名稱" - birthday: "生日:" - privacy: "隱私" -admin/views/dashboard.vue: - drive: "雲端硬碟" -admin/views/charts.vue: - drive: "雲端硬碟" -pages: - like: "贊" -room: - furnitures: - moon: "月" diff --git a/migration/1579267006611-v12.ts b/migration/1579267006611-v12.ts new file mode 100644 index 000000000..2c15283fa --- /dev/null +++ b/migration/1579267006611-v12.ts @@ -0,0 +1,34 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v121579267006611 implements MigrationInterface { + name = 'v121579267006611' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`CREATE TABLE "announcement" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "text" character varying(8192) NOT NULL, "title" character varying(256) NOT NULL, "imageUrl" character varying(1024), CONSTRAINT "PK_e0ef0550174fd1099a308fd18a0" PRIMARY KEY ("id"))`, undefined); + await queryRunner.query(`CREATE INDEX "IDX_118ec703e596086fc4515acb39" ON "announcement" ("createdAt") `, undefined); + await queryRunner.query(`CREATE TABLE "announcement_read" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "announcementId" character varying(32) NOT NULL, CONSTRAINT "PK_4b90ad1f42681d97b2683890c5e" PRIMARY KEY ("id"))`, undefined); + await queryRunner.query(`CREATE INDEX "IDX_8288151386172b8109f7239ab2" ON "announcement_read" ("userId") `, undefined); + await queryRunner.query(`CREATE INDEX "IDX_603a7b1e7aa0533c6c88e9bfaf" ON "announcement_read" ("announcementId") `, undefined); + await queryRunner.query(`CREATE UNIQUE INDEX "IDX_924fa71815cfa3941d003702a0" ON "announcement_read" ("userId", "announcementId") `, undefined); + await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isVerified"`, undefined); + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "announcements"`, undefined); + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableEmojiReaction"`, undefined); + await queryRunner.query(`ALTER TABLE "announcement_read" ADD CONSTRAINT "FK_8288151386172b8109f7239ab28" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + await queryRunner.query(`ALTER TABLE "announcement_read" ADD CONSTRAINT "FK_603a7b1e7aa0533c6c88e9bfafe" FOREIGN KEY ("announcementId") REFERENCES "announcement"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "announcement_read" DROP CONSTRAINT "FK_603a7b1e7aa0533c6c88e9bfafe"`, undefined); + await queryRunner.query(`ALTER TABLE "announcement_read" DROP CONSTRAINT "FK_8288151386172b8109f7239ab28"`, undefined); + await queryRunner.query(`ALTER TABLE "meta" ADD "enableEmojiReaction" boolean NOT NULL DEFAULT true`, undefined); + await queryRunner.query(`ALTER TABLE "meta" ADD "announcements" jsonb NOT NULL DEFAULT '[]'`, undefined); + await queryRunner.query(`ALTER TABLE "user" ADD "isVerified" boolean NOT NULL DEFAULT false`, undefined); + await queryRunner.query(`DROP INDEX "IDX_924fa71815cfa3941d003702a0"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_603a7b1e7aa0533c6c88e9bfaf"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_8288151386172b8109f7239ab2"`, undefined); + await queryRunner.query(`DROP TABLE "announcement_read"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_118ec703e596086fc4515acb39"`, undefined); + await queryRunner.query(`DROP TABLE "announcement"`, undefined); + } + +} diff --git a/migration/1579270193251-v12-2.ts b/migration/1579270193251-v12-2.ts new file mode 100644 index 000000000..efad0cd56 --- /dev/null +++ b/migration/1579270193251-v12-2.ts @@ -0,0 +1,14 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v1221579270193251 implements MigrationInterface { + name = 'v1221579270193251' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "announcement_read" ADD "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "announcement_read" DROP COLUMN "createdAt"`, undefined); + } + +} diff --git a/migration/1579282808087-v12-3.ts b/migration/1579282808087-v12-3.ts new file mode 100644 index 000000000..a330caa97 --- /dev/null +++ b/migration/1579282808087-v12-3.ts @@ -0,0 +1,14 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v1231579282808087 implements MigrationInterface { + name = 'v1231579282808087' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "announcement" ADD "updatedAt" TIMESTAMP WITH TIME ZONE`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "announcement" DROP COLUMN "updatedAt"`, undefined); + } + +} diff --git a/migration/1579544426412-v12-4.ts b/migration/1579544426412-v12-4.ts new file mode 100644 index 000000000..d35b25d04 --- /dev/null +++ b/migration/1579544426412-v12-4.ts @@ -0,0 +1,16 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v1241579544426412 implements MigrationInterface { + name = 'v1241579544426412' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "notification" ADD "followRequestId" character varying(32)`, undefined); + await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_bd7fab507621e635b32cd31892c" FOREIGN KEY ("followRequestId") REFERENCES "follow_request"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_bd7fab507621e635b32cd31892c"`, undefined); + await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "followRequestId"`, undefined); + } + +} diff --git a/migration/1579977526288-v12-5.ts b/migration/1579977526288-v12-5.ts new file mode 100644 index 000000000..5f824a676 --- /dev/null +++ b/migration/1579977526288-v12-5.ts @@ -0,0 +1,54 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v1251579977526288 implements MigrationInterface { + name = 'v1251579977526288' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`CREATE TABLE "clip" ("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, "isPublic" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_f0685dac8d4dd056d7255670b75" PRIMARY KEY ("id"))`, undefined); + await queryRunner.query(`CREATE INDEX "IDX_2b5ec6c574d6802c94c80313fb" ON "clip" ("userId") `, undefined); + await queryRunner.query(`CREATE TABLE "clip_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "clipId" character varying(32) NOT NULL, CONSTRAINT "PK_e94cda2f40a99b57e032a1a738b" PRIMARY KEY ("id"))`, undefined); + await queryRunner.query(`CREATE INDEX "IDX_a012eaf5c87c65da1deb5fdbfa" ON "clip_note" ("noteId") `, undefined); + await queryRunner.query(`CREATE INDEX "IDX_ebe99317bbbe9968a0c6f579ad" ON "clip_note" ("clipId") `, undefined); + await queryRunner.query(`CREATE UNIQUE INDEX "IDX_6fc0ec357d55a18646262fdfff" ON "clip_note" ("noteId", "clipId") `, undefined); + await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'list')`, undefined); + await queryRunner.query(`CREATE TABLE "antenna" ("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, "src" "antenna_src_enum" NOT NULL, "userListId" character varying(32), "keywords" jsonb NOT NULL DEFAULT '[]', "withFile" boolean NOT NULL, "expression" character varying(2048), "notify" boolean NOT NULL, "hasNewNote" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_c170b99775e1dccca947c9f2d5f" PRIMARY KEY ("id"))`, undefined); + await queryRunner.query(`CREATE INDEX "IDX_6446c571a0e8d0f05f01c78909" ON "antenna" ("userId") `, undefined); + await queryRunner.query(`CREATE TABLE "antenna_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "antennaId" character varying(32) NOT NULL, CONSTRAINT "PK_fb28d94d0989a3872df19fd6ef8" PRIMARY KEY ("id"))`, undefined); + await queryRunner.query(`CREATE INDEX "IDX_bd0397be22147e17210940e125" ON "antenna_note" ("noteId") `, undefined); + await queryRunner.query(`CREATE INDEX "IDX_0d775946662d2575dfd2068a5f" ON "antenna_note" ("antennaId") `, undefined); + await queryRunner.query(`CREATE UNIQUE INDEX "IDX_335a0bf3f904406f9ef3dd51c2" ON "antenna_note" ("noteId", "antennaId") `, undefined); + await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "geo"`, undefined); + await queryRunner.query(`ALTER TABLE "clip" ADD CONSTRAINT "FK_2b5ec6c574d6802c94c80313fb2" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + await queryRunner.query(`ALTER TABLE "clip_note" ADD CONSTRAINT "FK_a012eaf5c87c65da1deb5fdbfa3" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + await queryRunner.query(`ALTER TABLE "clip_note" ADD CONSTRAINT "FK_ebe99317bbbe9968a0c6f579adf" FOREIGN KEY ("clipId") REFERENCES "clip"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_6446c571a0e8d0f05f01c789096" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_709d7d32053d0dd7620f678eeb9" FOREIGN KEY ("userListId") REFERENCES "user_list"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + await queryRunner.query(`ALTER TABLE "antenna_note" ADD CONSTRAINT "FK_bd0397be22147e17210940e125b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + await queryRunner.query(`ALTER TABLE "antenna_note" ADD CONSTRAINT "FK_0d775946662d2575dfd2068a5f5" FOREIGN KEY ("antennaId") REFERENCES "antenna"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "antenna_note" DROP CONSTRAINT "FK_0d775946662d2575dfd2068a5f5"`, undefined); + await queryRunner.query(`ALTER TABLE "antenna_note" DROP CONSTRAINT "FK_bd0397be22147e17210940e125b"`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_709d7d32053d0dd7620f678eeb9"`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_6446c571a0e8d0f05f01c789096"`, undefined); + await queryRunner.query(`ALTER TABLE "clip_note" DROP CONSTRAINT "FK_ebe99317bbbe9968a0c6f579adf"`, undefined); + await queryRunner.query(`ALTER TABLE "clip_note" DROP CONSTRAINT "FK_a012eaf5c87c65da1deb5fdbfa3"`, undefined); + await queryRunner.query(`ALTER TABLE "clip" DROP CONSTRAINT "FK_2b5ec6c574d6802c94c80313fb2"`, undefined); + await queryRunner.query(`ALTER TABLE "note" ADD "geo" jsonb`, undefined); + await queryRunner.query(`DROP INDEX "IDX_335a0bf3f904406f9ef3dd51c2"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_0d775946662d2575dfd2068a5f"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_bd0397be22147e17210940e125"`, undefined); + await queryRunner.query(`DROP TABLE "antenna_note"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_6446c571a0e8d0f05f01c78909"`, undefined); + await queryRunner.query(`DROP TABLE "antenna"`, undefined); + await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_6fc0ec357d55a18646262fdfff"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_ebe99317bbbe9968a0c6f579ad"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_a012eaf5c87c65da1deb5fdbfa"`, undefined); + await queryRunner.query(`DROP TABLE "clip_note"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_2b5ec6c574d6802c94c80313fb"`, undefined); + await queryRunner.query(`DROP TABLE "clip"`, undefined); + } + +} diff --git a/migration/1579993013959-v12-6.ts b/migration/1579993013959-v12-6.ts new file mode 100644 index 000000000..4fa4623c3 --- /dev/null +++ b/migration/1579993013959-v12-6.ts @@ -0,0 +1,18 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v1261579993013959 implements MigrationInterface { + name = 'v1261579993013959' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "hasNewNote"`, undefined); + await queryRunner.query(`ALTER TABLE "antenna_note" ADD "read" boolean NOT NULL DEFAULT false`, undefined); + await queryRunner.query(`CREATE INDEX "IDX_9937ea48d7ae97ffb4f3f063a4" ON "antenna_note" ("read") `, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP INDEX "IDX_9937ea48d7ae97ffb4f3f063a4"`, undefined); + await queryRunner.query(`ALTER TABLE "antenna_note" DROP COLUMN "read"`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" ADD "hasNewNote" boolean NOT NULL DEFAULT false`, undefined); + } + +} diff --git a/migration/1580069531114-v12-7.ts b/migration/1580069531114-v12-7.ts new file mode 100644 index 000000000..227e7cceb --- /dev/null +++ b/migration/1580069531114-v12-7.ts @@ -0,0 +1,24 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v1271580069531114 implements MigrationInterface { + name = 'v1271580069531114' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[]`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" ADD "caseSensitive" boolean NOT NULL DEFAULT false`, undefined); + await queryRunner.query(`ALTER TYPE "public"."antenna_src_enum" RENAME TO "antenna_src_enum_old"`, undefined); + await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'users', 'list')`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum" USING "src"::"text"::"antenna_src_enum"`, undefined); + await queryRunner.query(`DROP TYPE "antenna_src_enum_old"`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`CREATE TYPE "antenna_src_enum_old" AS ENUM('home', 'all', 'list')`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum_old" USING "src"::"text"::"antenna_src_enum_old"`, undefined); + await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined); + await queryRunner.query(`ALTER TYPE "antenna_src_enum_old" RENAME TO "antenna_src_enum"`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "caseSensitive"`, undefined); + await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined); + } + +} diff --git a/migration/1580148575182-v12-8.ts b/migration/1580148575182-v12-8.ts new file mode 100644 index 000000000..c63bdb4eb --- /dev/null +++ b/migration/1580148575182-v12-8.ts @@ -0,0 +1,16 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v1281580148575182 implements MigrationInterface { + name = 'v1281580148575182' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_ec5c201576192ba8904c345c5cc"`, undefined); + await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "appId"`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "note" ADD "appId" character varying(32)`, undefined); + await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`, undefined); + } + +} diff --git a/migration/1580154400017-v12-9.ts b/migration/1580154400017-v12-9.ts new file mode 100644 index 000000000..de06d26e4 --- /dev/null +++ b/migration/1580154400017-v12-9.ts @@ -0,0 +1,14 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v1291580154400017 implements MigrationInterface { + name = 'v1291580154400017' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "antenna" ADD "withReplies" boolean NOT NULL DEFAULT false`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "withReplies"`, undefined); + } + +} diff --git a/migration/1580276619901-v12-10.ts b/migration/1580276619901-v12-10.ts new file mode 100644 index 000000000..f48f42b4a --- /dev/null +++ b/migration/1580276619901-v12-10.ts @@ -0,0 +1,19 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class v12101580276619901 implements MigrationInterface { + name = 'v12101580276619901' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`TRUNCATE TABLE "notification"`, undefined); + await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "type"`, undefined); + await queryRunner.query(`CREATE TYPE "notification_type_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted')`, undefined); + await queryRunner.query(`ALTER TABLE "notification" ADD "type" "notification_type_enum" NOT NULL`, undefined); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "type"`, undefined); + await queryRunner.query(`DROP TYPE "notification_type_enum"`, undefined); + await queryRunner.query(`ALTER TABLE "notification" ADD "type" character varying(32) NOT NULL`, undefined); + } + +} diff --git a/package.json b/package.json index d5b85fc8c..3a6d1c81d 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "misskey", - "author": "syuilo ", - "version": "11.37.1", - "codename": "daybreak", + "author": "syuilo ", + "version": "12.0.0-alpha.10", + "codename": "indigo", "repository": { "type": "git", "url": "https://github.com/syuilo/misskey.git" @@ -112,6 +112,7 @@ "cbor": "5.0.1", "chai": "4.2.0", "chalk": "3.0.0", + "chart.js": "2.9.3", "cli-highlight": "2.1.4", "commander": "4.1.0", "content-disposition": "0.5.3", @@ -125,15 +126,16 @@ "eslint-plugin-vue": "6.1.2", "eventemitter3": "4.0.0", "feed": "4.1.0", + "fibers": "4.0.2", "file-type": "13.0.1", "fluent-ffmpeg": "2.1.2", "gulp": "4.0.2", "gulp-clean-css": "4.2.0", + "gulp-dart-sass": "0.9.1", "gulp-mocha": "7.0.2", "gulp-rename": "2.0.0", "gulp-replace": "1.0.0", "gulp-sourcemaps": "2.6.5", - "gulp-stylus": "2.7.0", "gulp-terser": "1.2.0", "gulp-tslint": "8.1.4", "gulp-typescript": "5.0.1", @@ -177,6 +179,7 @@ "parse5": "5.1.1", "parsimmon": "1.13.0", "pg": "7.17.0", + "portal-vue": "2.1.7", "portscanner": "2.2.0", "postcss-loader": "3.0.0", "prismjs": "1.18.0", @@ -204,6 +207,8 @@ "rimraf": "3.0.0", "rndstr": "1.0.0", "s-age": "1.1.2", + "sass": "1.25.0", + "sass-loader": "8.0.1", "seedrandom": "3.0.5", "sharp": "0.23.4", "showdown": "1.9.1", @@ -211,8 +216,6 @@ "speakeasy": "2.0.0", "stringz": "2.0.0", "style-loader": "1.1.2", - "stylus": "0.54.7", - "stylus-loader": "3.0.2", "summaly": "2.3.1", "syslog-pro": "1.0.0", "systeminformation": "4.17.3", @@ -238,10 +241,10 @@ "vue-content-loading": "1.6.0", "vue-cropperjs": "4.0.1", "vue-i18n": "8.15.3", - "vue-js-modal": "1.3.31", "vue-json-pretty": "1.6.3", "vue-loader": "15.8.3", "vue-marquee-text-component": "1.1.1", + "vue-meta": "2.3.1", "vue-prism-component": "1.1.1", "vue-router": "3.1.3", "vue-sequential-entrance": "1.1.3", @@ -249,7 +252,6 @@ "vue-svg-inline-loader": "1.4.4", "vue-template-compiler": "2.6.11", "vuedraggable": "2.23.2", - "vuewordcloud": "18.7.11", "vuex": "3.1.2", "vuex-persistedstate": "2.7.0", "web-push": "3.4.3", diff --git a/src/@types/const.json.d.ts b/src/@types/const.json.d.ts deleted file mode 100644 index 40a96f2a2..000000000 --- a/src/@types/const.json.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare module '*/const.json' { - const copyright: string; -} diff --git a/src/boot/master.ts b/src/boot/master.ts index db063ef4b..d6d5ed438 100644 --- a/src/boot/master.ts +++ b/src/boot/master.ts @@ -77,7 +77,6 @@ export async function masterMain() { if (!program.noDaemons) { require('../daemons/server-stats').default(); - require('../daemons/notes-stats').default(); require('../daemons/queue-stats').default(); require('../daemons/janitor').default(); } diff --git a/src/client/app.vue b/src/client/app.vue new file mode 100644 index 000000000..3e65880b0 --- /dev/null +++ b/src/client/app.vue @@ -0,0 +1,1105 @@ + + + + + diff --git a/src/client/app/admin/assets/header-icon.svg b/src/client/app/admin/assets/header-icon.svg deleted file mode 100644 index d677d2d16..000000000 --- a/src/client/app/admin/assets/header-icon.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - diff --git a/src/client/app/admin/script.ts b/src/client/app/admin/script.ts deleted file mode 100644 index 3f2d6466a..000000000 --- a/src/client/app/admin/script.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Admin - */ - -import VueRouter from 'vue-router'; - -// Style -import './style.styl'; - -import init from '../init'; -import Index from './views/index.vue'; -import NotFound from '../common/views/pages/not-found.vue'; - -init(launch => { - document.title = 'Admin'; - - // Init router - const router = new VueRouter({ - mode: 'history', - base: '/admin/', - routes: [ - { path: '/:page', component: Index }, - { path: '/', redirect: '/dashboard' }, - { path: '*', component: NotFound } - ] - }); - - // Launch the app - launch(router); -}); diff --git a/src/client/app/admin/style.styl b/src/client/app/admin/style.styl deleted file mode 100644 index ae1a28226..000000000 --- a/src/client/app/admin/style.styl +++ /dev/null @@ -1,6 +0,0 @@ -@import "../app" -@import "../reset" - -html - height 100% - background var(--bg) diff --git a/src/client/app/admin/views/abuse.vue b/src/client/app/admin/views/abuse.vue deleted file mode 100644 index afa285deb..000000000 --- a/src/client/app/admin/views/abuse.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/announcements.vue b/src/client/app/admin/views/announcements.vue deleted file mode 100644 index f6c0540b3..000000000 --- a/src/client/app/admin/views/announcements.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - diff --git a/src/client/app/admin/views/dashboard.ap-log.vue b/src/client/app/admin/views/dashboard.ap-log.vue deleted file mode 100644 index ee48ef15e..000000000 --- a/src/client/app/admin/views/dashboard.ap-log.vue +++ /dev/null @@ -1,109 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/dashboard.cpu-memory.vue b/src/client/app/admin/views/dashboard.cpu-memory.vue deleted file mode 100644 index a3951e761..000000000 --- a/src/client/app/admin/views/dashboard.cpu-memory.vue +++ /dev/null @@ -1,185 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/dashboard.queue-charts.vue b/src/client/app/admin/views/dashboard.queue-charts.vue deleted file mode 100644 index d2d7811bf..000000000 --- a/src/client/app/admin/views/dashboard.queue-charts.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/dashboard.vue b/src/client/app/admin/views/dashboard.vue deleted file mode 100644 index 5ccfaa06c..000000000 --- a/src/client/app/admin/views/dashboard.vue +++ /dev/null @@ -1,286 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/db.vue b/src/client/app/admin/views/db.vue deleted file mode 100644 index 9f87a749b..000000000 --- a/src/client/app/admin/views/db.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - diff --git a/src/client/app/admin/views/drive.vue b/src/client/app/admin/views/drive.vue deleted file mode 100644 index 1152db2b9..000000000 --- a/src/client/app/admin/views/drive.vue +++ /dev/null @@ -1,292 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/emoji.vue b/src/client/app/admin/views/emoji.vue deleted file mode 100644 index 2925fcab5..000000000 --- a/src/client/app/admin/views/emoji.vue +++ /dev/null @@ -1,185 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/federation.vue b/src/client/app/admin/views/federation.vue deleted file mode 100644 index b419cca1d..000000000 --- a/src/client/app/admin/views/federation.vue +++ /dev/null @@ -1,553 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/index.vue b/src/client/app/admin/views/index.vue deleted file mode 100644 index 1b8118574..000000000 --- a/src/client/app/admin/views/index.vue +++ /dev/null @@ -1,297 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/instance.vue b/src/client/app/admin/views/instance.vue deleted file mode 100644 index ebc554f95..000000000 --- a/src/client/app/admin/views/instance.vue +++ /dev/null @@ -1,523 +0,0 @@ - - - diff --git a/src/client/app/admin/views/logs.vue b/src/client/app/admin/views/logs.vue deleted file mode 100644 index cb5431818..000000000 --- a/src/client/app/admin/views/logs.vue +++ /dev/null @@ -1,119 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/moderators.vue b/src/client/app/admin/views/moderators.vue deleted file mode 100644 index 8ceab02d9..000000000 --- a/src/client/app/admin/views/moderators.vue +++ /dev/null @@ -1,127 +0,0 @@ - - - diff --git a/src/client/app/admin/views/queue.chart.vue b/src/client/app/admin/views/queue.chart.vue deleted file mode 100644 index ff29aa839..000000000 --- a/src/client/app/admin/views/queue.chart.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/queue.vue b/src/client/app/admin/views/queue.vue deleted file mode 100644 index 9aa740c68..000000000 --- a/src/client/app/admin/views/queue.vue +++ /dev/null @@ -1,159 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/users.user.vue b/src/client/app/admin/views/users.user.vue deleted file mode 100644 index 9c3db2d6c..000000000 --- a/src/client/app/admin/views/users.user.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - - - diff --git a/src/client/app/admin/views/users.vue b/src/client/app/admin/views/users.vue deleted file mode 100644 index 920bfc381..000000000 --- a/src/client/app/admin/views/users.vue +++ /dev/null @@ -1,366 +0,0 @@ - - - - - diff --git a/src/client/app/animation.styl b/src/client/app/animation.styl deleted file mode 100644 index 6c4d5b8b6..000000000 --- a/src/client/app/animation.styl +++ /dev/null @@ -1,47 +0,0 @@ -.zoom-in-top-enter-active, -.zoom-in-top-leave-active { - opacity: 1; - transform: scaleY(1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transform-origin: center top; -} -.zoom-in-top-enter, -.zoom-in-top-leave-active { - opacity: 0; - transform: scaleY(0); -} - -.entranceFromTop { - animation-duration: 0.5s; - animation-name: entranceFromTop; -} - -@keyframes entranceFromTop { - from { - opacity: 0; - transform: translateY(-64px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -@keyframes jump { - 0% { transform: translateY(0); } - 25% { transform: translateY(-16px); } - 50% { transform: translateY(0); } - 75% { transform: translateY(-8px); } - 100% { transform: translateY(0); } -} - -@keyframes blink { - 0% { opacity: 1; } - 30% { opacity: 1; } - 90% { opacity: 0; } -} diff --git a/src/client/app/app.styl b/src/client/app/app.styl deleted file mode 100644 index 6389aa0a8..000000000 --- a/src/client/app/app.styl +++ /dev/null @@ -1,84 +0,0 @@ -@import "../style" -@import "../animation" - -html - &.progress - &, * - cursor progress !important - -html - // iOSのため - overflow auto - -body - overflow-wrap break-word - -#nprogress - pointer-events none - - position absolute - z-index 65536 - - .bar - background var(--primary) - - position fixed - z-index 65537 - top 0 - left 0 - - width 100% - height 2px - - /* Fancy blur effect */ - .peg - display block - position absolute - right 0 - width 100px - height 100% - box-shadow 0 0 10px var(--primary), 0 0 5px var(--primary) - opacity 1 - - transform rotate(3deg) translate(0px, -4px) - -#wait - display block - position fixed - z-index 65537 - top 15px - right 15px - - &:before - content "" - display block - width 18px - height 18px - box-sizing border-box - - border solid 2px transparent - border-top-color var(--primary) - border-left-color var(--primary) - border-radius 50% - - animation progress-spinner 400ms linear infinite - - @keyframes progress-spinner - 0% - transform rotate(0deg) - 100% - transform rotate(360deg) - -code - font-family Consolas, 'Courier New', Courier, Monaco, monospace - -pre - display block - - > code - display block - overflow auto - tab-size 2 - -[data-icon] - display inline-block diff --git a/src/client/app/app.vue b/src/client/app/app.vue deleted file mode 100644 index e639c9f9a..000000000 --- a/src/client/app/app.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/src/client/app/auth/assets/icon.svg b/src/client/app/auth/assets/icon.svg deleted file mode 100644 index 36f5d3e40..000000000 --- a/src/client/app/auth/assets/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/client/app/auth/script.ts b/src/client/app/auth/script.ts deleted file mode 100644 index 91bb24b10..000000000 --- a/src/client/app/auth/script.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Authorize Form - */ - -import VueRouter from 'vue-router'; - -// Style -import './style.styl'; - -import init from '../init'; -import Index from './views/index.vue'; -import NotFound from '../common/views/pages/not-found.vue'; - -/** - * init - */ -init(launch => { - // Init router - const router = new VueRouter({ - mode: 'history', - base: '/auth/', - routes: [ - { path: '/:token', component: Index }, - { path: '*', component: NotFound } - ] - }); - - // Launch the app - launch(router); -}); diff --git a/src/client/app/auth/style.styl b/src/client/app/auth/style.styl deleted file mode 100644 index bd25e1b57..000000000 --- a/src/client/app/auth/style.styl +++ /dev/null @@ -1,15 +0,0 @@ -@import "../app" -@import "../reset" - -html - background #eee - - @media (max-width 600px) - background #fff - -body - margin 0 - padding 32px 0 - - @media (max-width 600px) - padding 0 diff --git a/src/client/app/auth/views/form.vue b/src/client/app/auth/views/form.vue deleted file mode 100644 index 064dbf388..000000000 --- a/src/client/app/auth/views/form.vue +++ /dev/null @@ -1,141 +0,0 @@ - - - - - diff --git a/src/client/app/auth/views/index.vue b/src/client/app/auth/views/index.vue deleted file mode 100644 index ad9b1e4e3..000000000 --- a/src/client/app/auth/views/index.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - - - diff --git a/src/client/app/boot.js b/src/client/app/boot.js deleted file mode 100644 index 64d462988..000000000 --- a/src/client/app/boot.js +++ /dev/null @@ -1,171 +0,0 @@ -/** - * MISSKEY BOOT LOADER - * (ENTRY POINT) - */ - -'use strict'; - -(async function() { - // キャッシュ削除要求があれば従う - if (localStorage.getItem('shouldFlush') == 'true') { - refresh(); - return; - } - - const langs = LANGS; - - //#region Apply theme - const theme = localStorage.getItem('theme'); - if (theme) { - for (const [k, v] of Object.entries(JSON.parse(theme))) { - document.documentElement.style.setProperty(`--${k}`, v.toString()); - } - } - //#endregion - - //#region Load settings - let settings = null; - const vuex = localStorage.getItem('vuex'); - if (vuex) { - settings = JSON.parse(vuex); - } - //#endregion - - // Get the current url information - const url = new URL(location.href); - - //#region Detect app name - let app = null; - - if (`${url.pathname}/`.startsWith('/docs/')) app = 'docs'; - if (`${url.pathname}/`.startsWith('/dev/')) app = 'dev'; - if (`${url.pathname}/`.startsWith('/auth/')) app = 'auth'; - if (`${url.pathname}/`.startsWith('/admin/')) app = 'admin'; - //#endregion - - // Script version - const ver = localStorage.getItem('v') || VERSION; - - //#region Detect the user language - let lang = null; - - if (langs.includes(navigator.language)) { - lang = navigator.language; - } else { - lang = langs.find(x => x.split('-')[0] == navigator.language); - - if (lang == null) { - // Fallback - lang = 'en-US'; - } - } - - if (settings && settings.device.lang && - langs.includes(settings.device.lang)) - { - lang = settings.device.lang; - } - - localStorage.setItem('lang', lang); - //#endregion - - //#region Fetch locale data - const cachedLocale = localStorage.getItem('locale'); - const localeKey = localStorage.getItem('localeKey'); - let localeData = null; - - if (cachedLocale == null || localeKey != `${ver}.${lang}`) { - const locale = await fetch(`/assets/locales/${lang}.json?ver=${ver}`) - .then(response => response.json()); - localeData = locale; - - localStorage.setItem('locale', JSON.stringify(locale)); - localStorage.setItem('localeKey', `${ver}.${lang}`); - } else { - localeData = JSON.parse(cachedLocale); - } - //#endregion - - // Detect the user agent - const ua = navigator.userAgent.toLowerCase(); - let isMobile = /mobile|iphone|ipad|android/.test(ua) || window.innerWidth < 576; - if (settings && settings.device.appTypeForce) { - if (settings.device.appTypeForce === 'mobile') { - isMobile = true; - } else if (settings.device.appTypeForce === 'desktop') { - isMobile = false; - } - } - - // Get the element - const head = document.getElementsByTagName('head')[0]; - - // If mobile, insert the viewport meta tag - if (isMobile) { - const viewport = document.getElementsByName("viewport").item(0); - viewport.content = `${viewport.content},minimum-scale=1,maximum-scale=1,user-scalable=no`; - head.appendChild(viewport); - } - - // Switch desktop or mobile version - if (app == null) { - app = isMobile ? 'mobile' : 'desktop'; - } - - // Load an app script - // Note: 'async' make it possible to load the script asyncly. - // 'defer' make it possible to run the script when the dom loaded. - const script = document.createElement('script'); - script.src = `/assets/${app}.${ver}.js`; - script.async = true; - script.defer = true; - head.appendChild(script); - - // 3秒経ってもスクリプトがロードされない場合はバージョンが古くて - // 404になっているせいかもしれないので、バージョンを確認して古ければ更新する - // - // 読み込まれたスクリプトからこのタイマーを解除できるように、 - // グローバルにタイマーIDを代入しておく - window.mkBootTimer = window.setTimeout(async () => { - // Fetch meta - const res = await fetch('/api/meta', { - method: 'POST', - cache: 'no-cache' - }); - - // Parse - const meta = await res.json(); - - // Compare versions - if (meta.version != ver) { - localStorage.setItem('v', meta.version); - - alert( - localeData.common._settings["update-available"] + - '\n' + - localeData.common._settings["update-available-desc"] - ); - refresh(); - } - }, 3000); - - function refresh() { - localStorage.setItem('shouldFlush', 'false'); - - localStorage.removeItem('locale'); - - // Clear cache (service worker) - try { - navigator.serviceWorker.controller.postMessage('clear'); - - navigator.serviceWorker.getRegistrations().then(registrations => { - for (const registration of registrations) registration.unregister(); - }); - } catch (e) { - console.error(e); - } - - // Force reload - location.reload(true); - } -})(); diff --git a/src/client/app/common/scripts/check-for-update.ts b/src/client/app/common/scripts/check-for-update.ts deleted file mode 100644 index d48791576..000000000 --- a/src/client/app/common/scripts/check-for-update.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { version as current } from '../../config'; - -export default async function($root: any, force = false, silent = false) { - const meta = await $root.getMeta(force); - const newer = meta.version; - - if (newer != current) { - localStorage.setItem('should-refresh', 'true'); - localStorage.setItem('v', newer); - - // Clear cache (service worker) - try { - if (navigator.serviceWorker.controller) { - navigator.serviceWorker.controller.postMessage('clear'); - } - - const registrations = await navigator.serviceWorker.getRegistrations(); - for (const registration of registrations) { - registration.unregister(); - } - } catch (e) { - console.error(e); - } - - /*if (!silent) { - $root.dialog({ - title: $root.$t('@.update-available-title'), - text: $root.$t('@.update-available', { newer, current }) - }); - }*/ - - return newer; - } else { - return null; - } -} diff --git a/src/client/app/common/scripts/format-uptime.ts b/src/client/app/common/scripts/format-uptime.ts deleted file mode 100644 index 6550e4cc3..000000000 --- a/src/client/app/common/scripts/format-uptime.ts +++ /dev/null @@ -1,25 +0,0 @@ - -/** - * Format like the uptime command - */ -export default function(sec) { - if (!sec) return sec; - - const day = Math.floor(sec / 86400); - const tod = sec % 86400; - - // Days part in string: 2 days, 1 day, null - const d = day >= 2 ? `${day} days` : day >= 1 ? `${day} day` : null; - - // Time part in string: 1 sec, 1 min, 1:01 - const t - = tod < 60 ? `${Math.floor(tod)} sec` - : tod < 3600 ? `${Math.floor(tod / 60)} min` - : `${Math.floor(tod / 60 / 60)}:${Math.floor((tod / 60) % 60).toString().padStart(2, '0')}`; - - let str = ''; - if (d) str += `${d}, `; - str += t; - - return str; -} diff --git a/src/client/app/common/scripts/get-face.ts b/src/client/app/common/scripts/get-face.ts deleted file mode 100644 index 19f2bdb06..000000000 --- a/src/client/app/common/scripts/get-face.ts +++ /dev/null @@ -1,11 +0,0 @@ -const faces = [ - '(=^・・^=)', - 'v(\'ω\')v', - '🐡( \'-\' 🐡 )フグパンチ!!!!', - '✌️(´・_・`)✌️', - '(。>﹏<。)', - '(Δ・x・Δ)', - '(コ`・ヘ・´ケ)' -]; - -export default () => faces[Math.floor(Math.random() * faces.length)]; diff --git a/src/client/app/common/scripts/note-mixin.ts b/src/client/app/common/scripts/note-mixin.ts deleted file mode 100644 index 84e134cc3..000000000 --- a/src/client/app/common/scripts/note-mixin.ts +++ /dev/null @@ -1,239 +0,0 @@ -import { parse } from '../../../../mfm/parse'; -import { sum, unique } from '../../../../prelude/array'; -import shouldMuteNote from './should-mute-note'; -import MkNoteMenu from '../views/components/note-menu.vue'; -import MkReactionPicker from '../views/components/reaction-picker.vue'; -import pleaseLogin from './please-login'; -import i18n from '../../i18n'; - -function focus(el, fn) { - const target = fn(el); - if (target) { - if (target.hasAttribute('tabindex')) { - target.focus(); - } else { - focus(target, fn); - } - } -} - -type Opts = { - mobile?: boolean; -}; - -export default (opts: Opts = {}) => ({ - i18n: i18n(), - - data() { - return { - showContent: false, - hideThisNote: false, - openingMenu: false - }; - }, - - computed: { - keymap(): any { - return { - 'r': () => this.reply(true), - 'e|a|plus': () => this.react(true), - 'q': () => this.renote(true), - 'f|b': this.favorite, - 'delete|ctrl+d': this.del, - 'ctrl+q': this.renoteDirectly, - 'up|k|shift+tab': this.focusBefore, - 'down|j|tab': this.focusAfter, - //'esc': this.blur, - 'm|o': () => this.menu(true), - 's': this.toggleShowContent, - '1': () => this.reactDirectly('like'), - '2': () => this.reactDirectly('love'), - '3': () => this.reactDirectly('laugh'), - '4': () => this.reactDirectly('hmm'), - '5': () => this.reactDirectly('surprise'), - '6': () => this.reactDirectly('congrats'), - '7': () => this.reactDirectly('angry'), - '8': () => this.reactDirectly('confused'), - '9': () => this.reactDirectly('rip'), - '0': () => this.reactDirectly('pudding'), - }; - }, - - isRenote(): boolean { - return (this.note.renote && - this.note.text == null && - this.note.fileIds.length == 0 && - this.note.poll == null); - }, - - appearNote(): any { - return this.isRenote ? this.note.renote : this.note; - }, - - isMyNote(): boolean { - return this.$store.getters.isSignedIn && (this.$store.state.i.id === this.appearNote.userId); - }, - - reactionsCount(): number { - return this.appearNote.reactions - ? sum(Object.values(this.appearNote.reactions)) - : 0; - }, - - title(): string { - return ''; - }, - - urls(): string[] { - if (this.appearNote.text) { - const ast = parse(this.appearNote.text); - // TODO: 再帰的にURL要素がないか調べる - const urls = unique(ast - .filter(t => ((t.node.type == 'url' || t.node.type == 'link') && t.node.props.url && !t.node.props.silent)) - .map(t => t.node.props.url)); - - // unique without hash - // [ http://a/#1, http://a/#2, http://b/#3 ] => [ http://a/#1, http://b/#3 ] - const removeHash = x => x.replace(/#[^#]*$/, ''); - - return urls.reduce((array, url) => { - const removed = removeHash(url); - if (!array.map(x => removeHash(x)).includes(removed)) array.push(url); - return array; - }, []); - } else { - return null; - } - } - }, - - created() { - this.hideThisNote = shouldMuteNote(this.$store.state.i, this.$store.state.settings, this.appearNote); - }, - - methods: { - reply(viaKeyboard = false) { - pleaseLogin(this.$root); - this.$root.$post({ - reply: this.appearNote, - animation: !viaKeyboard, - cb: () => { - this.focus(); - } - }); - }, - - renote(viaKeyboard = false) { - pleaseLogin(this.$root); - this.$root.$post({ - renote: this.appearNote, - animation: !viaKeyboard, - cb: () => { - this.focus(); - } - }); - }, - - renoteDirectly() { - (this as any).api('notes/create', { - renoteId: this.appearNote.id - }); - }, - - react(viaKeyboard = false) { - pleaseLogin(this.$root); - this.blur(); - const w = this.$root.new(MkReactionPicker, { - source: this.$refs.reactButton, - showFocus: viaKeyboard, - animation: !viaKeyboard - }); - w.$once('chosen', reaction => { - this.$root.api('notes/reactions/create', { - noteId: this.appearNote.id, - reaction: reaction - }).then(() => { - w.close(); - }); - }); - w.$once('closed', this.focus); - }, - - reactDirectly(reaction) { - this.$root.api('notes/reactions/create', { - noteId: this.appearNote.id, - reaction: reaction - }); - }, - - undoReact(note) { - const oldReaction = note.myReaction; - if (!oldReaction) return; - this.$root.api('notes/reactions/delete', { - noteId: note.id - }); - }, - - favorite() { - pleaseLogin(this.$root); - this.$root.api('notes/favorites/create', { - noteId: this.appearNote.id - }).then(() => { - this.$root.dialog({ - type: 'success', - splash: true - }); - }); - }, - - del() { - this.$root.dialog({ - type: 'warning', - text: this.$t('@.delete-confirm'), - showCancelButton: true - }).then(({ canceled }) => { - if (canceled) return; - - this.$root.api('notes/delete', { - noteId: this.appearNote.id - }); - }); - }, - - menu(viaKeyboard = false) { - if (this.openingMenu) return; - this.openingMenu = true; - const w = this.$root.new(MkNoteMenu, { - source: this.$refs.menuButton, - note: this.appearNote, - animation: !viaKeyboard - }).$once('closed', () => { - this.openingMenu = false; - this.focus(); - }); - this.$once('hook:beforeDestroy', () => { - w.destroyDom(); - }); - }, - - toggleShowContent() { - this.showContent = !this.showContent; - }, - - focus() { - this.$el.focus(); - }, - - blur() { - this.$el.blur(); - }, - - focusBefore() { - focus(this.$el, e => e.previousElementSibling); - }, - - focusAfter() { - focus(this.$el, e => e.nextElementSibling); - } - } -}); diff --git a/src/client/app/common/scripts/note-subscriber.ts b/src/client/app/common/scripts/note-subscriber.ts deleted file mode 100644 index 5b31a9f9d..000000000 --- a/src/client/app/common/scripts/note-subscriber.ts +++ /dev/null @@ -1,149 +0,0 @@ -import Vue from 'vue'; - -export default prop => ({ - data() { - return { - connection: null - }; - }, - - computed: { - $_ns_note_(): any { - return this[prop]; - }, - - $_ns_isRenote(): boolean { - return (this.$_ns_note_.renote != null && - this.$_ns_note_.text == null && - this.$_ns_note_.fileIds.length == 0 && - this.$_ns_note_.poll == null); - }, - - $_ns_target(): any { - return this.$_ns_isRenote ? this.$_ns_note_.renote : this.$_ns_note_; - }, - }, - - created() { - if (this.$store.getters.isSignedIn) { - this.connection = this.$root.stream; - } - }, - - mounted() { - this.capture(true); - - if (this.$store.getters.isSignedIn) { - this.connection.on('_connected_', this.onStreamConnected); - } - }, - - beforeDestroy() { - this.decapture(true); - - if (this.$store.getters.isSignedIn) { - this.connection.off('_connected_', this.onStreamConnected); - } - }, - - methods: { - capture(withHandler = false) { - if (this.$store.getters.isSignedIn) { - const data = { - id: this.$_ns_target.id - } as any; - - if ( - (this.$_ns_target.visibleUserIds || []).includes(this.$store.state.i.id) || - (this.$_ns_target.mentions || []).includes(this.$store.state.i.id) - ) { - data.read = true; - } - - this.connection.send('sn', data); - if (withHandler) this.connection.on('noteUpdated', this.onStreamNoteUpdated); - } - }, - - decapture(withHandler = false) { - if (this.$store.getters.isSignedIn) { - this.connection.send('un', { - id: this.$_ns_target.id - }); - if (withHandler) this.connection.off('noteUpdated', this.onStreamNoteUpdated); - } - }, - - onStreamConnected() { - this.capture(); - }, - - onStreamNoteUpdated(data) { - const { type, id, body } = data; - - if (id !== this.$_ns_target.id) return; - - switch (type) { - case 'reacted': { - const reaction = body.reaction; - - if (this.$_ns_target.reactions == null) { - Vue.set(this.$_ns_target, 'reactions', {}); - } - - if (this.$_ns_target.reactions[reaction] == null) { - Vue.set(this.$_ns_target.reactions, reaction, 0); - } - - // Increment the count - this.$_ns_target.reactions[reaction]++; - - if (body.userId == this.$store.state.i.id) { - Vue.set(this.$_ns_target, 'myReaction', reaction); - } - break; - } - - case 'unreacted': { - const reaction = body.reaction; - - if (this.$_ns_target.reactions == null) { - return; - } - - if (this.$_ns_target.reactions[reaction] == null) { - return; - } - - // Decrement the count - if (this.$_ns_target.reactions[reaction] > 0) this.$_ns_target.reactions[reaction]--; - - if (body.userId == this.$store.state.i.id) { - Vue.set(this.$_ns_target, 'myReaction', null); - } - break; - } - - case 'pollVoted': { - const choice = body.choice; - this.$_ns_target.poll.choices[choice].votes++; - if (body.userId == this.$store.state.i.id) { - Vue.set(this.$_ns_target.poll.choices[choice], 'isVoted', true); - } - break; - } - - case 'deleted': { - Vue.set(this.$_ns_target, 'deletedAt', body.deletedAt); - Vue.set(this.$_ns_target, 'renote', null); - this.$_ns_target.text = null; - this.$_ns_target.fileIds = []; - this.$_ns_target.poll = null; - this.$_ns_target.geo = null; - this.$_ns_target.cw = null; - break; - } - } - }, - } -}); diff --git a/src/client/app/common/scripts/room/furniture.ts b/src/client/app/common/scripts/room/furniture.ts deleted file mode 100644 index 7734e3266..000000000 --- a/src/client/app/common/scripts/room/furniture.ts +++ /dev/null @@ -1,21 +0,0 @@ -export type RoomInfo = { - roomType: string; - carpetColor: string; - furnitures: Furniture[]; -}; - -export type Furniture = { - id: string; // 同じ家具が複数ある場合にそれぞれを識別するためのIDであり、家具IDではない - type: string; // こっちが家具ID(chairとか) - position: { - x: number; - y: number; - z: number; - }; - rotation: { - x: number; - y: number; - z: number; - }; - props?: Record; -}; diff --git a/src/client/app/common/scripts/room/furnitures.json5 b/src/client/app/common/scripts/room/furnitures.json5 deleted file mode 100644 index 7c1a90a3f..000000000 --- a/src/client/app/common/scripts/room/furnitures.json5 +++ /dev/null @@ -1,397 +0,0 @@ -// 家具メタデータ - -// 家具にはユーザーが設定できるプロパティを設定可能です: -// -// props: { -// : -// } -// -// proptype一覧: -// * image ... 画像選択ダイアログを出し、その画像のURLが格納されます -// * color ... 色選択コントロールを出し、選択された色が格納されます - -// 家具にカスタムテクスチャを適用できるようにするには、textureプロパティに以下の追加の情報を含めます: -// 便宜上そのUVのどの部分にカスタムテクスチャを貼り合わせるかのエリアをテクスチャエリアと呼びます。 -// UVは1024*1024だと仮定します。 -// -// : { -// prop: <プロパティ名>, -// uv: { -// x: <テクスチャエリアX座標>, -// y: <テクスチャエリアY座標>, -// width: <テクスチャエリアの幅>, -// height: <テクスチャエリアの高さ>, -// }, -// } -// -// には、カスタムテクスチャを適用したいメッシュ名を指定します -// <プロパティ名>には、カスタムテクスチャとして使用する画像を格納するプロパティ(前述)名を指定します - -// 家具にカスタムカラーを適用できるようにするには、colorプロパティに以下の追加の情報を含めます: -// -// : <プロパティ名> -// -// には、カスタムカラーを適用したいマテリアル名を指定します -// <プロパティ名>には、カスタムカラーとして使用する色を格納するプロパティ(前述)名を指定します - -[ - { - id: "milk", - place: "floor" - }, - { - id: "bed", - place: "floor" - }, - { - id: "low-table", - place: "floor", - props: { - color: 'color' - }, - color: { - Table: 'color' - } - }, - { - id: "desk", - place: "floor", - props: { - color: 'color' - }, - color: { - Board: 'color' - } - }, - { - id: "chair", - place: "floor", - props: { - color: 'color' - }, - color: { - Chair: 'color' - } - }, - { - id: "chair2", - place: "floor", - props: { - color1: 'color', - color2: 'color' - }, - color: { - Cushion: 'color1', - Leg: 'color2' - } - }, - { - id: "fan", - place: "wall" - }, - { - id: "pc", - place: "floor" - }, - { - id: "plant", - place: "floor" - }, - { - id: "plant2", - place: "floor" - }, - { - id: "eraser", - place: "floor" - }, - { - id: "pencil", - place: "floor" - }, - { - id: "pudding", - place: "floor" - }, - { - id: "cardboard-box", - place: "floor" - }, - { - id: "cardboard-box2", - place: "floor" - }, - { - id: "cardboard-box3", - place: "floor" - }, - { - id: "book", - place: "floor", - props: { - color: 'color' - }, - color: { - Cover: 'color' - } - }, - { - id: "book2", - place: "floor" - }, - { - id: "piano", - place: "floor" - }, - { - id: "facial-tissue", - place: "floor" - }, - { - id: "server", - place: "floor" - }, - { - id: "moon", - place: "floor" - }, - { - id: "corkboard", - place: "wall" - }, - { - id: "mousepad", - place: "floor", - props: { - color: 'color' - }, - color: { - Pad: 'color' - } - }, - { - id: "monitor", - place: "floor", - props: { - screen: 'image' - }, - texture: { - Screen: { - prop: 'screen', - uv: { - x: 0, - y: 434, - width: 1024, - height: 588, - }, - }, - }, - }, - { - id: "tv", - place: "floor", - props: { - screen: 'image' - }, - texture: { - Screen: { - prop: 'screen', - uv: { - x: 0, - y: 434, - width: 1024, - height: 588, - }, - }, - }, - }, - { - id: "keyboard", - place: "floor" - }, - { - id: "carpet-stripe", - place: "floor", - props: { - color1: 'color', - color2: 'color' - }, - color: { - CarpetAreaA: 'color1', - CarpetAreaB: 'color2' - }, - }, - { - id: "mat", - place: "floor", - props: { - color: 'color' - }, - color: { - Mat: 'color' - } - }, - { - id: "color-box", - place: "floor", - props: { - color: 'color' - }, - color: { - main: 'color' - } - }, - { - id: "wall-clock", - place: "wall" - }, - { - id: "cube", - place: "floor", - props: { - color: 'color' - }, - color: { - Cube: 'color' - } - }, - { - id: "photoframe", - place: "wall", - props: { - photo: 'image', - color: 'color' - }, - texture: { - Photo: { - prop: 'photo', - uv: { - x: 0, - y: 342, - width: 1024, - height: 683, - }, - }, - }, - color: { - Frame: 'color' - } - }, - { - id: "pinguin", - place: "floor", - props: { - body: 'color', - belly: 'color' - }, - color: { - Body: 'body', - Belly: 'belly', - } - }, - { - id: "rubik-cube", - place: "floor", - }, - { - id: "poster-h", - place: "wall", - props: { - picture: 'image' - }, - texture: { - Poster: { - prop: 'picture', - uv: { - x: 0, - y: 277, - width: 1024, - height: 745, - }, - }, - }, - }, - { - id: "poster-v", - place: "wall", - props: { - picture: 'image' - }, - texture: { - Poster: { - prop: 'picture', - uv: { - x: 0, - y: 0, - width: 745, - height: 1024, - }, - }, - }, - }, - { - id: "sofa", - place: "floor", - props: { - color: 'color' - }, - color: { - Sofa: 'color' - } - }, - { - id: "spiral", - place: "floor", - props: { - color: 'color' - }, - color: { - Step: 'color' - } - }, - { - id: "bin", - place: "floor", - props: { - color: 'color' - }, - color: { - Bin: 'color' - } - }, - { - id: "cup-noodle", - place: "floor" - }, - { - id: "holo-display", - place: "floor", - props: { - image: 'image' - }, - texture: { - Image_Front: { - prop: 'image', - uv: { - x: 0, - y: 0, - width: 1024, - height: 1024, - }, - }, - Image_Back: { - prop: 'image', - uv: { - x: 0, - y: 0, - width: 1024, - height: 1024, - }, - }, - }, - }, - { - id: 'energy-drink', - place: "floor", - } -] diff --git a/src/client/app/common/scripts/room/room.ts b/src/client/app/common/scripts/room/room.ts deleted file mode 100644 index c2a989c78..000000000 --- a/src/client/app/common/scripts/room/room.ts +++ /dev/null @@ -1,776 +0,0 @@ -import autobind from 'autobind-decorator'; -import { v4 as uuid } from 'uuid'; -import * as THREE from 'three'; -import { GLTFLoader, GLTF } from 'three/examples/jsm/loaders/GLTFLoader'; -import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js'; -import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js'; -import { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass.js'; -import { ShaderPass } from 'three/examples/jsm/postprocessing/ShaderPass.js'; -import { BloomPass } from 'three/examples/jsm/postprocessing/BloomPass.js'; -import { FXAAShader } from 'three/examples/jsm/shaders/FXAAShader.js'; -import { TransformControls } from 'three/examples/jsm/controls/TransformControls.js'; -import { Furniture, RoomInfo } from './furniture'; -import { query as urlQuery } from '../../../../../prelude/url'; -const furnitureDefs = require('./furnitures.json5'); - -THREE.ImageUtils.crossOrigin = ''; - -type Options = { - graphicsQuality: Room['graphicsQuality']; - onChangeSelect: Room['onChangeSelect']; - useOrthographicCamera: boolean; -}; - -/** - * MisskeyRoom Core Engine - */ -export class Room { - private clock: THREE.Clock; - private scene: THREE.Scene; - private renderer: THREE.WebGLRenderer; - private camera: THREE.PerspectiveCamera | THREE.OrthographicCamera; - private controls: OrbitControls; - private composer: EffectComposer; - private mixers: THREE.AnimationMixer[] = []; - private furnitureControl: TransformControls; - private roomInfo: RoomInfo; - private graphicsQuality: 'cheep' | 'low' | 'medium' | 'high' | 'ultra'; - private roomObj: THREE.Object3D; - private objects: THREE.Object3D[] = []; - private selectedObject: THREE.Object3D = null; - private onChangeSelect: Function; - private isTransformMode = false; - private renderFrameRequestId: number; - - private get canvas(): HTMLCanvasElement { - return this.renderer.domElement; - } - - private get furnitures(): Furniture[] { - return this.roomInfo.furnitures; - } - - private set furnitures(furnitures: Furniture[]) { - this.roomInfo.furnitures = furnitures; - } - - private get enableShadow() { - return this.graphicsQuality != 'cheep'; - } - - private get usePostFXs() { - return this.graphicsQuality !== 'cheep' && this.graphicsQuality !== 'low'; - } - - private get shadowQuality() { - return ( - this.graphicsQuality === 'ultra' ? 16384 : - this.graphicsQuality === 'high' ? 8192 : - this.graphicsQuality === 'medium' ? 4096 : - this.graphicsQuality === 'low' ? 1024 : - 0); // cheep - } - - constructor(user, isMyRoom, roomInfo: RoomInfo, container, options: Options) { - this.roomInfo = roomInfo; - this.graphicsQuality = options.graphicsQuality; - this.onChangeSelect = options.onChangeSelect; - - this.clock = new THREE.Clock(true); - - //#region Init a scene - this.scene = new THREE.Scene(); - - const width = window.innerWidth; - const height = window.innerHeight; - - //#region Init a renderer - this.renderer = new THREE.WebGLRenderer({ - antialias: false, - stencil: false, - alpha: false, - powerPreference: - this.graphicsQuality === 'ultra' ? 'high-performance' : - this.graphicsQuality === 'high' ? 'high-performance' : - this.graphicsQuality === 'medium' ? 'default' : - this.graphicsQuality === 'low' ? 'low-power' : - 'low-power' // cheep - }); - - this.renderer.setPixelRatio(window.devicePixelRatio); - this.renderer.setSize(width, height); - this.renderer.autoClear = false; - this.renderer.setClearColor(new THREE.Color(0x051f2d)); - this.renderer.shadowMap.enabled = this.enableShadow; - this.renderer.shadowMap.type = - this.graphicsQuality === 'ultra' ? THREE.PCFSoftShadowMap : - this.graphicsQuality === 'high' ? THREE.PCFSoftShadowMap : - this.graphicsQuality === 'medium' ? THREE.PCFShadowMap : - this.graphicsQuality === 'low' ? THREE.BasicShadowMap : - THREE.BasicShadowMap; // cheep - - container.appendChild(this.canvas); - //#endregion - - //#region Init a camera - this.camera = options.useOrthographicCamera - ? new THREE.OrthographicCamera( - width / - 2, width / 2, height / 2, height / - 2, -10, 10) - : new THREE.PerspectiveCamera(45, width / height); - - if (options.useOrthographicCamera) { - this.camera.position.x = 2; - this.camera.position.y = 2; - this.camera.position.z = 2; - this.camera.zoom = 100; - this.camera.updateProjectionMatrix(); - } else { - this.camera.position.x = 5; - this.camera.position.y = 2; - this.camera.position.z = 5; - } - - this.scene.add(this.camera); - //#endregion - - //#region AmbientLight - const ambientLight = new THREE.AmbientLight(0xffffff, 1); - this.scene.add(ambientLight); - //#endregion - - if (this.graphicsQuality !== 'cheep') { - //#region Room light - const roomLight = new THREE.SpotLight(0xffffff, 0.1); - - roomLight.position.set(0, 8, 0); - roomLight.castShadow = this.enableShadow; - roomLight.shadow.bias = -0.0001; - roomLight.shadow.mapSize.width = this.shadowQuality; - roomLight.shadow.mapSize.height = this.shadowQuality; - roomLight.shadow.camera.near = 0.1; - roomLight.shadow.camera.far = 9; - roomLight.shadow.camera.fov = 45; - - this.scene.add(roomLight); - //#endregion - } - - //#region Out light - const outLight1 = new THREE.SpotLight(0xffffff, 0.4); - outLight1.position.set(9, 3, -2); - outLight1.castShadow = this.enableShadow; - outLight1.shadow.bias = -0.001; // アクネ、アーチファクト対策 その代わりピーターパンが発生する可能性がある - outLight1.shadow.mapSize.width = this.shadowQuality; - outLight1.shadow.mapSize.height = this.shadowQuality; - outLight1.shadow.camera.near = 6; - outLight1.shadow.camera.far = 15; - outLight1.shadow.camera.fov = 45; - this.scene.add(outLight1); - - const outLight2 = new THREE.SpotLight(0xffffff, 0.2); - outLight2.position.set(-2, 3, 9); - outLight2.castShadow = false; - outLight2.shadow.bias = -0.001; // アクネ、アーチファクト対策 その代わりピーターパンが発生する可能性がある - outLight2.shadow.camera.near = 6; - outLight2.shadow.camera.far = 15; - outLight2.shadow.camera.fov = 45; - this.scene.add(outLight2); - //#endregion - - //#region Init a controller - this.controls = new OrbitControls(this.camera, this.canvas); - - this.controls.target.set(0, 1, 0); - this.controls.enableZoom = true; - this.controls.enablePan = isMyRoom; - this.controls.minPolarAngle = 0; - this.controls.maxPolarAngle = Math.PI / 2; - this.controls.minAzimuthAngle = 0; - this.controls.maxAzimuthAngle = Math.PI / 2; - this.controls.enableDamping = true; - this.controls.dampingFactor = 0.2; - this.controls.mouseButtons.LEFT = 1; - this.controls.mouseButtons.MIDDLE = 2; - this.controls.mouseButtons.RIGHT = 0; - //#endregion - - //#region POST FXs - if (!this.usePostFXs) { - this.composer = null; - } else { - const renderTarget = new THREE.WebGLRenderTarget(width, height, { - minFilter: THREE.LinearFilter, - magFilter: THREE.LinearFilter, - format: THREE.RGBFormat, - stencilBuffer: false, - }); - - const fxaa = new ShaderPass(FXAAShader); - fxaa.uniforms['resolution'].value = new THREE.Vector2(1 / width, 1 / height); - fxaa.renderToScreen = true; - - this.composer = new EffectComposer(this.renderer, renderTarget); - this.composer.addPass(new RenderPass(this.scene, this.camera)); - if (this.graphicsQuality === 'ultra') { - this.composer.addPass(new BloomPass(0.25, 30, 128.0, 512)); - } - this.composer.addPass(fxaa); - } - //#endregion - //#endregion - - //#region Label - //#region Avatar - const avatarUrl = `/proxy/?${urlQuery({ url: user.avatarUrl })}`; - - const textureLoader = new THREE.TextureLoader(); - textureLoader.crossOrigin = 'anonymous'; - - const iconTexture = textureLoader.load(avatarUrl); - iconTexture.wrapS = THREE.RepeatWrapping; - iconTexture.wrapT = THREE.RepeatWrapping; - iconTexture.anisotropy = 16; - - const avatarMaterial = new THREE.MeshBasicMaterial({ - map: iconTexture, - side: THREE.DoubleSide, - alphaTest: 0.5 - }); - - const iconGeometry = new THREE.PlaneGeometry(1, 1); - - const avatarObject = new THREE.Mesh(iconGeometry, avatarMaterial); - avatarObject.position.set(-3, 2.5, 2); - avatarObject.rotation.y = Math.PI / 2; - avatarObject.castShadow = false; - - this.scene.add(avatarObject); - //#endregion - - //#region Username - const name = user.username; - - new THREE.FontLoader().load('/assets/fonts/helvetiker_regular.typeface.json', font => { - const nameGeometry = new THREE.TextGeometry(name, { - size: 0.5, - height: 0, - curveSegments: 8, - font: font, - bevelThickness: 0, - bevelSize: 0, - bevelEnabled: false - }); - - const nameMaterial = new THREE.MeshLambertMaterial({ - color: 0xffffff - }); - - const nameObject = new THREE.Mesh(nameGeometry, nameMaterial); - nameObject.position.set(-3, 2.25, 1.25); - nameObject.rotation.y = Math.PI / 2; - nameObject.castShadow = false; - - this.scene.add(nameObject); - }); - //#endregion - //#endregion - - //#region Interaction - if (isMyRoom) { - this.furnitureControl = new TransformControls(this.camera, this.canvas); - this.scene.add(this.furnitureControl); - - // Hover highlight - this.canvas.onmousemove = this.onmousemove; - - // Click - this.canvas.onmousedown = this.onmousedown; - } - //#endregion - - //#region Init room - this.loadRoom(); - //#endregion - - //#region Load furnitures - for (const furniture of this.furnitures) { - this.loadFurniture(furniture).then(obj => { - this.scene.add(obj.scene); - this.objects.push(obj.scene); - }); - } - //#endregion - - // Start render - if (this.usePostFXs) { - this.renderWithPostFXs(); - } else { - this.renderWithoutPostFXs(); - } - } - - @autobind - private renderWithoutPostFXs() { - this.renderFrameRequestId = - window.requestAnimationFrame(this.renderWithoutPostFXs); - - // Update animations - const clock = this.clock.getDelta(); - for (const mixer of this.mixers) { - mixer.update(clock); - } - - this.controls.update(); - this.renderer.render(this.scene, this.camera); - } - - @autobind - private renderWithPostFXs() { - this.renderFrameRequestId = - window.requestAnimationFrame(this.renderWithPostFXs); - - // Update animations - const clock = this.clock.getDelta(); - for (const mixer of this.mixers) { - mixer.update(clock); - } - - this.controls.update(); - this.renderer.clear(); - this.composer.render(); - } - - @autobind - private loadRoom() { - const type = this.roomInfo.roomType; - new GLTFLoader().load(`/assets/room/rooms/${type}/${type}.glb`, gltf => { - gltf.scene.traverse(child => { - if (!(child instanceof THREE.Mesh)) return; - - child.receiveShadow = this.enableShadow; - - child.material = new THREE.MeshLambertMaterial({ - color: (child.material as THREE.MeshStandardMaterial).color, - map: (child.material as THREE.MeshStandardMaterial).map, - name: (child.material as THREE.MeshStandardMaterial).name, - }); - - // 異方性フィルタリング - if ((child.material as THREE.MeshLambertMaterial).map && this.graphicsQuality !== 'cheep') { - (child.material as THREE.MeshLambertMaterial).map.minFilter = THREE.LinearMipMapLinearFilter; - (child.material as THREE.MeshLambertMaterial).map.magFilter = THREE.LinearMipMapLinearFilter; - (child.material as THREE.MeshLambertMaterial).map.anisotropy = 8; - } - }); - - gltf.scene.position.set(0, 0, 0); - - this.scene.add(gltf.scene); - this.roomObj = gltf.scene; - if (this.roomInfo.roomType === 'default') { - this.applyCarpetColor(); - } - }); - } - - @autobind - private loadFurniture(furniture: Furniture) { - const def = furnitureDefs.find(d => d.id === furniture.type); - return new Promise((res, rej) => { - const loader = new GLTFLoader(); - loader.load(`/assets/room/furnitures/${furniture.type}/${furniture.type}.glb`, gltf => { - const model = gltf.scene; - - // Load animation - if (gltf.animations.length > 0) { - const mixer = new THREE.AnimationMixer(model); - this.mixers.push(mixer); - for (const clip of gltf.animations) { - mixer.clipAction(clip).play(); - } - } - - model.name = furniture.id; - model.position.x = furniture.position.x; - model.position.y = furniture.position.y; - model.position.z = furniture.position.z; - model.rotation.x = furniture.rotation.x; - model.rotation.y = furniture.rotation.y; - model.rotation.z = furniture.rotation.z; - - model.traverse(child => { - if (!(child instanceof THREE.Mesh)) return; - child.castShadow = this.enableShadow; - child.receiveShadow = this.enableShadow; - (child.material as THREE.MeshStandardMaterial).metalness = 0; - - // 異方性フィルタリング - if ((child.material as THREE.MeshStandardMaterial).map && this.graphicsQuality !== 'cheep') { - (child.material as THREE.MeshStandardMaterial).map.minFilter = THREE.LinearMipMapLinearFilter; - (child.material as THREE.MeshStandardMaterial).map.magFilter = THREE.LinearMipMapLinearFilter; - (child.material as THREE.MeshStandardMaterial).map.anisotropy = 8; - } - }); - - if (def.color) { // カスタムカラー - this.applyCustomColor(model); - } - - if (def.texture) { // カスタムテクスチャ - this.applyCustomTexture(model); - } - - res(gltf); - }, null, rej); - }); - } - - @autobind - private applyCarpetColor() { - this.roomObj.traverse(child => { - if (!(child instanceof THREE.Mesh)) return; - if (child.material && - (child.material as THREE.MeshStandardMaterial).name && - (child.material as THREE.MeshStandardMaterial).name === 'Carpet' - ) { - const colorHex = parseInt(this.roomInfo.carpetColor.substr(1), 16); - (child.material as THREE.MeshStandardMaterial).color.setHex(colorHex); - } - }); - } - - @autobind - private applyCustomColor(model: THREE.Object3D) { - const furniture = this.furnitures.find(furniture => furniture.id === model.name); - const def = furnitureDefs.find(d => d.id === furniture.type); - if (def.color == null) return; - model.traverse(child => { - if (!(child instanceof THREE.Mesh)) return; - for (const t of Object.keys(def.color)) { - if (!child.material || - !(child.material as THREE.MeshStandardMaterial).name || - (child.material as THREE.MeshStandardMaterial).name !== t - ) continue; - - const prop = def.color[t]; - const val = furniture.props ? furniture.props[prop] : undefined; - - if (val == null) continue; - - const colorHex = parseInt(val.substr(1), 16); - (child.material as THREE.MeshStandardMaterial).color.setHex(colorHex); - } - }); - } - - @autobind - private applyCustomTexture(model: THREE.Object3D) { - const furniture = this.furnitures.find(furniture => furniture.id === model.name); - const def = furnitureDefs.find(d => d.id === furniture.type); - if (def.texture == null) return; - - model.traverse(child => { - if (!(child instanceof THREE.Mesh)) return; - for (const t of Object.keys(def.texture)) { - if (child.name !== t) continue; - - const prop = def.texture[t].prop; - const val = furniture.props ? furniture.props[prop] : undefined; - - if (val == null) continue; - - const canvas = document.createElement('canvas'); - canvas.height = 1024; - canvas.width = 1024; - - child.material = new THREE.MeshLambertMaterial({ - emissive: 0x111111, - side: THREE.DoubleSide, - alphaTest: 0.5, - }); - - const img = new Image(); - img.crossOrigin = 'anonymous'; - img.onload = () => { - const uvInfo = def.texture[t].uv; - - const ctx = canvas.getContext('2d'); - ctx.drawImage(img, - 0, 0, img.width, img.height, - uvInfo.x, uvInfo.y, uvInfo.width, uvInfo.height); - - const texture = new THREE.Texture(canvas); - texture.wrapS = THREE.RepeatWrapping; - texture.wrapT = THREE.RepeatWrapping; - texture.anisotropy = 16; - texture.flipY = false; - - (child.material as THREE.MeshLambertMaterial).map = texture; - (child.material as THREE.MeshLambertMaterial).needsUpdate = true; - (child.material as THREE.MeshLambertMaterial).map.needsUpdate = true; - }; - img.src = val; - } - }); - } - - @autobind - private onmousemove(ev: MouseEvent) { - if (this.isTransformMode) return; - - const rect = (ev.target as HTMLElement).getBoundingClientRect(); - const x = (((ev.clientX * window.devicePixelRatio) - rect.left) / this.canvas.width) * 2 - 1; - const y = -(((ev.clientY * window.devicePixelRatio) - rect.top) / this.canvas.height) * 2 + 1; - const pos = new THREE.Vector2(x, y); - - this.camera.updateMatrixWorld(); - - const raycaster = new THREE.Raycaster(); - raycaster.setFromCamera(pos, this.camera); - - const intersects = raycaster.intersectObjects(this.objects, true); - - for (const object of this.objects) { - if (this.isSelectedObject(object)) continue; - object.traverse(child => { - if (child instanceof THREE.Mesh) { - (child.material as THREE.MeshStandardMaterial).emissive.setHex(0x000000); - } - }); - } - - if (intersects.length > 0) { - const intersected = this.getRoot(intersects[0].object); - if (this.isSelectedObject(intersected)) return; - intersected.traverse(child => { - if (child instanceof THREE.Mesh) { - (child.material as THREE.MeshStandardMaterial).emissive.setHex(0x191919); - } - }); - } - } - - @autobind - private onmousedown(ev: MouseEvent) { - if (this.isTransformMode) return; - if (ev.target !== this.canvas || ev.button !== 0) return; - - const rect = (ev.target as HTMLElement).getBoundingClientRect(); - const x = (((ev.clientX * window.devicePixelRatio) - rect.left) / this.canvas.width) * 2 - 1; - const y = -(((ev.clientY * window.devicePixelRatio) - rect.top) / this.canvas.height) * 2 + 1; - const pos = new THREE.Vector2(x, y); - - this.camera.updateMatrixWorld(); - - const raycaster = new THREE.Raycaster(); - raycaster.setFromCamera(pos, this.camera); - - const intersects = raycaster.intersectObjects(this.objects, true); - - for (const object of this.objects) { - object.traverse(child => { - if (child instanceof THREE.Mesh) { - (child.material as THREE.MeshStandardMaterial).emissive.setHex(0x000000); - } - }); - } - - if (intersects.length > 0) { - const selectedObj = this.getRoot(intersects[0].object); - this.selectFurniture(selectedObj); - } else { - this.selectedObject = null; - this.onChangeSelect(null); - } - } - - @autobind - private getRoot(obj: THREE.Object3D): THREE.Object3D { - let found = false; - let x = obj.parent; - while (!found) { - if (x.parent.parent == null) { - found = true; - } else { - x = x.parent; - } - } - return x; - } - - @autobind - private isSelectedObject(obj: THREE.Object3D): boolean { - if (this.selectedObject == null) { - return false; - } else { - return obj.name === this.selectedObject.name; - } - } - - @autobind - private selectFurniture(obj: THREE.Object3D) { - this.selectedObject = obj; - this.onChangeSelect(obj); - obj.traverse(child => { - if (child instanceof THREE.Mesh) { - (child.material as THREE.MeshStandardMaterial).emissive.setHex(0xff0000); - } - }); - } - - /** - * 家具の移動/回転モードにします - * @param type 移動か回転か - */ - @autobind - public enterTransformMode(type: 'translate' | 'rotate') { - this.isTransformMode = true; - this.furnitureControl.setMode(type); - this.furnitureControl.attach(this.selectedObject); - } - - /** - * 家具の移動/回転モードを終了します - */ - @autobind - public exitTransformMode() { - this.isTransformMode = false; - this.furnitureControl.detach(); - } - - /** - * 家具プロパティを更新します - * @param key プロパティ名 - * @param value 値 - */ - @autobind - public updateProp(key: string, value: any) { - const furniture = this.furnitures.find(furniture => furniture.id === this.selectedObject.name); - if (furniture.props == null) furniture.props = {}; - furniture.props[key] = value; - this.applyCustomColor(this.selectedObject); - this.applyCustomTexture(this.selectedObject); - } - - /** - * 部屋に家具を追加します - * @param type 家具の種類 - */ - @autobind - public addFurniture(type: string) { - const furniture = { - id: uuid(), - type: type, - position: { - x: 0, - y: 0, - z: 0, - }, - rotation: { - x: 0, - y: 0, - z: 0, - }, - }; - - this.furnitures.push(furniture); - - this.loadFurniture(furniture).then(obj => { - this.scene.add(obj.scene); - this.objects.push(obj.scene); - }); - } - - /** - * 現在選択されている家具を部屋から削除します - */ - @autobind - public removeFurniture() { - this.exitTransformMode(); - const obj = this.selectedObject; - this.scene.remove(obj); - this.objects = this.objects.filter(object => object.name !== obj.name); - this.furnitures = this.furnitures.filter(furniture => furniture.id !== obj.name); - this.selectedObject = null; - this.onChangeSelect(null); - } - - /** - * 全ての家具を部屋から削除します - */ - @autobind - public removeAllFurnitures() { - this.exitTransformMode(); - for (const obj of this.objects) { - this.scene.remove(obj); - } - this.objects = []; - this.furnitures = []; - this.selectedObject = null; - this.onChangeSelect(null); - } - - /** - * 部屋の床の色を変更します - * @param color 色 - */ - @autobind - public updateCarpetColor(color: string) { - this.roomInfo.carpetColor = color; - this.applyCarpetColor(); - } - - /** - * 部屋の種類を変更します - * @param type 種類 - */ - @autobind - public changeRoomType(type: string) { - this.roomInfo.roomType = type; - this.scene.remove(this.roomObj); - this.loadRoom(); - } - - /** - * 部屋データを取得します - */ - @autobind - public getRoomInfo() { - for (const obj of this.objects) { - const furniture = this.furnitures.find(f => f.id === obj.name); - furniture.position.x = obj.position.x; - furniture.position.y = obj.position.y; - furniture.position.z = obj.position.z; - furniture.rotation.x = obj.rotation.x; - furniture.rotation.y = obj.rotation.y; - furniture.rotation.z = obj.rotation.z; - } - - return this.roomInfo; - } - - /** - * 選択されている家具を取得します - */ - @autobind - public getSelectedObject() { - return this.selectedObject; - } - - @autobind - public findFurnitureById(id: string) { - return this.furnitures.find(furniture => furniture.id === id); - } - - /** - * レンダリングを終了します - */ - @autobind - public destroy() { - // Stop render loop - window.cancelAnimationFrame(this.renderFrameRequestId); - - this.controls.dispose(); - this.scene.dispose(); - } -} diff --git a/src/client/app/common/scripts/should-mute-note.ts b/src/client/app/common/scripts/should-mute-note.ts deleted file mode 100644 index 8fd788862..000000000 --- a/src/client/app/common/scripts/should-mute-note.ts +++ /dev/null @@ -1,19 +0,0 @@ -export default function(me, settings, note) { - const isMyNote = me && (note.userId == me.id); - const isPureRenote = note.renoteId != null && note.text == null && note.fileIds.length == 0 && note.poll == null; - - const includesMutedWords = (text: string) => - text - ? settings.mutedWords.some(q => q.length > 0 && !q.some(word => - word.startsWith('/') && word.endsWith('/') ? !(new RegExp(word.substr(1, word.length - 2)).test(text)) : !text.includes(word))) - : false; - - return ( - (!isMyNote && note.reply && includesMutedWords(note.reply.text)) || - (!isMyNote && note.renote && includesMutedWords(note.renote.text)) || - (!settings.showMyRenotes && isMyNote && isPureRenote) || - (!settings.showRenotedMyNotes && isPureRenote && note.renote.userId == me.id) || - (!settings.showLocalRenotes && isPureRenote && note.renote.user.host == null) || - (!isMyNote && includesMutedWords(note.text)) - ); -} diff --git a/src/client/app/common/size.ts b/src/client/app/common/size.ts deleted file mode 100644 index 6abb30574..000000000 --- a/src/client/app/common/size.ts +++ /dev/null @@ -1,18 +0,0 @@ -export default { - install(Vue) { - Vue.directive('size', { - inserted(el, binding) { - const query = binding.value; - const width = el.clientWidth; - for (const q of query) { - if (q.lt && (width <= q.lt)) { - el.classList.add(q.class); - } - if (q.gt && (width >= q.gt)) { - el.classList.add(q.class); - } - } - } - }); - } -}; diff --git a/src/client/app/common/views/components/acct.vue b/src/client/app/common/views/components/acct.vue deleted file mode 100644 index e80200083..000000000 --- a/src/client/app/common/views/components/acct.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/analog-clock.vue b/src/client/app/common/views/components/analog-clock.vue deleted file mode 100644 index 5eb7ffd15..000000000 --- a/src/client/app/common/views/components/analog-clock.vue +++ /dev/null @@ -1,140 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/avatar.vue b/src/client/app/common/views/components/avatar.vue deleted file mode 100644 index cd02c6957..000000000 --- a/src/client/app/common/views/components/avatar.vue +++ /dev/null @@ -1,116 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/connect-failed.troubleshooter.vue b/src/client/app/common/views/components/connect-failed.troubleshooter.vue deleted file mode 100644 index 19b8c3e97..000000000 --- a/src/client/app/common/views/components/connect-failed.troubleshooter.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/connect-failed.vue b/src/client/app/common/views/components/connect-failed.vue deleted file mode 100644 index a364304a6..000000000 --- a/src/client/app/common/views/components/connect-failed.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - diff --git a/src/client/app/common/views/components/cw-button.vue b/src/client/app/common/views/components/cw-button.vue deleted file mode 100644 index 098aa021d..000000000 --- a/src/client/app/common/views/components/cw-button.vue +++ /dev/null @@ -1,70 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/dialog.vue b/src/client/app/common/views/components/dialog.vue deleted file mode 100644 index 274490300..000000000 --- a/src/client/app/common/views/components/dialog.vue +++ /dev/null @@ -1,263 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/dummy.vue b/src/client/app/common/views/components/dummy.vue deleted file mode 100644 index 5634efc50..000000000 --- a/src/client/app/common/views/components/dummy.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/ellipsis.vue b/src/client/app/common/views/components/ellipsis.vue deleted file mode 100644 index 07349902d..000000000 --- a/src/client/app/common/views/components/ellipsis.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/emoji-picker.vue b/src/client/app/common/views/components/emoji-picker.vue deleted file mode 100644 index abae69e28..000000000 --- a/src/client/app/common/views/components/emoji-picker.vue +++ /dev/null @@ -1,243 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/error.vue b/src/client/app/common/views/components/error.vue deleted file mode 100644 index 0462a6efd..000000000 --- a/src/client/app/common/views/components/error.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/file-type-icon.vue b/src/client/app/common/views/components/file-type-icon.vue deleted file mode 100644 index 3a9fe768d..000000000 --- a/src/client/app/common/views/components/file-type-icon.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/follow-button.vue b/src/client/app/common/views/components/follow-button.vue deleted file mode 100644 index 074a0c05b..000000000 --- a/src/client/app/common/views/components/follow-button.vue +++ /dev/null @@ -1,209 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/forkit.vue b/src/client/app/common/views/components/forkit.vue deleted file mode 100644 index 328e3ca7b..000000000 --- a/src/client/app/common/views/components/forkit.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/frac.vue b/src/client/app/common/views/components/frac.vue deleted file mode 100644 index 1840bd28f..000000000 --- a/src/client/app/common/views/components/frac.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/games/reversi/reversi.game.vue b/src/client/app/common/views/components/games/reversi/reversi.game.vue deleted file mode 100644 index a7c918aa7..000000000 --- a/src/client/app/common/views/components/games/reversi/reversi.game.vue +++ /dev/null @@ -1,473 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/games/reversi/reversi.gameroom.vue b/src/client/app/common/views/components/games/reversi/reversi.gameroom.vue deleted file mode 100644 index 409938950..000000000 --- a/src/client/app/common/views/components/games/reversi/reversi.gameroom.vue +++ /dev/null @@ -1,56 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/games/reversi/reversi.index.vue b/src/client/app/common/views/components/games/reversi/reversi.index.vue deleted file mode 100644 index 94e1d9a7e..000000000 --- a/src/client/app/common/views/components/games/reversi/reversi.index.vue +++ /dev/null @@ -1,245 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/games/reversi/reversi.room.vue b/src/client/app/common/views/components/games/reversi/reversi.room.vue deleted file mode 100644 index c1657f49e..000000000 --- a/src/client/app/common/views/components/games/reversi/reversi.room.vue +++ /dev/null @@ -1,355 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/games/reversi/reversi.vue b/src/client/app/common/views/components/games/reversi/reversi.vue deleted file mode 100644 index d33471a04..000000000 --- a/src/client/app/common/views/components/games/reversi/reversi.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/google.vue b/src/client/app/common/views/components/google.vue deleted file mode 100644 index 1e8814739..000000000 --- a/src/client/app/common/views/components/google.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/image-viewer.vue b/src/client/app/common/views/components/image-viewer.vue deleted file mode 100644 index 63b5e28d0..000000000 --- a/src/client/app/common/views/components/image-viewer.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/index.ts b/src/client/app/common/views/components/index.ts deleted file mode 100644 index 88cd4931d..000000000 --- a/src/client/app/common/views/components/index.ts +++ /dev/null @@ -1,103 +0,0 @@ -import Vue from 'vue'; - -import dummy from './dummy.vue'; -import userName from './user-name.vue'; -import followButton from './follow-button.vue'; -import error from './error.vue'; -import noteSkeleton from './note-skeleton.vue'; -import instance from './instance.vue'; -import cwButton from './cw-button.vue'; -import tagCloud from './tag-cloud.vue'; -import trends from './trends.vue'; -import analogClock from './analog-clock.vue'; -import menu from './menu.vue'; -import noteHeader from './note-header.vue'; -import renote from './renote.vue'; -import signin from './signin.vue'; -import signup from './signup.vue'; -import forkit from './forkit.vue'; -import acct from './acct.vue'; -import avatar from './avatar.vue'; -import nav from './nav.vue'; -import misskeyFlavoredMarkdown from './misskey-flavored-markdown.vue'; -import poll from './poll.vue'; -import reactionIcon from './reaction-icon.vue'; -import reactionsViewer from './reactions-viewer.vue'; -import time from './time.vue'; -import mediaList from './media-list.vue'; -import uploader from './uploader.vue'; -import streamIndicator from './stream-indicator.vue'; -import ellipsis from './ellipsis.vue'; -import urlPreview from './url-preview.vue'; -import fileTypeIcon from './file-type-icon.vue'; -import emoji from './emoji.vue'; -import welcomeTimeline from './welcome-timeline.vue'; -import userList from './user-list.vue'; -import frac from './frac.vue'; -import uiInput from './ui/input.vue'; -import uiButton from './ui/button.vue'; -import uiHorizonGroup from './ui/horizon-group.vue'; -import uiCard from './ui/card.vue'; -import uiForm from './ui/form.vue'; -import uiTextarea from './ui/textarea.vue'; -import uiSwitch from './ui/switch.vue'; -import uiRadio from './ui/radio.vue'; -import uiSelect from './ui/select.vue'; -import uiInfo from './ui/info.vue'; -import uiMargin from './ui/margin.vue'; -import uiHr from './ui/hr.vue'; -import uiPagination from './ui/pagination.vue'; -import uiModal from './ui/modal.vue'; -import formButton from './ui/form/button.vue'; -import formRadio from './ui/form/radio.vue'; - -Vue.component('mfm', misskeyFlavoredMarkdown); -Vue.component('mk-dummy', dummy); -Vue.component('mk-user-name', userName); -Vue.component('mk-follow-button', followButton); -Vue.component('mk-error', error); -Vue.component('mk-note-skeleton', noteSkeleton); -Vue.component('mk-instance', instance); -Vue.component('mk-cw-button', cwButton); -Vue.component('mk-tag-cloud', tagCloud); -Vue.component('mk-trends', trends); -Vue.component('mk-analog-clock', analogClock); -Vue.component('mk-menu', menu); -Vue.component('mk-note-header', noteHeader); -Vue.component('mk-renote', renote); -Vue.component('mk-signin', signin); -Vue.component('mk-signup', signup); -Vue.component('mk-forkit', forkit); -Vue.component('mk-acct', acct); -Vue.component('mk-avatar', avatar); -Vue.component('mk-nav', nav); -Vue.component('mk-poll', poll); -Vue.component('mk-reaction-icon', reactionIcon); -Vue.component('mk-reactions-viewer', reactionsViewer); -Vue.component('mk-time', time); -Vue.component('mk-media-list', mediaList); -Vue.component('mk-uploader', uploader); -Vue.component('mk-stream-indicator', streamIndicator); -Vue.component('mk-ellipsis', ellipsis); -Vue.component('mk-url-preview', urlPreview); -Vue.component('mk-file-type-icon', fileTypeIcon); -Vue.component('mk-emoji', emoji); -Vue.component('mk-welcome-timeline', welcomeTimeline); -Vue.component('mk-user-list', userList); -Vue.component('mk-frac', frac); -Vue.component('ui-input', uiInput); -Vue.component('ui-button', uiButton); -Vue.component('ui-horizon-group', uiHorizonGroup); -Vue.component('ui-card', uiCard); -Vue.component('ui-form', uiForm); -Vue.component('ui-textarea', uiTextarea); -Vue.component('ui-switch', uiSwitch); -Vue.component('ui-radio', uiRadio); -Vue.component('ui-select', uiSelect); -Vue.component('ui-info', uiInfo); -Vue.component('ui-margin', uiMargin); -Vue.component('ui-hr', uiHr); -Vue.component('ui-pagination', uiPagination); -Vue.component('ui-modal', uiModal); -Vue.component('form-button', formButton); -Vue.component('form-radio', formRadio); diff --git a/src/client/app/common/views/components/instance.vue b/src/client/app/common/views/components/instance.vue deleted file mode 100644 index 497e4976f..000000000 --- a/src/client/app/common/views/components/instance.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/integrations.integration.vue b/src/client/app/common/views/components/integrations.integration.vue deleted file mode 100644 index 51995843b..000000000 --- a/src/client/app/common/views/components/integrations.integration.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/integrations.vue b/src/client/app/common/views/components/integrations.vue deleted file mode 100644 index 7a341a14f..000000000 --- a/src/client/app/common/views/components/integrations.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/media-image.vue b/src/client/app/common/views/components/media-image.vue deleted file mode 100644 index b8b164aed..000000000 --- a/src/client/app/common/views/components/media-image.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/media-list.vue b/src/client/app/common/views/components/media-list.vue deleted file mode 100644 index bfbc9366d..000000000 --- a/src/client/app/common/views/components/media-list.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/menu.vue b/src/client/app/common/views/components/menu.vue deleted file mode 100644 index 68fa0f5e6..000000000 --- a/src/client/app/common/views/components/menu.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/messaging-room.message.vue b/src/client/app/common/views/components/messaging-room.message.vue deleted file mode 100644 index 1ab635941..000000000 --- a/src/client/app/common/views/components/messaging-room.message.vue +++ /dev/null @@ -1,279 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/messaging.vue b/src/client/app/common/views/components/messaging.vue deleted file mode 100644 index 52f55e433..000000000 --- a/src/client/app/common/views/components/messaging.vue +++ /dev/null @@ -1,500 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/misskey-flavored-markdown.vue b/src/client/app/common/views/components/misskey-flavored-markdown.vue deleted file mode 100644 index 40c444242..000000000 --- a/src/client/app/common/views/components/misskey-flavored-markdown.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/nav.vue b/src/client/app/common/views/components/nav.vue deleted file mode 100644 index 41b65604d..000000000 --- a/src/client/app/common/views/components/nav.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/note-header.vue b/src/client/app/common/views/components/note-header.vue deleted file mode 100644 index a72863e1d..000000000 --- a/src/client/app/common/views/components/note-header.vue +++ /dev/null @@ -1,118 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/note-skeleton.vue b/src/client/app/common/views/components/note-skeleton.vue deleted file mode 100644 index a2e09e322..000000000 --- a/src/client/app/common/views/components/note-skeleton.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/page-preview.vue b/src/client/app/common/views/components/page-preview.vue deleted file mode 100644 index e3e73bd08..000000000 --- a/src/client/app/common/views/components/page-preview.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/page/page.post.vue b/src/client/app/common/views/components/page/page.post.vue deleted file mode 100644 index cb695e21e..000000000 --- a/src/client/app/common/views/components/page/page.post.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/particle.vue b/src/client/app/common/views/components/particle.vue deleted file mode 100644 index 33c118f00..000000000 --- a/src/client/app/common/views/components/particle.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/poll-editor.vue b/src/client/app/common/views/components/poll-editor.vue deleted file mode 100644 index 51c73003d..000000000 --- a/src/client/app/common/views/components/poll-editor.vue +++ /dev/null @@ -1,235 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/poll.vue b/src/client/app/common/views/components/poll.vue deleted file mode 100644 index bd5eeaf83..000000000 --- a/src/client/app/common/views/components/poll.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/post-form-attaches.vue b/src/client/app/common/views/components/post-form-attaches.vue deleted file mode 100644 index e051b6a80..000000000 --- a/src/client/app/common/views/components/post-form-attaches.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/reaction-icon.vue b/src/client/app/common/views/components/reaction-icon.vue deleted file mode 100644 index afe51d783..000000000 --- a/src/client/app/common/views/components/reaction-icon.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/reaction-picker.vue b/src/client/app/common/views/components/reaction-picker.vue deleted file mode 100644 index f363fe977..000000000 --- a/src/client/app/common/views/components/reaction-picker.vue +++ /dev/null @@ -1,323 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/reactions-viewer.details.vue b/src/client/app/common/views/components/reactions-viewer.details.vue deleted file mode 100644 index 778b93689..000000000 --- a/src/client/app/common/views/components/reactions-viewer.details.vue +++ /dev/null @@ -1,122 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/renote.vue b/src/client/app/common/views/components/renote.vue deleted file mode 100644 index 58a0a2659..000000000 --- a/src/client/app/common/views/components/renote.vue +++ /dev/null @@ -1,104 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/2fa.vue b/src/client/app/common/views/components/settings/2fa.vue deleted file mode 100644 index 813a91b5c..000000000 --- a/src/client/app/common/views/components/settings/2fa.vue +++ /dev/null @@ -1,259 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/api.vue b/src/client/app/common/views/components/settings/api.vue deleted file mode 100644 index 184fa069f..000000000 --- a/src/client/app/common/views/components/settings/api.vue +++ /dev/null @@ -1,102 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/settings/app-type.vue b/src/client/app/common/views/components/settings/app-type.vue deleted file mode 100644 index d163f1e74..000000000 --- a/src/client/app/common/views/components/settings/app-type.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/settings/apps.vue b/src/client/app/common/views/components/settings/apps.vue deleted file mode 100644 index c5beaa1fe..000000000 --- a/src/client/app/common/views/components/settings/apps.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/drive.vue b/src/client/app/common/views/components/settings/drive.vue deleted file mode 100644 index da028e85e..000000000 --- a/src/client/app/common/views/components/settings/drive.vue +++ /dev/null @@ -1,209 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/integration.vue b/src/client/app/common/views/components/settings/integration.vue deleted file mode 100644 index 71ad8b450..000000000 --- a/src/client/app/common/views/components/settings/integration.vue +++ /dev/null @@ -1,118 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/language.vue b/src/client/app/common/views/components/settings/language.vue deleted file mode 100644 index f81775f09..000000000 --- a/src/client/app/common/views/components/settings/language.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/settings/mute-and-block.user.vue b/src/client/app/common/views/components/settings/mute-and-block.user.vue deleted file mode 100644 index 29ef1f7a6..000000000 --- a/src/client/app/common/views/components/settings/mute-and-block.user.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/mute-and-block.vue b/src/client/app/common/views/components/settings/mute-and-block.vue deleted file mode 100644 index 8ff580416..000000000 --- a/src/client/app/common/views/components/settings/mute-and-block.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - diff --git a/src/client/app/common/views/components/settings/notification.vue b/src/client/app/common/views/components/settings/notification.vue deleted file mode 100644 index 2554fe633..000000000 --- a/src/client/app/common/views/components/settings/notification.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/settings/password.vue b/src/client/app/common/views/components/settings/password.vue deleted file mode 100644 index c86756151..000000000 --- a/src/client/app/common/views/components/settings/password.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/settings/profile.vue b/src/client/app/common/views/components/settings/profile.vue deleted file mode 100644 index 0c291f902..000000000 --- a/src/client/app/common/views/components/settings/profile.vue +++ /dev/null @@ -1,442 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/settings.vue b/src/client/app/common/views/components/settings/settings.vue deleted file mode 100644 index 3a0ba561a..000000000 --- a/src/client/app/common/views/components/settings/settings.vue +++ /dev/null @@ -1,671 +0,0 @@ - - - diff --git a/src/client/app/common/views/components/settings/signins.vue b/src/client/app/common/views/components/settings/signins.vue deleted file mode 100644 index 048fa2fc5..000000000 --- a/src/client/app/common/views/components/settings/signins.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/tags.vue b/src/client/app/common/views/components/settings/tags.vue deleted file mode 100644 index 2e17f35e3..000000000 --- a/src/client/app/common/views/components/settings/tags.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/settings/theme.vue b/src/client/app/common/views/components/settings/theme.vue deleted file mode 100644 index d916a5750..000000000 --- a/src/client/app/common/views/components/settings/theme.vue +++ /dev/null @@ -1,558 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/stream-indicator.vue b/src/client/app/common/views/components/stream-indicator.vue deleted file mode 100644 index 8ab1cfcfe..000000000 --- a/src/client/app/common/views/components/stream-indicator.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/tag-cloud.vue b/src/client/app/common/views/components/tag-cloud.vue deleted file mode 100644 index 3fa5e3b9d..000000000 --- a/src/client/app/common/views/components/tag-cloud.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/trends.vue b/src/client/app/common/views/components/trends.vue deleted file mode 100644 index 536d55247..000000000 --- a/src/client/app/common/views/components/trends.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/button.vue b/src/client/app/common/views/components/ui/button.vue deleted file mode 100644 index 59a5c858a..000000000 --- a/src/client/app/common/views/components/ui/button.vue +++ /dev/null @@ -1,224 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/card.vue b/src/client/app/common/views/components/ui/card.vue deleted file mode 100644 index a83013f5d..000000000 --- a/src/client/app/common/views/components/ui/card.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/form.vue b/src/client/app/common/views/components/ui/form.vue deleted file mode 100644 index 5c5bbd725..000000000 --- a/src/client/app/common/views/components/ui/form.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/form/button.vue b/src/client/app/common/views/components/ui/form/button.vue deleted file mode 100644 index 3fd7b4762..000000000 --- a/src/client/app/common/views/components/ui/form/button.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/form/radio.vue b/src/client/app/common/views/components/ui/form/radio.vue deleted file mode 100644 index 396b2997e..000000000 --- a/src/client/app/common/views/components/ui/form/radio.vue +++ /dev/null @@ -1,118 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/horizon-group.vue b/src/client/app/common/views/components/ui/horizon-group.vue deleted file mode 100644 index 33d030010..000000000 --- a/src/client/app/common/views/components/ui/horizon-group.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/info.vue b/src/client/app/common/views/components/ui/info.vue deleted file mode 100644 index 30fd8cb34..000000000 --- a/src/client/app/common/views/components/ui/info.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/input.vue b/src/client/app/common/views/components/ui/input.vue deleted file mode 100644 index 1b339a9ae..000000000 --- a/src/client/app/common/views/components/ui/input.vue +++ /dev/null @@ -1,503 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/margin.vue b/src/client/app/common/views/components/ui/margin.vue deleted file mode 100644 index 508116f07..000000000 --- a/src/client/app/common/views/components/ui/margin.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/modal.vue b/src/client/app/common/views/components/ui/modal.vue deleted file mode 100644 index 413dc39fa..000000000 --- a/src/client/app/common/views/components/ui/modal.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/pagination.vue b/src/client/app/common/views/components/ui/pagination.vue deleted file mode 100644 index 67aa89d36..000000000 --- a/src/client/app/common/views/components/ui/pagination.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/radio.vue b/src/client/app/common/views/components/ui/radio.vue deleted file mode 100644 index 468318b58..000000000 --- a/src/client/app/common/views/components/ui/radio.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/select.vue b/src/client/app/common/views/components/ui/select.vue deleted file mode 100644 index 1057d60d0..000000000 --- a/src/client/app/common/views/components/ui/select.vue +++ /dev/null @@ -1,238 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/switch.vue b/src/client/app/common/views/components/ui/switch.vue deleted file mode 100644 index 8e3997ae7..000000000 --- a/src/client/app/common/views/components/ui/switch.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/ui/textarea.vue b/src/client/app/common/views/components/ui/textarea.vue deleted file mode 100644 index d265c7ac6..000000000 --- a/src/client/app/common/views/components/ui/textarea.vue +++ /dev/null @@ -1,194 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/uploader.vue b/src/client/app/common/views/components/uploader.vue deleted file mode 100644 index 9f02da6c1..000000000 --- a/src/client/app/common/views/components/uploader.vue +++ /dev/null @@ -1,231 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/url-preview.vue b/src/client/app/common/views/components/url-preview.vue deleted file mode 100644 index 80aae5999..000000000 --- a/src/client/app/common/views/components/url-preview.vue +++ /dev/null @@ -1,343 +0,0 @@ -