FreePBX / framework

This module provides a facility to install bug fixes to the framework code that is not otherwise housed in a module
http://www.freepbx.org
GNU General Public License v3.0
64 stars 64 forks source link

[bug]: Unable to change the Language on the GUI #157

Closed danardf closed 2 months ago

danardf commented 2 months ago

FreePBX Version

FreePBX 17

Issue Description

When you try to change the language from en_US to another language, the language is staying on en_US. Looking at cookies, the language is always en_US. Maybe something bad with js.coockie library?!

I tryed to replace js.cookie-3.0.1.min.js with the latest version : js.cookie-3.0.5.min.js Same thing.

Operating Environment

| core | 17.0.16

Relevant log output

No response

girishmani1992 commented 2 months ago

Hi @danardf ,

I have tested language option in our lab PBX with the core v17.0.16 and it is working as expected. I have tested with language "fr_FR", I can see that PBX ui language is changed and also tested in microsoft edge & chrome browsers.

When I checked cookies, language is set as "fr_FR". Attaching screen-shot for reference.

image

Thanks

danardf commented 2 months ago

I tryed on two different browsers and tested on two different workstations. Same thing. I logged out. Next I'm logging in.

On the dashboard I'm clicking on the language selecting FR. The page is reloading and the language is still the same.

So strange!

danardf commented 2 months ago

@girishmani1992

Put your mouse on english US, there is no denied pointer on this language. image

danardf commented 2 months ago

@girishmani1992 on 16 There is a denied pointer

image

danardf commented 2 months ago

On the console, there is no JS errors.

Can you clear your cache please and check again?

danardf commented 2 months ago
+-------------------+-----------+---------+------------+-----------+
| Module            | Version   | Status  | License    | Signature |
+-------------------+-----------+---------+------------+-----------+
| amd               | 17.0.1    | Enabled | GPLv3+     | Sangoma   |
| announcement      | 17.0.2.1  | Enabled | GPLv3+     | Sangoma   |
| api               | 17.0.1.6  | Enabled | AGPLv3+    | Sangoma   |
| arimanager        | 17.0.1.1  | Enabled | GPLv3+     | Sangoma   |
| asterisk-cli      | 17.0.2    | Enabled | GPLv3+     | Sangoma   |
| asteriskinfo      | 17.0.2    | Enabled | GPLv3+     | Sangoma   |
| backup            | 17.0.5.60 | Enabled | GPLv3+     | Sangoma   |
| blacklist         | 17.0.1.2  | Enabled | GPLv3+     | Sangoma   |
| builtin           |           | Enabled |            | Unsigned  |
| bulkhandler       | 17.0.5    | Enabled | GPLv3+     | Sangoma   |
| calendar          | 17.0.4.19 | Enabled | GPLv3+     | Sangoma   |
| callback          | 17.0.2.1  | Enabled | GPLv3+     | Sangoma   |
| callforward       | 17.0.1.6  | Enabled | AGPLv3+    | Sangoma   |
| callrecording     | 17.0.3.7  | Enabled | AGPLv3+    | Sangoma   |
| callwaiting       | 17.0.3.4  | Enabled | GPLv3+     | Sangoma   |
| cdr               | 17.0.4.21 | Enabled | GPLv3+     | Sangoma   |
| cel               | 17.0.2.9  | Enabled | GPLv3+     | Sangoma   |
| certman           | 17.0.3.13 | Enabled | AGPLv3+    | Sangoma   |
| cidlookup         | 17.0.1.1  | Enabled | GPLv3+     | Sangoma   |
| conferences       | 17.0.3.2  | Enabled | GPLv3+     | Sangoma   |
| configedit        | 17.0.1.4  | Enabled | AGPLv3+    | Sangoma   |
| contactmanager    | 17.0.5.11 | Enabled | GPLv3+     | Sangoma   |
| core              | 17.0.16   | Enabled | GPLv3+     | Sangoma   |
| customappsreg     | 17.0.1    | Enabled | GPLv3+     | Sangoma   |
| dashboard         | 17.0.4.5  | Enabled | AGPLv3+    | Sangoma   |
| daynight          | 17.0.1.1  | Enabled | GPLv3+     | Sangoma   |
| dictate           | 17.0.1.2  | Enabled | GPLv3+     | Sangoma   |
| directory         | 17.0.1.1  | Enabled | GPLv3+     | Sangoma   |
| donotdisturb      | 17.0.2.3  | Enabled | GPLv3+     | Sangoma   |
| dynroute          | 17.0.3.2  | Enabled | GPLv3+     | Sangoma   |
| extensionsettings | 17.0.1    | Enabled | GPLv3+     | Sangoma   |
| fax               | 17.0.3.4  | Enabled | GPLv3+     | Sangoma   |
| featurecodeadmin  | 17.0.2    | Enabled | GPLv3+     | Sangoma   |
| filestore         | 17.0.2.28 | Enabled | AGPLv3     | Sangoma   |
| findmefollow      | 17.0.4.10 | Enabled | GPLv3+     | Sangoma   |
| firewall          | 17.0.1.26 | Enabled | AGPLv3+    | Sangoma   |
| framework         | 17.0.19.8 | Enabled | GPLv2+     | Sangoma   |
| hotelwakeup       | 17.0.1.6  | Enabled | GPLv2      | Sangoma   |
| infoservices      | 17.0.1.1  | Enabled | GPLv2+     | Sangoma   |
| ivr               | 17.0.6    | Enabled | GPLv3+     | Sangoma   |
| languages         | 17.0.1    | Enabled | GPLv3+     | Sangoma   |
| logfiles          | 17.0.3.3  | Enabled | GPLv3+     | Sangoma   |
| manager           | 17.0.6    | Enabled | GPLv2+     | Sangoma   |
| miscapps          | 17.0.3    | Enabled | GPLv3+     | Sangoma   |
| miscdests         | 17.0.1.1  | Enabled | GPLv3+     | Sangoma   |
| music             | 17.0.5    | Enabled | GPLv3+     | Sangoma   |
| paging            | 17.0.3    | Enabled | GPLv3+     | Sangoma   |
| parking           | 17.0.2.5  | Enabled | GPLv3+     | Sangoma   |
| phpinfo           | 17.0.1    | Enabled | GPLv2+     | Sangoma   |
| pinsets           | 17.0.3.2  | Enabled | GPLv3+     | Sangoma   |
| pm2               | 17.0.3.2  | Enabled | AGPLv3+    | Sangoma   |
| presencestate     | 17.0.2.4  | Enabled | GPLv3+     | Sangoma   |
| printextensions   | 17.0.1.2  | Enabled | GPLv3+     | Sangoma   |
| queueprio         | 17.0.1.4  | Enabled | GPLv3+     | Sangoma   |
| queues            | 17.0.1.11 | Enabled | GPLv2+     | Sangoma   |
| recordings        | 17.0.2.2  | Enabled | GPLv3+     | Sangoma   |
| ringgroups        | 17.0.2.4  | Enabled | GPLv3+     | Sangoma   |
| setcid            | 17.0.1.2  | Enabled | GPLv3+     | Sangoma   |
| sipsettings       | 17.0.6.9  | Enabled | AGPLv3+    | Sangoma   |
| soundlang         | 17.0.4.1  | Enabled | GPLv3+     | Sangoma   |
| sysadmin          | 17.0.1.95 | Enabled | Commercial | Sangoma   |
| timeconditions    | 17.0.1.18 | Enabled | GPLv3+     | Sangoma   |
| tts               | 17.0.1.1  | Enabled | GPLv3+     | Sangoma   |
| ttsengines        | 17.0.1    | Enabled | AGPLv3     | Sangoma   |
| ucp               | 17.0.4.21 | Enabled | AGPLv3+    | Sangoma   |
| userman           | 17.0.6.27 | Enabled | AGPLv3+    | Sangoma   |
| vmblast           | 17.0.2    | Enabled | GPLv3+     | Sangoma   |
| voicemail         | 17.0.5.22 | Enabled | GPLv3+     | Sangoma   |
| weakpasswords     | 17.0.1    | Enabled | GPLv3+     | Sangoma   |
| webrtc            | 17.0.2.2  | Enabled | GPLv3+     | Sangoma   |
+-------------------+-----------+---------+------------+-----------+
danardf commented 2 months ago

When I click on French. The cookie is changed. Immédiatly after I've got a popup : To display this page, the information previously transmitted by Firefox must be resent. This will repeat any action (such as a search or purchase order) previously taken.

And the cookie returns back to en_US

danardf commented 2 months ago

Also, I cleaned my cache too, same thing. same issue.

danardf commented 2 months ago

Hhmmm, for your information, I'm using EDGE for update modules.

vsc55 commented 2 months ago

Hi, I've tested it with my EDGE lab system and the same thing happens to me as @danardf mentioned, but not with all languages. For example, the cookie changes correctly for Spanish, but for French the cookie always returns to en_US.

vsc55 commented 2 months ago

@danardf what is the default language you have set in advanced options?

danardf commented 2 months ago

@vsc55 en_US

danardf commented 2 months ago

@vsc55 It's a basic install, so evrything is set by default.

danardf commented 2 months ago

@vsc55 Whatever the language selected. I'm returning back to en_US. Additionnaly, I think there is an issue with the session. This one is suppozed to stay opened, but if you close your browser and you go to the GUI again a few minutes later, you need to login again.

Need to check anway.

vsc55 commented 2 months ago

Yes, that logout behavior also happens to me.

danardf commented 2 months ago

@vsc55 I don't know from how long this issue exists. But I tested with core 17.0.14 same issue. I also downgraded the framework too. Same thing.

I think it worked before, but I don't remember the versions.

danardf commented 2 months ago

If I force the language to fr_FR, The coockie is still on en_US.

image

image

danardf commented 2 months ago

@girishmani1992 Can you dig further please? I'm not alone to get this issue.

prasanthcode4 commented 2 months ago

@kguptasangoma @girishmani1992, On the 17 server, it appears that only a limited set of locales, including en_US, are currently available, which is why switching to other languages is not possible. This issue seems to be related to the server's initial configuration, where the required locales were not generated.

To verify the available locales on the server, we can use the command locale -a, which will list all installed and available locales

We need to verify if this is part of any script that runs during the setup process.

danardf commented 2 months ago

@prasanthcode4 Maybe create a script on any update to fix it.

danardf commented 2 months ago

@prasanthcode4 Good catch though!

danardf commented 2 months ago

@prasanthcode4 I'm testing this way to fix it manually.

  1. Uncomment locale lines in /etc/locale.gen
  2. Launch local-gen

It takes a long time.....

I will update you when finished.

prasanthcode4 commented 2 months ago

@danardf ok, Thank you for the response.

danardf commented 2 months ago

@prasanthcode4 All is not regenerated, but looks good.

image

danardf commented 2 months ago

Now, just dig where the files are stored after generate them, and make a package on Debian. Or something like that. Because this fix can takes 15, or 30mn.

vsc55 commented 2 months ago

I don't know if it would be the best idea to copy the files. I think the best thing is to create them with locale-gen but what would be good is that freepbx does not show the languages ​​that are not available. Now we have to wait and see what path the FreePBX team follows.

danardf commented 2 months ago

I don't know if it would be the best idea to copy the files. I think the best thing is to create them with locale-gen but what would be good is that freepbx does not show the languages ​​that are not available. Now we have to wait and see what path the FreePBX team follows.

Yes, locale-gen takes long time to generate. If there is only used languages into the list, it should be quick to generate it. But for my part and for tests, i did it like this.

However, I never tested if the session is logged out now!

danardf commented 2 months ago

No, the session is over now. It doesn't keep the session open. @kguptasangoma Let me know if I need to create another issue!

jissphilip commented 2 months ago

framework version 17.0.19.11