Instalar en Debian y Ubuntu

Requisitos de hardware

Weblate should run on any contemporary hardware without problems, the following is the minimal configuration required to run Weblate on a single host (Weblate, database and webserver):

  • 2 GB de RAM

  • 2 núcleos de CPU

  • 1 GB de espacio de almacenamiento

Cuanta más memoria tenga, mejor, ya que se utiliza para el prealmacenaje en todos los niveles (sistema de archivos, base de datos y Weblate).

Many concurrent users increases the amount of needed CPU cores. For hundreds of translation components at least 4 GB of RAM is recommended.

The typical database storage usage is around 300 MB per 1 million hosted words. Storage space needed for cloned repositories varies, but Weblate tries to keep their size minimal by doing shallow clones.

Nota

Actual requirements for your installation of Weblate vary heavily based on the size of the translations managed in it.

Instalación

Requisitos del sistema

Install the dependencies needed to build the Python modules (see Requisitos de software):

apt install -y \
   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 libjpeg-dev build-essential \
   python3-gdbm python3-dev python3-pip python3-virtualenv virtualenv git

Instale las dependencias opcionales que desee en función de las funcionalidades que vaya a utilizar (vea Dependencias opcionales):

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

Optionally install software for running production server, see Running server, Configuración de base de datos para Weblate, Tareas en segundo plano con Celery. Depending on size of your installation you might want to run these components on dedicated servers.

Las instrucciones de instalación local:

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

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

# Caching backend: Redis
apt install -y redis-server

# Database server: PostgreSQL
apt install -y postgresql postgresql-contrib

# SMTP server
apt install -y exim4

Módulos de Python

Consejo

We’re using virtualenv to install Weblate in a separate environment from your system. If you are not familiar with it, check virtualenv User Guide.

  1. Cree el entorno virtual para Weblate:

    virtualenv ~/weblate-env
    
  2. Active el entorno virtual para Weblate:

    . ~/weblate-env/bin/activate
    
  3. Install Weblate including all optional dependencies:

    # Install Weblate with all optional dependencies
    pip install "Weblate[all]"
    

    Please check Dependencias opcionales for fine-tuning of optional dependencies.

    Nota

    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
    

Configurar Weblate

Nota

The following assumes the virtualenv used by Weblate is activated (by executing . ~/weblate-env/bin/activate). If not, specify the full path to the weblate command as ~/weblate-env/bin/weblate.

  1. Copy the file ~/weblate-env/lib/python3.9/site-packages/weblate/settings_example.py to ~/weblate-env/lib/python3.9/site-packages/weblate/settings.py.

  2. Adjust the values in the new settings.py file to your liking. You will need to provide at least the database credentials and Django secret key, but you will want more changes for production setup, see Adjusting configuration.

  3. Create the database and its structure for Weblate (the example settings use PostgreSQL, check Configuración de base de datos para Weblate for a production-ready setup):

    weblate migrate
    
  4. Create an account for the administrator user and copy its password to the clipboard, and also save it for later use:

    weblate createadmin
    
  5. Collect the static files for your web server (see Running server and Serving static files):

    weblate collectstatic
    
  6. Compress the JavaScript and CSS files (optional, see Compressing client assets):

    weblate compress
    
  7. Start the Celery workers. This is not necessary for development purposes, but strongly recommended otherwise. Tareas en segundo plano con Celery has more info:

    ~/weblate-env/lib/python3.9/site-packages/weblate/examples/celery start
    
  8. Start the development server (Running server details a production setup):

    weblate runserver
    

After installation

Congratulations, your Weblate server is now running and you can start using it.

  • You can now access Weblate on http://localhost:8000/.

  • Sign in with admin credentials obtained during installation or register with new users.

  • You can now run Weblate commands using weblate command when Weblate virtualenv is active, see Órdenes de gestión.

  • You can stop the test server with Ctrl+C.

  • Review potential issues with your installation either on /manage/performance/ URL (see Interfaz de gestión) or using weblate check --deploy, see Puesta en marcha de entorno de producción.

Adding translation

  1. Open the admin interface (http://localhost:8000/create/project/) and create the project you want to translate. See Configuración de proyectos for more details.

    All you need to specify here is the project name and its website.

  2. Create a component which is the real object for translation - it points to the VCS repository, and selects which files to translate. See Configuración de componentes for more details.

    The important fields here are: Nombre de componente, Repositorio de código fuente, and Máscara de archivos for finding translatable files. Weblate supports a wide range of formats including gettext de GNU, Recursos de cadenas de Android, Cadenas de iOS de Apple, Propiedades de Java, Stringsdict format or Fluent format, see Formatos de archivo admitidos for more details.

  3. Once the above is completed (it can be lengthy process depending on the size of your VCS repository, and number of messages to translate), you can start translating.