SugarCRM 语言翻译文件

SugarCRM Language Translation Files

有没有办法将 SugarCRM 限制为仅使用一种语言 (us_en)?现在我们所做的一切都会生成 40 多个我们永远不会使用的语言文件。这使得在文件夹中查找内容变得非常困难。

删除除 en_us 之外的所有语言后,我的 /sugarcrm/config_override.php 包含以下内容:

<?php
/***CONFIGURATOR***/
$sugar_config['disabled_languages'] = 'bg_BG,cs_CZ,da_DK,de_DE,el_EL,es_ES,fr_FR,he_IL,
hu_HU,hr_HR,it_it,lt_LT,ja_JP,ko_KR,lv_LV,nb_NO,nl_NL,pl_PL,pt_PT,ro_RO,ru_RU,sv_SE,
th_TH,tr_TR,zh_TW,zh_CN,pt_BR,ca_ES,en_UK,sr_RS,sk_SK,sq_AL,et_EE,es_LA,fi_FI,ar_SA,uk_UA';
/***CONFIGURATOR***/

然后我用一个名为 Dan 的新包创建了测试,其中有一个名为 Pets 的模块。当我查看版本控制时,我在 sugarcrm/custom/modulebuilder/packages/Dan/modules/Pets/languages

中仍然有每个可用语言的文件

看来你可以通过修改 sugar 配置中的语言数组来实现。

  1. 确保为你的config.php做一个备份,这样你就有了原来的语言数组,如果你需要它回来。这一点很重要,即使我们的更改将在另一个文件中,因为 Sugar 可能会使用结果数组自动重新创建 config.php,从而丢失原始数组。

  2. 在您的 config_override.php 中添加此行:

$sugar_config['languages'] = array('en_us' => 'English (US)');

请注意,上一行将使 'en_us' 成为该实例和 Studio/etc 上唯一可用的语言。现在应该只创建 en_us 个文件。如果这不是您正在寻找的解决方案 - 请告诉我。

编辑:

以上步骤似乎只能禁用下拉编辑器的文件创建垃圾邮件。

如果您还想让 Module Builder 不创建任何非 en_us 语言文件,我发现这个 - 非常具有侵入性 - 实现这一点的方法:

  1. 创建实例的备份,然后从 include/modules/ 的目录中删除所有 *.lang.php 文件, 除了 en_us.* 个文件。在 Linux 上,您可以使用 find include modules -name '*.lang.php' -not -name 'en_us.*' -print -delete
  2. 执行此操作
  3. 删除 cache/ 文件夹的内容
  4. 在 Sugar 运行 管理 -> 修复 -> 快速修复和重建

这使得我的模块生成器只创建 en_us 语言文件。

注意:如果有人考虑为 en_us 以外的任何其他语言执行此操作,请确保不仅保留您选择的语言,而且还要保留 en_us 文件!这些文件应该存在于 Sugar 中,例如用于任何其他语言中缺失字符串的回退。删除 en_us 文件可能会导致意外的副作用!