Weblate yazılımını güncellemek#
Docker kalıbı güncellemeleri#
Resmi Docker kalıbına (bilgi almak için Docker ile kurmak) tüm Weblate yükseltme adımları bütünleştirilmiştir. Genellikle güncel sürümü çekmenin dışında el ile yapılması gereken bir adım bulunmaz.
Ayrıca bakınız
Genel yükseltme yönergeleri#
Yükseltmeden önce, lütfen değişmiş olabilecekleri için güncel Yazılım gereksinimleri değerini denetleyin. Tüm gereksinimler kurulduktan ya da güncellendikten sonra, lütfen settings.py
dosyasını yapılandırmadaki değişikliklere uygun şekilde ayarlayın (doğru değerler için settings_example.py
bölümüne bakabilirsiniz).
Yükseltmeden önce her zaman Sürüme özel yönergeler bölümünü denetleyin. Bazı sürümleri atlamanız durumunda, lütfen yükseltmede atladığınız tüm sürümlerin yönergelerini izleyin. Bazen sorunsuz bir aktarım yapmak için önce bazı ara sürümlere yükseltmek daha iyidir. Bir kerede birkaç sürüm yukarı yükseltilebilir, ancak tek sürüm yükseltmelerindeki kadar iyi denenmemiştir.
Not
Yükseltmenin yapılamaması durumunda veri tabanını önceki sürüme döndürebilmeniz için yükseltmeden önce veri tabanının tam yedeğini almanız önerilir. Bilgi almak için: Weblate yedeğini alma ve taşıma.
wsgi ve Celery işlemlerini durdurun. Yükseltme işlemi, veri tabanında uyumsuz değişiklikler yapabilir. Bu nedenle yükseltme sırasında eski işlemlerin çalışmasını önlemek her zaman daha güvenli olur.
Weblate kodunu yükseltin.
Pip kurulumları için şöyle yapılabilir:
pip install -U "Weblate[all]==version"
Ya da yalnızca güncel sürümü edinmek istiyorsanız:
pip install -U "Weblate[all]"
İsteğe bağlı bağımlılıkların tümünü kurmak istemiyorsanız şunu yapın:
pip install -U Weblate
Git checkout ile yeni kaynak kodunu almanız ve kurulumunuzu güncellemeniz gerekir:
cd weblate-src git pull # Update Weblate inside your virtualenv . ~/weblate-env/bin/pip install -e '.[all]' # Install dependencies directly when not using virtualenv pip install --upgrade -r requirements.txt # Install optional dependencies directly when not using virtualenv pip install --upgrade -r requirements-optional.txt
Yeni Weblate sürümünde yeni İsteğe bağlı bağımlılıklar bulunabilir. Lütfen istediğiniz özellikleri kapsayıp kapsamadığını denetleyin.
Yapılandırma dosyasını yükseltin. Gerekli adımlar için
settings_example.py
ya da Sürüme özel yönergeler dosyalarına bakabilirsiniz.Veri tabanı yapısını yükseltin:
weblate migrate --noinput
Güncellenmiş durağan dosyaları derleyin (bilgi almak için: Sunucuyu çalıştırmak ve Durağan dosyalar sunmak):
weblate collectstatic --noinput --clear
JavaScript ve CSS dosyalarını sıkıştırın (isteğe bağlı, bilgi almak için: İstemci varlıklarının sıkıştırılması):
weblate compress
Git üzerindeki sürümü çalıştırıyorsanız, her yükseltme yaptığınızda yerel ayar dosyalarını da yeniden oluşturmanız gerekir. Bu işlemi şu şekilde yapabilirsiniz:
weblate compilemessages
Kurulumunuzun doğru olduğunu doğrulayın (bilgi almak için: :ref:`production’):
weblate check --deploy
Celery işlemini yeniden başlatın (bilgi almak için: Celery ile arka plan görevlerini kullanmak).
Sürüme özel yönergeler#
5.0 sürümünde değişti: Version specific instructions are now included in the release notes, see Weblate 5.0.1.
Daha eski bir büyük sürümden güncelleme#
Upgrades across major versions are not supported. Always upgrade to the latest patch level for the initial major release. Upgrades skipping this step are not supported and will break.
If you are upgrading from the 2.x release, always first upgrade to 3.0.1 and then continue upgrading within the 3.x series.
If you are upgrading from the 3.x release, always first upgrade to 4.0.4 and then continue upgrading within the 4.x series.
Diğer veri tabanlarından PostgreSQL üzerine aktarmak#
Weblate için PostgreSQL dışında başka bir veri tabanı kullanıyorsanız, Weblate ile en iyi başarımı gösteren PostgreSQL kullanmaya geçmeyi düşünmelisiniz. Aşağıdaki adımlar, verilerinizi veri tabanları arasında aktarmakta size yol gösterir. Lütfen aktarımdan önce hem site hem de Celery sunucularını durdurmayı unutmayın, yoksa tutarsız verilerle karşılaşabilirsiniz.
PostgreSQL üzerinde bir veri tabanı oluşturmak#
Weblate için ayrı bir kullanıcı hesabı ile ayrı bir veri tabanı kullanmak genellikle iyi bir fikirdir:
# 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
Django JSON dökümlerini kullanarak aktarmak#
Aktarım için en basit yaklaşım, Django JSON dökümlerini kullanmaktır. Bu yöntem, küçük kurulumlar için iyidir. Daha büyük kurulumlarda bunun yerine pgloader kullanmak isteyebilirsiniz. Bilgi almak için: Pgloader ile PostgreSQL üzerine aktarmak.
PostgreSQL seçeneğini
settings.py
dosyasına ek veritabanı bağlantısı olarak ekleyin:
DATABASES = {
"default": {
# Database engine
"ENGINE": "django.db.backends.mysql",
# Database name
"NAME": "weblate",
# Database user
"USER": "weblate",
# Database password
"PASSWORD": "password",
# Set to empty string for localhost
"HOST": "database.example.com",
# Set to empty string for default
"PORT": "",
# Additional database options
"OPTIONS": {
# In case of using an older MySQL server, which has MyISAM as a default storage
# 'init_command': 'SET storage_engine=INNODB',
# Uncomment for MySQL older than 5.7:
# 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
# If your server supports it, see the Unicode issues above
"charset": "utf8mb4",
# Change connection timeout in case you get MySQL gone away error:
"connect_timeout": 28800,
},
},
"postgresql": {
# Database engine
"ENGINE": "django.db.backends.postgresql",
# Database name
"NAME": "weblate",
# Database user
"USER": "weblate",
# Database password
"PASSWORD": "password",
# Set to empty string for localhost
"HOST": "database.example.com",
# Set to empty string for default
"PORT": "",
},
}
Aktarımları yürütün ve tablolara eklenen tüm verileri kaldırın:
weblate migrate --database=postgresql
weblate sqlflush --database=postgresql | weblate dbshell --database=postgresql
Eski veri tabanlarının dökümünü alın ve PostgreSQL üzerine aktarın
weblate dumpdata --all --output weblate.json
weblate loaddata weblate.json --database=postgresql
Varsayılan olarak yalnızca PostgreSQL veri tabanının kullanılması için
DATABASES
ayarını yapın. Eski bağlantıyı kaldırın.
Böylece Weblate artık PostgreSQL veri tabanı ile çalışmaya hazır olmalıdır.
Pgloader ile PostgreSQL üzerine aktarmak#
pgloader, verileri PostgreSQL üzerine taşımak için kullanılan bir genel aktarım aracıdır. Weblate veri tabanını aktarmak için kullanabilirsiniz.
Veri tabanı olarak PostgreSQL kullanmak için
settings.py
ayarınızı yapın.Şemayı PostgreSQL veri tabanına aktarın:
weblate migrate weblate sqlflush | weblate dbshell
Verileri aktarmak için pgloader uygulamasını çalıştırın. Veri tabanını aktarmak için aşağıdaki betik kullanılabilir, ancak ne yaptığını anlamak ve kurulumunuza uyacak şekilde küçük ayar değişikleri yapmak için pgloader ile ilgili ayrıntılı bilgi almak isteyebilirsiniz:
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' ;
Pootle üzerinden aktarmak#
Weblate başlangıçta Pootle yerine yazıldığından, kullanıcı hesapları Pootle üzerinden aktarılabilir. Kullanıcıları Pootle üzerinden indirip ve importusers
ile içe aktarabilirsiniz.