From fe01a5a28f34c873019ae3c34086acd6bd791a1d Mon Sep 17 00:00:00 2001 From: おさむのひと <46447427+samunohito@users.noreply.github.com> Date: Sun, 30 Nov 2025 13:27:44 +0900 Subject: refactor: localesをworkspace管理下のパッケージに (#16895) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: localesをworkspace管理下のパッケージに * fix copilot review * move * move * rename * fix ci * revert unwanted indent changes * fix * fix * fix * fix * 間違えてコミットしていたのを戻す * 不要 * 追加漏れ * ymlの場所だけ戻す * localesの位置を戻したのでこの差分は不要 * 内容的にlocalesにある方が正しい * i18nパッケージ用のREADME.mdを用意 * fix locale.yml * fix locale.yml --------- Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> --- packages/frontend/.storybook/preload-locale.ts | 2 +- packages/frontend/build.ts | 2 +- packages/frontend/lib/vite-plugin-watch-locales.ts | 18 +++++++++--------- packages/frontend/package.json | 1 + packages/frontend/src/components/global/I18n.vue | 4 ++-- packages/frontend/src/i18n.ts | 2 +- packages/frontend/test/i18n.test.ts | 2 +- packages/frontend/test/init.ts | 6 +++--- packages/frontend/vite.config.ts | 6 +++--- 9 files changed, 22 insertions(+), 21 deletions(-) (limited to 'packages/frontend') diff --git a/packages/frontend/.storybook/preload-locale.ts b/packages/frontend/.storybook/preload-locale.ts index c823ff9bee..42918b44f3 100644 --- a/packages/frontend/.storybook/preload-locale.ts +++ b/packages/frontend/.storybook/preload-locale.ts @@ -4,7 +4,7 @@ */ import { writeFile } from 'node:fs/promises'; -import locales from '../../../locales/index.js'; +import locales from 'i18n'; await writeFile( new URL('locale.ts', import.meta.url), diff --git a/packages/frontend/build.ts b/packages/frontend/build.ts index 0401c2b9ba..0f605c745b 100644 --- a/packages/frontend/build.ts +++ b/packages/frontend/build.ts @@ -2,7 +2,7 @@ import * as fs from 'fs/promises'; import url from 'node:url'; import path from 'node:path'; import { execa } from 'execa'; -import locales from '../../locales/index.js'; +import locales from 'i18n'; import { LocaleInliner } from '../frontend-builder/locale-inliner.js' import { createLogger } from '../frontend-builder/logger'; diff --git a/packages/frontend/lib/vite-plugin-watch-locales.ts b/packages/frontend/lib/vite-plugin-watch-locales.ts index 8e209d27bd..372e9039d5 100644 --- a/packages/frontend/lib/vite-plugin-watch-locales.ts +++ b/packages/frontend/lib/vite-plugin-watch-locales.ts @@ -4,7 +4,7 @@ */ import path from 'node:path' -import locales from '../../../locales/index.js'; +import locales from 'i18n'; const localesDir = path.resolve(__dirname, '../../../locales') @@ -13,14 +13,14 @@ const localesDir = path.resolve(__dirname, '../../../locales') * @returns {import('vite').Plugin} */ export default function pluginWatchLocales() { - return { - name: 'watch-locales', + return { + name: 'watch-locales', - configureServer(server) { - const localeYmlPaths = Object.keys(locales).map(locale => path.join(localesDir, `${locale}.yml`)); + configureServer(server) { + const localeYmlPaths = Object.keys(locales).map(locale => path.join(localesDir, `${locale}.yml`)); - // watcherにパスを追加 - server.watcher.add(localeYmlPaths); + // watcherにパスを追加 + server.watcher.add(localeYmlPaths); server.watcher.on('change', (filePath) => { if (localeYmlPaths.includes(filePath)) { @@ -31,6 +31,6 @@ export default function pluginWatchLocales() { }) } }); - }, - }; + }, + }; } diff --git a/packages/frontend/package.json b/packages/frontend/package.json index ec7b39312a..c3baf5ea74 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -20,6 +20,7 @@ "@discordapp/twemoji": "16.0.1", "@github/webauthn-json": "2.1.1", "@mcaptcha/vanilla-glue": "0.1.0-alpha-3", + "i18n": "workspace:*", "@misskey-dev/browser-image-resizer": "2024.1.0", "@rollup/plugin-json": "6.1.0", "@rollup/plugin-replace": "6.0.3", diff --git a/packages/frontend/src/components/global/I18n.vue b/packages/frontend/src/components/global/I18n.vue index 6b7723e6ac..9866e50958 100644 --- a/packages/frontend/src/components/global/I18n.vue +++ b/packages/frontend/src/components/global/I18n.vue @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only