1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-07-26 04:25:14 +02:00
This commit is contained in:
syuilo
2026-05-26 15:00:14 +09:00
parent f0375aa420
commit 2efd52f400
5 changed files with 44 additions and 32 deletions

View File

@@ -3630,7 +3630,7 @@ _miRoom:
bodyMat: "本体の素材"
height: "高さ"
width: "幅"
withBack: "背板あり"
withBack: "背板"
cactusS: "サボテン S"
_cactusS:
potMat: "鉢の素材"
@@ -3740,7 +3740,7 @@ _miRoom:
image: "画像"
openAngle: "開き具合"
screenBrightness: "画面の明るさ"
largeMousepad: "大マウスパッド"
largeMousepad: "大きいマウスパッド"
_largeMousepad:
image: "画像"
lavaLamp: "ラバランプ"
@@ -3781,19 +3781,19 @@ _miRoom:
petBottle: "ペットボトル"
_petBottle:
empty: "空"
variation: "バリエーション"
variation: "種類"
variation_greenTea: "緑茶"
variation_mineralWater: "ミネラルウォーター"
withCap: "キャップあり"
withLabel: "ラベルあり"
withCap: "キャップ"
withLabel: "ラベル"
piano: "ピアノ"
_piano:
bodyMat: "本体の素材"
pictureFrame: "シンプルな額縁"
_pictureFrame:
depth: "奥行き"
depth: "厚さ"
frameMat: "フレームの素材"
frameThickness: "フレームの厚み"
frameThickness: "フレームの"
height: "高さ"
image: "画像"
matHThickness: "マットの横幅"
@@ -3814,7 +3814,7 @@ _miRoom:
_randomBooks:
count: "数"
seed: "シード"
stackVertically: "縦に積む"
stackVertically: "平積み"
variation: "バリエーション"
variation_mix: "いろいろ"
variation_mixPlain: "いろいろ(無地)"
@@ -3866,7 +3866,7 @@ _miRoom:
tabletopFlag: "卓上フラッグ"
_tabletopFlag:
image: "画像"
tabletopGlassPictureFrame: "卓上ガラスフォトフレーム"
tabletopGlassPictureFrame: "卓上ガラスフォトフレーム"
_tabletopGlassPictureFrame:
height: "高さ"
image: "画像"
@@ -3878,16 +3878,16 @@ _miRoom:
frameMat: "フレームの素材"
height: "高さ"
width: "幅"
tabletopLcdButtonsController: "卓上LCDボタンコントローラー"
tabletopLcdButtonsController: "LCDボタン付き卓上コントローラー"
_tabletopLcdButtonsController:
bodyMat: "本体の素材"
image: "画像"
screenBrightness: "画面の明るさ"
tabletopPictureFrame: "卓上シンプル額縁"
tabletopPictureFrame: "卓上フォトフレーム"
_tabletopPictureFrame:
depth: "奥行き"
depth: "厚さ"
frameMat: "フレームの素材"
frameThickness: "フレームの厚み"
frameThickness: "フレームの"
height: "高さ"
image: "画像"
matHThickness: "マットの横幅"
@@ -3950,6 +3950,7 @@ _miRoom:
light: "照明"
shadeMat: "シェードの素材"
woodSoundAbsorbingPanel: "木製吸音パネル"
ironFrameShelf: "アイアンフレームシェルフ"
_ironFrameShelf:
boardMat: "板の素材"
frameMat: "フレームの素材"

View File

@@ -229,13 +229,20 @@ let latestSavedRoomState = deepClone(props.room.def) as unknown as RoomState;
let initialRoomState = latestSavedRoomState;
// 後方互換性のため
for (const obj of latestSavedRoomState.installedObjects) {
for (const obj of initialRoomState.installedObjects) {
if (obj.options.customPicture != null) {
obj.options.image = {
type: null,
};
delete obj.options.customPicture;
}
if (obj.type === 'ironFrameShelf5') {
obj.type = 'ironFrameShelf';
} else if (obj.type === 'ironFrameShelf4') {
obj.type = 'ironFrameShelf';
} else if (obj.type === 'ironFrameShelf3') {
obj.type = 'ironFrameShelf';
}
}
let latestSavedAttachments = {

View File

@@ -42,7 +42,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSwitch :modelValue="options[k]" @update:modelValue="v => emit('update', k, v)"></MkSwitch>
</div>
<div v-else-if="s.type === 'enum'">
<MkSelect :items="s.enum.map(e => ({ label: e.label, value: e.value }))" :modelValue="options[k]" @update:modelValue="v => emit('update', k, v)"></MkSelect>
<MkSelect :items="s.enum.map(e => ({ label: OBJECT_UI_DEFS[schema.id].options[k].enum[e.value].label, value: e.value }))" :modelValue="options[k]" @update:modelValue="v => emit('update', k, v)"></MkSelect>
</div>
<div v-else-if="s.type === 'string'">
<MkInput type="text" :modelValue="options[k]" @update:modelValue="v => emit('update', k, v)"></MkInput>
@@ -51,7 +51,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkRange :continuousUpdate="true" :min="s.min" :max="s.max" :step="s.step" :modelValue="options[k]" @update:modelValue="v => emit('update', k, v)"></MkRange>
</div>
<div v-else-if="s.type === 'image'" class="_gaps_s">
<MkSelect :items="[{ label: i18n.ts.none, value: null }, { label: i18n.ts.custom, value: '_custom_' }, ...(s.presets.length > 0 ? [{ type: 'divider' } as const] : []), ...s.presets.map(e => ({ label: e.label, value: e.value }))]" :modelValue="options[k].type" @update:modelValue="v => changeImageType(k, v)"></MkSelect>
<MkSelect :items="[{ label: i18n.ts.none, value: null }, { label: i18n.ts.custom, value: '_custom_' }, ...(s.presets.length > 0 ? [{ type: 'divider' } as const] : []), ...s.presets.map(e => ({ label: OBJECT_UI_DEFS[schema.id].options[k].presets[e.value].label, value: e.value }))]" :modelValue="options[k].type" @update:modelValue="v => changeImageType(k, v)"></MkSelect>
<div v-if="options[k].type === '_custom_'" class="_buttons">
<MkButton primary inline @click="changeImage(k)"><i class="ti ti-cloud"></i> {{ i18n.ts.choose }}...</MkButton>

View File

@@ -4,11 +4,11 @@
*/
import { defineObjectUi } from '../defineObjectUi.js';
import type { ironFrameShelf } from './ironFrameShelf.js';
import type { ironFrameShelf_schema } from 'misskey-world/src/room/objects/ironFrameShelf.schema.js';
import { i18n } from '@/i18n.js';
export const ironFrameShelf_ui = defineObjectUi<typeof ironFrameShelf>({
name: i18n.ts._miRoom._objects.ironFrameShelf5,
export const ironFrameShelf_ui = defineObjectUi<typeof ironFrameShelf_schema>({
name: i18n.ts._miRoom._objects.ironFrameShelf,
options: {
height: {
label: i18n.ts._miRoom._objects._ironFrameShelf.height,

View File

@@ -13533,7 +13533,7 @@ export interface Locale extends ILocale {
*/
"width": string;
/**
* 背板あり
* 背板
*/
"withBack": string;
};
@@ -13936,7 +13936,7 @@ export interface Locale extends ILocale {
"screenBrightness": string;
};
/**
* 大マウスパッド
* 大きいマウスパッド
*/
"largeMousepad": string;
"_largeMousepad": {
@@ -14081,7 +14081,7 @@ export interface Locale extends ILocale {
*/
"empty": string;
/**
* バリエーション
* 種類
*/
"variation": string;
/**
@@ -14093,11 +14093,11 @@ export interface Locale extends ILocale {
*/
"variation_mineralWater": string;
/**
* キャップあり
* キャップ
*/
"withCap": string;
/**
* ラベルあり
* ラベル
*/
"withLabel": string;
};
@@ -14117,7 +14117,7 @@ export interface Locale extends ILocale {
"pictureFrame": string;
"_pictureFrame": {
/**
* 奥行き
* 厚さ
*/
"depth": string;
/**
@@ -14125,7 +14125,7 @@ export interface Locale extends ILocale {
*/
"frameMat": string;
/**
* フレームの厚み
* フレームの
*/
"frameThickness": string;
/**
@@ -14205,7 +14205,7 @@ export interface Locale extends ILocale {
*/
"seed": string;
/**
* 縦に積む
* 平積み
*/
"stackVertically": string;
/**
@@ -14396,7 +14396,7 @@ export interface Locale extends ILocale {
"image": string;
};
/**
* 卓上ガラスフォトフレーム
* 卓上ガラスフォトフレーム
*/
"tabletopGlassPictureFrame": string;
"_tabletopGlassPictureFrame": {
@@ -14440,7 +14440,7 @@ export interface Locale extends ILocale {
"width": string;
};
/**
* 卓上LCDボタンコントローラー
* LCDボタン付き卓上コントローラー
*/
"tabletopLcdButtonsController": string;
"_tabletopLcdButtonsController": {
@@ -14458,12 +14458,12 @@ export interface Locale extends ILocale {
"screenBrightness": string;
};
/**
* 卓上シンプル額縁
* 卓上フォトフレーム
*/
"tabletopPictureFrame": string;
"_tabletopPictureFrame": {
/**
* 奥行き
* 厚さ
*/
"depth": string;
/**
@@ -14471,7 +14471,7 @@ export interface Locale extends ILocale {
*/
"frameMat": string;
/**
* フレームの厚み
* フレームの
*/
"frameThickness": string;
/**
@@ -14701,6 +14701,10 @@ export interface Locale extends ILocale {
* 木製吸音パネル
*/
"woodSoundAbsorbingPanel": string;
/**
* アイアンフレームシェルフ
*/
"ironFrameShelf": string;
"_ironFrameShelf": {
/**
* 板の素材