diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2020-12-26 10:47:36 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2020-12-26 10:47:36 +0900 |
| commit | 5a8cc7851b4af9ae4a0d7efc5b66b224bbe9b4c8 (patch) | |
| tree | 18f6338f1d5935c401298515d4e400d5a2306301 /src/client/pages/instance | |
| parent | wip (diff) | |
| download | misskey-5a8cc7851b4af9ae4a0d7efc5b66b224bbe9b4c8.tar.gz misskey-5a8cc7851b4af9ae4a0d7efc5b66b224bbe9b4c8.tar.bz2 misskey-5a8cc7851b4af9ae4a0d7efc5b66b224bbe9b4c8.zip | |
wip
Diffstat (limited to 'src/client/pages/instance')
| -rw-r--r-- | src/client/pages/instance/abuses.vue | 32 | ||||
| -rw-r--r-- | src/client/pages/instance/announcements.vue | 18 | ||||
| -rw-r--r-- | src/client/pages/instance/emoji-edit-dialog.vue | 10 | ||||
| -rw-r--r-- | src/client/pages/instance/emojis.vue | 20 | ||||
| -rw-r--r-- | src/client/pages/instance/federation.vue | 58 | ||||
| -rw-r--r-- | src/client/pages/instance/file-dialog.vue | 4 | ||||
| -rw-r--r-- | src/client/pages/instance/files.vue | 30 | ||||
| -rw-r--r-- | src/client/pages/instance/index.metrics.vue | 12 | ||||
| -rw-r--r-- | src/client/pages/instance/index.vue | 14 | ||||
| -rw-r--r-- | src/client/pages/instance/instance.vue | 74 | ||||
| -rw-r--r-- | src/client/pages/instance/logs.vue | 20 | ||||
| -rw-r--r-- | src/client/pages/instance/queue.chart.vue | 2 | ||||
| -rw-r--r-- | src/client/pages/instance/queue.vue | 8 | ||||
| -rw-r--r-- | src/client/pages/instance/relays.vue | 12 | ||||
| -rw-r--r-- | src/client/pages/instance/settings.vue | 174 | ||||
| -rw-r--r-- | src/client/pages/instance/user-dialog.vue | 20 | ||||
| -rw-r--r-- | src/client/pages/instance/users.vue | 58 |
17 files changed, 283 insertions, 283 deletions
diff --git a/src/client/pages/instance/abuses.vue b/src/client/pages/instance/abuses.vue index ed5390030c..030f5ae157 100644 --- a/src/client/pages/instance/abuses.vue +++ b/src/client/pages/instance/abuses.vue @@ -4,31 +4,31 @@ <div class="_content"> <div class="inputs" style="display: flex;"> <MkSelect v-model:value="state" style="margin: 0; flex: 1;"> - <template #label>{{ $t('state') }}</template> - <option value="all">{{ $t('all') }}</option> - <option value="unresolved">{{ $t('unresolved') }}</option> - <option value="resolved">{{ $t('resolved') }}</option> + <template #label>{{ $ts.state }}</template> + <option value="all">{{ $ts.all }}</option> + <option value="unresolved">{{ $ts.unresolved }}</option> + <option value="resolved">{{ $ts.resolved }}</option> </MkSelect> <MkSelect v-model:value="targetUserOrigin" style="margin: 0; flex: 1;"> - <template #label>{{ $t('targetUserOrigin') }}</template> - <option value="combined">{{ $t('all') }}</option> - <option value="local">{{ $t('local') }}</option> - <option value="remote">{{ $t('remote') }}</option> + <template #label>{{ $ts.targetUserOrigin }}</template> + <option value="combined">{{ $ts.all }}</option> + <option value="local">{{ $ts.local }}</option> + <option value="remote">{{ $ts.remote }}</option> </MkSelect> <MkSelect v-model:value="reporterOrigin" style="margin: 0; flex: 1;"> - <template #label>{{ $t('reporterOrigin') }}</template> - <option value="combined">{{ $t('all') }}</option> - <option value="local">{{ $t('local') }}</option> - <option value="remote">{{ $t('remote') }}</option> + <template #label>{{ $ts.reporterOrigin }}</template> + <option value="combined">{{ $ts.all }}</option> + <option value="local">{{ $ts.local }}</option> + <option value="remote">{{ $ts.remote }}</option> </MkSelect> </div> <!-- TODO <div class="inputs" style="display: flex; padding-top: 1.2em;"> <MkInput v-model:value="searchUsername" style="margin: 0; flex: 1;" type="text" spellcheck="false" @update:value="$refs.reports.reload()"> - <span>{{ $t('username') }}</span> + <span>{{ $ts.username }}</span> </MkInput> <MkInput v-model:value="searchHost" style="margin: 0; flex: 1;" type="text" spellcheck="false" @update:value="$refs.reports.reload()" :disabled="pagination.params().origin === 'local'"> - <span>{{ $t('host') }}</span> + <span>{{ $ts.host }}</span> </MkInput> </div> --> @@ -52,7 +52,7 @@ </div> <div class="_footer"> <div v-if="report.assignee">Assignee: <MkAcct :user="report.assignee"/></div> - <MkButton @click="resolve(report)" primary v-if="!report.resolved">{{ $t('abuseMarkAsResolved') }}</MkButton> + <MkButton @click="resolve(report)" primary v-if="!report.resolved">{{ $ts.abuseMarkAsResolved }}</MkButton> </div> </div> </MkPagination> @@ -84,7 +84,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('abuseReports'), + title: this.$ts.abuseReports, icon: faExclamationCircle }, searchUsername: '', diff --git a/src/client/pages/instance/announcements.vue b/src/client/pages/instance/announcements.vue index 0dd669d456..b859aae2ec 100644 --- a/src/client/pages/instance/announcements.vue +++ b/src/client/pages/instance/announcements.vue @@ -2,22 +2,22 @@ <div class="ztgjmzrw"> <div class="_section"> <div class="_content"> - <MkButton @click="add()" primary style="margin: 0 auto 16px auto;"><Fa :icon="faPlus"/> {{ $t('add') }}</MkButton> + <MkButton @click="add()" primary style="margin: 0 auto 16px auto;"><Fa :icon="faPlus"/> {{ $ts.add }}</MkButton> <section class="_card _vMargin announcements" v-for="announcement in announcements"> <div class="_content announcement"> <MkInput v-model:value="announcement.title"> - <span>{{ $t('title') }}</span> + <span>{{ $ts.title }}</span> </MkInput> <MkTextarea v-model:value="announcement.text"> - <span>{{ $t('text') }}</span> + <span>{{ $ts.text }}</span> </MkTextarea> <MkInput v-model:value="announcement.imageUrl"> - <span>{{ $t('imageUrl') }}</span> + <span>{{ $ts.imageUrl }}</span> </MkInput> <p v-if="announcement.reads">{{ $t('nUsersRead', { n: announcement.reads }) }}</p> <div class="buttons"> - <MkButton class="button" inline @click="save(announcement)" primary><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> - <MkButton class="button" inline @click="remove(announcement)"><Fa :icon="faTrashAlt"/> {{ $t('remove') }}</MkButton> + <MkButton class="button" inline @click="save(announcement)" primary><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> + <MkButton class="button" inline @click="remove(announcement)"><Fa :icon="faTrashAlt"/> {{ $ts.remove }}</MkButton> </div> </div> </section> @@ -45,7 +45,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('announcements'), + title: this.$ts.announcements, icon: faBroadcastTower }, announcements: [], @@ -86,7 +86,7 @@ export default defineComponent({ os.api('admin/announcements/create', announcement).then(() => { os.dialog({ type: 'success', - text: this.$t('saved') + text: this.$ts.saved }); }).catch(e => { os.dialog({ @@ -98,7 +98,7 @@ export default defineComponent({ os.api('admin/announcements/update', announcement).then(() => { os.dialog({ type: 'success', - text: this.$t('saved') + text: this.$ts.saved }); }).catch(e => { os.dialog({ diff --git a/src/client/pages/instance/emoji-edit-dialog.vue b/src/client/pages/instance/emoji-edit-dialog.vue index ed81f15f6e..179057d519 100644 --- a/src/client/pages/instance/emoji-edit-dialog.vue +++ b/src/client/pages/instance/emoji-edit-dialog.vue @@ -10,13 +10,13 @@ <div class="yigymqpb _section"> <img :src="emoji.url" class="img"/> - <MkInput v-model:value="name"><span>{{ $t('name') }}</span></MkInput> - <MkInput v-model:value="category" :datalist="categories"><span>{{ $t('category') }}</span></MkInput> + <MkInput v-model:value="name"><span>{{ $ts.name }}</span></MkInput> + <MkInput v-model:value="category" :datalist="categories"><span>{{ $ts.category }}</span></MkInput> <MkInput v-model:value="aliases"> - <span>{{ $t('tags') }}</span> - <template #desc>{{ $t('setMultipleBySeparatingWithSpace') }}</template> + <span>{{ $ts.tags }}</span> + <template #desc>{{ $ts.setMultipleBySeparatingWithSpace }}</template> </MkInput> - <MkButton danger @click="del()"><Fa :icon="faTrashAlt"/> {{ $t('delete') }}</MkButton> + <MkButton danger @click="del()"><Fa :icon="faTrashAlt"/> {{ $ts.delete }}</MkButton> </div> </XModalWindow> </template> diff --git a/src/client/pages/instance/emojis.vue b/src/client/pages/instance/emojis.vue index 01ea0d7f82..6a51813bb2 100644 --- a/src/client/pages/instance/emojis.vue +++ b/src/client/pages/instance/emojis.vue @@ -2,17 +2,17 @@ <div class="mk-instance-emojis"> <div class="_section" style="padding: 0;"> <MkTab v-model:value="tab"> - <option value="local">{{ $t('local') }}</option> - <option value="remote">{{ $t('remote') }}</option> + <option value="local">{{ $ts.local }}</option> + <option value="remote">{{ $ts.remote }}</option> </MkTab> </div> <div class="_section"> <div class="local" v-if="tab === 'local'"> - <MkButton primary @click="add" style="margin: 0 auto var(--margin) auto;"><Fa :icon="faPlus"/> {{ $t('addEmoji') }}</MkButton> - <MkInput v-model:value="query" :debounce="true" type="search"><template #icon><Fa :icon="faSearch"/></template><span>{{ $t('search') }}</span></MkInput> + <MkButton primary @click="add" style="margin: 0 auto var(--margin) auto;"><Fa :icon="faPlus"/> {{ $ts.addEmoji }}</MkButton> + <MkInput v-model:value="query" :debounce="true" type="search"><template #icon><Fa :icon="faSearch"/></template><span>{{ $ts.search }}</span></MkInput> <MkPagination :pagination="pagination" ref="emojis"> - <template #empty><span>{{ $t('noCustomEmojis') }}</span></template> + <template #empty><span>{{ $ts.noCustomEmojis }}</span></template> <template #default="{items}"> <div class="emojis"> <button class="emoji _panel _button" v-for="emoji in items" :key="emoji.id" @click="edit(emoji)"> @@ -28,10 +28,10 @@ </div> <div class="remote" v-else-if="tab === 'remote'"> - <MkInput v-model:value="queryRemote" :debounce="true" type="search"><template #icon><Fa :icon="faSearch"/></template><span>{{ $t('search') }}</span></MkInput> - <MkInput v-model:value="host" :debounce="true"><span>{{ $t('host') }}</span></MkInput> + <MkInput v-model:value="queryRemote" :debounce="true" type="search"><template #icon><Fa :icon="faSearch"/></template><span>{{ $ts.search }}</span></MkInput> + <MkInput v-model:value="host" :debounce="true"><span>{{ $ts.host }}</span></MkInput> <MkPagination :pagination="remotePagination" ref="remoteEmojis"> - <template #empty><span>{{ $t('noCustomEmojis') }}</span></template> + <template #empty><span>{{ $ts.noCustomEmojis }}</span></template> <template #default="{items}"> <div class="emojis"> <div class="emoji _panel _button" v-for="emoji in items" :key="emoji.id" @click="remoteMenu(emoji, $event)"> @@ -71,7 +71,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('customEmojis'), + title: this.$ts.customEmojis, icon: faLaugh, action: { icon: faPlus, @@ -142,7 +142,7 @@ export default defineComponent({ type: 'label', text: ':' + emoji.name + ':', }, { - text: this.$t('import'), + text: this.$ts.import, icon: faPlus, action: () => { this.im(emoji) } }], ev.currentTarget || ev.target); diff --git a/src/client/pages/instance/federation.vue b/src/client/pages/instance/federation.vue index f084feba1c..fe8ce8c2f4 100644 --- a/src/client/pages/instance/federation.vue +++ b/src/client/pages/instance/federation.vue @@ -2,38 +2,38 @@ <div> <div class="_section"> <div class="_content"> - <MkInput v-model:value="host" :debounce="true"><span>{{ $t('host') }}</span></MkInput> + <MkInput v-model:value="host" :debounce="true"><span>{{ $ts.host }}</span></MkInput> <div class="inputs" style="display: flex;"> <MkSelect v-model:value="state" style="margin: 0; flex: 1;"> - <template #label>{{ $t('state') }}</template> - <option value="all">{{ $t('all') }}</option> - <option value="federating">{{ $t('federating') }}</option> - <option value="subscribing">{{ $t('subscribing') }}</option> - <option value="publishing">{{ $t('publishing') }}</option> - <option value="suspended">{{ $t('suspended') }}</option> - <option value="blocked">{{ $t('blocked') }}</option> - <option value="notResponding">{{ $t('notResponding') }}</option> + <template #label>{{ $ts.state }}</template> + <option value="all">{{ $ts.all }}</option> + <option value="federating">{{ $ts.federating }}</option> + <option value="subscribing">{{ $ts.subscribing }}</option> + <option value="publishing">{{ $ts.publishing }}</option> + <option value="suspended">{{ $ts.suspended }}</option> + <option value="blocked">{{ $ts.blocked }}</option> + <option value="notResponding">{{ $ts.notResponding }}</option> </MkSelect> <MkSelect v-model:value="sort" style="margin: 0; flex: 1;"> - <template #label>{{ $t('sort') }}</template> - <option value="+pubSub">{{ $t('pubSub') }} ({{ $t('descendingOrder') }})</option> - <option value="-pubSub">{{ $t('pubSub') }} ({{ $t('ascendingOrder') }})</option> - <option value="+notes">{{ $t('notes') }} ({{ $t('descendingOrder') }})</option> - <option value="-notes">{{ $t('notes') }} ({{ $t('ascendingOrder') }})</option> - <option value="+users">{{ $t('users') }} ({{ $t('descendingOrder') }})</option> - <option value="-users">{{ $t('users') }} ({{ $t('ascendingOrder') }})</option> - <option value="+following">{{ $t('following') }} ({{ $t('descendingOrder') }})</option> - <option value="-following">{{ $t('following') }} ({{ $t('ascendingOrder') }})</option> - <option value="+followers">{{ $t('followers') }} ({{ $t('descendingOrder') }})</option> - <option value="-followers">{{ $t('followers') }} ({{ $t('ascendingOrder') }})</option> - <option value="+caughtAt">{{ $t('caughtAt') }} ({{ $t('descendingOrder') }})</option> - <option value="-caughtAt">{{ $t('caughtAt') }} ({{ $t('ascendingOrder') }})</option> - <option value="+lastCommunicatedAt">{{ $t('lastCommunicatedAt') }} ({{ $t('descendingOrder') }})</option> - <option value="-lastCommunicatedAt">{{ $t('lastCommunicatedAt') }} ({{ $t('ascendingOrder') }})</option> - <option value="+driveUsage">{{ $t('driveUsage') }} ({{ $t('descendingOrder') }})</option> - <option value="-driveUsage">{{ $t('driveUsage') }} ({{ $t('ascendingOrder') }})</option> - <option value="+driveFiles">{{ $t('driveFiles') }} ({{ $t('descendingOrder') }})</option> - <option value="-driveFiles">{{ $t('driveFiles') }} ({{ $t('ascendingOrder') }})</option> + <template #label>{{ $ts.sort }}</template> + <option value="+pubSub">{{ $ts.pubSub }} ({{ $ts.descendingOrder }})</option> + <option value="-pubSub">{{ $ts.pubSub }} ({{ $ts.ascendingOrder }})</option> + <option value="+notes">{{ $ts.notes }} ({{ $ts.descendingOrder }})</option> + <option value="-notes">{{ $ts.notes }} ({{ $ts.ascendingOrder }})</option> + <option value="+users">{{ $ts.users }} ({{ $ts.descendingOrder }})</option> + <option value="-users">{{ $ts.users }} ({{ $ts.ascendingOrder }})</option> + <option value="+following">{{ $ts.following }} ({{ $ts.descendingOrder }})</option> + <option value="-following">{{ $ts.following }} ({{ $ts.ascendingOrder }})</option> + <option value="+followers">{{ $ts.followers }} ({{ $ts.descendingOrder }})</option> + <option value="-followers">{{ $ts.followers }} ({{ $ts.ascendingOrder }})</option> + <option value="+caughtAt">{{ $ts.caughtAt }} ({{ $ts.descendingOrder }})</option> + <option value="-caughtAt">{{ $ts.caughtAt }} ({{ $ts.ascendingOrder }})</option> + <option value="+lastCommunicatedAt">{{ $ts.lastCommunicatedAt }} ({{ $ts.descendingOrder }})</option> + <option value="-lastCommunicatedAt">{{ $ts.lastCommunicatedAt }} ({{ $ts.ascendingOrder }})</option> + <option value="+driveUsage">{{ $ts.driveUsage }} ({{ $ts.descendingOrder }})</option> + <option value="-driveUsage">{{ $ts.driveUsage }} ({{ $ts.ascendingOrder }})</option> + <option value="+driveFiles">{{ $ts.driveFiles }} ({{ $ts.descendingOrder }})</option> + <option value="-driveFiles">{{ $ts.driveFiles }} ({{ $ts.ascendingOrder }})</option> </MkSelect> </div> </div> @@ -79,7 +79,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('federation'), + title: this.$ts.federation, icon: faGlobe }, host: '', diff --git a/src/client/pages/instance/file-dialog.vue b/src/client/pages/instance/file-dialog.vue index 79244349e3..87fcdb59ef 100644 --- a/src/client/pages/instance/file-dialog.vue +++ b/src/client/pages/instance/file-dialog.vue @@ -21,8 +21,8 @@ </div> <div class="_section"> <div class="_content"> - <MkButton full @click="showUser"><Fa :icon="faExternalLinkSquareAlt"/> {{ $t('user') }}</MkButton> - <MkButton full danger @click="del"><Fa :icon="faTrashAlt"/> {{ $t('delete') }}</MkButton> + <MkButton full @click="showUser"><Fa :icon="faExternalLinkSquareAlt"/> {{ $ts.user }}</MkButton> + <MkButton full danger @click="del"><Fa :icon="faTrashAlt"/> {{ $ts.delete }}</MkButton> </div> </div> <div class="_section" v-if="info"> diff --git a/src/client/pages/instance/files.vue b/src/client/pages/instance/files.vue index f0a8b69f81..f19e3fcd45 100644 --- a/src/client/pages/instance/files.vue +++ b/src/client/pages/instance/files.vue @@ -2,17 +2,17 @@ <div class="xrmjdkdw"> <div class="_section"> <div class="_content"> - <MkButton primary @click="clear()"><Fa :icon="faTrashAlt"/> {{ $t('clearCachedFiles') }}</MkButton> + <MkButton primary @click="clear()"><Fa :icon="faTrashAlt"/> {{ $ts.clearCachedFiles }}</MkButton> </div> </div> <div class="_section lookup"> - <div class="_title"><Fa :icon="faSearch"/> {{ $t('lookup') }}</div> + <div class="_title"><Fa :icon="faSearch"/> {{ $ts.lookup }}</div> <div class="_content"> <MkInput class="target" v-model:value="q" type="text" @enter="find()"> - <span>{{ $t('fileIdOrUrl') }}</span> + <span>{{ $ts.fileIdOrUrl }}</span> </MkInput> - <MkButton @click="find()" primary><Fa :icon="faSearch"/> {{ $t('lookup') }}</MkButton> + <MkButton @click="find()" primary><Fa :icon="faSearch"/> {{ $ts.lookup }}</MkButton> </div> </div> @@ -20,18 +20,18 @@ <div class="_content"> <div class="inputs" style="display: flex;"> <MkSelect v-model:value="origin" style="margin: 0; flex: 1;"> - <template #label>{{ $t('instance') }}</template> - <option value="combined">{{ $t('all') }}</option> - <option value="local">{{ $t('local') }}</option> - <option value="remote">{{ $t('remote') }}</option> + <template #label>{{ $ts.instance }}</template> + <option value="combined">{{ $ts.all }}</option> + <option value="local">{{ $ts.local }}</option> + <option value="remote">{{ $ts.remote }}</option> </MkSelect> <MkInput v-model:value="searchHost" :debounce="true" type="search" style="margin: 0; flex: 1;" :disabled="pagination.params().origin === 'local'"> - <span>{{ $t('host') }}</span> + <span>{{ $ts.host }}</span> </MkInput> </div> <div class="inputs" style="display: flex; padding-top: 1.2em;"> <MkInput v-model:value="type" :debounce="true" type="search" style="margin: 0; flex: 1;"> - <span>{{ $t('type') }}</span> + <span>{{ $ts.type }}</span> </MkInput> </div> <MkPagination :pagination="pagination" #default="{items}" class="urempief" ref="files"> @@ -43,14 +43,14 @@ </div> <div> <MkAcct v-if="file.user" :user="file.user"/> - <div v-else>{{ $t('system') }}</div> + <div v-else>{{ $ts.system }}</div> </div> <div> <span style="margin-right: 1em;">{{ file.type }}</span> <span>{{ bytes(file.size) }}</span> </div> <div> - <span>{{ $t('registeredDate') }}: <MkTime :time="file.createdAt" mode="detail"/></span> + <span>{{ $ts.registeredDate }}: <MkTime :time="file.createdAt" mode="detail"/></span> </div> </div> </button> @@ -84,7 +84,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('files'), + title: this.$ts.files, icon: faCloud }, q: null, @@ -120,7 +120,7 @@ export default defineComponent({ clear() { os.dialog({ type: 'warning', - text: this.$t('clearCachedFilesConfirm'), + text: this.$ts.clearCachedFilesConfirm, showCancelButton: true }).then(({ canceled }) => { if (canceled) return; @@ -142,7 +142,7 @@ export default defineComponent({ if (e.code === 'NO_SUCH_FILE') { os.dialog({ type: 'error', - text: this.$t('notFound') + text: this.$ts.notFound }); } }); diff --git a/src/client/pages/instance/index.metrics.vue b/src/client/pages/instance/index.metrics.vue index 4fd7e55ab1..9d990c2244 100644 --- a/src/client/pages/instance/index.metrics.vue +++ b/src/client/pages/instance/index.metrics.vue @@ -1,11 +1,11 @@ <template> <div> <MkFolder> - <template #header><Fa :icon="faHeartbeat"/> {{ $t('metrics') }}</template> + <template #header><Fa :icon="faHeartbeat"/> {{ $ts.metrics }}</template> <div class="_section" style="padding: 0 var(--margin);"> <div class="_content"> <MkContainer :body-togglable="false" class="_vMargin"> - <template #header><Fa :icon="faMicrochip"/>{{ $t('cpuAndMemory') }}</template> + <template #header><Fa :icon="faMicrochip"/>{{ $ts.cpuAndMemory }}</template> <!-- <template #func> <button class="_button" @click="resume" :disabled="!paused"><Fa :icon="faPlay"/></button> @@ -28,7 +28,7 @@ </MkContainer> <MkContainer :body-togglable="false" class="_vMargin"> - <template #header><Fa :icon="faHdd"/> {{ $t('disk') }}</template> + <template #header><Fa :icon="faHdd"/> {{ $ts.disk }}</template> <!-- <template #func> <button class="_button" @click="resume" :disabled="!paused"><Fa :icon="faPlay"/></button> @@ -51,7 +51,7 @@ </MkContainer> <MkContainer :body-togglable="false" class="_vMargin"> - <template #header><Fa :icon="faExchangeAlt"/> {{ $t('network') }}</template> + <template #header><Fa :icon="faExchangeAlt"/> {{ $ts.network }}</template> <!-- <template #func> <button class="_button" @click="resume" :disabled="!paused"><Fa :icon="faPlay"/></button> @@ -75,11 +75,11 @@ </MkFolder> <MkFolder> - <template #header><Fa :icon="faClipboardList"/> {{ $t('jobQueue') }}</template> + <template #header><Fa :icon="faClipboardList"/> {{ $ts.jobQueue }}</template> <div class="vkyrmkwb" :style="{ gridTemplateRows: queueHeight }"> <MkContainer :body-togglable="false" :scrollable="true" :resize-base-el="() => $el"> - <template #header><Fa :icon="faExclamationTriangle"/> {{ $t('delayed') }}</template> + <template #header><Fa :icon="faExclamationTriangle"/> {{ $ts.delayed }}</template> <div class="_content"> <div class="_keyValue" v-for="job in jobs" :key="job[0]"> diff --git a/src/client/pages/instance/index.vue b/src/client/pages/instance/index.vue index e9614acf70..e519ce743e 100644 --- a/src/client/pages/instance/index.vue +++ b/src/client/pages/instance/index.vue @@ -1,13 +1,13 @@ <template> <div v-if="meta" v-show="page === 'index'" class="xhexznfu _section"> <MkFolder> - <template #header><Fa :icon="faTachometerAlt"/> {{ $t('overview') }}</template> + <template #header><Fa :icon="faTachometerAlt"/> {{ $ts.overview }}</template> <div class="sboqnrfi" :style="{ gridTemplateRows: overviewHeight }"> <MkInstanceStats :chart-limit="300" :detailed="true" class="_vMargin" ref="stats"/> <MkContainer :body-togglable="true" class="_vMargin"> - <template #header><Fa :icon="faInfoCircle"/>{{ $t('instanceInfo') }}</template> + <template #header><Fa :icon="faInfoCircle"/>{{ $ts.instanceInfo }}</template> <div class="_content"> <div class="_keyValue"><b>Misskey</b><span>v{{ version }}</span></div> @@ -20,7 +20,7 @@ </MkContainer> <MkContainer :body-togglable="true" :scrollable="true" class="_vMargin" style="height: 300px;"> - <template #header><Fa :icon="faDatabase"/>{{ $t('database') }}</template> + <template #header><Fa :icon="faDatabase"/>{{ $ts.database }}</template> <div class="_content" v-if="dbInfo"> <table style="border-collapse: collapse; width: 100%;"> @@ -42,7 +42,7 @@ </div> <div v-if="page === 'logs'" class="_section"> <MkFolder> - <template #header><Fa :icon="faStream"/> {{ $t('logs') }}</template> + <template #header><Fa :icon="faStream"/> {{ $ts.logs }}</template> <div class="_keyValue" v-for="log in modLogs"> <b>{{ log.type }}</b><span>by {{ log.user.username }}</span><MkTime :time="log.createdAt" style="opacity: 0.7;"/> @@ -89,21 +89,21 @@ export default defineComponent({ tabs: [{ id: 'index', title: null, - tooltip: this.$t('instance'), + tooltip: this.$ts.instance, icon: faServer, onClick: () => { this.page = 'index'; }, selected: computed(() => this.page === 'index') }, { id: 'metrics', title: null, - tooltip: this.$t('metrics'), + tooltip: this.$ts.metrics, icon: faHeartbeat, onClick: () => { this.page = 'metrics'; }, selected: computed(() => this.page === 'metrics') }, { id: 'logs', title: null, - tooltip: this.$t('logs'), + tooltip: this.$ts.logs, icon: faStream, onClick: () => { this.page = 'logs'; }, selected: computed(() => this.page === 'logs') diff --git a/src/client/pages/instance/instance.vue b/src/client/pages/instance/instance.vue index 6e626cb178..bcf18cfff0 100644 --- a/src/client/pages/instance/instance.vue +++ b/src/client/pages/instance/instance.vue @@ -10,11 +10,11 @@ <div class="_table section"> <div class="_row"> <div class="_cell"> - <div class="_label">{{ $t('software') }}</div> + <div class="_label">{{ $ts.software }}</div> <div class="_data">{{ instance.softwareName || '?' }}</div> </div> <div class="_cell"> - <div class="_label">{{ $t('version') }}</div> + <div class="_label">{{ $ts.version }}</div> <div class="_data">{{ instance.softwareVersion || '?' }}</div> </div> </div> @@ -22,77 +22,77 @@ <div class="_table data section"> <div class="_row"> <div class="_cell"> - <div class="_label">{{ $t('registeredAt') }}</div> + <div class="_label">{{ $ts.registeredAt }}</div> <div class="_data">{{ new Date(instance.caughtAt).toLocaleString() }} (<MkTime :time="instance.caughtAt"/>)</div> </div> </div> <div class="_row"> <div class="_cell"> - <div class="_label">{{ $t('following') }}</div> + <div class="_label">{{ $ts.following }}</div> <button class="_data _textButton" @click="showFollowing()">{{ number(instance.followingCount) }}</button> </div> <div class="_cell"> - <div class="_label">{{ $t('followers') }}</div> + <div class="_label">{{ $ts.followers }}</div> <button class="_data _textButton" @click="showFollowers()">{{ number(instance.followersCount) }}</button> </div> </div> <div class="_row"> <div class="_cell"> - <div class="_label">{{ $t('users') }}</div> + <div class="_label">{{ $ts.users }}</div> <button class="_data _textButton" @click="showUsers()">{{ number(instance.usersCount) }}</button> </div> <div class="_cell"> - <div class="_label">{{ $t('notes') }}</div> + <div class="_label">{{ $ts.notes }}</div> <div class="_data">{{ number(instance.notesCount) }}</div> </div> </div> <div class="_row"> <div class="_cell"> - <div class="_label">{{ $t('files') }}</div> + <div class="_label">{{ $ts.files }}</div> <div class="_data">{{ number(instance.driveFiles) }}</div> </div> <div class="_cell"> - <div class="_label">{{ $t('storageUsage') }}</div> + <div class="_label">{{ $ts.storageUsage }}</div> <div class="_data">{{ bytes(instance.driveUsage) }}</div> </div> </div> <div class="_row"> <div class="_cell"> - <div class="_label">{{ $t('latestRequestSentAt') }}</div> + <div class="_label">{{ $ts.latestRequestSentAt }}</div> <div class="_data"><MkTime v-if="instance.latestRequestSentAt" :time="instance.latestRequestSentAt"/><span v-else>N/A</span></div> </div> <div class="_cell"> - <div class="_label">{{ $t('latestStatus') }}</div> + <div class="_label">{{ $ts.latestStatus }}</div> <div class="_data">{{ instance.latestStatus ? instance.latestStatus : 'N/A' }}</div> </div> </div> <div class="_row"> <div class="_cell"> - <div class="_label">{{ $t('latestRequestReceivedAt') }}</div> + <div class="_label">{{ $ts.latestRequestReceivedAt }}</div> <div class="_data"><MkTime v-if="instance.latestRequestReceivedAt" :time="instance.latestRequestReceivedAt"/><span v-else>N/A</span></div> </div> </div> </div> <div class="chart"> <div class="header"> - <span class="label">{{ $t('charts') }}</span> + <span class="label">{{ $ts.charts }}</span> <div class="selects"> <MkSelect v-model:value="chartSrc" style="margin: 0; flex: 1;"> - <option value="requests">{{ $t('_instanceCharts.requests') }}</option> - <option value="users">{{ $t('_instanceCharts.users') }}</option> - <option value="users-total">{{ $t('_instanceCharts.usersTotal') }}</option> - <option value="notes">{{ $t('_instanceCharts.notes') }}</option> - <option value="notes-total">{{ $t('_instanceCharts.notesTotal') }}</option> - <option value="ff">{{ $t('_instanceCharts.ff') }}</option> - <option value="ff-total">{{ $t('_instanceCharts.ffTotal') }}</option> - <option value="drive-usage">{{ $t('_instanceCharts.cacheSize') }}</option> - <option value="drive-usage-total">{{ $t('_instanceCharts.cacheSizeTotal') }}</option> - <option value="drive-files">{{ $t('_instanceCharts.files') }}</option> - <option value="drive-files-total">{{ $t('_instanceCharts.filesTotal') }}</option> + <option value="requests">{{ $ts._instanceCharts.requests }}</option> + <option value="users">{{ $ts._instanceCharts.users }}</option> + <option value="users-total">{{ $ts._instanceCharts.usersTotal }}</option> + <option value="notes">{{ $ts._instanceCharts.notes }}</option> + <option value="notes-total">{{ $ts._instanceCharts.notesTotal }}</option> + <option value="ff">{{ $ts._instanceCharts.ff }}</option> + <option value="ff-total">{{ $ts._instanceCharts.ffTotal }}</option> + <option value="drive-usage">{{ $ts._instanceCharts.cacheSize }}</option> + <option value="drive-usage-total">{{ $ts._instanceCharts.cacheSizeTotal }}</option> + <option value="drive-files">{{ $ts._instanceCharts.files }}</option> + <option value="drive-files-total">{{ $ts._instanceCharts.filesTotal }}</option> </MkSelect> <MkSelect v-model:value="chartSpan" style="margin: 0;"> - <option value="hour">{{ $t('perHour') }}</option> - <option value="day">{{ $t('perDay') }}</option> + <option value="hour">{{ $ts.perHour }}</option> + <option value="day">{{ $ts.perDay }}</option> </MkSelect> </div> </div> @@ -101,21 +101,21 @@ </div> </div> <div class="operations section"> - <span class="label">{{ $t('operations') }}</span> - <MkSwitch v-model:value="isSuspended" class="switch">{{ $t('stopActivityDelivery') }}</MkSwitch> - <MkSwitch :value="isBlocked" class="switch" @update:value="changeBlock">{{ $t('blockThisInstance') }}</MkSwitch> + <span class="label">{{ $ts.operations }}</span> + <MkSwitch v-model:value="isSuspended" class="switch">{{ $ts.stopActivityDelivery }}</MkSwitch> + <MkSwitch :value="isBlocked" class="switch" @update:value="changeBlock">{{ $ts.blockThisInstance }}</MkSwitch> <details> - <summary>{{ $t('deleteAllFiles') }}</summary> - <MkButton @click="deleteAllFiles()" style="margin: 0.5em 0 0.5em 0;"><Fa :icon="faTrashAlt"/> {{ $t('deleteAllFiles') }}</MkButton> + <summary>{{ $ts.deleteAllFiles }}</summary> + <MkButton @click="deleteAllFiles()" style="margin: 0.5em 0 0.5em 0;"><Fa :icon="faTrashAlt"/> {{ $ts.deleteAllFiles }}</MkButton> </details> <details> - <summary>{{ $t('removeAllFollowing') }}</summary> - <MkButton @click="removeAllFollowing()" style="margin: 0.5em 0 0.5em 0;"><Fa :icon="faMinusCircle"/> {{ $t('removeAllFollowing') }}</MkButton> + <summary>{{ $ts.removeAllFollowing }}</summary> + <MkButton @click="removeAllFollowing()" style="margin: 0.5em 0 0.5em 0;"><Fa :icon="faMinusCircle"/> {{ $ts.removeAllFollowing }}</MkButton> <MkInfo warn>{{ $t('removeAllFollowingDescription', { host: instance.host }) }}</MkInfo> </details> </div> <details class="metadata section"> - <summary class="label">{{ $t('metadata') }}</summary> + <summary class="label">{{ $ts.metadata }}</summary> <pre><code>{{ JSON.stringify(instance, null, 2) }}</code></pre> </details> </div> @@ -442,7 +442,7 @@ export default defineComponent({ showFollowing() { os.modal(MkUsersDialog, { - title: this.$t('instanceFollowing'), + title: this.$ts.instanceFollowing, pagination: { endpoint: 'federation/following', limit: 10, @@ -456,7 +456,7 @@ export default defineComponent({ showFollowers() { os.modal(MkUsersDialog, { - title: this.$t('instanceFollowers'), + title: this.$ts.instanceFollowers, pagination: { endpoint: 'federation/followers', limit: 10, @@ -470,7 +470,7 @@ export default defineComponent({ showUsers() { os.modal(MkUsersDialog, { - title: this.$t('instanceUsers'), + title: this.$ts.instanceUsers, pagination: { endpoint: 'federation/users', limit: 10, diff --git a/src/client/pages/instance/logs.vue b/src/client/pages/instance/logs.vue index 5743deec6a..73862e9da5 100644 --- a/src/client/pages/instance/logs.vue +++ b/src/client/pages/instance/logs.vue @@ -2,16 +2,16 @@ <div class="_section"> <div class="_inputs"> <MkInput v-model:value="logDomain" :debounce="true"> - <span>{{ $t('domain') }}</span> + <span>{{ $ts.domain }}</span> </MkInput> <MkSelect v-model:value="logLevel"> - <template #label>{{ $t('level') }}</template> - <option value="all">{{ $t('levels.all') }}</option> - <option value="info">{{ $t('levels.info') }}</option> - <option value="success">{{ $t('levels.success') }}</option> - <option value="warning">{{ $t('levels.warning') }}</option> - <option value="error">{{ $t('levels.error') }}</option> - <option value="debug">{{ $t('levels.debug') }}</option> + <template #label>{{ $ts.level }}</template> + <option value="all">{{ $ts.levels.all }}</option> + <option value="info">{{ $ts.levels.info }}</option> + <option value="success">{{ $ts.levels.success }}</option> + <option value="warning">{{ $ts.levels.warning }}</option> + <option value="error">{{ $ts.levels.error }}</option> + <option value="debug">{{ $ts.levels.debug }}</option> </MkSelect> </div> @@ -24,7 +24,7 @@ </code> </div> - <MkButton @click="deleteAllLogs()" primary><Fa :icon="faTrashAlt"/> {{ $t('deleteAll') }}</MkButton> + <MkButton @click="deleteAllLogs()" primary><Fa :icon="faTrashAlt"/> {{ $ts.deleteAll }}</MkButton> </div> </template> @@ -49,7 +49,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('serverLogs'), + title: this.$ts.serverLogs, icon: faStream }, logs: [], diff --git a/src/client/pages/instance/queue.chart.vue b/src/client/pages/instance/queue.chart.vue index 6a43d14a6b..2a8259b9df 100644 --- a/src/client/pages/instance/queue.chart.vue +++ b/src/client/pages/instance/queue.chart.vue @@ -19,7 +19,7 @@ <span style="margin-left: 8px; opacity: 0.7;">({{ number(job[1]) }} jobs)</span> </div> </div> - <span v-else style="opacity: 0.5;">{{ $t('noJobs') }}</span> + <span v-else style="opacity: 0.5;">{{ $ts.noJobs }}</span> </div> </section> </template> diff --git a/src/client/pages/instance/queue.vue b/src/client/pages/instance/queue.vue index e824e8ae28..b8ad875683 100644 --- a/src/client/pages/instance/queue.vue +++ b/src/client/pages/instance/queue.vue @@ -8,7 +8,7 @@ </XQueue> <section class="_section"> <div class="_content"> - <MkButton @click="clear()"><Fa :icon="faTrashAlt"/> {{ $t('clearQueue') }}</MkButton> + <MkButton @click="clear()"><Fa :icon="faTrashAlt"/> {{ $ts.clearQueue }}</MkButton> </div> </section> </div> @@ -31,7 +31,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('jobQueue'), + title: this.$ts.jobQueue, icon: faExchangeAlt, }, connection: os.stream.useSharedConnection('queueStats'), @@ -56,8 +56,8 @@ export default defineComponent({ clear() { os.dialog({ type: 'warning', - title: this.$t('clearQueueConfirmTitle'), - text: this.$t('clearQueueConfirmText'), + title: this.$ts.clearQueueConfirmTitle, + text: this.$ts.clearQueueConfirmText, showCancelButton: true }).then(({ canceled }) => { if (canceled) return; diff --git a/src/client/pages/instance/relays.vue b/src/client/pages/instance/relays.vue index 885f861290..f1c98355d3 100644 --- a/src/client/pages/instance/relays.vue +++ b/src/client/pages/instance/relays.vue @@ -1,21 +1,21 @@ <template> <div class="relaycxt"> <section class="_section add"> - <div class="_title"><Fa :icon="faPlus"/> {{ $t('addRelay') }}</div> + <div class="_title"><Fa :icon="faPlus"/> {{ $ts.addRelay }}</div> <div class="_content"> <MkInput v-model:value="inbox"> - <span>{{ $t('inboxUrl') }}</span> + <span>{{ $ts.inboxUrl }}</span> </MkInput> - <MkButton @click="add(inbox)" primary><Fa :icon="faPlus"/> {{ $t('add') }}</MkButton> + <MkButton @click="add(inbox)" primary><Fa :icon="faPlus"/> {{ $ts.add }}</MkButton> </div> </section> <section class="_section relays"> - <div class="_title"><Fa :icon="faProjectDiagram"/> {{ $t('addedRelays') }}</div> + <div class="_title"><Fa :icon="faProjectDiagram"/> {{ $ts.addedRelays }}</div> <div class="_content relay" v-for="relay in relays" :key="relay.inbox"> <div>{{ relay.inbox }}</div> <div>{{ $t(`_relayStatus.${relay.status}`) }}</div> - <MkButton class="button" inline @click="remove(relay.inbox)"><Fa :icon="faTrashAlt"/> {{ $t('remove') }}</MkButton> + <MkButton class="button" inline @click="remove(relay.inbox)"><Fa :icon="faTrashAlt"/> {{ $ts.remove }}</MkButton> </div> </section> </div> @@ -38,7 +38,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('relays'), + title: this.$ts.relays, icon: faProjectDiagram, }, relays: [], diff --git a/src/client/pages/instance/settings.vue b/src/client/pages/instance/settings.vue index 62271b3ebe..761044b011 100644 --- a/src/client/pages/instance/settings.vue +++ b/src/client/pages/instance/settings.vue @@ -1,110 +1,110 @@ <template> <div v-if="meta" class="_section"> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faInfoCircle"/> {{ $t('basicInfo') }}</div> + <div class="_title"><Fa :icon="faInfoCircle"/> {{ $ts.basicInfo }}</div> <div class="_content"> - <MkInput v-model:value="name">{{ $t('instanceName') }}</MkInput> - <MkTextarea v-model:value="description">{{ $t('instanceDescription') }}</MkTextarea> - <MkInput v-model:value="iconUrl"><template #icon><Fa :icon="faLink"/></template>{{ $t('iconUrl') }}</MkInput> - <MkInput v-model:value="bannerUrl"><template #icon><Fa :icon="faLink"/></template>{{ $t('bannerUrl') }}</MkInput> - <MkInput v-model:value="backgroundImageUrl"><template #icon><Fa :icon="faLink"/></template>{{ $t('backgroundImageUrl') }}</MkInput> - <MkInput v-model:value="logoImageUrl"><template #icon><Fa :icon="faLink"/></template>{{ $t('logoImageUrl') }}</MkInput> - <MkInput v-model:value="tosUrl"><template #icon><Fa :icon="faLink"/></template>{{ $t('tosUrl') }}</MkInput> - <MkInput v-model:value="maintainerName">{{ $t('maintainerName') }}</MkInput> - <MkInput v-model:value="maintainerEmail" type="email"><template #icon><Fa :icon="faEnvelope"/></template>{{ $t('maintainerEmail') }}</MkInput> + <MkInput v-model:value="name">{{ $ts.instanceName }}</MkInput> + <MkTextarea v-model:value="description">{{ $ts.instanceDescription }}</MkTextarea> + <MkInput v-model:value="iconUrl"><template #icon><Fa :icon="faLink"/></template>{{ $ts.iconUrl }}</MkInput> + <MkInput v-model:value="bannerUrl"><template #icon><Fa :icon="faLink"/></template>{{ $ts.bannerUrl }}</MkInput> + <MkInput v-model:value="backgroundImageUrl"><template #icon><Fa :icon="faLink"/></template>{{ $ts.backgroundImageUrl }}</MkInput> + <MkInput v-model:value="logoImageUrl"><template #icon><Fa :icon="faLink"/></template>{{ $ts.logoImageUrl }}</MkInput> + <MkInput v-model:value="tosUrl"><template #icon><Fa :icon="faLink"/></template>{{ $ts.tosUrl }}</MkInput> + <MkInput v-model:value="maintainerName">{{ $ts.maintainerName }}</MkInput> + <MkInput v-model:value="maintainerEmail" type="email"><template #icon><Fa :icon="faEnvelope"/></template>{{ $ts.maintainerEmail }}</MkInput> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> - <MkInput v-model:value="pinnedClipId">{{ $t('pinnedClipId') }}</MkInput> + <MkInput v-model:value="pinnedClipId">{{ $ts.pinnedClipId }}</MkInput> <section class="_card _vMargin"> <div class="_content"> - <MkInput v-model:value="maxNoteTextLength" type="number" :save="() => save()"><template #icon><Fa :icon="faPencilAlt"/></template>{{ $t('maxNoteTextLength') }}</MkInput> + <MkInput v-model:value="maxNoteTextLength" type="number" :save="() => save()"><template #icon><Fa :icon="faPencilAlt"/></template>{{ $ts.maxNoteTextLength }}</MkInput> </div> <div class="_content"> - <MkSwitch v-model:value="enableLocalTimeline" @update:value="save()">{{ $t('enableLocalTimeline') }}</MkSwitch> - <MkSwitch v-model:value="enableGlobalTimeline" @update:value="save()">{{ $t('enableGlobalTimeline') }}</MkSwitch> - <MkInfo>{{ $t('disablingTimelinesInfo') }}</MkInfo> + <MkSwitch v-model:value="enableLocalTimeline" @update:value="save()">{{ $ts.enableLocalTimeline }}</MkSwitch> + <MkSwitch v-model:value="enableGlobalTimeline" @update:value="save()">{{ $ts.enableGlobalTimeline }}</MkSwitch> + <MkInfo>{{ $ts.disablingTimelinesInfo }}</MkInfo> </div> <div class="_content"> - <MkSwitch v-model:value="useStarForReactionFallback" @update:value="save()">{{ $t('useStarForReactionFallback') }}</MkSwitch> + <MkSwitch v-model:value="useStarForReactionFallback" @update:value="save()">{{ $ts.useStarForReactionFallback }}</MkSwitch> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faUser"/> {{ $t('registration') }}</div> + <div class="_title"><Fa :icon="faUser"/> {{ $ts.registration }}</div> <div class="_content"> - <MkSwitch v-model:value="enableRegistration" @update:value="save()">{{ $t('enableRegistration') }}</MkSwitch> - <MkButton v-if="!enableRegistration" @click="invite">{{ $t('invite') }}</MkButton> + <MkSwitch v-model:value="enableRegistration" @update:value="save()">{{ $ts.enableRegistration }}</MkSwitch> + <MkButton v-if="!enableRegistration" @click="invite">{{ $ts.invite }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faShieldAlt"/> {{ $t('hcaptcha') }}</div> + <div class="_title"><Fa :icon="faShieldAlt"/> {{ $ts.hcaptcha }}</div> <div class="_content"> - <MkSwitch v-model:value="enableHcaptcha">{{ $t('enableHcaptcha') }}</MkSwitch> + <MkSwitch v-model:value="enableHcaptcha">{{ $ts.enableHcaptcha }}</MkSwitch> <template v-if="enableHcaptcha"> - <MkInput v-model:value="hcaptchaSiteKey" :disabled="!enableHcaptcha"><template #icon><Fa :icon="faKey"/></template>{{ $t('hcaptchaSiteKey') }}</MkInput> - <MkInput v-model:value="hcaptchaSecretKey" :disabled="!enableHcaptcha"><template #icon><Fa :icon="faKey"/></template>{{ $t('hcaptchaSecretKey') }}</MkInput> + <MkInput v-model:value="hcaptchaSiteKey" :disabled="!enableHcaptcha"><template #icon><Fa :icon="faKey"/></template>{{ $ts.hcaptchaSiteKey }}</MkInput> + <MkInput v-model:value="hcaptchaSecretKey" :disabled="!enableHcaptcha"><template #icon><Fa :icon="faKey"/></template>{{ $ts.hcaptchaSecretKey }}</MkInput> </template> </div> <div class="_content" v-if="enableHcaptcha"> - <header>{{ $t('preview') }}</header> + <header>{{ $ts.preview }}</header> <captcha v-if="enableHcaptcha" provider="hcaptcha" :sitekey="hcaptchaSiteKey || '10000000-ffff-ffff-ffff-000000000001'"/> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faShieldAlt"/> {{ $t('recaptcha') }}</div> + <div class="_title"><Fa :icon="faShieldAlt"/> {{ $ts.recaptcha }}</div> <div class="_content"> - <MkSwitch v-model:value="enableRecaptcha" ref="enableRecaptcha">{{ $t('enableRecaptcha') }}</MkSwitch> + <MkSwitch v-model:value="enableRecaptcha" ref="enableRecaptcha">{{ $ts.enableRecaptcha }}</MkSwitch> <template v-if="enableRecaptcha"> - <MkInput v-model:value="recaptchaSiteKey" :disabled="!enableRecaptcha"><template #icon><Fa :icon="faKey"/></template>{{ $t('recaptchaSiteKey') }}</MkInput> - <MkInput v-model:value="recaptchaSecretKey" :disabled="!enableRecaptcha"><template #icon><Fa :icon="faKey"/></template>{{ $t('recaptchaSecretKey') }}</MkInput> + <MkInput v-model:value="recaptchaSiteKey" :disabled="!enableRecaptcha"><template #icon><Fa :icon="faKey"/></template>{{ $ts.recaptchaSiteKey }}</MkInput> + <MkInput v-model:value="recaptchaSecretKey" :disabled="!enableRecaptcha"><template #icon><Fa :icon="faKey"/></template>{{ $ts.recaptchaSecretKey }}</MkInput> </template> </div> <div class="_content" v-if="enableRecaptcha && recaptchaSiteKey"> - <header>{{ $t('preview') }}</header> + <header>{{ $ts.preview }}</header> <captcha v-if="enableRecaptcha" provider="grecaptcha" :sitekey="recaptchaSiteKey"/> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faEnvelope" /> {{ $t('emailConfig') }}</div> + <div class="_title"><Fa :icon="faEnvelope" /> {{ $ts.emailConfig }}</div> <div class="_content"> - <MkSwitch v-model:value="enableEmail" @update:value="save()">{{ $t('enableEmail') }}<template #desc>{{ $t('emailConfigInfo') }}</template></MkSwitch> - <MkInput v-model:value="email" type="email" :disabled="!enableEmail">{{ $t('email') }}</MkInput> - <div><b>{{ $t('smtpConfig') }}</b></div> + <MkSwitch v-model:value="enableEmail" @update:value="save()">{{ $ts.enableEmail }}<template #desc>{{ $ts.emailConfigInfo }}</template></MkSwitch> + <MkInput v-model:value="email" type="email" :disabled="!enableEmail">{{ $ts.email }}</MkInput> + <div><b>{{ $ts.smtpConfig }}</b></div> <div class="_inputs"> - <MkInput v-model:value="smtpHost" :disabled="!enableEmail">{{ $t('smtpHost') }}</MkInput> - <MkInput v-model:value="smtpPort" type="number" :disabled="!enableEmail">{{ $t('smtpPort') }}</MkInput> + <MkInput v-model:value="smtpHost" :disabled="!enableEmail">{{ $ts.smtpHost }}</MkInput> + <MkInput v-model:value="smtpPort" type="number" :disabled="!enableEmail">{{ $ts.smtpPort }}</MkInput> </div> <div class="_inputs"> - <MkInput v-model:value="smtpUser" :disabled="!enableEmail">{{ $t('smtpUser') }}</MkInput> - <MkInput v-model:value="smtpPass" type="password" :disabled="!enableEmail">{{ $t('smtpPass') }}</MkInput> + <MkInput v-model:value="smtpUser" :disabled="!enableEmail">{{ $ts.smtpUser }}</MkInput> + <MkInput v-model:value="smtpPass" type="password" :disabled="!enableEmail">{{ $ts.smtpPass }}</MkInput> </div> - <MkInfo>{{ $t('emptyToDisableSmtpAuth') }}</MkInfo> - <MkSwitch v-model:value="smtpSecure" :disabled="!enableEmail">{{ $t('smtpSecure') }}<template #desc>{{ $t('smtpSecureInfo') }}</template></MkSwitch> + <MkInfo>{{ $ts.emptyToDisableSmtpAuth }}</MkInfo> + <MkSwitch v-model:value="smtpSecure" :disabled="!enableEmail">{{ $ts.smtpSecure }}<template #desc>{{ $ts.smtpSecureInfo }}</template></MkSwitch> <div> - <MkButton :disabled="!enableEmail" primary inline @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> - <MkButton :disabled="!enableEmail" inline @click="testEmail()">{{ $t('testEmail') }}</MkButton> + <MkButton :disabled="!enableEmail" primary inline @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> + <MkButton :disabled="!enableEmail" inline @click="testEmail()">{{ $ts.testEmail }}</MkButton> </div> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faBolt"/> {{ $t('serviceworker') }}</div> + <div class="_title"><Fa :icon="faBolt"/> {{ $ts.serviceworker }}</div> <div class="_content"> - <MkSwitch v-model:value="enableServiceWorker">{{ $t('enableServiceworker') }}<template #desc>{{ $t('serviceworkerInfo') }}</template></MkSwitch> + <MkSwitch v-model:value="enableServiceWorker">{{ $ts.enableServiceworker }}<template #desc>{{ $ts.serviceworkerInfo }}</template></MkSwitch> <template v-if="enableServiceWorker"> <div class="_inputs"> <MkInput v-model:value="swPublicKey" :disabled="!enableServiceWorker"><template #icon><Fa :icon="faKey"/></template>Public key</MkInput> @@ -113,100 +113,100 @@ </template> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faThumbtack"/> {{ $t('pinnedUsers') }}</div> + <div class="_title"><Fa :icon="faThumbtack"/> {{ $ts.pinnedUsers }}</div> <div class="_content"> <MkTextarea v-model:value="pinnedUsers"> - <template #desc>{{ $t('pinnedUsersDescription') }} <button class="_textButton" @click="addPinUser">{{ $t('addUser') }}</button></template> + <template #desc>{{ $ts.pinnedUsersDescription }} <button class="_textButton" @click="addPinUser">{{ $ts.addUser }}</button></template> </MkTextarea> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faThumbtack"/> {{ $t('pinnedPages') }}</div> + <div class="_title"><Fa :icon="faThumbtack"/> {{ $ts.pinnedPages }}</div> <div class="_content"> <MkTextarea v-model:value="pinnedPages"> - <template #desc>{{ $t('pinnedPagesDescription') }}</template> + <template #desc>{{ $ts.pinnedPagesDescription }}</template> </MkTextarea> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faCloud"/> {{ $t('files') }}</div> + <div class="_title"><Fa :icon="faCloud"/> {{ $ts.files }}</div> <div class="_content"> - <MkSwitch v-model:value="cacheRemoteFiles">{{ $t('cacheRemoteFiles') }}<template #desc>{{ $t('cacheRemoteFilesDescription') }}</template></MkSwitch> - <MkSwitch v-model:value="proxyRemoteFiles">{{ $t('proxyRemoteFiles') }}<template #desc>{{ $t('proxyRemoteFilesDescription') }}</template></MkSwitch> - <MkInput v-model:value="localDriveCapacityMb" type="number">{{ $t('driveCapacityPerLocalAccount') }}<template #suffix>MB</template><template #desc>{{ $t('inMb') }}</template></MkInput> - <MkInput v-model:value="remoteDriveCapacityMb" type="number" :disabled="!cacheRemoteFiles">{{ $t('driveCapacityPerRemoteAccount') }}<template #suffix>MB</template><template #desc>{{ $t('inMb') }}</template></MkInput> + <MkSwitch v-model:value="cacheRemoteFiles">{{ $ts.cacheRemoteFiles }}<template #desc>{{ $ts.cacheRemoteFilesDescription }}</template></MkSwitch> + <MkSwitch v-model:value="proxyRemoteFiles">{{ $ts.proxyRemoteFiles }}<template #desc>{{ $ts.proxyRemoteFilesDescription }}</template></MkSwitch> + <MkInput v-model:value="localDriveCapacityMb" type="number">{{ $ts.driveCapacityPerLocalAccount }}<template #suffix>MB</template><template #desc>{{ $ts.inMb }}</template></MkInput> + <MkInput v-model:value="remoteDriveCapacityMb" type="number" :disabled="!cacheRemoteFiles">{{ $ts.driveCapacityPerRemoteAccount }}<template #suffix>MB</template><template #desc>{{ $ts.inMb }}</template></MkInput> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faCloud"/> {{ $t('objectStorage') }}</div> + <div class="_title"><Fa :icon="faCloud"/> {{ $ts.objectStorage }}</div> <div class="_content"> - <MkSwitch v-model:value="useObjectStorage">{{ $t('useObjectStorage') }}</MkSwitch> + <MkSwitch v-model:value="useObjectStorage">{{ $ts.useObjectStorage }}</MkSwitch> <template v-if="useObjectStorage"> - <MkInput v-model:value="objectStorageBaseUrl" :disabled="!useObjectStorage">{{ $t('objectStorageBaseUrl') }}<template #desc>{{ $t('objectStorageBaseUrlDesc') }}</template></MkInput> + <MkInput v-model:value="objectStorageBaseUrl" :disabled="!useObjectStorage">{{ $ts.objectStorageBaseUrl }}<template #desc>{{ $ts.objectStorageBaseUrlDesc }}</template></MkInput> <div class="_inputs"> - <MkInput v-model:value="objectStorageBucket" :disabled="!useObjectStorage">{{ $t('objectStorageBucket') }}<template #desc>{{ $t('objectStorageBucketDesc') }}</template></MkInput> - <MkInput v-model:value="objectStoragePrefix" :disabled="!useObjectStorage">{{ $t('objectStoragePrefix') }}<template #desc>{{ $t('objectStoragePrefixDesc') }}</template></MkInput> + <MkInput v-model:value="objectStorageBucket" :disabled="!useObjectStorage">{{ $ts.objectStorageBucket }}<template #desc>{{ $ts.objectStorageBucketDesc }}</template></MkInput> + <MkInput v-model:value="objectStoragePrefix" :disabled="!useObjectStorage">{{ $ts.objectStoragePrefix }}<template #desc>{{ $ts.objectStoragePrefixDesc }}</template></MkInput> </div> - <MkInput v-model:value="objectStorageEndpoint" :disabled="!useObjectStorage">{{ $t('objectStorageEndpoint') }}<template #desc>{{ $t('objectStorageEndpointDesc') }}</template></MkInput> + <MkInput v-model:value="objectStorageEndpoint" :disabled="!useObjectStorage">{{ $ts.objectStorageEndpoint }}<template #desc>{{ $ts.objectStorageEndpointDesc }}</template></MkInput> <div class="_inputs"> - <MkInput v-model:value="objectStorageRegion" :disabled="!useObjectStorage">{{ $t('objectStorageRegion') }}<template #desc>{{ $t('objectStorageRegionDesc') }}</template></MkInput> + <MkInput v-model:value="objectStorageRegion" :disabled="!useObjectStorage">{{ $ts.objectStorageRegion }}<template #desc>{{ $ts.objectStorageRegionDesc }}</template></MkInput> </div> <div class="_inputs"> <MkInput v-model:value="objectStorageAccessKey" :disabled="!useObjectStorage"><template #icon><Fa :icon="faKey"/></template>Access key</MkInput> <MkInput v-model:value="objectStorageSecretKey" :disabled="!useObjectStorage"><template #icon><Fa :icon="faKey"/></template>Secret key</MkInput> </div> - <MkSwitch v-model:value="objectStorageUseSSL" :disabled="!useObjectStorage">{{ $t('objectStorageUseSSL') }}<template #desc>{{ $t('objectStorageUseSSLDesc') }}</template></MkSwitch> - <MkSwitch v-model:value="objectStorageUseProxy" :disabled="!useObjectStorage">{{ $t('objectStorageUseProxy') }}<template #desc>{{ $t('objectStorageUseProxyDesc') }}</template></MkSwitch> - <MkSwitch v-model:value="objectStorageSetPublicRead" :disabled="!useObjectStorage">{{ $t('objectStorageSetPublicRead') }}</MkSwitch> + <MkSwitch v-model:value="objectStorageUseSSL" :disabled="!useObjectStorage">{{ $ts.objectStorageUseSSL }}<template #desc>{{ $ts.objectStorageUseSSLDesc }}</template></MkSwitch> + <MkSwitch v-model:value="objectStorageUseProxy" :disabled="!useObjectStorage">{{ $ts.objectStorageUseProxy }}<template #desc>{{ $ts.objectStorageUseProxyDesc }}</template></MkSwitch> + <MkSwitch v-model:value="objectStorageSetPublicRead" :disabled="!useObjectStorage">{{ $ts.objectStorageSetPublicRead }}</MkSwitch> </template> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faGhost"/> {{ $t('proxyAccount') }}</div> + <div class="_title"><Fa :icon="faGhost"/> {{ $ts.proxyAccount }}</div> <div class="_content"> - <MkInput :value="proxyAccount ? proxyAccount.username : null" disabled><template #prefix>@</template>{{ $t('proxyAccount') }}<template #desc>{{ $t('proxyAccountDescription') }}</template></MkInput> - <MkButton primary @click="chooseProxyAccount">{{ $t('chooseProxyAccount') }}</MkButton> + <MkInput :value="proxyAccount ? proxyAccount.username : null" disabled><template #prefix>@</template>{{ $ts.proxyAccount }}<template #desc>{{ $ts.proxyAccountDescription }}</template></MkInput> + <MkButton primary @click="chooseProxyAccount">{{ $ts.chooseProxyAccount }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faBan"/> {{ $t('blockedInstances') }}</div> + <div class="_title"><Fa :icon="faBan"/> {{ $ts.blockedInstances }}</div> <div class="_content"> <MkTextarea v-model:value="blockedHosts"> - <template #desc>{{ $t('blockedInstancesDescription') }}</template> + <template #desc>{{ $ts.blockedInstancesDescription }}</template> </MkTextarea> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> <section class="_card _vMargin"> - <div class="_title"><Fa :icon="faShareAlt"/> {{ $t('integration') }}</div> + <div class="_title"><Fa :icon="faShareAlt"/> {{ $ts.integration }}</div> <div class="_content"> <header><Fa :icon="faTwitter"/> Twitter</header> - <MkSwitch v-model:value="enableTwitterIntegration">{{ $t('enable') }}</MkSwitch> + <MkSwitch v-model:value="enableTwitterIntegration">{{ $ts.enable }}</MkSwitch> <template v-if="enableTwitterIntegration"> <MkInfo>Callback URL: {{ `${url}/api/tw/cb` }}</MkInfo> <MkInput v-model:value="twitterConsumerKey" :disabled="!enableTwitterIntegration"><template #icon><Fa :icon="faKey"/></template>Consumer Key</MkInput> @@ -215,7 +215,7 @@ </div> <div class="_content"> <header><Fa :icon="faGithub"/> GitHub</header> - <MkSwitch v-model:value="enableGithubIntegration">{{ $t('enable') }}</MkSwitch> + <MkSwitch v-model:value="enableGithubIntegration">{{ $ts.enable }}</MkSwitch> <template v-if="enableGithubIntegration"> <MkInfo>Callback URL: {{ `${url}/api/gh/cb` }}</MkInfo> <MkInput v-model:value="githubClientId" :disabled="!enableGithubIntegration"><template #icon><Fa :icon="faKey"/></template>Client ID</MkInput> @@ -224,7 +224,7 @@ </div> <div class="_content"> <header><Fa :icon="faDiscord"/> Discord</header> - <MkSwitch v-model:value="enableDiscordIntegration">{{ $t('enable') }}</MkSwitch> + <MkSwitch v-model:value="enableDiscordIntegration">{{ $ts.enable }}</MkSwitch> <template v-if="enableDiscordIntegration"> <MkInfo>Callback URL: {{ `${url}/api/dc/cb` }}</MkInfo> <MkInput v-model:value="discordClientId" :disabled="!enableDiscordIntegration"><template #icon><Fa :icon="faKey"/></template>Client ID</MkInput> @@ -232,7 +232,7 @@ </template> </div> <div class="_footer"> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> @@ -240,7 +240,7 @@ <div class="_title"><Fa :icon="faArchway" /> Summaly Proxy</div> <div class="_content"> <MkInput v-model:value="summalyProxy">URL</MkInput> - <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $t('save') }}</MkButton> + <MkButton primary @click="save(true)"><Fa :icon="faSave"/> {{ $ts.save }}</MkButton> </div> </section> </div> @@ -274,7 +274,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('instance'), + title: this.$ts.instance, icon: faCog, }, meta: null, @@ -423,8 +423,8 @@ export default defineComponent({ os.dialog({ type: 'question', // warning だと間違って cancel するかもしれない showCancelButton: true, - title: this.$t('settingGuide'), - text: this.$t('avoidMultiCaptchaConfirm'), + title: this.$ts.settingGuide, + text: this.$ts.avoidMultiCaptchaConfirm, }).then(({ canceled }) => { if (canceled) { return; @@ -440,8 +440,8 @@ export default defineComponent({ os.dialog({ type: 'question', // warning だと間違って cancel するかもしれない showCancelButton: true, - title: this.$t('settingGuide'), - text: this.$t('avoidMultiCaptchaConfirm'), + title: this.$ts.settingGuide, + text: this.$ts.avoidMultiCaptchaConfirm, }).then(({ canceled }) => { if (canceled) { return; diff --git a/src/client/pages/instance/user-dialog.vue b/src/client/pages/instance/user-dialog.vue index 810db8c508..b690826d27 100644 --- a/src/client/pages/instance/user-dialog.vue +++ b/src/client/pages/instance/user-dialog.vue @@ -24,17 +24,17 @@ </div> <div class="_section"> <div class="_content"> - <MkSwitch v-if="user.host == null && $i.isAdmin && (moderator || !user.isAdmin)" @update:value="toggleModerator" v-model:value="moderator">{{ $t('moderator') }}</MkSwitch> - <MkSwitch @update:value="toggleSilence" v-model:value="silenced">{{ $t('silence') }}</MkSwitch> - <MkSwitch @update:value="toggleSuspend" v-model:value="suspended">{{ $t('suspend') }}</MkSwitch> + <MkSwitch v-if="user.host == null && $i.isAdmin && (moderator || !user.isAdmin)" @update:value="toggleModerator" v-model:value="moderator">{{ $ts.moderator }}</MkSwitch> + <MkSwitch @update:value="toggleSilence" v-model:value="silenced">{{ $ts.silence }}</MkSwitch> + <MkSwitch @update:value="toggleSuspend" v-model:value="suspended">{{ $ts.suspend }}</MkSwitch> </div> </div> <div class="_section"> <div class="_content"> - <MkButton full @click="openProfile"><Fa :icon="faExternalLinkSquareAlt"/> {{ $t('profile') }}</MkButton> - <MkButton full v-if="user.host != null" @click="updateRemoteUser"><Fa :icon="faSync"/> {{ $t('updateRemoteUser') }}</MkButton> - <MkButton full @click="resetPassword"><Fa :icon="faKey"/> {{ $t('resetPassword') }}</MkButton> - <MkButton full @click="deleteAllFiles" danger><Fa :icon="faTrashAlt"/> {{ $t('deleteAllFiles') }}</MkButton> + <MkButton full @click="openProfile"><Fa :icon="faExternalLinkSquareAlt"/> {{ $ts.profile }}</MkButton> + <MkButton full v-if="user.host != null" @click="updateRemoteUser"><Fa :icon="faSync"/> {{ $ts.updateRemoteUser }}</MkButton> + <MkButton full @click="resetPassword"><Fa :icon="faKey"/> {{ $ts.resetPassword }}</MkButton> + <MkButton full @click="deleteAllFiles" danger><Fa :icon="faTrashAlt"/> {{ $ts.deleteAllFiles }}</MkButton> </div> </div> <div class="_section"> @@ -139,7 +139,7 @@ export default defineComponent({ const confirm = await os.dialog({ type: 'warning', showCancelButton: true, - text: v ? this.$t('silenceConfirm') : this.$t('unsilenceConfirm'), + text: v ? this.$ts.silenceConfirm : this.$ts.unsilenceConfirm, }); if (confirm.canceled) { this.silenced = !v; @@ -153,7 +153,7 @@ export default defineComponent({ const confirm = await os.dialog({ type: 'warning', showCancelButton: true, - text: v ? this.$t('suspendConfirm') : this.$t('unsuspendConfirm'), + text: v ? this.$ts.suspendConfirm : this.$ts.unsuspendConfirm, }); if (confirm.canceled) { this.suspended = !v; @@ -172,7 +172,7 @@ export default defineComponent({ const confirm = await os.dialog({ type: 'warning', showCancelButton: true, - text: this.$t('deleteAllFilesConfirm'), + text: this.$ts.deleteAllFilesConfirm, }); if (confirm.canceled) return; const process = async () => { diff --git a/src/client/pages/instance/users.vue b/src/client/pages/instance/users.vue index 1bf12196ea..b2465991d8 100644 --- a/src/client/pages/instance/users.vue +++ b/src/client/pages/instance/users.vue @@ -2,53 +2,53 @@ <div class="mk-instance-users"> <div class="_section"> <div class="_content"> - <MkButton inline primary @click="addUser()"><Fa :icon="faPlus"/> {{ $t('addUser') }}</MkButton> + <MkButton inline primary @click="addUser()"><Fa :icon="faPlus"/> {{ $ts.addUser }}</MkButton> </div> </div> <div class="_section lookup"> - <div class="_title"><Fa :icon="faSearch"/> {{ $t('lookup') }}</div> + <div class="_title"><Fa :icon="faSearch"/> {{ $ts.lookup }}</div> <div class="_content"> <MkInput class="target" v-model:value="target" type="text" @enter="showUser()"> - <span>{{ $t('usernameOrUserId') }}</span> + <span>{{ $ts.usernameOrUserId }}</span> </MkInput> - <MkButton @click="showUser()" primary><Fa :icon="faSearch"/> {{ $t('lookup') }}</MkButton> + <MkButton @click="showUser()" primary><Fa :icon="faSearch"/> {{ $ts.lookup }}</MkButton> </div> </div> <div class="_section users"> - <div class="_title"><Fa :icon="faUsers"/> {{ $t('users') }}</div> + <div class="_title"><Fa :icon="faUsers"/> {{ $ts.users }}</div> <div class="_content"> <div class="inputs" style="display: flex;"> <MkSelect v-model:value="sort" style="margin: 0; flex: 1;"> - <template #label>{{ $t('sort') }}</template> - <option value="-createdAt">{{ $t('registeredDate') }} ({{ $t('ascendingOrder') }})</option> - <option value="+createdAt">{{ $t('registeredDate') }} ({{ $t('descendingOrder') }})</option> - <option value="-updatedAt">{{ $t('lastUsed') }} ({{ $t('ascendingOrder') }})</option> - <option value="+updatedAt">{{ $t('lastUsed') }} ({{ $t('descendingOrder') }})</option> + <template #label>{{ $ts.sort }}</template> + <option value="-createdAt">{{ $ts.registeredDate }} ({{ $ts.ascendingOrder }})</option> + <option value="+createdAt">{{ $ts.registeredDate }} ({{ $ts.descendingOrder }})</option> + <option value="-updatedAt">{{ $ts.lastUsed }} ({{ $ts.ascendingOrder }})</option> + <option value="+updatedAt">{{ $ts.lastUsed }} ({{ $ts.descendingOrder }})</option> </MkSelect> <MkSelect v-model:value="state" style="margin: 0; flex: 1;"> - <template #label>{{ $t('state') }}</template> - <option value="all">{{ $t('all') }}</option> - <option value="available">{{ $t('normal') }}</option> - <option value="admin">{{ $t('administrator') }}</option> - <option value="moderator">{{ $t('moderator') }}</option> - <option value="silenced">{{ $t('silence') }}</option> - <option value="suspended">{{ $t('suspend') }}</option> + <template #label>{{ $ts.state }}</template> + <option value="all">{{ $ts.all }}</option> + <option value="available">{{ $ts.normal }}</option> + <option value="admin">{{ $ts.administrator }}</option> + <option value="moderator">{{ $ts.moderator }}</option> + <option value="silenced">{{ $ts.silence }}</option> + <option value="suspended">{{ $ts.suspend }}</option> </MkSelect> <MkSelect v-model:value="origin" style="margin: 0; flex: 1;"> - <template #label>{{ $t('instance') }}</template> - <option value="combined">{{ $t('all') }}</option> - <option value="local">{{ $t('local') }}</option> - <option value="remote">{{ $t('remote') }}</option> + <template #label>{{ $ts.instance }}</template> + <option value="combined">{{ $ts.all }}</option> + <option value="local">{{ $ts.local }}</option> + <option value="remote">{{ $ts.remote }}</option> </MkSelect> </div> <div class="inputs" style="display: flex; padding-top: 1.2em;"> <MkInput v-model:value="searchUsername" style="margin: 0; flex: 1;" type="text" spellcheck="false" @update:value="$refs.users.reload()"> - <span>{{ $t('username') }}</span> + <span>{{ $ts.username }}</span> </MkInput> <MkInput v-model:value="searchHost" style="margin: 0; flex: 1;" type="text" spellcheck="false" @update:value="$refs.users.reload()" :disabled="pagination.params().origin === 'local'"> - <span>{{ $t('host') }}</span> + <span>{{ $ts.host }}</span> </MkInput> </div> @@ -65,10 +65,10 @@ <span class="punished" v-if="user.isSuspended"><Fa :icon="faSnowflake"/></span> </header> <div> - <span>{{ $t('lastUsed') }}: <MkTime v-if="user.updatedAt" :time="user.updatedAt" mode="detail"/></span> + <span>{{ $ts.lastUsed }}: <MkTime v-if="user.updatedAt" :time="user.updatedAt" mode="detail"/></span> </div> <div> - <span>{{ $t('registeredDate') }}: <MkTime :time="user.createdAt" mode="detail"/></span> + <span>{{ $ts.registeredDate }}: <MkTime :time="user.createdAt" mode="detail"/></span> </div> </div> </button> @@ -101,7 +101,7 @@ export default defineComponent({ data() { return { INFO: { - title: this.$t('users'), + title: this.$ts.users, icon: faUsers, action: { icon: faSearch, @@ -153,7 +153,7 @@ export default defineComponent({ if (_notFound) { os.dialog({ type: 'error', - text: this.$t('noSuchUser') + text: this.$ts.noSuchUser }); } else { _notFound = true; @@ -185,13 +185,13 @@ export default defineComponent({ async addUser() { const { canceled: canceled1, result: username } = await os.dialog({ - title: this.$t('username'), + title: this.$ts.username, input: true }); if (canceled1) return; const { canceled: canceled2, result: password } = await os.dialog({ - title: this.$t('password'), + title: this.$ts.password, input: { type: 'password' } }); if (canceled2) return; |