zabbix是一个多语言监控系统,界面显示由对应的语言下的frontend.mo控制。当前对中文的翻译不完全,如下图

如果我们需要自己优化,将此翻译成中文,那么你需要修改zh_CN下的frontend.po,然后make_mo.sh创建frontend.mo。下面以

为例,介绍zabbix界面的汉化过程。

汉化例子

1、确认要修改的po文件的位置
[root@zabbix ~]# find / -name frontend.po
/root/cn_LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/bg/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/cs/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/de/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/el/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/en_US/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/es/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/fa/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/fi/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/fr/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/hu/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/id/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/it/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/ja/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/ko/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/lt/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/lv/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/nl/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/pl/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/pt_BR/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/pt_PT/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/ro/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/ru/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/sk/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/sv/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/tr/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/uk/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/vi/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/zh_CN/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/zh_TW/LC_MESSAGES/frontend.po
/usr/share/zabbix/locale/ka/LC_MESSAGES/frontend.po
2、添加中文内容到frontend.po
[root@zabbix LC_MESSAGES]# vim frontend.po

#: include/blocks.inc.php:486
msgid "Number of items (enabled/disabled/not supported)"
msgstr ""

修改为

#: include/blocks.inc.php:486
msgid "Number of items (enabled/disabled/not supported)"
msgstr "监控项(启用/禁用/不支持)"
3、创建.mo文件
/usr/share/zabbix/locale/make_mo.sh
4、刷新界面,发现已经变成了中文

po文件编辑工具推荐---Poedit

使用vim编辑frontend.po是一种办法,也可以使用专门的图形化工具Poedit对po文件进行编辑、编译。该工具具有翻译建议
2、
将生成的frontend.mo替换掉/usr/share/zabbix/locale/zh_CN/LC_MESSAGES下的frontend.po 即可。

gettext工具简介

zabbix提供的脚本 /usr/share/zabbix/locale/make_mo.sh 实现语言文件po到mo的转换,其实/usr/share/zabbix/locale/make_mo.sh调用的就是gettext中的gettext。

[root@zabbix locale]# cat /usr/share/zabbix/locale/make_mo.sh
#!/bin/bash while read pofile; do
msgfmt --use-fuzzy -c -o ${pofile%po}mo $pofile
done < <(find $(dirname $0) -type f ! -wholename '*/.svn*' -name '*.po')

gettext工具下载地址:http://gnuwin32.sourceforge.net/packages/gettext.htm

gettext包中包含了msgunfmt.exe、msgfmt.exe 等文件,可以实现语言文件po和mo的互相转换

根据po生成mo

重新生成mo文件
cd C:\Software\GetText\bin
msgfmt.exe C:\Users\xqzt\Desktop\当前\frontend.po -o C:\Users\xqzt\Desktop\当前\frontend.mo

根据mo生成po

cd  C:\Software\GetText\bin
msgunfmt.exe C:\Users\xqzt\Desktop\frontend.mo -o C:\Users\xqzt\Desktop\frontend.po

zabbix 界面翻译不完全的处理的更多相关文章

  1. openerp 中文乱码及界面翻译不全

    openerp中文报表乱码问题,即是字体问题,环境是ubuntu 12.04 openerp 6.1, deb all in one安装方式 一.cd usr/share/fonts/truetype ...

  2. Qt实现多国语言(即界面翻译)可实时进行切换

    .在工程文件添加 TRANSLATIONS = debug/lang_English.ts \ debug/lang_Chinese.ts .在需要翻译的地方用上tr 例如:setText(tr(&q ...

  3. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  4. zabbix完整安装

    一.nginx安装 1.必要软件准备: 为了支持rewrite功能,我们需要安装pcre: yum install pcre-* 需要ssl的支持,如果不需要ssl支持,请跳过这一步: yum ins ...

  5. zabbix 自定义探索规则发现服务器上面的kvm虚拟机和对应的网卡

    安装完zabbix服务器之后 只有两个探索规则模版,挂载点探索和网卡探索 场景描述:想使用zabbix监控kvm虚拟机的网卡的流量情况, 获取虚拟机和网卡对应关系 虚拟机 S-1 virsh domi ...

  6. (13)odoo翻译

    -------------------更新时间:15:52 2016-09-28 星期三 增加模型名翻译17:26 2016-05-20 星期五17:58 2016-05-17 星期二12:14 20 ...

  7. CentOS 6.4搭建zabbix

    系统环境:CentOS 6.4 64bit Zabbix版本:zabbix 2.2.3 前提条件:已安装好LNMP环境 一.服务端: 1.  下载zabbix安装包zabbix-2.2.3.tar.g ...

  8. 编译安装zabbix

    1. 说明:本例用源码包来安装zabbix,但是zabbix的后台数据库在这里选择mysql,然而mysql的安装方式不在选择源码了,而是选择已经编译好的通用linux包(tar包) zabbix源码 ...

  9. 添加zabbix自动发现(监控多tomcat实例)

    说明 何为自动发现?首先我们监控多tomcat实例,如果一个个实例地添加或许可以完成当前需求.但是日后随着实例的增多,再手动一个个去添加就十分不方便了.这时候需要自动发现这个功能,来帮助我们自动添加监 ...

随机推荐

  1. js(javaScript)的各种事件触发,以常见为主eg:onclick

    js的各种事件触发,以常见为主eg:onclick1.onclick,点击后触发事件 (1)<h1 onclick="this.innerHTML='谢谢!'">请点击 ...

  2. 实现Java简单继承

    面向对象练习-简单继承 一.完成教师类的创建 说明: id 代表身份证号 name 表示姓名 birth 表示出生日期 title 表示职称(讲师,副教授,教授等) 二.完成学生类的创建 说明: ma ...

  3. POJ 1236 Network Of Schools 【Targan】+【缩点】

    <题目链接> 题目大意: 有N个学校,每个学校之间单向可以发送软件,现在给你一些学校之间的收发关系.问你下面两个问题:至少要给多少个学校发送软件才能使得最终所有学校都收到软件:至少要多加多 ...

  4. netty简单NIO模型

    首先是使用java原生nio类库编写的例子,开发一套nio框架不简单,所以选择了netty,该例完成后,是netty举例. package com.smkj.netty; public class T ...

  5. logback实践笔记

    前言 ​ 每次看公司配置好的logback文件的时候,都不知道什么意思.导致有的时候,一些项目发到测试环境的时候,有的项目没有打印日志,自己都不知道哪里有问题.所以自己新建一个springboot项目 ...

  6. shell 运算符

    shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果. 一.逻辑运算符 逻辑卷标 表示意思 1. 关于档案与目录的侦测逻辑卷标! -f 常用!侦测 ...

  7. 正确实现用spring扫描自定义的annotation

    背景在使用spring时,有时候有会有一些自定义annotation的需求,比如一些Listener的回调函数. 比如: @Service public class MyService { @MyLi ...

  8. html 知识点

    web服务本质 import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind ...

  9. XamarinSQLite教程Xamarin.Android项目添加引用

    XamarinSQLite教程Xamarin.Android项目添加引用 在Xamarin.Android项目中,导入System.Data和Mono.Data.SQLite库的操作步骤如下: (1) ...

  10. Java 8 (二) 新的时间API

    新的时间API 一)时间线 Instant对象:表示时间轴上的一个点,原点为1970-1-1的午夜. Duration对象:表示一段时间. 注意Instant和Duration类都是final. 二) ...