Grafana中文汉化指导手册2021

Grafana汉化指南


1.背景介绍

    废话写在前面,这是工作以来第一次在类博客网站写文章,可能是闲来无事或许是一时兴起、又或者是希望用文档记录一下,总之干就完了。

    本文详细介绍从开发环境搭建到项目运行调试在到服务器环境部署完整的流程。让小白的你也能学会自己动手。如果还不会的话我建议你转个岗位。本次汉化的版本是7.4.3,grafana官网下载。

    需要翻译的内容

汉化内容主要分为两大部分:

后端: 1.侧边菜单栏.2.消息提醒. go文件, 主要在/pkg 目录下。

前端: 1. 系统页面 2. 插件页面  ,在/public 目录下


2.编译环境准备工作

本人亲测window server 2016、centos7、Ubuntu三种服务器环境(其中在window10编译的前端public文件夹可直接替换window server 2016,和centos7。后端的汉化编译程序,需要在对应服务器的虚拟机中进行编译的。跨系统亲测不可以)。

如果需要不同服务器版本的汉化请自行准备一个相同类型服务器作为编译环境。

必备工具:IDEA、浏览器、
环境要求:Go1.16、nodejs  v10.16.0+、npm v6.9.0+ 、yarn v1.22.5+
使用IDEA是方便全局搜索替换中英文,有其他vs或者其他编辑器也可自行使用

2.1  前后端环境准备(widows、linux)

第一步:安装nodejs和yarn。yarn指定国内源请自行百度(如果汉化需要linux版服务器也需要装环境)

第二步:安装后端编译go环境 (windows、linux)

   1:安装go并设置环境变量设置

    环境变量(linux环境请自行百度配置环境变量永久生效

    GOROOT=F:\grafana_try\Go

    PATH=F:\grafana_try\Go\bin

    GOPATH=F:\grafana_try\Go\src\go

    GO111MODULE=on

    GOPROXY=https://goproxy.cn

############linux版的环境变量(建议直接用下边的内容不用更换路径)###################

export GOROOT=/usr/local/go

export PATH=$PATH:/usr/local/go/bin

export GOPATH=/home/go/src

export GO111MODULE=on

export GOPROXY=https://goproxy.io

    2:官网下载grafana7.4.3源码zip包,将下载下来的Grafana源码移到GOPATH对应路径下并解压(我的windows环境是F:\grafana_try\Go\src\grafana-7.4.3)。

    linux环境放在/home/go/src目录中。

    3:执行go编译(在grafana7.4.3目录下执行F:\grafana_try\Go\src\grafana-7.4.3或者/home/go/src/grafana-7.4.3)

 go run build.go setup
 go run build.go build

注意事项:windows环境会遇到gcc的问题

exec: “gcc”: executable file not found in %PATH%这个问题是我们环境没有gcc,这个玩意儿需要下载一个软件MinGW。 (可自行百度MinGW64安装 ) 安装之后设置环境变量,我的解压完路径是: F:\grafana_try\mingw64,在环境变量Path添加此目录F:\grafana_try\mingw64\bin。cmd 测试 gcc -v 有信息即ok 。

然后执行 go run build.go setup

第三步、前端编译环境准备(windows、linux)

  1. 用IDEA打开grafana-7.4.3项目在Tetminal执行(install可能会比较久,yarn可换源提速)

 注意事项:我在install时出现了一个异常关于 typescript": "4.1.2",版本支持问题解决放法是换了package.json版本号为"typescript": "4.0.3"。成功install或遇到其他问题请自查自己的环境版本。

yarn install   

yarn build

yarn start(项目热部署形式的启动)

    build完成后,项目支持热部署。不用重启前端内容,直接重启grafana-server.exe后刷新浏览器即可。go相关的代码需要生产新的grafana-server.exe可执行程序,后边会具体说明。

  4:找到grafana源码目录中找到bin目录的grafana-server.exe程序复制到上级目录/bin内替换grafana-server.exe并双击此程序便可访问新内容(F:\grafana_try\Go\src\grafana-7.4.3\bin\windows-amd64/grafana-server.exe


2.2  初始化操作

1. 基础配置端口、登录权限在grafana-7.4.3\conf\defaults.ini文件内

app_mode = development   # 开发模式 (我用的是production)
http_port = 3000

[auth.anonymous]

#免登录但是部分功能受限

enabled = true

#角色权限Admin是管理员权限、还有Viewer、Editor

org_role = Admin

#隐藏版本号

hide_version = true




3.枯燥无聊的汉化部分

汉化分两部分,前面提到过。汉化之前建议下载一个安装包版本(linux汉化过程也是类似的),

毕竟汉化完之后可以测试一下替换安装包版本后是否正常汉化。

3.1前端(/public目录内)

以下步骤是重复反复操作的,举个栗子大家可以自由挥发

3.1.1.汉化登录页(示例)

1.1   首先启动服务,双击启动F:\grafana_try\Go\src\grafana-7.4.3\bin\grafana-server.exe; 然后IDEA打开项目执行yarn start,(或者F:\grafana_try\Go\src\grafana-7.4.3目录下执行 yarn start)这一步可以理解为热部署,出现No issues found.代表已经加载完成。可以进行下一步了。

1.2 比如登录页有'Welcome to the grafna...'我们可以根据这个关键词去IDEA中全局搜索这个词,然后在根据大部分在/public目录的线索去做汉化。汉化完保存后IDEA的控制台会自动刷新项目,待在次出现No issues found.后 重新启动grafana-server.exe服务并刷新浏览器。就会看到汉化部分已经生效,没生效的话就是修改时出现了失误,请自查。没有自信的建议随时做好备份回退。

以上的1.2的内容是汉化前端要重复再重复的内容了
注意:不过这里补充一下细节,遇到超链接或者不需要的内容或页面,是可以找到并注释或者删除的,请自行把握。
不用翻译带有test 的测试文件。

最后如果你没有开启yarn  start,则可以手动执行yarn build 生成文件。这些文件都存在生成的目录/public/build中。把这些文件覆盖到自己搭建的项目中完成汉化。建议把整体public目录替换。重启服务既可以看到中文版的页面了。
不同服务器的/public/build不是通用的,这就是为什么需要在不同的虚机环境进行yarn build来保证汉化的代码可运行下面第4条会提到具体做法

3.2后端(/pkg目录内) 

    1.1   首先在启动服务和yarn start的前提下。

1.2    左侧菜单栏有'Search'关键词可以使用,去IDEA中全局搜索这个词并关注是否在/pkg目录中,随后进行汉化,保存后IDEA的控制台会自动刷新项目。
然后进入F:\grafana_try\Go\src\grafana-7.4.3\并执行cmd
go run build.go setup
go run build.go build

停止正在运行的grafana-server.exe ,进入F:\grafana_try\Go\src\grafana-7.4.3\bin\windows-amd64将里面的内容复制到F:\grafana_try\Go\src\grafana-7.4.3\bin目录下进行覆盖更新。再次启动新的 grafana-server.exe 。刷新浏览器即可看到汉化后的内容。

以上的1.2的内容是汉化后端要重复再重复的内容了


常见问题总结:

如下图1.2如果是出现此类问题,一定是你改错了,具体原因可以按照IDEA在yarn start的状态下的提示找到错误并修改,在重新执行grafana-server.exe。

图1.2

4.将编译版本的汉化内容替换到服务器上

下边的操作我们默认前提是在windows服务器上进行内容修改且汉化完成
4.1
    windows:找到安装版 (非git源码版)的安装目录替换/public内容和/bin内的grafana-server.exe和grafana-cli.exe(好像也可以不换cli),并重启服务(重启有两种方式,第一是在任务管理器找到Grafana服务重启,第二是在当前目录执行powershell通过nssm重启如下图1.3执行./nssm restart grafana  即可重启)

1.3

4.2    Ubuntu和Centos7:在服务器上有go和node,yarn的前提下。我们先把windows上的内容/public和/pkg两个文件都覆盖到/home/go/src/grafana-7.4.3。在grafana-7.4.3目录下分别执行yarn buildgo run build.go setup    go run build.go build 

执行成功后:

1. 将grafana-7.4.3/bin/linux-amd64内的grafana-server.exe复制替换到安装版 /usr/sbin内。

2. 将grafana-7.4.3/public目录复制替换到安装版 /usr/share/grafana/目录。

3. 重启服务systemctl restart grafana-server.service即完成线上版本的汉化。

Ubuntu和Centos7大招的操作一致。细节就不多赘述。

有疑问的请留言啦

你可能感兴趣的:(Grafana中文汉化指导手册2021)