Merge branch 'develop'
This commit is contained in:
		
						commit
						dea4a7b389
					
				
					 18 changed files with 170 additions and 100 deletions
				
			
		| 
						 | 
					@ -1,5 +1,4 @@
 | 
				
			||||||
# db settings
 | 
					# db settings
 | 
				
			||||||
POSTGRES_PASSWORD="example-misskey-pass"
 | 
					POSTGRES_PASSWORD=example-misskey-pass
 | 
				
			||||||
POSTGRES_USER="example-misskey-user"
 | 
					POSTGRES_USER=example-misskey-user
 | 
				
			||||||
POSTGRES_DB="misskey"
 | 
					POSTGRES_DB=misskey
 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,6 +35,13 @@ mongodb:
 | 
				
			||||||
8. master ブランチに戻す
 | 
					8. master ブランチに戻す
 | 
				
			||||||
9. enjoy
 | 
					9. enjoy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					11.2.2 (2019/04/22)
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					### Fixes
 | 
				
			||||||
 | 
					* 2段階認証を有効にするとログインできない問題を修正
 | 
				
			||||||
 | 
					* リモートユーザーの修復処理が自動的に実行されない問題を修正
 | 
				
			||||||
 | 
					* リモートユーザー情報が更新されない問題を修正
 | 
				
			||||||
 | 
					
 | 
				
			||||||
11.2.1 (2019/04/21)
 | 
					11.2.1 (2019/04/21)
 | 
				
			||||||
-------------------
 | 
					-------------------
 | 
				
			||||||
### Fixes
 | 
					### Fixes
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -77,6 +77,9 @@ common:
 | 
				
			||||||
    "read:messaging": "Prohlížet konverzaci"
 | 
					    "read:messaging": "Prohlížet konverzaci"
 | 
				
			||||||
    "write:messaging": "Pracovat s konverzaci"
 | 
					    "write:messaging": "Pracovat s konverzaci"
 | 
				
			||||||
    "read:mutes": "Prohlížet ztlumené"
 | 
					    "read:mutes": "Prohlížet ztlumené"
 | 
				
			||||||
 | 
					    "read:notifications": "Prohlížet oznámení"
 | 
				
			||||||
 | 
					    "write:notifications": "Pracovat s oznámeními"
 | 
				
			||||||
 | 
					    "read:reactions": "Prohlížet reakce"
 | 
				
			||||||
    "write:votes": "Hlasovat"
 | 
					    "write:votes": "Hlasovat"
 | 
				
			||||||
  empty-timeline-info:
 | 
					  empty-timeline-info:
 | 
				
			||||||
    follow-users-to-make-your-timeline: "Poznámky sledujících se zobrazí ve vaší časové ose"
 | 
					    follow-users-to-make-your-timeline: "Poznámky sledujících se zobrazí ve vaší časové ose"
 | 
				
			||||||
| 
						 | 
					@ -285,6 +288,7 @@ common:
 | 
				
			||||||
    nav: "Navigace"
 | 
					    nav: "Navigace"
 | 
				
			||||||
    tips: "Tipy"
 | 
					    tips: "Tipy"
 | 
				
			||||||
    hashtags: "Hashtagy"
 | 
					    hashtags: "Hashtagy"
 | 
				
			||||||
 | 
					    queue: "Ve frontě"
 | 
				
			||||||
  dev: "Nepodařilo se vytvořit aplikace. Prosím zkuste to znovu."
 | 
					  dev: "Nepodařilo se vytvořit aplikace. Prosím zkuste to znovu."
 | 
				
			||||||
  ai-chan-kawaii: "Ai-chan kawaii!"
 | 
					  ai-chan-kawaii: "Ai-chan kawaii!"
 | 
				
			||||||
  you: "Vy"
 | 
					  you: "Vy"
 | 
				
			||||||
| 
						 | 
					@ -593,6 +597,8 @@ common/views/components/user-list-editor.vue:
 | 
				
			||||||
  remove-user: "Odebrat z tohoto seznamu"
 | 
					  remove-user: "Odebrat z tohoto seznamu"
 | 
				
			||||||
  delete-are-you-sure: "Smazat seznam \"$1\"?"
 | 
					  delete-are-you-sure: "Smazat seznam \"$1\"?"
 | 
				
			||||||
  deleted: "Smazáno"
 | 
					  deleted: "Smazáno"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  list-name: "Název seznamu"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "Načítám"
 | 
					  fetching: "Načítám"
 | 
				
			||||||
  next: "Další"
 | 
					  next: "Další"
 | 
				
			||||||
| 
						 | 
					@ -832,8 +838,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "Odmítnout"
 | 
					  reject: "Odmítnout"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "Seznamy uživatelů"
 | 
					  title: "Seznamy uživatelů"
 | 
				
			||||||
  create-list: "Vytvořit seznam"
 | 
					 | 
				
			||||||
  list-name: "Název seznamu"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "Příspěvky"
 | 
					  notes: "Příspěvky"
 | 
				
			||||||
desktop/views/components/users-list.vue:
 | 
					desktop/views/components/users-list.vue:
 | 
				
			||||||
| 
						 | 
					@ -1078,7 +1082,6 @@ mobile/views/components/drive.vue:
 | 
				
			||||||
  used: "využito"
 | 
					  used: "využito"
 | 
				
			||||||
  file-count: "Soubor(ů)"
 | 
					  file-count: "Soubor(ů)"
 | 
				
			||||||
  folder-is-empty: "Tato složka je prázdná"
 | 
					  folder-is-empty: "Tato složka je prázdná"
 | 
				
			||||||
  deletion-alert: "Omlouváme se, ale mazání složek ještě nebylo implementováno."
 | 
					 | 
				
			||||||
  folder-name: "Název složky"
 | 
					  folder-name: "Název složky"
 | 
				
			||||||
  url-prompt: "URL adresa souboru, který chcete nahrát"
 | 
					  url-prompt: "URL adresa souboru, který chcete nahrát"
 | 
				
			||||||
  uploading: "Byl zahájen upload. Může chvilku trvat než bude dokončen."
 | 
					  uploading: "Byl zahájen upload. Může chvilku trvat než bude dokončen."
 | 
				
			||||||
| 
						 | 
					@ -1139,6 +1142,10 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  game: "Hry"
 | 
					  game: "Hry"
 | 
				
			||||||
  admin: "Administrace"
 | 
					  admin: "Administrace"
 | 
				
			||||||
  about: "O Misskey"
 | 
					  about: "O Misskey"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "Nahrát soubor"
 | 
				
			||||||
 | 
					    create-folder: "Vytvořit složku"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "Seznamy"
 | 
					  title: "Seznamy"
 | 
				
			||||||
mobile/views/pages/signup.vue:
 | 
					mobile/views/pages/signup.vue:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -676,6 +676,10 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  user-lists: "Listen"
 | 
					  user-lists: "Listen"
 | 
				
			||||||
  game: "Spielen"
 | 
					  game: "Spielen"
 | 
				
			||||||
  about: "Über"
 | 
					  about: "Über"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "Eine Datei hochladen"
 | 
				
			||||||
 | 
					    create-folder: "Ein Verzeichnis erstellen"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "Listen"
 | 
					  title: "Listen"
 | 
				
			||||||
mobile/views/pages/home.vue:
 | 
					mobile/views/pages/home.vue:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,6 +84,11 @@ common:
 | 
				
			||||||
    "write:messaging": "Work with Messaging"
 | 
					    "write:messaging": "Work with Messaging"
 | 
				
			||||||
    "read:mutes": "View Muted"
 | 
					    "read:mutes": "View Muted"
 | 
				
			||||||
    "write:mutes": "Work with 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"
 | 
					    "write:votes": "Vote"
 | 
				
			||||||
  empty-timeline-info:
 | 
					  empty-timeline-info:
 | 
				
			||||||
    follow-users-to-make-your-timeline: "Following users will show their posts in your timeline."
 | 
					    follow-users-to-make-your-timeline: "Following users will show their posts in your timeline."
 | 
				
			||||||
| 
						 | 
					@ -484,8 +489,12 @@ common/views/components/user-menu.vue:
 | 
				
			||||||
  mention: "Mention"
 | 
					  mention: "Mention"
 | 
				
			||||||
  mute: "Mute"
 | 
					  mute: "Mute"
 | 
				
			||||||
  unmute: "Unmute"
 | 
					  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"
 | 
					  block: "Block"
 | 
				
			||||||
  unblock: "Unblock"
 | 
					  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"
 | 
					  push-to-list: "Add to list"
 | 
				
			||||||
  select-list: "Select a list"
 | 
					  select-list: "Select a list"
 | 
				
			||||||
  report-abuse: "Report abuse"
 | 
					  report-abuse: "Report abuse"
 | 
				
			||||||
| 
						 | 
					@ -493,8 +502,12 @@ common/views/components/user-menu.vue:
 | 
				
			||||||
  report-abuse-reported: "The issue has been reported to the administrator. Your cooperation is much appreciated."
 | 
					  report-abuse-reported: "The issue has been reported to the administrator. Your cooperation is much appreciated."
 | 
				
			||||||
  silence: "Silence"
 | 
					  silence: "Silence"
 | 
				
			||||||
  unsilence: "Unsilence"
 | 
					  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"
 | 
					  suspend: "Suspend"
 | 
				
			||||||
  unsuspend: "Unsuspend"
 | 
					  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:
 | 
					common/views/components/poll.vue:
 | 
				
			||||||
  vote-to: "Vote for '{}'"
 | 
					  vote-to: "Vote for '{}'"
 | 
				
			||||||
  vote-count: "{} votes"
 | 
					  vote-count: "{} votes"
 | 
				
			||||||
| 
						 | 
					@ -677,6 +690,9 @@ common/views/components/user-list-editor.vue:
 | 
				
			||||||
  remove-user: "Remove from this list"
 | 
					  remove-user: "Remove from this list"
 | 
				
			||||||
  delete-are-you-sure: "Delete list \"$1\"?"
 | 
					  delete-are-you-sure: "Delete list \"$1\"?"
 | 
				
			||||||
  deleted: "Deleted successfully"
 | 
					  deleted: "Deleted successfully"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  create-list: "Create a list"
 | 
				
			||||||
 | 
					  list-name: "List name"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "Checking"
 | 
					  fetching: "Checking"
 | 
				
			||||||
  no-broadcasts: "No announcements"
 | 
					  no-broadcasts: "No announcements"
 | 
				
			||||||
| 
						 | 
					@ -1025,8 +1041,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "Reject"
 | 
					  reject: "Reject"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "User lists"
 | 
					  title: "User lists"
 | 
				
			||||||
  create-list: "Create a list"
 | 
					 | 
				
			||||||
  list-name: "List name"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "Posts"
 | 
					  notes: "Posts"
 | 
				
			||||||
  following: "Following"
 | 
					  following: "Following"
 | 
				
			||||||
| 
						 | 
					@ -1204,7 +1218,9 @@ admin/views/users.vue:
 | 
				
			||||||
  unsuspend-confirm: "Are you sure you want to unsuspend this account?"
 | 
					  unsuspend-confirm: "Are you sure you want to unsuspend this account?"
 | 
				
			||||||
  unsuspended: "The user has successfully unsuspended."
 | 
					  unsuspended: "The user has successfully unsuspended."
 | 
				
			||||||
  make-silence: "Silence"
 | 
					  make-silence: "Silence"
 | 
				
			||||||
 | 
					  silence-confirm: "Silence user?"
 | 
				
			||||||
  unmake-silence: "Unsilence"
 | 
					  unmake-silence: "Unsilence"
 | 
				
			||||||
 | 
					  unsilence-confirm: "Are you certain that you want to stop silencing this user?"
 | 
				
			||||||
  verify: "Verify account"
 | 
					  verify: "Verify account"
 | 
				
			||||||
  verify-confirm: "Do you want this to be a verified account?"
 | 
					  verify-confirm: "Do you want this to be a verified account?"
 | 
				
			||||||
  verified: "The account is now being verified"
 | 
					  verified: "The account is now being verified"
 | 
				
			||||||
| 
						 | 
					@ -1398,6 +1414,7 @@ desktop/views/widgets/polls.vue:
 | 
				
			||||||
desktop/views/widgets/post-form.vue:
 | 
					desktop/views/widgets/post-form.vue:
 | 
				
			||||||
  title: "Post"
 | 
					  title: "Post"
 | 
				
			||||||
  note: "Post"
 | 
					  note: "Post"
 | 
				
			||||||
 | 
					  something-happened: "Could not be posted in this circumstance."
 | 
				
			||||||
desktop/views/widgets/profile.vue:
 | 
					desktop/views/widgets/profile.vue:
 | 
				
			||||||
  update-banner: "Click to edit your banner"
 | 
					  update-banner: "Click to edit your banner"
 | 
				
			||||||
  update-avatar: "Click to edit your avatar"
 | 
					  update-avatar: "Click to edit your avatar"
 | 
				
			||||||
| 
						 | 
					@ -1416,12 +1433,11 @@ mobile/views/components/drive.vue:
 | 
				
			||||||
  file-count: "File(s)"
 | 
					  file-count: "File(s)"
 | 
				
			||||||
  nothing-in-drive: "There's nothing stored."
 | 
					  nothing-in-drive: "There's nothing stored."
 | 
				
			||||||
  folder-is-empty: "This folder is empty"
 | 
					  folder-is-empty: "This folder is empty"
 | 
				
			||||||
  prompt: "What do you want to do? (Please enter a number): <1 → Upload a file | 2 → Upload a file from a URL | 3 → Create a folder | 4 → Change this folder's name | 5 → Move this folder | 6 → Delete this folder>"
 | 
					 | 
				
			||||||
  deletion-alert: "Sorry! Deleting a folder is not yet implemented."
 | 
					 | 
				
			||||||
  folder-name: "Folder name"
 | 
					  folder-name: "Folder name"
 | 
				
			||||||
  here-is-root: "Currently, you are on the root, not inside of any folder."
 | 
					  here-is-root: "Currently, you are on the root, not inside of any folder."
 | 
				
			||||||
  url-prompt: "URL of the file you want to upload"
 | 
					  url-prompt: "URL of the file you want to upload"
 | 
				
			||||||
  uploading: "Upload requested. It may take a while for the upload to finish."
 | 
					  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:
 | 
					mobile/views/components/drive-file-chooser.vue:
 | 
				
			||||||
  select-file: "Choose files"
 | 
					  select-file: "Choose files"
 | 
				
			||||||
mobile/views/components/drive-folder-chooser.vue:
 | 
					mobile/views/components/drive-folder-chooser.vue:
 | 
				
			||||||
| 
						 | 
					@ -1495,9 +1511,16 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  game: "Games"
 | 
					  game: "Games"
 | 
				
			||||||
  admin: "Admin"
 | 
					  admin: "Admin"
 | 
				
			||||||
  about: "About Misskey"
 | 
					  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/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "Lists"
 | 
					  title: "Lists"
 | 
				
			||||||
  enter-list-name: "Enter a name of the list to make"
 | 
					 | 
				
			||||||
mobile/views/pages/signup.vue:
 | 
					mobile/views/pages/signup.vue:
 | 
				
			||||||
  lets-start: "Your account is now ready! 📦"
 | 
					  lets-start: "Your account is now ready! 📦"
 | 
				
			||||||
mobile/views/pages/followers.vue:
 | 
					mobile/views/pages/followers.vue:
 | 
				
			||||||
| 
						 | 
					@ -1624,10 +1647,12 @@ dev/views/apps.vue:
 | 
				
			||||||
  create-app: "Create app"
 | 
					  create-app: "Create app"
 | 
				
			||||||
  app-missing: "No apps"
 | 
					  app-missing: "No apps"
 | 
				
			||||||
dev/views/new-app.vue:
 | 
					dev/views/new-app.vue:
 | 
				
			||||||
 | 
					  new-app: "New Application"
 | 
				
			||||||
  create-app: "Creating application"
 | 
					  create-app: "Creating application"
 | 
				
			||||||
  app-name: "Application name"
 | 
					  app-name: "Application name"
 | 
				
			||||||
  app-name-desc: "The name of your app"
 | 
					  app-name-desc: "The name of your app"
 | 
				
			||||||
  app-overview: "Application summary"
 | 
					  app-overview: "Application summary"
 | 
				
			||||||
 | 
					  app-overview-desc: "A brief description, or an introduction of your app."
 | 
				
			||||||
  callback-url: "The callback URL (optional)"
 | 
					  callback-url: "The callback URL (optional)"
 | 
				
			||||||
  callback-url-desc: "The URL to redirect to after the user is authenticated via the authentication form."
 | 
					  callback-url-desc: "The URL to redirect to after the user is authenticated via the authentication form."
 | 
				
			||||||
  authority: "Permissions"
 | 
					  authority: "Permissions"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -466,6 +466,8 @@ common/views/components/profile-editor.vue:
 | 
				
			||||||
  enter-password: "Escribe una contraseña"
 | 
					  enter-password: "Escribe una contraseña"
 | 
				
			||||||
common/views/components/user-list-editor.vue:
 | 
					common/views/components/user-list-editor.vue:
 | 
				
			||||||
  users: "Usuarios"
 | 
					  users: "Usuarios"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  list-name: "Nombre de lista"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "Recuperando"
 | 
					  fetching: "Recuperando"
 | 
				
			||||||
  no-broadcasts: "Sin emisión"
 | 
					  no-broadcasts: "Sin emisión"
 | 
				
			||||||
| 
						 | 
					@ -773,8 +775,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "Rechazar"
 | 
					  reject: "Rechazar"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "Listas de usuario"
 | 
					  title: "Listas de usuario"
 | 
				
			||||||
  create-list: "Crear lista"
 | 
					 | 
				
			||||||
  list-name: "Nombre de lista"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "Publicaciones"
 | 
					  notes: "Publicaciones"
 | 
				
			||||||
  following: "Sigue"
 | 
					  following: "Sigue"
 | 
				
			||||||
| 
						 | 
					@ -931,6 +931,10 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  game: "Juegos"
 | 
					  game: "Juegos"
 | 
				
			||||||
  admin: "Admin"
 | 
					  admin: "Admin"
 | 
				
			||||||
  about: "Sobre"
 | 
					  about: "Sobre"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "Subir fichero"
 | 
				
			||||||
 | 
					    create-folder: "Crear una carpeta"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "Listas"
 | 
					  title: "Listas"
 | 
				
			||||||
mobile/views/pages/home.vue:
 | 
					mobile/views/pages/home.vue:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -72,6 +72,8 @@ common:
 | 
				
			||||||
    "write:account": "Mettre à jour les informations de votre compte"
 | 
					    "write:account": "Mettre à jour les informations de votre compte"
 | 
				
			||||||
    "read:drive": "Parcourir le Drive"
 | 
					    "read:drive": "Parcourir le Drive"
 | 
				
			||||||
    "write:drive": "Écrire sur le Drive"
 | 
					    "write:drive": "Écrire sur le Drive"
 | 
				
			||||||
 | 
					    "read:favorites": "Afficher les favoris"
 | 
				
			||||||
 | 
					    "read:reactions": "Lire les réactions"
 | 
				
			||||||
    "write:votes": "Vote"
 | 
					    "write:votes": "Vote"
 | 
				
			||||||
  empty-timeline-info:
 | 
					  empty-timeline-info:
 | 
				
			||||||
    follow-users-to-make-your-timeline: "Les utilisateurs suivants afficheront leurs publications sur votre fil."
 | 
					    follow-users-to-make-your-timeline: "Les utilisateurs suivants afficheront leurs publications sur votre fil."
 | 
				
			||||||
| 
						 | 
					@ -136,6 +138,7 @@ common:
 | 
				
			||||||
    appearance: "Apparence"
 | 
					    appearance: "Apparence"
 | 
				
			||||||
    behavior: "Comportement"
 | 
					    behavior: "Comportement"
 | 
				
			||||||
    fetch-on-scroll: "Chargement automatique lors du défilement"
 | 
					    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"
 | 
					    note-visibility: "Visibilité de la publication"
 | 
				
			||||||
    default-note-visibility: "Visibilité par défaut"
 | 
					    default-note-visibility: "Visibilité par défaut"
 | 
				
			||||||
    remember-note-visibility: "Se souvenir du mode de visibilité de la publication"
 | 
					    remember-note-visibility: "Se souvenir du mode de visibilité de la publication"
 | 
				
			||||||
| 
						 | 
					@ -655,6 +658,8 @@ common/views/components/user-list-editor.vue:
 | 
				
			||||||
  remove-user: "Retirer de cette liste"
 | 
					  remove-user: "Retirer de cette liste"
 | 
				
			||||||
  delete-are-you-sure: "Voulez-vous vraiment supprimer la liste « $1 » ?"
 | 
					  delete-are-you-sure: "Voulez-vous vraiment supprimer la liste « $1 » ?"
 | 
				
			||||||
  deleted: "Supprimé"
 | 
					  deleted: "Supprimé"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  list-name: "Nom de la liste"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "Récupération"
 | 
					  fetching: "Récupération"
 | 
				
			||||||
  no-broadcasts: "Aucune annonce"
 | 
					  no-broadcasts: "Aucune annonce"
 | 
				
			||||||
| 
						 | 
					@ -955,6 +960,7 @@ common/views/components/password-settings.vue:
 | 
				
			||||||
  changed: "Mot de passe modifié avec succès"
 | 
					  changed: "Mot de passe modifié avec succès"
 | 
				
			||||||
  failed: "Échec lors de la modification du mot de passe"
 | 
					  failed: "Échec lors de la modification du mot de passe"
 | 
				
			||||||
common/views/components/post-form-attaches.vue:
 | 
					common/views/components/post-form-attaches.vue:
 | 
				
			||||||
 | 
					  attach-cancel: "Enlever le fichier attaché"
 | 
				
			||||||
  mark-as-sensitive: "Marquer comme sensible"
 | 
					  mark-as-sensitive: "Marquer comme sensible"
 | 
				
			||||||
  unmark-as-sensitive: "Ne pas marquer comme sensible"
 | 
					  unmark-as-sensitive: "Ne pas marquer comme sensible"
 | 
				
			||||||
desktop/views/components/sub-note-content.vue:
 | 
					desktop/views/components/sub-note-content.vue:
 | 
				
			||||||
| 
						 | 
					@ -1001,8 +1007,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "Refuser"
 | 
					  reject: "Refuser"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "Listes de l'utilisateur"
 | 
					  title: "Listes de l'utilisateur"
 | 
				
			||||||
  create-list: "Créer une liste"
 | 
					 | 
				
			||||||
  list-name: "Nom de la liste"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "Publications"
 | 
					  notes: "Publications"
 | 
				
			||||||
  following: "Abonné à"
 | 
					  following: "Abonné à"
 | 
				
			||||||
| 
						 | 
					@ -1379,8 +1383,6 @@ mobile/views/components/drive.vue:
 | 
				
			||||||
  file-count: "Fichier·s"
 | 
					  file-count: "Fichier·s"
 | 
				
			||||||
  nothing-in-drive: "Rien"
 | 
					  nothing-in-drive: "Rien"
 | 
				
			||||||
  folder-is-empty: "Ce dossier est vide"
 | 
					  folder-is-empty: "Ce dossier est vide"
 | 
				
			||||||
  prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >"
 | 
					 | 
				
			||||||
  deletion-alert: "Désolé ! La suppression d’un dossier n’est pas encore implémentée."
 | 
					 | 
				
			||||||
  folder-name: "Nom du dossier"
 | 
					  folder-name: "Nom du dossier"
 | 
				
			||||||
  url-prompt: "URL du fichier que vous souhaitez téléverser"
 | 
					  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."
 | 
					  uploading: "Envoi demandé. Le téléversement pourrait prendre un certain temps avant de s'achever."
 | 
				
			||||||
| 
						 | 
					@ -1457,9 +1459,12 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  game: "Jeux"
 | 
					  game: "Jeux"
 | 
				
			||||||
  admin: "Admin"
 | 
					  admin: "Admin"
 | 
				
			||||||
  about: "À propos de Misskey"
 | 
					  about: "À propos de Misskey"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "Téléverser un fichier"
 | 
				
			||||||
 | 
					    create-folder: "Créer un dossier"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "Listes"
 | 
					  title: "Listes"
 | 
				
			||||||
  enter-list-name: "Nom de la liste"
 | 
					 | 
				
			||||||
mobile/views/pages/signup.vue:
 | 
					mobile/views/pages/signup.vue:
 | 
				
			||||||
  lets-start: "Votre compte est prêt ! 📦"
 | 
					  lets-start: "Votre compte est prêt ! 📦"
 | 
				
			||||||
mobile/views/pages/followers.vue:
 | 
					mobile/views/pages/followers.vue:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -478,6 +478,8 @@ common/views/components/profile-editor.vue:
 | 
				
			||||||
  enter-password: "パスワードを入れてや"
 | 
					  enter-password: "パスワードを入れてや"
 | 
				
			||||||
common/views/components/user-list-editor.vue:
 | 
					common/views/components/user-list-editor.vue:
 | 
				
			||||||
  users: "ユーザー"
 | 
					  users: "ユーザー"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  list-name: "リスト名"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "見てみるわ…"
 | 
					  fetching: "見てみるわ…"
 | 
				
			||||||
  no-broadcasts: "お知らせはあらへんで"
 | 
					  no-broadcasts: "お知らせはあらへんで"
 | 
				
			||||||
| 
						 | 
					@ -815,8 +817,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "許さん"
 | 
					  reject: "許さん"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "リスト"
 | 
					  title: "リスト"
 | 
				
			||||||
  create-list: "新しいリストを作成"
 | 
					 | 
				
			||||||
  list-name: "リスト名"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "投稿"
 | 
					  notes: "投稿"
 | 
				
			||||||
  following: "フォロー"
 | 
					  following: "フォロー"
 | 
				
			||||||
| 
						 | 
					@ -1071,8 +1071,6 @@ mobile/views/components/drive.vue:
 | 
				
			||||||
  file-count: "ファイル"
 | 
					  file-count: "ファイル"
 | 
				
			||||||
  nothing-in-drive: "ドライブには何もあらへんで。"
 | 
					  nothing-in-drive: "ドライブには何もあらへんで。"
 | 
				
			||||||
  folder-is-empty: "このフォルダ何もないわ"
 | 
					  folder-is-empty: "このフォルダ何もないわ"
 | 
				
			||||||
  prompt: "何すんの?(数字を入れてや): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>"
 | 
					 | 
				
			||||||
  deletion-alert: "フォルダの削除は未実装やねん...。堪忍な!"
 | 
					 | 
				
			||||||
  folder-name: "フォルダー名"
 | 
					  folder-name: "フォルダー名"
 | 
				
			||||||
  url-prompt: "このURLのファイルをアップロードしたいねん"
 | 
					  url-prompt: "このURLのファイルをアップロードしたいねん"
 | 
				
			||||||
  uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。"
 | 
					  uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。"
 | 
				
			||||||
| 
						 | 
					@ -1149,9 +1147,12 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  game: "ゲーム"
 | 
					  game: "ゲーム"
 | 
				
			||||||
  admin: "管理"
 | 
					  admin: "管理"
 | 
				
			||||||
  about: "Misskeyってなんや?"
 | 
					  about: "Misskeyってなんや?"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "ファイル上げる"
 | 
				
			||||||
 | 
					    create-folder: "フォルダー作る"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "リスト"
 | 
					  title: "リスト"
 | 
				
			||||||
  enter-list-name: "リスト名を入力してや"
 | 
					 | 
				
			||||||
mobile/views/pages/signup.vue:
 | 
					mobile/views/pages/signup.vue:
 | 
				
			||||||
  lets-start: "📦 始めようや"
 | 
					  lets-start: "📦 始めようや"
 | 
				
			||||||
mobile/views/pages/followers.vue:
 | 
					mobile/views/pages/followers.vue:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -667,6 +667,8 @@ common/views/components/user-list-editor.vue:
 | 
				
			||||||
  remove-user: "이 리스트에서 제거"
 | 
					  remove-user: "이 리스트에서 제거"
 | 
				
			||||||
  delete-are-you-sure: "리스트 \"$1\"을 삭제하시겠습니까?"
 | 
					  delete-are-you-sure: "리스트 \"$1\"을 삭제하시겠습니까?"
 | 
				
			||||||
  deleted: "삭제하였습니다"
 | 
					  deleted: "삭제하였습니다"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  list-name: "리스트 이름"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "확인중"
 | 
					  fetching: "확인중"
 | 
				
			||||||
  no-broadcasts: "공지사항이 없습니다"
 | 
					  no-broadcasts: "공지사항이 없습니다"
 | 
				
			||||||
| 
						 | 
					@ -1015,8 +1017,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "거부"
 | 
					  reject: "거부"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "리스트"
 | 
					  title: "리스트"
 | 
				
			||||||
  create-list: "리스트 만들기"
 | 
					 | 
				
			||||||
  list-name: "리스트 이름"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "글"
 | 
					  notes: "글"
 | 
				
			||||||
  following: "팔로잉"
 | 
					  following: "팔로잉"
 | 
				
			||||||
| 
						 | 
					@ -1406,8 +1406,6 @@ mobile/views/components/drive.vue:
 | 
				
			||||||
  file-count: "파일"
 | 
					  file-count: "파일"
 | 
				
			||||||
  nothing-in-drive: "드라이브에 아무것도 없습니다"
 | 
					  nothing-in-drive: "드라이브에 아무것도 없습니다"
 | 
				
			||||||
  folder-is-empty: "폴더가 비어있습니다"
 | 
					  folder-is-empty: "폴더가 비어있습니다"
 | 
				
			||||||
  prompt: "무엇을 하시겠습니까? (숫자를 입력하여 주십시오): <1 → 파일 업로드 | 2 → 파일을 URL에서 업로드 | 3 → 폴더 만들기 | 4 → 이 폴더의 이름을 변경 | 5 → 현재 폴더 이동| 6 → 현재 폴더 삭제>"
 | 
					 | 
				
			||||||
  deletion-alert: "죄송합니다! 폴더 삭제는 아직 구현되지 않았습니다..."
 | 
					 | 
				
			||||||
  folder-name: "폴더 이름"
 | 
					  folder-name: "폴더 이름"
 | 
				
			||||||
  here-is-root: "현재 경로는 루트 경로로 폴더가 아닙니다."
 | 
					  here-is-root: "현재 경로는 루트 경로로 폴더가 아닙니다."
 | 
				
			||||||
  url-prompt: "업로드 하려는 파일의 URL"
 | 
					  url-prompt: "업로드 하려는 파일의 URL"
 | 
				
			||||||
| 
						 | 
					@ -1485,9 +1483,12 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  game: "게임"
 | 
					  game: "게임"
 | 
				
			||||||
  admin: "관리"
 | 
					  admin: "관리"
 | 
				
			||||||
  about: "Misskey에 대하여"
 | 
					  about: "Misskey에 대하여"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "파일 업로드"
 | 
				
			||||||
 | 
					    create-folder: "폴더 만들기"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "리스트"
 | 
					  title: "리스트"
 | 
				
			||||||
  enter-list-name: "리스트명을 입력하십시오"
 | 
					 | 
				
			||||||
mobile/views/pages/signup.vue:
 | 
					mobile/views/pages/signup.vue:
 | 
				
			||||||
  lets-start: "📦 이제 시작해도 됩니다"
 | 
					  lets-start: "📦 이제 시작해도 됩니다"
 | 
				
			||||||
mobile/views/pages/followers.vue:
 | 
					mobile/views/pages/followers.vue:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -403,7 +403,6 @@ desktop/views/components/ui.header.search.vue:
 | 
				
			||||||
  placeholder: "Zoeken"
 | 
					  placeholder: "Zoeken"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "Lijsten"
 | 
					  title: "Lijsten"
 | 
				
			||||||
  create-list: "Lijst creëren"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "Berichten"
 | 
					  notes: "Berichten"
 | 
				
			||||||
  following: "Volgend"
 | 
					  following: "Volgend"
 | 
				
			||||||
| 
						 | 
					@ -557,6 +556,10 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  user-lists: "Lijsten"
 | 
					  user-lists: "Lijsten"
 | 
				
			||||||
  game: "Othello spelen"
 | 
					  game: "Othello spelen"
 | 
				
			||||||
  about: "Over Misskey"
 | 
					  about: "Over Misskey"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "Bestand uploaden"
 | 
				
			||||||
 | 
					    create-folder: "Map creëren"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "Lijsten"
 | 
					  title: "Lijsten"
 | 
				
			||||||
mobile/views/pages/home.vue:
 | 
					mobile/views/pages/home.vue:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -192,6 +192,8 @@ common/views/components/profile-editor.vue:
 | 
				
			||||||
    user-lists: "Lister"
 | 
					    user-lists: "Lister"
 | 
				
			||||||
common/views/components/user-list-editor.vue:
 | 
					common/views/components/user-list-editor.vue:
 | 
				
			||||||
  users: "Bruker"
 | 
					  users: "Bruker"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  list-name: "Liste navn"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "Henter"
 | 
					  fetching: "Henter"
 | 
				
			||||||
  next: "Neste"
 | 
					  next: "Neste"
 | 
				
			||||||
| 
						 | 
					@ -310,7 +312,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "Avslå"
 | 
					  reject: "Avslå"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "Brukerlister"
 | 
					  title: "Brukerlister"
 | 
				
			||||||
  list-name: "Liste navn"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "Innlegg"
 | 
					  notes: "Innlegg"
 | 
				
			||||||
  following: "Følger"
 | 
					  following: "Følger"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -512,6 +512,8 @@ common/views/components/user-list-editor.vue:
 | 
				
			||||||
  remove-user: "Usuń z tej listy"
 | 
					  remove-user: "Usuń z tej listy"
 | 
				
			||||||
  delete-are-you-sure: "Usunąć listę \"$1\"?"
 | 
					  delete-are-you-sure: "Usunąć listę \"$1\"?"
 | 
				
			||||||
  deleted: "Usunięto"
 | 
					  deleted: "Usunięto"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  list-name: "Nazwa listy"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "Sprawdzanie"
 | 
					  fetching: "Sprawdzanie"
 | 
				
			||||||
  no-broadcasts: "Brak transmisji"
 | 
					  no-broadcasts: "Brak transmisji"
 | 
				
			||||||
| 
						 | 
					@ -834,8 +836,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "Odmów"
 | 
					  reject: "Odmów"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "Listy"
 | 
					  title: "Listy"
 | 
				
			||||||
  create-list: "Utwórz listę"
 | 
					 | 
				
			||||||
  list-name: "Nazwa listy"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "Wpisy"
 | 
					  notes: "Wpisy"
 | 
				
			||||||
  following: "Śledzeni"
 | 
					  following: "Śledzeni"
 | 
				
			||||||
| 
						 | 
					@ -1026,8 +1026,6 @@ mobile/views/components/drive.vue:
 | 
				
			||||||
  file-count: "Plik(i)"
 | 
					  file-count: "Plik(i)"
 | 
				
			||||||
  nothing-in-drive: "Pusto"
 | 
					  nothing-in-drive: "Pusto"
 | 
				
			||||||
  folder-is-empty: "Ten katalog jest pusty"
 | 
					  folder-is-empty: "Ten katalog jest pusty"
 | 
				
			||||||
  prompt: "Co chcesz zrobić? (wprowadź odpowiednią cyfrę): <1 → Wysłać plik | 2 → Wysłać plik z adresu URL | 3 → Utworzyć katalog | 4 → Zmienić nazwę tego katalogu | 5 → Przenieść ten katalog | 6 → Usunąć ten katalog>"
 | 
					 | 
				
			||||||
  deletion-alert: "Przepraszamy. Usuwanie katalogów nie zostało jeszcze zaimplementowane."
 | 
					 | 
				
			||||||
  folder-name: "Nazwa katalogu"
 | 
					  folder-name: "Nazwa katalogu"
 | 
				
			||||||
  url-prompt: "Adres URL pliku, który chcesz wysłać"
 | 
					  url-prompt: "Adres URL pliku, który chcesz wysłać"
 | 
				
			||||||
  uploading: "Rozpoczęto wysyłanie. Może to trochę potrwać."
 | 
					  uploading: "Rozpoczęto wysyłanie. Może to trochę potrwać."
 | 
				
			||||||
| 
						 | 
					@ -1103,9 +1101,12 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  game: "Gry"
 | 
					  game: "Gry"
 | 
				
			||||||
  admin: "Admin"
 | 
					  admin: "Admin"
 | 
				
			||||||
  about: "O Misskey"
 | 
					  about: "O Misskey"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "Wyślij plik"
 | 
				
			||||||
 | 
					    create-folder: "Utwórz katalog"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "Listy"
 | 
					  title: "Listy"
 | 
				
			||||||
  enter-list-name: "Wprowadź nazwę listy"
 | 
					 | 
				
			||||||
mobile/views/pages/signup.vue:
 | 
					mobile/views/pages/signup.vue:
 | 
				
			||||||
  lets-start: "Rozpocznijmy! 📦"
 | 
					  lets-start: "Rozpocznijmy! 📦"
 | 
				
			||||||
mobile/views/pages/home.vue:
 | 
					mobile/views/pages/home.vue:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -162,7 +162,7 @@ common:
 | 
				
			||||||
    keep-cw: "保留内容警告"
 | 
					    keep-cw: "保留内容警告"
 | 
				
			||||||
    keep-cw-desc: "在回复帖子时,如果原帖设置了内容警告,默认情况下回帖也会设置相同的内容警告。"
 | 
					    keep-cw-desc: "在回复帖子时,如果原帖设置了内容警告,默认情况下回帖也会设置相同的内容警告。"
 | 
				
			||||||
    i-like-sushi: "相比于布丁来说, 我更喜欢寿司。"
 | 
					    i-like-sushi: "相比于布丁来说, 我更喜欢寿司。"
 | 
				
			||||||
    show-reversi-board-labels: "在 Reversi 中显示行和列表签"
 | 
					    show-reversi-board-labels: "在黑白棋中显示行和列表签"
 | 
				
			||||||
    use-avatar-reversi-stones: "用头像作为黑白棋的棋子"
 | 
					    use-avatar-reversi-stones: "用头像作为黑白棋的棋子"
 | 
				
			||||||
    disable-animated-mfm: "在帖子中禁用动画文本"
 | 
					    disable-animated-mfm: "在帖子中禁用动画文本"
 | 
				
			||||||
    disable-showing-animated-images: "不播放动画"
 | 
					    disable-showing-animated-images: "不播放动画"
 | 
				
			||||||
| 
						 | 
					@ -205,9 +205,9 @@ common:
 | 
				
			||||||
    show-clock-on-header: "在右上角显示时钟"
 | 
					    show-clock-on-header: "在右上角显示时钟"
 | 
				
			||||||
    show-reply-target: "显示回复目标"
 | 
					    show-reply-target: "显示回复目标"
 | 
				
			||||||
    timeline: "时间线"
 | 
					    timeline: "时间线"
 | 
				
			||||||
    show-my-renotes: "在时间线上显示我的Renote"
 | 
					    show-my-renotes: "在时间线上显示我的转推"
 | 
				
			||||||
    show-renoted-my-notes: "在时间线上显示我的帖子的Renote"
 | 
					    show-renoted-my-notes: "在时间线上显示我的帖子的转推"
 | 
				
			||||||
    show-local-renotes: "在时间线上显示本地帖子的Renote"
 | 
					    show-local-renotes: "在时间线上显示本地帖子的转推"
 | 
				
			||||||
    remain-deleted-note: "继续显示已删除的帖子"
 | 
					    remain-deleted-note: "继续显示已删除的帖子"
 | 
				
			||||||
    sound: "声音"
 | 
					    sound: "声音"
 | 
				
			||||||
    enable-sounds: "开启声音"
 | 
					    enable-sounds: "开启声音"
 | 
				
			||||||
| 
						 | 
					@ -257,7 +257,7 @@ common:
 | 
				
			||||||
  is-remote-user: "此用户信息可能不准确。"
 | 
					  is-remote-user: "此用户信息可能不准确。"
 | 
				
			||||||
  is-remote-post: "该投稿已被复制."
 | 
					  is-remote-post: "该投稿已被复制."
 | 
				
			||||||
  view-on-remote: "查看准确的信息"
 | 
					  view-on-remote: "查看准确的信息"
 | 
				
			||||||
  renoted-by: "由 {user} Renote"
 | 
					  renoted-by: "由 {user} 转推"
 | 
				
			||||||
  no-notes: "没有帖子"
 | 
					  no-notes: "没有帖子"
 | 
				
			||||||
  turn-on-darkmode: "切换暗色主题"
 | 
					  turn-on-darkmode: "切换暗色主题"
 | 
				
			||||||
  turn-off-darkmode: "切换亮色主题"
 | 
					  turn-off-darkmode: "切换亮色主题"
 | 
				
			||||||
| 
						 | 
					@ -338,8 +338,8 @@ common/views/components/games/reversi/reversi.game.vue:
 | 
				
			||||||
  surrender: "认输"
 | 
					  surrender: "认输"
 | 
				
			||||||
  surrendered: "已认输"
 | 
					  surrendered: "已认输"
 | 
				
			||||||
  is-llotheo: "棋子较少一方获胜(LLoTheO规则)"
 | 
					  is-llotheo: "棋子较少一方获胜(LLoTheO规则)"
 | 
				
			||||||
  looped-map: "环形棋盘"
 | 
					  looped-map: "循环棋盘"
 | 
				
			||||||
  can-put-everywhere: "可以下在任意放置"
 | 
					  can-put-everywhere: "可以下在任意位置"
 | 
				
			||||||
common/views/components/games/reversi/reversi.index.vue:
 | 
					common/views/components/games/reversi/reversi.index.vue:
 | 
				
			||||||
  title: "Misskey 黑白棋"
 | 
					  title: "Misskey 黑白棋"
 | 
				
			||||||
  sub-title: "和其他人一起来玩Misskey黑白棋"
 | 
					  sub-title: "和其他人一起来玩Misskey黑白棋"
 | 
				
			||||||
| 
						 | 
					@ -363,8 +363,8 @@ common/views/components/games/reversi/reversi.room.vue:
 | 
				
			||||||
  black-is: "{}是黑"
 | 
					  black-is: "{}是黑"
 | 
				
			||||||
  rules: "规则"
 | 
					  rules: "规则"
 | 
				
			||||||
  is-llotheo: "棋子较少一方获胜(LLoTheO规则)"
 | 
					  is-llotheo: "棋子较少一方获胜(LLoTheO规则)"
 | 
				
			||||||
  looped-map: "环形棋盘"
 | 
					  looped-map: "循环棋盘"
 | 
				
			||||||
  can-put-everywhere: "可以下在任意放置"
 | 
					  can-put-everywhere: "可以下在任意位置"
 | 
				
			||||||
  settings-of-the-bot: "机器人设定"
 | 
					  settings-of-the-bot: "机器人设定"
 | 
				
			||||||
  this-game-is-started-soon: "游戏即将在数秒后开始"
 | 
					  this-game-is-started-soon: "游戏即将在数秒后开始"
 | 
				
			||||||
  waiting-for-other: "等待对手准备"
 | 
					  waiting-for-other: "等待对手准备"
 | 
				
			||||||
| 
						 | 
					@ -480,8 +480,8 @@ common/views/components/note-menu.vue:
 | 
				
			||||||
  unfavorite: "取消收藏"
 | 
					  unfavorite: "取消收藏"
 | 
				
			||||||
  watch: "关注"
 | 
					  watch: "关注"
 | 
				
			||||||
  unwatch: "取消关注"
 | 
					  unwatch: "取消关注"
 | 
				
			||||||
  pin: "固定个人资料"
 | 
					  pin: "置顶"
 | 
				
			||||||
  unpin: "解除固定"
 | 
					  unpin: "取消置顶"
 | 
				
			||||||
  delete: "删除"
 | 
					  delete: "删除"
 | 
				
			||||||
  delete-confirm: "确定删除这个投稿吗?"
 | 
					  delete-confirm: "确定删除这个投稿吗?"
 | 
				
			||||||
  remote: "显示原始投稿"
 | 
					  remote: "显示原始投稿"
 | 
				
			||||||
| 
						 | 
					@ -489,8 +489,12 @@ common/views/components/user-menu.vue:
 | 
				
			||||||
  mention: "提到"
 | 
					  mention: "提到"
 | 
				
			||||||
  mute: "屏蔽"
 | 
					  mute: "屏蔽"
 | 
				
			||||||
  unmute: "解除屏蔽"
 | 
					  unmute: "解除屏蔽"
 | 
				
			||||||
 | 
					  mute-confirm: "屏蔽此用户?"
 | 
				
			||||||
 | 
					  unmute-confirm: "取消屏蔽用户?"
 | 
				
			||||||
  block: "拉黑"
 | 
					  block: "拉黑"
 | 
				
			||||||
  unblock: "取消拉黑"
 | 
					  unblock: "取消拉黑"
 | 
				
			||||||
 | 
					  block-confirm: "确定拉黑此用户?"
 | 
				
			||||||
 | 
					  unblock-confirm: "取消拉黑此用户?"
 | 
				
			||||||
  push-to-list: "添加至列表"
 | 
					  push-to-list: "添加至列表"
 | 
				
			||||||
  select-list: "请选择一个列表"
 | 
					  select-list: "请选择一个列表"
 | 
				
			||||||
  report-abuse: "举报骚扰"
 | 
					  report-abuse: "举报骚扰"
 | 
				
			||||||
| 
						 | 
					@ -498,8 +502,12 @@ common/views/components/user-menu.vue:
 | 
				
			||||||
  report-abuse-reported: "已报告给管理员。 非常感谢你的合作。"
 | 
					  report-abuse-reported: "已报告给管理员。 非常感谢你的合作。"
 | 
				
			||||||
  silence: "禁言"
 | 
					  silence: "禁言"
 | 
				
			||||||
  unsilence: "解除禁言"
 | 
					  unsilence: "解除禁言"
 | 
				
			||||||
 | 
					  silence-confirm: "确认屏蔽此用户?"
 | 
				
			||||||
 | 
					  unsilence-confirm: "取消屏蔽此用户?"
 | 
				
			||||||
  suspend: "冻结"
 | 
					  suspend: "冻结"
 | 
				
			||||||
  unsuspend: "解除冻结"
 | 
					  unsuspend: "解除冻结"
 | 
				
			||||||
 | 
					  suspend-confirm: "确认冻结此用户?"
 | 
				
			||||||
 | 
					  unsuspend-confirm: "确认解冻此用户?"
 | 
				
			||||||
common/views/components/poll.vue:
 | 
					common/views/components/poll.vue:
 | 
				
			||||||
  vote-to: "为\"{}\"投票"
 | 
					  vote-to: "为\"{}\"投票"
 | 
				
			||||||
  vote-count: "{}票"
 | 
					  vote-count: "{}票"
 | 
				
			||||||
| 
						 | 
					@ -682,6 +690,9 @@ common/views/components/user-list-editor.vue:
 | 
				
			||||||
  remove-user: "从此列表中删除"
 | 
					  remove-user: "从此列表中删除"
 | 
				
			||||||
  delete-are-you-sure: "删除列表“$1”?"
 | 
					  delete-are-you-sure: "删除列表“$1”?"
 | 
				
			||||||
  deleted: "已删除"
 | 
					  deleted: "已删除"
 | 
				
			||||||
 | 
					common/views/components/user-lists.vue:
 | 
				
			||||||
 | 
					  create-list: "创建列表"
 | 
				
			||||||
 | 
					  list-name: "列表名称"
 | 
				
			||||||
common/views/widgets/broadcast.vue:
 | 
					common/views/widgets/broadcast.vue:
 | 
				
			||||||
  fetching: "确认中"
 | 
					  fetching: "确认中"
 | 
				
			||||||
  no-broadcasts: "没有公告"
 | 
					  no-broadcasts: "没有公告"
 | 
				
			||||||
| 
						 | 
					@ -724,7 +735,7 @@ common/views/widgets/tips.vue:
 | 
				
			||||||
  tips-line8: "可以从设置中定制主页。"
 | 
					  tips-line8: "可以从设置中定制主页。"
 | 
				
			||||||
  tips-line9: "Misskey 根据 AGPLv3 获得许可。"
 | 
					  tips-line9: "Misskey 根据 AGPLv3 获得许可。"
 | 
				
			||||||
  tips-line10: "使用Time Machine(时光机)小部件可以轻松追溯到过去的时间轴。"
 | 
					  tips-line10: "使用Time Machine(时光机)小部件可以轻松追溯到过去的时间轴。"
 | 
				
			||||||
  tips-line11: "您可以点击“...”将帖子固定到用户页面"
 | 
					  tips-line11: "您可以点击“...”将帖子置顶到用户页面"
 | 
				
			||||||
  tips-line13: "附在帖子上的所有文件都会保存到网盘中。"
 | 
					  tips-line13: "附在帖子上的所有文件都会保存到网盘中。"
 | 
				
			||||||
  tips-line14: "在自定义首页布局时,您可以右键单击窗口小部件以更改其设计。"
 | 
					  tips-line14: "在自定义首页布局时,您可以右键单击窗口小部件以更改其设计。"
 | 
				
			||||||
  tips-line17: "用“**”围绕文本将突出显示它。"
 | 
					  tips-line17: "用“**”围绕文本将突出显示它。"
 | 
				
			||||||
| 
						 | 
					@ -759,7 +770,7 @@ desktop/views/components/activity.chart.vue:
 | 
				
			||||||
  total: "黑 ... 总计"
 | 
					  total: "黑 ... 总计"
 | 
				
			||||||
  notes: "蓝 ... 投稿"
 | 
					  notes: "蓝 ... 投稿"
 | 
				
			||||||
  replies: "红 ... 回复"
 | 
					  replies: "红 ... 回复"
 | 
				
			||||||
  renotes: "绿 ... 转发"
 | 
					  renotes: "绿 ... 转推"
 | 
				
			||||||
desktop/views/components/activity.vue:
 | 
					desktop/views/components/activity.vue:
 | 
				
			||||||
  title: "活动"
 | 
					  title: "活动"
 | 
				
			||||||
  toggle: "切换显示"
 | 
					  toggle: "切换显示"
 | 
				
			||||||
| 
						 | 
					@ -856,12 +867,12 @@ desktop/views/components/note-detail.vue:
 | 
				
			||||||
  private: "私密投稿"
 | 
					  private: "私密投稿"
 | 
				
			||||||
  deleted: "投稿已删除"
 | 
					  deleted: "投稿已删除"
 | 
				
			||||||
  location: "位置信息"
 | 
					  location: "位置信息"
 | 
				
			||||||
  renote: "转发"
 | 
					  renote: "转推"
 | 
				
			||||||
  add-reaction: "回应"
 | 
					  add-reaction: "回应"
 | 
				
			||||||
  undo-reaction: "取消回应"
 | 
					  undo-reaction: "取消回应"
 | 
				
			||||||
desktop/views/components/note.vue:
 | 
					desktop/views/components/note.vue:
 | 
				
			||||||
  reply: "回复"
 | 
					  reply: "回复"
 | 
				
			||||||
  renote: "Renote"
 | 
					  renote: "转推"
 | 
				
			||||||
  add-reaction: "回应"
 | 
					  add-reaction: "回应"
 | 
				
			||||||
  undo-reaction: "取消回应"
 | 
					  undo-reaction: "取消回应"
 | 
				
			||||||
  detail: "详细信息"
 | 
					  detail: "详细信息"
 | 
				
			||||||
| 
						 | 
					@ -880,13 +891,13 @@ desktop/views/components/post-form.vue:
 | 
				
			||||||
  quote-placeholder: "引用这个帖子…"
 | 
					  quote-placeholder: "引用这个帖子…"
 | 
				
			||||||
  submit: "投稿"
 | 
					  submit: "投稿"
 | 
				
			||||||
  reply: "回复"
 | 
					  reply: "回复"
 | 
				
			||||||
  renote: "转发"
 | 
					  renote: "转推"
 | 
				
			||||||
  posted: "已发送投稿!"
 | 
					  posted: "已发送投稿!"
 | 
				
			||||||
  replied: "已回复!"
 | 
					  replied: "已回复!"
 | 
				
			||||||
  reposted: "已转发!"
 | 
					  reposted: "已转推!"
 | 
				
			||||||
  note-failed: "发帖失败"
 | 
					  note-failed: "发帖失败"
 | 
				
			||||||
  reply-failed: "回复失败"
 | 
					  reply-failed: "回复失败"
 | 
				
			||||||
  renote-failed: "转发失败"
 | 
					  renote-failed: "转推失败"
 | 
				
			||||||
  posting: "发送中"
 | 
					  posting: "发送中"
 | 
				
			||||||
  attach-media-from-local: "从设备中添加媒体文件"
 | 
					  attach-media-from-local: "从设备中添加媒体文件"
 | 
				
			||||||
  attach-media-from-drive: "从网盘中添加媒体文件"
 | 
					  attach-media-from-drive: "从网盘中添加媒体文件"
 | 
				
			||||||
| 
						 | 
					@ -911,13 +922,13 @@ desktop/views/components/progress-dialog.vue:
 | 
				
			||||||
desktop/views/components/renote-form.vue:
 | 
					desktop/views/components/renote-form.vue:
 | 
				
			||||||
  quote: "引用..."
 | 
					  quote: "引用..."
 | 
				
			||||||
  cancel: "取消"
 | 
					  cancel: "取消"
 | 
				
			||||||
  renote: "重新发送"
 | 
					  renote: "转推"
 | 
				
			||||||
  renote-home: "重新发送(首页)"
 | 
					  renote-home: "转推(首页)"
 | 
				
			||||||
  reposting: "重新发送中..."
 | 
					  reposting: "重新发送中..."
 | 
				
			||||||
  success: "已重新发送!"
 | 
					  success: "已转推!"
 | 
				
			||||||
  failure: "重新发送失败"
 | 
					  failure: "转推失败"
 | 
				
			||||||
desktop/views/components/renote-form-window.vue:
 | 
					desktop/views/components/renote-form-window.vue:
 | 
				
			||||||
  title: "您是否要重新发送?"
 | 
					  title: "您是否要转推?"
 | 
				
			||||||
desktop/views/pages/user-following-or-followers.vue:
 | 
					desktop/views/pages/user-following-or-followers.vue:
 | 
				
			||||||
  following: "{user}的正在关注"
 | 
					  following: "{user}的正在关注"
 | 
				
			||||||
  followers: "{user}的关注者"
 | 
					  followers: "{user}的关注者"
 | 
				
			||||||
| 
						 | 
					@ -967,7 +978,7 @@ common/views/components/drive-settings.vue:
 | 
				
			||||||
common/views/components/mute-and-block.vue:
 | 
					common/views/components/mute-and-block.vue:
 | 
				
			||||||
  mute-and-block: "屏蔽/拉黑"
 | 
					  mute-and-block: "屏蔽/拉黑"
 | 
				
			||||||
  mute: "屏蔽"
 | 
					  mute: "屏蔽"
 | 
				
			||||||
  block: "拉黑中"
 | 
					  block: "拉黑"
 | 
				
			||||||
  no-muted-users: "无屏蔽用户"
 | 
					  no-muted-users: "无屏蔽用户"
 | 
				
			||||||
  no-blocked-users: "无拉黑的用户"
 | 
					  no-blocked-users: "无拉黑的用户"
 | 
				
			||||||
  word-mute: "文字屏蔽"
 | 
					  word-mute: "文字屏蔽"
 | 
				
			||||||
| 
						 | 
					@ -1030,8 +1041,6 @@ desktop/views/components/received-follow-requests-window.vue:
 | 
				
			||||||
  reject: "拒绝"
 | 
					  reject: "拒绝"
 | 
				
			||||||
desktop/views/components/user-lists-window.vue:
 | 
					desktop/views/components/user-lists-window.vue:
 | 
				
			||||||
  title: "用户列表"
 | 
					  title: "用户列表"
 | 
				
			||||||
  create-list: "创建列表"
 | 
					 | 
				
			||||||
  list-name: "列表名称"
 | 
					 | 
				
			||||||
desktop/views/components/user-preview.vue:
 | 
					desktop/views/components/user-preview.vue:
 | 
				
			||||||
  notes: "帖子"
 | 
					  notes: "帖子"
 | 
				
			||||||
  following: "关注中"
 | 
					  following: "关注中"
 | 
				
			||||||
| 
						 | 
					@ -1209,7 +1218,9 @@ admin/views/users.vue:
 | 
				
			||||||
  unsuspend-confirm: "是否解除冻结?"
 | 
					  unsuspend-confirm: "是否解除冻结?"
 | 
				
			||||||
  unsuspended: "已成功解除用户冻结"
 | 
					  unsuspended: "已成功解除用户冻结"
 | 
				
			||||||
  make-silence: "禁言"
 | 
					  make-silence: "禁言"
 | 
				
			||||||
 | 
					  silence-confirm: "确认屏蔽?"
 | 
				
			||||||
  unmake-silence: "解除禁言"
 | 
					  unmake-silence: "解除禁言"
 | 
				
			||||||
 | 
					  unsilence-confirm: "解除屏蔽?"
 | 
				
			||||||
  verify: "认证用户"
 | 
					  verify: "认证用户"
 | 
				
			||||||
  verify-confirm: "是否官方账号?"
 | 
					  verify-confirm: "是否官方账号?"
 | 
				
			||||||
  verified: "此账户已被认证"
 | 
					  verified: "此账户已被认证"
 | 
				
			||||||
| 
						 | 
					@ -1422,12 +1433,11 @@ mobile/views/components/drive.vue:
 | 
				
			||||||
  file-count: "文件"
 | 
					  file-count: "文件"
 | 
				
			||||||
  nothing-in-drive: "网盘为空"
 | 
					  nothing-in-drive: "网盘为空"
 | 
				
			||||||
  folder-is-empty: "这文件夹是空的"
 | 
					  folder-is-empty: "这文件夹是空的"
 | 
				
			||||||
  prompt: "您想要干什么呢?(请输入数字):<1 → 上传文件 | 2 → 从URL上传文件 | 3 → 创建新文件夹 | 4 → 更改这个文件夹的名称 | 5 → 移动这个文件夹 | 6 → 删除这个文件夹>"
 | 
					 | 
				
			||||||
  deletion-alert: "抱歉! 删除文件夹功能尚未实现。"
 | 
					 | 
				
			||||||
  folder-name: "文件夹名称"
 | 
					  folder-name: "文件夹名称"
 | 
				
			||||||
  here-is-root: "当前位置为根目录。"
 | 
					  here-is-root: "当前位置为根目录。"
 | 
				
			||||||
  url-prompt: "要上传的文件的URL"
 | 
					  url-prompt: "要上传的文件的URL"
 | 
				
			||||||
  uploading: "已请求上传。 上传完成可能需要一段时间。"
 | 
					  uploading: "已请求上传。 上传完成可能需要一段时间。"
 | 
				
			||||||
 | 
					  folder-name-cannot-empty: "文件夹名不能为空。"
 | 
				
			||||||
mobile/views/components/drive-file-chooser.vue:
 | 
					mobile/views/components/drive-file-chooser.vue:
 | 
				
			||||||
  select-file: "选择文件"
 | 
					  select-file: "选择文件"
 | 
				
			||||||
mobile/views/components/drive-folder-chooser.vue:
 | 
					mobile/views/components/drive-folder-chooser.vue:
 | 
				
			||||||
| 
						 | 
					@ -1476,7 +1486,7 @@ mobile/views/components/post-form.vue:
 | 
				
			||||||
  add-visible-user: "添加用户"
 | 
					  add-visible-user: "添加用户"
 | 
				
			||||||
  submit: "帖子"
 | 
					  submit: "帖子"
 | 
				
			||||||
  reply: "回复"
 | 
					  reply: "回复"
 | 
				
			||||||
  renote: "Renote"
 | 
					  renote: "转推"
 | 
				
			||||||
  quote-placeholder: "引用这个帖子t... (可选)"
 | 
					  quote-placeholder: "引用这个帖子t... (可选)"
 | 
				
			||||||
  reply-placeholder: "回复这个帖子"
 | 
					  reply-placeholder: "回复这个帖子"
 | 
				
			||||||
  cw-placeholder: "评论帖子(可选)"
 | 
					  cw-placeholder: "评论帖子(可选)"
 | 
				
			||||||
| 
						 | 
					@ -1501,9 +1511,16 @@ mobile/views/components/ui.nav.vue:
 | 
				
			||||||
  game: "游戏"
 | 
					  game: "游戏"
 | 
				
			||||||
  admin: "管理"
 | 
					  admin: "管理"
 | 
				
			||||||
  about: "关于 Misskey"
 | 
					  about: "关于 Misskey"
 | 
				
			||||||
 | 
					mobile/views/pages/drive.vue:
 | 
				
			||||||
 | 
					  contextmenu:
 | 
				
			||||||
 | 
					    upload: "上传文件"
 | 
				
			||||||
 | 
					    url-upload: "从URL上传文件"
 | 
				
			||||||
 | 
					    create-folder: "创建文件夹"
 | 
				
			||||||
 | 
					    rename-folder: "重命名文件夹"
 | 
				
			||||||
 | 
					    move-folder: "移动此文件夹"
 | 
				
			||||||
 | 
					    delete-folder: "删除此文件夹"
 | 
				
			||||||
mobile/views/pages/user-lists.vue:
 | 
					mobile/views/pages/user-lists.vue:
 | 
				
			||||||
  title: "列表"
 | 
					  title: "列表"
 | 
				
			||||||
  enter-list-name: "输入要列出的列表的名称"
 | 
					 | 
				
			||||||
mobile/views/pages/signup.vue:
 | 
					mobile/views/pages/signup.vue:
 | 
				
			||||||
  lets-start: "您的账户现已准备就绪! 📦"
 | 
					  lets-start: "您的账户现已准备就绪! 📦"
 | 
				
			||||||
mobile/views/pages/followers.vue:
 | 
					mobile/views/pages/followers.vue:
 | 
				
			||||||
| 
						 | 
					@ -1600,7 +1617,7 @@ deck/deck.user-column.vue:
 | 
				
			||||||
  images: "图片"
 | 
					  images: "图片"
 | 
				
			||||||
  activity: "活动"
 | 
					  activity: "活动"
 | 
				
			||||||
  timeline: "时间线"
 | 
					  timeline: "时间线"
 | 
				
			||||||
  pinned-notes: "标记投稿"
 | 
					  pinned-notes: "置顶帖"
 | 
				
			||||||
docs:
 | 
					docs:
 | 
				
			||||||
  edit-this-page-on-github: "发现错误或想要为文档做出贡献?"
 | 
					  edit-this-page-on-github: "发现错误或想要为文档做出贡献?"
 | 
				
			||||||
  edit-this-page-on-github-link: "在GitHub上编辑这个页面。"
 | 
					  edit-this-page-on-github-link: "在GitHub上编辑这个页面。"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										20
									
								
								package.json
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								package.json
									
										
									
									
									
								
							| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	"name": "misskey",
 | 
						"name": "misskey",
 | 
				
			||||||
	"author": "syuilo <i@syuilo.com>",
 | 
						"author": "syuilo <i@syuilo.com>",
 | 
				
			||||||
	"version": "11.2.1",
 | 
						"version": "11.2.2",
 | 
				
			||||||
	"codename": "daybreak",
 | 
						"codename": "daybreak",
 | 
				
			||||||
	"repository": {
 | 
						"repository": {
 | 
				
			||||||
		"type": "git",
 | 
							"type": "git",
 | 
				
			||||||
| 
						 | 
					@ -94,7 +94,7 @@
 | 
				
			||||||
		"@types/websocket": "0.0.40",
 | 
							"@types/websocket": "0.0.40",
 | 
				
			||||||
		"@types/ws": "6.0.1",
 | 
							"@types/ws": "6.0.1",
 | 
				
			||||||
		"animejs": "3.0.1",
 | 
							"animejs": "3.0.1",
 | 
				
			||||||
		"apexcharts": "3.6.7",
 | 
							"apexcharts": "3.6.8",
 | 
				
			||||||
		"autobind-decorator": "2.4.0",
 | 
							"autobind-decorator": "2.4.0",
 | 
				
			||||||
		"autosize": "4.0.2",
 | 
							"autosize": "4.0.2",
 | 
				
			||||||
		"autwh": "0.1.0",
 | 
							"autwh": "0.1.0",
 | 
				
			||||||
| 
						 | 
					@ -112,7 +112,7 @@
 | 
				
			||||||
		"cssnano": "4.1.10",
 | 
							"cssnano": "4.1.10",
 | 
				
			||||||
		"dateformat": "3.0.3",
 | 
							"dateformat": "3.0.3",
 | 
				
			||||||
		"deep-equal": "1.0.1",
 | 
							"deep-equal": "1.0.1",
 | 
				
			||||||
		"diskusage": "1.0.0",
 | 
							"diskusage": "1.1.0",
 | 
				
			||||||
		"double-ended-queue": "2.1.0-0",
 | 
							"double-ended-queue": "2.1.0-0",
 | 
				
			||||||
		"elasticsearch": "15.4.1",
 | 
							"elasticsearch": "15.4.1",
 | 
				
			||||||
		"emojilib": "2.4.0",
 | 
							"emojilib": "2.4.0",
 | 
				
			||||||
| 
						 | 
					@ -138,10 +138,10 @@
 | 
				
			||||||
		"html-minifier": "4.0.0",
 | 
							"html-minifier": "4.0.0",
 | 
				
			||||||
		"http-signature": "1.2.0",
 | 
							"http-signature": "1.2.0",
 | 
				
			||||||
		"insert-text-at-cursor": "0.2.0",
 | 
							"insert-text-at-cursor": "0.2.0",
 | 
				
			||||||
		"is-root": "2.0.0",
 | 
							"is-root": "2.1.0",
 | 
				
			||||||
		"is-svg": "4.1.0",
 | 
							"is-svg": "4.1.0",
 | 
				
			||||||
		"js-yaml": "3.13.1",
 | 
							"js-yaml": "3.13.1",
 | 
				
			||||||
		"jsdom": "14.0.0",
 | 
							"jsdom": "14.1.0",
 | 
				
			||||||
		"json5": "2.1.0",
 | 
							"json5": "2.1.0",
 | 
				
			||||||
		"json5-loader": "2.0.0",
 | 
							"json5-loader": "2.0.0",
 | 
				
			||||||
		"katex": "0.10.1",
 | 
							"katex": "0.10.1",
 | 
				
			||||||
| 
						 | 
					@ -161,20 +161,20 @@
 | 
				
			||||||
		"loader-utils": "1.2.3",
 | 
							"loader-utils": "1.2.3",
 | 
				
			||||||
		"lolex": "3.1.0",
 | 
							"lolex": "3.1.0",
 | 
				
			||||||
		"lookup-dns-cache": "2.1.0",
 | 
							"lookup-dns-cache": "2.1.0",
 | 
				
			||||||
		"minio": "7.0.5",
 | 
							"minio": "7.0.6",
 | 
				
			||||||
		"mocha": "6.1.3",
 | 
							"mocha": "6.1.3",
 | 
				
			||||||
		"moji": "0.5.1",
 | 
							"moji": "0.5.1",
 | 
				
			||||||
		"moment": "2.24.0",
 | 
							"moment": "2.24.0",
 | 
				
			||||||
		"ms": "2.1.1",
 | 
							"ms": "2.1.1",
 | 
				
			||||||
		"nested-property": "0.0.7",
 | 
							"nested-property": "0.0.7",
 | 
				
			||||||
		"node-fetch": "2.3.0",
 | 
							"node-fetch": "2.3.0",
 | 
				
			||||||
		"nodemailer": "6.1.0",
 | 
							"nodemailer": "6.1.1",
 | 
				
			||||||
		"nprogress": "0.2.0",
 | 
							"nprogress": "0.2.0",
 | 
				
			||||||
		"object-assign-deep": "0.4.0",
 | 
							"object-assign-deep": "0.4.0",
 | 
				
			||||||
		"os-utils": "0.0.14",
 | 
							"os-utils": "0.0.14",
 | 
				
			||||||
		"parse5": "5.1.0",
 | 
							"parse5": "5.1.0",
 | 
				
			||||||
		"parsimmon": "1.12.0",
 | 
							"parsimmon": "1.12.0",
 | 
				
			||||||
		"pg": "7.9.0",
 | 
							"pg": "7.10.0",
 | 
				
			||||||
		"portscanner": "2.2.0",
 | 
							"portscanner": "2.2.0",
 | 
				
			||||||
		"postcss-loader": "3.0.0",
 | 
							"postcss-loader": "3.0.0",
 | 
				
			||||||
		"prismjs": "1.16.0",
 | 
							"prismjs": "1.16.0",
 | 
				
			||||||
| 
						 | 
					@ -210,7 +210,7 @@
 | 
				
			||||||
		"stylus": "0.54.5",
 | 
							"stylus": "0.54.5",
 | 
				
			||||||
		"stylus-loader": "3.0.2",
 | 
							"stylus-loader": "3.0.2",
 | 
				
			||||||
		"summaly": "2.2.0",
 | 
							"summaly": "2.2.0",
 | 
				
			||||||
		"systeminformation": "4.1.4",
 | 
							"systeminformation": "4.1.5",
 | 
				
			||||||
		"syuilo-password-strength": "0.0.1",
 | 
							"syuilo-password-strength": "0.0.1",
 | 
				
			||||||
		"terser-webpack-plugin": "1.2.3",
 | 
							"terser-webpack-plugin": "1.2.3",
 | 
				
			||||||
		"textarea-caret": "3.1.0",
 | 
							"textarea-caret": "3.1.0",
 | 
				
			||||||
| 
						 | 
					@ -240,7 +240,7 @@
 | 
				
			||||||
		"vue-loader": "15.7.0",
 | 
							"vue-loader": "15.7.0",
 | 
				
			||||||
		"vue-marquee-text-component": "1.1.1",
 | 
							"vue-marquee-text-component": "1.1.1",
 | 
				
			||||||
		"vue-prism-component": "1.1.1",
 | 
							"vue-prism-component": "1.1.1",
 | 
				
			||||||
		"vue-router": "3.0.4",
 | 
							"vue-router": "3.0.6",
 | 
				
			||||||
		"vue-sequential-entrance": "1.1.3",
 | 
							"vue-sequential-entrance": "1.1.3",
 | 
				
			||||||
		"vue-style-loader": "4.1.2",
 | 
							"vue-style-loader": "4.1.2",
 | 
				
			||||||
		"vue-svg-inline-loader": "1.2.15",
 | 
							"vue-svg-inline-loader": "1.2.15",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -144,6 +144,7 @@ export class UserRepository extends Repository<User> {
 | 
				
			||||||
				autoWatch: profile!.autoWatch,
 | 
									autoWatch: profile!.autoWatch,
 | 
				
			||||||
				alwaysMarkNsfw: profile!.alwaysMarkNsfw,
 | 
									alwaysMarkNsfw: profile!.alwaysMarkNsfw,
 | 
				
			||||||
				carefulBot: profile!.carefulBot,
 | 
									carefulBot: profile!.carefulBot,
 | 
				
			||||||
 | 
									twoFactorEnabled: profile!.twoFactorEnabled,
 | 
				
			||||||
				hasUnreadMessagingMessage: MessagingMessages.count({
 | 
									hasUnreadMessagingMessage: MessagingMessages.count({
 | 
				
			||||||
					where: {
 | 
										where: {
 | 
				
			||||||
						recipientId: user.id,
 | 
											recipientId: user.id,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -271,11 +271,6 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	//#endregion
 | 
						//#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// 繋がらないインスタンスに何回も試行するのを防ぐ, 後続の同様処理の連続試行を防ぐ ため 試行前にも更新する
 | 
					 | 
				
			||||||
	await Users.update(exist.id, {
 | 
					 | 
				
			||||||
		lastFetchedAt: new Date(),
 | 
					 | 
				
			||||||
	});
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (resolver == null) resolver = new Resolver();
 | 
						if (resolver == null) resolver = new Resolver();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const object = hint || await resolver.resolve(uri) as any;
 | 
						const object = hint || await resolver.resolve(uri) as any;
 | 
				
			||||||
| 
						 | 
					@ -349,13 +344,13 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint
 | 
				
			||||||
		url: person.url,
 | 
							url: person.url,
 | 
				
			||||||
		fields,
 | 
							fields,
 | 
				
			||||||
		description: person.summary ? fromHtml(person.summary) : null,
 | 
							description: person.summary ? fromHtml(person.summary) : null,
 | 
				
			||||||
		twitterUserId: services.twitter.userId,
 | 
							twitterUserId: services.twitter ? services.twitter.userId : null,
 | 
				
			||||||
		twitterScreenName: services.twitter.screenName,
 | 
							twitterScreenName: services.twitter ? services.twitter.screenName : null,
 | 
				
			||||||
		githubId: services.github.id,
 | 
							githubId: services.github ? services.github.id : null,
 | 
				
			||||||
		githubLogin: services.github.login,
 | 
							githubLogin: services.github ? services.github.login : null,
 | 
				
			||||||
		discordId: services.discord.id,
 | 
							discordId: services.discord ? services.discord.id : null,
 | 
				
			||||||
		discordUsername: services.discord.username,
 | 
							discordUsername: services.discord ? services.discord.username : null,
 | 
				
			||||||
		discordDiscriminator: services.discord.discriminator,
 | 
							discordDiscriminator: services.discord ? services.discord.discriminator : null,
 | 
				
			||||||
	});
 | 
						});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// ハッシュタグ更新
 | 
						// ハッシュタグ更新
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,7 +37,7 @@ export async function resolveUser(username: string, host: string | null, option?
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const user = await Users.findOne({ usernameLower, host }, option);
 | 
						const user = await Users.findOne({ usernameLower, host }, option) as IRemoteUser;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const acctLower = `${usernameLower}@${host}`;
 | 
						const acctLower = `${usernameLower}@${host}`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -48,14 +48,20 @@ export async function resolveUser(username: string, host: string | null, option?
 | 
				
			||||||
		return await createPerson(self.href);
 | 
							return await createPerson(self.href);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (resync) {
 | 
						// resyncオプション OR ユーザー情報が古い場合は、WebFilgerからやりなおして返す
 | 
				
			||||||
 | 
						if (resync || user.lastFetchedAt == null || Date.now() - user.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24) {
 | 
				
			||||||
 | 
							// 繋がらないインスタンスに何回も試行するのを防ぐ, 後続の同様処理の連続試行を防ぐ ため 試行前にも更新する
 | 
				
			||||||
 | 
							await Users.update(user.id, {
 | 
				
			||||||
 | 
								lastFetchedAt: new Date(),
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		logger.info(`try resync: ${acctLower}`);
 | 
							logger.info(`try resync: ${acctLower}`);
 | 
				
			||||||
		const self = await resolveSelf(acctLower);
 | 
							const self = await resolveSelf(acctLower);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ((user as IRemoteUser).uri !== self.href) {
 | 
							if (user.uri !== self.href) {
 | 
				
			||||||
			// if uri mismatch, Fix (user@host <=> AP's Person id(IRemoteUser.uri)) mapping.
 | 
								// if uri mismatch, Fix (user@host <=> AP's Person id(IRemoteUser.uri)) mapping.
 | 
				
			||||||
			logger.info(`uri missmatch: ${acctLower}`);
 | 
								logger.info(`uri missmatch: ${acctLower}`);
 | 
				
			||||||
			logger.info(`recovery missmatch uri for (username=${username}, host=${host}) from ${(user as IRemoteUser).uri} to ${self.href}`);
 | 
								logger.info(`recovery missmatch uri for (username=${username}, host=${host}) from ${user.uri} to ${self.href}`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// validate uri
 | 
								// validate uri
 | 
				
			||||||
			const uri = new URL(self.href);
 | 
								const uri = new URL(self.href);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -95,13 +95,6 @@ export default define(meta, async (ps, me) => {
 | 
				
			||||||
			throw new ApiError(meta.errors.noSuchUser);
 | 
								throw new ApiError(meta.errors.noSuchUser);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// ユーザー情報更新
 | 
					 | 
				
			||||||
		if (Users.isRemoteUser(user)) {
 | 
					 | 
				
			||||||
			if (user.lastFetchedAt == null || Date.now() - user.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24) {
 | 
					 | 
				
			||||||
				resolveUser(user.username, user.host, { }, true);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		return await Users.pack(user, me, {
 | 
							return await Users.pack(user, me, {
 | 
				
			||||||
			detail: true
 | 
								detail: true
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue