@_linked/translation 0.9.4 → 0.9.5

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.
Files changed (41) hide show
  1. package/package.json +2 -3
  2. package/src/archive.ts +0 -914
  3. package/src/authorization.ts +0 -56
  4. package/src/backend.ts +0 -2
  5. package/src/cdn-loader.ts +0 -264
  6. package/src/checks.ts +0 -413
  7. package/src/compile.ts +0 -168
  8. package/src/core/messages.ts +0 -139
  9. package/src/data/translation.ttl +0 -489
  10. package/src/discovery.ts +0 -594
  11. package/src/exchange.ts +0 -437
  12. package/src/export.ts +0 -138
  13. package/src/formats/csv.ts +0 -467
  14. package/src/formats/json.ts +0 -596
  15. package/src/formats/xliff.ts +0 -733
  16. package/src/import.ts +0 -648
  17. package/src/index.ts +0 -201
  18. package/src/key-sync-node.ts +0 -269
  19. package/src/key-sync.ts +0 -208
  20. package/src/key-version.ts +0 -207
  21. package/src/languages.ts +0 -102
  22. package/src/linked-discovery.ts +0 -385
  23. package/src/message-format.ts +0 -214
  24. package/src/mt.ts +0 -253
  25. package/src/ontologies/translation.register.ts +0 -17
  26. package/src/ontologies/translation.ts +0 -239
  27. package/src/package.ts +0 -14
  28. package/src/react.tsx +0 -378
  29. package/src/records.ts +0 -181
  30. package/src/release.ts +0 -754
  31. package/src/shape-catalog.ts +0 -198
  32. package/src/shapes/GlossaryTerm.ts +0 -61
  33. package/src/shapes/TranslationInventoryOrigin.ts +0 -131
  34. package/src/shapes/TranslationKey.ts +0 -183
  35. package/src/shapes/TranslationKeyVersion.ts +0 -77
  36. package/src/shapes/TranslationLanguage.ts +0 -51
  37. package/src/shapes/TranslationProvider.ts +0 -1927
  38. package/src/shapes/TranslationRelease.ts +0 -114
  39. package/src/shapes/TranslationRevision.ts +0 -105
  40. package/src/shapes/TranslationUnit.ts +0 -72
  41. package/src/shapes/index.ts +0 -13
@@ -1,139 +0,0 @@
1
- /**
2
- * Framework-light translation core (Plan 014, P1.5). Pure TS, dependency-free —
3
- * the portable heart shared by the React subpath and any non-React consumer, so
4
- * a hosted app can use it without pulling React.
5
- *
6
- * Preserves Tolgee's `t(key, defaultValue?, params?)` semantics so serve's
7
- * ~1,302 call sites (with inline English defaults) are a drop-in swap:
8
- * - default formatting is FormatSimple-style `{named}` interpolation (exactly
9
- * what serve uses today), so imported strings render identically;
10
- * - keys marked `format:'icu'` use standards-based ICU MessageFormat with
11
- * the active BCP-47 locale, including plural/select/selectordinal.
12
- */
13
- import { localeDirection } from '../languages.js';
14
- import IntlMessageFormat from 'intl-messageformat';
15
-
16
- export type MessageFormat = 'simple' | 'icu';
17
-
18
- /** ICU keys retain their format beside the string in mixed-format catalogs. */
19
- export interface FormattedTranslationMessage {
20
- message: string;
21
- format: MessageFormat;
22
- }
23
-
24
- export type TranslationMessage = string | FormattedTranslationMessage;
25
-
26
- /** key → message template, for a single language. */
27
- export type TranslationMessages = Record<string, TranslationMessage>;
28
-
29
- /**
30
- * Development pseudo-locale used by chrome coverage checks. Keeping this in
31
- * the framework-light core means React and non-React clients exercise the
32
- * exact same fallback path. The wrapper makes missed layout allowance visible;
33
- * the accented glyphs make an untranslated English fallback unmistakable.
34
- */
35
- export function pseudoLocalize(message: string): string {
36
- const accents: Record<string, string> = {
37
- A: 'Å', B: 'Ɓ', C: 'Ç', D: 'Ð', E: 'Ë', F: 'Ƒ', G: 'Ĝ', H: 'Ĥ', I: 'Ï',
38
- J: 'Ĵ', K: 'Ķ', L: 'Ļ', M: 'Ṁ', N: 'Ñ', O: 'Ö', P: 'Ƥ', Q: 'Ǫ', R: 'Ŕ',
39
- S: 'Š', T: 'Ŧ', U: 'Ü', V: 'Ṽ', W: 'Ŵ', X: 'Ẍ', Y: 'Ŷ', Z: 'Ž',
40
- a: 'å', b: 'ƀ', c: 'ç', d: 'đ', e: 'ë', f: 'ƒ', g: 'ĝ', h: 'ĥ', i: 'ï',
41
- j: 'ĵ', k: 'ķ', l: 'ļ', m: 'ṁ', n: 'ñ', o: 'ö', p: 'ƥ', q: 'ǫ', r: 'ŕ',
42
- s: 'š', t: 'ŧ', u: 'ü', v: 'ṽ', w: 'ŵ', x: 'ẍ', y: 'ŷ', z: 'ž',
43
- };
44
- const accented = message.replace(/[A-Za-z]/g, (character) => accents[character]);
45
- return `[${accented} ···]`;
46
- }
47
-
48
- /**
49
- * Layout-stress pseudo mode. Unlike en-XA's accented fallback, this deliberately
50
- * expands the resolved message—including a real translated catalog value—so a
51
- * preview can expose controls that only fit their English copy.
52
- */
53
- export function pseudoExpand(message: string): string {
54
- const visibleLength = [...message].length;
55
- const padding = '·'.repeat(Math.max(3, Math.ceil(visibleLength * 0.35)));
56
- return `[${message} ${padding}]`;
57
- }
58
-
59
- /** FormatSimple: replace `{name}` placeholders with `params.name`. Unknown → left as-is. */
60
- export function interpolate(
61
- template: string,
62
- params?: Record<string, unknown>,
63
- ): string {
64
- if (!params) return template;
65
- return template.replace(
66
- /\{\s*([\p{L}\p{N}_][\p{L}\p{N}\p{M}_.-]*)\s*\}/gu,
67
- (whole, name) =>
68
- name in params ? String(params[name] ?? '') : whole,
69
- );
70
- }
71
-
72
- const ICU_CACHE_LIMIT = 500;
73
- const icuCache = new Map<string, IntlMessageFormat>();
74
-
75
- function compiledIcu(template: string, locale: string): IntlMessageFormat {
76
- const key = `${locale}\u0000${template}`;
77
- const cached = icuCache.get(key);
78
- if (cached) return cached;
79
- const compiled = new IntlMessageFormat(template, locale, undefined, {
80
- ignoreTag: true,
81
- });
82
- if (icuCache.size >= ICU_CACHE_LIMIT) {
83
- icuCache.delete(icuCache.keys().next().value as string);
84
- }
85
- icuCache.set(key, compiled);
86
- return compiled;
87
- }
88
-
89
- /**
90
- * Full ICU MessageFormat using the active locale's CLDR plural rules. Invalid
91
- * authoring data never crashes the host app: the unformatted template remains
92
- * visible and authoring tools can report the syntax error for repair.
93
- */
94
- export function formatIcu(
95
- template: string,
96
- params?: Record<string, unknown>,
97
- locale = 'en',
98
- ): string {
99
- try {
100
- const result = compiledIcu(template, locale).format(params as any);
101
- return Array.isArray(result) ? result.join('') : String(result);
102
- } catch {
103
- return interpolate(template, params);
104
- }
105
- }
106
-
107
- /**
108
- * Resolve `key` against a message map, falling back to the inline default (then
109
- * the key itself), and format with params. This is what the client `t()` calls.
110
- */
111
- export function translate(
112
- messages: TranslationMessages,
113
- key: string,
114
- defaultValue?: string,
115
- params?: Record<string, unknown>,
116
- format: MessageFormat = 'simple',
117
- locale = 'en',
118
- ): string {
119
- const stored = messages[key];
120
- const template =
121
- typeof stored === 'string'
122
- ? stored
123
- : stored?.message ?? defaultValue ?? key;
124
- const resolvedFormat =
125
- typeof stored === 'object' ? stored.format : format;
126
- const formatted = resolvedFormat === 'icu'
127
- ? formatIcu(template, params, locale)
128
- : interpolate(template, params);
129
- return stored === undefined && locale.toLowerCase() === 'en-xa'
130
- ? pseudoLocalize(formatted)
131
- : formatted;
132
- }
133
-
134
- /** @deprecated Use directionFor; this historical set is not a support boundary. */
135
- export const RTL_LANGUAGES = new Set(['ar', 'ur']);
136
-
137
- export function directionFor(language: string): 'ltr' | 'rtl' {
138
- try { return localeDirection(language); } catch { return 'ltr'; }
139
- }
@@ -1,489 +0,0 @@
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 .