glam/.opencode/rules/class-multilingual-support-rule.md

158 lines
5.5 KiB
Markdown

# Class Multilingual Support Rule
## Rule: All Class Files Must Include Multilingual Descriptions and Aliases
Every class file must provide `alt_descriptions` and `structured_aliases` in all supported languages to ensure internationalization and interoperability with multilingual heritage systems.
### Required Languages
| Code | Language |
|------|----------|
| `nl` | Dutch |
| `de` | German |
| `fr` | French |
| `es` | Spanish |
| `ar` | Arabic |
| `id` | Indonesian |
| `zh` | Chinese |
### Structure
#### alt_descriptions
Provide translated descriptions for each supported language:
```yaml
classes:
AcademicArchiveRecordSetType:
description: >-
Category for grouping documentary materials accumulated by tertiary
educational institutions during their administrative, academic, and
operational activities.
alt_descriptions:
nl: >-
Categorie voor het groeperen van documentair materiaal dat door
hogeronderwijsinstellingen is verzameld tijdens hun administratieve,
academische en operationele activiteiten.
de: >-
Kategorie zur Gruppierung von Dokumentenmaterial, das von Hochschulen
während ihrer administrativen, akademischen und betrieblichen Aktivitäten
angesammelt wurde.
fr: >-
Catégorie de regroupement des documents accumulés par les établissements
d'enseignement supérieur au cours de leurs activités administratives,
académiques et opérationnelles.
es: >-
Categoría para agrupar materiales documentales acumulados por instituciones
de educación superior durante sus actividades administrativas, académicas
y operativas.
ar: >-
فئة لتجميع المواد الوثائقية التي جمعتها مؤسسات التعليم العالي
خلال أنشطتها الإدارية والأكاديمية والتشغيلية.
id: >-
Kategori untuk mengelompokkan materi dokumenter yang dikumpulkan oleh
institusi pendidikan tinggi selama aktivitas administratif, akademik,
dan operasional mereka.
zh: >-
高等教育机构在行政、学术和运营活动中积累的文献材料的分类类别。
```
#### structured_aliases
Provide language-specific aliases/alternative names:
```yaml
classes:
AcademicArchiveRecordSetType:
structured_aliases:
- literal_form: academisch archiefbestand
in_language: nl
- literal_form: Hochschularchivbestand
in_language: de
- literal_form: fonds d'archives académiques
in_language: fr
- literal_form: fondo de archivo académico
in_language: es
- literal_form: أرشيف أكاديمي
in_language: ar
- literal_form: koleksi arsip akademik
in_language: id
- literal_form: 学术档案集
in_language: zh
```
### Complete Example
```yaml
id: https://nde.nl/ontology/hc/class/AcademicArchiveRecordSetType
name: AcademicArchiveRecordSetType
title: Academic Archive Record Set Type
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
- ../classes/CollectionType
classes:
AcademicArchiveRecordSetType:
description: >-
Category for grouping documentary materials accumulated by tertiary
educational institutions during their administrative, academic, and
operational activities.
alt_descriptions:
nl: >-
Categorie voor het groeperen van documentair materiaal dat door
hogeronderwijsinstellingen is verzameld.
de: >-
Kategorie zur Gruppierung von Dokumentenmaterial, das von Hochschulen
angesammelt wurde.
fr: >-
Catégorie de regroupement des documents accumulés par les établissements
d'enseignement supérieur.
es: >-
Categoría para agrupar materiales documentales acumulados por instituciones
de educación superior.
ar: >-
فئة لتجميع المواد الوثائقية التي جمعتها مؤسسات التعليم العالي.
id: >-
Kategori untuk mengelompokkan materi dokumenter yang dikumpulkan oleh
institusi pendidikan tinggi.
zh: >-
高等教育机构积累的文献材料的分类类别。
structured_aliases:
- literal_form: academisch archiefbestand
in_language: nl
- literal_form: Hochschularchivbestand
in_language: de
- literal_form: fonds d'archives académiques
in_language: fr
- literal_form: fondo de archivo académico
in_language: es
- literal_form: أرشيف أكاديمي
in_language: ar
- literal_form: koleksi arsip akademik
in_language: id
- literal_form: 学术档案集
in_language: zh
is_a: CollectionType
# ... rest of class definition
```
### Translation Guidelines
1. **Accuracy over literal translation**: Translate the concept, not word-by-word
2. **Use domain-appropriate terminology**: Use archival/library/museum terminology standard in each language
3. **Consult existing vocabularies**: Reference RiC-O, ISAD(G), AAT translations when available
4. **Maintain consistency**: Same term should be translated consistently across all class files
### Checklist
For each class file, verify:
- [ ] `alt_descriptions` present with all 7 languages
- [ ] `structured_aliases` present with all 7 languages
- [ ] Translations are accurate and domain-appropriate
- [ ] Arabic text is properly encoded (RTL)
- [ ] Chinese uses simplified characters (zh) unless traditional specified (zh-hant)