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