diff --git a/locales/index.d.ts b/locales/index.d.ts
index b6b69f3ebe..07d0694f84 100644
--- a/locales/index.d.ts
+++ b/locales/index.d.ts
@@ -12004,6 +12004,48 @@ export interface Locale extends ILocale {
*/
"tip": string;
};
+ /**
+ * ウォーターマーク
+ */
+ "watermark": string;
+ "_watermarkEditor": {
+ /**
+ * 画像にクレジット情報などのウォーターマークを追加することができます。
+ */
+ "tip": string;
+ /**
+ * ウォーターマークの編集
+ */
+ "title": string;
+ /**
+ * 敷き詰める
+ */
+ "repeat": string;
+ /**
+ * 不透明度
+ */
+ "opacity": string;
+ /**
+ * 大きさ
+ */
+ "scale": string;
+ /**
+ * テキスト
+ */
+ "text": string;
+ /**
+ * 位置
+ */
+ "position": string;
+ /**
+ * タイプ
+ */
+ "type": string;
+ /**
+ * 画像
+ */
+ "image": string;
+ };
}
declare const locales: {
[lang: string]: Locale;
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index a4081b1bf9..d0c4d47ed0 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -3214,3 +3214,15 @@ _clip:
_userLists:
tip: "任意のユーザーが含まれるリストを作成できます。作成したリストはタイムラインとして表示可能です。"
+
+watermark: "ウォーターマーク"
+_watermarkEditor:
+ tip: "画像にクレジット情報などのウォーターマークを追加することができます。"
+ title: "ウォーターマークの編集"
+ repeat: "敷き詰める"
+ opacity: "不透明度"
+ scale: "大きさ"
+ text: "テキスト"
+ position: "位置"
+ type: "タイプ"
+ image: "画像"
diff --git a/packages/frontend/assets/sample/3-2.jpg b/packages/frontend/assets/sample/3-2.jpg
new file mode 100644
index 0000000000..400de1649d
Binary files /dev/null and b/packages/frontend/assets/sample/3-2.jpg differ
diff --git a/packages/frontend/src/components/MkPositionSelector.vue b/packages/frontend/src/components/MkPositionSelector.vue
new file mode 100644
index 0000000000..002950cdf1
--- /dev/null
+++ b/packages/frontend/src/components/MkPositionSelector.vue
@@ -0,0 +1,53 @@
+
+
+
+