Seite 1 von 1

gettext .mo Dateien wo installieren

Verfasst: Freitag 4. März 2011, 14:51
von hans
Beiße mir gerade die Zähne an gettext aus. Ich steige da soweit hinter, jedoch ich kann mein Python script (GIMP-Plugin) nur aus einem bestimmten Verzeichnis heraus aufrufen, außer ich installiere es in /usr/share/locale/de/LC_MESSAGE. Das setzt natürlich rootrechte vorraus.

Lieber wäre mir eine Installation relativ zum script. Was muss ich da ändern, damit das Programm entsprechend reagiert?

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from gimpfu import *
import gettext

# internationalziation i18n
trans = gettext.translation("gat_lines", "/usr/share/locale", ["de"]) 
trans.install()


def gat_001(img, draw, dist, num, brush):
  _("""GIMP Atelier Tools: Scan Lines""")
  lay = gimp.Layer(img, 'GAT_Scan_Lines', img.width, img.height, draw.type, 100, NORMAL_MODE)
  lay.add_alpha
  pdb.gimp_image_add_layer(img, lay, 999)
  pdb.gimp_edit_clear(lay)
  oldbrush = pdb.gimp_context_get_brush()
  pdb.gimp_context_set_brush(brush)
  

  i  = 1
  while i <= dist * num:
    if i > lay.height:
      break

    pdb.gimp_pencil(lay, 4, [0, i,img.width, i])
    #pdb.gimp_paintbrush(lay, 0, 4, [0, i,img.width, i], PAINT_CONSTANT, 0)
    i = i + dist
  
  pdb.gimp_context_set_brush(oldbrush)
  

register("GimpAtelier_tools_008DE",
  _("GIMP Atelier Tools: Scan Lines"),
  _("creates scan lines"),
  "Hans-G. Normann",
  "© 2010, Hans-G. Normann. Licence GPL",
  "2010-11-16",
  _("<Image>/Tools/Gimp-Atelier/Scan Lines"),
  "*",
  [
    (PF_INT,   'dist',  _("Distance Between Lines"), 10),
    (PF_INT,   'num',   _("Number of lines"),        5),
    (PF_BRUSH, 'brush', _("Brush"),                  "Circle Fuzzy (03)"),
  ],
  '',
  gat_001)

main()
Script sollte auch für OS X und Windows lauffähig sein

Re: gettext .mo Dateien wo installieren

Verfasst: Samstag 5. März 2011, 12:53
von lunar
Der Pfad des Skripts relativ zum Arbeitsverzeichnis zum Zeitpunkt, an dem das Skript geladen wurde, wird im globalen Namen "__file__" abgelegt. Du kannst also am Anfang des Skripts etwas wie "SCRIPT_DIRECTORY = os.path.dirname(os.path.abspath(__file__))" einfügen, um den absoluten Pfad zum Verzeichnis, in welchem das Skript liegt, an den Namen "SCRIPT_DIRECTORY" zu binden.

Bei der Erzeugung des "Translations"-Objekts kannst Du dann das Verzeichnis mit den Übersetzungen relativ zu diesem Verzeichnis angeben, e.g "os.path.join(SCRIPT_DIRECTORY, 'locale')" oder so.

Re: gettext .mo Dateien wo installieren

Verfasst: Samstag 5. März 2011, 18:18
von hans
danke, das war genau die Information die ich benötigte

Hans