diff --git a/.config/example.yml b/.config/example.yml index 2591066da5..8a626cc06d 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 36e74eced8..bb3a15bbf8 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 fe4b517e3c..c722eabb74 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 dc758bd852..53a3fc79f5 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 a69a323d5c..4293b81d0f 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 58707bb0bc..5d7d1214f2 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 f4a02be68e..ae414d1ce7 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 908fbc462d..f3ea9bc4fc 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 d8939eaeb6..aec632d844 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 df190c67a0..755f8ab3f1 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 043e20861b..6e5ff52828 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 f44d955003..49845177f9 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 7732f1c946..587aa248c2 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 31e43fa734..4a181aa639 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 8908cf156d..2629aa71d1 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中可以引用AB,但是A无法引用BC。" + 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 b6c8bc5ec0..3c873763d8 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 23f839ae85..a1b4223b55 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 bd0401f785..315fb464b2 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 9ee1a78b86..c1657f49e5 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 671158a113..03ee51d06e 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 e8b45a4a29..ec5145ca30 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 @@