mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-12-24 05:23:08 +02:00
Merge branch 'develop'
This commit is contained in:
commit
2d04a3d6d2
25 changed files with 979 additions and 195 deletions
|
@ -149,3 +149,6 @@ autoAdmin: true
|
|||
|
||||
# Clustering
|
||||
#clusterLimit: 1
|
||||
|
||||
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
||||
#outgoingAddressFamily: ipv4
|
||||
|
|
11
CHANGELOG.md
11
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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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: "リスト"
|
||||
|
|
|
@ -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: "리스트"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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: "Случайно"
|
||||
|
|
|
@ -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: "您可以使用变量创建动态页面。在文本中通过<b>{变量名}</b>的写法来嵌入变量值。例如在文本<b>Hello { thing } world!</b>中,如果变量(thing)的值为<b>ai</b>,那么该文本会成为<b>Hello ai world!</b>。"
|
||||
variables-info2: "因为变量的计算(计算变量值)是从上到下执行的,所以不能在变量中引用下面的变量。例如从上到下依次定义了<b>A,B,C</b>3个变量,那么<b>C</b>中可以引用<b>A</b>或<b>B</b>,但是<b>A</b>无法引用<b>B</b>或<b>C</b>。"
|
||||
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: "输入槽函数"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "misskey",
|
||||
"author": "syuilo <i@syuilo.com>",
|
||||
"version": "11.11.1",
|
||||
"version": "11.11.2",
|
||||
"codename": "daybreak",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<span>{{ $t('password') }}</span>
|
||||
<template #prefix><fa icon="lock"/></template>
|
||||
</ui-input>
|
||||
<ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="number" required>
|
||||
<ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="text" pattern="^[0-9]{6}$" autocomplete="off" spellcheck="false" required>
|
||||
<span>{{ $t('@.2fa') }}</span>
|
||||
<template #prefix><fa icon="gavel"/></template>
|
||||
</ui-input>
|
||||
|
|
|
@ -5,10 +5,9 @@
|
|||
<span class="label" ref="label"><slot name="label"></slot></span>
|
||||
<div class="prefix" ref="prefix"><slot name="prefix"></slot></div>
|
||||
<select ref="input"
|
||||
:value="v"
|
||||
v-model="v"
|
||||
:required="required"
|
||||
:disabled="disabled"
|
||||
@input="$emit('input', $event.target.value)"
|
||||
@focus="focused = true"
|
||||
@blur="focused = false"
|
||||
>
|
||||
|
@ -56,20 +55,22 @@ export default Vue.extend({
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
v: this.value,
|
||||
focused: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
v: {
|
||||
get() {
|
||||
return this.value;
|
||||
},
|
||||
set(v) {
|
||||
this.$emit('input', v);
|
||||
}
|
||||
},
|
||||
filled(): boolean {
|
||||
return this.v != '' && this.v != null;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value(v) {
|
||||
this.v = v;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.$refs.prefix) {
|
||||
this.$refs.label.style.left = (this.$refs.prefix.offsetLeft + this.$refs.prefix.offsetWidth) + 'px';
|
||||
|
|
|
@ -44,6 +44,8 @@ export type Source = {
|
|||
clusterLimit?: number;
|
||||
|
||||
id: string;
|
||||
|
||||
outgoingAddressFamily?: 'ipv4' | 'ipv6' | 'dual';
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -101,11 +101,18 @@ export default async (user: ILocalUser, url: string, object: any) => {
|
|||
* Resolve host (with cached, asynchrony)
|
||||
*/
|
||||
async function resolveAddr(domain: string) {
|
||||
const af = config.outgoingAddressFamily || 'ipv4';
|
||||
const useV4 = af == 'ipv4' || af == 'dual';
|
||||
const useV6 = af == 'ipv6' || af == 'dual';
|
||||
|
||||
const promises = [];
|
||||
|
||||
if (!useV4 && !useV6) throw 'No usable address family available';
|
||||
if (useV4) promises.push(resolveAddrInner(domain, { family: 4 }));
|
||||
if (useV6) promises.push(resolveAddrInner(domain, { family: 6 }));
|
||||
|
||||
// v4/v6で先に取得できた方を採用する
|
||||
return await promiseAny([
|
||||
resolveAddrInner(domain, { family: 4 }),
|
||||
resolveAddrInner(domain, { family: 6 })
|
||||
]);
|
||||
return await promiseAny(promises);
|
||||
}
|
||||
|
||||
function resolveAddrInner(domain: string, options: IRunOptions = {}): Promise<string> {
|
||||
|
|
|
@ -85,8 +85,8 @@ export default define(meta, async (ps, me) => {
|
|||
case '-follower': query.orderBy('user.followersCount', 'ASC'); break;
|
||||
case '+createdAt': query.orderBy('user.createdAt', 'DESC'); break;
|
||||
case '-createdAt': query.orderBy('user.createdAt', 'ASC'); break;
|
||||
case '+updatedAt': query.orderBy('user.updatedAt', 'DESC'); break;
|
||||
case '-updatedAt': query.orderBy('user.updatedAt', 'ASC'); break;
|
||||
case '+updatedAt': query.andWhere('user.updatedAt IS NOT NULL').orderBy('user.updatedAt', 'DESC'); break;
|
||||
case '-updatedAt': query.andWhere('user.updatedAt IS NOT NULL').orderBy('user.updatedAt', 'ASC'); break;
|
||||
default: query.orderBy('user.id', 'ASC'); break;
|
||||
}
|
||||
|
||||
|
|
|
@ -302,16 +302,13 @@ export default class extends Channel {
|
|||
}
|
||||
|
||||
@autobind
|
||||
private async check(crc32: string) {
|
||||
private async check(crc32: string | number) {
|
||||
const game = await ReversiGames.findOne(this.gameId!);
|
||||
if (game == null) throw new Error('game not found');
|
||||
|
||||
if (!game.isStarted) return;
|
||||
|
||||
// 互換性のため
|
||||
if (game.crc32 == null) return;
|
||||
|
||||
if (crc32 !== game.crc32) {
|
||||
if (crc32.toString() !== game.crc32) {
|
||||
this.send('rescue', await ReversiGames.pack(game, this.user));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue