[FLOW3-general] FLOW3 I18n
Ferdinand Kuhl
fcool at coolys.de
Thu Aug 18 11:22:18 CEST 2011
Hi Zach,
I do think the inpossibility to use language-files from different packages
is not optimial either.
If you only need translations for your single application, you can help
yourself with a quick workaround using the object-configuration framework:
Just create a "Objects.yaml" in your Configuration directory and put the
following lines there:
TYPO3\FLOW3\I18n\TranslationProvider\XliffTranslationProvider:
properties:
xliffBasePath: { value:
"resource://DigiComp.Fairdrive/Private/Locale/Translations/" }
(Indentation might get lost in this email)
Greetings,
Ferdinand
Zach Davis wrote:
> So, I've been digging into Karol's I18n implementation in FLOW3 (nice
> work!) in an effort to localize some labels in my application, and have
> hit a roadblock. The issue that's slowing me down has been identified
> here:
>
> http://forge.typo3.org/issues/14037
>
> In a nutshell, a hard-coded path in the code means that all this I18n
> work isn't really usable yet, since xliff files have to be stored within
> the FLOW3 package. I'd like to at least try to contribute a patch to fix
> this, but am not sure that I know the best way to solve the problem.
>
> In my case, I need to access some translated labels in a controller so
> they can be assigned to a view, as well as in the view, which can be
> done via a view helper. One way to solve this problem would be to just
> remove the base path altogether and make calls to getTranslationById and
> getTranslationByOriginalLabel provide a full path to the xliff resource.
>
> It seems to me that a better approach would be to have the translator
> class be aware of what package the current controller or view is in and
> figure out the resource bath path
> (PackageName/Resources/Private/Locale/Trasnslations) from that. There
> are lots of ways to do this, I suppose. The translator could be given
> access to the controller context or the request and figure it out that
> way. Or, I suppose the translator could be injected into the view and/or
> the controller and the context could be set on the translator when it's
> injected via a setter method. I tend to think that it would be nice to
> have a translator on hand in controllers, much like how the environment
> or the reflection service is present. Am I more or less on the right
> track here, or does anyone have any insight on how this issue might be
> resolved?
>
> Zach
More information about the FLOW3-general
mailing list