Merge branch 'develop'

This commit is contained in:
syuilo 2021-04-18 23:25:55 +09:00
commit 631091940b
57 changed files with 1843 additions and 505 deletions

View file

@ -429,6 +429,7 @@ latestVersion: "آخر نسخة مستقرة"
usageAmount: "الإستخدام"
capacity: "السعة"
inUse: "مستخدم"
info: "عن"
_email:
_follow:
title: "يتابعك"

View file

@ -1,2 +1,375 @@
---
_lang_: "Čeština"
introMisskey: "Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
monthAndDay: "{day}. {month}."
search: "Vyhledávání"
notifications: "Oznámení"
username: "Uživatelské jméno"
password: "Heslo"
fetchingAsApObject: "Načítám data z Fediversu..."
ok: "Potvrdit"
gotIt: "Rozumím!"
cancel: "Zrušit"
enterUsername: "Zadej uživatelské jméno"
renotedBy: "{user} přeposla/a"
noNotes: "Žádné poznámky"
noNotifications: "Žádná oznámení"
instance: "Instance"
settings: "Nastavení"
basicSettings: "Obecná nastavení"
otherSettings: "Rozšířená nastavení"
openInWindow: "Otevřít v novém okně"
profile: "Váš profil"
timeline: "Časová osa"
noAccountDescription: "Tento uživatel zatím nenapsal svou biografii."
login: "Přihlásit se"
loggingIn: "Probíhá přihlašování"
logout: "Odhlásit"
signup: "Registrace"
uploading: "Nahrávám"
save: "Uložit"
users: "Uživatelé"
addUser: "Přidat uživatele"
favorite: "Oblíbené"
favorites: "Oblíbené"
unfavorite: "Odebrat z oblízených"
favorited: "Přidáno do oblíbených"
alreadyFavorited: "Už je mezi oblíbenými"
cantFavorite: "Nepodařilo se přidat mezi oblíbené."
pin: "Připnout"
unpin: "Odepnout"
copyContent: "Zkopírovat obsah"
copyLink: "Kopírovat odkaz"
delete: "Smazat"
deleteAndEdit: "Smazat a upravit"
deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni."
addToList: "Přidat do seznamu"
sendMessage: "Odeslat zprávu"
copyUsername: "Kopírovat uživatelské jméno"
searchUser: "Vyhledat uživatele"
reply: "Odpovědět"
loadMore: "Zobrazit více"
showMore: "Zobrazit více"
mention: "Zmínění"
mentions: "Zmínění"
importAndExport: "Import a export"
import: "Importovat"
export: "Exportovat"
files: "Soubor(ů)"
download: "Stáhnout"
unfollowConfirm: "Jste si jisti že už nechcete sledovat {name}?"
importRequested: "Požádali jste o export. To může chvilku trvat."
lists: "Seznamy"
noLists: "Nemáte žádné seznamy"
note: "Poznámka"
notes: "Poznámky"
following: "Sledovaní"
followers: "Sledující"
followsYou: "Sledují vás"
createList: "Vytvořit seznam"
manageLists: "Spravovat seznam"
error: "Chyba"
somethingHappened: "Jejda. Něco se nepovedlo."
retry: "Opakovat"
pageLoadError: "Nepodařilo se načíst stránku"
follow: "Sledovaní"
unfollow: "Přestat sledovat"
renote: "Přeposlat"
cantReRenote: "Odpověď nemůže být odstraněna."
quote: "Citovat"
pinned: "Připnout"
you: "Vy"
clickToShow: "Klikněte pro zobrazení"
sensitive: "NSFW"
add: "Přidat"
reaction: "Reakce"
reactionSettingDescription: "Vyberte Vaší oblíbenou reakci, kterou chcete připnout ve výběru."
reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
attachCancel: "Odstranit přílohu"
markAsSensitive: "Označit jako NSFW"
unmarkAsSensitive: "Odznačit jako NSFW"
enterFileName: "Zadejte název souboru"
mute: "Ztlumit"
unmute: "Odmlčet"
block: "Zablokovat"
unblock: "Odblokovat"
suspend: "Zmrazit"
unsuspend: "Odmrazit"
blockConfirm: "Jste si jistí že chcete zablokovat tento účet?"
unblockConfirm: "Jste si jistí že chcete odblokovat tento účet?"
suspendConfirm: "Jste si jistí že chcete suspendovat tenhle účet?"
unsuspendConfirm: "Jste si jistí že chcete obnovit tenhle účet?"
selectList: "Vybrat seznam"
selectAntenna: "Vyberte Anténu"
selectWidget: "Zvolte widget"
editWidgets: "Upravit widget"
editWidgetsExit: "Hotovo"
customEmojis: "Vlastní emoji"
emoji: "Emoji"
emojiName: "Jméno emoji"
emojiUrl: "URL obrázku"
addEmoji: "Přidat emoji"
settingGuide: "Doporučené nastavení"
flagAsBot: "Tento účet je bot"
flagAsBotDescription: "Pokud je tento účet kontrolován programem zaškrtněte tuto možnost. To označí tento účet jako bot pro ostatní vývojáře a zabrání tak nekonečným interakcím s ostatními boty a upraví Misskey systém aby se choval k tomuhle účtu jako bot."
flagAsCat: "Tenhle účet je kočka"
flagAsCatDescription: "Vyberte tuto možnost aby tento účet byl označen jako kočka."
autoAcceptFollowed: "Automaticky akceptovat následování od účtů které sledujete"
addAcount: "Přidat účet"
loginFailed: "Přihlášení se nezdařilo."
general: "Obecně"
wallpaper: "Obrázek na pozadí"
setWallpaper: "Nastavení obrázku na pozadí"
removeWallpaper: "Odstranit pozadí"
selectUser: "Vyberte uživatele"
recipient: "Pro"
annotation: "Komentáře"
instances: "Instance"
registeredAt: "Registrován"
latestRequestSentAt: "Poslední požadavek poslán"
latestRequestReceivedAt: "Poslední požadavek přijat"
latestStatus: "Poslední status"
storageUsage: "Využití úložiště"
charts: "Grafy"
perHour: "za hodinu"
perDay: "za den"
blockThisInstance: "Blokovat tuto instanci"
operations: "Operace"
software: "Software"
version: "Verze"
metadata: "Metadata"
jobQueue: "Fronta úloh"
cpuAndMemory: "CPU a paměť"
network: "Síť"
disk: "Disk"
instanceInfo: "Informace o instanci"
statistics: "Statistiky"
clearQueue: "Vyčistit frontu"
clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
clearCachedFiles: "Vyprázdnit mezipaměť"
blockedInstances: "Blokované instance"
pinLimitExceeded: "Nemůžete připnout další poznámky."
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
done: "Hotovo"
processing: "Zpracovávám"
preview: "Náhled"
default: "Výchozí"
blocked: "Blokováno"
suspended: "Suspendováno"
all: "Vše"
subscribing: "Odebíráte"
publishing: "Publikuji"
notResponding: "Neodpovídá"
instanceFollowers: "Následovníci na instanci"
instanceUsers: "Uživatelé této instance"
changePassword: "Změnit heslo"
security: "Zabezpečení"
currentPassword: "Současné heslo"
newPassword: "Nové heslo"
newPasswordRetype: "Nové heslo (znovu)"
attachFile: "Přiložit soubor"
more: "Více!"
usernameOrUserId: "Uživatelské jméno nebo uživatelské id"
noSuchUser: "Uživatel nebyl nalezen"
announcements: "Oznámení"
imageUrl: "URL obrázku"
remove: "Smazat"
removed: "Smazáno"
removeAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
resetAreYouSure: "Opravdu resetovat?"
saved: "Uloženo"
messaging: "Zprávy"
upload: "Nahrát soubory"
fromDrive: "Z disku"
fromUrl: "Z URL"
uploadFromUrl: "Nahrát z URL adresy"
uploadFromUrlDescription: "URL adresa souboru, který chcete nahrát"
uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno nahrávání."
explore: "Objevovat"
games: "Misskey hry"
messageRead: "Přečtené"
noMoreHistory: "To je vše"
startMessaging: "Zahájit chat"
nUsersRead: "přečteno {n} uživateli"
agreeTo: "Souhlasím s {0}"
tos: "Podmínky užívání"
start: "Začít"
home: "Domů"
remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je ze vzdálené instance."
activity: "Aktivita"
images: "Obrázky"
birthday: "Datum narození"
registeredDate: "Datum registrace"
location: "Lokace"
lightThemes: "Světlý vzhled"
darkThemes: "Tmavý vzhled"
syncDeviceDarkMode: "Synchronizovat tmavý vzhled s nastavením Vašeho systému"
drive: "Úložiště"
fileName: "Název souboru"
selectFile: "Vybrat soubor"
selectFiles: "Vybrat soubory"
selectFolder: "Vyberte složku"
selectFolders: "Vyberte složky"
renameFile: "Přejmenovat soubor"
folderName: "Název složky"
createFolder: "Vytvořit složku"
renameFolder: "Přejmenovat složku"
deleteFolder: "Odstranit složku"
copyUrl: "Kopírovat URL"
rename: "Přejmenovat"
avatar: "Avatar"
banner: "Baner"
nsfw: "NSFW"
disconnectedFromServer: "Spojení bylo přerušeno"
reload: "Aktualizovat"
watch: "Sledovat"
unwatch: "Přestat sledovat"
accept: "Souhlasím"
reject: "Odmítnout"
normal: "Normální"
instanceName: "Název instance"
instanceDescription: "Popis instance"
maintainerName: "Správce"
maintainerEmail: "E-mailová adresa správce"
tosUrl: "URL pro smluvní podmínky"
thisYear: "Tento rok"
thisMonth: "Tento měsíc"
today: "Dnes"
dayX: "{day}"
monthX: "{month}"
yearX: "{year}"
pages: "Stránky"
integration: "Integrace"
connectSerice: "Připojit"
disconnectSerice: "Odpojit"
enableLocalTimeline: "Povolit lokální čas"
enableGlobalTimeline: "Povolit globální čas"
registration: "Registrace"
enableRegistration: "Povolit registraci novým uživatelům"
invite: "Pozvat"
inMb: "V megabajtech"
iconUrl: "Favicon URL"
bannerUrl: "Baner URL"
basicInfo: "Základní informace"
hcaptcha: "hCaptcha"
userList: "Seznamy"
about: "Informace"
aboutMisskey: "O Misskey"
administrator: "Administrátor"
token: "Token"
twoStepAuthentication: "Dvoufaktorová autentikace"
moderator: "Moderátor"
nUsersMentioned: "{n} uživatelů zmínilo"
securityKey: "Bezpečnostní klíč"
securityKeyName: "Název klíče"
registerSecurityKey: "Registrovat bezpečnostní klíč"
lastUsed: "Naposledy použito"
unregister: "Odstranit"
resetPassword: "Resetovat heslo"
newPasswordIs: "Nové heslo je \"{password}\""
reduceUiAnimation: "Snížit UI animace"
share: "Sdílet"
notFound: "Nenalezeno"
notFoundDescription: "Nebyla nalezená žádná stránka korespondující se zadanou URL."
uploadFolder: "Výchozí lokace pro upload"
cacheClear: "Vymazat cache"
markAsReadAllNotifications: "Označit všechna oznámení za přečtená"
markAsReadAllUnreadNotes: "Označit všechny příspěvky za přečtené"
markAsReadAllTalkMessages: "Označit všechny zprávy za přečtené"
help: "Nápověda"
inputMessageHere: "Sem zadejte zprávu"
close: "Zavřít"
group: "Skupina"
groups: "Skupiny"
createGroup: "Vytvořit skupinu"
ownedGroups: "Vlastněné skupiny"
joinedGroups: "Členství ve skupinách"
invites: "Pozvat"
groupName: "Název skupiny"
members: "Členové"
transfer: "Převod"
title: "Titulek"
text: "Text"
enable: "Povolit"
next: "Další"
retype: "Zadejte znovu"
noteOf: "{user} poznámky"
inviteToGroup: "Pozvat do skupiny"
invitations: "Pozvat"
smtpUser: "Uživatelské jméno"
smtpPass: "Heslo"
clearCache: "Vyprázdnit mezipaměť"
info: "Informace"
_mfm:
mention: "Zmínění"
quote: "Citovat"
emoji: "Vlastní emoji"
search: "Vyhledávání"
_sidebar:
icon: "Avatar"
_theme:
keys:
mention: "Zmínění"
renote: "Přeposlat"
_sfx:
note: "Poznámky"
notification: "Oznámení"
chat: "Zprávy"
_widgets:
notifications: "Oznámení"
timeline: "Časová osa"
activity: "Aktivita"
jobQueue: "Fronta úloh"
_cw:
show: "Zobrazit více"
_visibility:
home: "Domů"
followers: "Sledující"
_profile:
username: "Uživatelské jméno"
_exportOrImport:
followingList: "Sledovaní"
muteList: "Ztlumit"
blockingList: "Zablokovat"
userLists: "Seznamy"
_timelines:
home: "Domů"
_rooms:
_roomType:
default: "Výchozí"
_pages:
blocks:
image: "Obrázky"
script:
categories:
list: "Seznamy"
blocks:
_join:
arg1: "Seznamy"
_randomPick:
arg1: "Seznamy"
_dailyRandomPick:
arg1: "Seznamy"
_seedRandomPick:
arg2: "Seznamy"
_pick:
arg1: "Seznamy"
_listLen:
arg1: "Seznamy"
types:
array: "Seznamy"
_notification:
_types:
follow: "Sledovaní"
mention: "Zmínění"
renote: "Přeposlat"
quote: "Citovat"
reaction: "Reakce"
_deck:
_columns:
notifications: "Oznámení"
tl: "Časová osa"
list: "Seznamy"
mentions: "Zmínění"

View file

@ -687,6 +687,7 @@ textColor: "Text"
saveAs: "Speichern als…"
advanced: "Fortgeschritten"
value: "Wert"
createdAt: "Erstellt am"
updatedAt: "Zuletzt geändert am"
saveConfirm: "Änderungen speichern?"
deleteConfirm: "Wirklich löschen?"
@ -710,6 +711,23 @@ typingUsers: "{users} ist/sind am schreiben..."
jumpToSpecifiedDate: "Zu bestimmtem Datum springen"
showingPastTimeline: "Momentan wird eine alte Chronik angezeigt"
clear: "Zurückkehren"
markAllAsRead: "Alle als gelesen markieren"
goBack: "Zurück"
unlikeConfirm: "\"Gefällt mir\" wirklich entfernen?"
fullView: "Vollansicht"
quitFullView: "Vollansicht verlassen"
addDescription: "Beschreibung hinzufügen"
userPagePinTip: "Um Notizen hier erscheinen zu lassen, drücke \"Anpinnen\" im Menü individueller Notizen"
notSpecifiedMentionWarning: "Diese Notiz enthält Erwähnungen von Nutzern, die nicht als Empfänger ausgewählt sind"
info: "Über"
userInfo: "Benutzerinformation"
unknown: "Unbekannt"
onlineStatus: "Online-Status"
hideOnlineStatus: "Online-Status verbergen"
hideOnlineStatusDescription: "Das Verbergen deines Online-Statuses reduziert die Nützlichkeit von Funktionen wie der Suche."
online: "Online"
active: "Aktiv"
offline: "Offline"
_email:
_follow:
title: "Du hast einen neuen Follower"
@ -865,6 +883,7 @@ _theme:
install: "Thema installieren"
manage: "Themaverwaltung"
code: "Themen-Code"
description: "Beschreibung"
installed: "{name} wurde installiert"
installedThemes: "Installierte Themen"
builtinThemes: "Eingebaute Themen"

View file

@ -687,6 +687,7 @@ textColor: "Text"
saveAs: "Save as..."
advanced: "Advanced"
value: "Value"
createdAt: "Created on"
updatedAt: "Updated at"
saveConfirm: "Save changes?"
deleteConfirm: "Really delete?"
@ -710,6 +711,23 @@ typingUsers: "{users} is/are typing..."
jumpToSpecifiedDate: "Jump to specific date"
showingPastTimeline: "Currently displaying an old timeline"
clear: "Return"
markAllAsRead: "Mark all as read"
goBack: "Back"
unlikeConfirm: "Really remove your like?"
fullView: "Full view"
quitFullView: "Exit full view"
addDescription: "Add description"
userPagePinTip: "You can make notes be displayed here by selecting \"Pin to profile\" from the menu of individual notes"
notSpecifiedMentionWarning: "This note contains mentions of users not included as recipient"
info: "About"
userInfo: "User information"
unknown: "Unknown"
onlineStatus: "Online status"
hideOnlineStatus: "Hide online status"
hideOnlineStatusDescription: "Hiding your online status reduces the convenience of some functions such as search"
online: "Online"
active: "Active"
offline: "Offline"
_email:
_follow:
title: "You've got a new follower"
@ -865,6 +883,7 @@ _theme:
install: "Install theme"
manage: "Themes manager"
code: "Theme code"
description: "Description"
installed: "{name} has been installed"
installedThemes: "Installed themes"
builtinThemes: "Built-in themes"

View file

@ -652,6 +652,8 @@ backgroundColor: "Fondo"
accentColor: "Acento"
textColor: "Texto"
value: "Valores"
goBack: "Deseleccionar"
info: "Información"
_email:
_follow:
title: "te ha seguido"
@ -745,6 +747,7 @@ _theme:
install: "Instalar tema"
manage: "Gestor de temas"
code: "Código del tema"
description: "Descripción"
installed: "{name} ha sido instalado"
alreadyInstalled: "Este tema ya está instalado"
invalid: "El formato del tema no es válido"

View file

@ -686,6 +686,7 @@ textColor: "Texte"
saveAs: "Enregistrer sous ..."
advanced: "Avancé"
value: "Valeur"
createdAt: "Date de création"
updatedAt: "Mis à jour le"
saveConfirm: "Voulez-vous sauvegarder les modifications?"
deleteConfirm: "Confirmez-vous la suppression?"
@ -709,6 +710,22 @@ typingUsers: "{users} est en train d'écrire"
jumpToSpecifiedDate: "Se rendre à la date"
showingPastTimeline: "Un fil ancien est affiché"
clear: "Effacer"
markAllAsRead: "Tout marquer comme lu"
goBack: "Retour"
unlikeConfirm: "Êtes-vous sûr·e de ne plus vouloir aimer cette publication ?"
fullView: "Plein écran"
quitFullView: "Quitter le plein écran"
addDescription: "Ajouter une description"
userPagePinTip: "Vous pouvez afficher des notes ici en sélectionnant l'option « Épingler au profil » dans le menu de chaque note."
notSpecifiedMentionWarning: "Vous avez mentionné des utilisateur·rice·s qui ne font pas partie de la liste des destinataires"
info: "Informations"
userInfo: "Informations sur l'utilisateur"
unknown: "Inconnu"
onlineStatus: "Statut"
hideOnlineStatus: "Toujours apparaître hors ligne"
hideOnlineStatusDescription: "Forcer votre statut à toujours apparaître hors ligne peut diminuer les performances de certaines fonctionnalités, telles que la Recherche."
online: "En ligne"
offline: "Hors ligne"
_email:
_follow:
title: "Vous suit"
@ -842,6 +859,7 @@ _theme:
install: "Installer un thème"
manage: "Gestion des thèmes"
code: "Code du thème"
description: "Description"
installed: "{name} a été installé"
installedThemes: "Thèmes installés"
builtinThemes: "Thèmes intégrés"
@ -936,7 +954,7 @@ _tutorial:
step3_3: "Remplissez le cadran et cliquez sur le bouton en haut à droite pour envoyer."
step3_4: "Vous navez rien à dire ? Essayez décrire « Jai commencé à utiliser Misskey »."
step4_1: "Avez-vous publié votre première note ?"
step4_2: "Youpi ! Celle-ci est maintenant affiché sur votre fil dactualité."
step4_2: "Youpi ! Celle-ci est maintenant affichée sur votre fil dactualité."
step5_1: "Maintenant, essayons de nous abonner à dautres personnes afin de rendre votre fil plus vivant."
step5_2: "La page {featured} affiche les notes en tendance sur la présente instance et {explore} vous permet de trouver des utilisateur·rice·s en tendance. Essayez de vous abonner aux gens que vous aimez !"
step5_3: "Pour pouvoir suivre dautres utilisateur·rice, cliquez sur leur avatar afin dafficher la page du profil utilisateur ensuite appuyez sur le bouton « Sabonner »."
@ -946,7 +964,7 @@ _tutorial:
step6_3: "Pour ajouter une réaction à une note, cliquez sur le signe « + » de celle-ci et sélectionnez lémoji souhaité."
step7_1: "Félicitations ! Vous avez atteint la fin du tutoriel de base pour lutilisation de Misskey."
step7_2: "Si vous désirez en savoir plus sur Misskey, jetez un œil sur la section {help}."
step7_3: "Bon courage et amusez-vous bien sur Misskey 🚀"
step7_3: "Bon courage et amusez-vous bien sur Misskey ! 🚀"
_2fa:
alreadyRegistered: "Cette étape à déjà été complétée"
registerDevice: "Ajouter un nouvel appareil"

View file

@ -615,6 +615,7 @@ inChannelSearch: "Cerca in canale"
useReactionPickerForContextMenu: "Cliccare sul tasto destro per aprire il pannello di reazioni"
typingUsers: "{users} sta(nno) scrivendo"
showingPastTimeline: "Stai visualizzando una vecchia timeline"
info: "Informazioni"
_email:
_follow:
title: "Ha iniziato a seguirti"
@ -676,6 +677,7 @@ _theme:
install: "Installa un tema"
manage: "Gerisci temi"
code: "Codice tema"
description: "Descrizione"
installed: "{name} è installato"
installedThemes: "Temi installati"
builtinThemes: "Temi integrati"

View file

@ -1,5 +1,6 @@
---
_lang_: "日本語 (関西弁)"
headlineMisskey: "ノートでつながるネットワーク"
introMisskey: "ようお越しMisskeyは、オープンソースの分散型マイクロブログサービスやねん。\n「ート」を作って、いま起こっとることを共有したり、あんたについて皆に発信しよう📡\n「リアクション」機能で、皆のートに素早く反応を追加したりもできるで✌\nほな新しい世界を探検しよか🚀"
monthAndDay: "{month}月 {day}日"
search: "探す"
@ -54,7 +55,7 @@ youGotNewFollower: "フォローされたで"
receiveFollowRequest: "フォローリクエストされたで"
followRequestAccepted: "フォローが承認されたで"
mention: "メンション"
mentions: "あんた宛て"
mentions: "うち宛て"
directNotes: "ダイレクト投稿"
importAndExport: "インポートとエクスポート"
import: "インポート"
@ -433,6 +434,7 @@ passwordMatched: "よし!一致や!"
passwordNotMatched: "一致しとらんで?"
signinWith: "{x}でログイン"
or: "それか"
language: "言語"
uiLanguage: "UIの表示言語"
groupInvited: "グループに招待されとるで"
aboutX: "{x}について"
@ -454,40 +456,352 @@ openImageInNewTab: "画像を新しいタブで開く"
dashboard: "ダッシュボード"
local: "ローカル"
remote: "リモート"
total: "合計"
weekOverWeekChanges: "前週比"
dayOverDayChanges: "前日比"
appearance: "見た目"
clientSettings: "クライアントの設定"
accountSettings: "アカウントの設定"
promotion: "宣伝"
promote: "宣伝"
numberOfDays: "日数"
hideThisNote: "このノートは表示せんでいい"
showFeaturedNotesInTimeline: "タイムラインにおすすめのノートを表示してや"
objectStorage: "オブジェクトストレージ"
useObjectStorage: "オブジェクトストレージを使う"
objectStorageBaseUrl: "Base URL"
objectStorageBaseUrlDesc: "参照に使うにURLやで。CDNやProxyを使用してるんならそのURL、S3: 'https://<bucket>.s3.amazonaws.com'、GCSとかなら: 'https://storage.googleapis.com/<bucket>'。"
objectStorageBucket: "Bucket"
objectStoragePrefix: "Prefix"
objectStorageEndpoint: "Endpoint"
objectStorageRegion: "Region"
objectStorageUseSSL: "SSLを使う"
objectStorageUseProxy: "Proxyを使う"
objectStorageUseProxyDesc: "API接続にproxy使わんのやったら切ってくれへん"
objectStorageSetPublicRead: "アップロードした時に'public-read'を設定してや"
serverLogs: "サーバーログ"
deleteAll: "全て削除してや"
showFixedPostForm: "タイムラインの上の方で投稿できるようにやってくれへん?"
newNoteRecived: "新しいノートがあるで"
sounds: "サウンド"
listen: "聴く"
none: "なし"
showInPage: "ページで表示"
popout: "ポップアウト"
volume: "音量"
masterVolume: "全体の音量"
details: "もっと"
chooseEmoji: "絵文字を選ぶ"
unableToProcess: "なんか作業が止まってしまったようやね"
recentUsed: "最近使ったやつ"
install: "インストール"
uninstall: "アンインストール"
installedApps: "インストールされとるアプリ"
nothing: "あらへん"
installedDate: "インストールした日時"
lastUsedDate: "最後に使った日時"
state: "状態"
sort: "仕分ける"
ascendingOrder: "小さい順"
descendingOrder: "大きい順"
scratchpad: "スクラッチパッド"
scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。Misskeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。"
output: "出力"
script: "スクリプト"
disablePagesScript: "Pagesのスクリプトを無効にしてや"
updateRemoteUser: "リモートユーザー情報の更新してくれん?"
deleteAllFiles: "すべてのファイルを削除"
deleteAllFilesConfirm: "ホンマにすべてのファイルを削除するん?消したもんはもう戻ってこんのやで?"
removeAllFollowing: "フォローを全解除"
removeAllFollowingDescription: "{host}からのフォローをすべて解除するで。そのインスタンスが消えて無くなった時とかには便利な機能やで。"
userSuspended: "このユーザーは...凍結されとる。"
userSilenced: "このユーザーは...サイレンスされとる。"
sidebar: "サイドバー"
divider: "分割線"
rooms: "ルーム"
relays: "リレー"
addRelay: "リレーの追加"
inboxUrl: "inboxのURL"
addedRelays: "追加済みのリレー"
poll: "アンケート"
enablePlayer: "プレイヤーを開く"
disablePlayer: "プレイヤーを閉じる"
expandTweet: "ツイートを展開する"
themeEditor: "テーマエディター"
description: "説明"
author: "作者"
leaveConfirm: "未保存の変更があるで!ほかしてええか?"
manage: "管理"
plugins: "プラグイン"
deck: "デッキ"
undeck: "デッキ解除"
width: "幅"
height: "高さ"
large: "大"
medium: "中"
small: "小"
edit: "編集"
emailConfig: "メールサーバー設定"
enableEmail: "メール配信を受け取る"
emailConfigInfo: "メールアドレスの確認とかパスワードリセットの時に使うで"
email: "メール"
emailAddress: "メールアドレス"
smtpConfig: "SMTP サーバーの設定"
smtpHost: "ホスト"
smtpPort: "ポート"
smtpUser: "ユーザー名"
smtpPass: "パスワード"
emptyToDisableSmtpAuth: "ユーザー名とパスワードになんも入れんかったら、SMTP認証を無効化するで"
smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
testEmail: "配信テスト"
wordMute: "ワードミュート"
userSaysSomething: "{name}が何か言ったようやで"
makeActive: "アクティブにしてや"
display: "表示"
copy: "コピー"
metrics: "メトリクス"
overview: "概要"
logs: "ログ"
delayed: "遅延"
database: "データベース"
channel: "チャンネル"
create: "作成"
notificationSetting: "通知設定"
notificationSettingDesc: "表示する通知の種類えらんでや。"
useGlobalSetting: "グローバル設定を使ってや"
other: "その他"
regenerateLoginToken: "ログイントークンを再生成"
behavior: "動作"
sample: "サンプル"
abuseReports: "通報"
reportAbuse: "通報"
reportAbuseOf: "{name}を通報する"
send: "送信"
abuseMarkAsResolved: "対応したで"
openInNewTab: "新しいタブで開く"
openInSideView: "サイドビューで開く"
defaultNavigationBehaviour: "デフォルトのナビゲーション"
editTheseSettingsMayBreakAccount: "このへんの設定をようわからんままイジるとアカウントが壊れて使えんくなるかも知れへんで?"
instanceTicker: "ノートのインスタンス情報"
waitingFor: "{x}を待っとるで"
random: "ランダム"
system: "システム"
switchUi: "UI切り替え"
desktop: "デスクトップ"
clip: "クリップ"
receivedReactionsCount: "リアクションされた数"
pollVotesCount: "アンケートに投票した数"
pollVotedCount: "アンケートに投票された数"
yes: "はい"
no: "いいえ"
driveFilesCount: "ドライブのファイル数"
emailVerified: "メールアドレスは確認されたで"
pageLikesCount: "Pageにええやんと思った数"
pageLikedCount: "Pageにええやんと思ってくれた数"
clips: "クリップ"
duplicate: "複製"
left: "左"
center: "中央"
wide: "広い"
narrow: "狭い"
reloadToApplySetting: "設定はページリロード後に反映されるで。今リロードしとくか?"
showTitlebar: "タイトルバーを見せる"
clearCache: "キャッシュをほかす"
onlineUsersCount: "{n}人が起きとるで"
nUsers: "{n}ユーザー"
nNotes: "{n}ノート"
sendErrorReports: "エラーリポートを送る"
sendErrorReportsDescription: "オンにしたら、なんか変なことが起きたときにエラーの詳細がMisskeyに共有されて、ソフトウェアの品質向上に役立てられるんや。エラー情報には、OSのバージョン、ブラウザの種類、行動履歴などが含まれるで。"
myTheme: "マイテーマ"
backgroundColor: "背景"
accentColor: "アクセント"
textColor: "文字"
saveAs: "名前を付けて保存"
advanced: "高度"
value: "値"
updatedAt: "更新日時"
saveConfirm: "保存するで?"
deleteConfirm: "ホンマに削除するで?"
registry: "レジストリ"
closeAccount: "アカウントを閉鎖する"
currentVersion: "現在のバージョン"
latestVersion: "最新のバージョン"
youAreRunningUpToDateClient: "今使ってるクライアントが最新やで!"
newVersionOfClientAvailable: "新しいバージョンのクライアントが使えるで。"
usageAmount: "使用量"
capacity: "容量"
inUse: "使用中"
editCode: "コードを編集"
apply: "適用"
receiveAnnouncementFromInstance: "インスタンスからのお知らせを受け取る"
emailNotification: "メール通知"
inChannelSearch: "チャンネル内検索"
useReactionPickerForContextMenu: "右クリックでリアクションピッカーを開くようにする"
typingUsers: "{users}が今書きよるで"
jumpToSpecifiedDate: "特定の日付にジャンプ"
showingPastTimeline: "過去のタイムラインを表示してるで"
clear: "クリア"
goBack: "戻る"
info: "情報"
_email:
_follow:
title: "フォローされたで"
_receiveFollowRequest:
title: "フォローリクエストを受け取ったで"
_plugin:
install: "プラグインのインストール"
installWarn: "信頼できへんプラグインはインストールせんとってな"
manage: "プラグインの管理"
_registry:
scope: "スコープ"
key: "キー"
keys: "キー"
domain: "ドメイン"
createKey: "キーを作る"
_aboutMisskey:
about: "Misskeyはsyuiloが2014年からずっと作ってはる、オープンソースなソフトウェアや。"
contributors: "主な貢献者"
allContributors: "全ての貢献者"
source: "ソースコード"
translation: "Misskeyを翻訳"
donate: "Misskeyに寄付"
morePatrons: "他にもぎょうさんの人からサポートしてもろてんねん。ほんまおおきに🥰"
patrons: "支援者"
_mfm:
cheatSheet: "MFMチートシート"
mention: "メンション"
hashtag: "ハッシュタグ"
url: "URL"
link: "リンク"
bold: "太字"
center: "中央寄せ"
inlineCode: "コード(インライン)"
blockCode: "コード(ブロック)"
inlineMath: "数式(インライン)"
quote: "引用"
emoji: "カスタム絵文字"
search: "探す"
shake: "アニメーション(ぶるぶる)"
twitch: "アニメーション(ブレ)"
spin: "アニメーション(回転)"
blur: "ぼかし"
font: "フォント"
_reversi:
reversi: "リバーシ"
gameSettings: "対局の設定"
chooseBoard: "ボードを選択"
blackOrWhite: "先行/後攻"
blackIs: "{name}が黒(先行)"
rules: "ルール"
botSettings: "Botのオプション"
pastTurnOf: "{name}のターン"
surrender: "投了"
surrendered: "投了により"
drawn: "引き分け"
won: "{name}の勝ち"
black: "黒"
white: "白"
total: "合計"
turnCount: "{count}ターン目"
myGames: "自分の対局"
allGames: "みんなの対局"
ended: "終了"
playing: "対局中"
isLlotheo: "石の少ない方が勝ち(ロセオ)"
loopedMap: "ループマップ"
_instanceTicker:
none: "表示せん"
remote: "リモートユーザーに表示"
always: "常に表示"
_serverDisconnectedBehavior:
reload: "自動でリロード"
dialog: "ダイアログで警告"
_channel:
create: "チャンネルを作る"
edit: "チャンネルを編集"
setBanner: "バナーを設定"
removeBanner: "バナーを削除"
featured: "トレンド"
notesCount: "{n}こ投稿があるで"
_sidebar:
full: "フル"
icon: "アイコン"
hide: "隠す"
_wordMute:
soft: "ソフト"
hard: "ハード"
_theme:
explore: "テーマを探す"
install: "テーマのインストール"
manage: "テーマの管理"
code: "テーマコード"
description: "説明"
installed: "{name}をインストールしたで。"
installedThemes: "インストールされとるテーマ"
builtinThemes: "標準のテーマ"
alreadyInstalled: "そのテーマはもうインストールされとるで?"
make: "テーマを作る"
base: "ベース"
addConstant: "定数を追加"
defaultValue: "デフォルト値"
color: "色"
refProp: "プロパティを参照"
refConst: "定数を参照"
key: "キー"
func: "関数"
funcKind: "関数の種類"
argument: "引数"
basedProp: "元にするプロパティの名前"
alpha: "不透明度"
darken: "暗さ"
lighten: "明るさ"
keys:
accent: "アクセント"
bg: "背景"
fg: "文字"
focus: "フォーカス"
indicator: "インジケーター"
panel: "パネル"
shadow: "影"
header: "ヘッダー"
navBg: "サイドバーの背景"
navFg: "サイドバーの文字"
navHoverFg: "サイドバー文字(ホバー)"
navActive: "サイドバー文字(アクティブ)"
navIndicator: "サイドバーのインジケーター"
link: "リンク"
hashtag: "ハッシュタグ"
mention: "メンション"
mentionMe: "うち宛てのメンション"
renote: "Renote"
modalBg: "モーダルの背景"
divider: "分割線"
scrollbarHandle: "スクロールバーの取っ手"
scrollbarHandleHover: "スクロールバーの取っ手(ホバー)"
dateLabelFg: "日付ラベルの文字"
infoBg: "情報の背景"
infoFg: "情報の文字"
infoWarnBg: "警告の背景"
infoWarnFg: "警告の文字"
cwBg: "CW ボタンの背景"
cwFg: "CW ボタンの文字"
cwHoverBg: "CW ボタンの背景 (ホバー)"
toastBg: "通知トーストの背景"
toastFg: "通知トーストの文字"
buttonBg: "ボタンの背景"
buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り"
listItemHoverBg: "リスト項目の背景 (ホバー)"
driveFolderBg: "ドライブフォルダーの背景"
wallpaperOverlay: "壁紙のオーバーレイ"
badge: "バッジ"
messageBg: "チャットの背景"
accentDarken: "アクセント (暗め)"
accentLighten: "アクセント (明るめ)"
fgHighlighted: "強調されとる文字"
_sfx:
note: "ノート"
noteMy: "ノート(自分)"
notification: "通知"
chat: "チャット"
_ago:
@ -511,24 +825,63 @@ _tutorial:
_2fa:
alreadyRegistered: "もう設定終わっとるわ。"
_permissions:
"read:reactions": "リアクションを見る"
"write:votes": "投票する"
"read:pages": "ページを見る"
"read:page-likes": "ページのええやんを見る"
"write:page-likes": "ページのええやんを操作する"
"read:user-groups": "ユーザーグループを見る"
"read:channels": "チャンネルを見る"
_auth:
permissionAsk: "このアプリは次の権限を要求しとるで"
_antennaSources:
all: "みなのノート"
homeTimeline: "フォローしとるユーザーのノート"
_weekday:
sunday: "日曜日"
monday: "月曜日"
tuesday: "火曜日"
wednesday: "水曜日"
thursday: "木曜日"
friday: "金曜日"
saturday: "土曜日"
_widgets:
memo: "付箋"
notifications: "通知"
timeline: "タイムライン"
calendar: "カレンダー"
trends: "トレンド"
clock: "時計"
rss: "RSSリーダー"
activity: "アクティビティ"
photos: "フォト"
digitalClock: "デジタル時計"
federation: "連合"
postForm: "投稿フォーム"
slideshow: "スライドショー"
button: "ボタン"
onlineUsers: "オンラインユーザー"
jobQueue: "ジョブキュー"
serverMetric: "サーバーメトリクス"
aiscript: "AiScriptコンソール"
_cw:
hide: "隠す"
show: "続き見して!"
chars: "{count}文字"
files: "{count}ファイル"
_poll:
choiceN: "選択肢{n}"
noMore: "これ以上追加でけへん"
canMultipleVote: "複数回答可"
expiration: "期限"
infinite: "無期限"
at: "日時指定"
after: "経過指定"
deadlineDate: "期日"
deadlineTime: "時間"
duration: "期間"
votesCount: "{n}票"
vote: "投票する"
_visibility:
publicDescription: "みなのユーザーに公開"
home: "ホーム"
@ -542,44 +895,372 @@ _exportOrImport:
muteList: "ミュート"
blockingList: "ブロック"
userLists: "リスト"
_charts:
usersTotal: "ユーザーの合計"
activeUsers: "アクティブユーザー数"
notesIncDec: "ノートの増減"
localNotesIncDec: "ローカルのノートの増減"
remoteNotesIncDec: "リモートのノートの増減"
notesTotal: "ノートの合計"
filesIncDec: "ファイルの増減"
filesTotal: "ファイルの合計"
storageUsageIncDec: "ストレージ使用量の増減"
storageUsageTotal: "ストレージ使用量の合計"
_instanceCharts:
requests: "リクエスト"
users: "ユーザーの増減"
usersTotal: "ユーザーの累積"
notes: "ノートの増減"
notesTotal: "ノートの累積"
ff: "フォロー/フォロワーの増減"
ffTotal: "フォロー/フォロワーの累積"
cacheSize: "キャッシュサイズの増減"
cacheSizeTotal: "キャッシュサイズの累積"
files: "ファイル数の増減"
filesTotal: "ファイル数の累積"
_timelines:
home: "ホーム"
local: "ローカル"
social: "ソーシャル"
global: "グローバル"
_rooms:
roomOf: "{user}のルーム"
addFurniture: "家具を置く"
translate: "移動"
rotate: "回転"
exit: "戻る"
remove: "しまう"
clear: "片付け"
clearConfirm: "家具ぜんぶしまうけど、ホンマにええん?"
leaveConfirm: "未保存の変更があるけど、移動してええか?"
chooseImage: "画像を選ぶ"
roomType: "部屋のタイプ"
carpetColor: "床の色"
_roomType:
default: "デフォルト"
washitsu: "和室"
_furnitures:
milk: "牛乳パック"
bed: "ベッド"
low-table: "ローテーブル"
desk: "デスク"
chair: "チェア"
chair2: "チェア2"
fan: "換気扇"
pc: "パソコン"
plant: "観葉植物"
plant2: "観葉植物2"
eraser: "消しゴム"
pencil: "鉛筆"
pudding: "プリン"
cardboard-box: "段ボール箱"
cardboard-box2: "段ボール箱2"
cardboard-box3: "段ボール箱3"
book: "本"
book2: "本2"
piano: "ピアノ"
facial-tissue: "ティッシュボックス"
server: "サーバー"
moon: "月"
corkboard: "コルクボード"
mousepad: "マウスパッド"
monitor: "モニター"
keyboard: "キーボード"
carpet-stripe: "カーペット(縞)"
mat: "マット"
color-box: "カラーボックス"
wall-clock: "壁掛け時計"
photoframe: "額縁"
cube: "キューブ"
tv: "テレビ"
pinguin: "ピンギン"
rubik-cube: "ルービックキューブ"
poster-h: "ルービックキューブ"
poster-v: "ポスター(縦長)"
sofa: "ソファ"
spiral: "螺旋階段"
bin: "ゴミ箱"
cup-noodle: "カップ麺"
holo-display: "ホログラフィックディスプレイ"
energy-drink: "エナジードリンク"
doll-ai: "藍ちゃん人形"
banknote: "札束"
_pages:
newPage: "ページを作る"
editPage: "ページの編集"
readPage: "ソースを表示中"
created: "ページを作成したで"
updated: "ページを更新したで"
deleted: "ページを削除したで"
pageSetting: "ページ設定"
viewPage: "ページを見る"
like: "ええやん"
unlike: "良くないわ"
liked: "ええと思ったページ"
contents: "コンテンツ"
summary: "ページの要約"
alignCenter: "中央寄せ"
font: "フォント"
fontSerif: "セリフ"
fontSansSerif: "サンセリフ"
eyeCatchingImageSet: "アイキャッチ画像を設定"
eyeCatchingImageRemove: "アイキャッチ画像を削除"
chooseBlock: "ブロックを追加"
selectType: "種類を選択"
contentBlocks: "コンテンツ"
inputBlocks: "入力"
specialBlocks: "特殊"
blocks:
text: "テキスト"
textarea: "テキストエリア"
section: "セクション"
image: "画像"
button: "ボタン"
if: "もし"
_if:
variable: "変数"
post: "投稿フォーム"
_post:
text: "内容"
canvasId: "キャンバスID"
textInput: "テキスト入力"
_textInput:
name: "変数名"
text: "タイトル"
default: "デフォルト値"
textareaInput: "複数行テキスト入力"
_textareaInput:
name: "変数名"
text: "タイトル"
default: "デフォルト値"
numberInput: "数値入力"
_numberInput:
name: "変数名"
text: "タイトル"
default: "デフォルト値"
canvas: "キャンバス"
_canvas:
id: "キャンバスID"
width: "幅"
height: "高さ"
note: "ノート埋め込み"
_note:
id: "ートID"
detailed: "詳細な表示"
switch: "スイッチ"
_switch:
name: "変数名"
text: "タイトル"
default: "デフォルト値"
counter: "カウンター"
_counter:
name: "変数名"
text: "タイトル"
inc: "増加値"
_button:
text: "タイトル"
colored: "色付き"
action: "ボタンを押したときの動作"
_action:
dialog: "ダイアログを表示する"
_dialog:
content: "内容"
resetRandom: "乱数をリセット"
pushEvent: "イベントを送信させる"
_pushEvent:
event: "イベント名"
no-variable: "なし"
callAiScript: "AiScript呼び出し"
_callAiScript:
functionName: "関数名"
radioButton: "選択肢"
_radioButton:
name: "変数名"
title: "タイトル"
values: "改行で区切った選択肢"
default: "デフォルト値"
script:
categories:
flow: "制御"
logical: "論理演算"
operation: "計算"
comparison: "比較"
random: "ランダム"
value: "値"
fn: "関数"
text: "関数"
convert: "変換"
list: "リスト"
blocks:
text: "テキスト"
multiLineText: "テキスト(複数行)"
textList: "テキストのリスト"
strLen: "テキストの長さ"
_strLen:
arg1: "テキスト"
strPick: "文字取り出し"
_strPick:
arg1: "テキスト"
arg2: "文字の位置"
strReplace: "テキスト置き換え"
_strReplace:
arg1: "テキスト"
arg2: "置き換え前"
arg3: "置き換え後"
strReverse: "テキストを反転"
_strReverse:
arg1: "テキスト"
join: "テキストを連結"
_join:
arg1: "リスト"
arg2: "区切り"
add: "足す"
_add:
arg1: "A"
arg2: "B"
subtract: "引く"
_subtract:
arg1: "A"
arg2: "A"
multiply: "掛ける"
_multiply:
arg1: "A"
arg2: "B"
divide: "割る"
_divide:
arg1: "A"
arg2: "B"
mod: "割った余り"
_mod:
arg1: "A"
arg2: "B"
round: "小数を丸める"
_round:
arg1: "数値"
eq: "AとBが同じ"
_eq:
arg1: "A"
arg2: "B"
notEq: "AとBが異なる"
_notEq:
arg1: "A"
arg2: "B"
and: "AかつB"
_and:
arg1: "A"
arg2: "B"
or: "AまたはB"
_or:
arg1: "A"
arg2: "B"
lt: "< AがBより小さい"
_lt:
arg1: "A"
arg2: "B"
gt: "> AがBより大きい"
_gt:
arg1: "A"
arg2: "B"
ltEq: "<= AがBと同じか小さい"
_ltEq:
arg1: "A"
arg2: "B"
gtEq: ">= AがBと同じか大きい"
_gtEq:
arg1: "A"
arg2: "B"
if: "分岐"
_if:
arg1: "もし"
arg2: "なら"
arg3: "そうでなければ"
not: "否定"
_not:
arg1: "否定"
random: "ランダム"
_random:
arg1: "確率"
rannum: "乱数"
_rannum:
arg1: "最小"
arg2: "最大"
randomPick: "リストからランダムに選ぶ"
_randomPick:
arg1: "リスト"
dailyRandom: "ランダム (ユーザーごとに日替わり)"
_dailyRandom:
arg1: "確率"
dailyRannum: "乱数 (ユーザーごとに日替わり)"
_dailyRannum:
arg1: "最小"
arg2: "最大"
dailyRandomPick: "リストからランダムに選ぶ (ユーザーごとに日替わり)"
_dailyRandomPick:
arg1: "リスト"
seedRandom: "ランダム (シード)"
_seedRandom:
arg1: "シード"
arg2: "確率"
seedRannum: "乱数 (シード)"
_seedRannum:
arg1: "シード"
arg2: "最小"
arg3: "最大"
seedRandomPick: "リストからランダムに選択 (シード)"
_seedRandomPick:
arg1: "シード"
arg2: "リスト"
DRPWPM: "確率付きリストからランダムに選ぶ (ユーザーごとに日替わり)"
_DRPWPM:
arg1: "テキストのリスト"
pick: "リストから選ぶ"
_pick:
arg1: "リスト"
arg2: "位置"
listLen: "リストの長さを取得"
_listLen:
arg1: "リスト"
number: "数値"
stringToNumber: "テキストを数値に"
_stringToNumber:
arg1: "テキスト"
numberToString: "数値をテキストに"
_numberToString:
arg1: "数値"
splitStrByLine: "テキストを行で分割"
_splitStrByLine:
arg1: "テキスト"
ref: "変数"
aiScriptVar: "AiScript変数"
fn: "関数"
_fn:
slots: "スロット"
arg1: "出力"
for: "繰り返し"
_for:
arg1: "回数"
arg2: "処理"
thereIsEmptySlot: "スロット{slot}が空っぽやで!"
types:
string: "テキスト"
number: "数値"
boolean: "フラグ"
array: "リスト"
stringArray: "テキストのリスト"
emptySlot: "空のスロット"
enviromentVariables: "環境変数"
pageVariables: "ページ要素"
argVariables: "入力スロット"
_notification:
fileUploaded: "ファイルが無事アップロードされたで。"
youGotMention: "{name}からのメンション"
youGotReply: "{name}からのリプライ"
youWereFollowed: "フォローされたで"
youReceivedFollowRequest: "フォロー許可してほしいみたいやな"
yourFollowRequestAccepted: "フォローさせてもろたで"
youWereInvitedToGroup: "グループに招待されとるで"
_types:
all: "すべて"
follow: "フォロー"
mention: "メンション"
renote: "Renote"
@ -588,9 +1269,24 @@ _notification:
receiveFollowRequest: "フォロー許可してほしいみたいやで"
followRequestAccepted: "フォローが受理されたで"
_deck:
alwaysShowMainColumn: "いつもメインカラムを表示"
columnAlign: "カラムの寄せ"
columnMargin: "カラム間のマージン"
columnHeaderHeight: "カラムのヘッダー幅"
addColumn: "カラムを追加"
swapLeft: "左に移動"
swapRight: "右に移動"
swapUp: "上に移動"
swapDown: "下に移動"
stackLeft: "左に重ねる"
popRight: "右に出す"
profile: "プロファイル"
_columns:
main: "メイン"
widgets: "ウィジェット"
notifications: "通知"
tl: "タイムライン"
antenna: "アンテナ"
list: "リスト"
mentions: "あんた宛て"
direct: "ダイレクト"

View file

@ -552,6 +552,8 @@ manage: "관리"
plugins: "플러그인"
deck: "덱"
undeck: "덱 해제"
useBlurEffectForModal: "모달에 흐림 효과 사용"
useFullReactionPicker: "모든 기능이 포함된 리액션 선택기 사용"
width: "폭"
height: "높이"
large: "크게"
@ -613,6 +615,7 @@ send: "전송"
abuseMarkAsResolved: "해결됨으로 표시"
openInNewTab: "새 탭에서 열기"
openInSideView: "사이드뷰로 열기"
defaultNavigationBehaviour: "기본 탐색 동작"
editTheseSettingsMayBreakAccount: "이 설정을 변경하면 계정이 손상될 수 있습니다."
instanceTicker: "노트의 인스턴스 정보"
waitingFor: "{x}을(를) 기다리고 있습니다"
@ -684,6 +687,7 @@ textColor: "문자 색"
saveAs: "다른 이름으로 저장"
advanced: "고급"
value: "값"
createdAt: "생성된 날짜"
updatedAt: "수정한 날짜"
saveConfirm: "저장하시겠습니까?"
deleteConfirm: "삭제하시겠습니까?"
@ -692,15 +696,47 @@ registry: "레지스트리"
closeAccount: "계정 폐쇄"
currentVersion: "현재 버전"
latestVersion: "최신 버전"
youAreRunningUpToDateClient: "사용 중인 클라이언트는 최신입니다."
newVersionOfClientAvailable: "새로운 버전의 클라이언트를 이용할 수 있습니다."
usageAmount: "사용량"
capacity: "용량"
inUse: "사용중"
editCode: "코드 수정"
apply: "적용"
receiveAnnouncementFromInstance: "이 인스턴스의 알림을 이메일로 수신할게요"
emailNotification: "메일 알림"
inChannelSearch: "채널에서 검색"
useReactionPickerForContextMenu: "우클릭하여 리액션 선택기 열기"
typingUsers: "{users} 님이 입력하고 있어요.."
jumpToSpecifiedDate: "특정 날짜로 이동"
showingPastTimeline: "과거의 타임라인을 표시하고 있어요"
clear: "지우기"
markAllAsRead: "모두 읽은 상태로 표시"
goBack: "뒤로"
unlikeConfirm: "좋아요를 취소할까요?"
fullView: "전체 화면"
quitFullView: "전체 화면 해제"
addDescription: "설명 추가"
userPagePinTip: "각 노트의 메뉴에서 「프로필에 고정」을 선택하는 것으로, 여기에 노트를 표시해 둘 수 있어요."
notSpecifiedMentionWarning: "수신자가 선택되지 않은 멘션이 있어요"
info: "정보"
userInfo: "유저 정보"
unknown: "알 수 없음"
onlineStatus: "온라인 상태"
hideOnlineStatus: "온라인 상태 숨기기"
hideOnlineStatusDescription: "온라인 상태를 숨기면, 검색과 같은 일부 기능에 영향을 미칠 수 있습니다."
online: "온라인"
active: "활동 중"
offline: "오프라인"
_email:
_follow:
title: "새로운 팔로워가 있습니다"
_receiveFollowRequest:
title: "팔로우 요청을 받았습니다"
_plugin:
install: "플러그인 설치"
installWarn: "신뢰할 수 없는 플러그인은 설치하지 않는 것이 좋습니다."
manage: "플러그인 관리"
_registry:
scope: "범위"
key: "키"
@ -734,6 +770,7 @@ _mfm:
linkDescription: "문장의 특정 범위를 URL로 표시합니다."
bold: "굵음/볼드체"
boldDescription: "문자를 굵게 강조합니다."
small: "눈에 띄지 않음"
smallDescription: "내용을 작고 연하게 보이게 합니다."
center: "가운데 정렬"
centerDescription: "내용을 가운데 정렬로 보이게 합니다."
@ -746,19 +783,35 @@ _mfm:
blockMath: "수식(블록)"
blockMathDescription: "여러 줄의 수식(KaTeX)를 블록으로 보이게 합니다."
quote: "인용"
quoteDescription: "내용을 인용문으로 표시합니다."
emoji: "커스텀 이모지"
emojiDescription: "커스텀 이모지의 이름을 쌍점(:)으로 감싸서 커스텀 이모지를 사용합니다."
search: "검색"
searchDescription: "주어진 키워드가 입력된 검색창을 보이게 합니다."
flip: "플립"
flipDescription: "내용을 상하 또는 좌우로 반전시킵니다."
jelly: "애니메이션 (젤리)"
jellyDescription: "젤리처럼 탱글탱글한 느낌의 효과를 줍니다."
tada: "애니메이션 (짠!)"
tadaDescription: "짠! 하는 느낌의 효과를 줍니다."
jump: "애니메이션(점프)"
jumpDescription: "펄쩍 뛸 듯한 느낌의 효과를 줍니다."
bounce: "애니메이션 (바운스)"
bounceDescription: "통통 튀는 느낌의 효과를 줍니다."
shake: "애니메이션 (부들부들)"
shakeDescription: "부들부들 떠는 느낌의 효과를 줍니다."
twitch: "애니메이션 (경련)"
twitchDescription: "격하게 흔들리는 느낌의 효과를 줍니다."
spin: "애니메이션 (회전)"
spinDescription: "회전 효과를 줍니다."
x2: "크게"
x2Description: "내용을 크게 표시합니다."
x3: "더 크게"
x3Description: "내용을 더 크게 표시합니다."
x4: "매우 크게"
x4Description: "내용을 매우 크게 표시합니다."
blur: "흐림"
blurDescription: "내용이 흐리게 보입니다. 마우스를 위에 올려두면 내용이 보입니다."
font: "폰트"
fontDescription: "내용의 글꼴을 지정할 수 있습니다."
_reversi:
@ -772,6 +825,7 @@ _reversi:
thisGameIsStartedSoon: "잠시 후에 대국이 시작됩니다"
waitingForOther: "상대의 준비가 완료될 때까지 기다리고 있습니다"
waitingForMe: "당신의 준비 완료를 기다리고 있습니다"
waitingBoth: "준비해 주세요"
ready: "준비 완료"
cancelReady: "준비 취소"
opponentTurn: "상대의 차례입니다"
@ -812,6 +866,7 @@ _channel:
usersCount: "{n}명 참여 중"
notesCount: "{n}노트"
_sidebar:
full: "전체"
icon: "아이콘"
hide: "숨기기"
_wordMute:
@ -820,12 +875,15 @@ _wordMute:
muteWordsDescription2: "정규 표현식을 사용하려면 키워드를 빗금표(/)로 감싸 주세요."
softDescription: "지정한 조건의 노트를 타임라인에서 숨깁니다."
hardDescription: "지정한 조건의 노트를 타임라인에 추가하지 않습니다. 타임라인에 추가되지 않은 노트는 조건을 변경해도 표시되지 않습니다."
soft: "보통"
hard: "보다 높은 수준"
mutedNotes: "뮤트된 노트"
_theme:
explore: "테마 찾아보기"
install: "테마 설치"
manage: "테마 관리"
code: "테마 코드"
description: "설명"
installed: "{name} 테마가 설치되었습니다"
installedThemes: "설치된 테마"
builtinThemes: "표준 테마"
@ -843,17 +901,57 @@ _theme:
func: "함수"
funcKind: "함수 종류"
argument: "매개변수"
basedProp: "기준으로 할 속성 이름"
alpha: "불투명도"
darken: "어두움"
lighten: "밝음"
inputConstantName: "상수 이름을 입력하세요"
importInfo: "여기에 테마 코드를 붙여 넣어 에디터로 불러올 수 있습니다."
deleteConstantConfirm: "상수 {const}를 삭제하시겠습니까?"
keys:
accent: "강조 색상"
bg: "배경"
fg: "텍스트"
focus: "포커스"
indicator: "인디케이터"
panel: "패널"
shadow: "그림자"
header: "헤더"
navBg: "사이드바 배경"
navFg: "사이드바 텍스트"
navHoverFg: "사이드바 텍스트 (호버)"
navActive: "사이드바 텍스트 (활성)"
navIndicator: "사이드바 인디케이터"
link: "링크"
hashtag: "해시태그"
mention: "멘션"
mentionMe: "나에게 보낸 멘션"
renote: "Renote"
modalBg: "모달 배경"
divider: "구분선"
scrollbarHandle: "스크롤바 핸들"
scrollbarHandleHover: "스크롤바 핸들 (호버)"
dateLabelFg: "날짜 레이블 텍스트"
infoBg: "정보창 배경"
infoFg: "정보창 텍스트"
infoWarnBg: "경고창 배경"
infoWarnFg: "경고창 텍스트"
cwBg: "CW 버튼 배경"
cwFg: "CW 버튼 텍스트"
cwHoverBg: "CW 버튼 배경 (호버)"
toastBg: "알림창 배경"
toastFg: "알림창 텍스트"
buttonBg: "버튼 배경"
buttonHoverBg: "버튼 배경 (호버)"
inputBorder: "입력 필드 테두리"
listItemHoverBg: "리스트 항목 배경 (호버)"
driveFolderBg: "드라이브 폴더 배경"
wallpaperOverlay: "배경화면 오버레이"
badge: "배지"
messageBg: "채팅 배경"
accentDarken: "강조 색상 (어두움)"
accentLighten: "강조 색상 (밝음)"
fgHighlighted: "강조된 텍스트"
_sfx:
note: "새 노트"
noteMy: "내 노트"
@ -977,8 +1075,10 @@ _widgets:
postForm: "글 입력란"
slideshow: "슬라이드 쇼"
button: "버튼"
onlineUsers: "온라인 유저"
jobQueue: "작업 대기열"
serverMetric: "서버 통계"
aiscript: "AiScript 콘솔"
_cw:
hide: "숨기기"
show: "더 보기"
@ -1033,8 +1133,13 @@ _profile:
username: "유저명"
description: "자기소개"
youCanIncludeHashtags: "해시 태그를 포함할 수 있습니다."
metadata: "추가 정보"
metadataEdit: "추가 정보 편집"
metadataDescription: "프로필에 최대 4개의 추가 정보를 표시할 수 있어요"
metadataLabel: "라벨"
metadataContent: "내용"
changeAvatar: "아바타 이미지 변경"
changeBanner: "배너 이미지 변경"
_exportOrImport:
allNotes: "모든 노트"
followingList: "팔로잉"
@ -1434,19 +1539,30 @@ _notification:
youGotQuote: "{name}님이 인용함"
youRenoted: "{name}님이 Renote"
youGotPoll: "{name}님이 투표함"
youGotMessagingMessageFromUser: "{name} 님이 보낸 채팅이 있어요"
youGotMessagingMessageFromGroup: "{name}에서 보낸 채팅이 있어요"
youWereFollowed: "새로운 팔로워가 있습니다"
youReceivedFollowRequest: "새로운 팔로우 요청이 있습니다"
yourFollowRequestAccepted: "팔로우 요청이 수락되었습니다"
youWereInvitedToGroup: "그룹에 초대되었습니다"
_types:
all: "전부"
follow: "팔로잉"
mention: "멘션"
reply: "답글"
renote: "Renote"
quote: "인용"
reaction: "리액션"
pollVote: "투표 참여"
receiveFollowRequest: "팔로우 요청을 받았을 때"
followRequestAccepted: "팔로우 요청이 승인되었을 때"
groupInvited: "그룹에 초대되었을 때"
app: "연동된 앱을 통한 알림"
_deck:
alwaysShowMainColumn: "메인 칼럼 항상 표시"
columnAlign: "칼럼 정렬"
columnMargin: "칼럼 간 여백"
columnHeaderHeight: "칼럼 헤더 폭"
addColumn: "칼럼 추가"
swapLeft: "왼쪽으로 이동"
swapRight: "오른쪽으로 이동"

View file

@ -644,6 +644,8 @@ backgroundColor: "Tło"
accentColor: "Akcent"
textColor: "Tekst"
value: "Wartość"
goBack: "Wróć"
info: "Informacje"
_email:
_follow:
title: "Zaobserwował(a) Cię"
@ -762,6 +764,7 @@ _theme:
install: "Zainstaluj motyw"
manage: "Zarządzanie motywami"
code: "Kod motywu"
description: "Opis"
installed: "Zainstalowano {name}"
installedThemes: "Zainstalowane motywy"
builtinThemes: "Wbudowane motywy"

View file

@ -623,7 +623,7 @@ random: "Случайные"
system: "Система"
switchUi: "Выбор вида"
desktop: "Стол"
clip: "В подборку"
clip: "Подборка"
createNew: "Новый документ"
optional: "Необязательно"
createNewClip: "Новая подборка"
@ -710,6 +710,8 @@ typingUsers: "Стук клавиш. Это {users}…"
jumpToSpecifiedDate: "Перейти к заданной дате"
showingPastTimeline: "Отображается старая лента"
clear: "Очистить"
goBack: "Выход"
info: "Описание"
_email:
_follow:
title: "Новый подписчик"
@ -865,6 +867,7 @@ _theme:
install: "Установить тему"
manage: "Менеджер тем"
code: "Код темы"
description: "Описание"
installed: "Тема «{name}» установлена."
installedThemes: "Установленные темы"
builtinThemes: "Встроенные темы"

View file

@ -689,6 +689,8 @@ deleteConfirm: "Ви дійсно бажаєте це видалити?"
invalidValue: "Некоректне значення."
registry: "Реєстр"
closeAccount: "Закрити обліковий запис"
goBack: "Назад"
info: "Інформація"
_email:
_follow:
title: "Новий підписник"
@ -830,6 +832,7 @@ _theme:
install: "Встановити тему"
manage: "Керування темами"
code: "Код теми"
description: "Опис"
installed: "Тему {name} встановлено"
installedThemes: "Встановлені теми"
builtinThemes: "Вбудоваі теми"

View file

@ -584,7 +584,7 @@ smtpSecureInfo: "使用STARTTLS时关闭。"
testEmail: "邮件发送测试"
wordMute: "文字屏蔽"
userSaysSomething: "{name}说了什么"
makeActive: "激活"
makeActive: "启用"
display: "显示"
copy: "复制"
metrics: "指标"
@ -687,6 +687,7 @@ textColor: "文本"
saveAs: "另存为"
advanced: "高级"
value: "值"
createdAt: "创建日期"
updatedAt: "更新时间"
saveConfirm: "确定保存?"
deleteConfirm: "确定删除?"
@ -710,6 +711,23 @@ typingUsers: "{users}正在输入"
jumpToSpecifiedDate: "跳转到特定日期"
showingPastTimeline: "显示过去的时间线"
clear: "清除"
markAllAsRead: "全部标记为已读"
goBack: "返回"
unlikeConfirm: "取消赞?"
fullView: "全屏"
quitFullView: "退出全屏"
addDescription: "添加描述"
userPagePinTip: "在帖子的菜单中选择“置顶”,即可显示该条帖子。"
notSpecifiedMentionWarning: "有未指定的提及"
info: "关于"
userInfo: "用户信息"
unknown: "未知"
onlineStatus: "在线状态"
hideOnlineStatus: "隐藏在线状态"
hideOnlineStatusDescription: "隐藏在线状态后,可能会降低例如搜索等功能的便利性。"
online: "在线"
active: "活动"
offline: "离线"
_email:
_follow:
title: "你有新的关注者"
@ -865,6 +883,7 @@ _theme:
install: "安装主题"
manage: "主题管理"
code: "主题代码"
description: "描述"
installed: "{name} 已安装"
installedThemes: "已安装的主题"
builtinThemes: "标准主题"

View file

@ -149,7 +149,7 @@ searchWith: "搜尋: {q}"
youHaveNoLists: "你沒有任何清單"
followConfirm: "你真的要追隨{name}嗎?"
proxyAccount: "代理帳號"
proxyAccountDescription: "代理帳號是在某些情況下充當其他器用戶的帳號。例如,當用戶將一個來自其他服器的帳號放在列表中時,由於沒有其他用戶關注該帳號,該指令不會傳送到該服器上,因此會由代理帳戶關注。"
proxyAccountDescription: "代理帳號是在某些情況下充當其他服器用戶的帳號。例如,當用戶將一個來自其他服器的帳號放在列表中時,由於沒有其他用戶關注該帳號,該指令不會傳送到該服器上,因此會由代理帳戶關注。"
host: "主機"
selectUser: "選取使用者"
recipient: "收件人"
@ -182,7 +182,7 @@ clearQueue: "清除佇列"
clearQueueConfirmTitle: "確定要清除佇列嗎?"
clearQueueConfirmText: "未發佈的帖子將不會發佈。您通常不需要確認。"
clearCachedFiles: "清除快取資料"
clearCachedFilesConfirm: "確定要清除存資料嗎?"
clearCachedFilesConfirm: "確定要清除所有遠端暫存資料嗎?"
blockedInstances: "已封鎖的實例"
blockedInstancesDescription: "請逐行輸入需要封鎖的實例。已封鎖的實例將無法與本實例進行通訊。"
muteAndBlock: "靜音和封鎖"
@ -215,7 +215,7 @@ retypedNotMatch: "兩次輸入不一致。"
currentPassword: "目前密碼"
newPassword: "新密碼"
newPasswordRetype: "確認密碼"
attachFile: "添加附件"
attachFile: "上傳附件"
more: "更多!"
featured: "精選"
usernameOrUserId: "使用者名稱或用戶ID"
@ -256,12 +256,12 @@ registeredDate: "註冊日期"
location: "位置"
theme: "外觀主題"
themeForLightMode: "在淺色模式下使用的主題"
themeForDarkMode: "在深色模式下使用的主題"
themeForDarkMode: "在黑暗模式下使用的主題"
light: "淺色"
dark: "暗"
dark: "暗"
lightThemes: "明亮主題"
darkThemes: "暗主題"
syncDeviceDarkMode: "將深色模式與設備設置同步"
darkThemes: "暗主題"
syncDeviceDarkMode: "將黑暗模式與設備設置同步"
drive: "雲端硬碟"
fileName: "檔案名稱"
selectFile: "選擇檔案"
@ -313,7 +313,7 @@ connectSerice: "連線"
disconnectSerice: "中斷連線"
enableLocalTimeline: "開啟本地時間軸"
enableGlobalTimeline: "啟用公開時間軸"
disablingTimelinesInfo: "即使您禁用了時間線功能,管理員和協調人仍可以繼續使用,以方便您。"
disablingTimelinesInfo: "即使您關閉了時間線功能,管理員和協調人仍可以繼續使用,以方便您。"
registration: "註冊"
enableRegistration: "開啟新用戶註冊"
invite: "邀請"
@ -373,14 +373,14 @@ about: "資訊"
aboutMisskey: "關於 Misskey"
administrator: "管理員"
token: "權杖"
twoStepAuthentication: "雙重身份驗證"
twoStepAuthentication: "兩階段驗證"
moderator: "板主"
nUsersMentioned: "提到了{n}"
securityKey: "安全金鑰"
securityKeyName: "金鑰名稱"
registerSecurityKey: "註冊安全金鑰"
lastUsed: "最後活躍時間"
unregister: "刪除賬戶"
lastUsed: "上次使用"
unregister: "註銷帳號"
passwordLessLogin: "設置無密碼登入"
resetPassword: "重置密碼"
newPasswordIs: "新密碼為「{password}」"
@ -419,7 +419,7 @@ quoteAttached: "引用"
quoteQuestion: "是否要引用?"
noMessagesYet: "沒有訊息"
newMessageExists: "有新的訊息"
onlyOneFileCanBeAttached: "只能加一個附件"
onlyOneFileCanBeAttached: "只能一個附件"
signinRequired: "請先登入"
invitations: "邀請"
invitationCode: "邀請碼"
@ -446,7 +446,7 @@ useOsNativeEmojis: "使用OS原生表情符號"
youHaveNoGroups: "找不到群組"
joinOrCreateGroup: "請加入現有群組,或創建新群組。"
noHistory: "沒有歷史紀錄"
signinHistory: "登歷史"
signinHistory: "登歷史"
disableAnimatedMfm: "禁用MFM動畫"
doing: "正在進行"
category: "類別"
@ -482,7 +482,7 @@ objectStorageEndpointDesc: "如要使用AWS S3請留空。否則請根據伺
objectStorageRegion: "地域Region"
objectStorageUseSSL: "使用SSL"
objectStorageUseProxy: "使用網路代理"
objectStorageSetPublicRead: "上時設定為\"public-read\""
objectStorageSetPublicRead: "上時設定為\"public-read\""
serverLogs: "伺服器日誌"
deleteAll: "刪除所有記錄"
showFixedPostForm: "於時間軸頁頂顯示「發送貼文」方框"
@ -495,7 +495,7 @@ popout: "彈出型窗口"
volume: "音量"
masterVolume: "主音量"
details: "詳細資訊"
chooseEmoji: "選擇您的表情符號\n"
chooseEmoji: "選擇您的表情符號"
unableToProcess: "操作無法完成"
recentUsed: "最近使用"
install: "安裝"
@ -512,11 +512,11 @@ scratchpad: "暫存記憶體"
output: "輸出"
script: "腳本"
disablePagesScript: "停用頁面的AiScript腳本"
updateRemoteUser: "更新非本地用戶資料"
updateRemoteUser: "更新遠端用戶資料"
deleteAllFiles: "刪除所有檔案"
deleteAllFilesConfirm: "要删除所有檔案"
removeAllFollowing: "解除所有追"
removeAllFollowingDescription: "解除{host}所有的跟隨。在實例不再存在時執行。"
deleteAllFilesConfirm: "要删除所有檔案"
removeAllFollowing: "解除所有追"
removeAllFollowingDescription: "解除{host}所有的追蹤。在實例不再存在時執行。"
userSuspended: "該用戶已被凍結"
userSilenced: "該用戶已被禁言。"
sidebar: "側邊列"
@ -524,12 +524,12 @@ divider: "分割線"
addItem: "新增項目"
rooms: "房間"
relays: "中繼"
addRelay: "添加中繼"
inboxUrl: "私信URL"
addedRelays: "已加的中繼"
addRelay: "新增中繼"
inboxUrl: "收件夾URL"
addedRelays: "已的中繼"
serviceworkerInfo: "您需要啟用推送通知"
deletedNote: "已删除的貼文"
invisibleNote: "隱藏的帖子"
invisibleNote: "隱藏的貼文"
enableInfiniteScroll: "啟用自動滾動頁面模式"
visibility: "可見性"
poll: "投票"
@ -546,7 +546,7 @@ plugins: "插件"
deck: "多欄模式"
undeck: "取消多欄模式"
useBlurEffectForModal: "在模態框使用模糊效果"
useFullReactionPicker: "使用大尺寸的情感選擇欄"
useFullReactionPicker: "使用全尺寸的反應選擇器"
width: "寬度"
height: "高度"
large: "大"
@ -555,7 +555,7 @@ small: "小"
permission: "權限"
enableAll: "啟用全部"
disableAll: "停用全部"
tokenRequested: "允許訪問帳號"
tokenRequested: "允許存取帳號"
notificationType: "通知形式"
edit: "編輯"
useStarForReactionFallback: "以★代替未知的表情符號"
@ -566,11 +566,11 @@ email: "電子郵件"
emailAddress: "電郵地址"
smtpConfig: "SMTP伺服器設定"
smtpHost: "主機"
smtpPort: "端口"
smtpPort: ""
smtpUser: "使用者名稱"
smtpPass: "密碼"
emptyToDisableSmtpAuth: "留空使用者名稱和密碼以禁用SMTP驗證。"
testEmail: "郵件測試發送"
emptyToDisableSmtpAuth: "留空使用者名稱和密碼以關閉SMTP驗證。"
testEmail: "測試郵件發送"
wordMute: "靜音文字"
userSaysSomething: "{name}說了什麼"
makeActive: "啟用"
@ -587,22 +587,22 @@ notificationSetting: "通知設定"
notificationSettingDesc: "選擇顯示通知的類型"
useGlobalSetting: "使用全域設定"
other: "其他"
regenerateLoginToken: "生登入權杖"
regenerateLoginTokenDescription: "再生用於登入的內部權杖。一般情況下是不需要這樣做的。一旦再生,所有裝置將會被登出。"
fileIdOrUrl: "檔ID或URL"
regenerateLoginToken: "重新產生登入權杖"
regenerateLoginTokenDescription: "重新產生用於登入的內部權杖。一般情況下是不需要這樣做的。一旦重產,所有裝置將會被登出。"
fileIdOrUrl: "ID或URL"
chatOpenBehavior: "開啟聊天窗口時的行為"
behavior: "行為"
sample: "範例 "
sample: "範例"
abuseReports: "檢舉"
reportAbuse: "檢舉"
reportAbuseOf: "檢舉{name}"
fillAbuseReportDescription: "請填寫檢舉的詳細理由。可以的話請附上針對的URL網址。"
abuseReported: "內容已經發送。感謝您的報告。"
abuseReported: "回報已送出。感謝您的報告。"
send: "發送"
abuseMarkAsResolved: "處理完畢"
openInNewTab: "在新分頁中開啟"
openInSideView: "在側欄中開啟"
editTheseSettingsMayBreakAccount: "修改這些設定可能會毀您的帳戶"
editTheseSettingsMayBreakAccount: "修改這些設定可能會毀您的帳戶"
instanceTicker: "貼文的實例來源"
waitingFor: "等待{x}"
random: "隨機"
@ -618,7 +618,7 @@ i18nInfo: "Misskey已經被志願者們翻譯成各種語言版本如果想
manageAccessTokens: "管理存取權杖"
accountInfo: "帳戶資訊"
notesCount: "貼文數量"
repliesCount: "回覆數量\n"
repliesCount: "回覆數量"
renotesCount: "轉發數量"
repliedCount: "回覆數量"
renotedCount: "轉發次數"
@ -632,26 +632,27 @@ yes: "確定"
no: "取消"
driveFilesCount: "雲端硬碟檔案數量"
driveUsage: "雲端硬碟使用量"
noCrawleDescription: "請求網路搜尋引擎不要索引你的個人資料頁、貼文及頁面等。"
noCrawle: "拒絕搜尋引擎索引"
noCrawleDescription: "要求網路搜尋引擎不要索引你的個人資料頁、貼文及頁面等。"
lockedAccountInfo: "即使你通過了追隨者請求,除非你將貼文的可見性設定為 「追隨者」,否則任何人都能看見你的貼文。"
loadRawImages: "以原始圖像質量顯示附件圖像的縮略圖"
disableShowingAnimatedImages: "不播放動態圖"
loadRawImages: "以原始圖檔顯示附件圖檔的縮圖"
disableShowingAnimatedImages: "不播放動態圖"
notSet: "未設定"
emailVerified: "已成功驗證您的電郵"
noteFavoritesCount: "我的最愛貼文的數目"
pageLikesCount: "頁面被喜歡次數"
pageLikedCount: "頁面被喜歡次數"
pageLikesCount: "頁面被按讚次數"
pageLikedCount: "頁面被按讚次數"
contact: "聯絡人"
useSystemFont: "使用系統默認的字型"
useSystemFont: "使用系統預設的字型"
clips: "摘錄"
experimentalFeatures: "測試中的功能"
experimentalFeatures: "實驗中的功能"
developer: "開發者"
makeExplorable: "讓自己的帳戶能夠在“探索”版面顯示"
makeExplorableDescription: "如果關閉,帳戶將不會被顯示在\"探索\"面中。"
makeExplorable: "使自己的帳戶能夠在“探索”頁面中顯示"
makeExplorableDescription: "如果關閉,帳戶將不會被顯示在\"探索\"面中。"
showGapBetweenNotesInTimeline: "分開顯示時間線上的貼文。"
duplicate: "複製"
left: "左"
center: "向中央"
center: "置中"
wide: "寬"
narrow: "窄"
reloadToApplySetting: "設定將會在頁面重新載入之後生效。要現在就重載頁面嗎?"
@ -660,25 +661,37 @@ clearCache: "清除快取資料"
onlineUsersCount: "{n}人正在線上"
nUsers: "{n}用戶"
nNotes: "{n}貼文"
sendErrorReports: "傳送錯誤報告"
sendErrorReportsDescription: "啟用後問題報告將傳送至開發者以提升軟體品質。問題報告可能包括OS版本瀏覽器類型行為歷史記錄等。"
myTheme: "我的佈景主題"
backgroundColor: "背景"
accentColor: "重點色彩"
textColor: "文本"
textColor: "文字"
saveAs: "另存為..."
advanced: "進階"
value: "數值 "
value: "數值"
updatedAt: "最後更新"
saveConfirm: "您要儲存變更嗎?"
deleteConfirm: "你確定要刪除嗎?"
invalidValue: "輸入值無效。"
registry: "登錄表"
closeAccount: "停用帳戶"
currentVersion: "前版本"
currentVersion: "前版本"
latestVersion: "最新版本"
youAreRunningUpToDateClient: "您所使用的用戶端已經是最新的。"
newVersionOfClientAvailable: "新版本的用戶端可用。"
usageAmount: "使用量"
capacity: "容量"
inUse: "已使用"
editCode: "編輯代碼"
apply: "套用"
emailNotification: "郵件通知"
inChannelSearch: "頻道内搜尋"
typingUsers: "{users}輸入中..."
jumpToSpecifiedDate: "跳轉到特定日期"
clear: "清除"
goBack: "返回"
info: "資訊"
_email:
_follow:
title: "您有新的追隨者"
@ -691,13 +704,13 @@ _registry:
domain: "域"
createKey: "新增機碼"
_aboutMisskey:
about: "Misskey是由syuilo於2014年開發的開源軟件。"
about: "Misskey是由syuilo自2014年起開發的開源軟體。"
contributors: "主要貢獻者"
allContributors: "全體貢獻人員"
source: "原始碼"
translation: "翻譯Misskey"
donate: "捐贈給Misskey"
morePatrons: "感謝你們的支持、 幫助。 🥰"
donate: "贊助Misskey"
morePatrons: "還有許許多多幫助我們的其他人,非常感謝你們。 🥰"
patrons: "贊助者"
_nsfw:
respect: "隱藏敏感內容"
@ -706,7 +719,7 @@ _nsfw:
_mfm:
cheatSheet: "MFM代碼小抄"
intro: "MFM是Misskey專用的標記語言可以在Misskey中的各個位置使用。 您可以這裏看到MFM可用語法列表。"
dummy: "通過Misskey擴展Fediverse的世界"
dummy: "Misskey拓展了Fediverse的世界"
mention: "提及"
mentionDescription: "透過 @+用戶名 來標示特定使用者。"
hashtag: "#tag"
@ -741,7 +754,7 @@ _mfm:
x4Description: "將顯示內容放至最大。"
blur: "模糊"
font: "字型"
fontDescription: "可設置顯示內容所使用的字型"
fontDescription: "您可以設定顯示內容的字型"
_reversi:
reversi: "黑白棋"
gameSettings: "對弈設定"
@ -762,7 +775,7 @@ _reversi:
pastTurnOf: "{name}的回合"
surrender: "認輸"
surrendered: "對手認輸"
drawn: "平"
drawn: "平"
won: "{name}獲勝"
black: "黑"
white: "白"
@ -772,6 +785,7 @@ _reversi:
allGames: "所有對弈"
ended: "已結束"
playing: "正在對弈"
loopedMap: "循環棋盤"
_instanceTicker:
none: "隱藏"
remote: "向遠端使用者顯示"
@ -785,14 +799,14 @@ _channel:
edit: "編輯頻道"
setBanner: "設定橫幅"
removeBanner: "移除封面圖"
featured: "發燒內容"
featured: "熱門貼文"
owned: "管理中"
following: "關注中"
usersCount: "有{n}人參與"
notesCount: "有{n}個帖子"
notesCount: "有{n}個貼文"
_sidebar:
full: "全部"
icon: "頭像"
icon: "大頭貼"
hide: "隱藏"
_wordMute:
muteWords: "加入靜音文字"
@ -803,6 +817,7 @@ _theme:
install: "安裝佈景主題"
manage: "佈景主題管理員"
code: "主題代碼"
description: "描述"
installed: "{name}已安裝"
installedThemes: "已經安裝的主題"
builtinThemes: "標準主題"
@ -822,16 +837,17 @@ _theme:
keys:
bg: "背景"
fg: "文本"
panel: "面板"
shadow: "陰影"
navIndicator: "側邊欄指示符"
link: "鏈接"
hashtag: "#tag"
mention: "提"
mentionMe: "提我"
mention: "提"
mentionMe: "提到了我"
renote: "轉發貼文"
divider: "分割線"
scrollbarHandle: "動條"
scrollbarHandleHover: "動條 (漂浮)"
scrollbarHandle: "動條"
scrollbarHandleHover: "動條 (漂浮)"
dateLabelFg: "日期標籤文字"
infoBg: "資訊背景"
infoFg: "資訊內容"
@ -846,7 +862,7 @@ _theme:
listItemHoverBg: "列表物品背景 (漂浮)"
driveFolderBg: "雲端硬碟文件夾背景"
badge: "獎章"
messageBg: "私背景"
messageBg: "私背景"
accentDarken: "強調色(偏暗)"
accentLighten: "強調色(明亮)"
fgHighlighted: "高亮顯示文本"
@ -880,15 +896,15 @@ _tutorial:
step1_3: "由於你沒有發佈任何貼文,也沒有追隨任何人,所以你的時間軸目前是空的。"
step2_1: "在發文或追隨其他人之前先讓我們設定一下個人資料吧。"
step2_2: "提供一些關於自己的資訊來讓其他人更有追隨你的意願。"
step3_1: "個人資料都打理好了嗎?"
step3_2: "下一步讓我們來試試看發個文,按一下畫面上的鉛筆圖示來開始"
step3_1: "個人資料都設定好了嗎?"
step3_2: "接下來,讓我們來試試看發個文,按一下畫面上的鉛筆圖示來開始"
step3_3: "輸入完內容後,按視窗右上角的按鈕來發文"
step3_4: "不知道該寫什麼內容嗎試試看「開始使用Misskey了」如何。"
step4_1: "貼文發出去了嗎?"
step4_2: "如果你的貼文出現在時間軸上,就代表發文成功。"
step5_1: "現在試試看追隨其他人來讓你的時間軸變得更生動吧。"
step5_2: "你會在{featured}上看到受歡迎的貼文,你也可以從列表中追隨你喜歡的人,或者在{explore}上找到熱門使用者。"
step5_3: "想要追隨其他人,只要點擊他們的頭像並按「追隨」即可。"
step5_3: "想要追隨其他人,只要點擊他們的大頭貼並按「追隨」即可。"
step5_4: "如果使用者的名字旁有鎖頭的圖示,代表他們需要手動核准你的追隨請求。"
step6_1: "現在你可以在時間軸上看到其他用戶的貼文。"
step6_2: "你也可以對別人的貼文作出「情感」,作出簡單的回覆。"
@ -899,13 +915,13 @@ _2fa:
alreadyRegistered: "此設備已經被註冊過了"
registerDevice: "註冊裝置"
step1: "首先,在您的設備上安裝二步驗證程式,例如{a}或{b}。"
step2: "然後,掃描幕上的QR code。"
step2: "然後,掃描幕上的QR code。"
_permissions:
"read:account": "查看帳戶信息"
"write:account": "更改帳戶信息"
"read:blocks": "已封鎖用戶名單"
"write:blocks": "編輯已封鎖用戶名單"
"read:drive": "存取雲端硬碟\n"
"read:drive": "存取雲端硬碟"
"write:drive": "編輯雲端硬碟的檔案"
"read:favorites": "瀏覽我的最愛"
"write:favorites": "編輯我的最愛列表"
@ -922,7 +938,7 @@ _permissions:
"write:votes": "投票"
"read:pages": "顯示頁面"
"write:pages": "編輯頁面"
"read:page-likes": "顯示頁面的已喜歡"
"read:page-likes": "顯示已按讚的頁面"
"write:page-likes": "編輯頁面上喜歡"
"read:user-groups": "顯示使用者群組"
"write:user-groups": "編輯使用者群組"
@ -964,7 +980,7 @@ _widgets:
postForm: "發佈窗口"
slideshow: "幻燈片"
button: "按鈕"
onlineUsers: "線上的用戶"
onlineUsers: "線上的用戶"
jobQueue: "佇列"
_cw:
hide: "隱藏"

View file

@ -1,7 +1,7 @@
{
"name": "misskey",
"author": "syuilo <syuilotan@yahoo.co.jp>",
"version": "12.77.0",
"version": "12.77.1",
"codename": "indigo",
"repository": {
"type": "git",
@ -181,7 +181,7 @@
"markdown-it": "12.0.5",
"markdown-it-anchor": "7.1.0",
"matter-js": "0.17.1",
"mfm-js": "0.15.0",
"mfm-js": "0.16.0",
"mocha": "8.3.2",
"moji": "0.5.1",
"ms": "2.1.3",

View file

@ -171,12 +171,4 @@ export default defineComponent({
}
}
}
._inContainer_ .sqadhkmv > * {
margin: 0 !important;
border: none;
border-bottom: solid 0.5px var(--divider);
border-radius: 0;
box-shadow: none;
}
</style>

View file

@ -6,8 +6,8 @@
<p class="mfcuwfyp" v-else-if="empty">{{ $ts.noNotifications }}</p>
<div v-else class="_magnetParent">
<XList class="notifications _magnetChild" :items="items" v-slot="{ item: notification }" :no-gap="true">
<div v-else>
<XList class="notifications" :items="items" v-slot="{ item: notification }" :no-gap="true">
<XNote v-if="['reply', 'quote', 'mention'].includes(notification.type)" :note="notification.note" @update:note="noteUpdated(notification.note, $event)" :key="notification.id"/>
<XNotification v-else :notification="notification" :with-time="true" :full="true" class="_panel notification" :key="notification.id"/>
</XList>

View file

@ -294,19 +294,19 @@ export default defineComponent({
preview_inlineMath: '\\(x= \\frac{-b\' \\pm \\sqrt{(b\')^2-ac}}{a}\\)',
preview_quote: `> ${this.$ts._mfm.dummy}`,
preview_search: `${this.$ts._mfm.dummy} 検索`,
preview_jelly: `[jelly 🍮]`,
preview_tada: `[tada 🍮]`,
preview_jump: `[jump 🍮]`,
preview_bounce: `[bounce 🍮]`,
preview_shake: `[shake 🍮]`,
preview_twitch: `[twitch 🍮]`,
preview_spin: `[spin 🍮] [spin.left 🍮] [spin.alternate 🍮]\n[spin.x 🍮] [spin.x,left 🍮] [spin.x,alternate 🍮]\n[spin.y 🍮] [spin.y,left 🍮] [spin.y,alternate 🍮]`,
preview_flip: `[flip ${this.$ts._mfm.dummy}]\n[flip.v ${this.$ts._mfm.dummy}]\n[flip.h,v ${this.$ts._mfm.dummy}]`,
preview_font: `[font.serif ${this.$ts._mfm.dummy}]\n[font.monospace ${this.$ts._mfm.dummy}]\n[font.cursive ${this.$ts._mfm.dummy}]\n[font.fantasy ${this.$ts._mfm.dummy}]`,
preview_x2: `[x2 🍮]`,
preview_x3: `[x3 🍮]`,
preview_x4: `[x4 🍮]`,
preview_blur: `[blur ${this.$ts._mfm.dummy}]`,
preview_jelly: `$[jelly 🍮]`,
preview_tada: `$[tada 🍮]`,
preview_jump: `$[jump 🍮]`,
preview_bounce: `$[bounce 🍮]`,
preview_shake: `$[shake 🍮]`,
preview_twitch: `$[twitch 🍮]`,
preview_spin: `$[spin 🍮] $[spin.left 🍮] $[spin.alternate 🍮]\n$[spin.x 🍮] $[spin.x,left 🍮] $[spin.x,alternate 🍮]\n$[spin.y 🍮] $[spin.y,left 🍮] $[spin.y,alternate 🍮]`,
preview_flip: `$[flip ${this.$ts._mfm.dummy}]\n$[flip.v ${this.$ts._mfm.dummy}]\n$[flip.h,v ${this.$ts._mfm.dummy}]`,
preview_font: `$[font.serif ${this.$ts._mfm.dummy}]\n$[font.monospace ${this.$ts._mfm.dummy}]\n$[font.cursive ${this.$ts._mfm.dummy}]\n$[font.fantasy ${this.$ts._mfm.dummy}]`,
preview_x2: `$[x2 🍮]`,
preview_x3: `$[x3 🍮]`,
preview_x4: `$[x4 🍮]`,
preview_blur: `$[blur ${this.$ts._mfm.dummy}]`,
}
},
});

View file

@ -1,6 +1,6 @@
<template>
<div class="xcukqgmh _root _magnetParent" v-if="page" :key="page.id" v-size="{ max: [450] }">
<div class="_block _magnetChild main">
<div class="xcukqgmh _root" v-if="page" :key="page.id" v-size="{ max: [450] }">
<div class="_block main">
<!--
<div class="header">
<h1>{{ page.title }}</h1>

View file

@ -1,10 +1,8 @@
<template>
<div class="cmuxhskf _root _magnetParent" v-hotkey.global="keymap">
<div class="new" v-if="queue > 0"><button class="_buttonPrimary" @click="top()">{{ $ts.newNoteRecived }}</button></div>
<div class="cmuxhskf _root" v-hotkey.global="keymap">
<XTutorial v-if="$store.reactiveState.tutorial.value != -1" class="tutorial _block"/>
<XPostForm v-if="$store.reactiveState.showFixedPostForm.value" class="post-form _block" fixed/>
<div class="tabs _block _magnetChild">
<div class="tabs _block">
<div class="left">
<button class="_button tab" @click="() => { src = 'home'; saveSrc(); }" :class="{ active: src === 'home' }" v-tooltip="$ts._timelines.home"><Fa :icon="faHome"/></button>
<button class="_button tab" @click="() => { src = 'local'; saveSrc(); }" :class="{ active: src === 'local' }" v-tooltip="$ts._timelines.local" v-if="isLocalTimelineAvailable"><Fa :icon="faComments"/></button>
@ -32,6 +30,7 @@
@after="after()"
@queue="queueUpdated"
/>
<div class="new" v-if="queue > 0"><button class="_buttonPrimary" @click="top()">{{ $ts.newNoteRecived }}</button></div>
</div>
</template>

View file

@ -243,7 +243,10 @@ hr {
._block {
@extend ._panel;
margin: var(--margin) 0;
& + ._block {
margin-top: var(--margin);
}
}
._gap {
@ -323,6 +326,11 @@ hr {
margin: var(--root-margin, 32px) auto;
max-width: min(var(--baseContentWidth), calc(100% - (var(--root-margin, 32px) * 2)));
// 子marginが突き抜けるのを防ぐため
// https://stackoverflow.com/questions/1762539/margin-on-child-element-moves-parent-element
padding-top: 1px;
margin-top: calc(var(--root-margin, 32px) - 1px);
@media (max-width: 500px) {
--root-margin: 10px;
}
@ -344,7 +352,7 @@ hr {
}
._flat_ {
--root-margin: 0;
--root-margin: 0px;
--baseContentWidth: 100%;
--panelShadow: none;
@ -365,17 +373,11 @@ hr {
@media (max-width: 500px) {
._root {
--root-margin: 0;
--root-margin: 0px;
}
}
}
._magnetParent {
._magnetChild:not(* + ._magnetChild) {
margin-top: 0;
}
}
._narrow_ ._card {
> ._title {
padding: 16px;

View file

@ -1,6 +1,6 @@
<template>
<!-- sectionを利用しているのはdeck.vue側でcolumnに対してfirst-of-typeを効かせるため -->
<section class="dnpfarvg _panel _narrow_" :class="{ paged: isMainColumn, naked, _inContainer_: !isMainColumn, active, isStacked, draghover, dragging, dropready }"
<section class="dnpfarvg _panel _narrow_" :class="{ paged: isMainColumn, naked, active, isStacked, draghover, dragging, dropready }"
@dragover.prevent.stop="onDragover"
@dragleave="onDragleave"
@drop.prevent.stop="onDrop"

View file

@ -1,6 +1,6 @@
<template>
<div class="efzpzdvf">
<XWidgets :edit="editMode" :widgets="$store.reactiveState.widgets.value" @add-widget="addWidget" @remove-widget="removeWidget" @update-widget="updateWidget" @update-widgets="updateWidgets" @exit="editMode = false"/>
<XWidgets class="widgets" :edit="editMode" :widgets="$store.reactiveState.widgets.value" @add-widget="addWidget" @remove-widget="removeWidget" @update-widget="updateWidget" @update-widgets="updateWidgets" @exit="editMode = false"/>
<button v-if="editMode" @click="editMode = false" class="_textButton edit" style="font-size: 0.9em;"><Fa :icon="faCheck"/> {{ $ts.editWidgetsExit }}</button>
<button v-else @click="editMode = true" class="_textButton edit" style="font-size: 0.9em;"><Fa :icon="faPencilAlt"/> {{ $ts.editWidgets }}</button>
@ -64,6 +64,10 @@ export default defineComponent({
box-sizing: border-box;
padding-bottom: 8px;
> .widgets {
width: 300px;
}
> .edit {
display: block;
margin: 16px auto;

View file

@ -1,4 +1,4 @@
# AiScript
## 関数
## Funkce
デフォルトで値渡しです。

View file

@ -1,7 +1,7 @@
# プラグインの作成
Misskey Webクライアントのプラグイン機能を使うと、クライアントを拡張し、様々な機能を追加できます。 ここではプラグインの作成にあたってのメタデータ定義や、AiScript APIリファレンスを掲載します。
## メタデータ
## Metadata
プラグインは、AiScriptのメタデータ埋め込み機能を使って、デフォルトとしてプラグインのメタデータを定義する必要があります。 メタデータは次のプロパティを含むオブジェクトです。
### name

View file

@ -1,2 +1,2 @@
# カスタム絵文字
# Vlastní emoji
カスタム絵文字は、インスタンスで用意された画像を絵文字のように使える機能です。 ノート、リアクション、チャット、自己紹介、名前などの場所で使うことができます。 カスタム絵文字をそれらの場所で使うには、絵文字ピッカーボタン(ある場合)を押すか、`:`を入力して絵文字サジェストを表示します。 テキスト内に`:foo:`のような形式の文字列が見つかると、`foo`の部分がカスタム絵文字名と解釈され、表示時には対応したカスタム絵文字に置き換わります。

View file

@ -1,2 +1,2 @@
# フォロー
# Sledovaní
ユーザーをフォローすると、タイムラインにそのユーザーの投稿が表示されるようになります。ただし、他のユーザーに対する返信は含まれません。 ユーザーをフォローするには、ユーザーページの「フォロー」ボタンをクリックします。フォローを解除するには、もう一度クリックします。

View file

@ -1,25 +1,25 @@
# キーボードショートカット
# Klávesové zkratky
## グローバル
これらのショートカットは基本的にどこでも使えます。
## Globální
Tyto zkratky lze použít prakticky kdekoliv.
<table>
<thead>
<tr><th>ショートカット</th><th>効果</th><th>由来</th></tr>
<tr><th>Zkratka</th><th>Efekt</th><th>由来</th></tr>
</thead>
<tbody>
<tr><td><kbd class="key">P</kbd>, <kbd class="key">N</kbd></td><td>新規投稿</td><td><b>P</b>ost, <b>N</b>ew, <b>N</b>ote</td></tr>
<tr><td><kbd class="key">T</kbd></td><td>タイムラインの最も新しい投稿にフォーカス</td><td><b>T</b>imeline, <b>T</b>op</td></tr>
<tr><td><kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">N</kbd></kbd></td><td>通知を表示/隠す</td><td><b>N</b>otifications</td></tr>
<tr><td><kbd class="key">S</kbd></td><td>検索</td><td><b>S</b>earch</td></tr>
<tr><td><kbd class="key">H</kbd>, <kbd class="key">?</kbd></td><td>ヘルプを表示</td><td><b>H</b>elp</td></tr>
<tr><td><kbd class="key">P</kbd>, <kbd class="key">N</kbd></td><td>Nový příspěvek</td><td><b>P</b>ost, <b>N</b>ew, <b>N</b>ote</td></tr>
<tr><td><kbd class="key">T</kbd></td><td>Zaměřit se na nejnovější příspěvek ve feedu.</td><td><b>T</b>imeline, <b>T</b>op</td></tr>
<tr><td><kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">N</kbd></kbd></td><td>Zobrazit/schovat notifikace</td><td><b>N</b>otifications</td></tr>
<tr><td><kbd class="key">S</kbd></td><td>Vyhledávání</td><td><b>S</b>earch</td></tr>
<tr><td><kbd class="key">H</kbd>, <kbd class="key">?</kbd></td><td>Zobrazit nápovědu</td><td><b>H</b>elp</td></tr>
</tbody>
</table>
## 投稿にフォーカスされた状態
## Zkratky pro příspěvky
<table>
<thead>
<tr><th>ショートカット</th><th>効果</th><th>由来</th></tr>
<tr><th>Zkratka</th><th>Efekt</th><th>由来</th></tr>
</thead>
<tbody>
<tr><td><kbd class="key"></kbd>, <kbd class="key">K</kbd>, <kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">Tab</kbd></kbd></td><td>上の投稿にフォーカスを移動</td><td>-</td></tr>
@ -41,7 +41,7 @@
<table>
<thead>
<tr><th>ショートカット</th><th>効果</th><th>由来</th></tr>
<tr><th>Zkratka</th><th>Efekt</th><th>由来</th></tr>
</thead>
<tbody>
<tr><td><kbd class="key">Enter</kbd></td><td>Renoteする</td><td>-</td></tr>
@ -54,7 +54,7 @@
デフォルトで「👍」にフォーカスが当たっている状態です。
<table>
<thead>
<tr><th>ショートカット</th><th>効果</th><th>由来</th></tr>
<tr><th>Zkratka</th><th>Efekt</th><th>由来</th></tr>
</thead>
<tbody>
<tr><td><kbd class="key"></kbd>, <kbd class="key">K</kbd></td><td>上のリアクションにフォーカスを移動</td><td>-</td></tr>

View file

@ -1,2 +1,2 @@
# MFM
MFMは、Misskey Flavored Markdownの略で、Misskeyの様々な場所で使用できる専用のマークアップ言語です。 MFMで使用可能な構文は[MFMチートシート](/mfm-cheat-sheet)で確認できます。
MFM je zkratka pro "Misskey Flavored Markdown". Speciální markup, který může být použit na mnoha místech v Misskey. Syntaxi můžete vidět na [MFM taháku](/mfm-cheat-sheet).

View file

@ -1,4 +1,4 @@
# ミュート
# Ztlumit
ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります:

View file

@ -1,6 +1,6 @@
# Pages
# Stránky
## 変数
## Proměnná
変数を使うことで動的なページを作成できます。テキスト内で <b>{ 変数名 }</b> と書くとそこに変数の値を埋め込めます。例えば <b>Hello { thing } world!</b> というテキストで、変数(thing)の値が <b>ai</b> だった場合、テキストは <b>Hello ai world!</b> になります。
変数の評価(値を算出すること)は上から下に行われるので、ある変数の中で自分より下の変数を参照することはできません。例えば上から <b>A、B、C</b> と3つの変数を定義したとき、<b>C</b>の中で<b>A</b><b>B</b>を参照することはできますが、<b>A</b>の中で<b>B</b><b>C</b>を参照することはできません。

View file

@ -1,4 +1,4 @@
# リアクション
# Reakce
他の人のノートに、絵文字を付けて簡単にあなたの反応を伝えられる機能です。 リアクションするには、ノートの + アイコンをクリックしてピッカーを表示し、絵文字を選択します。 リアクションには[カスタム絵文字](./custom-emoji)も使用できます。
## リアクションピッカーのカスタマイズ

View file

@ -1,11 +1,11 @@
# テーマ
# Vzhled
テーマを設定して、Misskeyクライアントの見た目を変更できます。
Můžete si vybrat vzhled a změnit tím jak vypadá Misskey klient.
## テーマの設定
設定 > テーマ
## Nastavení vzhledu
Nastavení > vzhled
## テーマを作成する
## Vytvořit vzhled
テーマコードはJSON5で記述されたテーマオブジェクトです。 テーマは以下のようなオブジェクトです。
``` js
{
@ -33,9 +33,9 @@
```
* `id` ... テーマの一意なID。UUIDをおすすめします。
* `name` ... テーマ名
* `author` ... テーマの作者
* `id` ... Unikátní ID vzhledu. UUID je povinné.
* `name` ... Jméno vzhledu
* `author` ... Autor vzhledu
* `desc` ... テーマの説明(オプション)
* `base` ... 明るいテーマか、暗いテーマか
* `light`にすると明るいテーマになり、`dark`にすると暗いテーマになります。

View file

@ -2,14 +2,14 @@
https://docs.google.com/spreadsheets/d/1lxQ2ugKrhz58Bg96HTDK_2F98BUritkMyIiBkOByjHA/edit?usp=sharing
## ホーム
## Domů
自分のフォローしているユーザーの投稿
## ローカル
## Lokální
全てのローカルユーザーの「ホーム」指定されていない投稿
## ソーシャル
自分のフォローしているユーザーの投稿と、全てのローカルユーザーの「ホーム」指定されていない投稿
## グローバル
## Globální
全てのローカルユーザーの「ホーム」指定されていない投稿と、サーバーに届いた全てのリモートユーザーの「ホーム」指定されていない投稿

View file

@ -43,7 +43,7 @@ Themencodes werden im Format eines JSON5-Objekts gespeichert. Themen werden wie
* `props` ... Definitionen der Themenoptionen.Diese werden im folgenden erläutert.
### Definition von Themenoptionen
Die Optionen des Themas werden in `props` definiert. Die Schlüssel werden zu CSS-Variablen, die Werte geben den Inhalt an. Zusätzlich werden die `props` des gewählten Basisthemas von diesem Thema geerbt. Ist die `base` dieses Themas auf `light` gesetzt, so werden sie aus [_light.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_light.json5) kopiert, ist sie auf `dark` gesetzt, so werden sie aus [_dark.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_dark.json5) kopiert. Beispielsweise wird, falls sich in den `props` dieses Themas keine Definition für den Schlüssel `panel` befindet, so wird der Wert von `panel` aus dem Basisthema verwendet.
Die Optionen des Themas werden in `props` definiert. Die Schlüssel werden zu CSS-Variablen, die Werte geben den Inhalt an. Zusätzlich werden die `props` des gewählten Basisthemas von diesem Thema geerbt. Ist die `base` dieses Themas auf `light` gesetzt, so werden sie aus [_light.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_light.json5) kopiert, ist sie auf `dark` gesetzt, so werden sie aus [_dark.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_dark.json5) kopiert. Beispielsweise wird, falls sich in den `props` dieses Themas keine Definition für den Schlüssel `panel` befindet, so wird der Wert von `panel` aus dem Basisthema verwendet.
#### Syntax für Wertangaben
* Hexadezimalfarben

View file

@ -43,7 +43,7 @@ Theme codes are saved as a JSON5 object of theme options. Themes are composed of
* `props` ... The style definitions of the theme.These will be explained in the following.
### Theme style definitions
Define the style of the theme within `props`. The keys will become CSS variables, and the value specifies the content. In addition, the default `props` options are inherited from the base theme. If this theme's `base` is `light`, they will be copied from [_light.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_light.json5), if it is `dark` they will be copied from [_dark.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_dark.json5). In other words, if there is for example no `panel` key contained in `props`, then the value of `panel` from the base theme will be used.
Define the style of the theme within `props`. The keys will become CSS variables, and the value specifies the content. In addition, the default `props` options are inherited from the base theme. If this theme's `base` is `light`, they will be copied from [_light.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_light.json5), if it is `dark` they will be copied from [_dark.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_dark.json5). In other words, if there is for example no `panel` key contained in `props`, then the value of `panel` from the base theme will be used.
#### Syntax for values
* Hex colors

View file

@ -110,7 +110,7 @@ y = Math.floor(pos / mapWidth)
```
### フォームコントロールの種類
#### Basculer
#### Interrupteur
type: `switch` スイッチを表示します。何かの機能をオン/オフさせたい場合に有用です。
##### プロパティ

View file

@ -1,6 +1,6 @@
# API streaming
# API Stream
ストリーミングAPIを使うと、リアルタイムで様々な情報(例えばタイムラインに新しい投稿が流れてきた、メッセージが届いた、フォローされた、など)を受け取ったり、様々な操作を行ったりすることができます。
L'API Stream permet d'implémenter l'exécution d'opérations variées et la réception de diverses informations en temps réel. Cela concerne, par exemple, l'affichage des nouvelles publications dans les fils, la réception de nouveaux messages, les nouveaux abonnements, etc.
## ストリームに接続する

View file

@ -43,7 +43,7 @@ Le code des thèmes est écrit sous forme d'objets JSON5. Les thèmes comprennen
* `props` ... Définir un style de thème.Voir les explications ci-après.
### Définir un style de thème
C'est dans `props` que vous définirez le style de thème. Les propriétés deviendront des variables CSS et les valeurs associées spécifieront le contenu de ces variables. Par ailleurs, les objets présents par défaut dans `props` sont hérités du thème de base. Ainsi, si le thème de `base` est clair `light` ce sera l'objet [_light.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_light.json5) ; et s'il est sombre `dark` ce sera l'objet [_dark.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_dark.json5). Cela signifie, par exemple, que s'il n'y pas de propriété `panel` définie dans les `props` du thème, alors ce sera la valeur `panel` du thème de base qui sera prise en compte.
C'est dans `props` que vous définirez le style de thème. Les propriétés deviendront des variables CSS et les valeurs associées spécifieront le contenu de ces variables. Par ailleurs, les objets présents par défaut dans `props` sont hérités du thème de base. Ainsi, si le thème de `base` est clair `light` ce sera l'objet [_light.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_light.json5) ; et s'il est sombre `dark` ce sera l'objet [_dark.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_dark.json5). Cela signifie, par exemple, que s'il n'y pas de propriété `panel` définie dans les `props` du thème, alors ce sera la valeur `panel` du thème de base qui sera prise en compte.
#### Syntaxe des valeurs
* Codes de couleur Hex

View file

@ -1,58 +1,58 @@
# Misskey API
MisskeyAPIを使ってMisskeyクライアント、Misskey連携Webサービス、Bot等(以下「アプリケーション」と呼びます)を開発できます。 ストリーミングAPIもあるので、リアルタイム性のあるアプリケーションを作ることも可能です。
Misskey API를 사용하여 Misskey 클라이언트, Misskey 연계 웹 서비스, 봇 등(이하 "애플리케이션"이라고 부릅니다)을 개발할 수 있습니다. 스트리밍 API도 있기 때문에 실시간 애플리케이션을 만들 수도 있습니다.
APIを使い始めるには、まずアクセストークンを取得する必要があります。 このドキュメントでは、アクセストークンを取得する手順を説明した後、基本的なAPIの使い方を説明します。
API를 사용하려면 먼저 액세스 토큰을 취득해야 합니다. 이 문서에서는 액세스 토큰을 취득하는 절차를 설명한 후 기본적인 API 사용법을 설명합니다.
## アクセストークンの取得
基本的に、APIはリクエストにはアクセストークンが必要となります。 APIにリクエストするのが自分自身なのか、不特定の利用者に使ってもらうアプリケーションなのかによって取得手順は異なります。
## 액세스 토큰 가져오기
기본적으로 API는 요청 시에 액세스 토큰이 필요합니다. API에 요청하는 것이 자기 자신인지, 불특정한 유저에게 사용하는 애플리케이션인지에 따라 취득 절차가 달라집니다.
* 前者の場合: [「自分自身のアクセストークンを手動発行する」](#自分自身のアクセストークンを手動発行する)に進む
* 後者の場合: [「アプリケーション利用者にアクセストークンの発行をリクエストする」](#アプリケーション利用者にアクセストークンの発行をリクエストする)に進む
* 전자의 경우: [ 「자기 자신의 액세스 토큰을 수동으로 발급하기」](#自分自身のアクセストークンを手動発行する)로 진행
* 후자의 경우: [「애플리케이션 사용자에게 액세스 토큰 발급을 요청하기」](#アプリケーション利用者にアクセストークンの発行をリクエストする)로 진행
### 自分自身のアクセストークンを手動発行する
設定 > API」で、自分のアクセストークンを発行できます。
### 자기 자신의 액세스 토큰을 수동으로 발급하기
설정 &#062 API」에서 자신의 액세스 토큰을 발급할 수 있습니다.
[「APIの使い方」へ進む](#APIの使い方)
[「API 사용 방법」으로 이동](#APIの使い方)
### アプリケーション利用者にアクセストークンの発行をリクエストする
アプリケーション利用者のアクセストークンを取得するには、以下の手順で発行をリクエストします。
### 애플리케이션 사용자에게 액세스 토큰 발급을 요청하기
애플리케이션 사용자의 액세스 토큰을 취득하려면, 다음 순서로 발급을 요청합니다.
#### Step 1
#### 1 단계
UUIDを生成する。以後これをセッションIDと呼びます。
UUID를 생성합니다. 이것을 세션 ID라고 부릅니다.
> このセッションIDは毎回生成し、使いまわさないようにしてください。
> 이 세션 ID는 매번 새로 생성하는 것이 아닙니다.
#### Step 2
#### 2 단계
`{_URL_}/miauth/{session}`をユーザーのブラウザで表示させる。`{session}`の部分は、セッションIDに置き換えてください。
> : `{_URL_}/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f`
`{_URL_}/miauth/{session}`을 사용자의 브라우저에 입력합니다. `{session}` 부분은 세션 ID로 대체해서 입력합니다.
> : `{_URL_}/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f`
表示する際、URLにクエリパラメータとしていくつかのオプションを設定できます:
* `name` ... アプリケーション名
* > : `MissDeck`
* `icon` ... アプリケーションのアイコン画像URL
* > : `https://missdeck.example.com/icon.png`
* `callback` ... 認証が終わった後にリダイレクトするURL
* > : `https://missdeck.example.com/callback`
* リダイレクト時には、`session`というクエリパラメータでセッションIDが付きます
* `permission` ... アプリケーションが要求する権限
* > : `write:notes,write:following,read:drive`
* 要求する権限を`,`で区切って列挙します
* どのような権限があるかは[APIリファレンス](/api-doc)で確認できます
표시할 때 URL에 쿼리 매개변수로 몇 가지 옵션을 설정할 수 있습니다:
* `name` ... 애플리케이션 이름
* > : `MissDeck`
* `icon` ... 애플리케이션 아이콘의 이미지 URL
* > : `https://missdeck.example.com/icon.png`
* `callback` ... 인증이 끝난 후 리디렉션되는 URL
* > : `https://missdeck.example.com/callback`
* 리디렉션 할 시, `session`이라는 쿼리 매개변수로 세션 ID가 붙습니다.
* `permission` ... 애플리케이션이 요구하는 권한
* > : `write:notes,write:following,read:drive`
* 요구하는 권한을 `,`으로 구분해서 작성합니다.
* 권한의 종류에 대해서는 [API 레퍼런스](/api-doc)에서 확인할 수 있습니다.
#### Step 3
ユーザーが発行を許可した後、`{_URL_}/api/miauth/{session}/check`にPOSTリクエストすると、レスポンスとしてアクセストークンを含むJSONが返ります。
#### 3 단계
사용자가 발급을 허용한 후, `{_URL_}/api/miauth/{session}/check`에 POST 요청을 하면 응답으로 액세스 토큰을 포함한 JSON이 반환됩니다.
レスポンスに含まれるプロパティ:
* `token` ... ユーザーのアクセストークン
* `user` ... ユーザーの情報
응답에 포함되는 속성:
* `token` ... 유저의 액세스 토큰
* `user` ... 유저 정보
[「APIの使い方」へ進む](#APIの使い方)
[「API 사용 방법」으로 이동](#APIの使い方)
## APIの使い方
**APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です。RESTではありません。** アクセストークンは、`i`というパラメータ名でリクエストに含めます。
## API 사용 방법
**API는 모두 POST 방식이며, 요청/응답 모두 JSON 형식입니다. REST가 아닙니다.** 액세스 토큰은 `i`라는 매개변수로 요청에 포함됩니다.
* [APIリファレンス](/api-doc)
* [ストリーミングAPI](./stream)
* [API 레퍼런스](/api-doc)
* [스트리밍 API](./stream)

View file

@ -1,74 +1,74 @@
# プラグインの作成
Misskey Webクライアントのプラグイン機能を使うと、クライアントを拡張し、様々な機能を追加できます。 ここではプラグインの作成にあたってのメタデータ定義や、AiScript APIリファレンスを掲載します。
# 플러그인 제작
Misskey 웹 클라이언트의 플러그인 기능을 사용하면, 클라이언트를 확장하고 다양한 기능을 추가할 수 있습니다. 여기에서는 플러그인의 제작에 있어서 메타데이터 정의, AiScript API 레퍼런스를 소개합니다.
## 메타데이터
プラグインは、AiScriptのメタデータ埋め込み機能を使って、デフォルトとしてプラグインのメタデータを定義する必要があります。 メタデータは次のプロパティを含むオブジェクトです。
플러그인은 AiScript의 메타데이터 내장 기능을 사용하며, 기본적으로 플러그인의 메타데이터를 정의해야 합니다.
### name
プラグイン名
플러그인 이름
### author
プラグイン作者
플러그인 제작자
### version
プラグインバージョン。数値を指定してください。
플러그인 버전. 값을 지정해 주세요.
### description
プラグインの説明
플러그인에 대한 설명
### permissions
プラグインが要求する権限。MisskeyAPIにリクエストする際に用いられます。
플러그인이 요구하는 권한. Misskey API에 요청할 때 사용됩니다.
### config
プラグインの設定情報を表すオブジェクト。 キーに設定名、値に以下のプロパティを含めます。
플러그인의 설정 정보를 나타내는 객체. 키 값에 설정명을, 값에는 다음 속성을 포함할 수 있습니다.
#### type
設定値の種類を表す文字列。以下から選択します。 string number boolean
설정값의 종류를 나타내는 문자열. 아래 항목들을 사용할 수 있습니다. string number boolean
#### label
ユーザーに表示する設定名
사용자에게 표시할 설정 이름
#### description
設定の説明
설정의 설명
#### default
設定のデフォルト値
설정의 기본값
## APIリファレンス
AiScript標準で組み込まれているAPIは掲載しません。
## API 레퍼런스
AiScript 표준으로 내장되어 있는 API는 소개하지 않습니다.
### Mk:dialog(title text type)
ダイアログを表示します。typeには以下の値が設定できます。 info success warn error question 省略すると info になります。
대화 상자를 표시합니다. type에는 아래 항목들을 사용할 수 있습니다. info success warn error question 생략하면 info로 설정됩니다.
### Mk:confirm(title text type)
確認ダイアログを表示します。typeには以下の値が設定できます。 info success warn error question 省略すると question になります。 ユーザーが"OK"を選択した場合は true を、"キャンセル"を選択した場合は false が返ります。
확인 대화 상자를 표시합니다. type에는 아래 항목들을 사용할 수 있습니다. info success warn error question 생략하면 question으로 설정됩니다. 사용자가 "OK"를 선택한 경우 true를, "취소"를 선택한 경우 false가 반환됩니다.
### Mk:api(endpoint params)
Misskey APIにリクエストします。第一引数にエンドポイント名、第二引数にパラメータオブジェクトを渡します。
Misskey API에 요청합니다. 첫 번째 인수에 엔드포인트 이름, 두 번째 인수에 매개변수 객체를 전달합니다.
### Mk:save(key value)
任意の値に任意の名前を付けて永続化します。永続化した値は、AiScriptコンテキストが終了しても残り、Mk:loadで読み取ることができます。
임의의 값에 임의의 이름을 붙여 영속화합니다. 영속화한 값은 AiScript 컨텍스트가 종료되어도 남아서 Mk:load 작업을 수행합니다.
### Mk:load(key)
Mk:saveで永続化した指定の名前の値を読み取ります。
Mk:save에서 영속화된 지정값을 읽습니다.
### Plugin:register_post_form_action(title fn)
投稿フォームにアクションを追加します。第一引数にアクション名、第二引数にアクションが選択された際のコールバック関数を渡します。 コールバック関数には、第一引数に投稿フォームオブジェクトが渡されます。
게시 양식에 작업을 추가합니다. 첫 번째 인수로 작업 이름, 두 번째 인수로 작업이 선택되었을 때의 콜백 함수를 전달합니다. 콜백 함수에는 첫 번째 인수로 게시 양식 객체가 전달됩니다.
### Plugin:register_note_action(title fn)
ノートメニューに項目を追加します。第一引数に項目名、第二引数に項目が選択された際のコールバック関数を渡します。 コールバック関数には、第一引数に対象のノートオブジェクトが渡されます。
노트 메뉴에 항목을 추가합니다. 첫 번째 인수로 항목명, 두 번째 인수로 항목이 선택되었을 때의 콜백 함수를 전달합니다. 콜백 함수에는 첫 번째 인수로 대상 노트 객체가 전달됩니다.
### Plugin:register_user_action(title fn)
ユーザーメニューに項目を追加します。第一引数に項目名、第二引数に項目が選択された際のコールバック関数を渡します。 コールバック関数には、第一引数に対象のユーザーオブジェクトが渡されます。
유저 메뉴에 항목을 추가합니다. 첫 번째 인수로 항목명, 두 번째 인수로 항목이 선택되었을 때의 콜백 함수를 전달합니다. 콜백 함수에는 첫 번째 인수로 대상 유저 객체가 전달됩니다.
### Plugin:register_note_view_interruptor(fn)
UIに表示されるノート情報を書き換えます。 コールバック関数には、第一引数に対象のノートオブジェクトが渡されます。 コールバック関数の返り値でノートが書き換えられます。
UI에 표시되는 노트 정보를 변경합니다. 콜백 함수는 첫 번째 인수로 해당되는 노트 객체를 전달합니다. 콜백 함수의 반환값으로 노트가 변경됩니다.
### Plugin:register_note_post_interruptor(fn)
ノート投稿時にノート情報を書き換えます。 コールバック関数には、第一引数に対象のノートオブジェクトが渡されます。 コールバック関数の返り値でノートが書き換えられます。
노트를 게시할 때의 노트 정보를 변경합니다. 콜백 함수는 첫 번째 인수로 해당되는 노트 객체를 전달합니다. 콜백 함수의 반환값으로 노트가 변경됩니다.
### Plugin:open_url(url)
第一引数に渡されたURLをブラウザの新しいタブで開きます。
첫 번째 인수로 전달된 URL을 브라우저의 새 탭에서 엽니다.
### Plugin:config
プラグインの設定が格納されるオブジェクト。プラグイン定義のconfigで設定したキーで値が入ります。
플러그인의 설정이 저장되는 객체. 플러그인 정의 config에서 설정한 키로 값이 저장됩니다.

View file

@ -1,2 +1,2 @@
# 커스텀 이모지
カスタム絵文字は、インスタンスで用意された画像を絵文字のように使える機能です。 ノート、リアクション、チャット、自己紹介、名前などの場所で使うことができます。 カスタム絵文字をそれらの場所で使うには、絵文字ピッカーボタン(ある場合)を押すか、`:`を入力して絵文字サジェストを表示します。 テキスト内に`:foo:`のような形式の文字列が見つかると、`foo`の部分がカスタム絵文字名と解釈され、表示時には対応したカスタム絵文字に置き換わります。
커스텀 이모지는 인스턴스에 준비된 이미지를 이모지와 같이 사용할 수 있는 기능입니다. 노트, 리액션, 채팅, 자기소개, 이름 등에서 사용할 수 있습니다. 커스텀 이모지를 사용하려면, 커스텀 이모지 선택기 버튼(있는 경우)을 누르거나, `:`를 입력해 이모지 추천을 표시합니다. 텍스트 내에 `:foo:`와 같은 형식의 문자열이 발견되면, `foo` 부분이 커스텀 이모지명으로 해석되며, 표기는 대응하는 커스텀 이모지로 대체됩니다.

View file

@ -1,18 +1,18 @@
# 덱
デッキは利用可能なUIのひとつです。「カラム」と呼ばれるビューを複数並べて表示させることで、カスタマイズ性が高く、情報量の多いUIが構築できることが特徴です。
덱은 이용 가능한 UI 중 하나입니다. 「칼럼」이라고 불리는 여러 뷰를 나열하여 표시함으로써, 맞춤성이 높고 정보량이 많은 UI를 구축할 수 있다는 특징이 있습니다.
## カラムの追加
デッキの背景を右クリックし、「カラムを追加」して任意のカラムを追加できます。
## 칼럼 추가
덱의 배경을 우클릭 한 뒤, 「칼럼 추가」를 눌러 원하는 칼럼을 추가할 수 있습니다.
## カラムの移動
カラムは、ドラッグアンドドロップで他のカラムと位置を入れ替えることが出来るほか、カラムメニュー(カラムのヘッダー右クリック)から位置を移動させることもできます。
## 칼럼 이동
칼럼은 드래그 앤 드롭으로 다른 칼럼과 위치를 바꿀 수 있으며, 칼럼 메뉴(칼럼의 헤더 오른쪽 클릭)에서도 위치를 이동할 수 있습니다.
## カラムの水平分割
カラムは左右だけでなく、上下に並べることもできます。 カラムメニューを開き、「左に重ねる」を選択すると、左のカラムの下に現在のカラムが移動します。 上下分割を解除するには、カラムメニューの「右に出す」を選択します。
## 칼럼 수평 분할
칼럼은 좌우뿐만 아니라, 상하로도 정렬할 수 있습니다. 칼럼 메뉴를 열고 「왼쪽에 쌓기」를 선택하면 왼쪽 칼럼 아래로 현재 칼럼이 이동합니다. 수평 분할을 해제하려면 칼럼 메뉴의 「오른쪽으로 빼기」를 선택합니다.
## カラムの設定
カラムメニューの「編集」を選択するとカラムの設定を編集できます。カラムの名前を変えたり、幅を変えたりできます。
## 칼럼 설정
칼럼 메뉴의 「편집」을 클릭하면 칼럼의 설정을 편집할 수 있습니다. 칼럼의 이름을 변경하거나, 너비를 조절할 수 있습니다.
## デッキの設定
デッキに関する設定は、[settings/deck](/settings/deck)で行えます。
## 덱 설정
덱에 관한 설정은 [settings/deck](/settings/deck)에서 할 수 있습니다.

View file

@ -1,2 +1,2 @@
# 팔로
ユーザーをフォローすると、タイムラインにそのユーザーの投稿が表示されるようになります。ただし、他のユーザーに対する返信は含まれません。 ユーザーをフォローするには、ユーザーページの「フォロー」ボタンをクリックします。フォローを解除するには、もう一度クリックします。
# 팔로
유저를 팔로우하게 되면 타임라인에 해당 유저의 글이 뜨게 됩니다. 단, 다른 유저에 대한 회신은 포함되지 않습니다. 유저를 팔로우 하려면, 유저 페이지의 「팔로우」 버튼을 클릭합니다. 팔로우를 해제하려면 다시 클릭합니다.

View file

@ -1,68 +1,68 @@
# キーボードショートカット
# 키보드 단축키
## 글로벌
これらのショートカットは基本的にどこでも使えます。
아래 단축키는 어디서든 사용할 수 있습니다.
<table>
<thead>
<tr><th>단축키</th><th>効果</th><th>由来</th></tr>
<tr><th>단축키</th><th>동작</th><th></th></tr>
</thead>
<tbody>
<tr><td><kbd class="key">P</kbd>, <kbd class="key">N</kbd></td><td>新規投稿</td><td><b>P</b>ost, <b>N</b>ew, <b>N</b>ote</td></tr>
<tr><td><kbd class="key">T</kbd></td><td>タイムラインの最も新しい投稿にフォーカス</td><td><b>T</b>imeline, <b>T</b>op</td></tr>
<tr><td><kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">N</kbd></kbd></td><td>通知を表示/隠す</td><td><b>N</b>otifications</td></tr>
<tr><td><kbd class="key">P</kbd>, <kbd class="key">N</kbd></td><td>새 노트 작성</td><td><b>P</b>ost, <b>N</b>ew, <b>N</b>ote</td></tr>
<tr><td><kbd class="key">T</kbd></td><td>타임라인에서 가장 최근에 올라온 노트로 이동</td><td><b>T</b>imeline, <b>T</b>op</td></tr>
<tr><td><kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">N</kbd></kbd></td><td>알림 표시/숨기기</td><td><b>N</b>otifications</td></tr>
<tr><td><kbd class="key">S</kbd></td><td>검색</td><td><b>S</b>earch</td></tr>
<tr><td><kbd class="key">H</kbd>, <kbd class="key">?</kbd></td><td>도움말 표시</td><td><b>H</b>elp</td></tr>
</tbody>
</table>
## 投稿にフォーカスされた状態
## 노트를 선택한 상태
<table>
<thead>
<tr><th>단축키</th><th>効果</th><th>由来</th></tr>
<tr><th>단축키</th><th>동작</th><th></th></tr>
</thead>
<tbody>
<tr><td><kbd class="key"></kbd>, <kbd class="key">K</kbd>, <kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">Tab</kbd></kbd></td><td>上の投稿にフォーカスを移動</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">J</kbd>, <kbd class="key">Tab</kbd></td><td>下の投稿にフォーカスを移動</td><td>-</td></tr>
<tr><td><kbd class="key">R</kbd></td><td>返信フォームを開く</td><td><b>R</b>eply</td></tr>
<tr><td><kbd class="key">Q</kbd></td><td>Renoteフォームを開く</td><td><b>Q</b>uote</td></tr>
<tr><td><kbd class="group"><kbd class="key">Ctrl</kbd> + <kbd class="key">Q</kbd></kbd></td><td>即刻Renoteする(フォームを開かずに)</td><td>-</td></tr>
<tr><td><kbd class="key">E</kbd>, <kbd class="key">A</kbd>, <kbd class="key">+</kbd></td><td>リアクションフォームを開く</td><td><b>E</b>mote, re<b>A</b>ction</td></tr>
<tr><td><kbd class="key">0</kbd>~<kbd class="key">9</kbd></td><td>数字に対応したリアクションをする(対応については後述)</td><td>-</td></tr>
<tr><td><kbd class="key">F</kbd>, <kbd class="key">B</kbd></td><td>お気に入りに登録</td><td><b>F</b>avorite, <b>B</b>ookmark</td></tr>
<tr><td><kbd class="key">Del</kbd>, <kbd class="group"><kbd class="key">Ctrl</kbd> + <kbd class="key">D</kbd></kbd></td><td>投稿を削除</td><td><b>D</b>elete</tr>
<tr><td><kbd class="key">M</kbd>, <kbd class="key">O</kbd></td><td>投稿に対するメニューを開く</td><td><b>M</b>ore, <b>O</b>ther</td></tr>
<tr><td><kbd class="key">S</kbd></td><td>CWで隠された部分を表示 or 隠す</td><td><b>S</b>how, <b>S</b>ee</td></tr>
<tr><td><kbd class="key">Esc</kbd></td><td>フォーカスを外す</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">K</kbd>, <kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">Tab</kbd></kbd></td><td>위쪽 노트로 이동</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">J</kbd>, <kbd class="key">Tab</kbd></td><td>아래쪽 노트로 이동</td><td>-</td></tr>
<tr><td><kbd class="key">R</kbd></td><td>답글창 열기</td><td><b>R</b>eply</td></tr>
<tr><td><kbd class="key">Q</kbd></td><td>인용창 열기</td><td><b>Q</b>uote</td></tr>
<tr><td><kbd class="group"><kbd class="key">Ctrl</kbd> + <kbd class="key">Q</kbd></kbd></td><td>즉시 Renote 하기(창을 열지 않음)</td><td>-</td></tr>
<tr><td><kbd class="key">E</kbd>, <kbd class="key">A</kbd>, <kbd class="key">+</kbd></td><td>리액션 창 열기</td><td><b>E</b>mote, re<b>A</b>ction</td></tr>
<tr><td><kbd class="key">0</kbd>~<kbd class="key">9</kbd></td><td>숫자에 대응하는 리액션(대응에 대해서는 후술)</td><td>-</td></tr>
<tr><td><kbd class="key">F</kbd>, <kbd class="key">B</kbd></td><td>즐겨찾기에 등록</td><td><b>F</b>avorite, <b>B</b>ookmark</td></tr>
<tr><td><kbd class="key">Del</kbd>, <kbd class="group"><kbd class="key">Ctrl</kbd> + <kbd class="key">D</kbd></kbd></td><td>노트 삭제</td><td><b>D</b>elete</tr>
<tr><td><kbd class="key">M</kbd>, <kbd class="key">O</kbd></td><td>노트 추가 메뉴 열기</td><td><b>M</b>ore, <b>O</b>ther</td></tr>
<tr><td><kbd class="key">S</kbd></td><td>CW로 가려진 부분을 표시 또는 가리기</td><td><b>S</b>how, <b>S</b>ee</td></tr>
<tr><td><kbd class="key">Esc</kbd></td><td>노트 선택을 해제</td><td>-</td></tr>
</tbody>
</table>
## Renoteフォーム
## Renote
<table>
<thead>
<tr><th>단축키</th><th>効果</th><th>由来</th></tr>
<tr><th>단축키</th><th>동작</th><th></th></tr>
</thead>
<tbody>
<tr><td><kbd class="key">Enter</kbd></td><td>Renoteする</td><td>-</td></tr>
<tr><td><kbd class="key">Q</kbd></td><td>フォームを展開する</td><td><b>Q</b>uote</td></tr>
<tr><td><kbd class="key">Esc</kbd></td><td>フォームを閉じる</td><td>-</td></tr>
<tr><td><kbd class="key">Enter</kbd></td><td>Renote 하기</td><td>-</td></tr>
<tr><td><kbd class="key">Q</kbd></td><td>창 펼치기</td><td><b>Q</b>uote</td></tr>
<tr><td><kbd class="key">Esc</kbd></td><td>창 닫기</td><td>-</td></tr>
</tbody>
</table>
## リアクションフォーム
デフォルトで「👍」にフォーカスが当たっている状態です。
## 리액션 창
기본으로 「👍」가 선택되어 있습니다.
<table>
<thead>
<tr><th>단축키</th><th>効果</th><th>由来</th></tr>
<tr><th>단축키</th><th>동작</th><th></th></tr>
</thead>
<tbody>
<tr><td><kbd class="key"></kbd>, <kbd class="key">K</kbd></td><td>上のリアクションにフォーカスを移動</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">J</kbd></td><td>下のリアクションにフォーカスを移動</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">H</kbd>, <kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">Tab</kbd></kbd></td><td>左のリアクションにフォーカスを移動</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">L</kbd>, <kbd class="key">Tab</kbd></td><td>右のリアクションにフォーカスを移動</td><td>-</td></tr>
<tr><td><kbd class="key">Enter</kbd>, <kbd class="key">Space</kbd>, <kbd class="key">+</kbd></td><td>リアクション確定</td><td>-</td></tr>
<tr><td><kbd class="key">0</kbd>~<kbd class="key">9</kbd></td><td>数字に対応したリアクションで確定</td><td>-</td></tr>
<tr><td><kbd class="key">Esc</kbd></td><td>リアクションするのをやめる</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">K</kbd></td><td>위쪽 리액션으로 이동</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">J</kbd></td><td>아래쪽 리액션으로 이동</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">H</kbd>, <kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">Tab</kbd></kbd></td><td>왼쪽 리액션으로 이동</td><td>-</td></tr>
<tr><td><kbd class="key"></kbd>, <kbd class="key">L</kbd>, <kbd class="key">Tab</kbd></td><td>오른쪽 리액션으로 이동</td><td>-</td></tr>
<tr><td><kbd class="key">Enter</kbd>, <kbd class="key">Space</kbd>, <kbd class="key">+</kbd></td><td>리액션 확정</td><td>-</td></tr>
<tr><td><kbd class="key">0</kbd>~<kbd class="key">9</kbd></td><td>숫자에 대응하는 리액션으로 확정</td><td>-</td></tr>
<tr><td><kbd class="key">Esc</kbd></td><td>리액션 그만두기</td><td>-</td></tr>
</tbody>
</table>

View file

@ -1,13 +1,13 @@
# 뮤트
ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります:
유저를 뮤트하면, 해당 유저에 대해서 다음 콘텐츠가 Misskey에 표시되지 않습니다:
* タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote)
* そのユーザーからの通知
* メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴
* 타임라인이나 노트 검색 결과에서 해당 유저의 노트(및 해당 노트의 답글이나 Renote)
* 해당 유저가 보내는 알림
* 다이렉트 노트 기록에서의 해당 유저가 보낸 다이렉트 메시지 기록
ユーザーをミュートするには、対象のユーザーのユーザーページに表示されている「ミュート」ボタンを押します。
유저를 뮤트하려면, 해당 유저의 유저 페이지에 표시되어 있는 뮤트 버튼을 누릅니다.
ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
자신이 뮤트한 것은 상대방에게 알려지지 않으며, 뮤트되어 있다는 것을 알 수 없습니다.
設定>ミュート から、自分がミュートしているユーザー一覧を確認することができます。
설정 > 뮤트에서 현재 뮤트하고 있는 유저 목록을 확인할 수 있습니다.

View file

@ -1,10 +1,10 @@
# Pages
# 페이지
## 변수
変数を使うことで動的なページを作成できます。テキスト内で <b>{ 変数名 }</b> と書くとそこに変数の値を埋め込めます。例えば <b>Hello { thing } world!</b> というテキストで、変数(thing)の値が <b>ai</b> だった場合、テキストは <b>Hello ai world!</b> になります。
변수를 사용하여 동적 페이지를 생성할 수 있습니다. 텍스트 내에서 <b>{ 변수명 }</b>을 쓰면 해당 위치에 변수의 값을 설정할 수 있습니다. 예를 들면 <b>Hello { thing } world!</b> 라는 텍스트에서 변수(things)의 값이 <b>ai</b>였을 경우, 텍스트는 <b>Hello ai world!</b>가 됩니다.
変数の評価(値を算出すること)は上から下に行われるので、ある変数の中で自分より下の変数を参照することはできません。例えば上から <b>A、B、C</b> と3つの変数を定義したとき、<b>C</b>の中で<b>A</b><b>B</b>を参照することはできますが、<b>A</b>の中で<b>B</b><b>C</b>を参照することはできません。
변수의 평가(값을 산출하는 것)는 위에서 아래로 이루어지기 때문에, 어떤 변수든 자신보다 아래에 있는 변수를 참조할 수 없습니다. 예를 들어, 위에서 <b>A, B, C</b>라는 3가지 변수를 정의했을 때, <b>C</b>에서 <b>A</b><b>B</b>를 참조할 수는 있지만, <b>A</b>에서 <b>B</b><b>C</b>를 참조할 수는 없습니다.
ユーザーからの入力を受け取るには、ページに「ユーザー入力」ブロックを設置し、「変数名」に入力を格納したい変数名を設定します(変数は自動で作成されます)。その変数を使ってユーザー入力に応じた動作を行えます。
사용자의 입력을 받기 위해서는, 페이지에 「유저 입력」 블럭을 설치하고, 「변수명」에 입력을 저장하려는 변수 이름을 설정합니다(변수는 자동으로 생성됩니다). 이 변수를 이용해, 사용자가 입력한 내용에 대응하는 동작을 실행할 수 있습니다.
関数を使うと、値の算出処理を再利用可能な形にまとめることができます。関数を作るには、「関数」タイプの変数を作成します。関数にはスロット(引数)を設定することができ、スロットの値は関数内で変数として利用可能です。また、関数を引数に取る関数(高階関数と呼ばれます)も存在します。関数は予め定義しておくほかに、このような高階関数のスロットに即席でセットすることもできます。
함수를 사용하면 값 산출 처리를 다시 사용 가능한 형태로 정리할 수 있습니다. 함수를 만들려면, 「함수」 유형의 변수를 만듭니다. 함수에는 슬롯(인수)을 설정할 수 있으며, 슬롯 값은 함수 내에서 변수로 이용할 수 있습니다. 또한, 함수의 인수를 취하는 함수(고계함수라 불립니다)도 존재합니다. 함수는 미리 정의해 두는 것 외에, 이러한 고계함수의 슬롯에 직접 설정할 수도 있습니다.

View file

@ -1,11 +1,11 @@
# 리액션
他の人のノートに、絵文字を付けて簡単にあなたの反応を伝えられる機能です。 リアクションするには、ノートの + アイコンをクリックしてピッカーを表示し、絵文字を選択します。 リアクションには[カスタム絵文字](./custom-emoji)も使用できます。
다른 사람의 노트에 이모지를 붙여 간단하게 자신의 반응을 전달할 수 있는 기능입니다. 리액션 하려면, 노트의 + 아이콘을 클릭해서 선택기를 열고, 이모지를 선택합니다. 리액션에는 [커스텀 이모지](./custom-emoji)도 사용할 수 있습니다.
## リアクションピッカーのカスタマイズ
ピッカーに表示される絵文字を自分好みにカスタマイズすることができます。 設定の「リアクション」で設定します。
## 리액션 선택기의 사용자화
선택기에 표시되는 이모지를 취향에 맞게 커스텀할 수 있습니다. 설정의 「리액션」에서 설정할 수 있습니다.
## リモート投稿へのリアクションについて
リアクションはMisskeyオリジナルの機能であるため、リモートインスタンスがMisskeyでない限りは、ほとんどの場合「Like」としてアクティビティが送信されます。一般的にはLikeは「お気に入り」として実装されているようです。 また、相手がMisskeyであったとしても、カスタム絵文字リアクションは伝わらず、自動的に「👍」等にフォールバックされます。
## 리모트 인스턴스에서의 리액션에 대해서
리액션은 Misskey의 자체 기능이기 때문에, 리모트 인스턴스가 Misskey가 아니면 「Like」로 액티비티가 전송됩니다. 일반적으로 Like는 「마음에 들어요」 정도의 의미를 가지고 있는 것 같습니다. 또, 상대방이 Misskey를 이용하고 있었다고 해도, 커스텀 이모지는 전달되지 않고 자동으로 「👍」 등으로 보여집니다.
## リモートからのリアクションについて
リモートから「Like」アクティビティを受信したとき、Misskeyでは「👍」のリアクションとして解釈されます。
## 리모트 인스턴스로부터의 리액션에 대해서
리모트 인스턴스에서 「Like」 액티비티를 수신했다면, Misskey에서는 「👍」로 표시됩니다.

View file

@ -1,33 +1,33 @@
# MisskeyリバーシBotの開発
Misskeyのリバーシ機能に対応したBotの開発方法をここに記します。
# Misskey 리버시 봇 개발
Misskey의 리버시 기능을 지원하는 봇의 개발 방법을 소개합니다.
1. `games/reversi`ストリームに以下のパラメータを付けて接続する:
* `i`: botアカウントのAPIキー
1. `games/reversi` 스트림에 다음 매개변수를 붙여 접속합니다:
* `i`: 봇 계정의 API 키
2. 対局への招待が来たら、ストリームから`invited`イベントが流れてくる
* イベントの中身に、`parent`という名前で対局へ誘ってきたユーザーの情報が含まれている
2. 대국 초대가 오면 스트림에서 `invited` 이벤트가 발생합니다
* 이벤트 내용에 `parent`라는 이름으로 대국 신청을 한 유저의 정보가 포함되어 있습니다
3. `games/reversi/match`へ、`user_id`として`parent`の`id`が含まれたリクエストを送信する
3. `games/reversi/match``user_id``parent``id`가 포함된 요청을 전송합니다
4. 上手くいくとゲーム情報が返ってくるので、`games/reversi-game`ストリームへ、以下のパラメータを付けて接続する:
* `i`: botアカウントのAPIキー
* `game`: `game`の`id`
4. 문제가 없으면 게임 정보가 반환되므로, `games/reversi-game` 스트림에 아래의 매개변수를 붙여 접속합니다:
* `i`: 봇 계정의 API 키
* `game`: `game``id`
5. この間、相手がゲームの設定を変更するとその都度`update-settings`イベントが流れてくるので、必要であれば何かしらの処理を行う
5. 상대방이 게임의 설정을 변경할 때 마다 `update-settings` 이벤트가 발생하므로, 필요에 따라 별도의 처리 과정을 진행할 수 있습니다
6. 設定に満足したら、`{ type: 'accept' }`メッセージをストリームに送信する
6. 설정에 동의하면 `{ type: 'accept' }` 메시지를 스트림으로 전달합니다
7. ゲームが開始すると、`started`イベントが流れてくる
* イベントの中身にはゲーム情報が含まれている
7. 게임이 시작되면 `started` 이벤트가 발생합니다
* 이벤트 내용에는 게임 정보가 포함됩니다
8. 石を打つには、ストリームに`{ type: 'set', pos: <位置> }`を送信する(位置の計算方法は後述)
8. 돌을 치려면, 스트림에 `{ type: 'set', pos: <위치> }`를 전달합니다(위치 계산 방법은 후술)
9. 相手または自分が石を打つと、ストリームから`set`イベントが流れてくる
* `color`として石の色が含まれている
* `pos`として位置情報が含まれている
9. 상대방 또는 자신이 돌을 치면 스트림에서 `set` 이벤트가 발생합니다
* `color` 에는 돌의 색상이 포함되어 있음
* `pos` 에는 위치 정보가 포함되어 있음
## 位置の計算法
8x8のマップを考える場合、各マスの位置(インデックスと呼びます)は次のようになっています:
## 위치 계산 방법
8x8 크기의 맵을 생각할 경우, 각 칸의 위치(인덱스라고 부릅니다)는 다음과 같습니다:
```
+--+--+--+--+--+--+--+--+
| 0| 1| 2| 3| 4| 5| 6| 7|
@ -38,29 +38,29 @@ Misskeyのリバーシ機能に対応したBotの開発方法をここに記し
...
```
### X,Y座標 から インデックス に変換する
### X,Y 좌표를 인덱스로 변환
```
pos = x + (y * mapWidth)
```
`mapWidth`は、ゲーム情報の`map`から、次のようにして計算できます:
`mapWidth`는 게임 정보의 `map`에서 다음과 같이 계산할 수 있습니다:
```
mapWidth = map[0].length
```
### インデックス から X,Y座標 に変換する
### 인덱스에서 X,Y 좌표로 변환
```
x = pos % mapWidth
y = Math.floor(pos / mapWidth)
```
## マップ情報
マップ情報は、ゲーム情報の`map`に入っています。 文字列の配列になっており、ひとつひとつの文字がマス情報を表しています。 それをもとにマップのデザインを知る事が出来ます:
* `(スペース)` ... マス無し
* `-` ... マス
* `b` ... 初期配置される黒石
* `w` ... 初期配置される白石
## 맵 정보
맵 정보는 게임 정보의 `map`에 들어있습니다. 문자열이 배열되어 있어서 각 글자가 칸 정보를 나타냅니다. 이것을 바탕으로 맵의 디자인을 알 수 있습니다:
* `(공간)` ... 칸 없음
* `-` ...
* `b` ... 처음 배치되는 흑돌
* `w` ... 처음 배치되는 백돌
例えば、4*4の次のような単純なマップがあるとします:
예를 들어, 4*4 와 같은 단순한 맵이 있다고 가정합니다:
```text
+---+---+---+---+
| | | | |
@ -73,23 +73,23 @@ y = Math.floor(pos / mapWidth)
+---+---+---+---+
```
この場合、マップデータはこのようになります:
이 경우, 맵 데이터는 아래와 같습니다:
```javascript
['----', '-wb-', '-bw-', '----']
```
## ユーザーにフォームを提示して対話可能Botを作成する
ユーザーとのコミュニケーションを行うため、ゲームの設定画面でユーザーにフォームを提示することができます。 例えば、Botの強さをユーザーが設定できるようにする、といったシナリオが考えられます。
## 사용자에게 폼을 제시하여 소통할 수 있는 봇 제작
사용자와 소통을 위해, 게임 설정 화면을 통해서 사용자에게 폼을 제시할 수 있습니다. 예를 들어, 봇의 난이도를 사용자가 설정할 수 있도록 하는 등의 구현이 가능합니다.
フォームを提示するには、`reversi-game`ストリームに次のメッセージを送信します:
폼을 제시하려면, `reversi-game` 스트림으로 다음 메시지를 전송합니다:
```javascript
{
type: 'init-form',
body: [フォームコントロールの配列]
body: [폼 제어 배열]
}
```
フォームコントロールの配列については今から説明します。 フォームコントロールは、次のようなオブジェクトです:
폼 제어 배열에 대해서는 지금부터 설명하겠습니다. 폼 제어는 다음과 같은 개체입니다:
```javascript
{
id: 'switch1',
@ -98,10 +98,10 @@ y = Math.floor(pos / mapWidth)
value: false
}
```
`id` ... コントロールのID。 `type` ... コントロールの種類。後述します。 `label` ... コントロールと一緒に表記するテキスト。 `value` ... コントロールのデフォルト値。
`id` ... 제어 ID. `type` ... 제어 종류. 후술합니다. `label` ... 제어와 함께 표시할 텍스트. `value` ... 제어 기본값.
### フォームの操作を受け取る
ユーザーがフォームを操作すると、ストリームから`update-form`イベントが流れてきます。 イベントの中身には、コントロールのIDと、ユーザーが設定した値が含まれています。 例えば、上で示したスイッチをユーザーがオンにしたとすると、次のイベントが流れてきます:
### 폼 조작값 받기
사용자가 폼을 조작하면, 스트림에서 `update-form` 이벤트가 발생합니다. 이벤트의 내용에는 제어 ID와 사용자가 설정한 값이 포함되어 있습니다. 예를 들어, 위에서 나타낸 스위치를 사용자가 켰다면, 다음 이벤트가 발생합니다:
```javascript
{
id: 'switch1',
@ -109,52 +109,52 @@ y = Math.floor(pos / mapWidth)
}
```
### フォームコントロールの種類
### 폼 제어 종류
#### 스위치
type: `switch` スイッチを表示します。何かの機能をオン/オフさせたい場合に有用です。
type: `switch` 스위치를 표시합니다. 어떠한 기능을 켜거나 끄고 싶은 경우에 사용합니다.
##### プロパティ
`label` ... スイッチに表記するテキスト。
##### 속성
`label` ... 스위치에 표시되는 텍스트.
#### ラジオボタン
type: `radio` ラジオボタンを表示します。選択肢を提示するのに有用です。例えば、Botの強さを設定させるなどです。
#### 라디오 버튼
type: `radio` 라디오 버튼을 표시합니다. 선택지를 표시할 때 사용할 수 있습니다. 예를 들면, 봇의 난이도를 설정하는 등에 사용됩니다.
##### プロパティ
`items` ... ラジオボタンの選択肢。例:
##### 속성
`items` ... 라디오 버튼 선택지. 예:
```javascript
items: [{
label: '',
label: '',
value: 1
}, {
label: '',
label: '',
value: 2
}, {
label: '',
label: '',
value: 3
}]
```
#### スライダー
type: `slider` スライダーを表示します。
#### 슬라이더
type: `slider` 슬라이더를 표시합니다.
##### プロパティ
`min` ... スライダーの下限。 `max` ... スライダーの上限。 `step` ... 入力欄で刻むステップ値。
##### 속성
`min` ... 슬라이더의 최소값. `max` ... 슬라이더의 최대값. `step` ... 입력란에 기입되는 스텝 값.
#### テキストボックス
type: `textbox` テキストボックスを表示します。ユーザーになにか入力させる一般的な用途に利用できます。
#### 텍스트 상자
type: `textbox` 텍스트 상자를 표시합니다. 사용자에게 어떠한 것을 입력하도록 하는 일반적인 용도로 사용할 수 있습니다.
## ユーザーにメッセージを表示する
設定画面でユーザーと対話する、フォーム以外のもうひとつの方法がこれです。ユーザーになにかメッセージを表示することができます。 例えば、ユーザーがBotの対応していないモードやマップを選択したとき、警告を表示するなどです。 メッセージを表示するには、次のメッセージをストリームに送信します:
## 사용자에게 메시지 표시하기
설정 화면에서 사용자와 대화하는 것 이외에, 또 다른 방법입니다. 사용자에게 메시지를 표시할 수 있습니다. 예를 들어, 사용자가 봇이 지원하지 않는 모드나 지도를 선택했을 때, 경고를 표시하는 등으로 사용됩니다. 메시지를 표시하려면, 다음 메시지를 스트림으로 전송합니다:
```javascript
{
type: 'message',
body: {
text: 'メッセージ内容',
type: 'メッセージの種類'
text: '메시지 내용',
type: '메시지 종류'
}
}
```
メッセージの種類: `success`, `info`, `warning`, `error`
메시지 종류: `success`, `info`, `warning`, `error`
## 投了する
投了をするには、<a href="./api/endpoints/games/reversi/games/surrender">このエンドポイント</a>にリクエストします。
## 거두기
거두기를 하려면, <a href="./api/endpoints/games/reversi/games/surrender">이 엔드포인트</a>에 요청합니다.

View file

@ -1,25 +1,25 @@
# ストリーミングAPI
# 스트리밍 API
ストリーミングAPIを使うと、リアルタイムで様々な情報(例えばタイムラインに新しい投稿が流れてきた、メッセージが届いた、フォローされた、など)を受け取ったり、様々な操作を行ったりすることができます。
스트리밍 API를 사용하면, 실시간으로 다양한 정보(예를 들어 타임라인에 새로운 노트가 올라왔다거나, 메시지가 도착했다거나 팔로우 되었다거나 등)를 받거나, 다양한 작업을 할 수 있습니다.
## ストリームに接続する
## 스트림에 접속하기
ストリーミングAPIを利用するには、まずMisskeyサーバーに**websocket**接続する必要があります。
스트리밍 API를 이용하려면, 먼저 Misskey 서버에 **websocket** 접속이 필요합니다.
以下のURLに、`i`というパラメータ名で認証情報を含めて、websocket接続してください。例:
아래 URL에, `i` 라고 하는 매개변수명으로 인증 정보를 포함해서, websocket에 접속해주세요. 예:
```
%WS_URL%/streaming?i=xxxxxxxxxxxxxxx
```
認証情報は、自分のAPIキーや、アプリケーションからストリームに接続する際はユーザーのアクセストークンのことを指します。
인증 정보는 자신의 API 키나 애플리케이션에서 스트림에 접속할 때, 사용자의 접속 토큰을 뜻합니다.
<div class="ui info">
<p><i class="fas fa-info-circle"></i> 認証情報の取得については、<a href="./api">こちらのドキュメント</a>をご確認ください。</p>
<p><i class="fas fa-info-circle"></i> 인증 정보 발급에 대해서는, <a href="./api">해당 문서</a>를 참고해 주세요.</p>
</div>
---
認証情報は省略することもできますが、その場合非ログインでの利用ということになり、受信できる情報や可能な操作は限られます。例:
인증 정보는 생략할 수 있지만, 이렇게 하면 게스트로 작동하기 때문에, 수신할 수 있는 정보나 조작이 한정됩니다. 예:
```
%WS_URL%/streaming
@ -27,15 +27,15 @@
---
ストリームに接続すると、後述するAPI操作や、投稿の購読を行ったりすることができます。 しかしまだこの段階では、例えばタイムラインへの新しい投稿を受信したりすることはできません。 それを行うには、ストリーム上で、後述する**チャンネル**に接続する必要があります。
스트림에 접속하면, 뒤에서 서술하는 API 조작 및 노트 구독을 할 수 있습니다. 그러나 아직 이 단계에서는, 타임라인에 새로운 노트를 확인하는 등의 행동을 할 수 없습니다. 이것을 하기 위해서는, 스트림 상에서 후술하는 **채널**에 접속할 필요가 있습니다.
**ストリームでのやり取りはすべてJSONです。**
**스트림에서 주고 받는 정보는 모두 JSON 입니다.**
## 채널
MisskeyのストリーミングAPIにはチャンネルという概念があります。これは、送受信する情報を分離するための仕組みです。 Misskeyのストリームに接続しただけでは、まだリアルタイムでタイムラインの投稿を受信したりはできません。 ストリーム上でチャンネルに接続することで、様々な情報を受け取ったり情報を送信したりすることができるようになります。
Misskey의 스트리밍 API에는 채널이라는 개념이 있습니다. 이것은 송수신하는 정보를 분리하기 위한 구조입니다. Misskey의 스트림 연결만으로는, 아직 실시간으로 타임라인의 노트를 수신할 수 없습니다. 스트림 상에서 채널에 접속함으로써, 다양한 정보를 받거나 보낼 수 있게 됩니다.
### チャンネルに接続する
チャンネルに接続するには、次のようなデータをJSONでストリームに送信します:
### 채널에 접속하기
채널에 접속하려면, 다음 데이터를 JSON으로 스트림에 전송합니다:
```json
{
@ -50,19 +50,19 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
}
```
ここで、
* `channel`には接続したいチャンネル名を設定します。チャンネルの種類については後述します。
* `id`にはそのチャンネルとやり取りするための任意のIDを設定します。ストリームでは様々なメッセージが流れるので、そのメッセージがどのチャンネルからのものなのか識別する必要があるからです。このIDは、UUIDや、乱数のようなもので構いません。
* `params`はチャンネルに接続する際のパラメータです。チャンネルによって接続時に必要とされるパラメータは異なります。パラメータ不要のチャンネルに接続する際は、このプロパティは省略可能です。
여기서,
* `channel`에는 접속하고자 하는 채널명을 입력합니다. 채널의 종류에 대해서는 후술하겠습니다.
* `id`에는 해당 채널과 주고받기 위한 임의의 ID를 입력합니다. 스트림에서는 다양한 메시지가 나오기 때문에, 그 메시지가 어떤 채널에서 나오는 것인지 식별할 수 있어야 합니다. ID는 UUID나 난수 같은 것이면 됩니다.
* `params`는 채널에 접속할 때의 매개변수입니다. 채널에 따라서 접속 시 필요한 매개변수는 다릅니다. 매개변수가 필요없는 채널에 접속할 때는, 이 속성은 생략할 수 있습니다.
<div class="ui info">
<p><i class="fas fa-info-circle"></i> IDはチャンネルごとではなく「チャンネルの接続ごと」です。なぜなら、同じチャンネルに異なるパラメータで複数接続するケースもあるからです。</p>
<p><i class="fas fa-info-circle"></i> ID는 채널별로 설정하는 것이 아니라, 「채널에 접속하는 스트림마다」 설정해야 합니다. 왜냐하면, 같은 채널에 다른 매개변수로 다중 접속하는 경우도 존재하기 때문입니다.</p>
</div>
### チャンネルからのメッセージを受け取る
例えばタイムラインのチャンネルなら、新しい投稿があった時にメッセージを発します。そのメッセージを受け取ることで、タイムラインに新しい投稿がされたことをリアルタイムで知ることができます。
### 채널에서 메시지 수신하기
예를 들어, 타임라인 채널이라면. 새로운 노트가 올라왔을 때 메시지를 보냅니다. 메시지를 받음으로써, 타임라인에 새로운 노트가 올라온 것을 실시간으로 알 수 있습니다.
チャンネルがメッセージを発すると、次のようなデータがJSONでストリームに流れてきます:
채널에서 메시지를 보내면, 다음 데이터가 JSON에서 스트림으로 전달됩니다:
```json
{
type: 'channel',
@ -76,15 +76,15 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
}
```
ここで、
* `id`には前述したそのチャンネルに接続する際に設定したIDが設定されています。これで、このメッセージがどのチャンネルからのものなのか知ることができます。
* `type`にはメッセージの種類が設定されます。チャンネルによって、どのような種類のメッセージが流れてくるかは異なります。
* `body`にはメッセージの内容が設定されます。チャンネルによって、どのような内容のメッセージが流れてくるかは異なります。
여기서,
* `id`에는 앞서 말한 채널에 접속할 때 설정한 ID를 입력합니다. 이제 이 메시지가 어느 채널에서 온 것인지 알 수 있습니다.
* `type`에는 메시지의 종류를 입력합니다. 채널에 따라 어떤 종류의 메시지가 나오는지가 달라집니다.
* `body`에는 메시지 내용을 입력합니다. 채널에 따라, 어떤 내용의 메시지가 나오는지가 달라집니다.
### チャンネルに向けてメッセージを送信する
チャンネルによっては、メッセージを受け取るだけでなく、こちらから何かメッセージを送信し、何らかの操作を行える場合があります。
### 채널에 메시지 보내기
채널에 따라서는, 메시지를 받을 뿐만 아니라, 반대로 메시지를 발송해서 특정한 동작을 실행할 수도 있습니다.
チャンネルにメッセージを送信するには、次のようなデータをJSONでストリームに送信します:
채널에 메시지를 보내려면, 다음 데이터를 JSON으로 스트림에 보냅니다:
```json
{
type: 'channel',
@ -98,13 +98,13 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
}
```
ここで、
* `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。これで、このメッセージがどのチャンネルに向けたものなのか識別させることができます。
* `type`にはメッセージの種類を設定します。チャンネルによって、どのような種類のメッセージを受け付けるかは異なります。
* `body`にはメッセージの内容を設定します。チャンネルによって、どのような内容のメッセージを受け付けるかは異なります。
여기서,
* `id`에는 앞서 말한 채널에 접속할 때 설정한 ID를 입력합니다. 이제 이 메시지가 어느 채널로 갈 것인지 알 수 있습니다.
* `type`에는 메시지 종류를 입력합니다. 채널에 따라 어떤 종류의 메시지를 수신할지는 다릅니다.
* `body`에는 메시지 내용을 입력합니다. 채널에 따라, 어떤 내용의 메시지를 수신할지가 달라집니다.
### チャンネルから切断する
チャンネルから切断するには、次のようなデータをJSONでストリームに送信します:
### 채널 접속 끊기
채널 접속을 끊으려면, 다음 데이터를 JSON으로 스트림에 전송합니다:
```json
{
@ -115,14 +115,14 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
}
```
ここで、
* `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。
여기서,
* `id`에는 앞서 말한 채널에 접속할 때 설정한 ID를 입력합니다.
## ストリームを経由してAPIリクエストする
## 스트림을 경유하여 API 요청하기
ストリームを経由してAPIリクエストすると、HTTPリクエストを発生させずにAPIを利用できます。そのため、コードを簡潔にできたり、パフォーマンスの向上を見込めるかもしれません。
스트림을 통해 API를 요청하면, HTTP 요청을 발생시키지 않고 API를 이용할 수 있습니다. 이렇게 하면, 코드를 간결하게 만들거나, 성능을 향상시킬 수 있을지도 모릅니다.
ストリームを経由してAPIリクエストするには、次のようなデータをJSONでストリームに送信します:
스트림을 통해 API를 요청하려면, 다음 데이터를 JSON으로 스트림에 전송합니다:
```json
{
type: 'api',
@ -136,18 +136,18 @@ MisskeyのストリーミングAPIにはチャンネルという概念があり
}
```
ここで、
* `id`には、APIのレスポンスを識別するための、APIリクエストごとの一意なIDを設定する必要があります。UUIDや、簡単な乱数のようなもので構いません。
* `endpoint`には、あなたがリクエストしたいAPIのエンドポイントを指定します。
* `data`には、エンドポイントのパラメータを含めます。
여기서,
* `id`에는 API의 응답을 식별할 수 있는 API 요청별 핵심 ID를 입력해야 합니다. UUID나 간단한 난수 같은 것으로 설정해도 됩니다.
* `endpoint`에는 내가 요청하려는 API의 엔드포인트를 입력합니다.
* `data`에는 엔드포인트의 매개변수를 입력합니다.
<div class="ui info">
<p><i class="fas fa-info-circle"></i> APIのエンドポイントやパラメータについてはAPIリファレンスをご確認ください。</p>
<p><i class="fas fa-info-circle"></i> API의 엔드포인트 및 매개변수는 API 레퍼런스를 확인하시기 바랍니다.</p>
</div>
### レスポンスの受信
### 응답 수신
APIへリクエストすると、レスポンスがストリームから次のような形式で流れてきます。
API로 요청하면, 응답이 스트림에서 다음 형식으로 전달됩니다.
```json
{
@ -158,23 +158,23 @@ APIへリクエストすると、レスポンスがストリームから次の
}
```
ここで、
* `xxxxxxxxxxxxxxxx`の部分には、リクエストの際に設定された`id`が含まれています。これにより、どのリクエストに対するレスポンスなのか判別することができます。
* `body`には、レスポンスが含まれています。
여기서,
* `xxxxxxxxxxxxxxxx` 부분에는, 요청 시 설정된 `id`가 포함되어 있습니다. 이를 통해, 어떤 요청에 대한 응답인지 판별할 수 있습니다.
* `body`에는 응답이 포함되어 있습니다.
## 投稿のキャプチャ
## 노트 캡처
Misskeyは投稿のキャプチャと呼ばれる仕組みを提供しています。これは、指定した投稿のイベントをストリームで受け取る機能です。
Misskey는 게시한 노트를 캡처할 수 있는 시스템을 제공하고 있습니다. 이것은 지정한 노트의 이벤트를 스트림으로 받을 수 있는 기능입니다.
例えばタイムラインを取得してユーザーに表示したとします。ここで誰かがそのタイムラインに含まれるどれかの投稿に対してリアクションしたとします。
예를 들어, 타임라인을 불러와 유저에게 표시했습니다. 여기서 누군가가 그 타임라인에 포함된 어떤 노트에 대해서 리액션을 했다고 가정합니다.
しかし、クライアントからするとある投稿にリアクションが付いたことなどは知る由がないため、リアルタイムでリアクションをタイムライン上の投稿に反映して表示するといったことができません。
그러나, 클라이언트가 보기에 어떤 글에 리액션이 붙었는지 등은 알 수가 없기 때문에, 실시간으로 리액션을 타임라인 상의 노트에 반영해서 표시하는 것은 불가능합니다.
この問題を解決するために、Misskeyは投稿のキャプチャ機構を用意しています。投稿をキャプチャすると、その投稿に関するイベントを受け取ることができるため、リアルタイムでリアクションを反映させたりすることが可能になります。
이 문제를 해결하기 위해, Misskey는 게시 캡처 도구를 제공하고 있습니다. 노트를 캡처하면, 해당 노트에 대한 이벤트를 받을 수 있기 때문에, 실시간으로 리액션을 반영할 수 있습니다.
### 投稿をキャプチャする
### 노트 게시 캡처
投稿をキャプチャするには、ストリームに次のようなメッセージを送信します:
노트를 캡처하려면, 스트림에 다음 메시지를 발송합니다:
```json
{
@ -185,12 +185,12 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
}
```
ここで、
* `id`にキャプチャしたい投稿の`id`を設定します。
여기서,
* `id`에 캡처하려는 노트의 `id`를 입력합니다.
このメッセージを送信すると、Misskeyにキャプチャを要請したことになり、以後、その投稿に関するイベントが流れてくるようになります。
이 메시지를 발송하면, Misskey에 캡처를 요청하게 되고, 이후, 해당 노트에 대한 이벤트를 불러오게 됩니다.
例えば投稿にリアクションが付いたとすると、次のようなメッセージが流れてきます:
예를 들면, 노트에 리액션이 붙었을 때 다음과 같은 메시지를 받습니다:
```json
{
@ -206,20 +206,20 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
}
```
ここで、
* `body`内の`id`に、イベントを発生させた投稿のIDが設定されます。
* `body`内の`type`に、イベントの種類が設定されます。
* `body`内の`body`に、イベントの詳細が設定されます。
여기서,
* `body`내에 `id`에는 이벤트를 발생시킨 노트의 ID가 포함됩니다.
* `body`내에 `type`에는 이벤트 종류가 포함됩니다.
* `body`내에 `body`에는 이벤트의 상세 내용이 포함됩니다.
#### イベントの種類
#### 이벤트의 종류
##### `reacted`
その投稿にリアクションがされた時に発生します。
해당 노트에 리액션이 올라갔을 때 발생합니다.
* `reaction`に、リアクションの種類が設定されます。
* `userId`に、リアクションを行ったユーザーのIDが設定されます。
* `reaction`에 리액션 종류가 포함됩니다.
* `userId`에 리액션을 한 유저의 ID가 포함됩니다.
:
:
```json
{
type: 'noteUpdated',
@ -235,11 +235,11 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
```
##### `deleted`
その投稿が削除された時に発生します。
해당 노트가 삭제되었을 때 발생합니다.
* `deletedAt`に、削除日時が設定されます。
* `deletedAt`에 삭제한 날짜가 포함됩니다.
:
:
```json
{
type: 'noteUpdated',
@ -254,12 +254,12 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
```
##### `pollVoted`
その投稿に添付されたアンケートに投票された時に発生します。
해당 노트에 첨부된 투표에 투표했을 때 발생합니다.
* `choice`に、選択肢IDが設定されます。
* `userId`に、投票を行ったユーザーのIDが設定されます。
* `choice`에 선택 항목의 ID가 포함됩니다.
* `userId`에 투표한 유저의 ID가 포함됩니다.
:
:
```json
{
type: 'noteUpdated',
@ -274,11 +274,11 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
}
```
### 投稿のキャプチャを解除する
### 노트 캡처 해제
その投稿がもう画面に表示されなくなったりして、その投稿に関するイベントをもう受け取る必要がなくなったときは、キャプチャの解除を申請してください。
노트가 더 이상 화면에 표시되지 않는 등의 이유로, 해당 노트에 대한 이벤트를 받을 필요가 없을 때는, 캡처 해제를 진행해 주세요.
次のメッセージを送信します:
아래 메시지를 보냅니다:
```json
{
@ -289,66 +289,66 @@ Misskeyは投稿のキャプチャと呼ばれる仕組みを提供していま
}
```
ここで、
* `id`にキャプチャを解除したい投稿の`id`を設定します。
여기서,
* `id`에 캡처를 해제하고자 하는 노트의 `id`를 입력합니다.
このメッセージを送信すると、以後、その投稿に関するイベントは流れてこないようになります。
이 메시지를 보내면, 더 이상 해당 노트에 대한 이벤트는 발생하지 않습니다.
# チャンネル一覧
# 채널 목록
## `main`
アカウントに関する基本的な情報が流れてきます。このチャンネルにパラメータはありません。
계정에 대한 기본적인 정보를 표시됩니다. 이 채널에 대응하는 매개변수는 없습니다.
### 流れてくるイベント一覧
### 발생하는 이벤트 목록
#### `renote`
自分の投稿がRenoteされた時に発生するイベントです。自分自身の投稿をRenoteしたときは発生しません。
내 노트가 Renote 되었을 때 발생하는 이벤트입니다. 내가 올린 노트를 Renote 했을 때는 발생하지 않습니다.
#### `mention`
誰かからメンションされたときに発生するイベントです。
다른 사람이 나를 멘션 했을 때 발생하는 이벤트입니다.
#### `readAllNotifications`
自分宛ての通知がすべて既読になったことを表すイベントです。このイベントを利用して、「通知があることを示すアイコン」のようなものをオフにしたりする等のケースが想定されます。
나에게 온 알림을 모두 읽었음을 나타내는 이벤트입니다. 이 이벤트를 이용해, 「알림이 있음을 나타내는 아이콘」과 같은 것을 끄는 등의 활용이 가능합니다.
#### `meUpdated`
自分の情報が更新されたことを表すイベントです。
내 정보가 업데이트 되었음을 나타내는 이벤트입니다.
#### `follow`
自分が誰かをフォローしたときに発生するイベントです。
내가 누군가를 팔로우 했을 때 발생하는 이벤트입니다.
#### `unfollow`
自分が誰かのフォローを解除したときに発生するイベントです。
내가 누군가를 언팔로우 했을 때 발생하는 이벤트입니다.
#### `followed`
自分が誰かにフォローされたときに発生するイベントです。
다른 사람이 나를 팔로우 했을 때 발생하는 이벤트입니다.
## `homeTimeline`
ホームタイムラインの投稿情報が流れてきます。このチャンネルにパラメータはありません。
홈 타임라인에 게시된 정보가 표시됩니다. 이 채널에 대응하는 매개변수는 없습니다.
### 流れてくるイベント一覧
### 발생하는 이벤트 목록
#### `note`
タイムラインに新しい投稿が流れてきたときに発生するイベントです。
타임라인에 새로운 노트가 올라왔을 때 발생하는 이벤트입니다.
## `localTimeline`
ローカルタイムラインの投稿情報が流れてきます。このチャンネルにパラメータはありません。
로컬 타임라인에 게시된 정보가 표시됩니다. 이 채널에 대응하는 매개변수는 없습니다.
### 流れてくるイベント一覧
### 발생하는 이벤트 목록
#### `note`
ローカルタイムラインに新しい投稿が流れてきたときに発生するイベントです。
로컬 타임라인에 새로운 노트가 올라왔을 때 발생하는 이벤트입니다.
## `hybridTimeline`
ソーシャルタイムラインの投稿情報が流れてきます。このチャンネルにパラメータはありません。
소셜 타임라인에 게시된 정보가 표시됩니다. 이 채널에 대응하는 매개변수는 없습니다.
### 流れてくるイベント一覧
### 발생하는 이벤트 목록
#### `note`
ソーシャルタイムラインに新しい投稿が流れてきたときに発生するイベントです。
소셜 타임라인에 새로운 노트가 올라왔을 때 발생하는 이벤트입니다.
## `globalTimeline`
グローバルタイムラインの投稿情報が流れてきます。このチャンネルにパラメータはありません。
글로벌 타임라인에 게시된 정보가 표시됩니다. 이 채널에 대응하는 매개변수는 없습니다.
### 流れてくるイベント一覧
### 발생하는 이벤트 목록
#### `note`
グローバルタイムラインに新しい投稿が流れてきたときに発生するイベントです。
글로벌 타임라인에 새로운 노트가 올라왔을 때 발생하는 이벤트입니다.

View file

@ -1,12 +1,12 @@
# 테마
テーマを設定して、Misskeyクライアントの見た目を変更できます。
테마를 설정하여 Misskey 클라이언트의 외형을 변경할 수 있습니다.
## テーマの設定
設定 > テーマ
## 테마 설정
설정 > 테마
## テーマを作成する
テーマコードはJSON5で記述されたテーマオブジェクトです。 テーマは以下のようなオブジェクトです。
## 테마 만들기
테마 코드는 JSON5에 기술된 테마 객체입니다. 예시는 아래와 같습니다.
``` js
{
id: '17587283-dd92-4a2c-a22c-be0637c9e22a',
@ -33,36 +33,36 @@
```
* `id` ... テーマの一意なID。UUIDをおすすめします。
* `name` ... テーマ名
* `author` ... テーマの作者
* `desc` ... テーマの説明(オプション)
* `base` ... 明るいテーマか、暗いテーマか
* `light`にすると明るいテーマになり、`dark`にすると暗いテーマになります。
* テーマはここで設定されたベーステーマを継承します。
* `props` ... テーマのスタイル定義。これから説明します。
* `id` ... 테마에 지정된 고유 ID. UUID 방식을 추천합니다.
* `name` ... 테마 이름
* `author` ... 테마 제작자
* `desc` ... 테마 설명(옵션)
* `base` ... 밝은 테마인지, 어두운 테마인지
* `light`로 하면 밝은 테마가 되고, `dark`로 하면 어두운 테마가 됩니다.
* 테마는 여기서 상속된 베이스 테마를 기준으로 합니다.
* `props` ... 테마 스타일 정의. 이제부터 설명하겠습니다.
### テーマのスタイル定義
`props`下にはテーマのスタイルを定義します。 キーがCSSの変数名になり、バリューで中身を指定します。 なお、この`props`オブジェクトはベーステーマから継承されます。 ベーステーマは、このテーマの`base`が`light`なら[_light.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_light.json5)で、`dark`なら[_dark.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_dark.json5)です。 つまり、このテーマ内の`props`に`panel`というキーが無くても、そこにはベーステーマの`panel`があると見なされます。
### 테마 스타일 정의
`props`에서는 테마의 스타일을 정의합니다. 키가 CSS 변수명이 되고, 값으로 내용을 지정합니다. 덧붙여, 이 `props` 객체는 베이스 테마로부터 상속됩니다. 베이스 테마는, 이 테마의 `base``light`인 경우, [_light.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_light.json5) 이고, `dark`라면 [_dark.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_dark.json5) 입니다. 즉, 만들려는 테마의 `props``panel`라는 키가 없어도 베이스 테마로부터 상속되므로, `panel`이 존재한다고 볼 수 있습니다.
#### バリューで使える構文
* 16進数で表された色
* : `#00ff00`
* `rgb(r, g, b)`形式で表された色
* : `rgb(0, 255, 0)`
* `rgb(r, g, b, a)`形式で表された透明度を含む色
* : `rgba(0, 255, 0, 0.5)`
* 他のキーの値の参照
* `@{キー名}`と書くと他のキーの値の参照になります。`{キー名}`は参照したいキーの名前に置き換えます。
* : `@panel`
* 定数(後述)の参照
* `${定数名}`と書くと定数の参照になります。`{定数名}`は参照したい定数の名前に置き換えます。
* : `$main`
* 関数(後述)
* `:{関数名}<{引数}<{色}`
#### 값으로 사용할 수 있는 구문
* 16진수로 표현된 색
* : `#00ff00`
* `rgb(r, g, b)` 형식으로 나타낸 색
* : `rgb(0, 255, 0)`
* `rgb(r, g, b, a)` 형식으로 표시된 투명도를 포함한 색상
* : `rgba(0, 255, 0, 0.5)`
* 다른 키 값 참조
* `@{키 이름}`으로 쓰면 다른 키의 값을 참조할 수 있습니다. `{키 이름}`은 참조하려는 키의 이름으로 대체합니다.
* : `@panel`
* 정수(후술)의 참조
* `${정수명}`이라고 쓰면 정수를 참조합니다. `{정수명}`은 참조하려는 정수의 이름으로 대체합니다.
* : `$main`
* 함수(후술)
* `:{함수명}<{인수}<{색상}`
#### 상수
「CSS変数として出力はしたくないが、他のCSS変数の値として使いまわしたい」値があるときは、定数を使うと便利です。 キー名を`$`で始めると、そのキーはCSS変数として出力されません。
「CSS 변수로 출력하고 싶지 않지만, 다른 CSS 변수의 값을 사용」하고 싶은 값이 있을 때는, 정수를 사용하면 편리합니다. 키의 이름 앞에 `$`를 붙이면, 키가 CSS 변수로 출력되지 않습니다.
#### 함수
wip

View file

@ -1,15 +1,15 @@
# タイムラインの比較
# 타임라인의 비교
https://docs.google.com/spreadsheets/d/1lxQ2ugKrhz58Bg96HTDK_2F98BUritkMyIiBkOByjHA/edit?usp=sharing
https://docs.google.com/spreadsheets/d/1uNVxlN4WUPAxrR0-5uXXeoJiUb_kDTaoGT5VLYntZpg/edit?usp=sharing
## 홈
自分のフォローしているユーザーの投稿
자신이 팔로우하고 있는 사용자의 노트
## 로컬
全てのローカルユーザーの「ホーム」指定されていない投稿
공개 범위가 「홈」으로 지정되지 않은 모든 로컬 유저의 노트
## 소셜
自分のフォローしているユーザーの投稿と、全てのローカルユーザーの「ホーム」指定されていない投稿
자신이 팔로우하고 있는 유저의 노트와, 공개 범위가 「홈」으로 지정되지 않은 모든 로컬 유저의 노트
## 글로벌
全てのローカルユーザーの「ホーム」指定されていない投稿と、サーバーに届いた全てのリモートユーザーの「ホーム」指定されていない投稿
공개 범위가 「홈」으로 지정되지 않은 모든 로컬 유저의 노트와, 서버에 배달된 공개 범위가 「홈」으로 지정되지 않은 모든 리모트 유저의 노트

View file

@ -43,7 +43,7 @@
* `props` ... 关于主题样式的定义,下面是详细介绍。
### 主题样式定义
`props` 下,你可以定义主题的样式。 键是 CSS 变量名,值是指定的内容。 请注意,`props` 对象是从基础主题集继承的。 如果这个主题的 `base``light`,则基础主题为 [_light.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_light.json5);如果 `dark`,则基础主题为 [_dark.json5](https://github.com/misskey-dev/misskey/blob/develop/src/client/themes/_dark.json5)。 换句话说,即使这个主题中的 `props` 中没有定义关键的 `panel`,也会继承在基础主题中所拥有 `panel`
`props` 下,你可以定义主题的样式。 键是 CSS 变量名,值是指定的内容。 请注意,`props` 对象是从基础主题集继承的。 如果这个主题的 `base``light`,则基础主题为 [_light.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_light.json5);如果 `dark`,则基础主题为 [_dark.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_dark.json5)。 换句话说,即使这个主题中的 `props` 中没有定义关键的 `panel`,也会继承在基础主题中所拥有 `panel`
#### 可以在值中使用的语法
* 以十六进制表示的颜色

View file

@ -0,0 +1,42 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import { publishMainStream } from '../../../../services/stream';
import define from '../../define';
import { Notifications } from '../../../../models';
import { readNotification } from '../../common/read-notification';
import { ApiError } from '../../error';
export const meta = {
tags: ['notifications', 'account'],
requireCredential: true as const,
kind: 'write:notifications',
params: {
notificationId: {
validator: $.type(ID),
},
},
errors: {
noSuchNotification: {
message: 'No such notification.',
code: 'NO_SUCH_NOTIFICATION',
id: 'efa929d5-05b5-47d1-beec-e6a4dbed011e'
},
},
};
export default define(meta, async (ps, user) => {
const notification = await Notifications.findOne({
notifieeId: user.id,
id: ps.notificationId,
});
if (notification == null) {
throw new ApiError(meta.errors.noSuchNotification);
}
readNotification(user.id, [notification.id]);
});

View file

@ -35,10 +35,22 @@ module.exports = (server: http.Server) => {
const main = new MainStreamConnection(connection, ev, user, app);
const intervalId = user ? setInterval(() => {
Users.update(user.id, {
lastActiveDate: new Date(),
});
}, 1000 * 60 * 5) : null;
if (user) {
Users.update(user.id, {
lastActiveDate: new Date(),
});
}
connection.once('close', () => {
ev.removeAllListeners();
main.dispose();
redisClient.off('message', onRedisMessage);
if (intervalId) clearInterval(intervalId);
});
connection.on('message', async (data) => {
@ -46,11 +58,5 @@ module.exports = (server: http.Server) => {
connection.send('pong');
}
});
if (user) {
Users.update(user.id, {
lastActiveDate: new Date(),
});
}
});
};

View file

@ -2,7 +2,9 @@ block vars
doctype html
!= '\n<!-- Thank you for using Misskey! @syuilo -->\n'
!= '\n<!-- Thank you for using Misskey! -->\n'
!= '\n<!-- If you are reading this message... how about joining the development of Misskey? -->\n'
!= '\n<!-- https://github.com/misskey-dev/misskey -->\n'
html

View file

@ -6695,10 +6695,10 @@ methods@^1.1.2:
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
mfm-js@0.15.0:
version "0.15.0"
resolved "https://registry.yarnpkg.com/mfm-js/-/mfm-js-0.15.0.tgz#b7dea4225a992ac4fd873ad6b2cad069f171dc24"
integrity sha512-JW7AAQzXejo60JGwx+wzodkp45XKYBEq4bYlMDcxjmi2e+P0IOhAcpz2HPBbzxnO/4X3WPuklU8B16RUZpFFdg==
mfm-js@0.16.0:
version "0.16.0"
resolved "https://registry.yarnpkg.com/mfm-js/-/mfm-js-0.16.0.tgz#71852124eba5564f8a94cd7476a4eaa4ddeed1cd"
integrity sha512-z33e1yPj9dLN+DjDHakhslvGhCnzTxsUNpodyFw3nemO6gnKOE1adUrm49jjB2boQxtBExKhH7FERMCsNFcpBQ==
dependencies:
twemoji-parser "13.0.x"