This is a more of a question related to D & templates than vibe and i18n, but I hope you guys can help me out. I need i18n on my website and had the idea of using different translationcontexts for different WebInterface controllers. Each web interface class provides the same languages to support but uses translation PO files.

Question 1 - Is it ok to have multiple translation files specified for a single translation context?
Question 2 - Is it ok to specify multiple translation contexts for a single app?

Question 3 - I was thinking of making a struct template to make it easy but I'm getting lost on d templates. Whats the proper way of coding this?

struct TranslationContext(string[] contextFiles){
	import std.typetuple;
	enum enforceExistingKeys = true;

	alias languages = TypeTuple!("en_US", "de_DE");

	foreach(context; contextFiles){
		mixin translationModule!context;
	}
}

The desired effect is that I can use

@translateContext!TranslationContext!(["foo", "bar"])
class WebInterface{ ... }

Thanks