For some reason my app will read and use for translation:
locale/eng/eng.po
but not
locale/eng/LC_MESSAGES/default.po
Any ideas?
On Mar 26, 8:29 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
wrote:
> Solved! When I added the Auth stuff yesterday, I included some
> settings in AppController::beforeFilter(), including:
>
> $this->Auth->loginError = __('Invalid e-mail / password combination.
> Please try again', true);
>
> Once I commented that out everything worked as before. So this call to
> translate() was somehow messing things up royally.
>
> And, it seems obvious to me now that setting this is unnecessary
> because I can place it in the login() method's flash msg.
>
> On Mar 26, 9:55 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
> wrote:
>
> > Stranger and stranger. I decided to disable Auth because it was that
> > that I'd added to the site before i18n stopped working. As soon as I
> > did that, my Configure::read('Config.language') now shows the new
> >languagesetting. Why would Auth be screwing around with
> > Config.language?
>
> > Unfortunately, I'm still not seeing anything translated ;-(
>
> > I'm using cake_1.2.x.x_24.01.2008, btw.
>
> > As an aside, does anyone know how to globally disable Auth without
> > removing it from the $components array in AppController? Doing that
> > isn't great because I then had to comment out all of the Auth-
>
> > >allow(...) calls in 5 other controllers.
>
> > On Mar 26, 9:37 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
> > wrote:
>
> > > I think I've narrowed down the problem if not the solution. Looking
> > > through i18n.php I noticed that the getInstance() method checks the
> > > session, but only if thelanguageis not found in the core config.
>
> > > function &getInstance() {
> > > static $instance = array();
> > > if (!$instance) {
> > > $instance[0] =& new I18n();
> > > $instance[0]->l10n =& new L10n();
>
> > > $language= Configure::read('Config.language');
> > > if ($language=== null &&
> > > !empty($_SESSION['Config']['language'])) {
> > > $language= $_SESSION['Config']['language'];
> > > }
>
> > > $instance[0]->l10n->get($language);
> > > }
> > > return $instance[0];
>
> > > }
>
> > > Since I'm doinglanguageswitching this seems backwards to me. If it's
> > > been switched, the newlanguagewould never be picked up here, it
> > > seems. Anyway, I stuck debug("i18n: ${language}"); in there but
> > > $languageis consistently empty.
>
> > > Trying my initial hunch, I modified the method to have:
>
> > > if (!empty($_SESSION['Config']['language']))
> > > {
> > > $language= $_SESSION['Config']['language'];}
>
> > > else
> > > {
> > > $language= Configure::read('Config.language');
>
> > > }
>
> > > This seems more reasonable to me because mylanguageswitching code (a
> > > modified version of Jason Chow's P28NComponent) is writing the newly-
> > > requested lang to the session.
>
> > > But the debug() is still showing it's empty, however. So, I put
> > > debug($_SESSION) in my default.ctp and it properly shows the new
> > >language, eg:
>
> > > Array
> > > (
> > > [Config] => Array
> > > (
> > > [userAgent] => 67d3fbdba7bd59adfe49aefd8b4eb32b
> > > [time] => 1206579533
> > > [rand] => 563719418
> > > [timeout] => 9
> > > [language] => fr
> > > )
> > > )
>
> > > When I print the output from Configure::read('Config.language') on the
> > > page I see "en-us". This doesn't change even when I modify the
> > > component to add a Configure::write('Config.language', $lang);
>
> > > Does anyone have any thoughts on why the session appears to be empty
> > > in the i18n class? And, if this is normal, why getInstance() would
> > > bother checking it?
>
> > > On Mar 26, 12:59 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
> > > wrote:
>
> > > > I got some L10n stuff working yesterday but it now seems to have
> > > > stopped. I'd extracted a new default.pot file because I had a lot more
> > > > strings to translate. I had the script overwrite the one I made
> > > > yesterday and copied it into:
>
> > > > locale/eng/LC_MESSAGES/default.po
> > > > locale/fre/LC_MESSAGES/default.po
> > > > locale/spa/LC_MESSAGES/default.po
>
> > > > Later on, I noticed that I wasn't seeing any changes when switching
> > > > languages. $session->read('Config.language') does show the change from
> > > > onelanguageto another. And I can immediately see changes to a msgstr
> > > > in the eng default.po, so I know that one's being read.
>
> > > > I have caching disabled and I've made no other changes to core.
> > > > Neither have I done anything to thelanguagesettings I had.
>
> > > > Any idea what I may have done (or left out) to cause this?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---