Suitecrm: Knowledge Base - request for proper english on language files

Created on 9 Aug 2016  路  13Comments  路  Source: salesagility/SuiteCRM

Issue

The language file for modules/Administration/language/en_us.lang.php
on the related lines to knowledge docs are really strange english or are just mappings? If so they are too many to be there! This is not good for translators, so please revise the english words!

example:

    'KBDocumentKBTags' => 'KBDocumentKBTag',
    'KBDocumentRevisions' => 'KBDocumentRevision',

Expected Behavior

When programming your should consider that
key => value
should be:
code => proper english

Actual Behavior

Just a sample of a cryptic "english" file that makes translators wondering if they should translate or not!

    'ForecastOpportunities' => 'ForecastOpportunities',
    'ForecastSchedule' => 'ForecastSchedule',
    'Import_1' => 'ImportMap',
    'Import_2' => 'UsersLastImport',
    'KBContents' => 'KBContent',
    'KBDocumentKBTags' => 'KBDocumentKBTag',
    'KBDocumentRevisions' => 'KBDocumentRevision',
    'KBTags' => 'KBTag',
    'ProductBundleNotes' => 'ProductBundleNote',
    'ProductBundles' => 'ProductBundle',
    'ProjectResources' => 'ProjectResource',
    'TeamHierarchies' => 'TeamHierarchy',
    'TeamMemberships' => 'TeamMembership',
    'TeamNotices' => 'TeamNotice',
    'TeamSetModules' => 'TeamSetModule',
    'TeamSets' => 'TeamSet',
    'TimePeriods' => 'TimePeriod',
    'TrackerPerfs' => 'TrackerPerf',
    'TrackerQueries' => 'TrackerQuery',
    'TrackerSessions' => 'TrackerSession',
    'UserPreferences' => 'UserPreference',

Possible Fix

revise english wordings near line 1000

Steps to Reproduce

See file modules/Administration/language/en_us.lang.php
near line 1000

Context

Translators do not know if they should translate or consider this mappings.
When translating it do not allow us to use suggestions from translating tools.

Suggestion

Most helpful comment

@horus68 These strings are mappings of module name to bean class name, you can hide them from translators on Crowdin.

All 13 comments

I'm going to apply question at the moment @horus68 so we can check internally the implication of these. But at a quick review it looks like these are actual module names, and thus should not be included in this.

@horus68 - Thank you for you question. However, We use github primarily for reporting of Core SuiteCRM Issues and we feel your question would be more suited to our Community Forum. We will be able to help you with your issue there.

@shogunpol Why forum?
This is a code that needs to be refactored too!
If module names and other strings (as code or mappings) should not be translated then they need to be removed from the language files.
If they can be translated... than they need to have proper english (spaces in the name at least!)

Even so, this is the forum topic. https://suitecrm.com/forum/suitecrm-7-0-discussion/11975-knowledge-base-request-for-proper-english-on-language-files

@horus68, Some of these language labels dont appear to be getting used now, which could explain why they are as cryptic as they are. this could be good to check to be 100% sure and then remove these if this is the case.

Those strings appear to not been removed in the latest PR language fix
Unused language strings (/modules/Administration) - https://github.com/salesagility/SuiteCRM/pull/2486

I did a search for one of this strings in the code just to see where it's used

  • term: "ForecastOpportunities"
  • you can find it in

-- SuiteCRM-7.7.7\modules\UpgradeWizard\uw_utils.php

            if($moduleName == 'TeamMemberships' || $moduleName == 'ForecastOpportunities'){
                continue;
            }

-- SuiteCRM-7.7.7\includedatabase\DBManager.php

        //Clean the indexes to prevent duplicate definitions
        $new_index = array();
        foreach($indices as $ind_def){
            $new_index[$ind_def['name']] = $ind_def;
        }
        //jc: added this for beans that do not actually have a table, namely
        //ForecastOpportunities
        if($tablename == 'does_not_exist' || $tablename == '')
            return '';

@horus68 , about #2486 yes and this is enough reason to keep them, and this is "potential use", we can remove only those strings which not used in any of the modules and files which may call them, so this is only way to improve language files. You as a contributors do great job and post strings which potentially not use, and we examine them and remove. Some of them takes ours to check dependencies and relations inside application. So conclusion is: about 80% of listed strings are removed. @horus68 , im pretty sure you are very happy about this improvement.

Thank you for raising this issue however due to no activity in the last 14 days this issue will be closed, If this issue still exists and information can be given to allow us to proceed with this it can be reopened.

@shogunpol So I must assume this strings are "potential use" and they are not proper english but code-alike... the strings shouldn't be translated at all?
If so i will hidden them from translators on Crowdin.

@horus68 , if any strings listed in #2486 by creator of an issue are left, this means they are using by the system.

That was not my question. If they are used they will stay. Fine.
My question was: if this type of string
'TeamMemberships' => 'TeamMembership',
cannot have the value with proper english (a simple space)
'TeamMemberships' => 'Team Membership',
then this shouldn't be translated and needs to be considered as a placeholder.
Form my side (Crowdin translation) I will have to hide those strings to prevent future translations.

@shogunpol didn't get a final say on this strings: are they placeholders or terms to be translated?

@horus68 These strings are mappings of module name to bean class name, you can hide them from translators on Crowdin.

@chris001 thanks, hope they get removed from translation files to avoid mistakes from any language pack

Was this page helpful?
0 / 5 - 0 ratings