Il problema è con il modello - forse la shell si stava espandendo per te.
In generale, è consigliabile evitare i separatori di percorso (se/o \) nel motivo.
Se è necessario passare sempre le opzioni specifiche per il comando makemessages
, si potrebbe prendere in considerazione il proprio involucro, come questo, che io uso me stesso:
from django.conf import settings
from django.core.management.base import BaseCommand
from django.core.management import call_command
class Command(BaseCommand):
help = "Scan i18n messages without going into externals."
def handle(self, *args, **options):
call_command('makemessages',
all=True,
extensions=['html', 'inc'],
ignore_patterns=['externals*'])
Ciò consente di risparmiare la digitazione, e dà una voce comune punto per la scansione dei messaggi attraverso il progetto (il tuo collega traduttore non distruggerà le traduzioni perdendo alcuni parametri).
Non eliminare il vecchio file .po
, dopo averlo eliminato dal messaggio totalmente indesiderato (ad es. Quelli provenienti dalla directory 'django'). In questo modo gettext per riciclare i vecchi messaggi non utilizzati, una volta che vengono utilizzati di nuovo (o quelle simmilar, che saranno contrassegnati come #, fuzzy
Modifica -. Come mt4x notato - l'involucro di cui sopra non consentono di passare le opzioni da . il comando avvolto questo è facile da risolvere:
from django.conf import settings
from django.core.management.base import BaseCommand
from django.core.management import call_command
from django.core.management.commands.makemessages import Command as MakeMessagesCommand
class Command(BaseCommand):
help = "Scan i18n messages without going into externals."
option_list = MakeMessagesCommand.option_list
def handle(self, *args, **options):
options['all'] = True
options['extensions'] = ['html', 'inc']
options['ignore_patterns'] = ['externals*']
call_command('makemessages', **options)
Così - si può correggere ciò che deve essere riparato, e flettere il resto e questo non ha bisogno di essere di override cieco come sopra, ma anche alcuni di modifica condizionale. i parametri passati al comando - aggiungendo qualcosa a un elenco o aggiungendolo solo quando manca.
grazie, "django *" funziona anche per me. – balazs