summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-11-07 12:28:53 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-11-07 12:28:53 +0900
commit001bb7bbcd688510223b4f355057cf73d264a7c4 (patch)
treef7e3cfd02d2f1f340f0fdf5c1f5bb2c65a06c63e /src
parent:art: (diff)
downloadsharkey-001bb7bbcd688510223b4f355057cf73d264a7c4.tar.gz
sharkey-001bb7bbcd688510223b4f355057cf73d264a7c4.tar.bz2
sharkey-001bb7bbcd688510223b4f355057cf73d264a7c4.zip
インスタンスの対象言語の設定を実装
Diffstat (limited to 'src')
-rw-r--r--src/client/app/admin/views/instance.vue6
-rw-r--r--src/misc/fetch-meta.ts1
-rw-r--r--src/models/meta.ts2
-rw-r--r--src/server/api/endpoints/admin/update-meta.ts11
-rw-r--r--src/server/api/endpoints/meta.ts1
5 files changed, 20 insertions, 1 deletions
diff --git a/src/client/app/admin/views/instance.vue b/src/client/app/admin/views/instance.vue
index 9d0204cfb8..815cea6313 100644
--- a/src/client/app/admin/views/instance.vue
+++ b/src/client/app/admin/views/instance.vue
@@ -6,6 +6,7 @@
<ui-input v-model="name">%i18n:@instance-name%</ui-input>
<ui-textarea v-model="description">%i18n:@instance-description%</ui-textarea>
<ui-input v-model="bannerUrl"><i slot="icon"><fa icon="link"/></i>%i18n:@banner-url%</ui-input>
+ <ui-input v-model="languages"><i slot="icon"><fa icon="language"/></i>%i18n:@languages%<span slot="desc">%i18n:@languages-desc%</span></ui-input>
</section>
<section class="fit-bottom">
<header><fa icon="headset"/> %i18n:@maintainer-config%</header>
@@ -31,7 +32,7 @@
<section>
<header><fa icon="ghost"/> %i18n:@proxy-account-config%</header>
<ui-info>%i18n:@proxy-account-info%</ui-info>
- <ui-input v-model="proxyAccount"><i slot="prefix">@</i>%i18n:@proxy-account-username%<span slot="desc">%i18n:@proxy-account-username-desc%</span></ui-input>
+ <ui-input v-model="proxyAccount"><span slot="prefix">@</span>%i18n:@proxy-account-username%<span slot="desc">%i18n:@proxy-account-username-desc%</span></ui-input>
<ui-info warn>%i18n:@proxy-account-warn%</ui-info>
</section>
<section>
@@ -68,6 +69,7 @@ export default Vue.extend({
bannerUrl: null,
name: null,
description: null,
+ languages: null,
cacheRemoteFiles: false,
localDriveCapacityMb: null,
remoteDriveCapacityMb: null,
@@ -87,6 +89,7 @@ export default Vue.extend({
this.bannerUrl = meta.bannerUrl;
this.name = meta.name;
this.description = meta.description;
+ this.languages = meta.langs.join(' ');
this.cacheRemoteFiles = meta.cacheRemoteFiles;
this.localDriveCapacityMb = meta.driveCapacityPerLocalUserMb;
this.remoteDriveCapacityMb = meta.driveCapacityPerRemoteUserMb;
@@ -119,6 +122,7 @@ export default Vue.extend({
bannerUrl: this.bannerUrl,
name: this.name,
description: this.description,
+ langs: this.languages.split(' '),
cacheRemoteFiles: this.cacheRemoteFiles,
localDriveCapacityMb: parseInt(this.localDriveCapacityMb, 10),
remoteDriveCapacityMb: parseInt(this.remoteDriveCapacityMb, 10),
diff --git a/src/misc/fetch-meta.ts b/src/misc/fetch-meta.ts
index fde244d1cc..e8ff1aca7c 100644
--- a/src/misc/fetch-meta.ts
+++ b/src/misc/fetch-meta.ts
@@ -2,6 +2,7 @@ import Meta, { IMeta } from '../models/meta';
const defaultMeta: any = {
name: 'Misskey',
+ langs: [],
cacheRemoteFiles: true,
localDriveCapacityMb: 256,
remoteDriveCapacityMb: 8,
diff --git a/src/models/meta.ts b/src/models/meta.ts
index 8d3a917dfb..f62117a0ba 100644
--- a/src/models/meta.ts
+++ b/src/models/meta.ts
@@ -119,6 +119,8 @@ export type IMeta = {
email?: string;
};
+ langs?: string[];
+
broadcasts?: any[];
stats?: {
diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts
index bcfa420ed8..d45a8759f2 100644
--- a/src/server/api/endpoints/admin/update-meta.ts
+++ b/src/server/api/endpoints/admin/update-meta.ts
@@ -130,6 +130,13 @@ export const meta = {
desc: {
'ja-JP': 'インスタンス管理者の連絡先メールアドレス'
}
+ },
+
+ langs: {
+ validator: $.arr($.str).optional,
+ desc: {
+ 'ja-JP': 'インスタンスの対象言語'
+ }
}
}
};
@@ -205,6 +212,10 @@ export default define(meta, (ps) => new Promise(async (res, rej) => {
set['maintainer.email'] = ps.maintainerEmail;
}
+ if (ps.langs !== undefined) {
+ set.langs = ps.langs;
+ }
+
await Meta.update({}, {
$set: set
}, { upsert: true });
diff --git a/src/server/api/endpoints/meta.ts b/src/server/api/endpoints/meta.ts
index 311e3d6692..625a9519d7 100644
--- a/src/server/api/endpoints/meta.ts
+++ b/src/server/api/endpoints/meta.ts
@@ -43,6 +43,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
name: instance.name,
description: instance.description,
+ langs: instance.langs,
secure: config.https != null,
machine: os.hostname(),