diff --git a/.config/example.yml b/.config/example.yml
index 2591066da..8a626cc06 100644
--- a/.config/example.yml
+++ b/.config/example.yml
@@ -149,3 +149,6 @@ autoAdmin: true
# Clustering
#clusterLimit: 1
+
+# IP address family used for outgoing request (ipv4, ipv6 or dual)
+#outgoingAddressFamily: ipv4
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 36e74eced..bb3a15bbf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -73,6 +73,17 @@ mongodb:
8. master ブランチに戻す
9. enjoy
+11.11.2 (2019/05/07)
+--------------------
+### Fixes
+* IPv4 onlyホストからDualstackホストにAP deliverできない問題を修正
+* ストリーミングに接続するまでラグがある問題を修正
+* 2段階認証のコードが0から始まる時正しく入力できない問題を修正
+* ユーザーの更新日時が新しい順で更新日時がnullのユーザーが先頭に来る問題を修正
+* 値選択時の問題を修正
+* リバーシでマップの変更が反映されない問題を修正
+* リバーシで対局終了直後に盤面を巻き戻してもすぐ最終ターンまでリセットされる問題を修正
+
11.11.1 (2019/05/05)
--------------------
### Fixes
diff --git a/locales/cs-CZ.yml b/locales/cs-CZ.yml
index fe4b517e3..c722eabb7 100644
--- a/locales/cs-CZ.yml
+++ b/locales/cs-CZ.yml
@@ -61,6 +61,7 @@ common:
month-and-day: "{day}. {month}."
trash: "Koš"
drive: "Disk"
+ pages: "Stránky"
messaging: "Konverzace"
home: "Domů"
deck: "Deck"
@@ -71,12 +72,20 @@ common:
favorites: "Oblíbené"
permissions:
"read:account": "Zobrazit informace o účtu"
+ "write:account": "Narábět s účtem"
+ "read:blocks": "Prohlížet blokování"
+ "write:blocks": "Narábět s blokováním"
"read:drive": "Prohlížet Disk"
"write:drive": "Pracovat s Diskem"
"read:favorites": "Prohlížet oblíbené"
+ "write:favorites": "Narábět s oblíbeními"
+ "read:following": "Prohlížet následování"
+ "write:following": "Pracovat s následováním"
"read:messaging": "Prohlížet konverzaci"
"write:messaging": "Pracovat s konverzaci"
"read:mutes": "Prohlížet ztlumené"
+ "write:mutes": "Narábět s utíšeními"
+ "write:notes": "Narábět s poznámkami"
"read:notifications": "Prohlížet oznámení"
"write:notifications": "Pracovat s oznámeními"
"read:reactions": "Prohlížet reakce"
@@ -377,6 +386,7 @@ common/views/components/theme.vue:
installed: "\"{}\" byl nainstalován"
create-a-theme: "Vytvořit motiv"
save-created-theme: "Uložit motiv"
+ text-color: "Barva textu"
base-theme: "Základní vzhled"
base-theme-light: "Světlý"
base-theme-dark: "Tmavý"
@@ -454,6 +464,7 @@ common/views/components/user-menu.vue:
suspend: "Zmrazit"
common/views/components/poll.vue:
vote-count: "{} hlasů"
+ total-votes: "{} hlasů celkem"
vote: "Hlasovat"
show-result: "Podívat se na výsledky"
voted: "Už jste hlasovaly"
@@ -464,10 +475,21 @@ common/views/components/poll.vue:
remaining-seconds: "zbývá {s} sekund"
common/views/components/poll-editor.vue:
no-only-one-choice: "Musíte vybrat alespoň dvě možnosti"
+ choice-n: "Volba {}"
+ remove: "Odstranit tuto možnost"
+ add: "+ Přidat možnost"
destroy: "Zahodit dotazník"
+ expiration: "Termín"
infinite: "Nekonečne"
at: "Výběr data a času"
+ deadline-date: "Termín ukončení"
+ interval: "Trvání"
+ second: "Sekunda"
+ minute: "Minuta"
+ hour: "Hodina"
day: "Ne"
+common/views/components/reaction-picker.vue:
+ choose-reaction: "Vyberte svoji reakci"
common/views/components/emoji-picker.vue:
custom-emoji: "Emoji"
people: "Lidé"
@@ -1198,3 +1220,42 @@ deck/deck.user-column.vue:
activity: "Aktivita"
dev/views/new-app.vue:
app-name-desc: "Jméno vaší aplikace"
+pages:
+ title: "Titulek"
+ blocks:
+ post: "Formulář pro psaní"
+ _post:
+ text: "Obsah"
+ _textInput:
+ text: "Titulek"
+ _textareaInput:
+ text: "Titulek"
+ _numberInput:
+ text: "Titulek"
+ _switch:
+ text: "Titulek"
+ _counter:
+ text: "Titulek"
+ _button:
+ text: "Titulek"
+ _action:
+ _dialog:
+ content: "Obsah"
+ script:
+ categories:
+ random: "Náhodně"
+ list: "Seznamy"
+ blocks:
+ _join:
+ arg1: "Seznamy"
+ random: "Náhodně"
+ _randomPick:
+ arg1: "Seznamy"
+ _dailyRandomPick:
+ arg1: "Seznamy"
+ _seedRandomPick:
+ arg2: "Seznamy"
+ _pick:
+ arg1: "Seznamy"
+ types:
+ array: "Seznamy"
diff --git a/locales/de-DE.yml b/locales/de-DE.yml
index dc758bd85..53a3fc79f 100644
--- a/locales/de-DE.yml
+++ b/locales/de-DE.yml
@@ -53,6 +53,7 @@ common:
month-and-day: "{day}/{month}"
trash: "Papierkorb"
drive: "Drive"
+ pages: "Seite"
messaging: "Unterhaltungen"
home: "Home"
deck: "Stapel"
@@ -64,6 +65,7 @@ common:
permissions:
"read:account": "Accountinformationen anzeigen."
"write:account": "Accountinformationen bearbeiten."
+ "read:blocks": "Blöcke anzeigen"
"read:drive": "Dateien anzeigen"
"write:drive": "Dateien bearbeiten"
"read:favorites": "Favoriten anzeigen"
@@ -718,25 +720,6 @@ deck/deck.user-column.vue:
docs:
edit-this-page-on-github: "Hast Du einen Fehler gefunden oder Lust, diese Dokumentation zu verbessern?"
edit-this-page-on-github-link: "Seite auf GitHub bearbeiten!"
- api:
- entities:
- properties: "Eigenschaften"
- endpoints:
- params: "Parameter"
- no-params: "Keine Parameter."
- res: "Antwort"
- require-credential: "Dieser Endpunkt erfordert eine Authentifizierung."
- require-permission: "Dieser Endpunkt erfordert die {permission} Berechtigung."
- has-limit: "Es gibt eine Ratenbegrenzung."
- duration-limit: "Es sind maximal {max} Anfragen pro {duration} Millisekunden möglich."
- min-interval-limit: "Es ist nur eine Anfrage alle {interval} Millisekunden möglich."
- show-src: "Quellcode anzeigen."
- show-src-link: "Quellcode auf GitHub anzeigen"
- generated: "Dieses Dokument wird automatisch anhand der API-Definition generiert."
- props:
- name: "Name"
- type: "Typ"
- description: "Beschreibung"
dev/views/index.vue:
manage-apps: "Anwendungen verwalten"
dev/views/apps.vue:
@@ -753,3 +736,24 @@ dev/views/new-app.vue:
authority: "Berechtigungen"
authority-desc: "Nur die hier eingetragenen Berechtigungen, werden per API zur Verfügung stehen."
authority-warning: "Dies kann auch nach dem erstellen der Anwendung geändert werden, allerdings werden dann alle bisher generierten Token ungültig."
+pages:
+ blocks:
+ post: "\"Neuer Beitrag\"-Formular"
+ script:
+ categories:
+ random: "Zufällige Auswahl"
+ list: "Listen"
+ blocks:
+ _join:
+ arg1: "Listen"
+ random: "Zufällige Auswahl"
+ _randomPick:
+ arg1: "Listen"
+ _dailyRandomPick:
+ arg1: "Listen"
+ _seedRandomPick:
+ arg2: "Listen"
+ _pick:
+ arg1: "Listen"
+ types:
+ array: "Listen"
diff --git a/locales/en-US.yml b/locales/en-US.yml
index a69a323d5..4293b81d0 100644
--- a/locales/en-US.yml
+++ b/locales/en-US.yml
@@ -34,6 +34,7 @@ common:
signup: "Sign up"
signout: "Logout"
reload-to-apply-the-setting: "You'll need to reload the page to reflect this setting. Do you want to reload it now?"
+ fetching-as-ap-object: "Inquiring to union"
got-it: "Got it!"
customization-tips:
title: "Customization tips"
@@ -61,6 +62,7 @@ common:
month-and-day: "{month}/{day}"
trash: "Trash"
drive: "Drive"
+ pages: "Pages"
messaging: "Talk"
home: "Home"
deck: "Deck"
@@ -1621,25 +1623,6 @@ deck/deck.user-column.vue:
docs:
edit-this-page-on-github: "Found an error, or do you want to contribute to the documentation?"
edit-this-page-on-github-link: "Edit this page at GitHub!"
- api:
- entities:
- properties: "Properties"
- endpoints:
- params: "Parameters"
- no-params: "No parameter."
- res: "Response"
- require-credential: "This endpoint requires the authentication information."
- require-permission: "This endpoint requires {permission} permission."
- has-limit: "There is a rate limit."
- duration-limit: "If you have sent your requests more than {max} times in {duration} milliseconds, you will be unable to send more requests."
- min-interval-limit: "If {interval} milliseconds haven't passed since the last request, you can't send a request."
- show-src: "You can view the source code for this endpoint."
- show-src-link: "See the code on GitHub"
- generated: "This document is generated by the API definition."
- props:
- name: "Name"
- type: "Type"
- description: "Description"
dev/views/index.vue:
manage-apps: "Manage apps"
dev/views/apps.vue:
@@ -1648,13 +1631,252 @@ dev/views/apps.vue:
app-missing: "No apps"
dev/views/new-app.vue:
new-app: "New Application"
+ new-app-info: "You can also create an application with the API. (app/create)"
create-app: "Creating application"
app-name: "Application name"
+ app-name-placeholder: "ex) Misskey for iOS"
app-name-desc: "The name of your app"
app-overview: "Application summary"
+ app-overview-placeholder: " ex) Misskey iOS Client."
app-overview-desc: "A brief description, or an introduction of your app."
callback-url: "The callback URL (optional)"
+ callback-url-placeholder: "ex) https://your.app.example.com/callback.php"
callback-url-desc: "The URL to redirect to after the user is authenticated via the authentication form."
authority: "Permissions"
authority-desc: "Only the functions requested here can be accessed via the API."
authority-warning: "You can change it even after creating the application, but if you give different permissions, all user keys associated at that time will be invalidated."
+pages:
+ new-page: "Create a page"
+ edit-page: "Edit a page"
+ read-page: "Viewing the source"
+ page-created: "Created the page!"
+ page-updated: "Updated the page"
+ are-you-sure-delete: "Do you want to delete this page?"
+ page-deleted: "The page has been deleted"
+ edit-this-page: "Edit this page"
+ view-source: "View Source"
+ view-page: "View page"
+ inspector: "Inspector"
+ content: "Page block"
+ variables: "Variables"
+ more-details: "Description"
+ title: "Title"
+ url: "Page URL"
+ summary: "Summary of page"
+ align-center: "Center align"
+ font: "Font"
+ fontSerif: "Serif"
+ fontSansSerif: "Sans Serif"
+ set-eye-catching-image: "Set an eye-catching image"
+ remove-eye-catching-image: "Delete an eye-catching image"
+ choose-block: "Add a block"
+ select-type: "Select a type"
+ enter-variable-name: "Please choose a variable name"
+ the-variable-name-is-already-used: "This variable name is already used"
+ content-blocks: "Content"
+ input-blocks: "Input"
+ special-blocks: "Special"
+ post-from-post-form: "Post this content"
+ posted-from-post-form: "Posted!"
+ blocks:
+ text: "Text"
+ textarea: "Text area"
+ section: "Section"
+ image: "Images"
+ button: "Button"
+ if: "If"
+ _if:
+ variable: "Variables"
+ post: "Post form"
+ _post:
+ text: "Content"
+ textInput: "Text input"
+ _textInput:
+ name: "Variable name"
+ text: "Title"
+ default: "Default value"
+ textareaInput: "Multiple type text input"
+ _textareaInput:
+ name: "Variable name"
+ text: "Title"
+ default: "Default value"
+ numberInput: "Numeric input"
+ _numberInput:
+ name: "Variable name"
+ text: "Title"
+ default: "Default value"
+ switch: "Switch"
+ _switch:
+ name: "Variable name"
+ text: "Title"
+ default: "Default value"
+ counter: "Counter"
+ _counter:
+ name: "Variable name"
+ text: "Title"
+ inc: "Increase number"
+ _button:
+ text: "Title"
+ action: "Operation when the button pressed"
+ _action:
+ dialog: "Show a dialog"
+ _dialog:
+ content: "Content"
+ resetRandom: "Reset a random number"
+ script:
+ categories:
+ flow: "Control"
+ logical: "Logical operation"
+ operation: "Compute"
+ comparison: "Compare"
+ random: "Random"
+ value: "Value"
+ fn: "Function"
+ text: "Text operation"
+ convert: "Variable"
+ list: "Lists"
+ blocks:
+ text: "Text"
+ multiLineText: "Text (Multiple lines)"
+ textList: "List of text"
+ _textList:
+ info: "Separate each one with a newline"
+ strLen: "Length of text"
+ _strLen:
+ arg1: "Text"
+ strPick: "Extract character"
+ _strPick:
+ arg1: "Text"
+ arg2: "Position of character"
+ strReplace: "Replace string(s)"
+ _strReplace:
+ arg1: "Text"
+ arg2: "Before replacement"
+ arg3: "After replacement"
+ strReverse: "Flip text"
+ _strReverse:
+ arg1: "Text"
+ _join:
+ arg1: "Lists"
+ arg2: "Separator"
+ add: "+ Plus"
+ _add:
+ arg1: "A"
+ arg2: "B"
+ subtract: "- Minus"
+ _subtract:
+ arg1: "A"
+ arg2: "B"
+ multiply: "× Multiply"
+ _multiply:
+ arg1: "A"
+ arg2: "B"
+ divide: "÷ Divide"
+ _divide:
+ arg1: "A"
+ arg2: "B"
+ _remind:
+ arg1: "A"
+ arg2: "B"
+ eq: "A and B are equal"
+ _eq:
+ arg1: "A"
+ arg2: "B"
+ notEq: "A and B are different"
+ _notEq:
+ arg1: "A"
+ arg2: "B"
+ and: "A and B"
+ _and:
+ arg1: "A"
+ arg2: "B"
+ or: "A or B"
+ _or:
+ arg1: "A"
+ arg2: "B"
+ lt: "A is smaller than B"
+ _lt:
+ arg1: "A"
+ arg2: "B"
+ gt: "A is bigger than B"
+ _gt:
+ arg1: "A"
+ arg2: "B"
+ ltEq: "A is smaller or same than B"
+ _ltEq:
+ arg1: "A"
+ arg2: "B"
+ gtEq: "A is bigger or same than B"
+ _gtEq:
+ arg1: "A"
+ arg2: "B"
+ if: "Branch"
+ _if:
+ arg1: "If"
+ arg2: "then"
+ arg3: "else"
+ not: "denial"
+ _not:
+ arg1: "denial"
+ random: "Random"
+ _random:
+ arg1: "Probability"
+ rannum: "Random number"
+ _rannum:
+ arg1: "Minimum"
+ arg2: "Maximum"
+ randomPick: "Choose at random from the list"
+ _randomPick:
+ arg1: "Lists"
+ dailyRandom: "Random (Daily for each user)"
+ _dailyRandom:
+ arg1: "Probability"
+ dailyRannum: "Random number (Daily for each user)"
+ _dailyRannum:
+ arg1: "Minimum"
+ arg2: "Maximum"
+ dailyRandomPick: "Choose at random from the list (Daily for each user)"
+ _dailyRandomPick:
+ arg1: "Lists"
+ _seedRandom:
+ arg1: "Seed"
+ arg2: "Probability"
+ _seedRannum:
+ arg1: "Seed"
+ arg2: "Minimum"
+ arg3: "Maximum"
+ _seedRandomPick:
+ arg1: "Seed"
+ arg2: "Lists"
+ _DRPWPM:
+ arg1: "List of text"
+ _pick:
+ arg1: "Lists"
+ arg2: "Position"
+ number: "Number"
+ stringToNumber: "Text to number"
+ _stringToNumber:
+ arg1: "Text"
+ numberToString: "Number to text"
+ _numberToString:
+ arg1: "Number"
+ splitStrByLine: "Split the text by lines"
+ _splitStrByLine:
+ arg1: "Text"
+ ref: "Variables"
+ fn: "Function"
+ _fn:
+ slots: "Slots"
+ arg1: "Output"
+ for: "Repeat"
+ thereIsEmptySlot: "Slot {slot} is empty!"
+ types:
+ string: "Text"
+ number: "Number"
+ boolean: "Flag"
+ array: "Lists"
+ stringArray: "List of text"
+ emptySlot: "Empty slot"
+ enviromentVariables: "Environment variable"
+ pageVariables: "Page element"
+ argVariables: "Input slot"
diff --git a/locales/es-ES.yml b/locales/es-ES.yml
index 58707bb0b..5d7d1214f 100644
--- a/locales/es-ES.yml
+++ b/locales/es-ES.yml
@@ -969,3 +969,24 @@ deck:
rename: "Renombrar"
deck/deck.user-column.vue:
activity: "Actividad"
+pages:
+ blocks:
+ post: "Formulario"
+ script:
+ categories:
+ random: "Aleatorio"
+ list: "Listas"
+ blocks:
+ _join:
+ arg1: "Listas"
+ random: "Aleatorio"
+ _randomPick:
+ arg1: "Listas"
+ _dailyRandomPick:
+ arg1: "Listas"
+ _seedRandomPick:
+ arg2: "Listas"
+ _pick:
+ arg1: "Listas"
+ types:
+ array: "Listas"
diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml
index f4a02be68..ae414d1ce 100644
--- a/locales/fr-FR.yml
+++ b/locales/fr-FR.yml
@@ -60,6 +60,7 @@ common:
month-and-day: "{day}-{month}"
trash: "Corbeille"
drive: "Drive"
+ pages: "Pages"
messaging: "Conversations"
home: "Principal"
deck: "Deck"
@@ -1469,6 +1470,7 @@ mobile/views/pages/drive.vue:
contextmenu:
upload: "Téléverser un fichier"
create-folder: "Créer un dossier"
+ rename-folder: "Renommer le dossier"
mobile/views/pages/user-lists.vue:
title: "Listes"
mobile/views/pages/signup.vue:
@@ -1570,25 +1572,6 @@ deck/deck.user-column.vue:
docs:
edit-this-page-on-github: "Vous avez trouvé une erreur ou vous voulez contribuer à la documentation ?"
edit-this-page-on-github-link: "Éditez cette page sur GitHub !"
- api:
- entities:
- properties: "Propriétés"
- endpoints:
- params: "Paramètres"
- no-params: "Aucun paramètre"
- res: "Réponse"
- require-credential: "Ce point de communication nécessite une authentification."
- require-permission: "Ce point de communication nécessite la permission {permission}."
- has-limit: "Il y’a un taux limite."
- duration-limit: "Si vous avez envoyé plus de {max} requêtes en {duration} millisecondes, vous ne serez pas en mesure d'envoyer d'autres requêtes."
- min-interval-limit: "Vous ne pourrez pas effectuer une nouvelle requête si {interval} millisecondes ne se sont pas écoulées depuis la dernière demande."
- show-src: "Vous pouvez voir le code source ce point de communication."
- show-src-link: "Consulter le code sur GitHub"
- generated: "Ce document est généré à partir de la définition de l’API."
- props:
- name: "Nom"
- type: "Type"
- description: "Description"
dev/views/index.vue:
manage-apps: "Gestion des applications"
dev/views/apps.vue:
@@ -1605,3 +1588,142 @@ dev/views/new-app.vue:
authority: "Autorisations "
authority-desc: "Sont accessibles via l’API, uniquement les fonctionnalités demandées ici."
authority-warning: "Vous pouvez le changer même après avoir créé l'application, mais si vous attribuez une nouvelle permission, toutes les clés utilisateur associées seront dès lors invalides."
+pages:
+ title: "Titre"
+ blocks:
+ text: "Texte"
+ textarea: "Zone de texte"
+ section: "Section"
+ image: "Images"
+ button: "Bouton"
+ if: "Si"
+ _if:
+ variable: "Variables"
+ post: "Champs de publication"
+ _post:
+ text: "Contenu"
+ _textInput:
+ name: "Nom de la variable"
+ text: "Titre"
+ default: "Valeur par défaut"
+ _textareaInput:
+ name: "Nom de la variable"
+ text: "Titre"
+ default: "Valeur par défaut"
+ _numberInput:
+ name: "Nom de la variable"
+ text: "Titre"
+ default: "Valeur par défaut"
+ switch: "Basculer"
+ _switch:
+ name: "Nom de la variable"
+ text: "Titre"
+ default: "Valeur par défaut"
+ counter: "Compteur"
+ _counter:
+ name: "Nom de la variable"
+ text: "Titre"
+ _button:
+ text: "Titre"
+ _action:
+ _dialog:
+ content: "Contenu"
+ script:
+ categories:
+ flow: "Contrôle"
+ logical: "Opération logique"
+ operation: "Calculer"
+ comparison: "Comparer"
+ random: "Aléatoire"
+ value: "Valeur"
+ fn: "Fonction"
+ list: "Listes"
+ blocks:
+ text: "Texte"
+ strLen: "Longueur du texte"
+ _strLen:
+ arg1: "Texte"
+ strPick: "Extraire un caractère"
+ _strPick:
+ arg1: "Texte"
+ _strReplace:
+ arg1: "Texte"
+ arg2: "Avant le remplacement"
+ arg3: "Après le remplacement"
+ strReverse: "Inverser le texte"
+ _strReverse:
+ arg1: "Texte"
+ _join:
+ arg1: "Listes"
+ arg2: "Séparateur"
+ add: "+ Plus"
+ _add:
+ arg1: "A"
+ arg2: "B"
+ subtract: "- Moins"
+ _subtract:
+ arg1: "A"
+ arg2: "B"
+ multiply: "× Multiplier par"
+ _multiply:
+ arg1: "A"
+ arg2: "B"
+ divide: "÷ Diviser par"
+ _divide:
+ arg1: "A"
+ arg2: "B"
+ _remind:
+ arg1: "A"
+ arg2: "B"
+ eq: "A et B sont équivalents"
+ _eq:
+ arg1: "A"
+ arg2: "B"
+ notEq: "A et B sont différents"
+ _notEq:
+ arg1: "A"
+ arg2: "B"
+ _and:
+ arg1: "A"
+ arg2: "B"
+ _or:
+ arg1: "A"
+ arg2: "B"
+ _lt:
+ arg1: "A"
+ arg2: "B"
+ _gt:
+ arg1: "A"
+ arg2: "B"
+ _ltEq:
+ arg1: "A"
+ arg2: "B"
+ _gtEq:
+ arg1: "A"
+ arg2: "B"
+ random: "Aléatoire"
+ _randomPick:
+ arg1: "Listes"
+ _dailyRandomPick:
+ arg1: "Listes"
+ _seedRandomPick:
+ arg2: "Listes"
+ _pick:
+ arg1: "Listes"
+ number: "Numérique"
+ _stringToNumber:
+ arg1: "Texte"
+ _numberToString:
+ arg1: "Numérique"
+ _splitStrByLine:
+ arg1: "Texte"
+ fn: "Fonction"
+ _fn:
+ arg1: "Sortie"
+ for: "Répéter"
+ types:
+ string: "Texte"
+ number: "Numérique"
+ array: "Listes"
+ stringArray: "Liste de texte"
+ enviromentVariables: "Variables d'environnement"
diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml
index 908fbc462..f3ea9bc4f 100644
--- a/locales/ja-KS.yml
+++ b/locales/ja-KS.yml
@@ -1246,25 +1246,6 @@ deck/deck.user-column.vue:
docs:
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
edit-this-page-on-github-link: "このページをGitHubで編集"
- api:
- entities:
- properties: "プロパティ"
- endpoints:
- params: "パラメータ"
- no-params: "パラメータはありません"
- res: "レスポンス"
- require-credential: "このエンドポイントは認証情報が必須です。"
- require-permission: "このエンドポイントは{permission}の権限を必要とします。"
- has-limit: "レートリミットがあります。"
- duration-limit: "直近{duration}ミリ秒の間のこのエンドポイントへのリクエスト数の合計が{max}を超える場合はリクエストできません。"
- min-interval-limit: "前回のリクエストから{interval}ミリ秒経っていない場合はリクエストできません。"
- show-src: "このエンドポイントのソースコードも閲覧できます。"
- show-src-link: "コードをGitHubで見る"
- generated: "このドキュメントはAPI定義に基づき自動生成されています。"
- props:
- name: "名前"
- type: "型"
- description: "説明"
dev/views/index.vue:
manage-apps: "アプリの管理"
dev/views/apps.vue:
@@ -1281,3 +1262,25 @@ dev/views/new-app.vue:
authority: "権限"
authority-desc: "ここにチェックした機能しかAPIからアクセスできひんから気ぃつけてな"
authority-warning: "アプリ作った後でも変えれるけど、新しいやつ追加したらそん時関連付いてるユーザーキーは全部ほかされるで。"
+pages:
+ blocks:
+ image: "画像"
+ post: "投稿フォーム"
+ script:
+ categories:
+ random: "いんじゃんほい"
+ list: "リスト"
+ blocks:
+ _join:
+ arg1: "リスト"
+ random: "いんじゃんほい"
+ _randomPick:
+ arg1: "リスト"
+ _dailyRandomPick:
+ arg1: "リスト"
+ _seedRandomPick:
+ arg2: "リスト"
+ _pick:
+ arg1: "リスト"
+ types:
+ array: "リスト"
diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml
index d8939eaeb..aec632d84 100644
--- a/locales/ko-KR.yml
+++ b/locales/ko-KR.yml
@@ -34,6 +34,7 @@ common:
signup: "신규 등록"
signout: "로그아웃"
reload-to-apply-the-setting: "이 설정을 적용하려면 페이지를 새로고침해야 합니다. 바로 새로고침하시겠습니까?"
+ fetching-as-ap-object: "연합에서 조회 중"
got-it: "알겠습니다"
customization-tips:
title: "커스터마이징 도움말"
@@ -61,6 +62,7 @@ common:
month-and-day: "{month}월 {day}일"
trash: "휴지통"
drive: "드라이브"
+ pages: "페이지"
messaging: "대화"
home: "홈"
deck: "덱"
@@ -72,8 +74,23 @@ common:
permissions:
"read:account": "계정 정보 보기"
"write:account": "계정 정보 변경"
+ "read:blocks": "차단 보기"
+ "write:blocks": "차단 수정"
"read:drive": "드라이브 보기"
"write:drive": "드라이브 수정"
+ "read:favorites": "즐겨찾기 보기"
+ "write:favorites": "즐겨찾기 수정"
+ "read:following": "팔로우 정보 보기"
+ "write:following": "팔로잉, 팔로우 수정"
+ "read:messaging": "대화 보기"
+ "write:messaging": "대화 수정"
+ "read:mutes": "뮤트 보기"
+ "write:mutes": "뮤트 수정"
+ "write:notes": "글 작성, 삭제"
+ "read:notifications": "글 보기"
+ "write:notifications": "알림 수정"
+ "read:reactions": "리액션 보기"
+ "write:reactions": "리액션 수정"
"write:votes": "투표하기"
empty-timeline-info:
follow-users-to-make-your-timeline: "사용자를 팔로우하면 글이 타임라인에 표시됩니다."
@@ -293,12 +310,12 @@ auth/views/form.vue:
accept: "접근 권한 허용"
auth/views/index.vue:
loading: "로드 중"
- denied: "어플리케이션의 연계를 취소하였습니다."
+ denied: "애플리케이션의 연계를 취소하였습니다."
denied-paragraph: "이 앱이 당신의 계정에 액세스할 수 없습니다."
already-authorized: "이 앱은 이미 연결되어 있습니다."
- allowed: "어플리케이션의 연동을 허용하였습니다."
- callback-url: "어플리케이션으로 돌아갑니다."
- please-go-back: "어플리케이션으로 돌아가여 시도하여 주십시오."
+ allowed: "애플리케이션의 연동을 허용하였습니다."
+ callback-url: "애플리케이션으로 돌아갑니다."
+ please-go-back: "애플리케이션으로 돌아가여 시도하여 주십시오."
error: "세션이 존재하지 않습니다."
sign-in: "로그인 해주시기 바랍니다"
common/views/pages/explore.vue:
@@ -474,8 +491,12 @@ common/views/components/user-menu.vue:
mention: "멘션"
mute: "뮤트"
unmute: "뮤트 해제"
+ mute-confirm: "이 사용자를 뮤트하시겠습니까?"
+ unmute-confirm: "이 사용자를 뮤트 해제하시겠습니까?"
block: "차단"
unblock: "차단 해제"
+ block-confirm: "이 사용자를 차단하시겠습니까?"
+ unblock-confirm: "이 사용자를 차단 해제하시겠습니까?"
push-to-list: "리스트에 추가"
select-list: "리스트를 선택하여 주십시오"
report-abuse: "스팸 신고"
@@ -483,8 +504,12 @@ common/views/components/user-menu.vue:
report-abuse-reported: "관리자에게 보고되었습니다. 협조해주셔서 감사합니다."
silence: "침묵"
unsilence: "침묵 해제"
+ silence-confirm: "이 사용자를 침묵하시겠습니까?"
+ unsilence-confirm: "이 사용자를 침묵 해제하시겠습니까?"
suspend: "정지"
unsuspend: "정지 해제"
+ suspend-confirm: "이 사용자를 정지하시겠습니까?"
+ unsuspend-confirm: "이 사용자를 정지 해제하시겠습니까?"
common/views/components/poll.vue:
vote-to: "\"{}\"에 투표하기"
vote-count: "{}표"
@@ -668,6 +693,7 @@ common/views/components/user-list-editor.vue:
delete-are-you-sure: "리스트 \"$1\"을 삭제하시겠습니까?"
deleted: "삭제하였습니다"
common/views/components/user-lists.vue:
+ create-list: "리스트 만들기"
list-name: "리스트 이름"
common/views/widgets/broadcast.vue:
fetching: "확인중"
@@ -946,7 +972,7 @@ common/views/components/api-settings.vue:
sending: "응답을 기다리는 중"
response: "결과"
desktop/views/components/settings.apps.vue:
- no-apps: "연결된 어플리케이션이 없습니다"
+ no-apps: "연결된 애플리케이션이 없습니다"
common/views/components/drive-settings.vue:
max: "최대 용량"
in-use: "사용중"
@@ -1194,7 +1220,9 @@ admin/views/users.vue:
unsuspend-confirm: "정지를 해제하시겠습니까?"
unsuspended: "정지를 해제하였습니다"
make-silence: "침묵"
+ silence-confirm: "침묵으로 설정합니까?"
unmake-silence: "침묵 해제"
+ unsilence-confirm: "침묵 해제하시겠습니까?"
verify: "공식 계정으로 설정"
verify-confirm: "공식 계정으로 설정하시겠습니까?"
verified: "공식 계정으로 설정하였습니다"
@@ -1388,6 +1416,7 @@ desktop/views/widgets/polls.vue:
desktop/views/widgets/post-form.vue:
title: "글쓰기"
note: "글쓰기"
+ something-happened: "알 수 없는 문제로 글을 게시할 수 없습니다."
desktop/views/widgets/profile.vue:
update-banner: "클릭하여 배너 변경"
update-avatar: "클릭하여 아바타 변경"
@@ -1410,6 +1439,7 @@ mobile/views/components/drive.vue:
here-is-root: "현재 경로는 루트 경로로 폴더가 아닙니다."
url-prompt: "업로드 하려는 파일의 URL"
uploading: "업로드를 요청하였습니다. 업로드가 완료될 때까지 시간이 소요될 수 있습니다."
+ folder-name-cannot-empty: "폴더 이름은 비워둘 수 없습니다."
mobile/views/components/drive-file-chooser.vue:
select-file: "파일 선택"
mobile/views/components/drive-folder-chooser.vue:
@@ -1486,7 +1516,11 @@ mobile/views/components/ui.nav.vue:
mobile/views/pages/drive.vue:
contextmenu:
upload: "파일 업로드"
+ url-upload: "파일을 URL로부터 업로드"
create-folder: "폴더 만들기"
+ rename-folder: "폴더 이름 바꾸기"
+ move-folder: "이 폴더를 이동"
+ delete-folder: "이 폴더를 삭제"
mobile/views/pages/user-lists.vue:
title: "리스트"
mobile/views/pages/signup.vue:
@@ -1589,25 +1623,6 @@ deck/deck.user-column.vue:
docs:
edit-this-page-on-github: "틀린 점이나 개선할 점을 찾으셨나요?"
edit-this-page-on-github-link: "이 페이지를 GitHub에서 편집"
- api:
- entities:
- properties: "프로퍼티"
- endpoints:
- params: "매개변수"
- no-params: "매개변수가 없습니다"
- res: "응답"
- require-credential: "이 엔드포인트는 인증 정보가 필수적입니다."
- require-permission: "이 엔드포인트는 {permission} 권한을 필요로 합니다."
- has-limit: "Rate limit(요청 비율 제한)이 있습니다."
- duration-limit: "최근 {duration} 밀리초 사이에 엔드포인트로의 요청 수의 합계가 {max}를 넘는 경우 요청이 불가능합니다."
- min-interval-limit: "이전 요청으로부터 {interval} 밀리초가 지나지 않은 경우 요청할 수 없습니다."
- show-src: "이 엔드포인트에 대한 소스코드를 확인할 수 있습니다."
- show-src-link: "코드를 Github에서 보기"
- generated: "이 문서는 API 정의를 기반으로 자동으로 생성됩니다."
- props:
- name: "이름"
- type: "자료형"
- description: "설명"
dev/views/index.vue:
manage-apps: "앱 관리"
dev/views/apps.vue:
@@ -1615,12 +1630,64 @@ dev/views/apps.vue:
create-app: "앱 생성"
app-missing: "앱 없음"
dev/views/new-app.vue:
- create-app: "어플리케이션 생성"
- app-name: "어플리케이션 이름"
+ new-app: "새 애플리케이션"
+ new-app-info: "애플리케이션은 API에서도 생성할 수 있습니다. (app/create)"
+ create-app: "애플리케이션 생성"
+ app-name: "애플리케이션 이름"
+ app-name-placeholder: "ex) Misskey for iOS"
app-name-desc: "앱의 이름."
app-overview: "앱 개요"
+ app-overview-placeholder: "ex) Misskey iOS 클라이언트."
+ app-overview-desc: "애플리케이션에 대한 간단한 설명이나 소개"
callback-url: "콜백 URL (옵션)"
+ callback-url-placeholder: "ex) https://your.app.example.com/callback.php"
callback-url-desc: "사용자가 인증 폼에서 인증한 뒤 리다이렉트할 URL을 설정합니다."
authority: "권한"
authority-desc: "이곳에서 요청한 권한에 한정하여 API로 액세스할 수 있습니다."
authority-warning: "앱을 생성한 뒤에도 변경할 수 있지만, 새로운 권한을 설정하는 경우 그 시점부터 예전에 발급받았던 유저 키는 모두 무효화됩니다."
+pages:
+ new-page: "페이지 만들기"
+ edit-page: "페이지 수정"
+ read-page: "소스 표시중"
+ page-created: "페이지를 만들었습니다"
+ page-updated: "페이지를 수정했습니다"
+ are-you-sure-delete: "이 페이지를 삭제하시겠습니까?"
+ title: "제목"
+ blocks:
+ image: "이미지"
+ post: "게시 양식"
+ _post:
+ text: "내용"
+ _textInput:
+ text: "제목"
+ _textareaInput:
+ text: "제목"
+ _numberInput:
+ text: "제목"
+ _switch:
+ text: "제목"
+ _counter:
+ text: "제목"
+ _button:
+ text: "제목"
+ _action:
+ _dialog:
+ content: "내용"
+ script:
+ categories:
+ random: "랜덤"
+ list: "리스트"
+ blocks:
+ _join:
+ arg1: "리스트"
+ random: "랜덤"
+ _randomPick:
+ arg1: "리스트"
+ _dailyRandomPick:
+ arg1: "리스트"
+ _seedRandomPick:
+ arg2: "리스트"
+ _pick:
+ arg1: "리스트"
+ types:
+ array: "리스트"
diff --git a/locales/nl-NL.yml b/locales/nl-NL.yml
index df190c67a..755f8ab3f 100644
--- a/locales/nl-NL.yml
+++ b/locales/nl-NL.yml
@@ -619,13 +619,22 @@ deck/deck.user-column.vue:
docs:
edit-this-page-on-github: "Heb je een fout ontdekt of wil je bijdragen aan de documentatie? "
edit-this-page-on-github-link: "Bewerk deze pagina op GitHub!"
- api:
- entities:
- properties: "Eigenschappen"
- endpoints:
- params: "Parameters"
- res: "Antwoord"
- props:
- name: "Naam"
- type: "Type"
- description: "Omschrijving"
+pages:
+ blocks:
+ image: "Afbeeldingen"
+ script:
+ categories:
+ list: "Lijsten"
+ blocks:
+ _join:
+ arg1: "Lijsten"
+ _randomPick:
+ arg1: "Lijsten"
+ _dailyRandomPick:
+ arg1: "Lijsten"
+ _seedRandomPick:
+ arg2: "Lijsten"
+ _pick:
+ arg1: "Lijsten"
+ types:
+ array: "Lijsten"
diff --git a/locales/no-NO.yml b/locales/no-NO.yml
index 043e20861..6e5ff5282 100644
--- a/locales/no-NO.yml
+++ b/locales/no-NO.yml
@@ -489,14 +489,24 @@ deck/deck.user-column.vue:
following: "Følger"
followers: "Følgere"
images: "Bilder"
-docs:
- api:
- entities:
- properties: "Egenskaper"
- endpoints:
- params: "Parametere"
- res: "Respons"
- props:
- name: "Navn"
- type: "Type"
- description: "Beskrivelse"
+pages:
+ blocks:
+ image: "Bilder"
+ script:
+ categories:
+ random: "Tilfeldig"
+ list: "Lister"
+ blocks:
+ _join:
+ arg1: "Lister"
+ random: "Tilfeldig"
+ _randomPick:
+ arg1: "Lister"
+ _dailyRandomPick:
+ arg1: "Lister"
+ _seedRandomPick:
+ arg2: "Lister"
+ _pick:
+ arg1: "Lister"
+ types:
+ array: "Lister"
diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml
index f44d95500..49845177f 100644
--- a/locales/pl-PL.yml
+++ b/locales/pl-PL.yml
@@ -54,6 +54,7 @@ common:
month-and-day: "{month}-{day}"
trash: "Kosz"
drive: "Dysk"
+ pages: "Strony"
messaging: "Rozmowy"
home: "Strona główna"
deck: "Tablice"
@@ -127,6 +128,7 @@ common:
behavior: "Zachowanie"
fetch-on-scroll: "Automatycznie ładuj po przeciągnięciu w dół"
note-visibility: "Widoczność wpisów"
+ remember-note-visibility: "Zapamiętaj widoczność wpisów"
web-search-engine: "Wyszukiwarka internetowa"
line-width: "Szerokości linii"
line-width-thin: "Cienka"
@@ -1190,23 +1192,6 @@ deck/deck.user-column.vue:
docs:
edit-this-page-on-github: "Znalazłeś błąd lub chcesz pomóc w tworzeniu dokumentacji?"
edit-this-page-on-github-link: "Edytuj stronę na GitHubie!"
- api:
- entities:
- properties: "Właściwości"
- endpoints:
- params: "Parametry"
- no-params: "Brak parametrów."
- res: "Odpowiedź"
- require-credential: "Punkt końcowy wymaga informacji o uwierzytelnieniu."
- require-permission: "Ten punkt końcowy wymaga uprawnienia {permission}."
- has-limit: "Istnieje limit częstotliwości."
- min-interval-limit: "Nie możesz wykonać żądania przed upłynięciem {interval} od ostatniego żądania."
- show-src: "Możesz zobaczyć kod źródłowy tego punktu końcowego."
- show-src-link: "Zobacz kod na GitHubie"
- props:
- name: "Nazwa"
- type: "Rodzaj"
- description: "Opis"
dev/views/index.vue:
manage-apps: "Zarządzaj aplikacjami"
dev/views/apps.vue:
@@ -1215,3 +1200,38 @@ dev/views/apps.vue:
dev/views/new-app.vue:
app-name: "Nazwa Aplikacji"
authority: "Uprawnienia"
+pages:
+ title: "Tytuł"
+ blocks:
+ image: "Zdjęcia"
+ post: "Formularz tworzenia"
+ _textInput:
+ text: "Tytuł"
+ _textareaInput:
+ text: "Tytuł"
+ _numberInput:
+ text: "Tytuł"
+ _switch:
+ text: "Tytuł"
+ _counter:
+ text: "Tytuł"
+ _button:
+ text: "Tytuł"
+ script:
+ categories:
+ random: "Losowy"
+ list: "Listy"
+ blocks:
+ _join:
+ arg1: "Listy"
+ random: "Losowy"
+ _randomPick:
+ arg1: "Listy"
+ _dailyRandomPick:
+ arg1: "Listy"
+ _seedRandomPick:
+ arg2: "Listy"
+ _pick:
+ arg1: "Listy"
+ types:
+ array: "Listy"
diff --git a/locales/pt-PT.yml b/locales/pt-PT.yml
index 7732f1c94..587aa248c 100644
--- a/locales/pt-PT.yml
+++ b/locales/pt-PT.yml
@@ -274,18 +274,9 @@ deck/deck.user-column.vue:
timeline: "Linha do tempo"
docs:
edit-this-page-on-github-link: "Edite esta página no GitHub!"
- api:
- entities:
- properties: "Propriedades"
- endpoints:
- params: "Parâmetros"
- no-params: "Sem parâmetros"
- res: "Resposta"
- show-src-link: "Veja o código no GitHub"
- generated: "Este documento foi gerado pelas definições da API."
- props:
- name: "Nome"
- type: "Tipo"
- description: "Descrição"
dev/views/index.vue:
manage-apps: "Gerenciar aplicativos"
+pages:
+ blocks:
+ image: "Imagens"
+ post: "Formulário de publicação"
diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml
index 31e43fa73..4a181aa63 100644
--- a/locales/ru-RU.yml
+++ b/locales/ru-RU.yml
@@ -146,3 +146,9 @@ mobile/views/components/sub-note-content.vue:
poll: "Голосования"
mobile/views/pages/widgets.vue:
customization-tips: "Советы по настройке"
+pages:
+ script:
+ categories:
+ random: "Случайно"
+ blocks:
+ random: "Случайно"
diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml
index 8908cf156..2629aa71d 100644
--- a/locales/zh-CN.yml
+++ b/locales/zh-CN.yml
@@ -62,6 +62,7 @@ common:
month-and-day: "{month}月 {day}日"
trash: "垃圾箱"
drive: "网盘"
+ pages: "页面"
messaging: "聊天"
home: "首页"
deck: "Deck"
@@ -1622,25 +1623,6 @@ deck/deck.user-column.vue:
docs:
edit-this-page-on-github: "发现错误或想要为文档做出贡献?"
edit-this-page-on-github-link: "在GitHub上编辑这个页面。"
- api:
- entities:
- properties: "属性"
- endpoints:
- params: "参数"
- no-params: "没有参数"
- res: "回应"
- require-credential: "此端点需要身份验证信息。"
- require-permission: "此端点需要{permission}权限。"
- has-limit: "有一个速率限制。"
- duration-limit: "如果您发送请求在{duration}毫秒内多于{max}次,则无法发送更多请求。"
- min-interval-limit: "如果自上次请求后未传递{interval}毫秒,则无法发送请求。"
- show-src: "您可以查看此端点的源代码。"
- show-src-link: "查阅GitHub上的代码"
- generated: "该文档由API定义生成。"
- props:
- name: "名称"
- type: "型号"
- description: "描述"
dev/views/index.vue:
manage-apps: "管理应用"
dev/views/apps.vue:
@@ -1663,3 +1645,247 @@ dev/views/new-app.vue:
authority: "权限"
authority-desc: "只能通过API访问此处请求的功能。"
authority-warning: "您可以在创建应用程序后对其进行更改,但如果您授予不同的权限,则当时关联的所有用户密钥都将失效。"
+pages:
+ new-page: "创建页面"
+ edit-page: "编辑页面"
+ read-page: "查看源"
+ page-created: "页面已创建"
+ page-updated: "页面已更新"
+ are-you-sure-delete: "是否删除此页面?"
+ page-deleted: "该页面已被删除。"
+ edit-this-page: "编辑此页面"
+ view-source: "查看源代码"
+ view-page: "查看页面"
+ inspector: "检查器"
+ content: "页面内容"
+ variables: "变量"
+ variables-info: "您可以使用变量创建动态页面。在文本中通过{变量名}的写法来嵌入变量值。例如在文本Hello { thing } world!中,如果变量(thing)的值为ai,那么该文本会成为Hello ai world!。"
+ variables-info2: "因为变量的计算(计算变量值)是从上到下执行的,所以不能在变量中引用下面的变量。例如从上到下依次定义了A,B,C3个变量,那么C中可以引用A或B,但是A无法引用B或C。"
+ variables-info3: "为了接收来自用户的输入,页面上设有“用户输入”块,在“变量名称”中设置要在其中保存输入值的变量名(变量会自动创建)。您可以使用该变量执行操作以响应用户输入。"
+ variables-info4: "通过使用函数,您可以将数值计算过程组合成可重用的形式。要创建函数,需要创建一个“函数”类型的变量。你可以将函数设定为槽函数(参数)的格式,槽函数的值可作为函数中的变量使用。另外,AiScript标准中还有一些函数会将函数作为参数(称为高阶函数)。\n除了已经预先定义的函数外,您也可以将它们设置为这些高阶函数的槽函数。"
+ more-details: "详细说明"
+ title: "标题"
+ url: "页面URL"
+ summary: "页面摘要"
+ align-center: "居中"
+ font: "字体"
+ fontSerif: "衬线字体"
+ fontSansSerif: "无衬线字体"
+ choose-block: "添加块"
+ select-type: "类型选择"
+ enter-variable-name: "请确定变量名"
+ the-variable-name-is-already-used: "变量名已使用"
+ content-blocks: "内容"
+ input-blocks: "输入"
+ special-blocks: "特殊"
+ post-from-post-form: "发布此内容"
+ posted-from-post-form: "已发布"
+ blocks:
+ text: "文本"
+ textarea: "文本区域"
+ section: "章节"
+ image: "图片"
+ button: "按钮"
+ if: "如果"
+ _if:
+ variable: "变量"
+ post: "投稿形式"
+ _post:
+ text: "内容"
+ textInput: "文本输入"
+ _textInput:
+ name: "变量名"
+ text: "标题"
+ default: "默认值"
+ textareaInput: "多行文本输入"
+ _textareaInput:
+ name: "变量名"
+ text: "标题"
+ default: "默认值"
+ numberInput: "数值输入"
+ _numberInput:
+ name: "变量名"
+ text: "标题"
+ default: "默认值"
+ switch: "开关"
+ _switch:
+ name: "变量名"
+ text: "标题"
+ default: "默认值"
+ counter: "计数器"
+ _counter:
+ name: "变量名"
+ text: "标题"
+ inc: "增加值"
+ _button:
+ text: "标题"
+ action: "按下按钮时的行为"
+ _action:
+ dialog: "显示对话框"
+ _dialog:
+ content: "内容"
+ resetRandom: "随机值重置"
+ script:
+ categories:
+ flow: "控制"
+ logical: "逻辑运算"
+ operation: "计算"
+ comparison: "比较"
+ random: "随机"
+ value: "值"
+ fn: "函数"
+ text: "文本操作"
+ list: "列表"
+ blocks:
+ text: "文本"
+ multiLineText: "文本 (多行)"
+ textList: "文本列表"
+ _textList:
+ info: "情使用换行符分隔每行"
+ strLen: "文本长度"
+ _strLen:
+ arg1: "文本"
+ strPick: "字符提取"
+ _strPick:
+ arg1: "文本"
+ arg2: "字符位置"
+ strReplace: "文本替换"
+ _strReplace:
+ arg1: "文本"
+ arg2: "替换之前"
+ arg3: "替换之后"
+ strReverse: "文本反向"
+ _strReverse:
+ arg1: "文本"
+ join: "合并文本"
+ _join:
+ arg1: "列表"
+ arg2: "分隔符"
+ add: "+ 加"
+ _add:
+ arg1: "A"
+ arg2: "B"
+ subtract: "- 减"
+ _subtract:
+ arg1: "A"
+ arg2: "B"
+ multiply: "× 乘"
+ _multiply:
+ arg1: "A"
+ arg2: "B"
+ divide: "÷ 除"
+ _divide:
+ arg1: "A"
+ arg2: "B"
+ remind: "÷ 取模"
+ _remind:
+ arg1: "A"
+ arg2: "B"
+ 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: "否则"
+ 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:
+ arg1: "文本列表"
+ pick: "从列表中选择"
+ _pick:
+ arg1: "列表"
+ arg2: "位置"
+ number: "数值"
+ stringToNumber: "文本到数字"
+ _stringToNumber:
+ arg1: "文本"
+ numberToString: "数字到文本"
+ _numberToString:
+ arg1: "数值"
+ splitStrByLine: "将文本按行拆分"
+ _splitStrByLine:
+ arg1: "文本"
+ ref: "变量"
+ fn: "函数"
+ _fn:
+ slots: "槽函数"
+ slots-info: "请使用换行符分隔每个槽函数"
+ arg1: "输出"
+ for: "重复"
+ _for:
+ arg1: "次数"
+ arg2: "处理"
+ typeError: "槽函数{slot}需要传入“{expect}”,但是实际传入为“{actual}”!"
+ thereIsEmptySlot: "槽函数{slot}为空!"
+ types:
+ string: "文本"
+ number: "数值"
+ boolean: "布尔值"
+ array: "列表"
+ stringArray: "文本列表"
+ emptySlot: "空白槽函数"
+ enviromentVariables: "环境变量"
+ pageVariables: "页面元素"
+ argVariables: "输入槽函数"
diff --git a/package.json b/package.json
index b6c8bc5ec..3c873763d 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "misskey",
"author": "syuilo ",
- "version": "11.11.1",
+ "version": "11.11.2",
"codename": "daybreak",
"repository": {
"type": "git",
diff --git a/src/client/app/common/scripts/stream.ts b/src/client/app/common/scripts/stream.ts
index 23f839ae8..a1b4223b5 100644
--- a/src/client/app/common/scripts/stream.ts
+++ b/src/client/app/common/scripts/stream.ts
@@ -21,7 +21,7 @@ export default class Stream extends EventEmitter {
const user = os.store.state.i;
- this.stream = new ReconnectingWebsocket(wsUrl + (user ? `?i=${user.token}` : ''));
+ this.stream = new ReconnectingWebsocket(wsUrl + (user ? `?i=${user.token}` : ''), '', { minReconnectionDelay: 1 }); // https://github.com/pladaria/reconnecting-websocket/issues/91
this.stream.addEventListener('open', this.onOpen);
this.stream.addEventListener('close', this.onClose);
this.stream.addEventListener('message', this.onMessage);
diff --git a/src/client/app/common/views/components/games/reversi/reversi.game.vue b/src/client/app/common/views/components/games/reversi/reversi.game.vue
index bd0401f78..315fb464b 100644
--- a/src/client/app/common/views/components/games/reversi/reversi.game.vue
+++ b/src/client/app/common/views/components/games/reversi/reversi.game.vue
@@ -200,6 +200,7 @@ export default Vue.extend({
// 通信を取りこぼしてもいいように定期的にポーリングさせる
if (this.game.isStarted && !this.game.isEnded) {
this.pollingClock = setInterval(() => {
+ if (this.game.isEnded) return;
const crc32 = CRC32.str(this.logs.map(x => x.pos.toString()).join(''));
this.connection.send('check', {
crc32: crc32
diff --git a/src/client/app/common/views/components/games/reversi/reversi.room.vue b/src/client/app/common/views/components/games/reversi/reversi.room.vue
index 9ee1a78b8..c1657f49e 100644
--- a/src/client/app/common/views/components/games/reversi/reversi.room.vue
+++ b/src/client/app/common/views/components/games/reversi/reversi.room.vue
@@ -230,7 +230,7 @@ export default Vue.extend({
this.game.map = Object.values(maps).find(x => x.name == this.mapName).data;
}
this.$forceUpdate();
- this.updateSettings();
+ this.updateSettings('map');
},
onPixelClick(pos, pixel) {
diff --git a/src/client/app/common/views/components/signin.vue b/src/client/app/common/views/components/signin.vue
index 671158a11..03ee51d06 100644
--- a/src/client/app/common/views/components/signin.vue
+++ b/src/client/app/common/views/components/signin.vue
@@ -10,7 +10,7 @@
{{ $t('password') }}
-
+
{{ $t('@.2fa') }}
diff --git a/src/client/app/common/views/components/ui/select.vue b/src/client/app/common/views/components/ui/select.vue
index e8b45a4a2..ec5145ca3 100644
--- a/src/client/app/common/views/components/ui/select.vue
+++ b/src/client/app/common/views/components/ui/select.vue
@@ -5,10 +5,9 @@