ChurchCRM / CRM

ChurchCRM is an OpenSource Church CRM & Management Software.
https://ChurchCRM.io
MIT License
633 stars 445 forks source link

CRM translated to spanish just partially #6001

Closed ChurchCRMBugReport closed 1 year ago

ChurchCRMBugReport commented 2 years ago

Although the CRM is configured in Spanish, the local configuration is es-ES and the operating system is in Spanish (Windows 10), most of the system interface is still displayed in English.

This is what powershell shows me

PS D:\CCECO\CCCO\CRM> Get-WinSystemLocale

LCID Name DisplayName


3082 es-ES Español (España)

I've noticed php gettext('First Name') result is english 'First Name', but javascript title:i18next.t('First Name') result is spanish 'Nombre'

That produces that most labels are displayed un english but some of them are displayed in Spanish (please see the screenshots)

Why is that?

Collected Value Title Data
Page Name /churchcrm/v2/people?familyActiveStatus=all
Screen Size 1080x1920
Window Size 969x1920
Page Size 969x1920
Platform Information Windows NT GG011D0718 10.0 build 19043 (Windows 10) AMD64
PHP Version 7.4.29
SQL Version 5.5.5-10.4.24-MariaDB
ChurchCRM Version 4.4.5
Reporting Browser Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36 Edg/101.0.1210.39
Prerequisite Status All Prerequisites met
Integrity check status {"status":"failure","message":"One or more files failed signature validation","files":[{"filename":"ChurchCRM\/Bootstrapper.php","status":"Hash Mismatch","expectedhash":"c85720273541700db27c24ef1784af30272811a1","actualhash":"fe9a1450ec041215a44a9e09a968173b19797248"}]}
Apache Modules core,mod_win32,mpm_winnt,http_core,mod_so,mod_access_compat,mod_actions,mod_alias,mod_allowmethods,mod_asis,mod_auth_basic,mod_authn_core,mod_authn_file,mod_authz_core,mod_authz_groupfile,mod_authz_host,mod_authz_user,mod_autoindex,mod_cgi,mod_dav_lock,mod_dir,mod_env,mod_headers,mod_include,mod_info,mod_isapi,mod_log_config,mod_cache_disk,mod_mime,mod_negotiation,mod_proxy,mod_proxy_ajp,mod_rewrite,mod_setenvif,mod_socache_shmcb,mod_ssl,mod_status,mod_version,mod_php7
igorcb123 commented 2 years ago

mixed english Spanish

igorcb123 commented 2 years ago

Nobody?

MrClever commented 2 years ago

Hi @igorcb123 - we're a small dev team with day jobs, so occasionally, we can't respond to support requests as quickly as we'd like; I apologise for that. Looking at the source code for the PersonEditor.php page, the "First Name" label should be translatable:

<label for="FirstName"><?= gettext('First Name') ?>:</label>

However, it isn't, which is odd, and suggests maybe that the localisation string hasn't been translated, even though the Spanish translation project is reporting 100% complete (see link at the bottom of this comment).

Moving on to the dashboard, which IS translated correctly, I can see the column label is actually being translated in JS:

columns: [
            {
                title: i18next.t('Name'),  // <--- translation happens here
                data: 'Name',
                render: function (data, type, row) {
                    return '<a href="' + window.CRM.root + '/v2/family/' + row.FamilyId + '">'+ data +'</a> '
                }
            },

Digging around in the code a little more, I can see a few examples from your screenshots where the PHP gettext("label") syntax is not translating the string that we actually have. For example, the "Today's Birthdays" is called by gettext but not being rendered per the translation:

#: 
msgid "Today's Birthdays"
msgstr "Cumpleaños de hoy"

Bottom line, this looks like some strings may have been pivoted to be locale-aware but haven't been translated in our POEditor project yet and others have been translated, but not displaying correctly. Here are a few suggestions:

  1. First thing I would do is flush your browser cache and make sure there isn't stale JS or cached assets interfering with rendering the site correctly (especially if your site was previously configured in a different locale).
  2. Secondly, make sure your browser is sending the desired locale to the webserver.
  3. Lastly, if you can check or help with this effort, we'd be very grateful. You can access the ChurchCRM translation project here: https://poeditor.com/join/project/RABdnDSqAt
arielventu commented 1 year ago

Something similar happens to me. The Login is shown in Spanish, but then the CRM is shown all in English

DawoudIO commented 1 year ago

the issue is that windows does not support gettext PHP translation