在 Debian 和 Ubantu 上安装

硬件要求

Weblate 应该可以在任何现代硬件上正常运行,以下是在单个主机(Weblate、数据库和 Web 服务器)上运行 Weblate 所需的最低配置:

  • 2 GB 的内存

  • 2 个 CPU 核心

  • 1 GB 的存储空间

内存越多越好——用于所有级别的缓存(文件系统,数据库和 Weblate )。

许多并发用户会增加所需的 CPU 内核数量。对于数百个翻译部件,推荐至少有 4 GB 的内存。

典型的数据库存储用量大约为每 1 百万单词 300 MB。克隆仓库所需的存储空间会变化,但 Weblate 试图通过浅克隆将其大小最小化。

备注

安装 Weblate 的实际要求会因其中管理的翻译规模而大不相同。

安装

系统要求

安装构建 Python 模块所需的依赖项(请参见 软件要求):

apt install \
   libxml2-dev libxslt-dev libfreetype6-dev libjpeg-dev libz-dev libyaml-dev \
   libffi-dev libcairo-dev gir1.2-pango-1.0 libgirepository1.0-dev \
   libacl1-dev libssl-dev libpq-dev libjpeg62-turbo-dev build-essential \
   python3-gdbm python3-dev python3-pip python3-virtualenv virtualenv git

根据您打算使用的功能来安装所需的可选依赖项(参见 可选依赖项):

apt install tesseract-ocr libtesseract-dev libleptonica-dev
apt install libldap2-dev libldap-common libsasl2-dev
apt install libxmlsec1-dev

可选地安装生产服务器运行所需要的软件,参见 运行服务器Weblate 的数据库设置使用 Celery 的后台任务 。根据于您的安装所占的空间,您会想要在特定的服务器上运行这些部件。

本地安装的使用说明:

# Web server option 1: NGINX and uWSGI
apt install nginx uwsgi uwsgi-plugin-python3

# Web server option 2: Apache with ``mod_wsgi``
apt install apache2 libapache2-mod-wsgi-py3

# Caching backend: Redis
apt install redis-server

# Database server: PostgreSQL
apt install postgresql postgresql-contrib

# SMTP server
apt install exim4

Python 模块

提示

我们使用 virtualenv 将 Weblate 安装在一个与您的系统分离的环境中。如果您不熟悉它,查阅 virtualenv User Guide

  1. 为 Weblate 新建 virtualenv:

    virtualenv --python=python3 ~/weblate-env
    
  2. 为 Weblate 激活 virtualevn :

    . ~/weblate-env/bin/activate
    
  3. 安装包含所有可选依赖项的 Weblate:

    # pkgconfig is needed to install borgbackup 1.2
    pip install pkgconfig
    # Install Weblate with all optional dependencies
    pip install "Weblate[all]"
    

    Please check 可选依赖项 for fine-tuning of optional dependencies.

    备注

    On some Linux distributions running Weblate fails with libffi error:

    ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
    

    This is caused by incompatibility of binary packages distributed via PyPI with the distribution. To address this, you need to rebuild the package on your system:

    pip install --force-reinstall --no-binary :all: cffi
    

配置 Weblate

备注

后面的步骤假定 Weblate 使用的 virtualevn 已经激活(可以通过 . ~/weblate-env/bin/activate 来实现)。如果不是这种情况,您必须指定 到 weblate 命令的完全路径为 ~/weblate-env/bin/weblate

  1. 将文件 ~/weblate-env/lib/python3.7/site-packages/weblate/settings_example.py 复制为 ~/weblate-env/lib/python3.7/site-packages/weblate/settings.py

  2. 将新的 settings.py 文件中的值调整为您所需要的。您至少需要提供数据库凭据和Django密钥,但在生产安装中需要做更多的更改,参见: 调整配置

  3. 为 Weblate 新建数据库及其结构(例子中的设置使用 PostgreSQL ,已经准备好的生产设置请查看 Weblate 的数据库设置 ):

    weblate migrate
    
  4. 新建管理员用户账户,并将输出的密码复制到剪贴板,同时将它存储供以后使用:

    weblate createadmin
    
  5. 收集 Web 服务器用的静态文件 (请参见 运行服务器为静态文件提供服务 ):

    weblate collectstatic
    
  6. 压缩 JavaScript 和 CSS 文件(可选步骤,请参见 压缩客户端资源 ):

    weblate compress
    
  7. 启动 Celery workers。这对开发来说是不必要的,但强烈建议在其他场景这样做。更多信息请参见 使用 Celery 的后台任务

    ~/weblate-env/lib/python3.7/site-packages/weblate/examples/celery start
    
  8. 启动开发服务器(生产设置请参见 运行服务器 ):

    weblate runserver
    

安装后

配置,您的 Weblate 服务器现在运行了,您可以使用它来启动。

  • 您可以在 http://localhost:8000/ 访问 Weblate 。

  • 使用安装期间获得的管理凭据登录或注册新用户。

  • 现在,您可以在 Weblate virtualenv 活动时使用 weblate 命令来运行 Weblate 命令。

  • 您可以使用 Ctrl+C 来停止测试的服务器。

  • /manage/performance/ URL (参见 管理界面)上或使用 weblate check --deploy 来复查您安装的潜在问题,请参见 生产设置

添加翻译

  1. 打开管理界面( http://localhost:8000/create/project/ ),并新建您想要翻译的项目。更多细节请参见 项目配置

    这里所有需要您指定的只是项目名称及其网站。

  2. 新建一个部件,该部件是要翻译的实际对象——它指向版本控制系统(VCS)仓库,并选择要翻译的文件。更多详细信息请参见 部件配置

    此处的重要字段为:部件名源代码库 及用于寻找可翻译文件的 文件掩码。Weblate 支持多种格式,包括 GNU gettextAndroid 字符串资源苹果 iOS 字符串Java 属性Stringsdict 格式Fluent 格式,更多细节见 支持的文件格式

  3. 一旦完成上面的工作(根据您 VCS 仓库的大小,以及需要翻译的信息数量,这可能是个漫长的过程),您就可以开始翻译了。