I'm developing a Zend Framework 2 application an having a problem with translations. Actually in the view scripts a can use the view helper [`Translate`](https://github.com/zendframework/zf2/blob/master/library/Zend/I18n/View/Helper/Translate.php). Since I defined "translate" as a source keyword in Poedit (`[Poedit menu] -> Catalogue -> Properties... -> Source keywords`) the strings are identified by the tool and added to the tranlation list.

But there are also some strings at other places, where I cannot use the/a view helper, e.g. in form classes or in the navigation. How should this be managed?

Some ideas:

1. Create a file with a list of such strings. Example: We create files `navigation.i18n`, `forms.i18n` etc. (or just one file), define there all strings we need in the common Poedit syntax we added to the `Source keywords` list (e.g. with `translate`: `translate('my label foo'), translate('my label bar')` etc.), and finally add `i18n` as a source path (`[Poedit menu] -> Catalogue -> Properties... -> Source paths`). We also can use an extension, that is already defined as a 'Source paths'.
2. A class, that provides one (static) method `translate(...)` without any functionality. Example: Instead of `'label' => 'foo'`we use `'label' => \MyNamespace\Util\Translator::translate('foo')`

I think, the second appoach is cleaner, and I like more. I don't need to write my key sring twice and to hold in the head, what is already translated / updated. But maybe there are better ideas?