Skip to main content

Class: DefaultTranslation<K>

Defined in: src/diagram/locale.tsx:24

Default built-in implementation for i18n strings interpolation and other methods from Translation interface.

Type Parameters

Type ParameterDefault type

K extends string

TranslationKey

Implements

Constructors

Constructor

new DefaultTranslation<K>(options): DefaultTranslation<K>

Defined in: src/diagram/locale.tsx:29

Parameters

ParameterTypeDescription

options

{ bundles: readonly Partial<TranslationPartial<{[group: string]: string | Record<string, string>; }>>[]; selectLabel?: LabelLanguageSelector; }

options.bundles

readonly Partial<TranslationPartial<{[group: string]: string | Record<string, string>; }>>[]

Translation bundles for UI text strings in the workspace in order from higher to lower priority.

See

DefaultTranslationBundle

options.selectLabel?

LabelLanguageSelector

Overrides how a single label gets selected from multiple of them based on target language.

Returns

DefaultTranslation<K>

Methods

formatLabel()

formatLabel(labels, fallbackIri, language): string

Defined in: src/diagram/locale.tsx:105

Same as selectLabel() but uses local part of the fallbackIri as a fallback to display an entity referred by IRI even if there is no suitable label to use.

Example:

// Returns: 'Apple'
const name = t.formatLabel(
[
model.factory.literal('Apfel', 'de'),
model.factory.literal('Яблоко', 'ru'),
],
'http://example.com/entity/Apple',
'en'
);

Parameters

ParameterType

labels

undefined | readonly Literal[]

fallbackIri

string

language

string

Returns

string

Implementation of

Translation.formatLabel


selectLabel()

selectLabel(labels, language): undefined | Literal

Defined in: src/diagram/locale.tsx:86

Selects a single preferred literal for the target language out of several candidates.

Language code is specified as lowercase BCP47 string (examples: en, en-gb, etc).

Example:

// Returns: Rdf.Literal { value = 'Apfel', language = 'de' }
const name = t.selectLabel(
[
model.factory.literal('Apple', 'en'),
model.factory.literal('Apfel', 'de'),
model.factory.literal('Яблоко', 'ru'),
],
'de'
);

Parameters

ParameterTypeDescription

labels

readonly Literal[]

candidate literal with same or different language codes

language

string

target language code

Returns

undefined | Literal

selected literal or undefined if no suitable literal was found

Implementation of

Translation.selectLabel


selectValues()

selectValues(values, language): (Literal | NamedNode<string>)[]

Defined in: src/diagram/locale.tsx:94

Selects a subset of RDF values for the target language.

The value is included if matches at least one criteria:

  • is a named node,
  • is a literal without language,
  • is a literal with language equal to the target language.

Language code is specified as lowercase BCP47 string (examples: en, en-gb, etc).

Parameters

ParameterType

values

readonly (Literal | NamedNode<string>)[]

language

string

Returns

(Literal | NamedNode<string>)[]

Implementation of

Translation.selectValues


template()

template(key, parts): ReactNode

Defined in: src/diagram/locale.tsx:81

Templates a translation string into React Fragment by replacing placeholders with provided React nodes (elements, etc).

Parameters

ParameterType

key

K

parts

Record<string, React.ReactNode>

Returns

ReactNode

Implementation of

Translation.template


text()

text(key, placeholders?): string

Defined in: src/diagram/locale.tsx:66

Formats a translation string by replacing placeholders with provided values.

Parameters

ParameterType

key

K

placeholders?

Record<string, string | number | boolean>

Returns

string

Implementation of

Translation.text


textOptional()

textOptional(key, placeholders?): undefined | string

Defined in: src/diagram/locale.tsx:70

Formats a translation string by replacing placeholders with provided values if the string exists.

Returns undefined if a translation string is null or does exists for the specified key.

Parameters

ParameterType

key

K

placeholders?

Record<string, string | number | boolean>

Returns

undefined | string

Implementation of

Translation.textOptional