Translation files downlad

Where do you get translation files from??
No option to download zip anymore: Translating SuiteCRM core to Slovenian language - Crowdin

A year old files:

Are you logged in to Crowdin?

Have you joined the “SuiteCRM Slovenian Language project” there?

Has you request to join been approved?

I think these are the necessary steps. I see a download button there for my language, not for other languages I haven’t joined.

I believe the maintainer of SuiteCRM Crowdin has left the project, I wonder who’s approving new users now…?

We shouldn’t really expect this from users in order to get the CRM working in their language. There should be a much easier download (like sourceforge).

That’s what I’ve read, yes.

Do you know, whether Crowdin changed something since 8.7 or was it a user changing access? @pgr
Wondering how users are supposed to contribute translations now?
Some parts of the new 8.9 campaigns are not yet German (and I assume not in other languages as well).

And for the one year old packs:

vs. the way from before:

I really haven’t heard anything regarding Crowdin or translations in the past year or so. Don’t take me as a knowleadgable source on this :slight_smile:

I agree that no login should be needed just to install; only to contribute translations, which is for a very small subset of all SuiteCRM users.

I’ve often heard mentions of making this installation process more user-friendly, but I don’t know if anything actually evolved from that. Ultimately the user should just pick a language and SuiteCRM would take care of downloading it from Crowdin (or wherever) and it would work seamlessly.

That seems to be the trend for other software as well - an integrated marketplace model to install stuff via one click in the admin like WordPress, Drupal 11, Mautic etc.
I assume, that might be a lot of effort for a small crowd in the SuiteCRM case.

For now, the most interesting question is probably: How to contribute translations?
That’s the last thing I’ve read from horus:

Current situation:

This is too old for SuiteCRM 8.9.0: SuiteCRM translations - Browse Files at SourceForge.net

Additionally, Crowdin no longer provides downloadable ZIP files, only .xliff files, which are not directly usable for SuiteCRM.

I need this translation files. Someone that can explain howto convert .xliff to use with 8.9.0?

I downloaded and installed the language pack, but then I found it doesn’t work for all the customized modules. How can I have the customized module translated to Chinese as well? Thanks!

Unfortunately, Crowdin is currently unavailable for use (see discussion above),
but you can manually supplement the translation of existing language strings. Then you can pack the translation into a zip archive along with a manifest file and offer it to the community as a new language pack.

Hi, I’m just pasting here the link of a related conversation: Translation files download - Crowdin - Sourceforge in order to unify the threads

I would like to give a compliment to the SuiteCRM Community team for their excellent work. Even though the translations are currently not working, the CRM system itself is truly outstanding.

SuiteCRM offers powerful features, great flexibility, and a user-friendly interface that makes it an invaluable tool for managing customer relationships and business processes. Its stability, customization options, and open-source nature make it a remarkable solution for organizations of all sizes.

Thank you to everyone involved in developing and maintaining such a high-quality CRM system. Your dedication and effort are greatly appreciated!

4 Likes

New translations found here: SuiteCRM Translations - Browse Files at SourceForge.net

Missing text added with this script:

<?php
$base = '/www.server.si/SuiteCRM8/public/legacy';
$missing_keys = [
    'Accounts'            => ['LNK_IMPORT_ACCOUNTS'              => 'Uvozi podjetja'],
    'AM_ProjectTemplates' => ['LNK_IMPORT_AM_PROJECTTEMPLATES'   => 'Uvozi predloge projektov'],
    'Bugs'                => ['LNK_IMPORT_BUGS'                  => 'Uvozi napake'],
    'Calls'               => ['LNK_IMPORT_CALLS'                 => 'Uvozi klice'],
    'Campaigns'           => ['LNK_IMPORT_CAMPAIGNS'             => 'Uvozi kampanje'],
    'Cases'               => ['LNK_IMPORT_CASES'                 => 'Uvozi primere'],
    'Contacts'            => ['LNK_IMPORT_CONTACTS'              => 'Uvozi kontakte'],
    'jjwg_Markers'        => ['LNK_IMPORT_JJWG_MARKERS'         => 'Uvozi oznaÄŤbe na zemljevidu'],
    'Leads'               => ['LNK_IMPORT_LEADS'                 => 'Uvozi potencialne stranke'],
    'Meetings'            => ['LNK_IMPORT_MEETINGS'              => 'Uvozi sestanke'],
    'Notes'               => ['LNK_IMPORT_NOTES'                 => 'Uvozi zapiske'],
    'Opportunities'       => ['LNK_IMPORT_OPPORTUNITIES'         => 'Uvozi priloĹľnosti'],
    'Prospects'           => ['LNK_IMPORT_PROSPECTS'             => 'Uvozi prospekte'],
    'Tasks'               => ['LNK_IMPORT_TASKS'                 => 'Uvozi naloge'],
    'Users'               => ['LNK_IMPORT_USERS'                 => 'Uvozi uporabnike'],
    'Contacts'            => ['LNK_IMPORT_VCARD'                 => 'Uvozi vCard'],
];
foreach ($missing_keys as $module => $keys) {
    $dir = "$base/custom/Extension/modules/$module/Ext/Language";
    if (!is_dir($dir)) {
        mkdir($dir, 0755, true);
        echo "Ustvarjena mapa: $dir\n";
    }
    $file = "$dir/sl_SI.import_labels.php";
    // ÄŚe datoteka Ĺľe obstaja, jo preberemo
    $existing = '';
    if (file_exists($file)) {
        $existing = file_get_contents($file);
    }
    $content = "<?php\n";
    foreach ($keys as $key => $label) {
        if (strpos($existing, $key) === false) {
            $content .= "\$mod_strings['$key'] = '$label';\n";
        }
    }
    if ($content !== "<?php\n") {
        if (!empty($existing)) {
            // Dodaj na konec brez ponovnega <?php
            file_put_contents($file, "\n" . str_replace("<?php\n", "", $content), FILE_APPEND);
        } else {
            file_put_contents($file, $content);
        }
        echo "Dodano v: $file\n";
    } else {
        echo "Že obstaja: $module — preskočeno\n";
    }
}
echo "\nKONÄŚANO! ZaĹľenite Quick Repair & Rebuild.\n";