1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
// SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com>
// SPDX-License-Identifier: AGPL-3.0-or-later WITH AdditionRef-Progmasoft-Patent-Grant-1.1
import type { Locale } from "./localization";
/**
* A catalog ViGet lists. A catalog with a path is open and links to its page; one without is not
* offered yet and is shown disabled.
*/
export type Catalog = {
readonly name: string;
readonly path?: string;
};
/** The languages whose packages ViGet hosts, in the order the page lists them. */
export const languageCatalogs: readonly Catalog[] = [
{ name: "Tala", path: "/langs/tala" },
{ name: "C++" },
];
/** The build systems whose DSL plugins ViGet hosts, in the order the page lists them. */
export const buildSystemCatalogs: readonly Catalog[] = [
{ name: "Tazel", path: "/dslplugins/tazel" },
{ name: "Gradle", path: "/dslplugins/gradle" },
];
// The two section names are the ones the registry uses everywhere; they are
// not translated, like the product names below them.
export const languagesHeading = "LANGUAGES";
export const buildSystemsHeading = "BUILD SYSTEM DSL PLUGINS";
type CatalogText = {
statusEyebrow: string;
languagesDescription: string;
buildSystemsDescription: string;
/** What each open catalog holds, by catalog name. */
holds: Record<string, string>;
notAvailable: string;
open: string;
talaTitle: string;
talaDescription: string;
talaEmptyTitle: string;
talaEmptyDescription: string;
tazelTitle: string;
tazelDescription: string;
backToRegistry: string;
};
const text: Record<Locale, CatalogText> = {
"en-US": {
statusEyebrow: "ViGet status",
languagesDescription:
"Packages written in a language, as .vipkg artifacts.",
buildSystemsDescription:
"Plugins that extend the project file of a build system.",
holds: {
Tala: "Libraries and applications written in Tala.",
Tazel: "Kotlin JAR plugins for the project file of Tazel.",
Gradle: "Gradle plugins of Progmasoft, from the Gradle Plugin Portal.",
},
notAvailable: "Not available yet",
open: "Open catalog",
talaTitle: "Tala packages",
talaDescription:
"Libraries and applications written in Tala, distributed as .vipkg artifacts and published under a Progmasoft Account.",
talaEmptyTitle: "No Tala packages yet.",
talaEmptyDescription:
"The catalog is ready and intentionally contains no placeholder packages. Publishing opens with the ViGet client of Tazel.",
tazelTitle: "Tazel DSL plugins",
tazelDescription:
"Kotlin JAR plugins that extend the project file of Tazel, the build system of Tala. They are separate from .vipkg packages.",
backToRegistry: "Back to ViGet",
},
"de-DE": {
statusEyebrow: "ViGet-Status",
languagesDescription:
"Pakete, die in einer Sprache geschrieben sind, als .vipkg-Artefakte.",
buildSystemsDescription:
"Plugins, die die Projektdatei eines Build-Systems erweitern.",
holds: {
Tala: "Bibliotheken und Anwendungen, geschrieben in Tala.",
Tazel: "Kotlin-JAR-Plugins für die Projektdatei von Tazel.",
Gradle: "Gradle-Plugins von Progmasoft, vom Gradle Plugin Portal.",
},
notAvailable: "Noch nicht verfügbar",
open: "Katalog öffnen",
talaTitle: "Tala-Pakete",
talaDescription:
"Bibliotheken und Anwendungen in Tala, verteilt als .vipkg-Artefakte und veröffentlicht unter einem Progmasoft-Konto.",
talaEmptyTitle: "Noch keine Tala-Pakete.",
talaEmptyDescription:
"Der Katalog ist bereit und enthält bewusst keine Platzhalterpakete. Die Veröffentlichung öffnet mit dem ViGet-Client von Tazel.",
tazelTitle: "Tazel-DSL-Plugins",
tazelDescription:
"Kotlin-JAR-Plugins, die die Projektdatei von Tazel, dem Build-System von Tala, erweitern. Sie sind von .vipkg-Paketen getrennt.",
backToRegistry: "Zurück zu ViGet",
},
"ru-RU": {
statusEyebrow: "Состояние ViGet",
languagesDescription:
"Пакеты, написанные на языке, в виде артефактов .vipkg.",
buildSystemsDescription:
"Плагины, расширяющие файл проекта системы сборки.",
holds: {
Tala: "Библиотеки и приложения, написанные на Tala.",
Tazel: "Плагины Kotlin JAR для файла проекта Tazel.",
Gradle: "Плагины Gradle от Progmasoft, с Gradle Plugin Portal.",
},
notAvailable: "Пока недоступно",
open: "Открыть каталог",
talaTitle: "Пакеты Tala",
talaDescription:
"Библиотеки и приложения на Tala, распространяемые как артефакты .vipkg и публикуемые от имени учётной записи Progmasoft.",
talaEmptyTitle: "Пакетов Tala пока нет.",
talaEmptyDescription:
"Каталог готов и намеренно не содержит пакетов-заглушек. Публикация откроется вместе с клиентом ViGet в Tazel.",
tazelTitle: "DSL-плагины Tazel",
tazelDescription:
"Плагины Kotlin JAR, расширяющие файл проекта Tazel, системы сборки Tala. Они отделены от пакетов .vipkg.",
backToRegistry: "Назад к ViGet",
},
"he-IL": {
statusEyebrow: "מצב ViGet",
languagesDescription: "חבילות שנכתבו בשפה, כתוצרי .vipkg.",
buildSystemsDescription: "תוספים שמרחיבים את קובץ הפרויקט של מערכת בנייה.",
holds: {
Tala: "ספריות ויישומים שנכתבו ב-Tala.",
Tazel: "תוספי Kotlin JAR עבור קובץ הפרויקט של Tazel.",
Gradle: "תוספי Gradle של Progmasoft, מ-Gradle Plugin Portal.",
},
notAvailable: "עוד לא זמין",
open: "פתיחת הקטלוג",
talaTitle: "חבילות Tala",
talaDescription:
"ספריות ויישומים ב-Tala, שמופצים כתוצרי .vipkg ומתפרסמים תחת חשבון Progmasoft.",
talaEmptyTitle: "עוד אין חבילות Tala.",
talaEmptyDescription:
"הקטלוג מוכן, ובכוונה אין בו חבילות ממלאות מקום. הפרסום ייפתח יחד עם לקוח ה-ViGet של Tazel.",
tazelTitle: "תוספי DSL של Tazel",
tazelDescription:
"תוספי Kotlin JAR שמרחיבים את קובץ הפרויקט של Tazel, מערכת הבנייה של Tala. הם נפרדים מחבילות .vipkg.",
backToRegistry: "חזרה ל-ViGet",
},
};
/** The text of the ViGet catalogs in [locale]. */
export function catalogText(locale: Locale): CatalogText {
return text[locale];
}
|