devex: migrate to vue-i18n (#4966)

* sample languages refactor

* feat: consistency + dedupe impl of i18n

* fix: broken imports

* fix: intl formatted component

* fix: use relative imports

* fix: imports

* fix: comment out incomplete locales + fix imports

* feat: cleanup

* fix: ui imports

* fix: lint

* fix: admonition import

* make footer a component, fix language reactivity

* make copyright notice untranslatable

---------

Co-authored-by: Calum H. <contact@cal.engineer>
This commit is contained in:
Prospector
2025-12-27 13:37:37 -08:00
committed by GitHub
parent 3cabc3b967
commit 1bbb01bd42
161 changed files with 1449 additions and 2314 deletions

View File

@@ -105,8 +105,15 @@ import {
SortDescIcon,
XIcon,
} from '@modrinth/assets'
import { Button, ButtonStyled, Combobox, type ComboboxOption, Pagination } from '@modrinth/ui'
import { defineMessages, useVIntl } from '@vintl/vintl'
import {
Button,
ButtonStyled,
Combobox,
type ComboboxOption,
defineMessages,
Pagination,
useVIntl,
} from '@modrinth/ui'
import Fuse from 'fuse.js'
import ConfettiExplosion from 'vue-confetti-explosion'

View File

@@ -78,9 +78,15 @@
<script setup lang="ts">
import { ListFilterIcon, SearchIcon, SortAscIcon, SortDescIcon, XIcon } from '@modrinth/assets'
import type { ExtendedReport } from '@modrinth/moderation'
import { Button, Combobox, type ComboboxOption, Pagination } from '@modrinth/ui'
import {
Button,
Combobox,
type ComboboxOption,
defineMessages,
Pagination,
useVIntl,
} from '@modrinth/ui'
import type { Report } from '@modrinth/utils'
import { defineMessages, useVIntl } from '@vintl/vintl'
import Fuse from 'fuse.js'
import ReportCard from '~/components/ui/moderation/ModerationReportCard.vue'

View File

@@ -5,11 +5,12 @@ import {
Button,
Combobox,
type ComboboxOption,
defineMessages,
injectModrinthClient,
Pagination,
useVIntl,
} from '@modrinth/ui'
import { useInfiniteQuery, useQueryClient } from '@tanstack/vue-query'
import { defineMessages, useVIntl } from '@vintl/vintl'
import Fuse from 'fuse.js'
import MaliciousSummaryModal, {