Aktualizácia Weblate

Aktualizácie Docker obrazu

Oficiálny Docker obraz Weblate (pozri Inštalácia pomocou Dockeru) integruje všetky kroky aktualizácie. Zvyčajne nie je potrebná žiadna manuálna interakcia okrem stiahnutia najnovšej (alebo aspoň novšej) verzie.

Všeobecné pokyny na aktualizáciu

Vždy hľadajte nové zmeny v Softvérové požiadavky pred aktualizáciou. Akonáhle sú všetky požiadavky nainštalované alebo aktualizované, uistite sa, že váš settings.py zodpovedá zmenám v konfigurácii (konzultujte settings_example.py pre správne hodnoty).

Vždy skontrolujte Pokyny špecifické pre verziu pred aktualizáciou. Ak preskakujete akékoľvek verzie, uistite sa, že dodržiavate pokyny pre všetky verzie, ktoré preskakujete počas takejto aktualizácie. Niekedy je lepšie aktualizovať postupne na medziverziu, aby sa zabezpečila hladká migrácia. Aktualizácia cez viacero vydaní by mala fungovať, ale nie je tak dobre testovaná ako aktualizácie jednej verzie!

Poznámka

Vždy zálohujte celú databázu pred aktualizáciou, aby ste mohli databázu vrátiť späť, ak aktualizácia zlyhá, pozri Zálohovanie a presun Weblate.

  1. Počkajte, kým sa fronty Celery vyprázdnia, potom zastavte procesy WSGI a Celery, aby ste sa vyhli behu starých procesov počas aktualizácie. Inak môžu nastať nekompatibilné zmeny v databáze.

    Front úloh Celery nie je stabilné rozhranie medzi vydaniami, takže úlohy vo fronte zo starej verzie nie sú garantované, že budú fungovať po aktualizácii. Dĺžku fronty môžete monitorovať v Rozhranie na správu alebo pomocou celery_queues.

  2. Aktualizovať Weblate

    Pre inštalácie pip je to možné dosiahnuť pomocou:

    uv pip install -U "weblate[all]==version"
    

    Alebo, ak chcete len získať najnovšiu vydanú verziu:

    uv pip install -U "weblate[all]"
    

    Ak nechcete inštalovať všetky voliteľné závislosti, urobte:

    uv pip install -U weblate
    

    Pomocou Git checkout musíte načítať nový zdrojový kód a aktualizovať vašu inštaláciu:

    cd weblate-src
    git pull
    # Update Weblate inside your Python environment
    . ~/weblate-env/bin/uv pip install -e '.[all]'
    # Install dependencies directly when not using Python environment
    uv pip install --upgrade -e .
    # Install optional dependencies directly when not using a Python environment
    uv pip install --upgrade -e '.[all]'
    
  3. Nové vydania Weblate môžu mať nové Závislosti Pythonu, skontrolujte, či pokrývajú funkcie, ktoré chcete.

  4. Aktualizujte konfiguračný súbor podľa buď settings_example.py, alebo Pokyny špecifické pre verziu.

  5. Aktualizovať databázu:

    weblate migrate --noinput
    
  6. Zozbierať aktualizované statické súbory (pozri Spúšťanie servera a Obsluha statických súborov):

    weblate collectstatic --noinput
    
  7. Ak spúšťate inštaláciu z Git, mali by ste tiež regenerovať súbory lokalizácie zakaždým, keď aktualizujete. Môžete to urobiť vyvolaním:

    weblate compilemessages
    
  8. Overte, že vaše nastavenie je v poriadku (pozri tiež Produkčné nastavenie):

    weblate check --deploy
    
  9. Reštartujte pracovníka Celery (pozri Úlohy na pozadí pomocou Celery).

    Niektoré aktualizácie spúšťajú doplnenie a konsolidáciu rozsahu prekladovej pamäte na pozadí pomocou periodických úloh Celery. Po aktualizácii nechajte Celery spustený a monitorujte priebeh v Administrácia > Správa o výkone. Podrobnosti nájdete v Rozsahy prekladovej pamäte.

Pokyny špecifické pre verziu

Zmenené vo verzii 5.0: Pokyny špecifické pre verziu sú teraz zahrnuté v poznámkach k vydaniu, pozri Weblate 2026.10.1.

Aktualizácia zo staršej nepodporovanej verzie

Priame aktualizácie sú podporované iba pre vydania z aktuálneho alebo predchádzajúceho kalendárneho roka. Ak potrebujete aktualizovať cez túto hranicu, najprv aktualizujte na medziverziu uvedenú nižšie. Aktualizácie preskakujúce tento krok nie sú podporované a zlyhajú.

  • Ak aktualizujete z vydania 2.x, vždy najprv aktualizujte na 3.0.1.

  • Ak aktualizujete z vydania 3.x, vždy najprv aktualizujte na 4.0.4.

  • Ak aktualizujete z vydania 4.x, vždy najprv aktualizujte na 5.0.2.

  • Ak aktualizujete z 5.0.x-5.9.x, vždy najprv aktualizujte na 5.10.4.

  • Aktualizácie z 5.10.x a novších sú momentálne priamo podporované.

Migrácia z iných databáz do PostgreSQL

Varovanie

MySQL a MariaDB už nie sú podporované vo Weblate. Pred aktualizáciou musíte migrovať do PostgreSQL.

Ak spúšťate Weblate s MySQL alebo MariaDB, zvážte migráciu do PostgreSQL pre lepší výkon vykonaním nasledujúcich krokov. Nezabudnite vopred zastaviť webový server aj server Celery, inak môžete skončiť s nekonzistentnými údajmi.

Vytvorenie databázy v PostgreSQL

Zvyčajne je dobrý nápad spúšťať Weblate v samostatnej databáze a na samostatnom používateľskom účte:

# If PostgreSQL was not installed before, set the main password
sudo -u postgres psql postgres -c "\password postgres"

# Create a database user called "weblate"
sudo -u postgres createuser -D -P weblate

# Create the database "weblate" owned by "weblate"
sudo -u postgres createdb -E UTF8 -O weblate weblate

Migrácia do PostgreSQL pomocou pgloader

pgloader je generický migračný nástroj na migráciu údajov do PostgreSQL. Môžete ho použiť na migráciu vašej databázy Weblate.

  1. Upravte váš settings.py na použitie PostgreSQL ako databázy.

  2. Migrujte schému v databáze PostgreSQL:

    weblate migrate
    weblate sqlflush | weblate dbshell
    

3. Run the pgloader to transfer the data. The following script can be used to migrate the database, but you might want to learn more about pgloader to better understand what it does, and tweak it to match your setup:

LOAD DATABASE
     FROM mysql://weblate:password@localhost/weblate
     INTO postgresql://weblate:password@localhost/weblate

WITH include no drop, truncate, create no tables, create no indexes, no foreign keys, disable triggers, reset sequences, data only

ALTER SCHEMA 'weblate' RENAME TO 'public'
;

Migrácia z Pootle

Keďže Weblate bol pôvodne napísaný ako náhrada za Pootle, je podporovaná migrácia používateľských účtov z neho. Môžete exportovať používateľov z Pootle a importovať ich pomocou importusers.