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 配置中的语言数组来实现。
确保为你的config.php做一个备份,这样你就有了原来的语言数组,如果你需要它回来。这一点很重要,即使我们的更改将在另一个文件中,因为 Sugar 可能会使用结果数组自动重新创建 config.php,从而丢失原始数组。
在您的 config_override.php
中添加此行:
$sugar_config['languages'] = array('en_us' => 'English (US)');
请注意,上一行将使 'en_us' 成为该实例和 Studio/etc 上唯一可用的语言。现在应该只创建 en_us 个文件。如果这不是您正在寻找的解决方案 - 请告诉我。
编辑:
以上步骤似乎只能禁用下拉编辑器的文件创建垃圾邮件。
如果您还想让 Module Builder 不创建任何非 en_us 语言文件,我发现这个 - 非常具有侵入性 - 实现这一点的方法:
- 创建实例的备份,然后从
include/
和 modules/
的目录中删除所有 *.lang.php
文件, 除了 en_us.*
个文件。在 Linux 上,您可以使用 find include modules -name '*.lang.php' -not -name 'en_us.*' -print -delete
执行此操作
- 删除
cache/
文件夹的内容
- 在 Sugar 运行 管理 -> 修复 -> 快速修复和重建
这使得我的模块生成器只创建 en_us 语言文件。
注意:如果有人考虑为 en_us
以外的任何其他语言执行此操作,请确保不仅保留您选择的语言,而且还要保留 en_us
文件!这些文件应该存在于 Sugar 中,例如用于任何其他语言中缺失字符串的回退。删除 en_us
文件可能会导致意外的副作用!
有没有办法将 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 配置中的语言数组来实现。
确保为你的config.php做一个备份,这样你就有了原来的语言数组,如果你需要它回来。这一点很重要,即使我们的更改将在另一个文件中,因为 Sugar 可能会使用结果数组自动重新创建 config.php,从而丢失原始数组。
在您的
config_override.php
中添加此行:
$sugar_config['languages'] = array('en_us' => 'English (US)');
请注意,上一行将使 'en_us' 成为该实例和 Studio/etc 上唯一可用的语言。现在应该只创建 en_us 个文件。如果这不是您正在寻找的解决方案 - 请告诉我。
编辑:
以上步骤似乎只能禁用下拉编辑器的文件创建垃圾邮件。
如果您还想让 Module Builder 不创建任何非 en_us 语言文件,我发现这个 - 非常具有侵入性 - 实现这一点的方法:
- 创建实例的备份,然后从
include/
和modules/
的目录中删除所有*.lang.php
文件, 除了en_us.*
个文件。在 Linux 上,您可以使用find include modules -name '*.lang.php' -not -name 'en_us.*' -print -delete
执行此操作
- 删除
cache/
文件夹的内容 - 在 Sugar 运行 管理 -> 修复 -> 快速修复和重建
这使得我的模块生成器只创建 en_us 语言文件。
注意:如果有人考虑为 en_us
以外的任何其他语言执行此操作,请确保不仅保留您选择的语言,而且还要保留 en_us
文件!这些文件应该存在于 Sugar 中,例如用于任何其他语言中缺失字符串的回退。删除 en_us
文件可能会导致意外的副作用!