package localization import ( "context" "tercul/internal/domain/localization" ) // LocalizationQueries contains the query handlers for the localization aggregate. type LocalizationQueries struct { repo localization.LocalizationRepository } // NewLocalizationQueries creates a new LocalizationQueries handler. func NewLocalizationQueries(repo localization.LocalizationRepository) *LocalizationQueries { return &LocalizationQueries{repo: repo} } // GetTranslation returns a translation for a given key and language. func (q *LocalizationQueries) GetTranslation(ctx context.Context, key string, language string) (string, error) { return q.repo.GetTranslation(ctx, key, language) } // GetTranslations returns a map of translations for a given set of keys and language. func (q *LocalizationQueries) GetTranslations(ctx context.Context, keys []string, language string) (map[string]string, error) { return q.repo.GetTranslations(ctx, keys, language) } // GetAuthorBiography returns the biography of an author in a specific language. func (q *LocalizationQueries) GetAuthorBiography(ctx context.Context, authorID uint, language string) (string, error) { return q.repo.GetAuthorBiography(ctx, authorID, language) } // GetWorkContent returns the content of a work in a specific language. func (q *LocalizationQueries) GetWorkContent(ctx context.Context, workID uint, language string) (string, error) { return q.repo.GetWorkContent(ctx, workID, language) }