mirror of
https://github.com/gotson/komga.git
synced 2026-05-09 05:10:19 +02:00
i18n support
This commit is contained in:
parent
43238774b0
commit
7b0d5f4f75
12 changed files with 190 additions and 102 deletions
3
next-ui/.gitignore
vendored
3
next-ui/.gitignore
vendored
|
|
@ -20,3 +20,6 @@ pnpm-debug.log*
|
|||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
# FormatJS compiled translation files
|
||||
src/i18n
|
||||
|
|
|
|||
|
|
@ -1,34 +1,102 @@
|
|||
{
|
||||
"8dsA6c": {
|
||||
"defaultMessage": "User Interface",
|
||||
"description": "Drawer menu for User Interface"
|
||||
"2g7iOx": {
|
||||
"defaultMessage": "Metrics",
|
||||
"description": "Drawer menu for Server > Metrics"
|
||||
},
|
||||
"9yKJ2S": {
|
||||
"DxtDpt": {
|
||||
"defaultMessage": "Media Analysis",
|
||||
"description": "Drawer menu for Media > Media Analysis"
|
||||
},
|
||||
"G7quju": {
|
||||
"defaultMessage": "Announcements",
|
||||
"description": "Drawer menu for Server > Announcements"
|
||||
},
|
||||
"HaWCi3": {
|
||||
"defaultMessage": "Settings",
|
||||
"description": "Drawer menu for Server Settings"
|
||||
"description": "Drawer menu for Server > Settings"
|
||||
},
|
||||
"BXkzdX": {
|
||||
"defaultMessage": "Users",
|
||||
"description": "Drawer menu for Users"
|
||||
"Hl9H/B": {
|
||||
"defaultMessage": "Media",
|
||||
"description": "Drawer menu for Media"
|
||||
},
|
||||
"IpvWiZ": {
|
||||
"defaultMessage": "Server",
|
||||
"description": "Drawer menu for Server"
|
||||
},
|
||||
"Nn5L5Q": {
|
||||
"defaultMessage": "Announcements",
|
||||
"description": "Drawer menu for Announcements"
|
||||
"JGOfZq": {
|
||||
"defaultMessage": "Users",
|
||||
"description": "Drawer menu for Server > Users"
|
||||
},
|
||||
"MvwDsn": {
|
||||
"defaultMessage": "Known",
|
||||
"description": "Drawer menu for Media > Duplicate Pages > Known"
|
||||
},
|
||||
"N7+QXi": {
|
||||
"defaultMessage": "Import",
|
||||
"description": "Drawer menu for Import"
|
||||
},
|
||||
"Nb0V0p": {
|
||||
"defaultMessage": "Missing Posters",
|
||||
"description": "Drawer menu for Media > Missing Posters"
|
||||
},
|
||||
"Y6VlM9": {
|
||||
"defaultMessage": "Read List",
|
||||
"description": "Drawer menu for Import > Read List"
|
||||
},
|
||||
"Yf4DJ2": {
|
||||
"defaultMessage": "User Interface",
|
||||
"description": "Drawer menu for Server > User Interface"
|
||||
},
|
||||
"cAu/I6": {
|
||||
"defaultMessage": "Duplicate Pages",
|
||||
"description": "Drawer menu for Media > Duplicate Pages"
|
||||
},
|
||||
"cGFtPg": {
|
||||
"defaultMessage": "Activity",
|
||||
"description": "Drawer menu for My Account > Activity"
|
||||
},
|
||||
"eW3fXu": {
|
||||
"defaultMessage": "Duplicate Files",
|
||||
"description": "Drawer menu for Media > Duplicate Files"
|
||||
},
|
||||
"fQIepD": {
|
||||
"defaultMessage": "Books",
|
||||
"description": "Drawer menu for Import > Books"
|
||||
},
|
||||
"l/To3S": {
|
||||
"defaultMessage": "History",
|
||||
"description": "Drawer menu for History"
|
||||
},
|
||||
"lDnmZD": {
|
||||
"defaultMessage": "Updates",
|
||||
"description": "Drawer menu for Server > Updates"
|
||||
},
|
||||
"localename": {
|
||||
"defaultMessage": "English",
|
||||
"description": "The name of the locale, shown in the language selection menu. Must be translated to the language's name"
|
||||
},
|
||||
"nGrxDH": {
|
||||
"defaultMessage": "Updates",
|
||||
"description": "Drawer menu for Updates"
|
||||
"oFOkWZ": {
|
||||
"defaultMessage": "API Keys",
|
||||
"description": "Drawer menu for My Account > API Keys"
|
||||
},
|
||||
"nr3gEG": {
|
||||
"defaultMessage": "Metrics",
|
||||
"description": "Drawer menu for Metrics"
|
||||
"od545m": {
|
||||
"defaultMessage": "My Account",
|
||||
"description": "Drawer menu for My Account"
|
||||
},
|
||||
"qiZm6U": {
|
||||
"defaultMessage": "Unknown",
|
||||
"description": "Drawer menu for Media > Duplicate Pages > Unknown"
|
||||
},
|
||||
"rw/Dkw": {
|
||||
"defaultMessage": "User Interface",
|
||||
"description": "Drawer menu for My Account > User Interface"
|
||||
},
|
||||
"ti4Pzo": {
|
||||
"defaultMessage": "Logout",
|
||||
"description": "Drawer menu for Logout"
|
||||
},
|
||||
"xYGXuU": {
|
||||
"defaultMessage": "Details",
|
||||
"description": "Drawer menu for My Account > Details"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"9yKJ2S": {
|
||||
"defaultMessage": "Réglages",
|
||||
"description": "Drawer menu for Server Settings"
|
||||
},
|
||||
"localename": {
|
||||
"defaultMessage": "Français",
|
||||
"description": "The name of the locale, shown in the language selection menu. Must be translated to the language's name"
|
||||
},
|
||||
"IpvWiZ": {
|
||||
"defaultMessage": "Serveur",
|
||||
"description": "Drawer menu for Server"
|
||||
}
|
||||
}
|
||||
|
|
@ -5,14 +5,15 @@
|
|||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "run-p type-check \"build-only {@}\" --",
|
||||
"build": "run-p i18n-compile type-check \"build-only {@}\" --",
|
||||
"preview": "vite preview",
|
||||
"build-only": "vite build",
|
||||
"type-check": "vue-tsc --build --force",
|
||||
"lint": "eslint . --fix",
|
||||
"openapi-generate": "npx tsx ./openapi-generator.mts",
|
||||
"i18n-extract": "formatjs extract \"src/**/*.{ts,tsx,vue}\" --ignore=\"**/*.d.ts\" --out-file src/i18n/en.json",
|
||||
"i18n-compile": "formatjs compile-folder i18n src/i18n"
|
||||
"i18n-extract": "formatjs extract \"src/**/*.{ts,tsx,vue}\" --ignore=\"**/*.d.ts\" --out-file i18n/en.json",
|
||||
"i18n-compile": "formatjs compile-folder i18n src/i18n",
|
||||
"i18n-verify": "formatjs verify --missing-keys --source-locale=en \"i18n/*.json\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@pinia/colada": "^0.16.1",
|
||||
|
|
|
|||
|
|
@ -3,26 +3,46 @@
|
|||
<template #activator="{ props }">
|
||||
<v-list-item
|
||||
v-bind="props"
|
||||
title="My Account"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for My Account',
|
||||
defaultMessage: 'My Account',
|
||||
id: 'od545m'
|
||||
})"
|
||||
prepend-icon="mdi-account"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<v-list-item
|
||||
to="/account/details"
|
||||
title="Details"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for My Account > Details',
|
||||
defaultMessage: 'Details',
|
||||
id: 'xYGXuU'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/account/api-keys"
|
||||
title="API Keys"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for My Account > API Keys',
|
||||
defaultMessage: 'API Keys',
|
||||
id: 'oFOkWZ'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/account/ui"
|
||||
title="User Interface"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for My Account > User Interface',
|
||||
defaultMessage: 'User Interface',
|
||||
id: 'rw/Dkw'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/account/activity"
|
||||
title="Activity"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for My Account > Activity',
|
||||
defaultMessage: 'Activity',
|
||||
id: 'cGFtPg'
|
||||
})"
|
||||
/>
|
||||
</v-list-group>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
<template>
|
||||
<v-list-item
|
||||
to="/history"
|
||||
title="History"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for History',
|
||||
defaultMessage: 'History',
|
||||
id: 'l/To3S'
|
||||
})"
|
||||
prepend-icon="mdi-clock-time-four-outline"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -3,19 +3,31 @@
|
|||
<template #activator="{ props }">
|
||||
<v-list-item
|
||||
v-bind="props"
|
||||
title="Import"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Import',
|
||||
defaultMessage: 'Import',
|
||||
id: 'N7+QXi'
|
||||
})"
|
||||
prepend-icon="mdi-import"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<v-list-item
|
||||
to="/import/books"
|
||||
title="Books"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Import > Books',
|
||||
defaultMessage: 'Books',
|
||||
id: 'fQIepD'
|
||||
})"
|
||||
/>
|
||||
|
||||
<v-list-item
|
||||
to="/import/readlist"
|
||||
title="Read List"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Import > Read List',
|
||||
defaultMessage: 'Read List',
|
||||
id: 'Y6VlM9'
|
||||
})"
|
||||
/>
|
||||
</v-list-group>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
<template>
|
||||
<v-list-item
|
||||
title="Logout"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Logout',
|
||||
defaultMessage: 'Logout',
|
||||
id: 'ti4Pzo'
|
||||
})"
|
||||
prepend-icon="mdi-power"
|
||||
@click="performLogout"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -3,39 +3,68 @@
|
|||
<template #activator="{ props }">
|
||||
<v-list-item
|
||||
v-bind="props"
|
||||
title="Media"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Media',
|
||||
defaultMessage: 'Media',
|
||||
id: 'Hl9H/B'
|
||||
})"
|
||||
prepend-icon="mdi-book-cog"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<v-list-item
|
||||
to="/media/analysis"
|
||||
title="Media Analysis"
|
||||
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Media > Media Analysis',
|
||||
defaultMessage: 'Media Analysis',
|
||||
id: 'DxtDpt'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/media/missing-posters"
|
||||
title="Missing Posters"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Media > Missing Posters',
|
||||
defaultMessage: 'Missing Posters',
|
||||
id: 'Nb0V0p'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/media/duplicate-files"
|
||||
title="Duplicate Files"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Media > Duplicate Files',
|
||||
defaultMessage: 'Duplicate Files',
|
||||
id: 'eW3fXu'
|
||||
})"
|
||||
/>
|
||||
|
||||
<v-list-group value="Duplicate Pages">
|
||||
<template #activator="{ props }">
|
||||
<v-list-item
|
||||
v-bind="props"
|
||||
title="Duplicate Pages"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Media > Duplicate Pages',
|
||||
defaultMessage: 'Duplicate Pages',
|
||||
id: 'cAu/I6'
|
||||
})"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<v-list-item
|
||||
to="/media/duplicate-pages/known"
|
||||
title="Known"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Media > Duplicate Pages > Known',
|
||||
defaultMessage: 'Known',
|
||||
id: 'MvwDsn'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/media/duplicate-pages/unknown"
|
||||
title="Unknown"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Media > Duplicate Pages > Unknown',
|
||||
defaultMessage: 'Unknown',
|
||||
id: 'qiZm6U'
|
||||
})"
|
||||
/>
|
||||
</v-list-group>
|
||||
</v-list-group>
|
||||
|
|
|
|||
|
|
@ -29,42 +29,42 @@
|
|||
<v-list-item
|
||||
to="/server/users"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Users',
|
||||
description: 'Drawer menu for Server > Users',
|
||||
defaultMessage: 'Users',
|
||||
id: 'BXkzdX'
|
||||
id: 'JGOfZq'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/server/settings"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Server Settings',
|
||||
description: 'Drawer menu for Server > Settings',
|
||||
defaultMessage: 'Settings',
|
||||
id: '9yKJ2S'
|
||||
id: 'HaWCi3'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/server/ui"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for User Interface',
|
||||
description: 'Drawer menu for Server > User Interface',
|
||||
defaultMessage: 'User Interface',
|
||||
id: '8dsA6c'
|
||||
id: 'Yf4DJ2'
|
||||
})"
|
||||
/>
|
||||
<v-list-item
|
||||
to="/server/metrics"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Metrics',
|
||||
description: 'Drawer menu for Server > Metrics',
|
||||
defaultMessage: 'Metrics',
|
||||
id: 'nr3gEG'
|
||||
id: '2g7iOx'
|
||||
})"
|
||||
/>
|
||||
|
||||
<v-list-item
|
||||
to="/server/announcements"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Announcements',
|
||||
description: 'Drawer menu for Server > Announcements',
|
||||
defaultMessage: 'Announcements',
|
||||
id: 'Nn5L5Q'
|
||||
id: 'G7quju'
|
||||
})"
|
||||
>
|
||||
<template #append>
|
||||
|
|
@ -80,9 +80,9 @@
|
|||
<v-list-item
|
||||
to="/server/updates"
|
||||
:title="$formatMessage({
|
||||
description: 'Drawer menu for Updates',
|
||||
description: 'Drawer menu for Server > Updates',
|
||||
defaultMessage: 'Updates',
|
||||
id: 'nGrxDH'
|
||||
id: 'lDnmZD'
|
||||
})"
|
||||
/>
|
||||
</v-list-group>
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"8dsA6c": {
|
||||
"defaultMessage": "User Interface",
|
||||
"description": "Drawer menu for User Interface"
|
||||
},
|
||||
"9yKJ2S": {
|
||||
"defaultMessage": "Settings",
|
||||
"description": "Drawer menu for Server Settings"
|
||||
},
|
||||
"BXkzdX": {
|
||||
"defaultMessage": "Users",
|
||||
"description": "Drawer menu for Users"
|
||||
},
|
||||
"IpvWiZ": {
|
||||
"defaultMessage": "Server",
|
||||
"description": "Drawer menu for Server"
|
||||
},
|
||||
"Nn5L5Q": {
|
||||
"defaultMessage": "Announcements",
|
||||
"description": "Drawer menu for Announcements"
|
||||
},
|
||||
"localename": {
|
||||
"defaultMessage": "English",
|
||||
"description": "The name of the locale, shown in the language selection menu. Must be translated to the language's name"
|
||||
},
|
||||
"nGrxDH": {
|
||||
"defaultMessage": "Updates",
|
||||
"description": "Drawer menu for Updates"
|
||||
},
|
||||
"nr3gEG": {
|
||||
"defaultMessage": "Metrics",
|
||||
"description": "Drawer menu for Metrics"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"9yKJ2S": "Réglages",
|
||||
"IpvWiZ": "Serveur",
|
||||
"localename": "Français"
|
||||
}
|
||||
Loading…
Reference in a new issue