From c5e2235f20b7cbb09fd1230fe3aff9098ee6e458 Mon Sep 17 00:00:00 2001 From: Mopsgamer <79159094+Mopsgamer@users.noreply.github.com> Date: Wed, 8 Apr 2026 14:30:26 +0200 Subject: [PATCH 01/11] feat(ui): basic dep sizes --- app/components/Package/Dependencies.vue | 29 +++++++++++++++++++++++++ app/pages/package/[[org]]/[name].vue | 1 + 2 files changed, 30 insertions(+) diff --git a/app/components/Package/Dependencies.vue b/app/components/Package/Dependencies.vue index 2bddda193a..5930ba68b6 100644 --- a/app/components/Package/Dependencies.vue +++ b/app/components/Package/Dependencies.vue @@ -7,6 +7,7 @@ const { t } = useI18n() const props = defineProps<{ packageName: string version: string + packageSize?: InstallSizeResult | null dependencies?: Record peerDependencies?: Record peerDependenciesMeta?: Record @@ -37,6 +38,11 @@ function getDeprecatedDepInfo(depName: string) { return vulnTree.value.deprecatedPackages.find(p => p.name === depName && p.depth === 'direct') } +// Get dependency size (only direct deps) +function getSizeDepInfo(depName: string) { + return props.packageSize?.dependencies?.find(p => p.name === depName)?.size ?? null +} + // Sort dependencies alphabetically const sortedDependencies = computed(() => { if (!props.dependencies) return [] @@ -103,6 +109,7 @@ const { } = useVisibleItems(sortedOptionalDependencies, 10) const numberFormatter = useNumberFormatter() +const bytesFormatter = useBytesFormatter() diff --git a/app/pages/package-sizes/[[org]]/[packageName].vue b/app/pages/package-sizes/[[org]]/[packageName].vue index dfc1957bfa..3af1497508 100644 --- a/app/pages/package-sizes/[[org]]/[packageName].vue +++ b/app/pages/package-sizes/[[org]]/[packageName].vue @@ -124,11 +124,11 @@ const bytesFormatter = useBytesFormatter()
diff --git a/i18n/locales/ar.json b/i18n/locales/ar.json index 7e80d3b4aa..8e83aa4c9f 100644 --- a/i18n/locales/ar.json +++ b/i18n/locales/ar.json @@ -319,6 +319,7 @@ "warnings": "تحذيرات:", "go_back_home": "العودة إلى الصفحة الرئيسية", "per_week": "/ أسبوع", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "رقم زخرفي: لا توجد حزم معروضة | رقم زخرفي: للحزمة المعروضة | رقم زخرفي: للحزمتين المعروضتين | رقم زخرفي: مجموع {count} من الحزم المعروضة | رقم زخرفي: مجموع {count} من الحزم المعروضة | رقم زخرفي: مجموع {count} من الحزم المعروضة", "sort": { "name": "الاسم", @@ -395,6 +396,13 @@ "size": "EN TEXT TO REPLACE: Install size increased by {percent} ({size} larger)", "deps": "EN TEXT TO REPLACE: {count} more dependencies" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "قد لا تحتاج إلى هذه التبعية.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "أعجبتني هذه الحزمة", - "unlike": "إلغاء الإعجاب بهذه الحزمة" + "unlike": "إلغاء الإعجاب بهذه الحزمة", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "الموصل المحلي", diff --git a/i18n/locales/az-AZ.json b/i18n/locales/az-AZ.json index a65c16816c..eb14752830 100644 --- a/i18n/locales/az-AZ.json +++ b/i18n/locales/az-AZ.json @@ -319,6 +319,7 @@ "warnings": "Xəbərdarlıqlar:", "go_back_home": "Ana səhifəyə qayıt", "per_week": "/ həftə", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Göstərici: paket göstərilmir | Göstərici: göstərilən paket üçün | Göstərici: {count} göstərilən paketin cəmi", "sort": { "name": "ad", @@ -395,6 +396,13 @@ "size": "Quraşdırma həcmi {percent} artıb ({size} daha böyük)", "deps": "{count} daha çox asılılıq" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Bu asılılığa ehtiyacınız olmaya bilər.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Bu paketi bəyən", - "unlike": "Bəyənməni geri al" + "unlike": "Bəyənməni geri al", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Lokal Konnektor", diff --git a/i18n/locales/bg-BG.json b/i18n/locales/bg-BG.json index 5fe2edd647..30fe872eac 100644 --- a/i18n/locales/bg-BG.json +++ b/i18n/locales/bg-BG.json @@ -319,6 +319,7 @@ "warnings": "Предупреждения:", "go_back_home": "Назад към начална страница", "per_week": "/ седмица", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Брой за показ: няма показани пакети | Брой за показ: за показания пакет | Брой за показ: Сума от {count} показани пакета", "sort": { "name": "име", @@ -395,6 +396,13 @@ "size": "Размерът при инсталация се е увеличил с {percent} ({size} по-голям)", "deps": "{count} повече зависимости" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Може да не се нуждаете от тази зависимост.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Харесване на пакета", - "unlike": "Премахване на харесване" + "unlike": "Премахване на харесване", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Локален конектор", diff --git a/i18n/locales/bn-IN.json b/i18n/locales/bn-IN.json index f258959962..9954ac296d 100644 --- a/i18n/locales/bn-IN.json +++ b/i18n/locales/bn-IN.json @@ -318,6 +318,7 @@ "warnings": "সতর্কতা:", "go_back_home": "হোমে ফিরে যান", "per_week": "/ সপ্তাহ", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "ভ্যানিটি নম্বর: কোন প্যাকেজ প্রদর্শিত হয়নি | ভ্যানিটি নম্বর: প্রদর্শিত প্যাকেজের জন্য | ভ্যানিটি নম্বর: {count} প্রদর্শিত প্যাকেজের মোট", "sort": { "name": "নাম", @@ -394,6 +395,13 @@ "size": "EN TEXT TO REPLACE: Install size increased by {percent} ({size} larger)", "deps": "EN TEXT TO REPLACE: {count} more dependencies" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "আপনার এই ডিপেনডেন্সির প্রয়োজন নাও হতে পারে।", "example": "EN TEXT TO REPLACE: Example:", @@ -459,7 +467,10 @@ }, "likes": { "like": "EN TEXT TO REPLACE: Like this package", - "unlike": "EN TEXT TO REPLACE: Unlike this package" + "unlike": "EN TEXT TO REPLACE: Unlike this package", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -800,6 +811,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "স্থানীয় কনেক্টর", diff --git a/i18n/locales/cs-CZ.json b/i18n/locales/cs-CZ.json index 634aad5e24..d1e37a6e89 100644 --- a/i18n/locales/cs-CZ.json +++ b/i18n/locales/cs-CZ.json @@ -319,6 +319,7 @@ "warnings": "Varování:", "go_back_home": "Zpět na začátek", "per_week": "/ týden", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Pro zobrazený balíček | Součet pro {count} zobrazené balíčky | Součet pro {count} zobrazených balíčků", "sort": { "name": "jméno", @@ -395,6 +396,13 @@ "size": "Velikost instalace se zvýšila o {percent} (větší o {size})", "deps": "{count} další závislostí" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Možná tuto závislost nepotřebujete.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Líbí se mi tento balíček", - "unlike": "Nelíbí se mi tento balíček" + "unlike": "Nelíbí se mi tento balíček", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Obsah", @@ -801,6 +812,16 @@ "tarball": "Stáhnout Tarball jako .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Lokální konektor", diff --git a/i18n/locales/de.json b/i18n/locales/de.json index 79ac5d2091..2bac31b2a0 100644 --- a/i18n/locales/de.json +++ b/i18n/locales/de.json @@ -319,6 +319,7 @@ "warnings": "Warnungen:", "go_back_home": "Zur Startseite", "per_week": "/ Woche", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Vanity-Zahl: keine Pakete angezeigt | Vanity-Zahl: für das angezeigte Paket | Vanity-Zahl: Summe von {count} angezeigten Paketen", "sort": { "name": "Name", @@ -395,6 +396,13 @@ "size": "Installationsgröße um {percent} gestiegen ({size} größer)", "deps": "{count} zusätzliche Abhängigkeiten" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Du brauchst diese Abhängigkeit vielleicht nicht.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Dieses Paket liken", - "unlike": "Like entfernen" + "unlike": "Like entfernen", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "inhalt", @@ -801,6 +812,16 @@ "tarball": "Tarball als .tar.gz herunterladen" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Lokaler Connector", diff --git a/i18n/locales/en.json b/i18n/locales/en.json index 3f0a78d62f..6c4b7efa14 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -382,7 +382,7 @@ "no_reason": "No reason provided" }, "sizes": { - "title": "Sizes", + "title": "sizes", "columns": { "self_size": "Self size", "total_size": "Total size", diff --git a/i18n/locales/es.json b/i18n/locales/es.json index 050127215d..37c2d223ae 100644 --- a/i18n/locales/es.json +++ b/i18n/locales/es.json @@ -319,6 +319,7 @@ "warnings": "Advertencias:", "go_back_home": "Volver al inicio", "per_week": "/ semana", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Número de vanidad: no se muestran paquetes | Número de vanidad: para el paquete mostrado | Número de vanidad: Suma de {count} paquetes mostrados", "sort": { "name": "nombre", @@ -395,6 +396,13 @@ "size": "El tamaño de instalación aumentó un {percent} ({size} más grande)", "deps": "{count} dependencias más" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Es posible que no necesite esta dependencia.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Me gusta este paquete", - "unlike": "Ya no me gusta este paquete" + "unlike": "Ya no me gusta este paquete", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Contenido", @@ -801,6 +812,16 @@ "tarball": "Descargar Tarball como .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Conector Local", diff --git a/i18n/locales/fr-FR.json b/i18n/locales/fr-FR.json index 051194c9dd..49528fddf2 100644 --- a/i18n/locales/fr-FR.json +++ b/i18n/locales/fr-FR.json @@ -396,6 +396,13 @@ "size": "La taille d'installation a augmenté de {percent} ({size} de plus)", "deps": "{count} dépendances supplémentaires" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Vous n'avez peut-être pas besoin de cette dépendance.", "example": "EN TEXT TO REPLACE: Example:", diff --git a/i18n/locales/hi-IN.json b/i18n/locales/hi-IN.json index 3a065ecc68..1c1084d272 100644 --- a/i18n/locales/hi-IN.json +++ b/i18n/locales/hi-IN.json @@ -319,6 +319,7 @@ "warnings": "चेतावनियाँ:", "go_back_home": "होम पर वापस जाएं", "per_week": "/ सप्ताह", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "वैनिटी नंबर: कोई पैकेज प्रदर्शित नहीं | वैनिटी नंबर: प्रदर्शित पैकेज के लिए | वैनिटी नंबर: {count} प्रदर्शित पैकेज का योग", "sort": { "name": "नाम", @@ -395,6 +396,13 @@ "size": "इंस्टॉल आकार {percent} बढ़ा ({size} अधिक)", "deps": "{count} और निर्भरताएँ" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "आपको इस निर्भरता की आवश्यकता नहीं हो सकती।", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "इस पैकेज को लाइक करें", - "unlike": "इस पैकेज को अनलाइक करें" + "unlike": "इस पैकेज को अनलाइक करें", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "सामग्री", @@ -801,6 +812,16 @@ "tarball": ".tar.gz के रूप में Tarball डाउनलोड करें" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "लोकल कनेक्टर", diff --git a/i18n/locales/hu-HU.json b/i18n/locales/hu-HU.json index 976f4e0af3..22697a63c4 100644 --- a/i18n/locales/hu-HU.json +++ b/i18n/locales/hu-HU.json @@ -319,6 +319,7 @@ "warnings": "Figyelmeztetések:", "go_back_home": "Vissza a főoldalra", "per_week": "/ hét", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Vanity szám: nincsenek csomagok megjelenítve | Vanity szám: a megjelenített csomagra | Vanity szám: {count} megjelenített csomag összege", "sort": { "name": "név", @@ -395,6 +396,13 @@ "size": "A telepítési méret {percent}-kal nőtt ({size} nagyobb)", "deps": "{count} további függőség" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Lehet, hogy nincs szükséged erre a függőségre.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Szeretem ezt a csomagot", - "unlike": "Nem szeretem ezt a csomagot" + "unlike": "Nem szeretem ezt a csomagot", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Helyi Connector", diff --git a/i18n/locales/id-ID.json b/i18n/locales/id-ID.json index 7f248a2e22..a044979caa 100644 --- a/i18n/locales/id-ID.json +++ b/i18n/locales/id-ID.json @@ -319,6 +319,7 @@ "warnings": "Peringatan:", "go_back_home": "Kembali ke Beranda", "per_week": "/ minggu", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Angka statistik: tidak ada paket | Angka statistik: untuk paket yang tampil | Angka statistik: Total dari {count} paket yang tampil", "sort": { "name": "nama", @@ -395,6 +396,13 @@ "size": "Ukuran instalasi meningkat sebesar {percent} ({size} lebih besar)", "deps": "{count} lebih banyak dependensi" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Mungkin Anda tidak butuh dependensi ini.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Sukai paket ini", - "unlike": "Batal sukai paket ini" + "unlike": "Batal sukai paket ini", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Daftar Isi", @@ -801,6 +812,16 @@ "tarball": "Unduh Tarball sebagai .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Konektor Lokal", diff --git a/i18n/locales/it-IT.json b/i18n/locales/it-IT.json index af370d5cde..1690cbd416 100644 --- a/i18n/locales/it-IT.json +++ b/i18n/locales/it-IT.json @@ -319,6 +319,7 @@ "warnings": "Avvisi:", "go_back_home": "Torna alla home", "per_week": "/ settimana", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Numero di vanità: nessun pacchetto visualizzato | Numero di vanità: per il pacchetto visualizzato | Numero di vanità: somma di {count} pacchetti visualizzati", "sort": { "name": "nome", @@ -395,6 +396,13 @@ "size": "Dimensione di installazione aumentato del {percent} ({size} larger)", "deps": "{count} dipendenze in più" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Questa dipendenza potrebbe non essere necessaria.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Metti mi piace a questo pacchetto", - "unlike": "Togli mi piace a questo pacchetto" + "unlike": "Togli mi piace a questo pacchetto", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Connettore locale", diff --git a/i18n/locales/ja-JP.json b/i18n/locales/ja-JP.json index 68c825fd95..eb45084455 100644 --- a/i18n/locales/ja-JP.json +++ b/i18n/locales/ja-JP.json @@ -319,6 +319,7 @@ "warnings": "警告:", "go_back_home": "ホームへ戻る", "per_week": "/ 週", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "バニティ番号: パッケージが表示されていません|バニティ番号: 表示されているパッケージの数値|バニティ番号: 表示されている {count} 個のパッケージの合計", "sort": { "name": "名前", @@ -395,6 +396,13 @@ "size": "インストールサイズが {percent} 増加({size} 増)", "deps": "依存関係が {count} 件増加" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "この依存関係は不要な可能性があります。", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "このパッケージをいいねする", - "unlike": "このパッケージのいいねを解除する" + "unlike": "このパッケージのいいねを解除する", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "ローカルコネクタ", diff --git a/i18n/locales/kn-IN.json b/i18n/locales/kn-IN.json index 6f344013a5..0b80d8a794 100644 --- a/i18n/locales/kn-IN.json +++ b/i18n/locales/kn-IN.json @@ -319,6 +319,7 @@ "warnings": "ಎಚ್ಚರಿಕೆಗಳು:", "go_back_home": "ಮುಖಪುಟಕ್ಕೆ ಹಿಂತಿರುಗಿ", "per_week": "/ ವಾರ", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "ವ್ಯಾನಿಟಿ ಸಂಖ್ಯೆ: ಪ್ಯಾಕೇಜ್ ಪ್ರದರ್ಶಿಸಲಾಗಿಲ್ಲ | ವ್ಯಾನಿಟಿ ಸಂಖ್ಯೆ: ಪ್ರದರ್ಶಿಸಲಾದ ಪ್ಯಾಕೇಜ್ | ವ್ಯಾನಿಟಿ ಸಂಖ್ಯೆ: {count} ಪ್ರದರ್ಶಿಸಲಾದ ಪ್ಯಾಕೇಜ್‌ಗಳ ಒಟ್ಟು", "sort": { "name": "ಹೆಸರು", @@ -395,6 +396,13 @@ "size": "EN TEXT TO REPLACE: Install size increased by {percent} ({size} larger)", "deps": "EN TEXT TO REPLACE: {count} more dependencies" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "ನಿಮಗೆ ಈ ಅವಲಂಬನೆ ಅಗತ್ಯವಿಲ್ಲದಿರಬಹುದು.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "EN TEXT TO REPLACE: Like this package", - "unlike": "EN TEXT TO REPLACE: Unlike this package" + "unlike": "EN TEXT TO REPLACE: Unlike this package", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "ಸ್ಥಳೀಯ ಸಂಪರ್ಕಕ", diff --git a/i18n/locales/mr-IN.json b/i18n/locales/mr-IN.json index 5626af169d..26294b5eaf 100644 --- a/i18n/locales/mr-IN.json +++ b/i18n/locales/mr-IN.json @@ -319,6 +319,7 @@ "warnings": "चेतावण्या:", "go_back_home": "मुख्यपृष्ठावर परत जा", "per_week": "/ आठवडा", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "व्यर्थ संख्या: कोणतीही पॅकेजेस दर्शविली नाहीत | व्यर्थ संख्या: दर्शवलेल्या पॅकेजसाठी | व्यर्थ संख्या: {count} दर्शवलेल्या पॅकेजेसची बेरीज", "sort": { "name": "नाव", @@ -395,6 +396,13 @@ "size": "इंस्टॉल आकार {percent} ने वाढला ({size} ने मोठा)", "deps": "{count} अधिक निर्भरता" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "कदाचित तुम्हाला या निर्भरतेची गरज नसेल.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "हे पॅकेज पसंत करा", - "unlike": "या पॅकेजवरील पसंती काढा" + "unlike": "या पॅकेजवरील पसंती काढा", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "अनुक्रमणिका", @@ -801,6 +812,16 @@ "tarball": ".tar.gz स्वरूपात टारबॉल डाउनलोड करा" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "लोकल कनेक्टर", diff --git a/i18n/locales/nb-NO.json b/i18n/locales/nb-NO.json index 0a12181399..9068649d66 100644 --- a/i18n/locales/nb-NO.json +++ b/i18n/locales/nb-NO.json @@ -319,6 +319,7 @@ "warnings": "Advarsler:", "go_back_home": "Gå tilbake til start", "per_week": "/ uke", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Visningstall: ingen pakker vist | Visningstall: for den viste pakken | Visningstall: Sum av {count} viste pakker", "sort": { "name": "navn", @@ -395,6 +396,13 @@ "size": "Installasjonsstørrelse økt med {percent} ({size} større)", "deps": "{count} flere avhengigheter" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Du trenger kanskje ikke denne avhengigheten.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Lik denne pakken", - "unlike": "Fjern like fra denne pakken" + "unlike": "Fjern like fra denne pakken", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Innhold", @@ -801,6 +812,16 @@ "tarball": "Last ned tarball som .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Lokal Connector", diff --git a/i18n/locales/ne-NP.json b/i18n/locales/ne-NP.json index 5201dbb2d2..98ef34a9cc 100644 --- a/i18n/locales/ne-NP.json +++ b/i18n/locales/ne-NP.json @@ -319,6 +319,7 @@ "warnings": "चेतावनीहरू:", "go_back_home": "होममा फर्कनुहोस्", "per_week": "/ हप्ता", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "भ्यानिटी नम्बर: कुनै प्याकेज देखाइएको छैन | भ्यानिटी नम्बर: देखाइएको प्याकेजका लागि | भ्यानिटी नम्बर: देखाइएको {count} प्याकेजहरूको योग", "sort": { "name": "नाम", @@ -395,6 +396,13 @@ "size": "EN TEXT TO REPLACE: Install size increased by {percent} ({size} larger)", "deps": "EN TEXT TO REPLACE: {count} more dependencies" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "तपाईंलाई यो डिपेन्डेन्सी आवश्यक नपर्न सक्छ।", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "EN TEXT TO REPLACE: Like this package", - "unlike": "EN TEXT TO REPLACE: Unlike this package" + "unlike": "EN TEXT TO REPLACE: Unlike this package", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "लोकल कनेक्टर", diff --git a/i18n/locales/nl.json b/i18n/locales/nl.json index 6e84e0d75f..fabe17535d 100644 --- a/i18n/locales/nl.json +++ b/i18n/locales/nl.json @@ -319,6 +319,7 @@ "warnings": "Waarschuwingen:", "go_back_home": "Ga terug naar startpagina", "per_week": "/ week", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Totaaloverzicht: geen pakketten weergegeven | Totaaloverzicht: voor het weergegeven pakket | Totaaloverzicht: som van {count} weergegeven pakketten", "sort": { "name": "naam", @@ -395,6 +396,13 @@ "size": "De installatiegrootte is toegenomen met {percent} ({size} groter)", "deps": "{count} meer dependencies" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "U heeft waarschijnlijk dit niet nodig", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Dit pakket leuk vinden", - "unlike": "Dit pakket niet meer leuk vinden" + "unlike": "Dit pakket niet meer leuk vinden", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Inhoud", @@ -801,6 +812,16 @@ "tarball": "Download Tarball als .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Lokale Connector", diff --git a/i18n/locales/pl-PL.json b/i18n/locales/pl-PL.json index e377a9bfaa..6e8f1832a0 100644 --- a/i18n/locales/pl-PL.json +++ b/i18n/locales/pl-PL.json @@ -319,6 +319,7 @@ "warnings": "Ostrzeżenia:", "go_back_home": "Wróć na stronę główną", "per_week": "/ tydz.", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Numer ozdobny: brak wyświetlonych pakietów | Numer ozdobny: dla wyświetlanego pakietu | Numer ozdobny: suma {count} wyświetlanych pakietów | Numer ozdobny: suma {count} wyświetlanych pakietów | Numer ozdobny: suma {count} wyświetlanych pakietów", "sort": { "name": "nazwa", @@ -395,6 +396,13 @@ "size": "Rozmiar instalacji wzrósł o {percent} ({size} więcej)", "deps": "{count} więcej zależności" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Możliwe, że nie potrzebujesz tej zależności.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Polub ten pakiet", - "unlike": "Przestań lubić ten pakiet" + "unlike": "Przestań lubić ten pakiet", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Lokalny konektor", diff --git a/i18n/locales/pt-BR.json b/i18n/locales/pt-BR.json index 0a2e590a3d..8b4f06c3f2 100644 --- a/i18n/locales/pt-BR.json +++ b/i18n/locales/pt-BR.json @@ -46,7 +46,8 @@ "disable_shortcuts": "Pode desativar os atalhos do teclado em {settings}.", "open_main": "Abrir informação principal", "open_diff": "Abrir diferença de versões", - "open_timeline": "Abrir linha do tempo" + "open_timeline": "Abrir linha do tempo", + "open_sizes": "EN TEXT TO REPLACE: Open sizes" }, "search": { "label": "Pesquisar pacotes npm", @@ -318,6 +319,7 @@ "warnings": "Avisos:", "go_back_home": "Voltar para a página inicial", "per_week": "/ semana", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Número de vaidade: nenhum pacote exibido | Número de vaidade: para o pacote exibido | Número de vaidade: Soma de {count} pacotes exibidos", "sort": { "name": "nome", @@ -466,7 +468,10 @@ }, "likes": { "like": "Gosto deste pacote", - "unlike": "Não gosto deste pacote" + "unlike": "Não gosto deste pacote", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Conteúdo", @@ -807,6 +812,16 @@ "tarball": "Baixar Tarball como .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Conector Local", diff --git a/i18n/locales/pt-PT.json b/i18n/locales/pt-PT.json index 575c4a803d..04090c11c2 100644 --- a/i18n/locales/pt-PT.json +++ b/i18n/locales/pt-PT.json @@ -46,7 +46,8 @@ "disable_shortcuts": "Podes desativar os atalhos de teclado em {settings}.", "open_main": "Abrir informação principal", "open_diff": "Abrir diferença de versões", - "open_timeline": "Abrir linha do tempo" + "open_timeline": "Abrir linha do tempo", + "open_sizes": "EN TEXT TO REPLACE: Open sizes" }, "search": { "label": "Pesquisar pacotes npm", @@ -153,7 +154,8 @@ "code": "Código", "diff": "Diff", "compare": "Comparar este pacote", - "download": "Transferir tarball" + "download": "Transferir tarball", + "sizes": "EN TEXT TO REPLACE: Sizes" }, "package_actions": { "copy_run": "Copiar comando de execução" @@ -317,12 +319,14 @@ "warnings": "Avisos:", "go_back_home": "Voltar para a página inicial", "per_week": "/ semana", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Número de vaidade: nenhum pacote apresentado | Número de vaidade: para o pacote apresentado | Número de vaidade: Soma de {count} pacotes apresentados", "sort": { "name": "nome", "role": "função", "members": "membros" }, + "sort_by": "EN TEXT TO REPLACE: Sort by", "scroll_to_top": "Voltar ao topo", "cancel": "Cancelar", "save": "Guardar", @@ -377,6 +381,14 @@ "version": "Esta versão foi descontinuada.", "no_reason": "Nenhum motivo fornecido" }, + "sizes": { + "title": "EN TEXT TO REPLACE: sizes", + "columns": { + "self_size": "EN TEXT TO REPLACE: Self size", + "total_size": "EN TEXT TO REPLACE: Total size", + "percentage": "EN TEXT TO REPLACE: %" + } + }, "size_increase": { "title_size": "Aumento significativo de tamanho desde v{version}", "title_deps": "Aumento significativo no número de dependências desde v{version}", @@ -413,6 +425,11 @@ "published_tooltip": "Data em que {package}{'@'}{version} foi publicado", "view_dependency_graph": "Ver gráfico de dependências", "inspect_dependency_tree": "Inspecionar árvore de dependências", + "view_all_sizes": "EN TEXT TO REPLACE: View all sizes", + "load_dependency_sizes": "EN TEXT TO REPLACE: Load dependency total sizes", + "size": { + "total": "EN TEXT TO REPLACE: Total size: {size}" + }, "size_tooltip": { "unpacked": "{size} tamanho descompactado (este pacote)", "total": "{size} tamanho total descompactado (incluindo {count} dependência para linux-x64) | {size} tamanho total descompactado (incluindo todas as {count} dependências para linux-x64)" @@ -451,7 +468,10 @@ }, "likes": { "like": "Gostar deste pacote", - "unlike": "Remover gosto deste pacote" + "unlike": "Remover gosto deste pacote", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Conteúdo", @@ -592,6 +612,7 @@ "dependencies": { "title": "Dependência ({count}) | Dependências ({count})", "list_label": "Dependências do pacote", + "empty": "EN TEXT TO REPLACE: No dependencies", "show_all": "mostrar {count} dep | mostrar todas as {count} deps", "optional": "opcional", "view_vulnerabilities": "Ver vulnerabilidades", @@ -791,6 +812,16 @@ "tarball": "Transferir Tarball como .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Conector Local", diff --git a/i18n/locales/ru-RU.json b/i18n/locales/ru-RU.json index 76f00564fb..5d1d531f40 100644 --- a/i18n/locales/ru-RU.json +++ b/i18n/locales/ru-RU.json @@ -319,6 +319,7 @@ "warnings": "Предупреждения:", "go_back_home": "Вернуться на главную", "per_week": "/ неделю", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Метрика тщеславия: пакеты не отображаются | Метрика тщеславия: для отображаемого пакета | Метрика тщеславия: сумма {count} отображаемых пакетов", "sort": { "name": "имя", @@ -395,6 +396,13 @@ "size": "Размер при установке увеличился на {percent} (на {size} больше)", "deps": "На {count} зависимостей больше" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Возможно, вам не нужна эта зависимость.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Поставить лайк этому пакету", - "unlike": "Убрать лайк с этого пакета" + "unlike": "Убрать лайк с этого пакета", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Содержание", @@ -801,6 +812,16 @@ "tarball": "Скачать tarball (.tar.gz)" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Локальный коннектор", diff --git a/i18n/locales/sr-Latn-RS.json b/i18n/locales/sr-Latn-RS.json index d8ef2834a2..e8c0a31df7 100644 --- a/i18n/locales/sr-Latn-RS.json +++ b/i18n/locales/sr-Latn-RS.json @@ -319,6 +319,7 @@ "warnings": "Upozorenja:", "go_back_home": "Vratite se na početnu", "per_week": "/ nedeljno", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Ukrasni broj: nema prikazanih paketa | Ukrasni broj: za prikazani paket | Ukrasni broj: Zbir {count} prikazanih paketa", "sort": { "name": "ime", @@ -395,6 +396,13 @@ "size": "Veličina instalacije povećana za {percent} ({size} veća)", "deps": "{count} više zavisnosti" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Možda vam ova zavisnost ne treba.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Sviđa mi se ovaj paket", - "unlike": "Uklonite sviđanje" + "unlike": "Uklonite sviđanje", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Sadržaj", @@ -801,6 +812,16 @@ "tarball": "Preuzmite Tarball kao .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Lokalni konektor", diff --git a/i18n/locales/ta-IN.json b/i18n/locales/ta-IN.json index 4365401948..19b2a9e3a8 100644 --- a/i18n/locales/ta-IN.json +++ b/i18n/locales/ta-IN.json @@ -319,6 +319,7 @@ "warnings": "எச்சரிக்கைகள்:", "go_back_home": "முகப்புக்குத் திரும்பு", "per_week": "/ வாரம்", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "அலங்கார எண்: தொகுப்புகள் எதுவும் காட்டப்படவில்லை | அலங்கார எண்: காட்டப்பட்ட தொகுப்புக்கு | அலங்கார எண்: {count} காட்டப்பட்ட தொகுப்புகளின் கூட்டுத்தொகை", "sort": { "name": "பெயர்", @@ -395,6 +396,13 @@ "size": "EN TEXT TO REPLACE: Install size increased by {percent} ({size} larger)", "deps": "EN TEXT TO REPLACE: {count} more dependencies" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "இந்த சார்பு உங்களுக்குத் தேவைப்படாமல் இருக்கலாம்.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "இந்த தொகுப்பை விரும்பு", - "unlike": "இந்த தொகுப்பை விரும்பாமை" + "unlike": "இந்த தொகுப்பை விரும்பாமை", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "உள்ளூர் இணைப்பான்", diff --git a/i18n/locales/te-IN.json b/i18n/locales/te-IN.json index 0731cf96b9..9c294dd50a 100644 --- a/i18n/locales/te-IN.json +++ b/i18n/locales/te-IN.json @@ -319,6 +319,7 @@ "warnings": "హెచ్చరికలు:", "go_back_home": "హోమ్‌కు వెనక్కి వెళ్లండి", "per_week": "/ వారం", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "వానిటీ నంబర్: ప్యాకేజ్ ప్రదర్శించబడలేదు | వానిటీ నంబర్: ప్రదర్శించబడిన ప్యాకేజ్‌కు | వానిటీ నంబర్: {count} ప్రదర్శించబడిన ప్యాకేజ్‌ల మొత్తం", "sort": { "name": "పేరు", @@ -395,6 +396,13 @@ "size": "EN TEXT TO REPLACE: Install size increased by {percent} ({size} larger)", "deps": "EN TEXT TO REPLACE: {count} more dependencies" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "మీకు ఈ డిపెండెన్సీ అవసరం లేకపోవచ్చు.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "EN TEXT TO REPLACE: Like this package", - "unlike": "EN TEXT TO REPLACE: Unlike this package" + "unlike": "EN TEXT TO REPLACE: Unlike this package", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "లోకల్ కనెక్టర్", diff --git a/i18n/locales/tr-TR.json b/i18n/locales/tr-TR.json index bf3b050890..a602bba871 100644 --- a/i18n/locales/tr-TR.json +++ b/i18n/locales/tr-TR.json @@ -319,6 +319,7 @@ "warnings": "Uyarılar:", "go_back_home": "Ana sayfaya dön", "per_week": "/ hafta", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Gösterge: paket gösterilmiyor | Gösterge: gösterilen paket için | Gösterge: {count} gösterilen paketin toplamı", "sort": { "name": "ad", @@ -395,6 +396,13 @@ "size": "Kurulum boyutu {percent} arttı ({size} daha büyük)", "deps": "{count} daha fazla bağımlılık" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Bu bağımlılığa ihtiyacınız olmayabilir.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Bu paketi beğen", - "unlike": "Beğeniyi geri al" + "unlike": "Beğeniyi geri al", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "EN TEXT TO REPLACE: Contents", @@ -801,6 +812,16 @@ "tarball": "EN TEXT TO REPLACE: Download Tarball as .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Yerel Bağlayıcı", diff --git a/i18n/locales/uk-UA.json b/i18n/locales/uk-UA.json index 0184712d52..89b916c9c8 100644 --- a/i18n/locales/uk-UA.json +++ b/i18n/locales/uk-UA.json @@ -319,6 +319,7 @@ "warnings": "Попередження:", "go_back_home": "Повернутися на головну", "per_week": "/ тиждень", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Номер пакету: пакети не відображаються | Номер пакету: для пакету, що відображається | Номер пакету: Сума {count} пакетів, що відображаються", "sort": { "name": "ім'я", @@ -395,6 +396,13 @@ "size": "Розмір встановлення збільшився на {percent} ({size} більше)", "deps": "{count} додаткових залежностей" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Можливо вам не потрібна ця залежність.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Подобається цей пакет", - "unlike": "Прибрати вподобання" + "unlike": "Прибрати вподобання", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Зміст", @@ -801,6 +812,16 @@ "tarball": "Завантажити Tarball як .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Локальний сполучник", diff --git a/i18n/locales/vi-VN.json b/i18n/locales/vi-VN.json index 8421af5d0a..454e0f0a46 100644 --- a/i18n/locales/vi-VN.json +++ b/i18n/locales/vi-VN.json @@ -319,6 +319,7 @@ "warnings": "Cảnh báo:", "go_back_home": "Quay về trang chủ", "per_week": "/ tuần", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "Số liệu ảo: không có gói nào đang hiển thị | Số liệu ảo: cho gói đang hiển thị | Số liệu ảo: tổng của {count} gói đang hiển thị", "sort": { "name": "tên", @@ -395,6 +396,13 @@ "size": "Kích thước cài đặt tăng {percent} (lớn hơn {size})", "deps": "Thêm {count} dependency" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "Bạn có thể không cần dependency này.", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "Thích gói này", - "unlike": "Bỏ thích gói này" + "unlike": "Bỏ thích gói này", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "Mục lục", @@ -801,6 +812,16 @@ "tarball": "Tải tarball dạng .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "Local Connector", diff --git a/i18n/locales/zh-CN.json b/i18n/locales/zh-CN.json index c0ee03879f..0634073a91 100644 --- a/i18n/locales/zh-CN.json +++ b/i18n/locales/zh-CN.json @@ -319,6 +319,7 @@ "warnings": "警告:", "go_back_home": "返回首页", "per_week": "/ 周", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "累计下载量:未显示包 | 累计下载量:显示的包 | 累计下载量:{count} 个显示的包的总和", "sort": { "name": "名称", @@ -395,6 +396,13 @@ "size": "安装大小增加了 {percent} (增大了 {size})", "deps": "{count} 个依赖项" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "你可能不需要这个依赖。", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "点赞此包", - "unlike": "取消点赞" + "unlike": "取消点赞", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "目录", @@ -801,6 +812,16 @@ "tarball": "下载 Tarball 作为 .tar.gz" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "本地连接器", diff --git a/i18n/locales/zh-TW.json b/i18n/locales/zh-TW.json index 43e7632654..de53a566a9 100644 --- a/i18n/locales/zh-TW.json +++ b/i18n/locales/zh-TW.json @@ -319,6 +319,7 @@ "warnings": "警告:", "go_back_home": "回到首頁", "per_week": "/ 週", + "per_week_short": "EN TEXT TO REPLACE: /wk", "vanity_downloads_hint": "顯示下載量:未顯示套件 | 顯示下載量:顯示的套件 | 顯示下載量:顯示的 {count} 個套件總和", "sort": { "name": "名稱", @@ -395,6 +396,13 @@ "size": "安裝大小增加了 {percent}(多出 {size})", "deps": "增加了 {count} 個相依套件" }, + "size_decrease": { + "title_size": "EN TEXT TO REPLACE: Package size decreased since v{version}!", + "title_deps": "EN TEXT TO REPLACE: Dependency count decreased since v{version}!", + "title_both": "EN TEXT TO REPLACE: Package size and dependency count decreased since v{version}!", + "size": "EN TEXT TO REPLACE: Install size reduced by {percent} ({size} smaller)", + "deps": "EN TEXT TO REPLACE: {count} fewer dependencies" + }, "replacement": { "title": "你可能不需要這個相依套件。", "example": "EN TEXT TO REPLACE: Example:", @@ -460,7 +468,10 @@ }, "likes": { "like": "喜歡這個套件", - "unlike": "取消喜歡這個套件" + "unlike": "取消喜歡這個套件", + "top_rank_tooltip": "EN TEXT TO REPLACE: This is among the top 10 most liked packages on npmx! (#{rank})", + "top_rank_label": "EN TEXT TO REPLACE: #{rank}", + "top_rank_link_label": "EN TEXT TO REPLACE: View likes leaderboard. This package is ranked #{rank}." }, "docs": { "contents": "目錄", @@ -801,6 +812,16 @@ "tarball": "下載 Tarball(.tar.gz)" } }, + "leaderboard": { + "likes": { + "title": "EN TEXT TO REPLACE: Likes Leaderboard", + "description": "EN TEXT TO REPLACE: The 10 most liked packages on npmx right now.", + "rank": "EN TEXT TO REPLACE: Rank", + "likes": "EN TEXT TO REPLACE: Likes", + "unavailable_title": "EN TEXT TO REPLACE: No likes leaderboard yet", + "unavailable_description": "EN TEXT TO REPLACE: We don't have a likes leaderboard to show right now." + } + }, "connector": { "modal": { "title": "本機連線器", From 54c7eada37376cd9091622258a95e86f9c19cd4a Mon Sep 17 00:00:00 2001 From: Lev <79159094+Mopsgamer@users.noreply.github.com> Date: Sun, 17 May 2026 21:14:09 +0000 Subject: [PATCH 10/11] rename vars. try to blindly fix stuff --- .../package-sizes/[[org]]/[packageName].vue | 78 ++++++++++--------- 1 file changed, 40 insertions(+), 38 deletions(-) diff --git a/app/pages/package-sizes/[[org]]/[packageName].vue b/app/pages/package-sizes/[[org]]/[packageName].vue index 3af1497508..76d3051569 100644 --- a/app/pages/package-sizes/[[org]]/[packageName].vue +++ b/app/pages/package-sizes/[[org]]/[packageName].vue @@ -23,8 +23,9 @@ const { y } = useWindowScroll() // Fetch total install size const { - data: installSize, - status: installSizeStatus, + data: size, + pending: sizePending, + status: sizeStatus, refresh, } = usePackageSize(packageName, version) @@ -46,38 +47,39 @@ function compare(a: SizeEntry, b: SizeEntry) { return sortDir.value === 'asc' ? comparison : -comparison } -const { data: sizereqData } = usePackageDependencySizes( +const dependencies = computed(() => size.value?.dependencies) + +const { data: depsizes, pending: depsizesPending } = usePackageDependencySizes( packageName, version, - computed(() => installSize.value?.dependencies), + dependencies, ) const tableData = computed(() => { - if (!installSize.value) return [] + if (!size.value) return [] + if (!dependencies.value) return [] const entries: SizeEntry[] = [] // Add dependencies - if (installSize.value.dependencies) { - for (const dep of installSize.value.dependencies) { - const serverData = sizereqData.value?.[dep.name] - const isSuccess = serverData?.kind === 'success' - - entries.push({ - name: dep.name, - version: dep.version, - selfSize: isSuccess && serverData.packageSize ? serverData.packageSize.selfSize : dep.size, - totalSize: - isSuccess && serverData.packageSize - ? serverData.packageSize.totalSize - : (dep.totalSize ?? NaN), - depCount: - isSuccess && serverData.packageSize - ? serverData.packageSize.dependencyCount - : (dep.dependencyCount ?? NaN), - percentage: (dep.size / installSize.value.totalSize) * 100, - }) - } + for (const dep of dependencies.value) { + const serverData = depsizes.value?.[dep.name] + const isSuccess = serverData?.kind === 'success' + + entries.push({ + name: dep.name, + version: dep.version, + selfSize: isSuccess && serverData.packageSize ? serverData.packageSize.selfSize : dep.size, + totalSize: + isSuccess && serverData.packageSize + ? serverData.packageSize.totalSize + : (dep.totalSize ?? NaN), + depCount: + isSuccess && serverData.packageSize + ? serverData.packageSize.dependencyCount + : (dep.dependencyCount ?? NaN), + percentage: (dep.size / size.value.totalSize) * 100, + }) } entries.sort(compare) @@ -124,7 +126,7 @@ const bytesFormatter = useBytesFormatter()
@@ -172,7 +174,7 @@ const bytesFormatter = useBytesFormatter() class="font-mono font-medium transition-all duration-300" :class="isScrolled ? 'text-xs' : 'text-3xl'" > - {{ bytesFormatter.format(installSize.selfSize) }} + {{ bytesFormatter.format(size.selfSize) }}
@@ -188,7 +190,7 @@ const bytesFormatter = useBytesFormatter() class="font-mono font-medium transition-all duration-300" :class="isScrolled ? 'text-xs' : 'text-3xl'" > - {{ bytesFormatter.format(installSize.totalSize) }} + {{ bytesFormatter.format(size.totalSize) }} @@ -210,7 +212,7 @@ const bytesFormatter = useBytesFormatter() class="font-mono font-medium transition-all duration-300" :class="isScrolled ? 'text-xs' : 'text-3xl'" > - {{ numberFormatter.format(installSize.dependencyCount) }} + {{ numberFormatter.format(size.dependencyCount) }} @@ -220,7 +222,7 @@ const bytesFormatter = useBytesFormatter() -
+
@@ -248,19 +250,19 @@ const bytesFormatter = useBytesFormatter()
-
+
-
+
@@ -269,7 +271,7 @@ const bytesFormatter = useBytesFormatter()

{{ t('package.dependencies.empty') }}

-
+

{{ t('compare.packages.error') }}

{{ t('common.retry') }} From 18a543e12ab075aeafecccbc0fdf8c62adc7eefa Mon Sep 17 00:00:00 2001 From: Mopsgamer <79159094+Mopsgamer@users.noreply.github.com> Date: Mon, 18 May 2026 22:30:55 +0200 Subject: [PATCH 11/11] optimize and fix a bit --- app/components/Package/SizeBar.vue | 2 +- app/components/Package/SizeCard.vue | 147 +++++++++------- app/components/Package/SizeList.vue | 36 +++- app/components/Package/SizeTable.vue | 61 ++++--- .../package-sizes/[[org]]/[packageName].vue | 161 +++++------------- app/types/size.ts | 4 + i18n/locales/en.json | 2 +- 7 files changed, 194 insertions(+), 219 deletions(-) diff --git a/app/components/Package/SizeBar.vue b/app/components/Package/SizeBar.vue index 0405c40619..3277eddf7c 100644 --- a/app/components/Package/SizeBar.vue +++ b/app/components/Package/SizeBar.vue @@ -132,7 +132,7 @@ const remainingWidth = computed(() => { class="h-full bg-fg flex items-center justify-center" :style="{ width: sortedSizereqDependecies.othersPercentage + '%' }" > -
diff --git a/app/components/Package/SizeCard.vue b/app/components/Package/SizeCard.vue index c0e5206871..d374c93cd3 100644 --- a/app/components/Package/SizeCard.vue +++ b/app/components/Package/SizeCard.vue @@ -26,9 +26,7 @@ const { data: fetchedSize, execute } = usePackageSize( ) watch(targetIsVisible, visible => { - if (visible && isSizeUnknown.value) { - execute() - } + if (visible) execute() }) const displayTotalSize = computed(() => { @@ -56,76 +54,97 @@ const packageSizeData = computed(() => { diff --git a/app/components/Package/SizeList.vue b/app/components/Package/SizeList.vue index 41505cfe47..efd4794b2b 100644 --- a/app/components/Package/SizeList.vue +++ b/app/components/Package/SizeList.vue @@ -2,12 +2,12 @@ import { WindowVirtualizer } from 'virtua/vue' import type { SizeEntry } from '~/types/size' import type { ViewMode } from '#shared/types/preferences' +import type { IconClass } from '~/types' const props = defineProps<{ entries: SizeEntry[] viewMode?: ViewMode isLoading?: boolean - stickyOffset?: number }>() const { t } = useI18n() @@ -23,14 +23,34 @@ function scrollToIndex(index: number, smooth = true) { listRef.value?.scrollToIndex(index, { align: 'center', smooth }) } -type SortOption = { col: keyof SizeEntry; label: string; defaultDir: 'asc' | 'desc' } +type SortOption = { + icon: IconClass | '' + col: keyof SizeEntry + label: string + defaultDir: 'asc' | 'desc' +} const sortOptions = computed(() => [ - { col: 'name', label: t('common.sort.name'), defaultDir: 'asc' }, - { col: 'selfSize', label: t('package.sizes.columns.self_size'), defaultDir: 'desc' }, - { col: 'totalSize', label: t('package.sizes.columns.total_size'), defaultDir: 'desc' }, - { col: 'depCount', label: t('package.stats.deps'), defaultDir: 'desc' }, - { col: 'percentage', label: t('package.sizes.columns.percentage'), defaultDir: 'desc' }, + { icon: 'i-lucide:tag', col: 'name', label: t('common.sort.name'), defaultDir: 'asc' }, + { + icon: 'i-lucide:package-open', + col: 'selfSize', + label: t('package.sizes.columns.self_size'), + defaultDir: 'desc', + }, + { + icon: 'i-lucide:boxes', + col: 'totalSize', + label: t('package.sizes.columns.total_size'), + defaultDir: 'desc', + }, + { icon: 'i-lucide:network', col: 'depCount', label: t('package.stats.deps'), defaultDir: 'desc' }, + { + icon: 'i-lucide:percent', + col: 'percentage', + label: t('package.sizes.columns.percentage'), + defaultDir: 'desc', + }, ]) function toggleSort(col: keyof SizeEntry, defaultDir: 'asc' | 'desc') { @@ -56,7 +76,6 @@ defineExpose({ v-model:sort-column="sortColumn" v-model:sort-dir="sortDir" :is-loading="isLoading" - :sticky-offset="stickyOffset" /> @@ -78,6 +97,7 @@ defineExpose({ " @click="toggleSort(opt.col, opt.defaultDir)" > + {{ opt.label }} () const { t } = useI18n() @@ -27,10 +25,10 @@ function toggleSort(col: keyof SizeEntry) { - +
{{ numberFormatter.format(entry.percentage) }}% + + +
+ {{ $t('package.dependencies.empty') }} +
diff --git a/app/pages/package-sizes/[[org]]/[packageName].vue b/app/pages/package-sizes/[[org]]/[packageName].vue index 76d3051569..050a568d5e 100644 --- a/app/pages/package-sizes/[[org]]/[packageName].vue +++ b/app/pages/package-sizes/[[org]]/[packageName].vue @@ -18,16 +18,8 @@ const packageName = computed(() => ) const version = computed(() => route.params.version as string) -const isScrolled = ref(false) -const { y } = useWindowScroll() - // Fetch total install size -const { - data: size, - pending: sizePending, - status: sizeStatus, - refresh, -} = usePackageSize(packageName, version) +const { data: size, pending: sizePending } = usePackageSize(packageName, version) const sortColumn = ref('selfSize') const sortDir = ref<'asc' | 'desc'>('desc') @@ -79,6 +71,7 @@ const tableData = computed(() => { ? serverData.packageSize.dependencyCount : (dep.dependencyCount ?? NaN), percentage: (dep.size / size.value.totalSize) * 100, + installSize: isSuccess && serverData.packageSize ? serverData.packageSize : undefined, }) } @@ -87,20 +80,6 @@ const tableData = computed(() => { return entries }) -const isStickyEnabled = computed(() => { - if (viewMode.value !== 'table' && viewMode.value !== 'cards') return false - const threshold = viewMode.value === 'table' ? 18 : 8 - return tableData.value.length >= threshold -}) - -watch([y, isStickyEnabled], ([newY, stickyEnabled]) => { - if (!stickyEnabled) { - isScrolled.value = false - return - } - isScrolled.value = newY > 0 -}) - useSeoMeta({ title: () => `Sizes - ${packageName.value} - npmx`, description: () => `Dependency sizes for ${packageName.value}@${version.value}`, @@ -111,107 +90,64 @@ const bytesFormatter = useBytesFormatter() diff --git a/app/types/size.ts b/app/types/size.ts index b8dceca2e5..77e0d4cbfd 100644 --- a/app/types/size.ts +++ b/app/types/size.ts @@ -1,3 +1,5 @@ +import type { InstallSizeResult } from '#shared/types/install-size' + export type SizeEntry = { name: string version: string @@ -6,4 +8,6 @@ export type SizeEntry = { depCount: number percentage: number isRoot?: boolean + /** Full install size data when already fetched by the parent */ + installSize?: InstallSizeResult } diff --git a/i18n/locales/en.json b/i18n/locales/en.json index 76c565a96d..4538e05bf4 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -389,7 +389,7 @@ "columns": { "self_size": "Self size", "total_size": "Total size", - "percentage": "%" + "percentage": "Percentage" } }, "size_increase": {