Export Functies voor Vertalingen
Bij het maken van export definities in Reflex Blue is het mogelijk om vertalingen van gegevens die vertaald kunnen worden te exporteren via het export script. Entiteiten met gegevens die vertaald kunnen worden beschikken over twee extensie functies die gebruikt kunnen worden om vertalingen op te vragen.
Translate functie
De Translate functie retourneert de vertaling van het opgegeven veld in de opgegeven taal voor de entiteit waarop het wordt gebruikt.
Definitie
string Translate(string veldNaam, string taalIdentificatie) Parameters
| Naam | Omschrijving |
|---|---|
veldNaam | Dit is de naam van het veld in de entiteit dat vertaald kan worden. |
taalIdentificatie | Dit is de Identificatie van de taal waarin je de vertaling wil opvragen. |
Retourwaarde
De vertaling in de opgegeven taal in tekstformaat.
Voorbeeld
Stel dat je in je export script toegang hebt tot een artikel (via een article variabele) waarvan je de vertaling van de artikelnaam in het Duits zou willen opvragen, dan zou je gebruik kunnen maken van de volgende syntaxis:
article.Translate(nameof(article.Name), "DUITS"); TranslateOrDefault functie
De TranslateOrDefault functie retourneert de vertaling van het opgegeven veld in de opgegeven taal voor de entiteit waarop het wordt gebruikt. Indien er geen vertaling aanwezig is wordt de standaard waarde die is opgegeven geretourneerd.
Definitie
string Translate(string veldNaam, string taalIdentificatie, string standaardWaarde) Parameters
| Naam | Omschrijving |
|---|---|
veldNaam | Dit is de naam van het veld in de entiteit dat vertaald kan worden. |
taalIdentificatie | Dit is de Identificatie van de taal waarin je de vertaling wil opvragen. |
standaardWaarde | Dit is waarde die wordt geretourneerd als er geen vertaling aanwezig is. |
Voorbeeld
Stel dat je in je export script toegang hebt tot een artikel (via een article variabele) waarvan je de vertaling van de artikelnaam in het Duits zou willen opvragen, en de tekst Geen vertaling zou willen terugkrijgen indien er een vertaling ontbreekt, dan zou je gebruik kunnen maken van de volgende syntaxis:
article.Translate(nameof(article.Name), "DUITS", "Geen vertaling"); In een volledig export script zou het gebruik van de Translate en TranslateOrDefault extensie functies voor vertalingen er als volgt uit kunnen zien:
@using ReflexNG.ImportsExports.Domain.Templating.Formatters
@using ReflexNG.Articles.Domain
@inherits ReflexNG.ImportsExports.Domain.Templating.Articles.ArticlesExportTemplate
@{
var csvOptions = CsvOptions.Default.WithSeparator(';');
await foreach (var article in Model.Articles)
{
WriteCsv(
csvOptions,
Formatter.Create(article.Code),
Formatter.Create(article.Name),
Formatter.Create(article.Translate(nameof(article.Name), "DUITS")),
Formatter.Create(article.TranslateOrDefault(nameof(article.Name), "ENGELS", article.Name))
);
}
} In het bovenstaand voorbeeld van een minimaal export script voor artikelen worden alle artikelen geëxporteerd in CSV formaat met hun Code, Naam en de vertalingen van de Naam in het Duits en Engels. Indien er geen vertaling aanwezig is voor de Naam in het Engels, dan wordt de standaard waarde van de Naam gebruikt. De inhoud van het geexporteerde CSV bestand zou er als volgt uit kunnen zien:
1;Zoutvlees;Salzfleisch;Salt meat
2;Kip;Huhn;Kip