[FLOW3-general] Labels translations based on user's language
Steffen Wickham
steffen at gaming-inc.de
Thu Jan 3 17:13:40 CET 2013
Hello Sergio,
to detect which language will be accepted by the client you can detect
it by using the following code:
$detector = new \TYPO3\Flow\I18n\Detector();
$language =
$detector->detectLocaleFromHttpHeader($_SERVER['HTTP_ACCEPT_LANGUAGE']);
$view->assign('language', $language->getLanguage());
(for Flow 1.1 change first line to "$detector = new
\TYPO3\FLOW3\I18n\Detector();")
Now you have to provide the language variable to the locale attribute of
each <f:translate> in your template. For example:
<f:translate id="indexAction.noGamesFound" locale="{language}"
source="Match" />
The I18n/l10n part of the framework will choose the correct XLIFF file
(in this case "Match.xlf" in Resources/Private/Translations/<language>/
directory) and tries to put in the correct translation for the
<f:translate> part.
So for you it's the best way to check if there is already a language in
your User class set and use this, otherwise try to detect it by the
method above.
Greetings
Steffen
Am 03.01.2013 17:02, schrieb Sergio:
> Hi list,
>
> I have a "User" class that extends "Person" class (Party extension) and
> I've added "language" field as the user's prefered language for the website.
>
> I've read this guide about internationalization:
> http://flow.typo3.org/documentation/guide/partiii/internationalization.html
>
> And I understand XLIFF formats and I've got all my labels ready to
> translate, but how do I do the website detects this user's language?
>
> Any hints would be welcome.
>
> Thanks in advance,
> Sergio
> _______________________________________________
> FLOW3-general mailing list
> FLOW3-general at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/flow3-general
More information about the FLOW3-general
mailing list