# Meningkatkan Weblate

## Peningkatan gambar Docker

Gambar Docker Weblate resmi (lihat [Memasang menggunakan Docker](https://docs.weblate.org/id/latest/admin/install/docker.md)) mengintegrasikan semua langkah peningkatan. Biasanya, tidak diperlukan interaksi manual selain menarik versi terbaru (atau setidaknya yang lebih baru).

#### SEE ALSO
[Meningkatkan kontainer Docker](https://docs.weblate.org/id/latest/admin/install/docker.md#upgrading-docker)

<a id="generic-upgrade-instructions"></a>

## Petunjuk peningkatan umum

Selalu periksa perubahan baru pada [Persyaratan perangkat lunak](https://docs.weblate.org/id/latest/admin/install.md#requirements) sebelum melakukan peningkatan. Setelah semua persyaratan terpasang atau ditingkatkan, pastikan `settings.py` Anda sesuai dengan perubahan konfigurasi (lihat `settings_example.py` untuk nilai yang benar).

Selalu periksa [Petunjuk spesifik versi](#version-specific-instructions) sebelum melakukan peningkatan. Jika Anda melewatkan versi apa pun, pastikan untuk mengikuti petunjuk untuk semua versi yang Anda lewatkan selama peningkatan tersebut. Terkadang lebih baik untuk meningkatkan secara bertahap ke versi perantara untuk memastikan migrasi yang lancar. Meningkatkan beberapa rilis seharusnya berhasil, tetapi tidak teruji sebaik peningkatan versi tunggal!

#### NOTE
Selalu cadangkan seluruh basis data sebelum melakukan peningkatan, sehingga Anda dapat mengembalikan basis data jika peningkatan gagal, lihat [Mencadangkan dan memindahkan Weblate](https://docs.weblate.org/id/latest/admin/backup.md).

1. Wait for the Celery queues to become empty, then stop the WSGI and Celery
   processes to avoid old processes running while upgrading. Otherwise
   incompatible changes in the database might occur.

   The Celery task queue is not a stable interface across releases, so queued
   tasks from the old version are not guaranteed to work after the upgrade. You
   can monitor queue length in the [Antarmuka pengelolaan](https://docs.weblate.org/id/latest/admin/admin.md#management-interface) or by using
   [`celery_queues`](https://docs.weblate.org/id/latest/admin/management.md#weblate-admin-celery_queues).
2. Tingkatkan Weblate

   Untuk pemasangan pip dapat dicapai dengan:
   ```sh
   uv pip install -U "weblate[all]==version"
   ```

   Atau, jika Anda hanya ingin mendapatkan versi rilis terbaru:
   ```sh
   uv pip install -U "weblate[all]"
   ```

   Jika Anda tidak ingin memasang semua dependensi opsional, lakukan:
   ```sh
   uv pip install -U weblate
   ```

   Dengan menggunakan Git checkout, Anda perlu mengambil kode sumber baru dan memperbarui pemasangan Anda:
   ```sh
   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. Rilis Weblate baru mungkin memiliki [Dependensi Python](https://docs.weblate.org/id/latest/admin/install.md#python-deps) baru, periksa apakah mereka mencakup fitur yang Anda inginkan.
4. Tingkatkan berkas konfigurasi dengan mengikuti `settings_example.py`, atau [Petunjuk spesifik versi](#version-specific-instructions).
5. Tingkatkan basis data:
   ```sh
   weblate migrate --noinput
   ```
6. Kumpulkan berkas statis yang diperbarui (lihat [Menjalankan server](https://docs.weblate.org/id/latest/admin/install.md#server) dan [Menyajikan berkas statis](https://docs.weblate.org/id/latest/admin/install.md#static-files)):
   ```sh
   weblate collectstatic --noinput
   ```
7. Jika Anda menjalankan pemasangan dari Git, Anda juga harus membuat ulang berkas lokalisasi setiap kali Anda melakukan peningkatan. Anda dapat melakukannya dengan menjalankan perintah:
   ```sh
   weblate compilemessages
   ```
8. Verifikasikan bahwa pengaturan Anda waras (lihat juga [Pengaturan produksi](https://docs.weblate.org/id/latest/admin/install.md#production)):
   ```sh
   weblate check --deploy
   ```
9. Mulai ulang pekerja Celery (lihat [Tugas latar belakang menggunakan Celery](https://docs.weblate.org/id/latest/admin/install.md#celery)).

   Some upgrades run translation-memory scope backfill and consolidation in
   the background using periodic Celery tasks. Keep Celery running after the
   upgrade and monitor progress in Administration >
   Performance report. See [Cakupan memori terjemahan](https://docs.weblate.org/id/latest/admin/memory.md#memory-scopes) for details.

<a id="version-specific-instructions"></a>

## Petunjuk spesifik versi

#### Versionchanged
Berubah pada versi 5.0: Petunjuk spesifik versi sekarang disertakan dalam catatan rilis, lihat [Weblate 2026.10](https://docs.weblate.org/id/latest/changes.md).

### Upgrade from an older unsupported release

Direct upgrades are only supported for releases from the current or previous
calendar year. If you need to upgrade across this boundary, upgrade first to an
intermediate version as listed below. Upgrades skipping this step are not
supported and will break.

* Jika Anda melakukan peningkatan dari versi 2.x, selalu tingkatkan terlebih dahulu ke versi 3.0.1.
* Jika Anda melakukan peningkatan dari versi 3.x, selalu tingkatkan terlebih dahulu ke versi 4.0.4.
* Jika Anda melakukan peningkatan dari versi 4.x, selalu tingkatkan terlebih dahulu ke versi 5.0.2.
* If you are upgrading from 5.0.x-5.9.x, always first upgrade to 5.10.4.
* Upgrades from 5.10.x and newer are currently directly supported.

#### SEE ALSO
* [Tingkatkan dari 2.20 ke 3.0 dalam dokumentasi Weblate 3.0](https://docs.weblate.org/en/weblate-3.0.1/admin/upgrade.html#upgrade-3)
* [Tingkatkan dari 3.11 ke 4.0 dalam dokumentasi Weblate 4.0](https://docs.weblate.org/en/weblate-4.0.4/admin/upgrade.html#upgrade-from-3-11-to-4-0)
* [Tingkatkan dari 4.x ke 5.0.2 dalam dokumentasi Weblate 5.0](https://docs.weblate.org/en/weblate-5.0.2/changes.html)

<a id="database-migration"></a>

## Memigrasikan dari basis data lain ke PostgreSQL

#### WARNING
MySQL and MariaDB are no longer supported in Weblate. You must migrate
to PostgreSQL before upgrading.

Jika Anda menjalankan Weblate dengan MySQL atau MariaDB, pertimbangkan untuk bermigrasi ke PostgreSQL untuk kinerja yang lebih baik dengan mengikuti langkah berikut. Ingatlah untuk menghentikan kedua, server web dan Celery terlebih dahulu, jika tidak Anda mungkin akan mengalami data yang tidak konsisten.

### Membuat basis data di PostgreSQL

Biasanya merupakan ide yang bagus untuk menjalankan Weblate dalam basis data terpisah, dan akun pengguna terpisah:

```sh
# 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
```

<a id="pgloader-migration"></a>

### Memigrasikan ke PostgreSQL menggunakan pgloader

[pgloader](https://pgloader.io/) adalah alat migrasi umum untuk memigrasikan data ke PostgreSQL. Anda dapat menggunakannya untuk memigrasikan basis data Weblate Anda.

1. Sesuaikan `settings.py` Anda untuk menggunakan PostgreSQL sebagai basis data.
2. Migrasikan skema dalam basis data PostgreSQL:
   ```sh
   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](https://pgloader.io/) to better understand what it does,
and tweak it to match your setup:

> ```postgresql
> 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'
> ;
> ```

<a id="pootle-migration"></a>

## Memigrasikan dari Pootle

Karena Weblate awalnya ditulis sebagai pengganti Pootle, migrasi akun pengguna dari Pootle didukung. Anda dapat membuang pengguna dari Pootle dan mengimpornya menggunakan [`importusers`](https://docs.weblate.org/id/latest/admin/management.md#weblate-admin-importusers).
