@glossarist/concept-browser 0.7.100 → 0.7.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,16 +13,109 @@ nav.sources: Sources
13
13
  nav.navigation: Navigation
14
14
  nav.datasets: Datasets
15
15
  nav.relationTypes: Relation Types
16
+ nav.learn: Learn
16
17
 
17
- # Relation Types teaching page
18
- relationTypes.intro: What each line shape and label means in this site. Diagrams use the same renderers as the Relation Sphere, so what you see here is what you'll see in the wild.
19
- relationTypes.hyperedgeSection: Hyperedge relations (one-to-many)
20
- relationTypes.bilateralSection: Bilateral relations (one-to-one)
21
- relationTypes.isoStandard: ISO standard
22
- relationTypes.example: Example
23
- relationTypes.category: Category
24
- relationTypes.diagram: Diagram
25
- relationTypes.notInDataset: Not used in the current dataset
18
+ # Learn section (reader-focused teaching)
19
+ learn.intro: This section explains what you see on this site and what each label means. For canonical methodology docs (authoring datasets, ISO alignment), see glossarist.org.
20
+ learn.glossaristOrgNote: Methodology documentation for dataset authors lives on glossarist.org.
21
+ learn.example: Example
22
+ learn.learnMore: Learn more on glossarist.org
23
+ learn.relationships.title: Relationships
24
+ learn.relationships.short: How to read the bilateral edges, partitive rake, and general pipe-and-thread.
25
+ learn.relationships.intro: Every line and label on the Relation Sphere, the detail page, and the graph view maps to a typed semantic relation. This page explains what each kind means and how to read its visual encoding.
26
+ learn.relationships.bilateralSection: Bilateral relations (one-to-one)
27
+ learn.relationships.bilateralIntro: One-to-one typed relations between two concepts. Drawn as straight colored lines with arrowheads in the sphere.
28
+ learn.relationships.partitiveSection: Partitive hyperedge (one-to-many)
29
+ learn.relationships.partitiveTitle: partitive relation
30
+ learn.relationships.partitiveBody: A whole/part decomposition. The comprehensive concept is the whole; each member is a part. Rendered as a rake — a stem from the comprehensive to a perpendicular spine, with teeth dropping to each partitive member.
31
+ learn.relationships.generalSection: General hyperedge (one-to-many)
32
+ learn.relationships.generalTitle: general relation
33
+ learn.relationships.generalBody: A genus/species decomposition. The comprehensive concept is the genus; each member is a coordinate species differing along a shared dimension. Rendered as a tree branch — a thick parent pipe from the comprehensive to a middle node, with thin threads radiating to each member.
34
+ learn.relationships.criterionTitle: Criterion of subdivision
35
+ learn.relationships.criterionBody: "The dimension along which coordinate concepts differ. Shown once on the parent pipe body. Optional: when no criterion is described, no label is drawn."
36
+ learn.relationships.thickThinTitle: Thick/thin hierarchy
37
+ learn.relationships.thickThinBody: ISO 704 traditionally uses thicker lines to mark different criteria of subdivision (multidimensionality). The pipe-and-thread honors this with a thick parent pipe (3.2px) and thinner child threads (1.0px) — the tree-branch metaphor (trunk vs twigs).
38
+ learn.dimensions.sectionTitle: Partitive dimensions (how to read the rake teeth)
39
+ learn.dimensions.presence.title: Presence
40
+ learn.dimensions.presence.summary: Whether the part must be present (compulsory) or may be absent (optional).
41
+ learn.dimensions.presence.required.label: required
42
+ learn.dimensions.presence.required.meaning: The part must be present. Drawn as a solid line.
43
+ learn.dimensions.presence.optional.label: optional
44
+ learn.dimensions.presence.optional.meaning: The part may be absent. Drawn as a dashed line.
45
+ learn.dimensions.count.title: Count
46
+ learn.dimensions.count.summary: How many instances of the part occur in the whole.
47
+ learn.dimensions.count.exactly_one.label: exactly one
48
+ learn.dimensions.count.exactly_one.meaning: One and only one. Drawn as a single line.
49
+ learn.dimensions.count.at_least_one.label: at least one
50
+ learn.dimensions.count.at_least_one.meaning: One or more. Drawn as a double line, the secondary dashed ("possibly more").
51
+ learn.dimensions.count.multiple.label: multiple
52
+ learn.dimensions.count.multiple.meaning: Two or more. Drawn as a double line, both the same style as the primary.
53
+ learn.dimensions.delimiting.title: Delimiting
54
+ learn.dimensions.delimiting.summary: Whether the part reflects a delimiting characteristic — one that distinguishes the whole from coordinate concepts.
55
+ learn.dimensions.delimiting.false.label: not delimiting
56
+ learn.dimensions.delimiting.false.meaning: An ordinary part. Drawn at normal stroke width (1.5px).
57
+ learn.dimensions.delimiting.true.label: delimiting
58
+ learn.dimensions.delimiting.true.meaning: The part is essential to the whole's identity. Drawn at 3× normal stroke width (4.5px).
59
+ learn.designations.title: Designations
60
+ learn.designations.short: Terms and symbols — preferred, admitted, deprecated, full form, abbreviation, acronym, initialism.
61
+ learn.designations.intro: Concepts are designated by terms, proper names, and symbols. This page explains the vocabulary you'll see on each concept page.
62
+ learn.designations.normativeSection: Normative status
63
+ learn.designations.normativeIntro: Each term carries a normative rating from the standardizing body. There can be MORE THAN ONE of each rating — preferred terms aren't unique.
64
+ learn.designations.preferred.label: preferred term
65
+ learn.designations.preferred.meaning: The primary term for the concept, rated by a standardizing body.
66
+ learn.designations.preferred.multipleNote: There can be more than one preferred term.
67
+ learn.designations.admitted.label: admitted term
68
+ learn.designations.admitted.meaning: A synonym for the preferred term, but not rated as preferred.
69
+ learn.designations.admitted.multipleNote: There can be more than one admitted term.
70
+ learn.designations.deprecated.label: deprecated term
71
+ learn.designations.deprecated.meaning: A synonym for the preferred term, but rated as undesired.
72
+ learn.designations.deprecated.multipleNote: There can be more than one deprecated term.
73
+ learn.designations.kindsSection: Kinds and forms of term
74
+ learn.designations.fullForm.label: full form
75
+ learn.designations.fullForm.meaning: The complete representation of a designation.
76
+ learn.designations.abbreviatedForm.label: abbreviated form
77
+ learn.designations.abbreviatedForm.meaning: A representation resulting from the omission of any part of the full form.
78
+ learn.designations.abbreviatedForm.multipleNote: For some full forms, two or more abbreviated forms may exist.
79
+ learn.designations.borrowed.label: borrowed term
80
+ learn.designations.borrowed.meaning: A term taken from another language or from another domain.
81
+ learn.designations.variant.label: variant
82
+ learn.designations.variant.meaning: One of the alternative forms of a designation (e.g. spelling differences across regions).
83
+ learn.designations.typesSection: Designation types
84
+ learn.designations.typesIntro: Three top-level types — terms, proper names, and symbols. Within terms, abbreviations split further into acronyms vs initialisms based on how they're pronounced.
85
+ learn.designations.term.label: term (expression)
86
+ learn.designations.term.meaning: A spoken or written designation — the most common type.
87
+ learn.designations.acronym.label: acronym
88
+ learn.designations.acronym.meaning: An abbreviated form pronounced as a single word.
89
+ learn.designations.initialism.label: initialism
90
+ learn.designations.initialism.meaning: An abbreviated form pronounced letter by letter.
91
+ learn.designations.symbol.label: symbol
92
+ learn.designations.symbol.meaning: A graphical or mathematical designation governed by ISO 80000 / IEC 60027.
93
+ learn.statuses.title: Statuses
94
+ learn.statuses.short: Entry status (valid/withdrawn/draft), normative status, source status — what each badge means.
95
+ learn.statuses.intro: Status badges appear throughout the site. This page is a quick reference for what each one means.
96
+ learn.statuses.entrySection: Entry status
97
+ learn.statuses.entry.valid.label: valid
98
+ learn.statuses.entry.valid.meaning: The concept entry is currently in force.
99
+ learn.statuses.entry.withdrawn.label: withdrawn
100
+ learn.statuses.entry.withdrawn.meaning: The entry has been removed from active use.
101
+ learn.statuses.entry.draft.label: draft
102
+ learn.statuses.entry.draft.meaning: The entry is under development and not yet finalized.
103
+ learn.statuses.entry.superseded.label: superseded
104
+ learn.statuses.entry.superseded.meaning: The entry has been replaced by a newer one.
105
+ learn.statuses.normativeSection: Normative status
106
+ learn.statuses.normativeTitle: preferred / admitted / deprecated
107
+ learn.statuses.normativeSummary: Per-term rating (preferred, admitted, deprecated). Each rating can apply to more than one term per concept.
108
+ learn.statuses.normativeGoDeeper: See designation types for examples
109
+ learn.statuses.sourceSection: Source status
110
+ learn.statuses.sourceIntro: Each citation carries a status describing how faithfully it reproduces the source.
111
+ learn.statuses.source.identical.label: identical
112
+ learn.statuses.source.identical.meaning: The definition matches the source verbatim.
113
+ learn.statuses.source.modified.label: modified
114
+ learn.statuses.source.modified.meaning: The definition is adapted from the source with editorial changes.
115
+ learn.statuses.source.restyled.label: restyled
116
+ learn.statuses.source.restyled.meaning: The definition preserves the source meaning but rewords it heavily.
117
+ learn.statuses.source.lineage.label: lineage
118
+ learn.statuses.source.lineage.meaning: The source is the historical ancestor of this concept, not a direct citation.
26
119
 
27
120
  # Home page
28
121
  home.search: Search
@@ -12,16 +12,109 @@ nav.about: À propos
12
12
  nav.navigation: Navigation
13
13
  nav.datasets: Jeux de données
14
14
  nav.relationTypes: Types de relations
15
+ nav.learn: Apprendre
15
16
 
16
- # Page enseignante « Types de relations »
17
- relationTypes.intro: Ce que chaque forme de ligne et étiquette signifie sur ce site. Les diagrammes utilisent les mêmes rendus que la Sphère de relations — ce que vous voyez ici correspond à ce que vous verrez en navigation.
18
- relationTypes.hyperedgeSection: Relations hyper-arêtes (un-plusieurs)
19
- relationTypes.bilateralSection: Relations bilatérales (un-un)
20
- relationTypes.isoStandard: Norme ISO
21
- relationTypes.example: Exemple
22
- relationTypes.category: Catégorie
23
- relationTypes.diagram: Diagramme
24
- relationTypes.notInDataset: Non utilisé dans le jeu de données courant
17
+ # Section « Apprendre » (enseignement orienté lecteur)
18
+ learn.intro: Cette section explique ce que vous voyez sur ce site et ce que chaque étiquette signifie. Pour la documentation méthodologique canonique (rédaction de jeux de données, alignement ISO), consultez glossarist.org.
19
+ learn.glossaristOrgNote: La documentation méthodologique pour les auteurs de jeux de données se trouve sur glossarist.org.
20
+ learn.example: Exemple
21
+ learn.learnMore: En savoir plus sur glossarist.org
22
+ learn.relationships.title: Relations
23
+ learn.relationships.short: Comment lire les arêtes bilatérales, le râteau partitif, et le tuyau-fil générique.
24
+ learn.relationships.intro: Chaque ligne et étiquette de la Sphère de relations, de la page de détail et de la vue graphe correspond à une relation sémantique typée. Cette page explique ce que chaque type signifie et comment lire son encodage visuel.
25
+ learn.relationships.bilateralSection: Relations bilatérales (un-un)
26
+ learn.relationships.bilateralIntro: Relations typées un-un entre deux concepts. Dessinées sous forme de lignes droites colorées avec flèches dans la sphère.
27
+ learn.relationships.partitiveSection: Hyper-arête partitive (un-plusieurs)
28
+ learn.relationships.partitiveTitle: relation partitive
29
+ learn.relationships.partitiveBody: Décomposition tout/partie. Le concept englobant est le tout ; chaque membre est une partie. Rendu sous forme de râteau — une tige depuis l'englobant vers une colonne perpendiculaire, avec des dents descendant vers chaque membre.
30
+ learn.relationships.generalSection: Hyper-arête générique (un-plusieurs)
31
+ learn.relationships.generalTitle: relation générique
32
+ learn.relationships.generalBody: Décomposition genre/espèce. Le concept englobant est le genre ; chaque membre est une espèce coordonnée différant selon une dimension partagée. Rendu sous forme de branche d'arbre — un tuyau parent épais depuis l'englobant vers un nœud central, avec des fils fins rayonnant vers chaque membre.
33
+ learn.relationships.criterionTitle: Critère de subdivision
34
+ learn.relationships.criterionBody: "La dimension selon laquelle les concepts coordonnés diffèrent. Affichée une fois sur le corps du tuyau parent. Optionnelle : si aucun critère n'est décrit, aucune étiquette n'est dessinée."
35
+ learn.relationships.thickThinTitle: Hiérarchie épais/mince
36
+ learn.relationships.thickThinBody: ISO 704 utilise traditionnellement des lignes plus épaisses pour marquer différents critères de subdivision (multidimensionalité). Le tuyau-fil respecte cela avec un tuyau parent épais (3,2 px) et des fils enfants plus fins (1,0 px) — la métaphore de la branche d'arbre (tronc vs rameaux).
37
+ learn.dimensions.sectionTitle: Dimensions partitives (comment lire les dents du râteau)
38
+ learn.dimensions.presence.title: Présence
39
+ learn.dimensions.presence.summary: Indique si la partie doit être présente (obligatoire) ou peut être absente (optionnelle).
40
+ learn.dimensions.presence.required.label: obligatoire
41
+ learn.dimensions.presence.required.meaning: La partie doit être présente. Dessinée en ligne pleine.
42
+ learn.dimensions.presence.optional.label: optionnelle
43
+ learn.dimensions.presence.optional.meaning: La partie peut être absente. Dessinée en ligne pointillée.
44
+ learn.dimensions.count.title: Nombre
45
+ learn.dimensions.count.summary: Combien d'instances de la partie apparaissent dans le tout.
46
+ learn.dimensions.count.exactly_one.label: exactement un
47
+ learn.dimensions.count.exactly_one.meaning: Un et un seul. Dessiné en ligne simple.
48
+ learn.dimensions.count.at_least_one.label: au moins un
49
+ learn.dimensions.count.at_least_one.meaning: Un ou plusieurs. Dessiné en ligne double, la secondaire pointillée (« possiblement plus »).
50
+ learn.dimensions.count.multiple.label: plusieurs
51
+ learn.dimensions.count.multiple.meaning: Deux ou plusieurs. Dessiné en ligne double, les deux de même style que la primaire.
52
+ learn.dimensions.delimiting.title: Délimitation
53
+ learn.dimensions.delimiting.summary: Indique si la partie reflète une caractéristique délimitante — qui distingue le tout des concepts coordonnés.
54
+ learn.dimensions.delimiting.false.label: non délimitante
55
+ learn.dimensions.delimiting.false.meaning: Une partie ordinaire. Dessinée à largeur de trait normale (1,5 px).
56
+ learn.dimensions.delimiting.true.label: délimitante
57
+ learn.dimensions.delimiting.true.meaning: La partie est essentielle à l'identité du tout. Dessinée à largeur de trait 3× (4,5 px).
58
+ learn.designations.title: Désignations
59
+ learn.designations.short: Termes et symboles — préféré, admis, déconseillé, forme complète, abréviation, acronyme, sigle.
60
+ learn.designations.intro: Les concepts sont désignés par des termes, noms propres et symboles. Cette page explique le vocabulaire que vous verrez sur chaque page de concept.
61
+ learn.designations.normativeSection: Statut normatif
62
+ learn.designations.normativeIntro: Chaque terme porte un statut normatif attribué par l'organisme de normalisation. IL PEUT Y AVOIR PLUS D'UN terme de chaque statut — les termes préférés ne sont pas uniques.
63
+ learn.designations.preferred.label: terme préféré
64
+ learn.designations.preferred.meaning: Le terme principal pour le concept, attribué par l'organisme de normalisation.
65
+ learn.designations.preferred.multipleNote: Il peut y avoir plus d'un terme préféré.
66
+ learn.designations.admitted.label: terme admis
67
+ learn.designations.admitted.meaning: Un synonyme du terme préféré, mais non retenu comme préféré.
68
+ learn.designations.admitted.multipleNote: Il peut y avoir plus d'un terme admis.
69
+ learn.designations.deprecated.label: terme déconseillé
70
+ learn.designations.deprecated.meaning: Un synonyme du terme préféré, mais jugé indésirable.
71
+ learn.designations.deprecated.multipleNote: Il peut y avoir plus d'un terme déconseillé.
72
+ learn.designations.kindsSection: Types et formes de terme
73
+ learn.designations.fullForm.label: forme complète
74
+ learn.designations.fullForm.meaning: La représentation complète d'une désignation.
75
+ learn.designations.abbreviatedForm.label: forme abrégée
76
+ learn.designations.abbreviatedForm.meaning: Une représentation résultant de l'omission d'une partie de la forme complète.
77
+ learn.designations.abbreviatedForm.multipleNote: Pour certaines formes complètes, deux ou plusieurs formes abrégées peuvent exister.
78
+ learn.designations.borrowed.label: terme emprunté
79
+ learn.designations.borrowed.meaning: Un terme pris depuis une autre langue ou un autre domaine.
80
+ learn.designations.variant.label: variante
81
+ learn.designations.variant.meaning: L'une des formes alternatives d'une désignation (ex. différences d'orthographe entre régions).
82
+ learn.designations.typesSection: Types de désignation
83
+ learn.designations.typesIntro: Trois types de plus haut niveau — termes, noms propres et symboles. Pour les termes, les abréviations se divisent en acronymes vs sigles selon la prononciation.
84
+ learn.designations.term.label: terme (expression)
85
+ learn.designations.term.meaning: Une désignation parlée ou écrite — le type le plus courant.
86
+ learn.designations.acronym.label: acronyme
87
+ learn.designations.acronym.meaning: Une forme abrégée prononcée comme un seul mot.
88
+ learn.designations.initialism.label: sigle
89
+ learn.designations.initialism.meaning: Une forme abrégée prononcée lettre par lettre.
90
+ learn.designations.symbol.label: symbole
91
+ learn.designations.symbol.meaning: Une désignation graphique ou mathématique régie par ISO 80000 / IEC 60027.
92
+ learn.statuses.title: Statuts
93
+ learn.statuses.short: Statut d'entrée (valide/retiré/brouillon), statut normatif, statut de source — ce que chaque badge signifie.
94
+ learn.statuses.intro: Les badges de statut apparaissent partout sur le site. Cette page est une référence rapide pour leur signification.
95
+ learn.statuses.entrySection: Statut d'entrée
96
+ learn.statuses.entry.valid.label: valide
97
+ learn.statuses.entry.valid.meaning: L'entrée du concept est actuellement en vigueur.
98
+ learn.statuses.entry.withdrawn.label: retiré
99
+ learn.statuses.entry.withdrawn.meaning: L'entrée a été retirée de l'usage actif.
100
+ learn.statuses.entry.draft.label: brouillon
101
+ learn.statuses.entry.draft.meaning: L'entrée est en cours de développement et non finalisée.
102
+ learn.statuses.entry.superseded.label: remplacé
103
+ learn.statuses.entry.superseded.meaning: L'entrée a été remplacée par une plus récente.
104
+ learn.statuses.normativeSection: Statut normatif
105
+ learn.statuses.normativeTitle: préféré / admis / déconseillé
106
+ learn.statuses.normativeSummary: Statut par terme (préféré, admis, déconseillé). Chaque statut peut s'appliquer à plus d'un terme par concept.
107
+ learn.statuses.normativeGoDeeper: Voir les types de désignation pour des exemples
108
+ learn.statuses.sourceSection: Statut de source
109
+ learn.statuses.sourceIntro: Chaque citation porte un statut décrivant la fidélité de sa reproduction de la source.
110
+ learn.statuses.source.identical.label: identique
111
+ learn.statuses.source.identical.meaning: La définition correspond verbatim à la source.
112
+ learn.statuses.source.modified.label: modifié
113
+ learn.statuses.source.modified.meaning: La définition est adaptée de la source avec des modifications éditoriales.
114
+ learn.statuses.source.restyled.label: reformulé
115
+ learn.statuses.source.restyled.meaning: La définition préserve le sens de la source mais la reformule largement.
116
+ learn.statuses.source.lineage.label: lignage
117
+ learn.statuses.source.lineage.meaning: La source est l'ancêtre historique de ce concept, pas une citation directe.
25
118
 
26
119
  # Home page
27
120
  home.search: Rechercher
@@ -96,8 +96,27 @@ export const routes: RouteRecordRaw[] = [
96
96
  },
97
97
  {
98
98
  path: '/relation-types',
99
- name: 'relation-types',
100
- component: () => import('../views/RelationTypesView.vue'),
99
+ redirect: '/learn/relationships',
100
+ },
101
+ {
102
+ path: '/learn',
103
+ name: 'learn',
104
+ component: () => import('../views/learn/LearnIndexView.vue'),
105
+ },
106
+ {
107
+ path: '/learn/relationships',
108
+ name: 'learn-relationships',
109
+ component: () => import('../views/learn/LearnRelationshipsView.vue'),
110
+ },
111
+ {
112
+ path: '/learn/designations',
113
+ name: 'learn-designations',
114
+ component: () => import('../views/learn/LearnDesignationsView.vue'),
115
+ },
116
+ {
117
+ path: '/learn/statuses',
118
+ name: 'learn-statuses',
119
+ component: () => import('../views/learn/LearnStatusesView.vue'),
101
120
  },
102
121
  {
103
122
  path: '/about',
@@ -0,0 +1,190 @@
1
+ <script setup lang="ts">
2
+ /**
3
+ * LearnDesignationsView — explains the term/designation vocabulary.
4
+ *
5
+ * Three cards:
6
+ * 1. Normative status (preferred / admitted / deprecated) — ISO 10241-1:2011 §3.4.1.3.
7
+ * Each explicitly allows multiple (per ISO Notes 1).
8
+ * 2. Kinds and forms of term (full form, abbreviated form, borrowed, variant) —
9
+ * ISO 10241-1:2011 §3.4.1.2.
10
+ * 3. Designation types (term / proper name / symbol) with abbreviation subtypes
11
+ * (acronym vs initialism) — ISO 704:2022 §7.
12
+ *
13
+ * Addresses the user's specific concerns:
14
+ * - "preferred/admitted term means, that they can be multiple" → Card 1
15
+ * - "types of acronym" → Card 3 (acronym vs initialism vs symbol)
16
+ */
17
+ import { useI18n } from '../../i18n';
18
+ import LearnCard from '../../components/learn/LearnCard.vue';
19
+
20
+ const { t } = useI18n();
21
+ </script>
22
+
23
+ <template>
24
+ <div class="learn-designations max-w-5xl mx-auto px-4 py-8">
25
+ <header class="mb-8">
26
+ <h1 class="text-3xl font-serif text-ink-800 dark:text-ink-50 mb-2">
27
+ {{ t('learn.designations.title') }}
28
+ </h1>
29
+ <p class="text-ink-500 dark:text-ink-300 max-w-3xl">{{ t('learn.designations.intro') }}</p>
30
+ </header>
31
+
32
+ <!-- ── Normative status ──────────────────────────────────────── -->
33
+ <section class="mb-12" :aria-label="t('learn.designations.normativeSection')">
34
+ <h2 class="text-xl font-semibold text-ink-700 dark:text-ink-100 mb-4 border-b border-ink-100 dark:border-ink-700 pb-2">
35
+ {{ t('learn.designations.normativeSection') }}
36
+ </h2>
37
+ <p class="text-sm text-ink-500 dark:text-ink-400 mb-4">
38
+ {{ t('learn.designations.normativeIntro') }}
39
+ </p>
40
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
41
+ <LearnCard
42
+ :title="t('learn.designations.preferred.label')"
43
+ iso-reference="ISO 10241-1:2011 §3.4.1.3.1"
44
+ learn-more-url="https://www.glossarist.org/model/designations"
45
+ >
46
+ <p>{{ t('learn.designations.preferred.meaning') }}</p>
47
+ <p class="mt-3 text-xs italic text-ink-500 dark:text-ink-400">
48
+ {{ t('learn.designations.preferred.multipleNote') }}
49
+ </p>
50
+ <template #example>
51
+ VIM 1.9: <strong>measurement unit</strong> (preferred) — the primary term.
52
+ </template>
53
+ </LearnCard>
54
+
55
+ <LearnCard
56
+ :title="t('learn.designations.admitted.label')"
57
+ iso-reference="ISO 10241-1:2011 §3.4.1.3.2"
58
+ >
59
+ <p>{{ t('learn.designations.admitted.meaning') }}</p>
60
+ <p class="mt-3 text-xs italic text-ink-500 dark:text-ink-400">
61
+ {{ t('learn.designations.admitted.multipleNote') }}
62
+ </p>
63
+ <template #example>
64
+ VIM 1.9: <strong>unit of measurement</strong> (admitted) — a synonym for "measurement unit".
65
+ </template>
66
+ </LearnCard>
67
+
68
+ <LearnCard
69
+ :title="t('learn.designations.deprecated.label')"
70
+ iso-reference="ISO 10241-1:2011 §3.4.1.3.3"
71
+ >
72
+ <p>{{ t('learn.designations.deprecated.meaning') }}</p>
73
+ <p class="mt-3 text-xs italic text-ink-500 dark:text-ink-400">
74
+ {{ t('learn.designations.deprecated.multipleNote') }}
75
+ </p>
76
+ <template #example>
77
+ A term still in use but discouraged, e.g. an outdated spelling or a vendor name
78
+ used as a generic term.
79
+ </template>
80
+ </LearnCard>
81
+ </div>
82
+ </section>
83
+
84
+ <!-- ── Kinds and forms of term ───────────────────────────────── -->
85
+ <section class="mb-12" :aria-label="t('learn.designations.kindsSection')">
86
+ <h2 class="text-xl font-semibold text-ink-700 dark:text-ink-100 mb-4 border-b border-ink-100 dark:border-ink-700 pb-2">
87
+ {{ t('learn.designations.kindsSection') }}
88
+ </h2>
89
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
90
+ <LearnCard
91
+ :title="t('learn.designations.fullForm.label')"
92
+ iso-reference="ISO 10241-1:2011 §3.4.1.2.3"
93
+ >
94
+ <p>{{ t('learn.designations.fullForm.meaning') }}</p>
95
+ <template #example>
96
+ <strong>compact disc</strong> is the full form of "CD".
97
+ </template>
98
+ </LearnCard>
99
+
100
+ <LearnCard
101
+ :title="t('learn.designations.abbreviatedForm.label')"
102
+ iso-reference="ISO 10241-1:2011 §3.4.1.2.4"
103
+ >
104
+ <p>{{ t('learn.designations.abbreviatedForm.meaning') }}</p>
105
+ <p class="mt-3 text-xs italic text-ink-500 dark:text-ink-400">
106
+ {{ t('learn.designations.abbreviatedForm.multipleNote') }}
107
+ </p>
108
+ <template #example>
109
+ <strong>CD</strong> is the abbreviated form of "compact disc".
110
+ World Wide Web has two: <strong>WWW</strong> and <strong>W3</strong>.
111
+ </template>
112
+ </LearnCard>
113
+
114
+ <LearnCard
115
+ :title="t('learn.designations.borrowed.label')"
116
+ iso-reference="ISO 10241-1:2011 §3.4.1.2.1"
117
+ >
118
+ <p>{{ t('learn.designations.borrowed.meaning') }}</p>
119
+ <template #example>
120
+ English "kindergarten" (borrowed from German).
121
+ </template>
122
+ </LearnCard>
123
+
124
+ <LearnCard
125
+ :title="t('learn.designations.variant.label')"
126
+ iso-reference="ISO 10241-1:2011 §3.4.1.2.2"
127
+ >
128
+ <p>{{ t('learn.designations.variant.meaning') }}</p>
129
+ <template #example>
130
+ <strong>colour</strong> (UK) ↔ <strong>color</strong> (US);
131
+ <strong>multi-word term</strong> ↔ <strong>multiword term</strong>.
132
+ </template>
133
+ </LearnCard>
134
+ </div>
135
+ </section>
136
+
137
+ <!-- ── Designation types ─────────────────────────────────────── -->
138
+ <section :aria-label="t('learn.designations.typesSection')">
139
+ <h2 class="text-xl font-semibold text-ink-700 dark:text-ink-100 mb-4 border-b border-ink-100 dark:border-ink-700 pb-2">
140
+ {{ t('learn.designations.typesSection') }}
141
+ </h2>
142
+ <p class="text-sm text-ink-500 dark:text-ink-400 mb-4">
143
+ {{ t('learn.designations.typesIntro') }}
144
+ </p>
145
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
146
+ <LearnCard
147
+ :title="t('learn.designations.term.label')"
148
+ iso-reference="ISO 704:2022 §7.3"
149
+ >
150
+ <p>{{ t('learn.designations.term.meaning') }}</p>
151
+ <template #example>
152
+ <strong>system of quantities</strong> (VIM 1.3)
153
+ </template>
154
+ </LearnCard>
155
+
156
+ <LearnCard
157
+ :title="t('learn.designations.acronym.label')"
158
+ iso-reference="ISO 704:2022 §7.3.2"
159
+ >
160
+ <p>{{ t('learn.designations.acronym.meaning') }}</p>
161
+ <template #example>
162
+ <strong>laser</strong> — light amplification by stimulated emission of radiation.
163
+ Pronounced as one word.
164
+ </template>
165
+ </LearnCard>
166
+
167
+ <LearnCard
168
+ :title="t('learn.designations.initialism.label')"
169
+ iso-reference="ISO 704:2022 §7.3.2"
170
+ >
171
+ <p>{{ t('learn.designations.initialism.meaning') }}</p>
172
+ <template #example>
173
+ <strong>OIML</strong> — Organisation Internationale de Métrologie Légale.
174
+ Each letter pronounced separately.
175
+ </template>
176
+ </LearnCard>
177
+
178
+ <LearnCard
179
+ :title="t('learn.designations.symbol.label')"
180
+ iso-reference="ISO 704:2022 §7.5 + ISO 80000"
181
+ >
182
+ <p>{{ t('learn.designations.symbol.meaning') }}</p>
183
+ <template #example>
184
+ <strong>kg</strong> for kilogram. <strong>m/s</strong> for metre per second.
185
+ </template>
186
+ </LearnCard>
187
+ </div>
188
+ </section>
189
+ </div>
190
+ </template>
@@ -0,0 +1,75 @@
1
+ <script setup lang="ts">
2
+ /**
3
+ * LearnIndexView — entry point for the /learn section.
4
+ *
5
+ * Cards link to each topic with a one-line description. Phase 1 pages
6
+ * (relationships, designations, statuses) are linked; Phase 2 pages
7
+ * are not yet wired.
8
+ *
9
+ * Reader-focused: this section explains how to READ this site and the
10
+ * terminology behind its labels. For authoring datasets in glossarist
11
+ * format, see glossarist.org.
12
+ */
13
+ import { useI18n } from '../../i18n';
14
+ import LearnCard from '../../components/learn/LearnCard.vue';
15
+
16
+ const { t } = useI18n();
17
+
18
+ interface TopicLink {
19
+ to: string;
20
+ title: string;
21
+ description: string;
22
+ }
23
+
24
+ const phase1Topics: readonly TopicLink[] = [
25
+ {
26
+ to: '/learn/relationships',
27
+ title: t('learn.relationships.title'),
28
+ description: t('learn.relationships.short'),
29
+ },
30
+ {
31
+ to: '/learn/designations',
32
+ title: t('learn.designations.title'),
33
+ description: t('learn.designations.short'),
34
+ },
35
+ {
36
+ to: '/learn/statuses',
37
+ title: t('learn.statuses.title'),
38
+ description: t('learn.statuses.short'),
39
+ },
40
+ ];
41
+ </script>
42
+
43
+ <template>
44
+ <div class="learn-index max-w-5xl mx-auto px-4 py-8">
45
+ <header class="mb-8">
46
+ <h1 class="text-3xl font-serif text-ink-800 dark:text-ink-50 mb-2">
47
+ {{ t('nav.learn') }}
48
+ </h1>
49
+ <p class="text-ink-500 dark:text-ink-300 max-w-2xl">{{ t('learn.intro') }}</p>
50
+ </header>
51
+
52
+ <nav class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4" aria-label="Learn topics">
53
+ <RouterLink v-for="topic in phase1Topics" :key="topic.to" :to="topic.to"
54
+ class="learn-topic-link block no-underline">
55
+ <LearnCard :title="topic.title">
56
+ <div class="flex items-center justify-between">
57
+ <h2 class="text-base font-semibold text-ink-800 dark:text-ink-50">{{ topic.title }}</h2>
58
+ <span class="text-ink-300 dark:text-ink-500 text-sm">→</span>
59
+ </div>
60
+ <p class="text-sm text-ink-600 dark:text-ink-300 mt-1">{{ topic.description }}</p>
61
+ </LearnCard>
62
+ </RouterLink>
63
+ </nav>
64
+
65
+ <p class="text-xs text-ink-400 dark:text-ink-500 mt-8">
66
+ {{ t('learn.glossaristOrgNote') }}
67
+ </p>
68
+ </div>
69
+ </template>
70
+
71
+ <style scoped>
72
+ .learn-topic-link:hover :deep(.learn-card) {
73
+ border-color: var(--color-accent, #0d9488);
74
+ }
75
+ </style>