Libreoffice 26.8'de Türkçe arayüz sorunu

okulumuzdaki bilişim sınıfında libreoffice 26.8 paketine güncelledik. ribbon menü yapısında kullanıyoruz özellikle ms office e benzer olsun diye. Maalesef Türkçe dil paketini yüklesek bile ribbon menü ingilizce görülüyor. bu sorunu çözebilen var mı?

1 Beğeni

Böyle eksik ve yanlışları LibreOffice yerelleştirme/çeviri ekibine bildirmek ve daha iyisi, mümkünse, katkıda bulunmaya çalışmak gerek.
Fakat en iyi çözüm, Pardus projesine daha güçlü devlet desteği sağlanıp Pardus işletim sisteminin en azından böyle önemli tamamlayıcı bileşenlerinin yerelleştirilmesine/çevirisine de destek olunabilmesi.

2 Beğeni

Merhabalar.

Şu anda bende kurulu olan sürüm aşağıdaki gibi ve bende bir sorun görünmüyor:

Version: 25.2.3.2 (X86_64) / LibreOffice Community
Build ID: 520(Build:2)
CPU threads: 6; OS: Linux 6.12; UI render: default; VCL: gtk3
Locale: tr-TR (tr_TR.UTF-8); UI: tr-TR
Debian package version: 4:25.2.3-2+deb13u8
Calc: threaded

Sisteminizde yolsa synaptic kurun.
Ardından çalıştırın.
Sağ üstte bir büyüteç simgesi var, oraya basıp “libreoffice” yazın ve bekleyin.
Sonuçlarda aşağıdaki resimdeki gibi Türkçe dil paketinin kurulu olup olmadığından emin olun, kutucuk renksiz/boşsa sağtık-kurulum için işaretle deyin.

Ardından yukarıdaki menü çubuğundan uygula deyin.
Tekrar deneyin.

Zaten yüklü görünüyorsa LibreOffice’i tamamen kaldırıp tekrar kurmayı deneyin. Temiz kaldırma yapmalısınız. Bunun için terminalden purge komutu ya da yine synaptic’den “tamamen kaldırma için işaretle” yaparak temiz kaldırabilirsiniz.

Pardus güncelleyici ile kontrol ettim fakat yeni bir güncelleme de görünmüyor. Kulağımda olsun yeni bir güncelleme gelirse kurmayayım bari.

sağolun hocam, konsoldan da müdahele ettik hiç bir şekilde çözülmedi dil paketi var görülüyor. Ofisi öğrenciler kullandığı ve onlara ofis öğrettiğim için bu sorunu çözme istiyorum.

Şimdi baktım, LibreOffice Kullanıcı Arayüzü Türkçe çevirisi %95 tamamlanmış gözüküyor: Türkçe @ TDF Weblate - LibreOffice

Bazı küçük yazılımlarda kullanıcının elle müdahalesi ile yapılabilir böyle işler fakat burada onlarca dosya, üstelik derlenmiş halde (.mo) geliyor.
Çevirilerin bir an evvel orada tamamlanmasını beklemek gerekiyor.

1 Beğeni

@SecilGokce hocam,
Denememişsinizdir diye gösteriyorum, ben denemedim, sadece yol gösteriyorum:

1 Beğeni

Üstat ben göstermiş olduğunuz son sürüm dil paketlerini indirdim kurdum. Değişen bir şey olmadı. Tam Türkçe çevirisi yapılmamış gibi görünüyor. Bu arayüz bence henüz test aşamasında.

1 Beğeni

Hocam sendekinin sürüm numarası ve Pardus kaç kullanıyorsun yazabilir misin?

Bak bende sorun yok:

(koyu tema kullandığım için siyah).

Menü içlerinde de hiç sorun görünmüyor. Muhtemelen sürüm varkı vardır. Şimdi Pardus güncelleyiciye tekrar baktım yeni ofis güncellemesi görünmüyor. Olsaydı, güncelleme almışsınız, eski sürümden derdim.

ÇOK ÖNEMLİ: Ben Pardus’un üzerinde gelen LibreOffice kullanıyorum ve mağazadaki LibreOffice Güncel’i hiç kurmadım. Siz elle güncele geçtiyseniz ondan da olabilir. Onu da bir yoklayın.

Sorunun nedenini bilmiyorum sadece ihtimal üretiyorum.

1 Beğeni

Tabii ki sorun bu:
Pardus’un temel aldığı Debian kararlı sürümü (13) ile gelen LibreOffice 25 Türkçe yerelleştirme/çeviri çalışmaları tamamlanmış, LibreOffice 26 Türkçe yerelleştirme/çeviri çalışmaları henüz tamamlanmamış durumda.
Aslında bu 2 sürüm arasında devasa farklılıklar yok, Türkçe desteğinin tam olmasını isteyen LibreOffice 25’i kullanmalı.
Yerelleştirme/çeviri sisteminin teknik bir zaafı da var aslında: daha önce zaten çevirisi yapılmış olan birçok şey (herhalde konuyla alakasız bazı “teknik” değişiklikler nedeniyle) otomatik olarak yeni sürüme aktarılamamış.

3 Beğeni

Şunu tam anlamadım abi,

Ben Pardus 23’deyken de böyle bir sorun yoktu. 25’deyim, hala yok. Ben 23’deki paketlerin düzgün çalışmadığından kuşkulanıyorum. Ama tabii yanılıyor olabilirim. Geçen hafta LO’ya bende güncelleme geldi, aldırdım. Bir sorun çıkmadı. Yeni güncellemeyle bozulmuştur diyeceğim, o da yok.

Cidden ilginç bir sorun…

Sadi bey aynen öyle. Sorun ondan kaynaklanıyor.

yazılım merkezinde bulunan libreoffice i kullanıyorum sorunsuz çalışıyor son sürüm olanı yüklemedim

Arkadaşlar merhabalar tekrar.

Yazının sonunda size bir kod vereceğim.

Başa dönüp yazılanları gözden geçirdim. LibreOffice çevirilerinde bence bir sorun yoktur. 2014’den beri hiç çevrilmemiş yerlere denk geldiğimi hatırlamıyorum.

Pardus 19’dan beri de kullanıyorum. Sorunlar var mıydı, evet. Ama hiç çeviri sorunu olmadı bende. Fakat şu çok önemli:

Daha önce 19’dan 23’e geçildiğinde ben acele etmeyip henüz geçmedim. Birçok uygulamam güncellemelerle bozuluyordu. Örnek, VLC player. Hatırlayamadığım birkaç sorun daha.

Sizler 25’e geçtiğinizde ben acele etmeyip 23’de kaldım. Yeni güncellemelerle beraber sorunlar yine başlamıştı. Sonunda 25’e geçtim.

Şimdi…

Çeviri eksik mi? Hiç sanmıyorum. Yeni güncelleme paketleriyle bazı dosyalar bozuldu, uyumsuz hale geldi, kurulum sonunda bazı dosyalar bağımlı olduğu dosyalardan koptu. ← ihtimal.

Ben yine de işi garantiye almak için basit bir kod hazırladım. Bu kod ne yapıyor.

LibreOffice’i kaldırıyor.
Sistemde daha önceki kurulumdan kalma kurulum.deb dosyası varsa bulup siliyor.
Derin tarama yaparak ne kadar libreoffice ile alakalı dizin/dosya varsa siliyor.
Bunları yaparken her aşamada sizden iki de bir parola soruyor.
Bitince kurulum aşamasını başlatıyorsunuz. (butonla).

import os
import shutil
import subprocess
import sys
from pathlib import Path
from PyQt6.QtCore import QThread, pyqtSignal
from PyQt6.QtWidgets import (
    QApplication,
    QMainWindow,
    QPushButton,
    QTextEdit,
    QVBoxLayout,
    QWidget,
)


class ProcessThread(QThread):
  log_signal = pyqtSignal(str)
  finished_signal = pyqtSignal(bool, str)

  def __init__(self, mode):
    super().__init__()
    self.mode = mode  # 'remove' veya 'install'

  def run(self):
    try:
      if self.mode == 'remove':
        self.log_signal.emit(
            'LibreOffice ve ilişkili paketler sistemden kaldırılıyor...'
        )
        cmds = [
            [
                'pkexec',
                'apt-get',
                'purge',
                '-y',
                'libreoffice*',
                'myspell-*',
                'hunspell-*',
            ],
            ['pkexec', 'apt-get', 'autoremove', '-y'],
            ['pkexec', 'apt-get', 'clean'],
        ]

        for cmd in cmds:
          process = subprocess.Popen(
              cmd,
              stdout=subprocess.PIPE,
              stderr=subprocess.STDOUT,
              text=True,
              encoding='utf-8',
              errors='replace',
          )
          while True:
            output = process.stdout.readline()
            if output == '' and process.poll() is not None:
              break
            if output:
              self.log_signal.emit(output.strip())

          if process.returncode != 0:
            self.finished_signal.emit(
                False, 'Kaldırma aşamasında bir hata oluştu.'
            )
            return

        self.log_signal.emit(
            'Kullanıcı dizinindeki yapılandırma ve önbellek dosyaları'
            ' temizleniyor...'
        )
        home = Path.home()
        dirs_to_clean = [
            home / '.config' / 'libreoffice',
            home / '.cache' / 'libreoffice',
            home / '.local' / 'share' / 'libreoffice',
            home / '.libreoffice',
        ]
        for d in dirs_to_clean:
          if d.exists():
            shutil.rmtree(d, ignore_errors=True)
            self.log_signal.emit(f'Silinen dizin: {d}')

        self.finished_signal.emit(
            True, 'Kaldırma ve temizlik başarıyla tamamlandı.'
        )

      elif self.mode == 'install':
        self.log_signal.emit('Paket listeleri güncelleniyor...')
        update_proc = subprocess.Popen(
            ['pkexec', 'apt-get', 'update'],
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT,
            text=True,
            encoding='utf-8',
            errors='replace',
        )
        while True:
          output = update_proc.stdout.readline()
          if output == '' and update_proc.poll() is not None:
            break
          if output:
            self.log_signal.emit(output.strip())

        self.log_signal.emit(
            'LibreOffice ve Türkçe dil paketleri yükleniyor...'
        )
        cmd_install = [
            'pkexec',
            'apt-get',
            'install',
            '-y',
            'libreoffice',
            'libreoffice-l10n-tr',
            'libreoffice-help-tr',
            'libreoffice-gtk3',
        ]
        install_proc = subprocess.Popen(
            cmd_install,
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT,
            text=True,
            encoding='utf-8',
            errors='replace',
        )
        while True:
          output = install_proc.stdout.readline()
          if output == '' and install_proc.poll() is not None:
            break
          if output:
            self.log_signal.emit(output.strip())

        if install_proc.returncode != 0:
          self.finished_signal.emit(
              False, 'Yükleme sırasında hata oluştu.'
          )
          return

        self.finished_signal.emit(
            True, 'LibreOffice başarıyla kuruldu ve Türkçe dil paketleri eklendi.'
        )

    except Exception as e:
      self.finished_signal.emit(False, f'Beklenmeyen hata: {str(e)}')


class MainWindow(QMainWindow):

  def __init__(self):
    super().__init__()
    self.setWindowTitle('LibreOffice Temizleme ve Onarım Aracı')
    self.resize(650, 450)

    central_widget = QWidget()
    self.setCentralWidget(central_widget)
    layout = QVBoxLayout(central_widget)

    self.log_view = QTextEdit()
    self.log_view.setReadOnly(True)
    layout.addWidget(self.log_view)

    self.btn_remove = QPushButton('LibreOffice\'i Kaldır ve Temizle')
    self.btn_remove.clicked.connect(lambda: self.start_process('remove'))
    layout.addWidget(self.btn_remove)

    self.btn_install = QPushButton('LibreOffice\'i Kur')
    self.btn_install.clicked.connect(lambda: self.start_process('install'))
    layout.addWidget(self.btn_install)

  def start_process(self, mode):
    self.btn_remove.setEnabled(False)
    self.btn_install.setEnabled(False)
    self.log_view.clear()
    self.thread = ProcessThread(mode)
    self.thread.log_signal.connect(self.log_view.append)
    self.thread.finished_signal.connect(self.process_finished)
    self.thread.start()

  def process_finished(self, success, msg):
    self.btn_remove.setEnabled(True)
    self.btn_install.setEnabled(True)
    self.log_view.append(f'\n--- {msg} ---')


if __name__ == '__main__':
  app = QApplication(sys.argv)
  app.setStyle('Fusion')
  window = MainWindow()
  window.show()
  sys.exit(app.exec())


Depolardan dil paketiyle ve gtk3 uyumluluk katmanıyla beraber indirip kurar. PyQt6 kurmak zorundasınız yalnız. Olmadı paketleyip verebilirim. (gtk3 ile düzgün görüntülenmezse terminalden ya da synaptic’den libreoffice-gnome paketini kurun).

Çalıştırmak için masaüstüne LOduzeltici.py adında boş bir metin dosyası oluşturun. Yukarıdaki kodu hiç bozmadan direk içine yapıştırıp kaydedin. Ardından masaüstünde sağtık → burda terminal aç uleeeyn.

python3 LOduzeltici.py

deyip ENTER. Sonrası mevla kerim.

2 Beğeni

hocam bir de libreoffice e güncelleme attık diyelim 24 den 25 e yükseldi ya da 25 den 26 ya görev çubuğuna sabitlenen kısayolların hepsi gidiyor :frowning: aşırı güncelleme geliyor. özellikle okul kullanımları için libreoffice in biraz stabil olması lazım gibi.

1 Beğeni