tkrebs / ep3-bs

Online booking system for courts
http://bs.hbsys.de/
MIT License
180 stars 106 forks source link

Language settings changes back to the "default" after any action - animgif attached #164

Closed pongraczi closed 6 years ago

pongraczi commented 6 years ago

After a localization, there are three icons available, as expected.
I got the default language somehow the new language.
That means, after changing the language to English, using the flag icon, on the next click I got the Hungarian language. So, the selection is not permanent.
Please check it in action:
peek_2018-08-05 11-26

tkrebs commented 6 years ago

I tested this with the new translations and it worked for me.

Have you added the language choice in config/autoload/local.php like this:

'i18n' => array(
    'choice' => array(
        'hu-HU' => 'Hungary',
        'en-US' => 'English',
        'de-DE' => 'Deutsch',
    ),
    'currency' => 'EUR',
),

Also, just to be sure, clear the cache files in data/cache/ or set the EP3_BS_DEV_TAG constant to true.

If it still doesn't work, can you confirm via dev tools that the cookie "ep3-bs-locale" is correctly set to the new language after switching?

tkrebs commented 6 years ago

BTW: Which tool did you use for the animated gif? :)

pongraczi commented 6 years ago

I used Peek in linux to catch short actions: https://github.com/phw/peek

Yes, in my test environment, I added the Hungarian language, but it seems I used the locale force to hu-HU instead of choice in the local.php.

So, my local.php was this:

'i18n' => array(
        'locale' => 'hu-HU',
        'currency' => 'HUF',

while the global.php was this:

   'i18n' => array(
        'choice' => array(

            'en-US' => 'English',
            'de-DE' => 'Deutsch',
            'hu-HU' => 'Magyar',
        ),

Now I modified my local.php to have the choice instead of the forced value:

    'i18n' => array(
        'choice' => array(
    'hu-HU' => 'Hungary',
    'en-US' => 'English',
    'de-DE' => 'Deutsch',
    ),
        'currency' => 'HUF',
    ),

Unfortunately I am still experienced this kind of issue.
I logout, choose the English, I got the main page in English, as expected, but when I click on a Free time to book, the popup appeared in Hungarian.

pongraczi commented 6 years ago

Further info:

My global.php seems like this:

<?php
/**
 * Global application configuration
 *
 * Usually, you can leave this file as is
 * and do not need to worry about its contents.
 */

return array(
    'db' => array(
        'driver' => 'pdo_mysql',
        'charset' => 'UTF8',
    ),
    'cookie_config' => array(
        'cookie_name_prefix' => 'tenulhu',
    ),
    'redirect_config' => array(
        'cookie_name' => 'tenisz',
        'default_origin' => 'frontend',
    ),
    'session_config' => array(
        'name' => 'tenisz-session',
        'use_cookies' => true,
        'use_only_cookies' => true,
    ),
    'i18n' => array(
        'choice' => array(

            'en-US' => 'English',
            'de-DE' => 'Deutsch',
            'hu-HU' => 'Magyar',

        ),
    ),
);

Probably this settings is the problem....

pongraczi commented 6 years ago

the cookie seems contains the en-US kijeloles_757

pongraczi commented 6 years ago

Ok, I found and proved it: it caused by the changed cookie and session names.
I tested it with php 7.2 and 7.0, too.
Keep the php 7.2