public TranslationActionComponent(ITranslationUpdater translationUpdater, ActionTranslationEnum type, Func <TTranslatable, string> translationFunction)
 {
     _getTranslationFunction = translationFunction;
     Translatable            = new TTranslatable();
     Type = type;
     translationUpdater.RegisterAndSetTranslation(x => Translatable = x.UpdateOrCreateTranslation(Translatable));
 }
        public TranslationActionComponent <TTranslation> AddTranslation <TTranslation>(ITranslationUpdater translationUpdater, ActionTranslationEnum type, Func <TTranslation, string> translationFunction)
            where TTranslation : ITranslatable, new()
        {
            var translationActionComponent = new TranslationActionComponent <TTranslation>(translationUpdater, type, translationFunction);

            _components.Add(translationActionComponent);
            return(translationActionComponent);
        }