Ecreo.Essentials.Translation
Ecreo.Essentials.Translation giver type-safe adgang til Umbraco dictionary items. I stedet for frie string keys kan projektet definere et key-hierarki med klasser, der arver fra DictionaryKeysBase, og derefter bruge ITranslationService til opslag.
Installation
Sektion kaldt “Installation”Installer pakken i dit Umbraco-projekt:
dotnet add package Ecreo.Essentials.TranslationPakken registrerer sine services via en Umbraco composer, så den kræver normalt ikke ændringer i Program.cs.
Grundlæggende brug
Sektion kaldt “Grundlæggende brug”Definer dictionary keys som typer:
using Ecreo.Essentials.Translation;
public class DictionaryKeys : DictionaryKeysBase{ public class Global { public class Cancel { } public class Save { } }}Inject ITranslationService og hent oversættelsen via typen:
public class MyService(ITranslationService translationService){ public string CancelText(CultureInfo culture) { return translationService.GetWithCulture<DictionaryKeys.Global.Cancel>(culture); }}DictionaryKeys.Global.Cancel bliver til dictionary key Global.Cancel.
Fallback
Sektion kaldt “Fallback”Hvis dictionary-værdien mangler eller er tom, returnerer servicen en fallback.
var label = translationService.GetWithFallback<DictionaryKeys.Global.Save>("Save");For underkeys kan du bruge GetByKey*:
var label = translationService.GetByKeyWithFallback<DictionaryKeys.Global.Save>( "Button", "Save");Det slår op på Global.Save.Button.
Hvis Umbraco-sproget har fallback language, prøver servicen fallback-sproget før defaultværdien. Cycles stoppes, så lookup ikke kan køre uendeligt.
Hvis en key ikke findes i Umbraco dictionary, opretter servicen den automatisk.
Async API
Sektion kaldt “Async API”Alle sync-metoder har async-wrappers:
var label = await translationService.GetAsync<DictionaryKeys.Global.Cancel>();Services og checks
Sektion kaldt “Services og checks”Pakken registrerer:
ITranslationServicesom scoped service.ITranslationStatisticsServicesom singleton.- Hosted service til at gemme translation usage statistics.
- Health checks for manglende dictionary keys og ubrugte dictionary items.
- Cache clearing ved ændringer i languages og dictionary items.
Health checks
Sektion kaldt “Health checks”Missing dictionary items finder keys fra typer der arver fra DictionaryKeysBase, men som ikke findes i Umbraco dictionary. Checket kan oprette én eller flere manglende keys.
Unused dictionary items viser dictionary items, der ikke er blevet hentet gennem ITranslationService i de seneste 7 eller 30 dage, eller aldrig er blevet hentet.