@_linked/translation 0.8.2 → 0.9.0

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.
@@ -0,0 +1,489 @@
1
+ @prefix translation: <https://linked.cm/ont/translation/> .
2
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
3
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
4
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
5
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
6
+ @prefix dcterms: <http://purl.org/dc/terms/> .
7
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
8
+ @prefix schema: <http://schema.org/> .
9
+
10
+ translation:
11
+ a owl:Ontology ;
12
+ dcterms:description "Terms of translation keys, their versions, per-language units, revisions, releases, glossary and inventory."@en ;
13
+ dcterms:title "Linked translation"@en ;
14
+ owl:versionInfo "0.9.0" .
15
+
16
+ translation:GlossaryTerm
17
+ a owl:Class ;
18
+ rdfs:comment "A glossary entry that steers machine translation, such as a brand name to keep or a spelling to forbid."@en ;
19
+ rdfs:label "glossary term"@en .
20
+
21
+ translation:TranslationInventoryOrigin
22
+ a owl:Class ;
23
+ rdfs:comment "One place a branch's translation inventory observed a key, such as a source file line or a shape property."@en ;
24
+ rdfs:label "translation inventory origin"@en .
25
+
26
+ translation:TranslationKey
27
+ a owl:Class ;
28
+ rdfs:comment "A translatable key, either a UI string (kind ui) or a field of a graph node (kind content), with its canonical English source text."@en ;
29
+ rdfs:label "translation key"@en .
30
+
31
+ translation:TranslationKeyVersion
32
+ a owl:Class ;
33
+ rdfs:comment "An immutable version of a key's source text and runtime argument contract."@en ;
34
+ rdfs:label "translation key version"@en .
35
+
36
+ translation:TranslationLanguage
37
+ a owl:Class ;
38
+ rdfs:comment "A language an app is configured for, identified by its BCP-47 tag."@en ;
39
+ rdfs:label "translation language"@en .
40
+
41
+ translation:TranslationRelease
42
+ a owl:Class ;
43
+ rdfs:comment "Graph metadata of an immutable translation release, whose key and language selection lives in a content-addressed manifest."@en ;
44
+ rdfs:label "translation release"@en .
45
+
46
+ translation:TranslationRevision
47
+ a owl:Class ;
48
+ rdfs:comment "One append-only authored value for a key and language: a change in its history, a translator's proposal or a machine suggestion."@en ;
49
+ rdfs:label "translation revision"@en .
50
+
51
+ translation:TranslationUnit
52
+ a owl:Class ;
53
+ rdfs:comment "One language's current value for a translation key, with its review state and provenance."@en ;
54
+ rdfs:label "translation unit"@en .
55
+
56
+ translation:argumentSignature
57
+ a owl:DatatypeProperty ;
58
+ rdfs:comment "The runtime arguments a key version's message takes."@en ;
59
+ rdfs:label "argument signature"@en .
60
+
61
+ translation:author
62
+ a owl:ObjectProperty ;
63
+ rdfs:comment "The WebID or machine translation provider that wrote a revision."@en ;
64
+ rdfs:label "author"@en .
65
+
66
+ translation:authorKind
67
+ a owl:DatatypeProperty ;
68
+ rdfs:comment "Whether a revision was written by a human or a machine."@en ;
69
+ rdfs:label "author kind"@en .
70
+
71
+ translation:autoPublish
72
+ a owl:DatatypeProperty ;
73
+ rdfs:comment "Whether an edit publishes translations automatically (off by default)."@en ;
74
+ rdfs:label "auto publish"@en .
75
+
76
+ translation:basedOnText
77
+ a owl:DatatypeProperty ;
78
+ rdfs:comment "The unit's text when a revision was written, to detect conflicts."@en ;
79
+ rdfs:label "based on text"@en .
80
+
81
+ translation:branch
82
+ a owl:ObjectProperty ;
83
+ rdfs:comment "The branch a translation release was built from."@en ;
84
+ rdfs:label "branch"@en .
85
+
86
+ translation:buildId
87
+ a owl:DatatypeProperty ;
88
+ rdfs:comment "The identifier of the build a translation release was cut for."@en ;
89
+ rdfs:label "build id"@en .
90
+
91
+ translation:caseSensitive
92
+ a owl:DatatypeProperty ;
93
+ rdfs:comment "Whether a glossary term matches only with its exact casing."@en ;
94
+ rdfs:label "case sensitive"@en .
95
+
96
+ translation:cdnTarget
97
+ a owl:DatatypeProperty ;
98
+ rdfs:comment "The base URL or bucket prefix translations are delivered to."@en ;
99
+ rdfs:label "CDN target"@en .
100
+
101
+ translation:channel
102
+ a owl:DatatypeProperty ;
103
+ rdfs:comment "The delivery channel of a translation release, preview or production."@en ;
104
+ rdfs:label "channel"@en .
105
+
106
+ translation:contractHash
107
+ a owl:DatatypeProperty ;
108
+ rdfs:comment "The hash of a key version's source text and argument contract."@en ;
109
+ rdfs:label "contract hash"@en .
110
+
111
+ translation:contractSetHash
112
+ a owl:DatatypeProperty ;
113
+ rdfs:comment "The hash of every key contract a release covers."@en ;
114
+ rdfs:label "contract set hash"@en .
115
+
116
+ translation:createdAt
117
+ a owl:DatatypeProperty ;
118
+ rdfs:comment "When a key version, release or revision was created."@en ;
119
+ rdfs:label "created at"@en .
120
+
121
+ translation:createdBy
122
+ a owl:ObjectProperty ;
123
+ rdfs:comment "The WebID that created a key version."@en ;
124
+ rdfs:label "created by"@en .
125
+
126
+ translation:currentVersion
127
+ a owl:ObjectProperty ;
128
+ rdfs:comment "The key version that is a translation key's current source."@en ;
129
+ rdfs:label "current version"@en .
130
+
131
+ translation:decidedAt
132
+ a owl:DatatypeProperty ;
133
+ rdfs:comment "When a proposed or suggested revision was accepted or rejected."@en ;
134
+ rdfs:label "decided at"@en .
135
+
136
+ translation:decidedBy
137
+ a owl:ObjectProperty ;
138
+ rdfs:comment "The WebID of the reviewer who decided a revision."@en ;
139
+ rdfs:label "decided by"@en .
140
+
141
+ translation:defaultLanguage
142
+ a owl:DatatypeProperty ;
143
+ rdfs:comment "The BCP-47 tag of the app's authored source language."@en ;
144
+ rdfs:label "default language"@en .
145
+
146
+ translation:description
147
+ a owl:DatatypeProperty ;
148
+ rdfs:comment "A note that tells translators what a key or glossary term means and where it appears."@en ;
149
+ rdfs:label "description"@en .
150
+
151
+ translation:englishName
152
+ a owl:DatatypeProperty ;
153
+ rdfs:comment "A language's name in English."@en ;
154
+ rdfs:label "English name"@en .
155
+
156
+ translation:fallbackLanguage
157
+ a owl:ObjectProperty ;
158
+ rdfs:comment "The language whose text is shown when a value is missing in this one."@en ;
159
+ rdfs:label "fallback language"@en .
160
+
161
+ translation:format
162
+ a owl:DatatypeProperty ;
163
+ rdfs:comment "The message syntax of a key's text, simple or icu."@en ;
164
+ rdfs:label "format"@en .
165
+
166
+ translation:fromPackage
167
+ a owl:DatatypeProperty ;
168
+ rdfs:comment "The package whose seed catalog supplied a key."@en ;
169
+ rdfs:label "from package"@en .
170
+
171
+ translation:glossaryLanguage
172
+ a owl:DatatypeProperty ;
173
+ rdfs:comment "The BCP-47 tag of the language a glossary translation is for."@en ;
174
+ rdfs:label "glossary language"@en .
175
+
176
+ translation:glossaryTranslation
177
+ a owl:DatatypeProperty ;
178
+ rdfs:comment "The required translation of a glossary term."@en ;
179
+ rdfs:label "glossary translation"@en .
180
+
181
+ translation:hotfixSequence
182
+ a owl:DatatypeProperty ;
183
+ rdfs:comment "The hotfix number of a release on top of its base release."@en ;
184
+ rdfs:label "hotfix sequence"@en .
185
+
186
+ translation:inventoryAuthoritative
187
+ a owl:DatatypeProperty ;
188
+ rdfs:comment "Whether an inventory origin is the authoritative one for its key."@en ;
189
+ rdfs:label "inventory authoritative"@en .
190
+
191
+ translation:inventoryBranch
192
+ a owl:ObjectProperty ;
193
+ rdfs:comment "The branch an inventory origin was observed on."@en ;
194
+ rdfs:label "inventory branch"@en .
195
+
196
+ translation:inventoryFile
197
+ a owl:DatatypeProperty ;
198
+ rdfs:comment "The source file an inventory origin was found in."@en ;
199
+ rdfs:label "inventory file"@en .
200
+
201
+ translation:inventoryIdentity
202
+ a owl:DatatypeProperty ;
203
+ rdfs:comment "The stable identity of an inventory item across observations."@en ;
204
+ rdfs:label "inventory identity"@en .
205
+
206
+ translation:inventoryLine
207
+ a owl:DatatypeProperty ;
208
+ rdfs:comment "The line of the source file an inventory origin was found on."@en ;
209
+ rdfs:label "inventory line"@en .
210
+
211
+ translation:inventoryNode
212
+ a owl:ObjectProperty ;
213
+ rdfs:comment "The IRI of the graph node an inventory origin was found on."@en ;
214
+ rdfs:label "inventory node"@en .
215
+
216
+ translation:inventoryObservedAt
217
+ a owl:DatatypeProperty ;
218
+ rdfs:comment "When an inventory origin was last observed."@en ;
219
+ rdfs:label "inventory observed at"@en .
220
+
221
+ translation:inventoryOwner
222
+ a owl:ObjectProperty ;
223
+ rdfs:comment "The IRI of the node that owns an inventory origin."@en ;
224
+ rdfs:label "inventory owner"@en .
225
+
226
+ translation:inventoryProperty
227
+ a owl:ObjectProperty ;
228
+ rdfs:comment "The IRI of the property an inventory origin was found on."@en ;
229
+ rdfs:label "inventory property"@en .
230
+
231
+ translation:inventoryShape
232
+ a owl:ObjectProperty ;
233
+ rdfs:comment "The IRI of the shape an inventory origin was found on."@en ;
234
+ rdfs:label "inventory shape"@en .
235
+
236
+ translation:inventorySource
237
+ a owl:DatatypeProperty ;
238
+ rdfs:comment "The kind of source an inventory origin was found in."@en ;
239
+ rdfs:label "inventory source"@en .
240
+
241
+ translation:inventorySourceId
242
+ a owl:DatatypeProperty ;
243
+ rdfs:comment "The identifier of the source an inventory origin was found in."@en ;
244
+ rdfs:label "inventory source id"@en .
245
+
246
+ translation:inventoryStatus
247
+ a owl:DatatypeProperty ;
248
+ rdfs:comment "The status of an inventory origin: confirmed, pending, conflict or orphaned."@en ;
249
+ rdfs:label "inventory status"@en .
250
+
251
+ translation:inventoryTargetClass
252
+ a owl:DatatypeProperty ;
253
+ rdfs:comment "The target class of the shape an inventory origin was found on, as a literal."@en ;
254
+ rdfs:label "inventory target class"@en .
255
+
256
+ translation:key
257
+ a owl:DatatypeProperty ;
258
+ rdfs:comment "A translation key's name within its namespace."@en ;
259
+ rdfs:label "key"@en .
260
+
261
+ translation:kind
262
+ a owl:DatatypeProperty ;
263
+ rdfs:comment "Whether a translation key is a UI string (ui) or a field of a graph node (content)."@en ;
264
+ rdfs:label "kind"@en .
265
+
266
+ translation:language
267
+ a owl:DatatypeProperty ;
268
+ rdfs:comment "The BCP-47 tag of a unit's or revision's language."@en ;
269
+ rdfs:label "language"@en .
270
+
271
+ translation:languageCode
272
+ a owl:DatatypeProperty ;
273
+ rdfs:comment "The BCP-47 tag of a configured language."@en ;
274
+ rdfs:label "language code"@en .
275
+
276
+ translation:languageEnabled
277
+ a owl:DatatypeProperty ;
278
+ rdfs:comment "Whether a configured language is switched on for the app."@en ;
279
+ rdfs:label "language enabled"@en .
280
+
281
+ translation:languageIdentifier
282
+ a owl:ObjectProperty ;
283
+ rdfs:comment "The IRI that identifies a configured language."@en ;
284
+ rdfs:label "language identifier"@en .
285
+
286
+ translation:languageSupported
287
+ a owl:DatatypeProperty ;
288
+ rdfs:comment "Whether a language is supported by the app."@en ;
289
+ rdfs:label "language supported"@en .
290
+
291
+ translation:languages
292
+ a owl:DatatypeProperty ;
293
+ rdfs:comment "A BCP-47 tag the app's translation is active for, the source language included; multi-valued."@en ;
294
+ rdfs:label "languages"@en .
295
+
296
+ translation:manifestHash
297
+ a owl:DatatypeProperty ;
298
+ rdfs:comment "The hash of a release's content-addressed manifest."@en ;
299
+ rdfs:label "manifest hash"@en .
300
+
301
+ translation:mtDefault
302
+ a owl:DatatypeProperty ;
303
+ rdfs:comment "The key of the app's default machine translation provider."@en ;
304
+ rdfs:label "default MT provider"@en .
305
+
306
+ translation:mtFormality
307
+ a owl:DatatypeProperty ;
308
+ rdfs:comment "The formality machine translation uses, for the app (formal) or per language (de:informal); multi-valued."@en ;
309
+ rdfs:label "MT formality"@en .
310
+
311
+ translation:mtProvider
312
+ a owl:DatatypeProperty ;
313
+ rdfs:comment "The key of the machine translation provider that wrote a revision."@en ;
314
+ rdfs:label "MT provider"@en .
315
+
316
+ translation:mtStyleNote
317
+ a owl:DatatypeProperty ;
318
+ rdfs:comment "Free-text tone guidance given to LLM machine translation providers."@en ;
319
+ rdfs:label "MT style note"@en .
320
+
321
+ translation:namespace
322
+ a owl:DatatypeProperty ;
323
+ rdfs:comment "The namespace a translation key belongs to."@en ;
324
+ rdfs:label "namespace"@en .
325
+
326
+ translation:nativeName
327
+ a owl:DatatypeProperty ;
328
+ rdfs:comment "A language's name in that language."@en ;
329
+ rdfs:label "native name"@en .
330
+
331
+ translation:note
332
+ a owl:DatatypeProperty ;
333
+ rdfs:comment "A translator's or reviewer's comment on a revision."@en ;
334
+ rdfs:label "note"@en .
335
+
336
+ translation:ofApplication
337
+ a owl:ObjectProperty ;
338
+ rdfs:comment "The app a translation key, unit, revision, release or inventory record belongs to."@en ;
339
+ rdfs:label "of application"@en .
340
+
341
+ translation:ofField
342
+ a owl:DatatypeProperty ;
343
+ rdfs:comment "The field (property) of the node a content translation key translates."@en ;
344
+ rdfs:label "of field"@en .
345
+
346
+ translation:ofKey
347
+ a owl:ObjectProperty ;
348
+ rdfs:comment "The translation key a unit, revision or key version belongs to."@en ;
349
+ rdfs:label "of key"@en .
350
+
351
+ translation:ofKeyVersion
352
+ a owl:ObjectProperty ;
353
+ rdfs:comment "The key version a unit or revision was written against."@en ;
354
+ rdfs:label "of key version"@en .
355
+
356
+ translation:ofNode
357
+ a owl:ObjectProperty ;
358
+ rdfs:comment "The graph node whose field a content translation key translates."@en ;
359
+ rdfs:label "of node"@en .
360
+
361
+ translation:ofProperty
362
+ a owl:ObjectProperty ;
363
+ rdfs:comment "The predicate a package-supplied key is about."@en ;
364
+ rdfs:label "of property"@en .
365
+
366
+ translation:ofResource
367
+ a owl:ObjectProperty ;
368
+ rdfs:comment "Any other semantic resource a key is about, such as an action, group, condition or port."@en ;
369
+ rdfs:label "of resource"@en .
370
+
371
+ translation:ofShape
372
+ a owl:ObjectProperty ;
373
+ rdfs:comment "The SHACL shape a package-supplied key is about."@en ;
374
+ rdfs:label "of shape"@en .
375
+
376
+ translation:origin
377
+ a owl:DatatypeProperty ;
378
+ rdfs:comment "Where a unit's current value came from, such as translation memory (tm)."@en ;
379
+ rdfs:label "origin"@en .
380
+
381
+ translation:overridden
382
+ a owl:DatatypeProperty ;
383
+ rdfs:comment "Marks a shape key the app changed from its canonical text, so shape propagation leaves it alone."@en ;
384
+ rdfs:label "overridden"@en .
385
+
386
+ translation:parentLanguage
387
+ a owl:ObjectProperty ;
388
+ rdfs:comment "The broader language a regional language belongs to (de for de-CH)."@en ;
389
+ rdfs:label "parent language"@en .
390
+
391
+ translation:publishedAt
392
+ a owl:DatatypeProperty ;
393
+ rdfs:comment "When a translation release was published."@en ;
394
+ rdfs:label "published at"@en .
395
+
396
+ translation:qualitySummary
397
+ a owl:DatatypeProperty ;
398
+ rdfs:comment "A summary of the review state of the values in a release."@en ;
399
+ rdfs:label "quality summary"@en .
400
+
401
+ translation:releaseId
402
+ a owl:DatatypeProperty ;
403
+ rdfs:comment "The identifier of a translation release."@en ;
404
+ rdfs:label "release id"@en .
405
+
406
+ translation:reviewedOnlyLanguage
407
+ a owl:DatatypeProperty ;
408
+ rdfs:comment "A BCP-47 tag whose translations are published only once reviewed; multi-valued."@en ;
409
+ rdfs:label "reviewed-only language"@en .
410
+
411
+ translation:shapeSource
412
+ a owl:DatatypeProperty ;
413
+ rdfs:comment "The canonical source text at the moment a shape key was overridden, which clearing the override restores."@en ;
414
+ rdfs:label "shape source"@en .
415
+
416
+ translation:sourceHash
417
+ a owl:DatatypeProperty ;
418
+ rdfs:comment "The hash of a key version's source text."@en ;
419
+ rdfs:label "source hash"@en .
420
+
421
+ translation:sourceLanguage
422
+ a owl:DatatypeProperty ;
423
+ rdfs:comment "The BCP-47 tag of the language a key version's source text is in."@en ;
424
+ rdfs:label "source language"@en .
425
+
426
+ translation:sourceText
427
+ a owl:DatatypeProperty ;
428
+ rdfs:comment "The canonical English text of a translation key or key version."@en ;
429
+ rdfs:label "source text"@en .
430
+
431
+ translation:state
432
+ a owl:DatatypeProperty ;
433
+ rdfs:comment "The review state of a translation unit: untranslated, machine, reviewed or stale."@en ;
434
+ rdfs:label "state"@en .
435
+
436
+ translation:status
437
+ a owl:DatatypeProperty ;
438
+ rdfs:comment "The state of a release (draft, published, superseded, retired) or of a revision (applied, proposed, suggested, accepted, rejected, superseded)."@en ;
439
+ rdfs:label "status"@en .
440
+
441
+ translation:supersedes
442
+ a owl:ObjectProperty ;
443
+ rdfs:comment "The key version or release this one replaces."@en ;
444
+ rdfs:label "supersedes"@en .
445
+
446
+ translation:supportedUntil
447
+ a owl:DatatypeProperty ;
448
+ rdfs:comment "Until when a translation release is supported."@en ;
449
+ rdfs:label "supported until"@en .
450
+
451
+ translation:term
452
+ a owl:DatatypeProperty ;
453
+ rdfs:comment "The source-language term a glossary entry is about."@en ;
454
+ rdfs:label "term"@en .
455
+
456
+ translation:termType
457
+ a owl:DatatypeProperty ;
458
+ rdfs:comment "How machine translation treats a glossary term: prefer, require, keep or forbid."@en ;
459
+ rdfs:label "term type"@en .
460
+
461
+ translation:text
462
+ a owl:DatatypeProperty ;
463
+ rdfs:comment "The translated text of a unit or revision."@en ;
464
+ rdfs:label "text"@en .
465
+
466
+ translation:textDirection
467
+ a owl:DatatypeProperty ;
468
+ rdfs:comment "Whether a language is written left-to-right or right-to-left."@en ;
469
+ rdfs:label "text direction"@en .
470
+
471
+ translation:updatedAt
472
+ a owl:DatatypeProperty ;
473
+ rdfs:comment "When a translation unit last changed."@en ;
474
+ rdfs:label "updated at"@en .
475
+
476
+ translation:updatedBy
477
+ a owl:ObjectProperty ;
478
+ rdfs:comment "The WebID that last changed a translation unit."@en ;
479
+ rdfs:label "updated by"@en .
480
+
481
+ translation:useInstead
482
+ a owl:DatatypeProperty ;
483
+ rdfs:comment "The replacement for a forbidden glossary term or spelling."@en ;
484
+ rdfs:label "use instead"@en .
485
+
486
+ translation:versionId
487
+ a owl:DatatypeProperty ;
488
+ rdfs:comment "The identifier of a translation key version."@en ;
489
+ rdfs:label "version id"@en .
@@ -1,12 +1,7 @@
1
- /** Lazy-load the (currently empty) serialized ontology graph. */
2
- export declare var loadData: () => Promise<{
3
- "@context": {
4
- rdf: string;
5
- rdfs: string;
6
- translation: string;
7
- };
8
- "@graph": any[];
9
- }>;
1
+ /** The package's ontology data, relative to this module (Turtle, copied into `lib/` by the build). */
2
+ export declare const dataFiles: string[];
3
+ /** Reads the package's ontology data (server only). */
4
+ export declare const loadData: () => Promise<string[]>;
10
5
  /**
11
6
  * Public ontology namespace for the translation package. First-party Linked
12
7
  * ontologies live at `https://linked.cm/ont/{ontologySlug}/{localName}`, where
@@ -1,9 +1,9 @@
1
1
  import { createNameSpace } from '@_linked/core/utils/NameSpace';
2
- /** Lazy-load the (currently empty) serialized ontology graph. */
3
- export var loadData = () => {
4
- //@ts-ignore
5
- return import('../data/translation.json', { with: { type: 'json' } }).then((data) => data.default);
6
- };
2
+ import { loadOntologyFiles } from '@_linked/core/ontology/loadOntologyFiles';
3
+ /** The package's ontology data, relative to this module (Turtle, copied into `lib/` by the build). */
4
+ export const dataFiles = ['../data/translation.ttl'];
5
+ /** Reads the package's ontology data (server only). */
6
+ export const loadData = () => loadOntologyFiles(import.meta.url, dataFiles);
7
7
  /**
8
8
  * Public ontology namespace for the translation package. First-party Linked
9
9
  * ontologies live at `https://linked.cm/ont/{ontologySlug}/{localName}`, where
@@ -1 +1 @@
1
- {"version":3,"file":"translation.js","sourceRoot":"","sources":["../../../src/ontologies/translation.ts"],"names":[],"mappings":"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","sourcesContent":["import { createNameSpace } from '@_linked/core/utils/NameSpace';\n\n/** Lazy-load the (currently empty) serialized ontology graph. */\nexport var loadData = () => {\n //@ts-ignore\n return import('../data/translation.json', { with: { type: 'json' } }).then(\n (data) => data.default\n );\n};\n\n/**\n * Public ontology namespace for the translation package. First-party Linked\n * ontologies live at `https://linked.cm/ont/{ontologySlug}/{localName}`, where\n * the ontology slug — and the prefix label — is the package's public slug\n * (the LINKED first-party ontology namespace rule). So terms are\n * `https://linked.cm/ont/translation/TranslationKey` and the prefix is\n * `translation:`. Before 0.5.0 this was `https://id.linked.cm/translation/vocab#`.\n */\nexport var ns = createNameSpace('https://linked.cm/ont/translation/');\nexport var _self = ns('');\n\n// ── Classes ─────────────────────────────────────────────────────────────\nexport var TranslationKey = ns('TranslationKey');\nexport var TranslationKeyVersion = ns('TranslationKeyVersion');\nexport var TranslationRelease = ns('TranslationRelease');\nexport var TranslationUnit = ns('TranslationUnit');\nexport var TranslationRevision = ns('TranslationRevision');\nexport var GlossaryTerm = ns('GlossaryTerm');\nexport var TranslationInventoryOrigin = ns('TranslationInventoryOrigin');\n\n// Open language resources; BCP-47 is a string identifier, not an enum.\nexport var TranslationLanguage = ns('TranslationLanguage');\nexport var languageIdentifier = ns('languageIdentifier');\nexport var languageCode = ns('languageCode');\nexport var nativeName = ns('nativeName');\nexport var englishName = ns('englishName');\nexport var textDirection = ns('textDirection');\nexport var parentLanguage = ns('parentLanguage');\nexport var fallbackLanguage = ns('fallbackLanguage');\nexport var languageEnabled = ns('languageEnabled');\nexport var languageSupported = ns('languageSupported');\n\n// ── TranslationKey properties ───────────────────────────────────────────\nexport var namespace = ns('namespace');\nexport var key = ns('key');\nexport var sourceText = ns('sourceText'); // canonical English (Plan 014 AD-J/R7)\nexport var description = ns('description');\nexport var kind = ns('kind'); // 'ui' | 'content' (AD-I)\nexport var ofApplication = ns('ofApplication'); // owning app IRI (AD-H/R2)\nexport var ofNode = ns('ofNode'); // content-translation subject (kind:'content')\nexport var ofField = ns('ofField');\nexport var ofShape = ns('ofShape'); // semantic SHACL shape context for package keys\nexport var ofProperty = ns('ofProperty'); // semantic predicate context for package keys\nexport var ofResource = ns('ofResource'); // arbitrary semantic resource (action, group, condition, port)\nexport var fromPackage = ns('fromPackage'); // package that supplied a seed catalog\nexport var overridden = ns('overridden'); // app diverged this shape key from canonical → excluded from shape propagation (AD-N)\nexport var shapeSource = ns('shapeSource'); // canonical source snapshot at override time → the value \"clear override\" reverts to (AD-N)\nexport var format = ns('format'); // 'simple' | 'icu' (AD-J/R8)\nexport var currentVersion = ns('currentVersion'); // → TranslationKeyVersion\n\n// ── TranslationKeyVersion properties (Plan 018) ────────────────────────\nexport var versionId = ns('versionId');\nexport var sourceLanguage = ns('sourceLanguage');\nexport var argumentSignature = ns('argumentSignature');\nexport var contractHash = ns('contractHash');\nexport var sourceHash = ns('sourceHash');\nexport var supersedes = ns('supersedes');\nexport var createdBy = ns('createdBy');\n\n// ── TranslationRelease properties (Plan 018) ───────────────────────────\nexport var branch = ns('branch');\nexport var releaseId = ns('releaseId');\nexport var buildId = ns('buildId');\nexport var channel = ns('channel');\nexport var contractSetHash = ns('contractSetHash');\nexport var manifestHash = ns('manifestHash');\nexport var hotfixSequence = ns('hotfixSequence');\nexport var publishedAt = ns('publishedAt');\nexport var supportedUntil = ns('supportedUntil');\nexport var qualitySummary = ns('qualitySummary');\n\n// ── CapabilityAppConfig properties (stored in the host's app configuration) ────\nexport var languages = ns('languages'); // active BCP-47 tags, including source\nexport var defaultLanguage = ns('defaultLanguage'); // authored/source language\nexport var cdnTarget = ns('cdnTarget'); // delivery base URL / bucket prefix — the \"repoint\" knob (AD-K, P2)\nexport var autoPublish = ns('autoPublish'); // boolean — overridable auto-publish-on-edit toggle (P2, default off)\nexport var reviewedOnlyLanguage = ns('reviewedOnlyLanguage'); // BCP-47 tags published reviewed-only; absence ⇒ machine-ok (AD-K/R9, P2)\nexport var mtDefault = ns('mtDefault'); // default MT provider key (AD-L, unused until P4)\nexport var mtFormality = ns('mtFormality'); // multi-value: \"formal\" (app default) or \"de:informal\" (per-language) — Plan 017 §7.4b\nexport var mtStyleNote = ns('mtStyleNote'); // free-text tone guidance fed to LLM MT providers (Plan 017 §7.4b)\n\n// ── TranslationUnit properties ──────────────────────────────────────────\nexport var ofKey = ns('ofKey'); // → TranslationKey\nexport var ofKeyVersion = ns('ofKeyVersion'); // → TranslationKeyVersion\nexport var language = ns('language'); // BCP-47 tag\nexport var text = ns('text');\nexport var state = ns('state'); // untranslated | machine | reviewed | stale\nexport var updatedAt = ns('updatedAt');\nexport var updatedBy = ns('updatedBy');\nexport var origin = ns('origin'); // current-value provenance, e.g. `tm`\n\n// ── TranslationRevision properties (Plan 017 AD-P) ─────────────────────\n// One append-only node per authored value: history (`applied`), translator\n// proposals (`proposed`), and MT suggestions (`suggested`) share the shape.\nexport var status = ns('status'); // applied | proposed | suggested | accepted | rejected | superseded\nexport var author = ns('author'); // WebID or MT provider IRI\nexport var authorKind = ns('authorKind'); // 'human' | 'machine'\nexport var mtProvider = ns('mtProvider'); // provider key when authorKind=machine\nexport var basedOnText = ns('basedOnText'); // unit text at authoring time (conflict detection)\nexport var note = ns('note'); // translator/reviewer comment\nexport var createdAt = ns('createdAt');\nexport var decidedAt = ns('decidedAt'); // when a proposal/suggestion was accepted/rejected\nexport var decidedBy = ns('decidedBy'); // WebID of the reviewer\n\n// ── GlossaryTerm properties ─────────────────────────────────────────────\nexport var term = ns('term');\nexport var glossaryTranslation = ns('glossaryTranslation');\nexport var glossaryLanguage = ns('glossaryLanguage');\nexport var termType = ns('termType'); // prefer | require | keep | forbid (Plan 017 B2-1 termbase)\nexport var useInstead = ns('useInstead'); // replacement for a forbidden term/spelling\nexport var caseSensitive = ns('caseSensitive'); // boolean — exact-casing matching (proper nouns)\n\n// ── Branch translation inventory metadata (Plan 017 Phase 8b) ─────────\n// These records are materialized into the active branch metadata dataset,\n// never app data. Confirmed TranslationKey/TranslationUnit records retain\n// their existing app-data placement.\nexport var inventoryBranch = ns('inventoryBranch');\nexport var inventoryIdentity = ns('inventoryIdentity');\nexport var inventoryStatus = ns('inventoryStatus');\nexport var inventorySource = ns('inventorySource');\nexport var inventorySourceId = ns('inventorySourceId');\nexport var inventoryAuthoritative = ns('inventoryAuthoritative');\nexport var inventoryFile = ns('inventoryFile');\nexport var inventoryLine = ns('inventoryLine');\nexport var inventoryOwner = ns('inventoryOwner');\nexport var inventoryShape = ns('inventoryShape');\nexport var inventoryProperty = ns('inventoryProperty');\nexport var inventoryNode = ns('inventoryNode');\nexport var inventoryTargetClass = ns('inventoryTargetClass');\nexport var inventoryObservedAt = ns('inventoryObservedAt');\n\n/** Grouped export for prefix/name access. */\nexport const tr = {\n TranslationLanguage,\n languageIdentifier,\n languageCode,\n nativeName,\n englishName,\n textDirection,\n parentLanguage,\n fallbackLanguage,\n languageEnabled,\n languageSupported,\n TranslationKey,\n TranslationKeyVersion,\n TranslationRelease,\n TranslationUnit,\n TranslationRevision,\n GlossaryTerm,\n TranslationInventoryOrigin,\n namespace,\n key,\n sourceText,\n description,\n kind,\n ofApplication,\n ofNode,\n ofField,\n ofShape,\n ofProperty,\n ofResource,\n fromPackage,\n overridden,\n shapeSource,\n format,\n currentVersion,\n versionId,\n sourceLanguage,\n argumentSignature,\n contractHash,\n sourceHash,\n supersedes,\n createdBy,\n branch,\n releaseId,\n buildId,\n channel,\n contractSetHash,\n manifestHash,\n hotfixSequence,\n publishedAt,\n supportedUntil,\n qualitySummary,\n languages,\n defaultLanguage,\n cdnTarget,\n autoPublish,\n reviewedOnlyLanguage,\n mtDefault,\n mtFormality,\n mtStyleNote,\n ofKey,\n ofKeyVersion,\n language,\n text,\n state,\n updatedAt,\n updatedBy,\n origin,\n status,\n author,\n authorKind,\n mtProvider,\n basedOnText,\n note,\n createdAt,\n decidedAt,\n decidedBy,\n term,\n glossaryTranslation,\n glossaryLanguage,\n termType,\n useInstead,\n caseSensitive,\n inventoryBranch,\n inventoryIdentity,\n inventoryStatus,\n inventorySource,\n inventorySourceId,\n inventoryAuthoritative,\n inventoryFile,\n inventoryLine,\n inventoryOwner,\n inventoryShape,\n inventoryProperty,\n inventoryNode,\n inventoryTargetClass,\n inventoryObservedAt,\n};\n\n"]}
1
+ {"version":3,"file":"translation.js","sourceRoot":"","sources":["../../../src/ontologies/translation.ts"],"names":[],"mappings":"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","sourcesContent":["import { createNameSpace } from '@_linked/core/utils/NameSpace';\nimport { loadOntologyFiles } from '@_linked/core/ontology/loadOntologyFiles';\n\n/** The package's ontology data, relative to this module (Turtle, copied into `lib/` by the build). */\nexport const dataFiles = ['../data/translation.ttl'];\n\n/** Reads the package's ontology data (server only). */\nexport const loadData = () => loadOntologyFiles(import.meta.url, dataFiles);\n\n/**\n * Public ontology namespace for the translation package. First-party Linked\n * ontologies live at `https://linked.cm/ont/{ontologySlug}/{localName}`, where\n * the ontology slug — and the prefix label — is the package's public slug\n * (the LINKED first-party ontology namespace rule). So terms are\n * `https://linked.cm/ont/translation/TranslationKey` and the prefix is\n * `translation:`. Before 0.5.0 this was `https://id.linked.cm/translation/vocab#`.\n */\nexport var ns = createNameSpace('https://linked.cm/ont/translation/');\nexport var _self = ns('');\n\n// ── Classes ─────────────────────────────────────────────────────────────\nexport var TranslationKey = ns('TranslationKey');\nexport var TranslationKeyVersion = ns('TranslationKeyVersion');\nexport var TranslationRelease = ns('TranslationRelease');\nexport var TranslationUnit = ns('TranslationUnit');\nexport var TranslationRevision = ns('TranslationRevision');\nexport var GlossaryTerm = ns('GlossaryTerm');\nexport var TranslationInventoryOrigin = ns('TranslationInventoryOrigin');\n\n// Open language resources; BCP-47 is a string identifier, not an enum.\nexport var TranslationLanguage = ns('TranslationLanguage');\nexport var languageIdentifier = ns('languageIdentifier');\nexport var languageCode = ns('languageCode');\nexport var nativeName = ns('nativeName');\nexport var englishName = ns('englishName');\nexport var textDirection = ns('textDirection');\nexport var parentLanguage = ns('parentLanguage');\nexport var fallbackLanguage = ns('fallbackLanguage');\nexport var languageEnabled = ns('languageEnabled');\nexport var languageSupported = ns('languageSupported');\n\n// ── TranslationKey properties ───────────────────────────────────────────\nexport var namespace = ns('namespace');\nexport var key = ns('key');\nexport var sourceText = ns('sourceText'); // canonical English (Plan 014 AD-J/R7)\nexport var description = ns('description');\nexport var kind = ns('kind'); // 'ui' | 'content' (AD-I)\nexport var ofApplication = ns('ofApplication'); // owning app IRI (AD-H/R2)\nexport var ofNode = ns('ofNode'); // content-translation subject (kind:'content')\nexport var ofField = ns('ofField');\nexport var ofShape = ns('ofShape'); // semantic SHACL shape context for package keys\nexport var ofProperty = ns('ofProperty'); // semantic predicate context for package keys\nexport var ofResource = ns('ofResource'); // arbitrary semantic resource (action, group, condition, port)\nexport var fromPackage = ns('fromPackage'); // package that supplied a seed catalog\nexport var overridden = ns('overridden'); // app diverged this shape key from canonical → excluded from shape propagation (AD-N)\nexport var shapeSource = ns('shapeSource'); // canonical source snapshot at override time → the value \"clear override\" reverts to (AD-N)\nexport var format = ns('format'); // 'simple' | 'icu' (AD-J/R8)\nexport var currentVersion = ns('currentVersion'); // → TranslationKeyVersion\n\n// ── TranslationKeyVersion properties (Plan 018) ────────────────────────\nexport var versionId = ns('versionId');\nexport var sourceLanguage = ns('sourceLanguage');\nexport var argumentSignature = ns('argumentSignature');\nexport var contractHash = ns('contractHash');\nexport var sourceHash = ns('sourceHash');\nexport var supersedes = ns('supersedes');\nexport var createdBy = ns('createdBy');\n\n// ── TranslationRelease properties (Plan 018) ───────────────────────────\nexport var branch = ns('branch');\nexport var releaseId = ns('releaseId');\nexport var buildId = ns('buildId');\nexport var channel = ns('channel');\nexport var contractSetHash = ns('contractSetHash');\nexport var manifestHash = ns('manifestHash');\nexport var hotfixSequence = ns('hotfixSequence');\nexport var publishedAt = ns('publishedAt');\nexport var supportedUntil = ns('supportedUntil');\nexport var qualitySummary = ns('qualitySummary');\n\n// ── CapabilityAppConfig properties (stored in the host's app configuration) ────\nexport var languages = ns('languages'); // active BCP-47 tags, including source\nexport var defaultLanguage = ns('defaultLanguage'); // authored/source language\nexport var cdnTarget = ns('cdnTarget'); // delivery base URL / bucket prefix — the \"repoint\" knob (AD-K, P2)\nexport var autoPublish = ns('autoPublish'); // boolean — overridable auto-publish-on-edit toggle (P2, default off)\nexport var reviewedOnlyLanguage = ns('reviewedOnlyLanguage'); // BCP-47 tags published reviewed-only; absence ⇒ machine-ok (AD-K/R9, P2)\nexport var mtDefault = ns('mtDefault'); // default MT provider key (AD-L, unused until P4)\nexport var mtFormality = ns('mtFormality'); // multi-value: \"formal\" (app default) or \"de:informal\" (per-language) — Plan 017 §7.4b\nexport var mtStyleNote = ns('mtStyleNote'); // free-text tone guidance fed to LLM MT providers (Plan 017 §7.4b)\n\n// ── TranslationUnit properties ──────────────────────────────────────────\nexport var ofKey = ns('ofKey'); // → TranslationKey\nexport var ofKeyVersion = ns('ofKeyVersion'); // → TranslationKeyVersion\nexport var language = ns('language'); // BCP-47 tag\nexport var text = ns('text');\nexport var state = ns('state'); // untranslated | machine | reviewed | stale\nexport var updatedAt = ns('updatedAt');\nexport var updatedBy = ns('updatedBy');\nexport var origin = ns('origin'); // current-value provenance, e.g. `tm`\n\n// ── TranslationRevision properties (Plan 017 AD-P) ─────────────────────\n// One append-only node per authored value: history (`applied`), translator\n// proposals (`proposed`), and MT suggestions (`suggested`) share the shape.\nexport var status = ns('status'); // applied | proposed | suggested | accepted | rejected | superseded\nexport var author = ns('author'); // WebID or MT provider IRI\nexport var authorKind = ns('authorKind'); // 'human' | 'machine'\nexport var mtProvider = ns('mtProvider'); // provider key when authorKind=machine\nexport var basedOnText = ns('basedOnText'); // unit text at authoring time (conflict detection)\nexport var note = ns('note'); // translator/reviewer comment\nexport var createdAt = ns('createdAt');\nexport var decidedAt = ns('decidedAt'); // when a proposal/suggestion was accepted/rejected\nexport var decidedBy = ns('decidedBy'); // WebID of the reviewer\n\n// ── GlossaryTerm properties ─────────────────────────────────────────────\nexport var term = ns('term');\nexport var glossaryTranslation = ns('glossaryTranslation');\nexport var glossaryLanguage = ns('glossaryLanguage');\nexport var termType = ns('termType'); // prefer | require | keep | forbid (Plan 017 B2-1 termbase)\nexport var useInstead = ns('useInstead'); // replacement for a forbidden term/spelling\nexport var caseSensitive = ns('caseSensitive'); // boolean — exact-casing matching (proper nouns)\n\n// ── Branch translation inventory metadata (Plan 017 Phase 8b) ─────────\n// These records are materialized into the active branch metadata dataset,\n// never app data. Confirmed TranslationKey/TranslationUnit records retain\n// their existing app-data placement.\nexport var inventoryBranch = ns('inventoryBranch');\nexport var inventoryIdentity = ns('inventoryIdentity');\nexport var inventoryStatus = ns('inventoryStatus');\nexport var inventorySource = ns('inventorySource');\nexport var inventorySourceId = ns('inventorySourceId');\nexport var inventoryAuthoritative = ns('inventoryAuthoritative');\nexport var inventoryFile = ns('inventoryFile');\nexport var inventoryLine = ns('inventoryLine');\nexport var inventoryOwner = ns('inventoryOwner');\nexport var inventoryShape = ns('inventoryShape');\nexport var inventoryProperty = ns('inventoryProperty');\nexport var inventoryNode = ns('inventoryNode');\nexport var inventoryTargetClass = ns('inventoryTargetClass');\nexport var inventoryObservedAt = ns('inventoryObservedAt');\n\n/** Grouped export for prefix/name access. */\nexport const tr = {\n TranslationLanguage,\n languageIdentifier,\n languageCode,\n nativeName,\n englishName,\n textDirection,\n parentLanguage,\n fallbackLanguage,\n languageEnabled,\n languageSupported,\n TranslationKey,\n TranslationKeyVersion,\n TranslationRelease,\n TranslationUnit,\n TranslationRevision,\n GlossaryTerm,\n TranslationInventoryOrigin,\n namespace,\n key,\n sourceText,\n description,\n kind,\n ofApplication,\n ofNode,\n ofField,\n ofShape,\n ofProperty,\n ofResource,\n fromPackage,\n overridden,\n shapeSource,\n format,\n currentVersion,\n versionId,\n sourceLanguage,\n argumentSignature,\n contractHash,\n sourceHash,\n supersedes,\n createdBy,\n branch,\n releaseId,\n buildId,\n channel,\n contractSetHash,\n manifestHash,\n hotfixSequence,\n publishedAt,\n supportedUntil,\n qualitySummary,\n languages,\n defaultLanguage,\n cdnTarget,\n autoPublish,\n reviewedOnlyLanguage,\n mtDefault,\n mtFormality,\n mtStyleNote,\n ofKey,\n ofKeyVersion,\n language,\n text,\n state,\n updatedAt,\n updatedBy,\n origin,\n status,\n author,\n authorKind,\n mtProvider,\n basedOnText,\n note,\n createdAt,\n decidedAt,\n decidedBy,\n term,\n glossaryTranslation,\n glossaryLanguage,\n termType,\n useInstead,\n caseSensitive,\n inventoryBranch,\n inventoryIdentity,\n inventoryStatus,\n inventorySource,\n inventorySourceId,\n inventoryAuthoritative,\n inventoryFile,\n inventoryLine,\n inventoryOwner,\n inventoryShape,\n inventoryProperty,\n inventoryNode,\n inventoryTargetClass,\n inventoryObservedAt,\n};\n\n"]}
@@ -11,7 +11,7 @@
11
11
  * From a sibling module the same import is ordinary and survives.
12
12
  */
13
13
  import * as terms from './translation.js';
14
- import { loadData, ns } from './translation.js';
14
+ import { dataFiles, loadData, ns } from './translation.js';
15
15
  import { linkedOntology } from '../package.js';
16
- linkedOntology(terms, ns, 'translation', loadData, '../data/translation.json');
16
+ linkedOntology(terms, ns, 'translation', loadData, dataFiles);
17
17
  //# sourceMappingURL=translation.register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"translation.register.js","sourceRoot":"","sources":["../../../src/ontologies/translation.register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,0BAA0B,CAAC,CAAC","sourcesContent":["/**\n * Registers this ontology.\n *\n * Kept out of `translation.ts` because registration needs that module's whole export\n * namespace, and a module cannot import itself once a bundler is involved: Rollup\n * treats a static self-reference as a circular import and elides it, so the binding is\n * undefined at runtime and the consuming app dies at boot with `_this is not\n * defined`. `tsc` preserves it, which is why the pattern survived for as long as\n * packages were built with `tsc` alone.\n *\n * From a sibling module the same import is ordinary and survives.\n */\nimport * as terms from './translation.js';\nimport {loadData, ns} from './translation.js';\nimport {linkedOntology} from '../package.js';\n\nlinkedOntology(terms, ns, 'translation', loadData, '../data/translation.json');\n"]}
1
+ {"version":3,"file":"translation.register.js","sourceRoot":"","sources":["../../../src/ontologies/translation.register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC","sourcesContent":["/**\n * Registers this ontology.\n *\n * Kept out of `translation.ts` because registration needs that module's whole export\n * namespace, and a module cannot import itself once a bundler is involved: Rollup\n * treats a static self-reference as a circular import and elides it, so the binding is\n * undefined at runtime and the consuming app dies at boot with `_this is not\n * defined`. `tsc` preserves it, which is why the pattern survived for as long as\n * packages were built with `tsc` alone.\n *\n * From a sibling module the same import is ordinary and survives.\n */\nimport * as terms from './translation.js';\nimport {dataFiles, loadData, ns} from './translation.js';\nimport {linkedOntology} from '../package.js';\n\nlinkedOntology(terms, ns, 'translation', loadData, dataFiles);\n"]}
@@ -1,4 +1,4 @@
1
1
  export declare const linkedShape: {
2
2
  <T extends typeof import("@_linked/core/shapes/Shape.js").Shape>(constructor: T): void;
3
3
  <T extends typeof import("@_linked/core/shapes/Shape.js").Shape>(config?: import("@_linked/core/utils/Package").ShapeConfig): (constructor: T) => void;
4
- }, linkedUtil: (constructor: any) => any, linkedOntology: (allFileExports: any, nameSpace: (term: string) => import("@_linked/core/utils/NodeReference.js").NodeReferenceValue, suggestedPrefixAndFileName: string, loadDataFunction?: () => Promise<any>, dataSource?: string | string[]) => void, registerPackageExport: (exportedObject: any) => void, packageExports: any, packageName: string, getPackageShape: (name: string) => import("@_linked/core/shapes/Shape.js").ShapeConstructor | undefined;
4
+ }, linkedUtil: (constructor: any) => any, linkedOntology: (allFileExports: any, nameSpace: (term: string) => import("@_linked/core/utils/NodeReference.js").NodeReferenceValue, suggestedPrefixAndFileName: string, loadDataFunction?: () => Promise<unknown>, dataSource?: string | string[]) => void, registerPackageExport: (exportedObject: any) => void, packageExports: any, packageName: string, getPackageShape: (name: string) => import("@_linked/core/shapes/Shape.js").ShapeConstructor | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@_linked/translation",
3
3
  "description": "LINKED translation management — graph-native i18n keys + units, Tolgee-compatible client, CDN delivery.",
4
- "version": "0.8.2",
4
+ "version": "0.9.0",
5
5
  "packageManager": "npm@12.2.0",
6
6
  "linkedPackage": true,
7
7
  "type": "module",
@@ -90,8 +90,8 @@
90
90
  }
91
91
  },
92
92
  "dependencies": {
93
- "@_linked/core": "^2.36.1",
94
- "@_linked/server-utils": "^1.14.0",
93
+ "@_linked/core": "^2.37.1",
94
+ "@_linked/server-utils": "^1.15.0",
95
95
  "@formatjs/icu-messageformat-parser": "3.5.21",
96
96
  "fflate": "^0.8.2",
97
97
  "intl-messageformat": "12.1.3"
@@ -109,7 +109,7 @@
109
109
  }
110
110
  },
111
111
  "devDependencies": {
112
- "@_linked/cli": "^1.11.1",
112
+ "@_linked/cli": "^1.54.0",
113
113
  "@changesets/changelog-github": "^1.0.0",
114
114
  "@changesets/cli": "^3.0.0",
115
115
  "@testing-library/dom": "^10.4.1",
@@ -0,0 +1,489 @@
1
+ @prefix translation: <https://linked.cm/ont/translation/> .
2
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
3
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
4
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
5
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
6
+ @prefix dcterms: <http://purl.org/dc/terms/> .
7
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
8
+ @prefix schema: <http://schema.org/> .
9
+
10
+ translation:
11
+ a owl:Ontology ;
12
+ dcterms:description "Terms of translation keys, their versions, per-language units, revisions, releases, glossary and inventory."@en ;
13
+ dcterms:title "Linked translation"@en ;
14
+ owl:versionInfo "0.9.0" .
15
+
16
+ translation:GlossaryTerm
17
+ a owl:Class ;
18
+ rdfs:comment "A glossary entry that steers machine translation, such as a brand name to keep or a spelling to forbid."@en ;
19
+ rdfs:label "glossary term"@en .
20
+
21
+ translation:TranslationInventoryOrigin
22
+ a owl:Class ;
23
+ rdfs:comment "One place a branch's translation inventory observed a key, such as a source file line or a shape property."@en ;
24
+ rdfs:label "translation inventory origin"@en .
25
+
26
+ translation:TranslationKey
27
+ a owl:Class ;
28
+ rdfs:comment "A translatable key, either a UI string (kind ui) or a field of a graph node (kind content), with its canonical English source text."@en ;
29
+ rdfs:label "translation key"@en .
30
+
31
+ translation:TranslationKeyVersion
32
+ a owl:Class ;
33
+ rdfs:comment "An immutable version of a key's source text and runtime argument contract."@en ;
34
+ rdfs:label "translation key version"@en .
35
+
36
+ translation:TranslationLanguage
37
+ a owl:Class ;
38
+ rdfs:comment "A language an app is configured for, identified by its BCP-47 tag."@en ;
39
+ rdfs:label "translation language"@en .
40
+
41
+ translation:TranslationRelease
42
+ a owl:Class ;
43
+ rdfs:comment "Graph metadata of an immutable translation release, whose key and language selection lives in a content-addressed manifest."@en ;
44
+ rdfs:label "translation release"@en .
45
+
46
+ translation:TranslationRevision
47
+ a owl:Class ;
48
+ rdfs:comment "One append-only authored value for a key and language: a change in its history, a translator's proposal or a machine suggestion."@en ;
49
+ rdfs:label "translation revision"@en .
50
+
51
+ translation:TranslationUnit
52
+ a owl:Class ;
53
+ rdfs:comment "One language's current value for a translation key, with its review state and provenance."@en ;
54
+ rdfs:label "translation unit"@en .
55
+
56
+ translation:argumentSignature
57
+ a owl:DatatypeProperty ;
58
+ rdfs:comment "The runtime arguments a key version's message takes."@en ;
59
+ rdfs:label "argument signature"@en .
60
+
61
+ translation:author
62
+ a owl:ObjectProperty ;
63
+ rdfs:comment "The WebID or machine translation provider that wrote a revision."@en ;
64
+ rdfs:label "author"@en .
65
+
66
+ translation:authorKind
67
+ a owl:DatatypeProperty ;
68
+ rdfs:comment "Whether a revision was written by a human or a machine."@en ;
69
+ rdfs:label "author kind"@en .
70
+
71
+ translation:autoPublish
72
+ a owl:DatatypeProperty ;
73
+ rdfs:comment "Whether an edit publishes translations automatically (off by default)."@en ;
74
+ rdfs:label "auto publish"@en .
75
+
76
+ translation:basedOnText
77
+ a owl:DatatypeProperty ;
78
+ rdfs:comment "The unit's text when a revision was written, to detect conflicts."@en ;
79
+ rdfs:label "based on text"@en .
80
+
81
+ translation:branch
82
+ a owl:ObjectProperty ;
83
+ rdfs:comment "The branch a translation release was built from."@en ;
84
+ rdfs:label "branch"@en .
85
+
86
+ translation:buildId
87
+ a owl:DatatypeProperty ;
88
+ rdfs:comment "The identifier of the build a translation release was cut for."@en ;
89
+ rdfs:label "build id"@en .
90
+
91
+ translation:caseSensitive
92
+ a owl:DatatypeProperty ;
93
+ rdfs:comment "Whether a glossary term matches only with its exact casing."@en ;
94
+ rdfs:label "case sensitive"@en .
95
+
96
+ translation:cdnTarget
97
+ a owl:DatatypeProperty ;
98
+ rdfs:comment "The base URL or bucket prefix translations are delivered to."@en ;
99
+ rdfs:label "CDN target"@en .
100
+
101
+ translation:channel
102
+ a owl:DatatypeProperty ;
103
+ rdfs:comment "The delivery channel of a translation release, preview or production."@en ;
104
+ rdfs:label "channel"@en .
105
+
106
+ translation:contractHash
107
+ a owl:DatatypeProperty ;
108
+ rdfs:comment "The hash of a key version's source text and argument contract."@en ;
109
+ rdfs:label "contract hash"@en .
110
+
111
+ translation:contractSetHash
112
+ a owl:DatatypeProperty ;
113
+ rdfs:comment "The hash of every key contract a release covers."@en ;
114
+ rdfs:label "contract set hash"@en .
115
+
116
+ translation:createdAt
117
+ a owl:DatatypeProperty ;
118
+ rdfs:comment "When a key version, release or revision was created."@en ;
119
+ rdfs:label "created at"@en .
120
+
121
+ translation:createdBy
122
+ a owl:ObjectProperty ;
123
+ rdfs:comment "The WebID that created a key version."@en ;
124
+ rdfs:label "created by"@en .
125
+
126
+ translation:currentVersion
127
+ a owl:ObjectProperty ;
128
+ rdfs:comment "The key version that is a translation key's current source."@en ;
129
+ rdfs:label "current version"@en .
130
+
131
+ translation:decidedAt
132
+ a owl:DatatypeProperty ;
133
+ rdfs:comment "When a proposed or suggested revision was accepted or rejected."@en ;
134
+ rdfs:label "decided at"@en .
135
+
136
+ translation:decidedBy
137
+ a owl:ObjectProperty ;
138
+ rdfs:comment "The WebID of the reviewer who decided a revision."@en ;
139
+ rdfs:label "decided by"@en .
140
+
141
+ translation:defaultLanguage
142
+ a owl:DatatypeProperty ;
143
+ rdfs:comment "The BCP-47 tag of the app's authored source language."@en ;
144
+ rdfs:label "default language"@en .
145
+
146
+ translation:description
147
+ a owl:DatatypeProperty ;
148
+ rdfs:comment "A note that tells translators what a key or glossary term means and where it appears."@en ;
149
+ rdfs:label "description"@en .
150
+
151
+ translation:englishName
152
+ a owl:DatatypeProperty ;
153
+ rdfs:comment "A language's name in English."@en ;
154
+ rdfs:label "English name"@en .
155
+
156
+ translation:fallbackLanguage
157
+ a owl:ObjectProperty ;
158
+ rdfs:comment "The language whose text is shown when a value is missing in this one."@en ;
159
+ rdfs:label "fallback language"@en .
160
+
161
+ translation:format
162
+ a owl:DatatypeProperty ;
163
+ rdfs:comment "The message syntax of a key's text, simple or icu."@en ;
164
+ rdfs:label "format"@en .
165
+
166
+ translation:fromPackage
167
+ a owl:DatatypeProperty ;
168
+ rdfs:comment "The package whose seed catalog supplied a key."@en ;
169
+ rdfs:label "from package"@en .
170
+
171
+ translation:glossaryLanguage
172
+ a owl:DatatypeProperty ;
173
+ rdfs:comment "The BCP-47 tag of the language a glossary translation is for."@en ;
174
+ rdfs:label "glossary language"@en .
175
+
176
+ translation:glossaryTranslation
177
+ a owl:DatatypeProperty ;
178
+ rdfs:comment "The required translation of a glossary term."@en ;
179
+ rdfs:label "glossary translation"@en .
180
+
181
+ translation:hotfixSequence
182
+ a owl:DatatypeProperty ;
183
+ rdfs:comment "The hotfix number of a release on top of its base release."@en ;
184
+ rdfs:label "hotfix sequence"@en .
185
+
186
+ translation:inventoryAuthoritative
187
+ a owl:DatatypeProperty ;
188
+ rdfs:comment "Whether an inventory origin is the authoritative one for its key."@en ;
189
+ rdfs:label "inventory authoritative"@en .
190
+
191
+ translation:inventoryBranch
192
+ a owl:ObjectProperty ;
193
+ rdfs:comment "The branch an inventory origin was observed on."@en ;
194
+ rdfs:label "inventory branch"@en .
195
+
196
+ translation:inventoryFile
197
+ a owl:DatatypeProperty ;
198
+ rdfs:comment "The source file an inventory origin was found in."@en ;
199
+ rdfs:label "inventory file"@en .
200
+
201
+ translation:inventoryIdentity
202
+ a owl:DatatypeProperty ;
203
+ rdfs:comment "The stable identity of an inventory item across observations."@en ;
204
+ rdfs:label "inventory identity"@en .
205
+
206
+ translation:inventoryLine
207
+ a owl:DatatypeProperty ;
208
+ rdfs:comment "The line of the source file an inventory origin was found on."@en ;
209
+ rdfs:label "inventory line"@en .
210
+
211
+ translation:inventoryNode
212
+ a owl:ObjectProperty ;
213
+ rdfs:comment "The IRI of the graph node an inventory origin was found on."@en ;
214
+ rdfs:label "inventory node"@en .
215
+
216
+ translation:inventoryObservedAt
217
+ a owl:DatatypeProperty ;
218
+ rdfs:comment "When an inventory origin was last observed."@en ;
219
+ rdfs:label "inventory observed at"@en .
220
+
221
+ translation:inventoryOwner
222
+ a owl:ObjectProperty ;
223
+ rdfs:comment "The IRI of the node that owns an inventory origin."@en ;
224
+ rdfs:label "inventory owner"@en .
225
+
226
+ translation:inventoryProperty
227
+ a owl:ObjectProperty ;
228
+ rdfs:comment "The IRI of the property an inventory origin was found on."@en ;
229
+ rdfs:label "inventory property"@en .
230
+
231
+ translation:inventoryShape
232
+ a owl:ObjectProperty ;
233
+ rdfs:comment "The IRI of the shape an inventory origin was found on."@en ;
234
+ rdfs:label "inventory shape"@en .
235
+
236
+ translation:inventorySource
237
+ a owl:DatatypeProperty ;
238
+ rdfs:comment "The kind of source an inventory origin was found in."@en ;
239
+ rdfs:label "inventory source"@en .
240
+
241
+ translation:inventorySourceId
242
+ a owl:DatatypeProperty ;
243
+ rdfs:comment "The identifier of the source an inventory origin was found in."@en ;
244
+ rdfs:label "inventory source id"@en .
245
+
246
+ translation:inventoryStatus
247
+ a owl:DatatypeProperty ;
248
+ rdfs:comment "The status of an inventory origin: confirmed, pending, conflict or orphaned."@en ;
249
+ rdfs:label "inventory status"@en .
250
+
251
+ translation:inventoryTargetClass
252
+ a owl:DatatypeProperty ;
253
+ rdfs:comment "The target class of the shape an inventory origin was found on, as a literal."@en ;
254
+ rdfs:label "inventory target class"@en .
255
+
256
+ translation:key
257
+ a owl:DatatypeProperty ;
258
+ rdfs:comment "A translation key's name within its namespace."@en ;
259
+ rdfs:label "key"@en .
260
+
261
+ translation:kind
262
+ a owl:DatatypeProperty ;
263
+ rdfs:comment "Whether a translation key is a UI string (ui) or a field of a graph node (content)."@en ;
264
+ rdfs:label "kind"@en .
265
+
266
+ translation:language
267
+ a owl:DatatypeProperty ;
268
+ rdfs:comment "The BCP-47 tag of a unit's or revision's language."@en ;
269
+ rdfs:label "language"@en .
270
+
271
+ translation:languageCode
272
+ a owl:DatatypeProperty ;
273
+ rdfs:comment "The BCP-47 tag of a configured language."@en ;
274
+ rdfs:label "language code"@en .
275
+
276
+ translation:languageEnabled
277
+ a owl:DatatypeProperty ;
278
+ rdfs:comment "Whether a configured language is switched on for the app."@en ;
279
+ rdfs:label "language enabled"@en .
280
+
281
+ translation:languageIdentifier
282
+ a owl:ObjectProperty ;
283
+ rdfs:comment "The IRI that identifies a configured language."@en ;
284
+ rdfs:label "language identifier"@en .
285
+
286
+ translation:languageSupported
287
+ a owl:DatatypeProperty ;
288
+ rdfs:comment "Whether a language is supported by the app."@en ;
289
+ rdfs:label "language supported"@en .
290
+
291
+ translation:languages
292
+ a owl:DatatypeProperty ;
293
+ rdfs:comment "A BCP-47 tag the app's translation is active for, the source language included; multi-valued."@en ;
294
+ rdfs:label "languages"@en .
295
+
296
+ translation:manifestHash
297
+ a owl:DatatypeProperty ;
298
+ rdfs:comment "The hash of a release's content-addressed manifest."@en ;
299
+ rdfs:label "manifest hash"@en .
300
+
301
+ translation:mtDefault
302
+ a owl:DatatypeProperty ;
303
+ rdfs:comment "The key of the app's default machine translation provider."@en ;
304
+ rdfs:label "default MT provider"@en .
305
+
306
+ translation:mtFormality
307
+ a owl:DatatypeProperty ;
308
+ rdfs:comment "The formality machine translation uses, for the app (formal) or per language (de:informal); multi-valued."@en ;
309
+ rdfs:label "MT formality"@en .
310
+
311
+ translation:mtProvider
312
+ a owl:DatatypeProperty ;
313
+ rdfs:comment "The key of the machine translation provider that wrote a revision."@en ;
314
+ rdfs:label "MT provider"@en .
315
+
316
+ translation:mtStyleNote
317
+ a owl:DatatypeProperty ;
318
+ rdfs:comment "Free-text tone guidance given to LLM machine translation providers."@en ;
319
+ rdfs:label "MT style note"@en .
320
+
321
+ translation:namespace
322
+ a owl:DatatypeProperty ;
323
+ rdfs:comment "The namespace a translation key belongs to."@en ;
324
+ rdfs:label "namespace"@en .
325
+
326
+ translation:nativeName
327
+ a owl:DatatypeProperty ;
328
+ rdfs:comment "A language's name in that language."@en ;
329
+ rdfs:label "native name"@en .
330
+
331
+ translation:note
332
+ a owl:DatatypeProperty ;
333
+ rdfs:comment "A translator's or reviewer's comment on a revision."@en ;
334
+ rdfs:label "note"@en .
335
+
336
+ translation:ofApplication
337
+ a owl:ObjectProperty ;
338
+ rdfs:comment "The app a translation key, unit, revision, release or inventory record belongs to."@en ;
339
+ rdfs:label "of application"@en .
340
+
341
+ translation:ofField
342
+ a owl:DatatypeProperty ;
343
+ rdfs:comment "The field (property) of the node a content translation key translates."@en ;
344
+ rdfs:label "of field"@en .
345
+
346
+ translation:ofKey
347
+ a owl:ObjectProperty ;
348
+ rdfs:comment "The translation key a unit, revision or key version belongs to."@en ;
349
+ rdfs:label "of key"@en .
350
+
351
+ translation:ofKeyVersion
352
+ a owl:ObjectProperty ;
353
+ rdfs:comment "The key version a unit or revision was written against."@en ;
354
+ rdfs:label "of key version"@en .
355
+
356
+ translation:ofNode
357
+ a owl:ObjectProperty ;
358
+ rdfs:comment "The graph node whose field a content translation key translates."@en ;
359
+ rdfs:label "of node"@en .
360
+
361
+ translation:ofProperty
362
+ a owl:ObjectProperty ;
363
+ rdfs:comment "The predicate a package-supplied key is about."@en ;
364
+ rdfs:label "of property"@en .
365
+
366
+ translation:ofResource
367
+ a owl:ObjectProperty ;
368
+ rdfs:comment "Any other semantic resource a key is about, such as an action, group, condition or port."@en ;
369
+ rdfs:label "of resource"@en .
370
+
371
+ translation:ofShape
372
+ a owl:ObjectProperty ;
373
+ rdfs:comment "The SHACL shape a package-supplied key is about."@en ;
374
+ rdfs:label "of shape"@en .
375
+
376
+ translation:origin
377
+ a owl:DatatypeProperty ;
378
+ rdfs:comment "Where a unit's current value came from, such as translation memory (tm)."@en ;
379
+ rdfs:label "origin"@en .
380
+
381
+ translation:overridden
382
+ a owl:DatatypeProperty ;
383
+ rdfs:comment "Marks a shape key the app changed from its canonical text, so shape propagation leaves it alone."@en ;
384
+ rdfs:label "overridden"@en .
385
+
386
+ translation:parentLanguage
387
+ a owl:ObjectProperty ;
388
+ rdfs:comment "The broader language a regional language belongs to (de for de-CH)."@en ;
389
+ rdfs:label "parent language"@en .
390
+
391
+ translation:publishedAt
392
+ a owl:DatatypeProperty ;
393
+ rdfs:comment "When a translation release was published."@en ;
394
+ rdfs:label "published at"@en .
395
+
396
+ translation:qualitySummary
397
+ a owl:DatatypeProperty ;
398
+ rdfs:comment "A summary of the review state of the values in a release."@en ;
399
+ rdfs:label "quality summary"@en .
400
+
401
+ translation:releaseId
402
+ a owl:DatatypeProperty ;
403
+ rdfs:comment "The identifier of a translation release."@en ;
404
+ rdfs:label "release id"@en .
405
+
406
+ translation:reviewedOnlyLanguage
407
+ a owl:DatatypeProperty ;
408
+ rdfs:comment "A BCP-47 tag whose translations are published only once reviewed; multi-valued."@en ;
409
+ rdfs:label "reviewed-only language"@en .
410
+
411
+ translation:shapeSource
412
+ a owl:DatatypeProperty ;
413
+ rdfs:comment "The canonical source text at the moment a shape key was overridden, which clearing the override restores."@en ;
414
+ rdfs:label "shape source"@en .
415
+
416
+ translation:sourceHash
417
+ a owl:DatatypeProperty ;
418
+ rdfs:comment "The hash of a key version's source text."@en ;
419
+ rdfs:label "source hash"@en .
420
+
421
+ translation:sourceLanguage
422
+ a owl:DatatypeProperty ;
423
+ rdfs:comment "The BCP-47 tag of the language a key version's source text is in."@en ;
424
+ rdfs:label "source language"@en .
425
+
426
+ translation:sourceText
427
+ a owl:DatatypeProperty ;
428
+ rdfs:comment "The canonical English text of a translation key or key version."@en ;
429
+ rdfs:label "source text"@en .
430
+
431
+ translation:state
432
+ a owl:DatatypeProperty ;
433
+ rdfs:comment "The review state of a translation unit: untranslated, machine, reviewed or stale."@en ;
434
+ rdfs:label "state"@en .
435
+
436
+ translation:status
437
+ a owl:DatatypeProperty ;
438
+ rdfs:comment "The state of a release (draft, published, superseded, retired) or of a revision (applied, proposed, suggested, accepted, rejected, superseded)."@en ;
439
+ rdfs:label "status"@en .
440
+
441
+ translation:supersedes
442
+ a owl:ObjectProperty ;
443
+ rdfs:comment "The key version or release this one replaces."@en ;
444
+ rdfs:label "supersedes"@en .
445
+
446
+ translation:supportedUntil
447
+ a owl:DatatypeProperty ;
448
+ rdfs:comment "Until when a translation release is supported."@en ;
449
+ rdfs:label "supported until"@en .
450
+
451
+ translation:term
452
+ a owl:DatatypeProperty ;
453
+ rdfs:comment "The source-language term a glossary entry is about."@en ;
454
+ rdfs:label "term"@en .
455
+
456
+ translation:termType
457
+ a owl:DatatypeProperty ;
458
+ rdfs:comment "How machine translation treats a glossary term: prefer, require, keep or forbid."@en ;
459
+ rdfs:label "term type"@en .
460
+
461
+ translation:text
462
+ a owl:DatatypeProperty ;
463
+ rdfs:comment "The translated text of a unit or revision."@en ;
464
+ rdfs:label "text"@en .
465
+
466
+ translation:textDirection
467
+ a owl:DatatypeProperty ;
468
+ rdfs:comment "Whether a language is written left-to-right or right-to-left."@en ;
469
+ rdfs:label "text direction"@en .
470
+
471
+ translation:updatedAt
472
+ a owl:DatatypeProperty ;
473
+ rdfs:comment "When a translation unit last changed."@en ;
474
+ rdfs:label "updated at"@en .
475
+
476
+ translation:updatedBy
477
+ a owl:ObjectProperty ;
478
+ rdfs:comment "The WebID that last changed a translation unit."@en ;
479
+ rdfs:label "updated by"@en .
480
+
481
+ translation:useInstead
482
+ a owl:DatatypeProperty ;
483
+ rdfs:comment "The replacement for a forbidden glossary term or spelling."@en ;
484
+ rdfs:label "use instead"@en .
485
+
486
+ translation:versionId
487
+ a owl:DatatypeProperty ;
488
+ rdfs:comment "The identifier of a translation key version."@en ;
489
+ rdfs:label "version id"@en .
@@ -11,7 +11,7 @@
11
11
  * From a sibling module the same import is ordinary and survives.
12
12
  */
13
13
  import * as terms from './translation.js';
14
- import {loadData, ns} from './translation.js';
14
+ import {dataFiles, loadData, ns} from './translation.js';
15
15
  import {linkedOntology} from '../package.js';
16
16
 
17
- linkedOntology(terms, ns, 'translation', loadData, '../data/translation.json');
17
+ linkedOntology(terms, ns, 'translation', loadData, dataFiles);
@@ -1,12 +1,11 @@
1
1
  import { createNameSpace } from '@_linked/core/utils/NameSpace';
2
+ import { loadOntologyFiles } from '@_linked/core/ontology/loadOntologyFiles';
2
3
 
3
- /** Lazy-load the (currently empty) serialized ontology graph. */
4
- export var loadData = () => {
5
- //@ts-ignore
6
- return import('../data/translation.json', { with: { type: 'json' } }).then(
7
- (data) => data.default
8
- );
9
- };
4
+ /** The package's ontology data, relative to this module (Turtle, copied into `lib/` by the build). */
5
+ export const dataFiles = ['../data/translation.ttl'];
6
+
7
+ /** Reads the package's ontology data (server only). */
8
+ export const loadData = () => loadOntologyFiles(import.meta.url, dataFiles);
10
9
 
11
10
  /**
12
11
  * Public ontology namespace for the translation package. First-party Linked
@@ -1,8 +0,0 @@
1
- {
2
- "@context": {
3
- "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
4
- "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
5
- "translation": "https://linked.cm/ont/translation/"
6
- },
7
- "@graph": []
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "@context": {
3
- "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
4
- "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
5
- "translation": "https://linked.cm/ont/translation/"
6
- },
7
- "@graph": []
8
- }