Skip to main content

Interface: Translation<K>

Defined in: src/coreUtils/i18n.tsx:41

Provides i18n strings and templates for the UI elements.

Type Parameters

Type ParameterDefault type

K extends string

TranslationKey

Methods

formatIri()

formatIri(iri): string

Defined in: src/coreUtils/i18n.tsx:147

Formats IRI to display in the UI:

  • usual IRIs are enclosed in <IRI>;
  • anonymous element IRIs displayed as (blank node).

Parameters

ParameterType

iri

string

Returns

string

Deprecated

Use DataLocaleProvider.formatIri instead.


formatLabel()

formatLabel(labels, fallbackIri, language): string

Defined in: src/coreUtils/i18n.tsx:134

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


selectLabel()

selectLabel(labels, language): undefined | Literal

Defined in: src/coreUtils/i18n.tsx:95

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


selectValues()

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

Defined in: src/coreUtils/i18n.tsx:111

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>)[]


template()

template(key, parts): ReactNode

Defined in: src/coreUtils/i18n.tsx:67

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


text()

text(key, placeholders?): string

Defined in: src/coreUtils/i18n.tsx:46

Formats a translation string by replacing placeholders with provided values.

Parameters

ParameterType

key

K

placeholders?

Record<string, string | number | boolean>

Returns

string


textOptional()

textOptional(key, placeholders?): undefined | string

Defined in: src/coreUtils/i18n.tsx:58

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