Ubuntu安装Weblate
安装
首先以 root
用户登录
This is the recommended method if you don’t want to concern yourself with further detail. This will create a separate Python environment for Weblate, possibly duplicating some of the Python libraries on the system.
1. 开发环境
Install the development files for libraries to be used during the building of the Python modules:
apt install libxml2-dev libxslt-dev libfreetype6-dev libjpeg-dev libz-dev libyaml-dev python3-dev build-essential
2. 虚拟环境
Install pip
and virtualenv
. Usually they are shipped by your distribution or with Python:
apt install python3-pip python3-virtualenv virtualenv
3. 创建虚拟环境
Create and activate virtualenv for Weblate:
virtualenv --python=python3 ~/weblate-env
4. 激活虚拟环境
Activate the virtualenv for Weblate, so Weblate will look for Python libraries there first:
. ~/weblate-env/bin/activate
5. 安装 Weblate
Install Weblate including all dependencies, you can also use pip
to install optional dependencies:
pip install Weblate
# Optional deps
pip install pytz python-bidi PyYAML pyuca
# Install database backend for PostgreSQL
pip install psycopg2-binary
# Install database backend for MySQL
apt install default-libmysqlclient-dev
pip install mysqlclient
6. 创建 配置文件
Create your settings (in this example it would be in~/weblate-env/lib/python3.6/site-packages/weblate/settings.py
based on the settings_example.py
in the same directory).
cp ~/weblate-env/lib/python3.6/site-packages/weblate/settings_example.py
~/weblate-env/lib/python3.6/site-packages/weblate/settings.py
7. 配置
Optionally, adjust the values in the new settings.py
file.
允许访问地址
# List of URLs your site is supposed to serve
ALLOWED_HOSTS = ["67.218.132.50"]
配置 email
我用的是 aliyun 邮箱
找到 SMTP 地址和端口信息
EMAIL_HOST = 'smtp.mxhichina.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = 'xxx@xxx.com'
EMAIL_HOST_PASSWORD = 'xxxxxxxx'
...
# E-mail address that error messages come from.
SERVER_EMAIL = 'iosdevlog@iosdevlog.com'
# Default email address to use for various automated correspondence from
# the site managers. Used for registration emails.
DEFAULT_FROM_EMAIL = 'iosdevlog@iosdevlog.com'
测试发送 email
weblate sendtestemail xxx@xxx.com
github 登录
https://github.com/settings/developers
Application name |
Virgilio |
---|---|
Homepage URL |
http://67.218.132.50 |
Authorization callback URL |
http://67.218.132.50/accounts/complete/github/ |
8. 数据库
Create the SQLite database and its structure for Weblate:
weblate migrate
9. 管理员
Create the administrator user account and copy the password it outputs to the clipboard, and maybe also save it to a text file for later use:
weblate createadmin
10. 启动环境
Start the development server:
weblate runserver 67.218.132.50:80 -d
11. 测试
Open a web browser, go to http://67.218.132.50/accounts/login/ and login with the user name admin
and paste the password in.
12. 使用
Proceed with Adding translation to add some translatable contents to your test installation.
You can stop the test server with Ctrl+C, and leave the virtual environment with deactivate
. If you want to resume testing later, you need to repeat the steps 4, 8 and 11 each time to start the development server.
问题
检查
http://67.218.132.50/admin/performance/
发送的邮箱带 example.com
打开 http://67.218.132.50/admin/sites/site/1/
修改 Domain name 域名
find . -name "*.md" -print0 | xargs -0 -I M extract M M.zh_Hans.xliff M.zh_Hans.skl en-US zh_Hans
参考
Quick setup guidel Configuring outgoing email
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- vuecli3 build之后静态文件出现404
- Muti-Similarity Loss:考虑了batch中整体距离分布的对比损失函数
- AkShare-中国宏观-社会消费品零售总额
- AkShare-中国宏观-存款准备金率
- AkShare-中国宏观-消费者信心指数
- AkShare-期货数据-COMEX库存数据
- ESP8266和ESP32配置(需使用ROS1和ROS2)
- SpringBoot+Gradle+ MyBatisPlus3.x搭建企业级的后台分离框架
- frp 内网穿透远程桌面(Windows 10)配置
- 你来讲讲AQS是什么吧?都是怎么用的?
- Angular单元测试里pipe的mock设计
- 亿级数据判断 bitmap-布隆过滤器
- centOS8 安装MySQL8(亲测)
- 聊一聊微信小程序包内容
- 全面分析 MySQL并发控制