Zabbix 5.0切换中文语言小结
最近测试Zabbix 5.0,去修改语言时发现不能选择“Chinese(zh_CN)”,这个选项在下拉框中是灰色的(无法选择)。提示“You are not able to choose some of the languages, because locales for them are not installed on the web server.”, 操作系统为CentOS Linux release 8.1.1911 (Core)
从旁边的提示信息判断,可能是Web服务器没有安装中文包,但是也有可能Zabbix把对中文的支持给关闭了,所以我们先检查一下php代码,找到/usr/share/zabbix/include/下的locales.inc.php文件
如上所示,Zabbix是允许你选择“Chinese(zh_CN)”选项的,那么可能是没有安装中文包,那么接下来,我们来检查一下这台服务器是否安装中文包。
# locale -a | grep "zh_CN"
输出为空,那么可以判断这台服务器没有安装中文包,下面来安装。
查找有哪些语言安装包
#yum search langpacks
安装中文语言包有下面两种方式
#yum install langpacks-zh_CN.noarch
#dnf install langpacks-zh_CN.noarch
我使用yum安装成功后,检查发现下面输出依然为空,这个是因为这里没有安装glibc-common包,需要安装glibc-common实现对已安装语言包的识别。
# locale -a | grep "zh_CN"
# dnf install glibc-common
安装完glibc-common包,验证测试langpacks-zh_CN.noarch已经安装成功了。
# locale -a | grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
完成上面步骤后,回到Zabbix界面刷新后,就可以选择“Chinese(zh_CN)”了。问题解决。
Zabbix图片文字乱码
在后续的使用过程中,发现一些界面中文显示为乱码.如下截图所示:
在/usr/share/zabbix/include/下,检查defines.inc.php,可以发现代码里面定义了下面字体相关常量
define('ZBX_FONTPATH', realpath('assets/fonts')); // where to search for font (GD > 2.0.18)
define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name
define('ZBX_FONT_NAME', 'graphfont');
define('ZBX_PREG_DEF_FONT_STRING', '/^[0-9\.:% ]+$/')
define('ZBX_STYLE_MONOSPACE_FONT', 'monospace-font');
可以看出zabbix使用了/usr/share/zabbix/assets/fonts下面定义的字体文件,而没有使用linux的系统字体,从网上搜索的资料来看,可以将Windows下的一些字体文件上传到这个目录来解决乱码问题。
方案1:使用Windows中的字体替换graphfont.ttf
从C:\Windows\Fonts中找到微软雅黑字体上传到/usr/share/zabbix/assets/fonts下面后,将雅黑字体MSYH.TTF改名为graphfont.ttf
# mv graphfont.ttf graphfont.ttf.bak
# mv MSYH.TTF graphfont.ttf
完整上面操作后,刷新页面,发现乱码确实解决了
方案2:修改代码中的字体相关常量
sftp> cd /usr/share/zabbix/assets/fonts
sftp> put -r "C:\Windows\Fonts\STFANGSO.TTF"
Uploading STFANGSO.TTF to /usr/share/zabbix/assets/fonts/STFANGSO.TTF
100% 11096KB 11096KB/s 00:00:00
# mv STFANGSO.TTF STFANGSO.ttf #这里必须将文件后缀类型从TTF改为ttf,否则无法识别,或者说必须修改代码才能识别。
define('ZBX_FONTPATH', realpath('assets/fonts')); // where to search for font (GD > 2.0.18)
#define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name
define('ZBX_GRAPH_FONT_NAME', 'STFANGSO'); // font file name
define('ZBX_GRAPH_LEGEND_HEIGHT', 120); // when graph height is less then this value, some legend will not show up
#define('ZBX_FONT_NAME', 'graphfont');
define('ZBX_FONT_NAME', '华文仿宋');
完成后刷新页面,问题也可以解决。当然你也可以选择一个你喜欢的字体。
最新文章
- javascript中运算符的优先级
- lists删除
- (转载)5分钟安装Linux系统到U盘
- 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary
- 生成json对象
- YUM软件管理
- 文本编辑器 markdown
- 出现错误ActivityManager: Warning: Activity not started, its current task has been
- 部署WEB应用程序
- 给jdk写注释系列之jdk1.6容器(1)-ArrayList源码解析
- Java获取一个路径下指定后缀名的所有文件
- Python入门学习教程:数据库操作,连接MySql数据库
- android 定时请求(两种实现方式)
- 浅谈程序员创业(要有一个自己的网站,最好的方式还是自己定位一个产品,用心把这个产品做好。或者满足不同需求的用户,要有特色)good
- python学习之路-6 冒泡算法、递归、反射、os/sys模块详解
- 一个简单的例子说明windows环境变量配置
- hbase的api操作之scan
- 京东饭粒捡漏V1.0.7
- emwin 存在多个窗口时,如何获取当前所在窗口
- vc调试不能入断点
热门文章
- 综合CSS3 transition、transform、animation写的一个动画导航
- 【Mysql】SpringBoot_2.1.0+Druid_1.1.10 配置数据源监控服务Yml格式
- C#LeetCode刷题-动态规划
- SpringMVC9——异常处理
- 第一章 Kubernetes入门
- 遍历数组,对象和JSON
- 【Floyd】珍珠
- Salesforce学习笔记之Actions and Recommendations(续)
- 送大家几个cnblogs号,供快捷评论,请谨慎使用
- 第5章 JDBC/ODBC服务器