fix: add translations for every SCThing

fix: add field translations for  basic interfaces

fix: add translations for Message, Ticket & Video

fix: add translations for AcademicEvent, Article, Book and Building

fix: add translations

fix: add translations for Dish, Floor, Person and Room

fix: finalize  known translations

fix: add translations for setting

fix: add empty translations for fieldValues

style: applied tslint rules

fix: add missing fieldValueTranslations

fix: remove illegal nested translations
This commit is contained in:
Rainer Killinger
2019-06-05 12:31:48 +00:00
committed by Karl-Philipp Wulfert
parent 78b64bae08
commit f847a2aa0c
33 changed files with 736 additions and 205 deletions

View File

@@ -50,20 +50,22 @@ export interface SCAcademicDegree
* Meta information about academic degrees * Meta information about academic degrees
*/ */
export class SCAcademicDegreeMeta export class SCAcademicDegreeMeta
extends SCThingMeta extends SCThingMeta implements SCMetaTranslations<SCAcademicDegree> {
implements SCMetaTranslations<SCAcademicDegree> {
/** /**
* Translations of fields * Translations of fields
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
academicDegree: 'Hochschulgrad', academicDegree: 'Hochschulgrad',
academicDegreewithField: 'Abschlussbezeichnungen', academicDegreewithField: 'Abschlussbezeichnungen',
academicDegreewithFieldShort: 'Abschlussbezeichnungen (kurz)', academicDegreewithFieldShort: 'Abschlussbezeichnungen (kurz)',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
academicDegree: 'academic degree',
academicDegreewithField: 'acedemic degree and discipline',
academicDegreewithFieldShort: 'acedemic degree and discipline (short)',
}, },
}; };
@@ -72,7 +74,7 @@ export class SCAcademicDegreeMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
academicDegree: { academicDegree: {
'bachelor': 'Bachelor', 'bachelor': 'Bachelor',
'diploma': 'Diplom', 'diploma': 'Diplom',
@@ -85,7 +87,7 @@ export class SCAcademicDegreeMeta
}, },
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
}, },
}; };
} }

View File

@@ -65,10 +65,20 @@ export class SCAcademicTermWithoutReferencesMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
acronym: 'Akronym',
endDate: 'Enddatum',
eventsEndDate: 'Enddatum der Veranstaltungen',
eventsStartDate: 'Startdatum der Veranstaltungen',
startDate: 'Startdatum',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
acronym: 'acronym',
endDate: 'end date',
eventsEndDate: 'end date of events',
eventsStartDate: 'start date of events',
startDate: 'start date',
}, },
}; };
@@ -77,10 +87,10 @@ export class SCAcademicTermWithoutReferencesMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
}, },
}; };
} }

View File

@@ -20,6 +20,7 @@ import {SCISO8601Date} from '../types/Time';
import { import {
SCAcademicPriceGroup, SCAcademicPriceGroup,
SCThingThatCanBeOffered, SCThingThatCanBeOffered,
SCThingThatCanBeOfferedMeta,
SCThingThatCanBeOfferedTranslatableProperties, SCThingThatCanBeOfferedTranslatableProperties,
SCThingThatCanBeOfferedWithoutReferences, SCThingThatCanBeOfferedWithoutReferences,
} from './ThingThatCanBeOffered'; } from './ThingThatCanBeOffered';
@@ -92,10 +93,22 @@ export class SCCreativeWorkMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
... SCThingThatCanBeOfferedMeta.getInstance().fieldTranslations.de,
authors: 'Authoren',
datePublished: 'Veröffentlichungsdatum',
inLanguages: 'verfügbare Übersetzungen',
keywords: 'Schlagwörter',
publishers: 'Verleger',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
... SCThingThatCanBeOfferedMeta.getInstance().fieldTranslations.en,
authors: 'authors',
datePublished: 'release date',
inLanguages: 'available Languages',
keywords: 'keywords',
publishers: 'publishers',
}, },
}; };
@@ -104,10 +117,12 @@ export class SCCreativeWorkMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
... SCThingThatCanBeOfferedMeta.getInstance().fieldValueTranslations.en,
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
... SCThingThatCanBeOfferedMeta.getInstance().fieldValueTranslations.en,
}, },
}; };
} }

View File

@@ -82,10 +82,24 @@ export class SCEventMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
academicTerms: 'Semester',
catalogs: 'Verzeichnis',
creativeWorks: 'begleitende Werke',
maximumParticipants: 'maximale Anzahl an Teilnehmern',
organizers: 'Origanisatoren',
performers: 'Vortragende',
remainingAttendeeCapacity: 'verfügbare Anzahl an Teilnehmern',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
academicTerms: 'academic terms',
catalogs: 'catalogs',
creativeWorks: 'related material',
maximumParticipants: 'maximum participants',
organizers: 'organizers',
performers: 'performers',
remainingAttendeeCapacity: 'remaining attendee capacity',
}, },
}; };
@@ -94,10 +108,10 @@ export class SCEventMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
}, },
}; };
} }

View File

@@ -76,10 +76,16 @@ export class SCPlaceWithoutReferencesMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
address: 'Adresse',
geo: 'Geoinformation',
openingHours: 'Öffnungszeiten',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
address: 'address',
geo: 'geographic information',
openingHours: 'opening hours',
}, },
}; };
@@ -88,10 +94,10 @@ export class SCPlaceWithoutReferencesMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
}, },
}; };
} }

View File

@@ -34,11 +34,11 @@ export class SCThingInPlaceMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
inPlace: 'Ort', inPlace: 'Ort',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
inPlace: 'location', inPlace: 'location',
}, },
}; };
@@ -48,10 +48,10 @@ export class SCThingInPlaceMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
}, },
}; };
} }

View File

@@ -19,9 +19,9 @@ import {SCMetaTranslations} from '../types/i18n';
* Types of payment that are accepted at a place. * Types of payment that are accepted at a place.
*/ */
export type SCThingThatAcceptsPaymentsAcceptedPayments = export type SCThingThatAcceptsPaymentsAcceptedPayments =
'Cash' 'cash'
| 'Credit' | 'credit'
| 'Cafeteria Card'; | 'cafeteria card';
/** /**
* A thing without references that accepts payments * A thing without references that accepts payments
@@ -52,10 +52,12 @@ export class SCThingThatAcceptsPaymentsWithoutReferencesMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
paymentsAccepted: 'Bezahlmethoden',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
paymentsAccepted: 'accepted payment methods',
}, },
}; };
@@ -64,10 +66,15 @@ export class SCThingThatAcceptsPaymentsWithoutReferencesMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ... SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
paymentsAccepted: {
'cafeteria card': 'Mensakarte',
'cash': 'Bar',
'credit': 'Kreditkarte',
},
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
}, },
}; };
} }

View File

@@ -12,10 +12,10 @@
* You should have received a copy of the GNU General Public License along with * You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>. * this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import {SCThing, SCThingTranslatableProperties, SCThingWithoutReferences} from '../Thing'; import {SCThing, SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from '../Thing';
import {SCOrganizationWithoutReferences} from '../things/Organization'; import {SCOrganizationWithoutReferences} from '../things/Organization';
import {SCPersonWithoutReferences} from '../things/Person'; import {SCPersonWithoutReferences} from '../things/Person';
import {SCTranslations} from '../types/i18n'; import {SCMetaTranslations, SCTranslations} from '../types/i18n';
import {SCInPlace} from '../types/Places'; import {SCInPlace} from '../types/Places';
import {SCISO8601Date} from '../types/Time'; import {SCISO8601Date} from '../types/Time';
@@ -134,3 +134,47 @@ export type SCThingThatCanBeOfferedAvailability =
| 'out of stock' | 'out of stock'
| 'online only' | 'online only'
| 'limited availability'; | 'limited availability';
/**
* Meta information about a thing without references that accepts payments
*/
export class SCThingThatCanBeOfferedMeta<T extends SCPriceGroup> implements
SCMetaTranslations<SCThingThatCanBeOffered<T>> {
protected static _instance: any;
/**
* Translations of fields
*/
fieldTranslations = {
de: {
... SCThingMeta.getInstance().fieldTranslations.de,
offers: 'Angebote',
},
en: {
... SCThingMeta.getInstance().fieldTranslations.en,
offers: 'offers',
},
};
/**
* Translations of values of fields
*/
fieldValueTranslations = {
de: {
... SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
},
en: {
... SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
},
};
/**
* Function to retrieve typed singleton instance (including generics)
*/
public static getInstance<T extends SCPriceGroup>(): SCThingThatCanBeOfferedMeta<T> {
return this._instance || (this._instance = new this<T>());
}
protected constructor() {}
}

View File

@@ -102,17 +102,21 @@ export interface SCThingWithCategoriesSpecificValues {
export class SCThingWithCategoriesWithoutReferencesMeta<T, U> export class SCThingWithCategoriesWithoutReferencesMeta<T, U>
implements SCMetaTranslations<SCThingWithCategoriesWithoutReferences<T, U>> { implements SCMetaTranslations<SCThingWithCategoriesWithoutReferences<T, U>> {
protected static _instance: SCThingMeta; protected static _instance: any;
/** /**
* Translations of fields * Translations of fields
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
categories: 'Kategorien',
categorySpecificValues: 'besondere Kategorien',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
categories: 'categories',
categorySpecificValues: 'category with specific values',
}, },
}; };
@@ -121,10 +125,10 @@ export class SCThingWithCategoriesWithoutReferencesMeta<T, U>
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
}, },
}; };

View File

@@ -77,6 +77,7 @@ export type SCAcademicEventCategories =
| 'seminar' | 'seminar'
| 'integrated course' | 'integrated course'
| 'written exam' | 'written exam'
| 'oral exam'
| 'tutorial' | 'tutorial'
| 'project' | 'project'
| 'colloquium' | 'colloquium'
@@ -114,14 +115,22 @@ export class SCAcademicEventMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCEventMeta.getInstance().fieldTranslations.de, ...SCEventMeta.getInstance<SCEventMeta>().fieldTranslations.de,
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCAcademicEventCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.de, SCAcademicEventCategories,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.de,
majors: 'Hauptfächer',
originalCategory: 'ursprüngliche Kategorie',
}, },
en: { en: {
...SCEventMeta.getInstance().fieldTranslations.en, ...SCEventMeta.getInstance<SCEventMeta>().fieldTranslations.en,
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCAcademicEventCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.en, SCAcademicEventCategories,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.en,
majors: 'majors',
originalCategory: 'original category',
}, },
}; };
@@ -130,15 +139,35 @@ export class SCAcademicEventMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCEventMeta.getInstance().fieldValueTranslations.de, ...SCEventMeta.getInstance<SCEventMeta>().fieldValueTranslations.de,
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCAcademicEventCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de, SCAcademicEventCategories,
SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.de,
categories: {
'colloquium': 'Kolloquium',
'course': 'Kurs',
'excursion': 'Exkursion',
'integrated course': '',
'introductory class': 'Einführungsveranstaltung',
'lecture': 'Vorlesung',
'oral exam': 'mündliche Prüfung',
'practicum': 'Praktikum',
'practicum introduction': 'Einführungspraktikum',
'project': 'Projekt',
'seminar': 'Seminar',
'special': 'Sonderveranstalltung',
'tutorial': 'Tutorium',
'written exam': 'Schriftilche Prüfung',
},
type: 'akademische Veranstaltung', type: 'akademische Veranstaltung',
}, },
en: { en: {
...SCEventMeta.getInstance().fieldValueTranslations.en, ...SCEventMeta.getInstance<SCEventMeta>().fieldValueTranslations.en,
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCAcademicEventCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en, SCAcademicEventCategories,
SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.en,
type: SCThingType.AcademicEvent, type: SCThingType.AcademicEvent,
}, },
}; };

View File

@@ -95,14 +95,22 @@ export class SCArticleMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCCreativeWorkMeta.getInstance().fieldTranslations.de, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCArticleCategories, .de,
SCThingWithCategoriesSpecificValues>().fieldTranslations.de, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCArticleCategories,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.de,
articleBody: 'Artikelinhalt',
}, },
en: { en: {
...SCCreativeWorkMeta.getInstance().fieldTranslations.en, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCArticleCategories, .en,
SCThingWithCategoriesSpecificValues>().fieldTranslations.en, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCArticleCategories,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.en,
articleBody: 'article body',
}, },
}; };
@@ -111,15 +119,24 @@ export class SCArticleMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCCreativeWorkMeta.getInstance().fieldValueTranslations.de, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCArticleCategories, .fieldValueTranslations.de,
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCArticleCategories,
SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.de,
categories: {
'unipedia': 'Unipedia',
},
type: 'Artikel', type: 'Artikel',
}, },
en: { en: {
...SCCreativeWorkMeta.getInstance().fieldValueTranslations.en, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCArticleCategories, .fieldValueTranslations.en,
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCArticleCategories,
SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.en,
type: SCThingType.Article, type: SCThingType.Article,
}, },
}; };

View File

@@ -97,10 +97,18 @@ export class SCBookMeta extends SCThingMeta implements SCMetaTranslations<SCBook
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCCreativeWorkMeta.getInstance().fieldTranslations.de, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
.de,
bookEdition: 'Buchausgabe',
isbn: 'ISBN',
numberOfPages: 'Seitenzahl',
}, },
en: { en: {
...SCCreativeWorkMeta.getInstance().fieldTranslations.en, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
.en,
bookEdition: 'book edition',
isbn: 'ISBN',
numberOfPages: 'number of pages',
}, },
}; };
@@ -109,11 +117,13 @@ export class SCBookMeta extends SCThingMeta implements SCMetaTranslations<SCBook
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCCreativeWorkMeta.getInstance().fieldValueTranslations.de, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
.fieldValueTranslations.de,
type: 'Buch', type: 'Buch',
}, },
en: { en: {
...SCCreativeWorkMeta.getInstance().fieldValueTranslations.en, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
.fieldValueTranslations.en,
type: SCThingType.Book, type: SCThingType.Book,
}, },
}; };

View File

@@ -97,15 +97,24 @@ export class SCBuildingMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCBuildingCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.de, SCBuildingCategories,
...SCPlaceWithoutReferencesMeta.getInstance().fieldTranslations.de, SCThingWithCategoriesSpecificValues
>().fieldTranslations.de,
...SCPlaceWithoutReferencesMeta.getInstance<
SCPlaceWithoutReferencesMeta
>().fieldTranslations.de,
floors: 'Etagen', floors: 'Etagen',
}, },
en: { en: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCBuildingCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.en, SCBuildingCategories,
...SCPlaceWithoutReferencesMeta.getInstance().fieldTranslations.en, SCThingWithCategoriesSpecificValues
>().fieldTranslations.en,
...SCPlaceWithoutReferencesMeta.getInstance<
SCPlaceWithoutReferencesMeta
>().fieldTranslations.en,
floors: 'floors',
}, },
}; };
@@ -114,9 +123,13 @@ export class SCBuildingMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCBuildingCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de, SCBuildingCategories,
...SCPlaceWithoutReferencesMeta.getInstance().fieldValueTranslations.de, SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.de,
...SCPlaceWithoutReferencesMeta.getInstance<
SCPlaceWithoutReferencesMeta
>().fieldValueTranslations.de,
categories: { categories: {
'cafe': 'Café', 'cafe': 'Café',
'canteen': 'Kantine', 'canteen': 'Kantine',
@@ -130,9 +143,13 @@ export class SCBuildingMeta
type: 'Gebäude', type: 'Gebäude',
}, },
en: { en: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCBuildingCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en, SCBuildingCategories,
...SCPlaceWithoutReferencesMeta.getInstance().fieldValueTranslations.en, SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.en,
...SCPlaceWithoutReferencesMeta.getInstance<
SCPlaceWithoutReferencesMeta
>().fieldValueTranslations.en,
type: SCThingType.Building, type: SCThingType.Building,
}, },
}; };

View File

@@ -85,12 +85,24 @@ export class SCCatalogMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCCatalogCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.de, SCCatalogCategories,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.de,
academicTerm: 'Semester',
level: 'Ebene',
superCatalog: 'übergeordnetes Verzeichniss',
superCatalogs: 'übergeordnete Verzeichnisse',
}, },
en: { en: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCCatalogCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.en, SCCatalogCategories,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.en,
academicTerm: 'academic term',
level: 'level',
superCatalog: 'parent catalog',
superCatalogs: 'parent catalogs',
}, },
}; };
@@ -99,13 +111,20 @@ export class SCCatalogMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCCatalogCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de, SCCatalogCategories,
SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.de,
categories: {
'university events': 'Universitätsveranstaltung',
},
type: 'Verzeichnis', type: 'Verzeichnis',
}, },
en: { en: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCCatalogCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en, SCCatalogCategories,
SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.en,
type: SCThingType.Catalog, type: SCThingType.Catalog,
}, },
}; };

View File

@@ -16,6 +16,7 @@ import {SCAcademicDegree, SCAcademicDegreeMeta, SCAcademicDegreeWithoutReference
import { import {
SCAcademicPriceGroup, SCAcademicPriceGroup,
SCThingThatCanBeOffered, SCThingThatCanBeOffered,
SCThingThatCanBeOfferedMeta,
SCThingThatCanBeOfferedTranslatableProperties, SCThingThatCanBeOfferedTranslatableProperties,
SCThingThatCanBeOfferedWithoutReferences, SCThingThatCanBeOfferedWithoutReferences,
} from '../base/ThingThatCanBeOffered'; } from '../base/ThingThatCanBeOffered';
@@ -114,10 +115,30 @@ export class SCCourseOfStudiesMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCAcademicDegreeMeta.getInstance().fieldTranslations.de, ...SCAcademicDegreeMeta.getInstance<SCAcademicDegreeMeta>()
.fieldTranslations.de,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldTranslations.de,
department: 'Fachbereich',
mainLanguage: 'Unterrichtssprache',
major: 'Studienfach',
mode: 'Studiengangsart',
secretary: 'Sekretariat',
startDates: 'Startdatum',
timeMode: 'Zeitmodell',
}, },
en: { en: {
...SCAcademicDegreeMeta.getInstance().fieldTranslations.en, ...SCAcademicDegreeMeta.getInstance<SCAcademicDegreeMeta>()
.fieldTranslations.en,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldTranslations.de,
department: 'department',
mainLanguage: 'main language',
major: 'major',
mode: 'mode',
secretary: 'secretary',
startDates: 'start dates',
timeMode: 'time mode',
}, },
}; };
@@ -129,7 +150,11 @@ export class SCCourseOfStudiesMeta
...SCAcademicDegreeMeta.getInstance().fieldValueTranslations.de, ...SCAcademicDegreeMeta.getInstance().fieldValueTranslations.de,
modes: { modes: {
combination: 'Kombinationsstudiengang', combination: 'Kombinationsstudiengang',
dual: 'Dualer Studiengang', 'double-degree': 'Doppelstudium',
dual: 'duales Studium',
standard: 'Studium',
},
timeMode: {
fulltime: 'Vollzeitstudiengang', fulltime: 'Vollzeitstudiengang',
parttime: 'Teilzeitstudiengang', parttime: 'Teilzeitstudiengang',
}, },
@@ -137,11 +162,16 @@ export class SCCourseOfStudiesMeta
}, },
en: { en: {
...SCAcademicDegreeMeta.getInstance().fieldValueTranslations.en, ...SCAcademicDegreeMeta.getInstance().fieldValueTranslations.en,
academicDegree: 'Hochschulabschluss', modes: {
department: 'Fachbereich', combination: 'combination course of studies',
major: 'Studienfach', 'double-degree': 'double degree course of studies',
modes: 'Studiengangsarten', dual: 'dual course of studies',
secretary: 'Sekretariat', standard: 'course of studies',
},
timeMode: {
fulltime: 'full-time',
parttime: 'part-time',
},
type: SCThingType.CourseOfStudies, type: SCThingType.CourseOfStudies,
}, },
}; };

View File

@@ -22,6 +22,7 @@ import {
import {SCThingMeta, SCThingType} from '../Thing'; import {SCThingMeta, SCThingType} from '../Thing';
import {SCMetaTranslations, SCTranslations} from '../types/i18n'; import {SCMetaTranslations, SCTranslations} from '../types/i18n';
import {SCISO8601Date, SCISO8601Duration} from '../types/Time'; import {SCISO8601Date, SCISO8601Duration} from '../types/Time';
import {SCThingThatCanBeOfferedMeta} from './../base/ThingThatCanBeOffered';
import {SCAcademicEventWithoutReferences} from './AcademicEvent'; import {SCAcademicEventWithoutReferences} from './AcademicEvent';
import {SCPersonWithoutReferences} from './Person'; import {SCPersonWithoutReferences} from './Person';
import {SCSportCourseWithoutReferences} from './SportCourse'; import {SCSportCourseWithoutReferences} from './SportCourse';
@@ -115,10 +116,28 @@ export class SCDateSeriesMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingInPlaceMeta.getInstance().fieldTranslations.de, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.de,
...SCThingThatCanBeOfferedMeta.getInstance<SCSportCoursePriceGroup>()
.fieldTranslations.de,
dates: 'Einzeltermine',
duration: 'Dauer',
event: 'Event',
exceptions: 'Ausnahmen',
frequency: 'Frequenz',
performers: 'Vortragende',
}, },
en: { en: {
...SCThingInPlaceMeta.getInstance().fieldTranslations.en, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.en,
...SCThingThatCanBeOfferedMeta.getInstance<SCSportCoursePriceGroup>()
.fieldTranslations.en,
dates: 'dates',
duration: 'duration',
event: 'event',
exceptions: 'exceptions',
frequency: 'frequency',
performers: 'performers',
}, },
}; };
@@ -127,14 +146,17 @@ export class SCDateSeriesMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingInPlaceMeta.getInstance().fieldValueTranslations.de, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
dates: 'Einzeltermine', .fieldValueTranslations.de,
duration: 'Dauer', ...SCThingThatCanBeOfferedMeta.getInstance<SCSportCoursePriceGroup>()
frequency: 'Wiederholung', .fieldValueTranslations.de,
type: 'Wiederholungreihe', type: 'Terminserie',
}, },
en: { en: {
...SCThingInPlaceMeta.getInstance().fieldValueTranslations.en, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
.fieldValueTranslations.en,
...SCThingThatCanBeOfferedMeta.getInstance<SCSportCoursePriceGroup>()
.fieldValueTranslations.en,
type: SCThingType.DateSeries, type: SCThingType.DateSeries,
}, },
}; };

View File

@@ -73,13 +73,18 @@ export class SCDiffMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
action: 'Aktion', action: 'Aktion',
changes: 'Änderungen', changes: 'Änderungen',
dateCreated: 'Erstellungsdatum', dateCreated: 'Erstellungsdatum',
object: 'Objekt',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
action: 'action',
changes: 'changes',
dateCreated: 'date created',
object: 'object',
}, },
}; };
@@ -89,6 +94,10 @@ export class SCDiffMeta
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance().fieldValueTranslations.de,
action: {
'changed': 'geändert',
'removed': 'gelöscht',
},
type: 'Unterschied', type: 'Unterschied',
}, },
en: { en: {

View File

@@ -27,6 +27,7 @@ import {
} from '../base/ThingWithCategories'; } from '../base/ThingWithCategories';
import {SCThingMeta, SCThingType} from '../Thing'; import {SCThingMeta, SCThingType} from '../Thing';
import {SCMetaTranslations, SCTranslations} from '../types/i18n'; import {SCMetaTranslations, SCTranslations} from '../types/i18n';
import {SCThingThatCanBeOfferedMeta} from './../base/ThingThatCanBeOffered';
/** /**
* A dish without references * A dish without references
@@ -176,12 +177,28 @@ export class SCDishMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCDishCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.de, SCDishCategories,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.de,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldTranslations.de,
additives: 'Zusatzstoffe',
characteristics: 'Merkmale',
dishAddOns: 'Beilagen',
nutrition: 'Nährwertangaben',
}, },
en: { en: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCDishCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.en, SCDishCategories,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.en,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldTranslations.en,
additives: 'additives',
characteristics: 'characteristics',
dishAddOns: 'side dishes',
nutrition: 'nutrition information',
}, },
}; };
@@ -190,8 +207,12 @@ export class SCDishMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCDishCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de, SCDishCategories,
SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.de,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldValueTranslations.de,
categories: { categories: {
appetizer: 'Vorspeise', appetizer: 'Vorspeise',
dessert: 'Nachtisch', dessert: 'Nachtisch',
@@ -203,8 +224,12 @@ export class SCDishMeta
type: 'Essen', type: 'Essen',
}, },
en: { en: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCDishCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en, SCDishCategories,
SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.en,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldValueTranslations.en,
type: SCThingType.Dish, type: SCThingType.Dish,
}, },
}; };

View File

@@ -107,10 +107,16 @@ export class SCFloorMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingInPlaceMeta.getInstance().fieldTranslations.de, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.de,
floorName: 'Etagenbezeichnung',
plan: 'Grundriss',
}, },
en: { en: {
...SCThingInPlaceMeta.getInstance().fieldTranslations.en, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.en,
floorName: 'floor name',
plan: 'plan',
}, },
}; };
@@ -119,11 +125,13 @@ export class SCFloorMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingInPlaceMeta.getInstance().fieldValueTranslations.de, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
.fieldValueTranslations.de,
type: 'Etage', type: 'Etage',
}, },
en: { en: {
...SCThingInPlaceMeta.getInstance().fieldValueTranslations.en, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
.fieldValueTranslations.en,
type: SCThingType.Floor, type: SCThingType.Floor,
}, },
}; };

View File

@@ -102,10 +102,18 @@ export class SCMessageMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCCreativeWorkMeta.getInstance().fieldTranslations.de, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
.de,
audiences: 'Zielgruppen',
dateCreated: 'Erstellungsdatum',
messageBody: 'Nachrichteninhalt',
}, },
en: { en: {
...SCCreativeWorkMeta.getInstance().fieldTranslations.en, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
.en,
audiences: 'audiences',
dateCreated: 'date created',
messageBody: 'message body',
}, },
}; };
@@ -114,11 +122,18 @@ export class SCMessageMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCCreativeWorkMeta.getInstance().fieldValueTranslations.de, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
.fieldValueTranslations.de,
audiences: {
'employees': 'Angestellte',
'guests': 'Gäste',
'students': 'Studenten',
},
type: 'Nachricht', type: 'Nachricht',
}, },
en: { en: {
...SCCreativeWorkMeta.getInstance().fieldValueTranslations.en, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
.fieldValueTranslations.en,
type: SCThingType.Message, type: SCThingType.Message,
}, },
}; };

View File

@@ -12,8 +12,9 @@
* You should have received a copy of the GNU General Public License along with * You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>. * this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import {SCThingInPlace} from '../base/ThingInPlace'; import {SCThingInPlace, SCThingInPlaceMeta} from '../base/ThingInPlace';
import {SCThingMeta, SCThingType, SCThingWithoutReferences} from '../Thing'; import {SCThingMeta, SCThingType, SCThingWithoutReferences} from '../Thing';
import {SCMetaTranslations} from '../types/i18n';
/** /**
* An organization without references * An organization without references
@@ -42,5 +43,31 @@ export interface SCOrganization
/** /**
* Meta information about an organization * Meta information about an organization
*/ */
export class SCOrganizationMeta extends SCThingMeta { export class SCOrganizationMeta
extends SCThingMeta implements SCMetaTranslations<SCOrganization> {
/**
* Translations of fields
*/
fieldTranslations = {
de: {
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations.de,
},
en: {
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations.en,
},
};
/**
* Translations of values of fields
*/
fieldValueTranslations = {
de: {
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldValueTranslations.de,
type: 'Einrichtung',
},
en: {
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldValueTranslations.en,
type: SCThingType.Organization,
},
};
} }

View File

@@ -139,10 +139,40 @@ export class SCPersonMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
additionalName: 'Zusatzname',
affiliations: 'Zugehörigkeiten',
birthDate: 'Geburtsdatum',
email: 'E-Mail',
familyName: 'Nachname',
faxNumber: 'Faxnummer',
gender: 'Geschlecht',
givenName: 'Vorname',
homeLocations: 'Heimatstandorte',
honorificPrefix: 'Ehrentitel',
honorificSuffix: 'Ehrentitel (Suffix)',
jobTitles: 'Berufsbezeichnungen',
nationality: 'Staatsangehörigkeit',
telephone: 'Telefonnummer',
workLocations: 'Arbeitsorte',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
additionalName: 'additional name',
affiliations: 'affiliations',
birthDate: 'birth date',
email: 'email',
familyName: 'family name',
faxNumber: 'fax',
gender: 'gender',
givenName: 'given name',
homeLocations: 'home locations',
honorificPrefix: 'honorific title',
honorificSuffix: 'honorific title (suffix)',
jobTitles: 'job titles',
nationality: 'nationality',
telephone: 'telephone',
workLocations: 'work locations',
}, },
}; };
@@ -151,11 +181,17 @@ export class SCPersonMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
gender: {
'female': 'weiblich',
'inter': 'divers',
'male': 'männlich',
'undefined': 'undefiniert',
},
type: 'Person', type: 'Person',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
type: SCThingType.Person, type: SCThingType.Person,
}, },
}; };

View File

@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>. * this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import {SCPlace, SCPlaceWithoutReferences, SCPlaceWithoutReferencesMeta} from '../base/Place'; import {SCPlace, SCPlaceWithoutReferences, SCPlaceWithoutReferencesMeta} from '../base/Place';
import {SCThingInPlace} from '../base/ThingInPlace'; import {SCThingInPlace, SCThingInPlaceMeta} from '../base/ThingInPlace';
import { import {
SCThingWithCategories, SCThingWithCategories,
SCThingWithCategoriesSpecificValues, SCThingWithCategoriesSpecificValues,
@@ -81,16 +81,26 @@ export class SCPointOfInterestMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
// tslint:disable-next-line:max-line-length ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCPointOfInterestCategories, SCPointOfInterestCategories,
SCThingWithCategoriesSpecificValues>().fieldTranslations.de, SCThingWithCategoriesSpecificValues
...SCPlaceWithoutReferencesMeta.getInstance().fieldTranslations.de, >().fieldTranslations.de,
...SCPlaceWithoutReferencesMeta.getInstance<
SCPlaceWithoutReferencesMeta
>().fieldTranslations.de,
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.de,
}, },
en: { en: {
// tslint:disable-next-line:max-line-length ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCPointOfInterestCategories, SCPointOfInterestCategories,
SCThingWithCategoriesSpecificValues>().fieldTranslations.en, SCThingWithCategoriesSpecificValues
...SCPlaceWithoutReferencesMeta.getInstance().fieldTranslations.en, >().fieldTranslations.en,
...SCPlaceWithoutReferencesMeta.getInstance<
SCPlaceWithoutReferencesMeta
>().fieldTranslations.en,
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.en,
}, },
}; };
@@ -99,15 +109,30 @@ export class SCPointOfInterestMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCPointOfInterestCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de, SCPointOfInterestCategories,
...SCPlaceWithoutReferencesMeta.getInstance().fieldValueTranslations.de, SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.de,
...SCPlaceWithoutReferencesMeta.getInstance<
SCPlaceWithoutReferencesMeta
>().fieldValueTranslations.de,
categories: {
'card charger': 'Kartenaufwerter',
'computer': 'Computer',
'disabled access': 'barrierefreier Zugang',
'printer': 'Drucker',
'validator': 'Validierer',
},
type: 'Sonderziel', type: 'Sonderziel',
}, },
en: { en: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCPointOfInterestCategories, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en, SCPointOfInterestCategories,
...SCPlaceWithoutReferencesMeta.getInstance().fieldValueTranslations.en, SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.en,
...SCPlaceWithoutReferencesMeta.getInstance<
SCPlaceWithoutReferencesMeta
>().fieldValueTranslations.en,
type: SCThingType.PointOfInterest, type: SCThingType.PointOfInterest,
}, },
}; };

View File

@@ -121,18 +121,36 @@ export class SCRoomMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCPlaceWithoutReferencesMeta.getInstance().fieldTranslations.de, ...SCPlaceWithoutReferencesMeta.getInstance<
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance().fieldTranslations.de, SCPlaceWithoutReferencesMeta
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCRoomCategories, >().fieldTranslations.de,
SCRoomSpecificValues>().fieldTranslations.de, ...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<
...SCThingInPlaceMeta.getInstance().fieldTranslations.de, SCThingThatAcceptsPaymentsWithoutReferencesMeta
>().fieldTranslations.de,
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCRoomCategories,
SCRoomSpecificValues
>().fieldTranslations.de,
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.de,
floorName: 'Etagenbezeichnung',
inventory: 'Bestand',
}, },
en: { en: {
...SCPlaceWithoutReferencesMeta.getInstance().fieldTranslations.en, ...SCPlaceWithoutReferencesMeta.getInstance<
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance().fieldTranslations.en, SCPlaceWithoutReferencesMeta
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCRoomCategories, >().fieldTranslations.en,
SCRoomSpecificValues>().fieldTranslations.en, ...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<
...SCThingInPlaceMeta.getInstance().fieldTranslations.en, SCThingThatAcceptsPaymentsWithoutReferencesMeta
>().fieldTranslations.en,
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCRoomCategories,
SCRoomSpecificValues
>().fieldTranslations.en,
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.en,
floorName: 'floor name',
inventory: 'inventory',
}, },
}; };
@@ -141,11 +159,18 @@ export class SCRoomMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCPlaceWithoutReferencesMeta.getInstance().fieldValueTranslations.de, ...SCPlaceWithoutReferencesMeta.getInstance<
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance().fieldValueTranslations.de, SCPlaceWithoutReferencesMeta
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCRoomCategories, >().fieldValueTranslations.de,
SCRoomSpecificValues>().fieldValueTranslations.de, ...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<
...SCThingInPlaceMeta.getInstance().fieldValueTranslations.de, SCThingThatAcceptsPaymentsWithoutReferencesMeta
>().fieldValueTranslations.de,
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCRoomCategories,
SCRoomSpecificValues
>().fieldValueTranslations.de,
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
.fieldValueTranslations.de,
categories: { categories: {
'cafe': 'Café', 'cafe': 'Café',
'canteen': 'Kantine', 'canteen': 'Kantine',
@@ -164,11 +189,18 @@ export class SCRoomMeta
type: 'Raum', type: 'Raum',
}, },
en: { en: {
...SCPlaceWithoutReferencesMeta.getInstance().fieldValueTranslations.en, ...SCPlaceWithoutReferencesMeta.getInstance<
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance().fieldValueTranslations.en, SCPlaceWithoutReferencesMeta
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCRoomCategories, >().fieldValueTranslations.en,
SCRoomSpecificValues>().fieldValueTranslations.en, ...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<
...SCThingInPlaceMeta.getInstance().fieldValueTranslations.en, SCThingThatAcceptsPaymentsWithoutReferencesMeta
>().fieldValueTranslations.en,
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCRoomCategories,
SCRoomSpecificValues
>().fieldValueTranslations.en,
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
.fieldValueTranslations.en,
type: SCThingType.Room, type: SCThingType.Room,
}, },
}; };

View File

@@ -62,7 +62,9 @@ export class SCSemesterMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCAcademicTermWithoutReferencesMeta.getInstance().fieldTranslations.de, ...SCAcademicTermWithoutReferencesMeta.getInstance<
SCAcademicTermWithoutReferencesMeta
>().fieldTranslations.de,
acronym: 'Abkürzung', acronym: 'Abkürzung',
endDate: 'Ende', endDate: 'Ende',
eventsEndDate: 'Vorlesungsschluss', eventsEndDate: 'Vorlesungsschluss',
@@ -70,7 +72,14 @@ export class SCSemesterMeta
startDate: 'Beginn', startDate: 'Beginn',
}, },
en: { en: {
...SCAcademicTermWithoutReferencesMeta.getInstance().fieldTranslations.en, ...SCAcademicTermWithoutReferencesMeta.getInstance<
SCAcademicTermWithoutReferencesMeta
>().fieldTranslations.en,
acronym: 'acronym',
endDate: 'end date',
eventsEndDate: 'semester ending',
eventsStartDate: 'semester beginning',
startDate: 'start date',
}, },
}; };
@@ -79,11 +88,15 @@ export class SCSemesterMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCAcademicTermWithoutReferencesMeta.getInstance().fieldValueTranslations.de, ...SCAcademicTermWithoutReferencesMeta.getInstance<
SCAcademicTermWithoutReferencesMeta
>().fieldValueTranslations.de,
type: 'Semester', type: 'Semester',
}, },
en: { en: {
...SCAcademicTermWithoutReferencesMeta.getInstance().fieldValueTranslations.en, ...SCAcademicTermWithoutReferencesMeta.getInstance<
SCAcademicTermWithoutReferencesMeta
>().fieldValueTranslations.en,
type: SCThingType.Semester, type: SCThingType.Semester,
}, },
}; };

View File

@@ -22,13 +22,15 @@ import {
import {SCThing, SCThingMeta, SCThingType} from '../Thing'; import {SCThing, SCThingMeta, SCThingType} from '../Thing';
import {SCMetaTranslations, SCTranslations} from '../types/i18n'; import {SCMetaTranslations, SCTranslations} from '../types/i18n';
export type SCSettingCategories = string;
/** /**
* A setting without references * A setting without references
*/ */
export interface SCSettingWithoutReferences export interface SCSettingWithoutReferences
extends SCThingWithCategoriesWithoutReferences<SCSettingCategories, SCThingWithCategoriesSpecificValues> { extends SCThingWithCategoriesWithoutReferences<SCSettingCategories, SCThingWithCategoriesSpecificValues> {
/**
* Categories of a setting
*/
categories: SCSettingCategories[];
/** /**
* The default value of a setting * The default value of a setting
*/ */
@@ -59,6 +61,15 @@ export interface SCSettingWithoutReferences
values?: SCSettingValues; values?: SCSettingValues;
} }
/**
* A list of categories for settings
*/
export type SCSettingCategories =
'profile'
| 'privacy'
| 'credentials'
| 'others';
/** /**
* The types of input/value a setting object can carry * The types of input/value a setting object can carry
*/ */
@@ -117,20 +128,26 @@ export class SCSettingMeta extends SCThingMeta implements SCMetaTranslations<SCS
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
// tslint:disable-next-line:max-line-length ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCSettingCategories, SCSettingCategories,
SCThingWithCategoriesSpecificValues>().fieldTranslations.de, SCThingWithCategoriesSpecificValues
>().fieldTranslations.de,
defaultValue: 'Standard Wert', defaultValue: 'Standard Wert',
inputType: 'Eingabetyp', inputType: 'Eingabetyp',
order: 'Position',
value: 'Wert', value: 'Wert',
values: 'Werte', values: 'Werte',
}, },
en: { en: {
// tslint:disable-next-line:max-line-length ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCSettingCategories, SCSettingCategories,
SCThingWithCategoriesSpecificValues>().fieldTranslations.en, SCThingWithCategoriesSpecificValues
>().fieldTranslations.en,
defaultValue: 'default value', defaultValue: 'default value',
inputType: 'input type', inputType: 'input type',
order: 'position',
value: 'value',
values: 'values',
}, },
}; };
@@ -139,9 +156,16 @@ export class SCSettingMeta extends SCThingMeta implements SCMetaTranslations<SCS
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
// tslint:disable-next-line:max-line-length ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCSettingCategories, SCSettingCategories,
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de, SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.de,
categories: {
credentials: 'Anmeldedaten',
others: 'Andere',
privacy: 'Privatsphäre',
profile: 'Profil',
},
inputType: { inputType: {
'multiple choice': 'mehrfach Auswahl', 'multiple choice': 'mehrfach Auswahl',
number: 'Zahl', number: 'Zahl',
@@ -152,9 +176,10 @@ export class SCSettingMeta extends SCThingMeta implements SCMetaTranslations<SCS
type: 'Einstellung', type: 'Einstellung',
}, },
en: { en: {
// tslint:disable-next-line:max-line-length ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCSettingCategories, SCSettingCategories,
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en, SCThingWithCategoriesSpecificValues
>().fieldValueTranslations.en,
type: SCThingType.Setting, type: SCThingType.Setting,
}, },
}; };

View File

@@ -51,12 +51,10 @@ export class SCSportCourseMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCEventMeta.getInstance<SCEventMeta>().fieldTranslations.de,
...SCEventMeta.getInstance().fieldTranslations.de,
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCEventMeta.getInstance<SCEventMeta>().fieldTranslations.en,
...SCEventMeta.getInstance().fieldTranslations.en,
}, },
}; };
@@ -65,13 +63,11 @@ export class SCSportCourseMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCEventMeta.getInstance<SCEventMeta>().fieldValueTranslations.de,
...SCEventMeta.getInstance().fieldValueTranslations.de,
type: 'Sportkurs', type: 'Sportkurs',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCEventMeta.getInstance<SCEventMeta>().fieldValueTranslations.en,
...SCEventMeta.getInstance().fieldValueTranslations.en,
type: SCThingType.SportCourse, type: SCThingType.SportCourse,
}, },
}; };

View File

@@ -21,6 +21,7 @@ import {
import {SCThingMeta, SCThingType} from '../Thing'; import {SCThingMeta, SCThingType} from '../Thing';
import {SCLanguage, SCMetaTranslations, SCTranslations} from '../types/i18n'; import {SCLanguage, SCMetaTranslations, SCTranslations} from '../types/i18n';
import {SCMap} from '../types/Map'; import {SCMap} from '../types/Map';
import {SCThingThatCanBeOfferedMeta} from './../base/ThingThatCanBeOffered';
import {SCAcademicEventWithoutReferences} from './AcademicEvent'; import {SCAcademicEventWithoutReferences} from './AcademicEvent';
import {SCOrganizationWithoutReferences} from './Organization'; import {SCOrganizationWithoutReferences} from './Organization';
import {SCPersonWithoutReferences} from './Person'; import {SCPersonWithoutReferences} from './Person';
@@ -142,6 +143,8 @@ export class SCStudyModuleMeta
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldTranslations.de, ...SCThingMeta.getInstance().fieldTranslations.de,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldTranslations.de,
academicEvents: 'Veranstaltungen', academicEvents: 'Veranstaltungen',
ects: 'ECTS-Punkte', ects: 'ECTS-Punkte',
faculty: 'Fachbereich', faculty: 'Fachbereich',
@@ -154,6 +157,8 @@ export class SCStudyModuleMeta
}, },
en: { en: {
...SCThingMeta.getInstance().fieldTranslations.en, ...SCThingMeta.getInstance().fieldTranslations.en,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldTranslations.en,
academicEvents: 'academic events', academicEvents: 'academic events',
ects: 'ECTS points', ects: 'ECTS points',
faculty: 'faculty', faculty: 'faculty',
@@ -171,7 +176,9 @@ export class SCStudyModuleMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingMeta.getInstance().fieldValueTranslations.de, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldValueTranslations.de,
necessity: { necessity: {
'elective': 'Wahlfach', 'elective': 'Wahlfach',
'optional': 'optional', 'optional': 'optional',
@@ -180,7 +187,9 @@ export class SCStudyModuleMeta
type: 'Studiengangmodul', type: 'Studiengangmodul',
}, },
en: { en: {
...SCThingMeta.getInstance().fieldValueTranslations.en, ...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
.fieldValueTranslations.en,
type: SCThingType.StudyModule, type: SCThingType.StudyModule,
}, },
}; };

View File

@@ -67,10 +67,18 @@ export class SCTicketMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingInPlaceMeta.getInstance().fieldTranslations.de, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.de,
approxWaitingTime: 'ungefähre Wartezeit',
currentTicketNumber: 'aktuelle Ticketnummer',
serviceType: 'Service Kategorie',
}, },
en: { en: {
...SCThingInPlaceMeta.getInstance().fieldTranslations.en, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
.en,
approxWaitingTime: 'approximate waiting time',
currentTicketNumber: 'current ticket number',
serviceType: 'type of service',
}, },
}; };
@@ -79,11 +87,13 @@ export class SCTicketMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCThingInPlaceMeta.getInstance().fieldValueTranslations.de, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
.fieldValueTranslations.de,
type: 'Ticket', type: 'Ticket',
}, },
en: { en: {
...SCThingInPlaceMeta.getInstance().fieldValueTranslations.en, ...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
.fieldValueTranslations.en,
type: SCThingType.Ticket, type: SCThingType.Ticket,
}, },
}; };

View File

@@ -85,12 +85,22 @@ export class SCToDoMeta extends SCThingMeta implements SCMetaTranslations<SCToDo
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<string, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.de, string,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.de,
done: 'Erledigt',
dueDate: 'Fälligkeitsdatum',
priority: 'Priorität',
}, },
en: { en: {
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<string, ...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
SCThingWithCategoriesSpecificValues>().fieldTranslations.en, string,
SCThingWithCategoriesSpecificValues
>().fieldTranslations.en,
done: 'done',
dueDate: 'due date',
priority: 'priority',
}, },
}; };

View File

@@ -55,6 +55,35 @@ export interface SCTour
export class SCTourMeta export class SCTourMeta
extends SCThingMeta extends SCThingMeta
implements SCMetaTranslations<SCTour> { implements SCMetaTranslations<SCTour> {
/**
* Translations of fields
*/
fieldTranslations = {
de: {
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
init: 'Initiales Skript',
steps: 'Schritte',
},
en: {
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
init: 'initial script',
steps: 'steps',
},
};
/**
* Translations of values of fields
*/
fieldValueTranslations = {
de: {
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
type: 'Tour',
},
en: {
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
type: SCThingType.Tour,
},
};
} }
/** /**

View File

@@ -127,10 +127,24 @@ export class SCVideoMeta
*/ */
fieldTranslations = { fieldTranslations = {
de: { de: {
...SCCreativeWorkMeta.getInstance().fieldTranslations.de, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
.de,
actors: 'Darsteller',
duration: 'Dauer',
sources: 'Quellen',
thumbnails: 'Vorschaubilder',
tracks: 'Spuren',
transcript: 'Transkript',
}, },
en: { en: {
...SCCreativeWorkMeta.getInstance().fieldTranslations.en, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
.en,
actors: 'actors',
duration: 'duration',
sources: 'sources',
thumbnails: 'thumbnails',
tracks: 'tracks',
transcript: 'transcript',
}, },
}; };
@@ -139,11 +153,13 @@ export class SCVideoMeta
*/ */
fieldValueTranslations = { fieldValueTranslations = {
de: { de: {
...SCCreativeWorkMeta.getInstance().fieldValueTranslations.de, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
.fieldValueTranslations.de,
type: 'Video', type: 'Video',
}, },
en: { en: {
...SCCreativeWorkMeta.getInstance().fieldValueTranslations.en, ...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
.fieldValueTranslations.en,
type: SCThingType.Video, type: SCThingType.Video,
}, },
}; };
@@ -163,7 +179,7 @@ export type SCVideoMimeType =
* Video Track Types * Video Track Types
*/ */
export type SCVideoTrackTypes = export type SCVideoTrackTypes =
'captions' 'closed captions'
| 'chapters' | 'chapters'
| 'description' | 'description'
| 'metadata' | 'metadata'

View File

@@ -690,7 +690,7 @@ export interface SCTranslations<T> {
* (Source: https://stackoverflow.com/a/51365037) * (Source: https://stackoverflow.com/a/51365037)
*/ */
type RecursivePartial<T> = { type RecursivePartial<T> = {
[P in keyof T]?: [P in keyof T]-?:
T[P] extends Array<infer U> ? Array<RecursivePartial<U>> : T[P] extends Array<infer U> ? Array<RecursivePartial<U>> :
T[P] extends object ? RecursivePartial<T[P]> : T[P] extends object ? RecursivePartial<T[P]> :
T[P]; T[P];