Ubuntu 上安装 Weblate

首先安装必要的依赖:

$sudo apt-get install python-pip

$sudo apt-get install uwsgi uwsgi-plugin-python

$sudo apt-get install git gettext libxml2-dev libxslt-dev libfreetype6-dev python-dev python-mysqldb

然后就到了安装 Weblate 的步骤,pip 是 python 世界的 Composer,requirements.txt 就是 composer.json

$git clone https://github.com/nijel/weblate.git

$sudo pipenv install -r requiremnts.txt

$sudo pipenv install -r requiremnts-optional.txt

创建数据库。官方文档没说 charset 的设置,而 Weblate 在创建表的时候是不指定 charset 的,很有可能表创建好的时候charset 是 lantin1 导致翻译中文的时候,中文进不了库,特别坑

CREATE DATABASE weblate CHARSET UTF8;

weblate/settings_example.py 其实就是 app/config/parameters.yml.dist

cp weblate/settings_example.py weblate/settings.py

设置一下数据库

# weblate/settings.py

DATABASES={

'default':{

'ENGINE':'django.db.backends.mysql',

'NAME':'weblate',

'USER':'root',

'PASSWORD':'',

'HOST':'127.0.0.1',

'PORT':'',

}

}

以及 Time zone 设置,这就不多说了。

接下来是 UWSGI 的设置。UWSGI 是类似 PHP-FPM 的服务,设置也差不多:

[uwsgi]

plugins=python

master=true

protocol=uwsgi

socket=127.0.0.1:8081

wsgi-file=/var/www/weblate/weblate/wsgi.py

python-path=/var/www/weblate

# Needed for OAuth/OpenID

buffer-size=8192

# Increase number of workers for heavily loaded sites

#workers       = 6

# Needed for background processing

enable-threads=true

uid=www-data

gid=www-data

Nginx 的设置,完全官网配置:

server{

listen80;

server_name weblate.com;

root/var/www/weblate/weblate;

location/favicon.ico{

alias/var/www/weblate/weblate/media/favicon.ico;

expires30d;

}

location/media/{

alias/var/www/weblate/weblate/media/;

expires30d;

}

location/robots.txt{

alias/var/www/weblate/weblate/media/robots.txt;

expires30d;

}

location/static/admin/{

alias/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/;

expires30d;

}

location/{

include uwsgi_params;

uwsgi_read_timeout3600;

uwsgi_pass127.0.0.1:8081;

}

}

创建数据库表结构,类似 doctrine:schema:create 命令;然后还需要初始化一下 locales,相当于导入默认语言分类数据到库

pipenv run python manager.py migrate
pipenv shell 
./scripts/generate-locales

这也是比较坑的一点,官网文档也没说,虽然不知道这个 Whoosh 目录是干嘛的,而且看上去不太可能这么蠢Weblate 不会自动创建,但是 Weblate 就真的等着你去创建这个目录。

mkdir data/whoosh

这个时候,就可以启动 weblate 项目了,当然,一定要注意文件权限的问题!!

sudo service uwsgi start

sudo service nginx start

如果不出意外,访问 localhost 应该可以看到 Weblate 的界面了:

screenshot weblate

然后咱们去后台创建翻译项目。不过目前后台还没有帐号呢,我们先来创建一个超级帐号:

pipenv run python manager.py create superuser

输入完帐号、密码、邮箱后,登录到后台。

按照官方文档的指导,点击 project 后点右上角的新增按钮。不用多说了,输入内容一看就明白。

然后是比较坑地方,官方文档要求在 project 下新增 component,我是在哪儿都没有发现 component 在什么地方。然后我苦逼得每一个表都点进去看了一下,原来官网说的 component 实际上叫 sub project

Sub Project 里的必填项都不用多说,总之就是定义你的翻译文件(也就是 PO 文件),代码仓库的地址在什么地方、路径是什么,Weblate就可以根据输入信息,自动把 po 文件 pull 到本地的 data/vcs 目录里,并且解析出翻译项,存放在数据库里。需要多说的是非必填项里有一个坑…… Branch Name 其实是必须要填的…… 它并不会如你所想默认是 master。

做到以上的注意事项,点击提交后,稍微等等,你就能在前台发现,项目有了!好棒!

screenshot weblate translation

标签: 无
返回文章列表 文章二维码
本页链接的二维码
打赏二维码
添加新评论