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', '华文仿宋');

完成后刷新页面,问题也可以解决。当然你也可以选择一个你喜欢的字体。
Zabbix 5.0切换中文语言小结的更多相关文章
- zabbix 3.0.4 中文字体替换
zabbix 对中文支持不是很好,会出现乱码: 从windows系统里 找到字体包:如图: 拷贝到zabbix-server里面,注意,把文件名改成小写: 我linux 是centos7.2版本 [r ...
- 犀牛Phinoceros 如何切换中文语言
Tools-Options-Rhino Options-Appearance,然后改成中文
- CentOS 6.4编译安装和部署Zabbix 2.0版本监控(中文)
[一].zabbix简介 zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级开元解决方案 zabbix由2部分构成,zabbix_server和可选组件zabbix_agen ...
- centos7安装zabbix server5.0
安装zabbix源 1.rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarc ...
- Eclipse中文语言包安装和设置中文
对于英语水平不好或者初学者来说使用中文开发环境可以有效提高学习效率,便于快速的学习和上手,不过对于当前的技术环境学习英语还是非常有必要的,当对Eclipse掌握到一定程度还是应该多使用英语环境来开发, ...
- linux安装中文语言包
相关配置如下: yum install fonts-chinese.noarch yum install m17n-db-common-cjk yum install m17n-db-chinese安 ...
- zabbix安装中文语言包及中文乱码的解决(zabbix5.0)
一,zabbix不能配置中文界面的问题: 1, zabbix5.0 系统安装后,web界面不能选择使用中文 系统提示: You are not able to choose some of the l ...
- 解决Zabbix 5.0不能选择中文和中文乱码问题
Zabbix web界面不能选择中文,提示: You are not able to choose some of the languages, because locales for them ar ...
- Zabbix 5.0 LTS版本的安装小结
Zabbix 5.0 LTS版本的安装小结 1:准备Zabbix的服务器. 这里可能需要一台或多台服务器,视需求和资源而定.也可以将Zabbix_Server.MySQL.Zabbix Web等安 ...
随机推荐
- Mixed Precision Training —— caffe-float16
简介 最近有了突如其来的想法,如何把caffe的变得更小更快.后来翻到Nvidia开发caffe-float16,同时也看到它的论文.看完大致了解一番后,就做一下记录. 该工作的目标是,减少网络的所需 ...
- Ant Design Pro入门教程,安装,运行(V5 Typescript版)
[前言] 找了很多Admin模板,最后还是看中了AntDesignPro这个阿里巴巴开源的Admin框架,长这样(还行吧,目前挺主流的): 官网地址:https://pro.ant.design/in ...
- Docker 搭建 SonarQube
Docker 搭建 SonarQube Docker 搭建 SonarQube 步骤 创建项目目录 mkdir -p /usr/local/sonarqube && cd /usr/l ...
- JS学习第六天
匿名函数: 定义:function(参数列表){ 要执行的语句块: } 定义名(): 创建日期对象:Date var date=new Date(); alert(date); 不输入则是默认月,日 ...
- day27:异常&反射
目录 认识异常处理 1.程序错误的种类 2.异常的分类 3.AssertionError(断言assert语句失败) 异常处理的基本语法 1.异常处理的基本语法 2.带有分支的异常处理 3.处理 ...
- matlab使用libsvm入门教程——使用matlab安装配置libsvm以及一个svm分类实例
前言 此教程专注于刚入门的小白, 且博客拥有时效性, 发布于2019年3月份, 可能后面的读者会发现一些问题, 欢迎底下评论出现的问题,我将尽可能更新解决方案. 我开始也在如何安装libsvm上出现了 ...
- windows下mongoDB的下载和安装
1.进入mongoDB官网,官网地址:https://www.mongodb.com 2. 点击Try free按钮,进入下载页面 3.点击download进行下载:下载完成如下图: 4.点击下载的 ...
- N46期第一周作业
1.解释drwx rwx rwx中每个字符表⽰什么? d : 表示目录文件 ①rwx表示UID的读写执行权限 ②rwx表示GID的读写执行权限 ③rwx表示other的读写执行权限 2.li ...
- AVL树旋转
什么是AVL树? AVL树是带有平衡条件的二叉查找树,一颗AVL树首先是二叉查收树(每个节点如果有左子树或右子树,那么左子树中数据小于该节点数据,右子树数据大于该节点数据),其次,AVL树必须满足平衡 ...
- 动态数组java实现
数组是一种顺序存储的线性表,所有元素的内存地址是连续的. 动态数组相对于一般数组的优势是可以灵活地添加或删除元素.而一般数组则受限于固定的内存空间.只能有限的添加元素 动态数组(Dynamic Arr ...