gettext .mo Dateien wo installieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

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
Zuletzt geändert von Anonymous am Samstag 5. März 2011, 14:52, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
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.
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

danke, das war genau die Information die ich benötigte

Hans
Antworten