Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 35 additions & 13 deletions app/components/PackageReplacement.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,27 @@ const props = defineProps<{
replacement: ModuleReplacement
}>()

const { t } = useI18n()

const message = computed(() => {
const message = computed<[string, { replacement?: string; nodeVersion?: string }]>(() => {
switch (props.replacement.type) {
case 'native':
return t('package.replacement.native', {
replacement: props.replacement.replacement,
nodeVersion: props.replacement.nodeVersion,
})
return [
'package.replacement.native',
{
replacement: props.replacement.replacement,
nodeVersion: props.replacement.nodeVersion,
},
]
case 'simple':
return t('package.replacement.simple', {
replacement: props.replacement.replacement,
})
return [
'package.replacement.simple',
{
replacement: props.replacement.replacement,
},
]
case 'documented':
return t('package.replacement.documented')
return ['package.replacement.documented', {}]
case 'none':
return t('package.replacement.none')
return ['package.replacement.none', {}]
}
})

Expand All @@ -45,7 +49,25 @@ const docPath = computed(() => {
{{ $t('package.replacement.title') }}
</h2>
<p class="text-sm m-0">
{{ message }}
<i18n-t :keypath="message[0]" scope="global">
<template #replacement>
{{ message[1].replacement ?? '' }}
</template>
<template #nodeVersion>
{{ message[1].nodeVersion ?? '' }}
</template>
<template #community>
<a
href="https://e18e.dev/docs/replacements/"
target="_blank"
rel="noopener noreferrer"
class="inline-flex items-center gap-1 ms-1 underline underline-offset-4 decoration-amber-600/60 dark:decoration-amber-400/50 hover:decoration-fg transition-colors"
>
{{ $t('package.replacement.community') }}
<span class="i-carbon-launch w-3 h-3" aria-hidden="true" />
</a>
</template>
</i18n-t>
<a
v-if="mdnUrl"
:href="mdnUrl"
Expand Down
7 changes: 4 additions & 3 deletions i18n/locales/de-DE.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,12 @@
"replacement": {
"title": "Du brauchst diese Abhängigkeit vielleicht nicht.",
"native": "Dies kann durch {replacement} ersetzt werden, verfügbar seit Node {nodeVersion}.",
"simple": "Die Community hat dieses Paket als überflüssig markiert und empfiehlt: {replacement}.",
"documented": "Die Community hat dieses Paket als eines mit leistungsstärkeren Alternativen markiert.",
"simple": "Die {community} hat dieses Paket als überflüssig markiert und empfiehlt: {replacement}.",
"documented": "Die {community} hat dieses Paket als eines mit leistungsstärkeren Alternativen markiert.",
"none": "Dieses Paket wurde als nicht mehr nötig markiert, und seine Funktionen sind wahrscheinlich in allen Engines von Haus aus verfügbar.",
"learn_more": "Mehr erfahren",
"mdn": "MDN"
"mdn": "MDN",
"community": "Community"
},
"stats": {
"license": "Lizenz",
Expand Down
7 changes: 4 additions & 3 deletions i18n/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,12 @@
"replacement": {
"title": "You might not need this dependency.",
"native": "This can be replaced with {replacement}, available since Node {nodeVersion}.",
"simple": "The community has flagged this package as redundant, with the advice: {replacement}.",
"documented": "The community has flagged this package as having more performant alternatives.",
"simple": "The {community} has flagged this package as redundant, with the advice: {replacement}.",
"documented": "The {community} has flagged this package as having more performant alternatives.",
"none": "This package has been flagged as no longer needed, and its functionality is likely available natively in all engines.",
"learn_more": "Learn more",
"mdn": "MDN"
"mdn": "MDN",
"community": "community"
},
"stats": {
"license": "License",
Expand Down
7 changes: 4 additions & 3 deletions lunaria/files/de-DE.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,12 @@
"replacement": {
"title": "Du brauchst diese Abhängigkeit vielleicht nicht.",
"native": "Dies kann durch {replacement} ersetzt werden, verfügbar seit Node {nodeVersion}.",
"simple": "Die Community hat dieses Paket als überflüssig markiert und empfiehlt: {replacement}.",
"documented": "Die Community hat dieses Paket als eines mit leistungsstärkeren Alternativen markiert.",
"simple": "Die {community} hat dieses Paket als überflüssig markiert und empfiehlt: {replacement}.",
"documented": "Die {community} hat dieses Paket als eines mit leistungsstärkeren Alternativen markiert.",
"none": "Dieses Paket wurde als nicht mehr nötig markiert, und seine Funktionen sind wahrscheinlich in allen Engines von Haus aus verfügbar.",
"learn_more": "Mehr erfahren",
"mdn": "MDN"
"mdn": "MDN",
"community": "Community"
},
"stats": {
"license": "Lizenz",
Expand Down
7 changes: 4 additions & 3 deletions lunaria/files/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,12 @@
"replacement": {
"title": "You might not need this dependency.",
"native": "This can be replaced with {replacement}, available since Node {nodeVersion}.",
"simple": "The community has flagged this package as redundant, with the advice: {replacement}.",
"documented": "The community has flagged this package as having more performant alternatives.",
"simple": "The {community} has flagged this package as redundant, with the advice: {replacement}.",
"documented": "The {community} has flagged this package as having more performant alternatives.",
"none": "This package has been flagged as no longer needed, and its functionality is likely available natively in all engines.",
"learn_more": "Learn more",
"mdn": "MDN"
"mdn": "MDN",
"community": "community"
},
"stats": {
"license": "License",
Expand Down