Merge branch 'develop'

This commit is contained in:
syuilo 2019-05-16 16:14:00 +09:00
commit 5ce412aeda
No known key found for this signature in database
GPG key ID: BDC4C49D06AB9D69
15 changed files with 118 additions and 24 deletions

View file

@ -54,6 +54,14 @@ mongodb:
8. master ブランチに戻す 8. master ブランチに戻す
9. enjoy 9. enjoy
11.15.0 (2019/05/16)
--------------------
### ✨Improvements
* 管理画面でreCAPTCHAのプレビューを表示するように
### 🐛Fixes
* オブジェクトストレージのリージョンの設定が反映されない問題を修正
11.14.0 (2019/05/16) 11.14.0 (2019/05/16)
-------------------- --------------------
### 注意 ### 注意

View file

@ -39,4 +39,4 @@ COPY --from=builder /misskey/node_modules ./node_modules
COPY --from=builder /misskey/built ./built COPY --from=builder /misskey/built ./built
COPY . ./ COPY . ./
CMD ["npm", "start"] CMD ["npm", "migrateandstart"]

View file

@ -873,7 +873,6 @@ admin/views/index.vue:
users: "Uživatelé" users: "Uživatelé"
federation: "Z fedivesmíru" federation: "Z fedivesmíru"
announcements: "Oznámení" announcements: "Oznámení"
hashtags: "Hashtagy"
queue: "Fronta úloh" queue: "Fronta úloh"
logs: "Logy" logs: "Logy"
back-to-misskey: "Zpět na Misskey" back-to-misskey: "Zpět na Misskey"
@ -898,6 +897,7 @@ admin/views/instance.vue:
maintainer-config: "Informace o administrátorovi" maintainer-config: "Informace o administrátorovi"
maintainer-name: "Jméno administrátora" maintainer-name: "Jméno administrátora"
maintainer-email: "Kontakt na administrátora" maintainer-email: "Kontakt na administrátora"
object-storage-endpoint: "Endpoint"
mb: "V megabajtech" mb: "V megabajtech"
recaptcha-config: "nastavení služby reCAPTCHA" recaptcha-config: "nastavení služby reCAPTCHA"
recaptcha-info: "reCAPTCHA token je povinný. Můžete jej získat na https://www.google.com/recaptcha/intro/" recaptcha-info: "reCAPTCHA token je povinný. Můžete jej získat na https://www.google.com/recaptcha/intro/"

View file

@ -1063,7 +1063,6 @@ admin/views/index.vue:
users: "Users" users: "Users"
federation: "Federation" federation: "Federation"
announcements: "Announcements" announcements: "Announcements"
hashtags: "Hashtags"
abuse: "Abuse" abuse: "Abuse"
queue: "Job Queue" queue: "Job Queue"
logs: "Logs" logs: "Logs"
@ -1098,6 +1097,7 @@ admin/views/instance.vue:
maintainer-name: "Administrator name" maintainer-name: "Administrator name"
maintainer-email: "Contact Administrator" maintainer-email: "Contact Administrator"
drive-config: "Drive settings" drive-config: "Drive settings"
object-storage-endpoint: "Endpoint"
cache-remote-files: "Cache remote files" cache-remote-files: "Cache remote files"
cache-remote-files-desc: "Without this parameter, all remote files are linked to their host server directly. This will be an effective solution to save your server storage, however make remote files invisible to users who set direct-link disabled, since no thumbnail will be generated, increase traffic. It is recommended that this parameter set enabled." cache-remote-files-desc: "Without this parameter, all remote files are linked to their host server directly. This will be an effective solution to save your server storage, however make remote files invisible to users who set direct-link disabled, since no thumbnail will be generated, increase traffic. It is recommended that this parameter set enabled."
local-drive-capacity-mb: "Volume of Drive per user" local-drive-capacity-mb: "Volume of Drive per user"

View file

@ -910,7 +910,6 @@ admin/views/index.vue:
moderators: "Moderadores" moderators: "Moderadores"
users: "Usuarios" users: "Usuarios"
federation: "Federado" federation: "Federado"
hashtags: "Hashtags"
queue: "Cola de trabajos" queue: "Cola de trabajos"
logs: "Registros" logs: "Registros"
back-to-misskey: "Volver a Misskey" back-to-misskey: "Volver a Misskey"

View file

@ -68,7 +68,7 @@ common:
explore: "Découvrir" explore: "Découvrir"
following: "Suit" following: "Suit"
followers: "Abonné·e·s" followers: "Abonné·e·s"
favorites: "Mettre cette note en favoris" favorites: "Favorites"
permissions: permissions:
"read:account": "Afficher les informations du compte" "read:account": "Afficher les informations du compte"
"write:account": "Mettre à jour les informations de votre compte" "write:account": "Mettre à jour les informations de votre compte"
@ -1046,7 +1046,6 @@ admin/views/index.vue:
users: "Utilisateurs" users: "Utilisateurs"
federation: "Fédération" federation: "Fédération"
announcements: "Annonces" announcements: "Annonces"
hashtags: "Hashtags"
abuse: "Abus" abuse: "Abus"
queue: "File dattente" queue: "File dattente"
logs: "Journaux" logs: "Journaux"
@ -1073,14 +1072,19 @@ admin/views/instance.vue:
instance-name: "Nom de linstance" instance-name: "Nom de linstance"
instance-description: "Description de linstance" instance-description: "Description de linstance"
host: "Hôte" host: "Hôte"
icon-url: "URL de l'icône"
logo-url: "URL do logo"
banner-url: "URL de limage de la bannière" banner-url: "URL de limage de la bannière"
error-image-url: "URL de limage derreur" error-image-url: "URL de limage derreur"
languages: "Langue de linstance" languages: "Langue de linstance"
languages-desc: "Vous pouvez en définir plus dune, séparées par des espaces." languages-desc: "Vous pouvez en définir plus dune, séparées par des espaces."
tos-url: "URL des conditions d'utilisation"
repository-url: "URL du dépôt"
maintainer-config: "Informations de ladministrateur" maintainer-config: "Informations de ladministrateur"
maintainer-name: "Nom de ladministrateur" maintainer-name: "Nom de ladministrateur"
maintainer-email: "Contact administratif" maintainer-email: "Contact administratif"
drive-config: "Paramètres du lecteur" drive-config: "Paramètres du lecteur"
object-storage-endpoint: "Point de terminaison"
cache-remote-files: "Mettre en cache des fichiers distants" cache-remote-files: "Mettre en cache des fichiers distants"
local-drive-capacity-mb: "Volume du lecteur par utilisateur" local-drive-capacity-mb: "Volume du lecteur par utilisateur"
remote-drive-capacity-mb: "Volume du lecteur par utilisateur distant" remote-drive-capacity-mb: "Volume du lecteur par utilisateur distant"
@ -1474,8 +1478,11 @@ mobile/views/components/ui.nav.vue:
mobile/views/pages/drive.vue: mobile/views/pages/drive.vue:
contextmenu: contextmenu:
upload: "Téléverser un fichier" upload: "Téléverser un fichier"
url-upload: "Transférer un fichier depuis une URL"
create-folder: "Créer un dossier" create-folder: "Créer un dossier"
rename-folder: "Renommer le dossier" rename-folder: "Renommer le dossier"
move-folder: "Déplacer ce dossier"
delete-folder: "Supprimer ce dossier"
mobile/views/pages/user-lists.vue: mobile/views/pages/user-lists.vue:
title: "Listes" title: "Listes"
mobile/views/pages/signup.vue: mobile/views/pages/signup.vue:
@ -1584,6 +1591,7 @@ dev/views/apps.vue:
create-app: "Créer une app" create-app: "Créer une app"
app-missing: "Aucune application" app-missing: "Aucune application"
dev/views/new-app.vue: dev/views/new-app.vue:
new-app: "Nouvelle application"
create-app: "Création dune application" create-app: "Création dune application"
app-name: "Nom de lapplication" app-name: "Nom de lapplication"
app-name-desc: "Le nom de votre application" app-name-desc: "Le nom de votre application"
@ -1616,7 +1624,9 @@ pages:
enter-variable-name: "Veuillez choisir un nom de variable" enter-variable-name: "Veuillez choisir un nom de variable"
the-variable-name-is-already-used: "Cette variable est déjà utilisée" the-variable-name-is-already-used: "Cette variable est déjà utilisée"
content-blocks: "Contenu du cadre" content-blocks: "Contenu du cadre"
input-blocks: "Entrée"
special-blocks: "Spécial" special-blocks: "Spécial"
post-from-post-form: "Publier ce contenu"
posted-from-post-form: "Publié !" posted-from-post-form: "Publié !"
blocks: blocks:
text: "Texte" text: "Texte"
@ -1653,11 +1663,15 @@ pages:
_counter: _counter:
name: "Nom de la variable" name: "Nom de la variable"
text: "Titre" text: "Titre"
inc: "Augmenter le chiffre"
_button: _button:
text: "Titre" text: "Titre"
action: "L'opération lorsque le bouton sera pressé"
_action: _action:
dialog: "Afficher une fenêtre de dialogue"
_dialog: _dialog:
content: "Contenu" content: "Contenu"
resetRandom: "Réinitialiser le nombre aléatoire"
script: script:
categories: categories:
flow: "Contrôle" flow: "Contrôle"
@ -1736,13 +1750,20 @@ pages:
arg1: "Listes" arg1: "Listes"
_dailyRandomPick: _dailyRandomPick:
arg1: "Listes" arg1: "Listes"
_seedRannum:
arg2: "Min"
arg3: "Max"
_seedRandomPick: _seedRandomPick:
arg2: "Listes" arg2: "Listes"
pick: "Sélectionner dans la liste"
_pick: _pick:
arg1: "Listes" arg1: "Listes"
arg2: "Position"
number: "Numérique" number: "Numérique"
stringToNumber: "Chaîne en chiffres"
_stringToNumber: _stringToNumber:
arg1: "Texte" arg1: "Texte"
numberToString: "Chiffres en chaîne"
_numberToString: _numberToString:
arg1: "Numérique" arg1: "Numérique"
_splitStrByLine: _splitStrByLine:
@ -1750,6 +1771,7 @@ pages:
ref: "Variables" ref: "Variables"
fn: "Fonction" fn: "Fonction"
_fn: _fn:
slots: "Emplacement"
arg1: "Sortie" arg1: "Sortie"
for: "Répéter" for: "Répéter"
types: types:

View file

@ -1253,8 +1253,9 @@ admin/views/instance.vue:
recaptcha-config: "reCAPTCHAの設定" recaptcha-config: "reCAPTCHAの設定"
recaptcha-info: "reCAPTCHAを有効にする場合、reCAPTCHAトークンを取得する必要があります。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してください。" recaptcha-info: "reCAPTCHAを有効にする場合、reCAPTCHAトークンを取得する必要があります。https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してください。"
enable-recaptcha: "reCAPTCHAを有効にする" enable-recaptcha: "reCAPTCHAを有効にする"
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "サイトキー"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "シークレットキー"
recaptcha-preview: "プレビュー"
hidden-tags: "非表示ハッシュタグ" hidden-tags: "非表示ハッシュタグ"
hidden-tags-info: "集計から除外するハッシュタグを改行で区切って記述します。" hidden-tags-info: "集計から除外するハッシュタグを改行で区切って記述します。"
external-service-integration-config: "外部サービス連携" external-service-integration-config: "外部サービス連携"

View file

@ -836,7 +836,6 @@ admin/views/index.vue:
users: "ユーザー" users: "ユーザー"
federation: "連合" federation: "連合"
announcements: "知っといてや" announcements: "知っといてや"
hashtags: "ハッシュタグ"
back-to-misskey: "Misskeyに戻る" back-to-misskey: "Misskeyに戻る"
admin/views/dashboard.vue: admin/views/dashboard.vue:
dashboard: "ダッシュボード" dashboard: "ダッシュボード"
@ -861,6 +860,7 @@ admin/views/instance.vue:
maintainer-name: "管理者名" maintainer-name: "管理者名"
maintainer-email: "管理者の連絡先" maintainer-email: "管理者の連絡先"
drive-config: "ドライブの設定" drive-config: "ドライブの設定"
object-storage-endpoint: "エンドポイント"
cache-remote-files: "リモートのファイルをキャッシュする" cache-remote-files: "リモートのファイルをキャッシュする"
cache-remote-files-desc: "この設定を無効にすると、リモートファイルをこっちで保管せずに直接リンク張るようになるで。サーバーのストレージは軽くやろうけど、プライバシー設定で直リンクを向こうにしとるユーザーはファイルが見れへんし、サムネイルが無いから通信量が増えたりするから、普通はオンにしといてな。" cache-remote-files-desc: "この設定を無効にすると、リモートファイルをこっちで保管せずに直接リンク張るようになるで。サーバーのストレージは軽くやろうけど、プライバシー設定で直リンクを向こうにしとるユーザーはファイルが見れへんし、サムネイルが無いから通信量が増えたりするから、普通はオンにしといてな。"
local-drive-capacity-mb: "ローカルユーザーひとりあたりのドライブ容量" local-drive-capacity-mb: "ローカルユーザーひとりあたりのドライブ容量"

View file

@ -1065,7 +1065,6 @@ admin/views/index.vue:
users: "사용자" users: "사용자"
federation: "연합" federation: "연합"
announcements: "공지사항" announcements: "공지사항"
hashtags: "해시태그"
abuse: "스팸 신고" abuse: "스팸 신고"
queue: "작업 대기열" queue: "작업 대기열"
logs: "로그" logs: "로그"
@ -1105,6 +1104,7 @@ admin/views/instance.vue:
maintainer-name: "관리자 이름" maintainer-name: "관리자 이름"
maintainer-email: "관리자 연락처" maintainer-email: "관리자 연락처"
drive-config: "드라이브 설정" drive-config: "드라이브 설정"
object-storage-endpoint: "엔드포인트"
cache-remote-files: "원격 파일을 캐시" cache-remote-files: "원격 파일을 캐시"
cache-remote-files-desc: "이 설정을 해지하면 원격 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 프라이버시 설정에서 직접 링크를 무효로 설정한 사용자에게는 파일이 보이지 않거나, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다. 일반적으로 이 설정을 ON으로 두는 것을 추천합니다." cache-remote-files-desc: "이 설정을 해지하면 원격 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 프라이버시 설정에서 직접 링크를 무효로 설정한 사용자에게는 파일이 보이지 않거나, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다. 일반적으로 이 설정을 ON으로 두는 것을 추천합니다."
local-drive-capacity-mb: "로컬 사용자 한 명당 드라이브 용량" local-drive-capacity-mb: "로컬 사용자 한 명당 드라이브 용량"

View file

@ -855,7 +855,6 @@ admin/views/index.vue:
moderators: "Moderatorzy" moderators: "Moderatorzy"
users: "Użytkownicy" users: "Użytkownicy"
announcements: "Ogłoszenia" announcements: "Ogłoszenia"
hashtags: "Hashtagi"
admin/views/dashboard.vue: admin/views/dashboard.vue:
dashboard: "Kokpit" dashboard: "Kokpit"
accounts: "Konta" accounts: "Konta"

View file

@ -145,7 +145,7 @@ common:
profile: "个人资料" profile: "个人资料"
notification: "通知" notification: "通知"
apps: "应用程序" apps: "应用程序"
tags: "标签" tags: "哈希标签"
mute-and-block: "屏蔽/拉黑" mute-and-block: "屏蔽/拉黑"
blocking: "拉黑" blocking: "拉黑"
security: "安全性" security: "安全性"
@ -168,7 +168,7 @@ common:
use-avatar-reversi-stones: "用头像作为黑白棋的棋子" use-avatar-reversi-stones: "用头像作为黑白棋的棋子"
disable-animated-mfm: "在帖子中禁用动画文本" disable-animated-mfm: "在帖子中禁用动画文本"
disable-showing-animated-images: "不播放动画" disable-showing-animated-images: "不播放动画"
suggest-recent-hashtags: "在帖子表单上显示最近流行的主题标签" suggest-recent-hashtags: "在帖子表单上显示最近流行的哈希标签"
always-show-nsfw: "总是显示 NSFW 的内容" always-show-nsfw: "总是显示 NSFW 的内容"
always-mark-nsfw: "总是用 NSFW 来标记附件" always-mark-nsfw: "总是用 NSFW 来标记附件"
show-full-acct: "不要从用户名中忽略主机名" show-full-acct: "不要从用户名中忽略主机名"
@ -297,7 +297,7 @@ common:
server: "服务器信息" server: "服务器信息"
nav: "导航" nav: "导航"
tips: "提示" tips: "提示"
hashtags: "标签" hashtags: "哈希标签"
queue: "队列" queue: "队列"
dev: "构建应用程序失败,请再试一次。" dev: "构建应用程序失败,请再试一次。"
ai-chan-kawaii: "小蓝真可爱" ai-chan-kawaii: "小蓝真可爱"
@ -469,9 +469,10 @@ common/views/components/nav.vue:
status: "状态" status: "状态"
wiki: "维基百科" wiki: "维基百科"
donors: "捐赠者" donors: "捐赠者"
repository: "码库" repository: "码库"
develop: "开发人员" develop: "开发人员"
feedback: "反馈" feedback: "反馈"
tos: "服务条款"
common/views/components/note-menu.vue: common/views/components/note-menu.vue:
mention: "提到" mention: "提到"
detail: "详细信息" detail: "详细信息"
@ -584,6 +585,8 @@ common/views/components/signup.vue:
password-matched: "确认" password-matched: "确认"
password-not-matched: "密码不一致" password-not-matched: "密码不一致"
recaptcha: "验证" recaptcha: "验证"
agree-to: "同意{0}"
tos: "服务条款"
create: "创建一个账户" create: "创建一个账户"
some-error: "由于某种原因,创建帐户失败。请再试一次。" some-error: "由于某种原因,创建帐户失败。请再试一次。"
common/views/components/special-message.vue: common/views/components/special-message.vue:
@ -713,7 +716,7 @@ common/views/widgets/posts-monitor.vue:
title: "投稿表格" title: "投稿表格"
toggle: "切换视图" toggle: "切换视图"
common/views/widgets/hashtags.vue: common/views/widgets/hashtags.vue:
title: "标签" title: "哈希标签"
common/views/widgets/server.vue: common/views/widgets/server.vue:
title: "服务器信息" title: "服务器信息"
toggle: "切换显示" toggle: "切换显示"
@ -1016,8 +1019,8 @@ desktop/views/components/timeline.vue:
mentions: "提到的" mentions: "提到的"
messages: "直接发布" messages: "直接发布"
list: "列表" list: "列表"
hashtag: "标签" hashtag: "哈希标签"
add-tag-timeline: "添加标签" add-tag-timeline: "添加哈希标签"
add-list: "添加列表" add-list: "添加列表"
list-name: "列表名称" list-name: "列表名称"
desktop/views/components/ui.header.vue: desktop/views/components/ui.header.vue:
@ -1063,7 +1066,6 @@ admin/views/index.vue:
users: "用户" users: "用户"
federation: "联合" federation: "联合"
announcements: "公告" announcements: "公告"
hashtags: "标签"
abuse: "举报垃圾信息" abuse: "举报垃圾信息"
queue: "作业队列" queue: "作业队列"
logs: "登录" logs: "登录"
@ -1090,14 +1092,34 @@ admin/views/instance.vue:
instance-name: "实例名称" instance-name: "实例名称"
instance-description: "实例介绍" instance-description: "实例介绍"
host: "主机名" host: "主机名"
icon-url: "图标URL"
logo-url: "Logo URL"
banner-url: "背景图片地址" banner-url: "背景图片地址"
error-image-url: "无效的图像URL" error-image-url: "无效的图像URL"
languages: "实例语言" languages: "实例语言"
languages-desc: "您可以添加多个,以空格分隔。" languages-desc: "您可以添加多个,以空格分隔。"
tos-url: "服务条款URL"
repository-url: "源码库URL"
feedback-url: "反馈URL"
maintainer-config: "管理员信息" maintainer-config: "管理员信息"
maintainer-name: "管理员名称" maintainer-name: "管理员名称"
maintainer-email: "联系管理员" maintainer-email: "联系管理员"
advanced-config: "其他设置"
note-and-tl: "帖子和时间线"
drive-config: "网盘设置" drive-config: "网盘设置"
use-object-storage: "使用对象存储"
object-storage-base-url: "URL"
object-storage-bucket: "存储空间名"
object-storage-prefix: "前缀"
object-storage-endpoint: "端点"
object-storage-region: "区域"
object-storage-port: "端口"
object-storage-access-key: "访问密钥"
object-storage-secret-key: "密钥"
object-storage-use-ssl: "使用 SSL"
object-storage-s3-info: "使用Amazon S3作为对象存储时请确认{0}相关“终端”和“区域”的设置。"
object-storage-s3-info-here: "这里"
object-storage-gcs-info: "将Google Cloud Storage用作对象存储时请将“终端”设置为storage.googleapis.com并将“区域”留空。"
cache-remote-files: "远程文件缓存" cache-remote-files: "远程文件缓存"
cache-remote-files-desc: "如果没有此参数,则所有远程文件都将直接链接到其主机服务器。 这将是保存服务器存储的有效解决方案,但是对于设置禁用直接链接的用户而言,远程文件不可见,因为不会生成缩略图,从而增加流量。 建议启用此参数集。" cache-remote-files-desc: "如果没有此参数,则所有远程文件都将直接链接到其主机服务器。 这将是保存服务器存储的有效解决方案,但是对于设置禁用直接链接的用户而言,远程文件不可见,因为不会生成缩略图,从而增加流量。 建议启用此参数集。"
local-drive-capacity-mb: "每个用户的网盘空间" local-drive-capacity-mb: "每个用户的网盘空间"
@ -1108,6 +1130,9 @@ admin/views/instance.vue:
enable-recaptcha: "启用 reCAPTCHA\n(请注意, 此功能在中国大陆不可用. 如果启用, 可能导致无法正常使用登录或注册等功能)" enable-recaptcha: "启用 reCAPTCHA\n(请注意, 此功能在中国大陆不可用. 如果启用, 可能导致无法正常使用登录或注册等功能)"
recaptcha-site-key: "reCAPTCHA site key" recaptcha-site-key: "reCAPTCHA site key"
recaptcha-secret-key: "reCAPTCHA secret key" recaptcha-secret-key: "reCAPTCHA secret key"
hidden-tags: "隐藏哈希标签"
hidden-tags-info: "使用换行符分隔要从集合中排除的哈希标签。"
external-service-integration-config: "连接外部服务"
twitter-integration-config: "连接到Twitter的设置" twitter-integration-config: "连接到Twitter的设置"
twitter-integration-info: "设置返回的URL{url}。" twitter-integration-info: "设置返回的URL{url}。"
enable-twitter-integration: "启用连接到Twitter" enable-twitter-integration: "启用连接到Twitter"
@ -1139,6 +1164,7 @@ admin/views/instance.vue:
save: "保存" save: "保存"
saved: "保存完毕" saved: "保存完毕"
pinned-users: "置顶用户" pinned-users: "置顶用户"
pinned-users-info: "描述您要置顶的用户,以换行符分隔。"
email-config: "电子邮件服务器设置" email-config: "电子邮件服务器设置"
email-config-info: "用于确认电子邮件和密码重置等。" email-config-info: "用于确认电子邮件和密码重置等。"
enable-email: "启用电子邮件送递" enable-email: "启用电子邮件送递"
@ -1224,6 +1250,8 @@ admin/views/users.vue:
unsilence-confirm: "解除屏蔽?" unsilence-confirm: "解除屏蔽?"
update-remote-user: "更新远程用户信息" update-remote-user: "更新远程用户信息"
remote-user-updated: "远程用户信息已更新" remote-user-updated: "远程用户信息已更新"
delete-all-files: "删除所有文件"
delete-all-files-confirm: "删除所有文件吗?"
users: users:
title: "用户" title: "用户"
sort: sort:
@ -1299,6 +1327,7 @@ admin/views/federation.vue:
latest-request-received-at: "上次收到的请求" latest-request-received-at: "上次收到的请求"
remove-all-following: "取消所有关注" remove-all-following: "取消所有关注"
remove-all-following-info: "取消{host}的所有关注者。当实例不存在时执行。" remove-all-following-info: "取消{host}的所有关注者。当实例不存在时执行。"
delete-all-files: "删除所有文件"
block: "拉黑" block: "拉黑"
marked-as-closed: "标记为已关闭" marked-as-closed: "标记为已关闭"
lookup: "查询" lookup: "查询"
@ -1346,6 +1375,7 @@ admin/views/federation.vue:
hour: "每小时" hour: "每小时"
day: "每天" day: "每天"
blocked-hosts: "拉黑" blocked-hosts: "拉黑"
blocked-hosts-info: "描述您要阻止的主机,以换行符分隔。"
desktop/views/pages/welcome.vue: desktop/views/pages/welcome.vue:
about: "更多信息..." about: "更多信息..."
timeline: "时间线" timeline: "时间线"
@ -1367,7 +1397,7 @@ desktop/views/pages/search.vue:
not-available: "在此实例的设置中关闭搜索功能。" not-available: "在此实例的设置中关闭搜索功能。"
not-found: "没有找到“{q}”的帖子" not-found: "没有找到“{q}”的帖子"
desktop/views/pages/tag.vue: desktop/views/pages/tag.vue:
no-posts-found: "没有找到带有主题标签“{q}”的帖子" no-posts-found: "没有找到带有哈希标签“{q}”的帖子"
desktop/views/pages/user-list.users.vue: desktop/views/pages/user-list.users.vue:
users: "用户" users: "用户"
add-user: "添加用户" add-user: "添加用户"
@ -1443,7 +1473,7 @@ mobile/views/components/drive.file-detail.vue:
download: "下载" download: "下载"
rename: "重命名" rename: "重命名"
move: "移动" move: "移动"
hash: "Hash (md5)" hash: "哈希(md5)"
exif: "EXIF" exif: "EXIF"
nsfw: "阅读注意" nsfw: "阅读注意"
mark-as-sensitive: "标记为“敏感”" mark-as-sensitive: "标记为“敏感”"
@ -1530,7 +1560,7 @@ mobile/views/pages/home.vue:
mentions: "Mentions" mentions: "Mentions"
messages: "直接发布" messages: "直接发布"
mobile/views/pages/tag.vue: mobile/views/pages/tag.vue:
no-posts-found: "没有找到带有主题标签“{q}”的帖子" no-posts-found: "没有找到带有哈希标签“{q}”的帖子"
mobile/views/pages/widgets.vue: mobile/views/pages/widgets.vue:
dashboard: "仪表盘" dashboard: "仪表盘"
widgets-hints: "您可以添加/删除/重新排列小部件。 要移动小部件,请拖动“三”。 点击“×”删除小部件。 某些小部件可以通过点击来更改显示。" widgets-hints: "您可以添加/删除/重新排列小部件。 要移动小部件,请拖动“三”。 点击“×”删除小部件。 某些小部件可以通过点击来更改显示。"
@ -1582,7 +1612,7 @@ deck:
home: "首页" home: "首页"
local: "Local" local: "Local"
hybrid: "社交" hybrid: "社交"
hashtag: "标签" hashtag: "哈希标签"
global: "Global" global: "Global"
mentions: "Mentions" mentions: "Mentions"
direct: "直接发布" direct: "直接发布"

View file

@ -1,7 +1,7 @@
{ {
"name": "misskey", "name": "misskey",
"author": "syuilo <i@syuilo.com>", "author": "syuilo <i@syuilo.com>",
"version": "11.14.0", "version": "11.15.0",
"codename": "daybreak", "codename": "daybreak",
"repository": { "repository": {
"type": "git", "type": "git",
@ -14,6 +14,7 @@
"init": "node ./built/init.js", "init": "node ./built/init.js",
"ormconfig": "node ./built/ormconfig.js", "ormconfig": "node ./built/ormconfig.js",
"migrate": "npm run ormconfig && ts-node ./node_modules/typeorm/cli.js migration:run", "migrate": "npm run ormconfig && ts-node ./node_modules/typeorm/cli.js migration:run",
"migrateandstart": "npm run migrate && npm run start",
"build": "webpack && gulp build", "build": "webpack && gulp build",
"webpack": "webpack", "webpack": "webpack",
"watch": "webpack --watch", "watch": "webpack --watch",

View file

@ -165,6 +165,10 @@
</ui-horizon-group> </ui-horizon-group>
</template> </template>
</section> </section>
<section v-if="enableRecaptcha && recaptchaSiteKey">
<header>{{ $t('recaptcha-preview') }}</header>
<div ref="recaptcha" style="margin: 16px 0 0 0;" :key="recaptchaSiteKey"></div>
</section>
<section> <section>
<ui-button @click="updateMeta"><fa :icon="faSave"/> {{ $t('save') }}</ui-button> <ui-button @click="updateMeta"><fa :icon="faSave"/> {{ $t('save') }}</ui-button>
</section> </section>
@ -376,6 +380,34 @@ export default Vue.extend({
}); });
}, },
mounted() {
const renderRecaptchaPreview = () => {
if (!(window as any).grecaptcha) return;
if (!this.$refs.recaptcha) return;
if (!this.recaptchaSiteKey) return;
(window as any).grecaptcha.render(this.$refs.recaptcha, {
sitekey: this.recaptchaSiteKey
});
};
window.onRecaotchaLoad = () => {
renderRecaptchaPreview();
};
const head = document.getElementsByTagName('head')[0];
const script = document.createElement('script');
script.setAttribute('src', 'https://www.google.com/recaptcha/api.js?onload=onRecaotchaLoad');
head.appendChild(script);
this.$watch('enableRecaptcha', () => {
renderRecaptchaPreview();
});
this.$watch('recaptchaSiteKey', () => {
renderRecaptchaPreview();
});
},
methods: { methods: {
invite() { invite() {
this.$root.api('admin/invite').then(x => { this.$root.api('admin/invite').then(x => {

View file

@ -199,6 +199,7 @@ async function upload(key: string, stream: fs.ReadStream | Buffer, type: string,
const minio = new Minio.Client({ const minio = new Minio.Client({
endPoint: meta.objectStorageEndpoint!, endPoint: meta.objectStorageEndpoint!,
region: meta.objectStorageRegion ? meta.objectStorageRegion : undefined,
port: meta.objectStoragePort ? meta.objectStoragePort : undefined, port: meta.objectStoragePort ? meta.objectStoragePort : undefined,
useSSL: meta.objectStorageUseSSL, useSSL: meta.objectStorageUseSSL,
accessKey: meta.objectStorageAccessKey!, accessKey: meta.objectStorageAccessKey!,

View file

@ -21,6 +21,7 @@ export default async function(file: DriveFile, isExpired = false) {
const minio = new Minio.Client({ const minio = new Minio.Client({
endPoint: meta.objectStorageEndpoint!, endPoint: meta.objectStorageEndpoint!,
region: meta.objectStorageRegion ? meta.objectStorageRegion : undefined,
port: meta.objectStoragePort ? meta.objectStoragePort : undefined, port: meta.objectStoragePort ? meta.objectStoragePort : undefined,
useSSL: meta.objectStorageUseSSL, useSSL: meta.objectStorageUseSSL,
accessKey: meta.objectStorageAccessKey!, accessKey: meta.objectStorageAccessKey!,