Vấn đề là với mẫu - có thể vỏ đã mở rộng nó cho bạn.
Nói chung - tốt nhất là nên tránh dấu phân tách đường dẫn (dù/hoặc \) trong mẫu.
Nếu bạn cần phải luôn luôn vượt qua các lựa chọn cụ thể cho các lệnh makemessages
, bạn có thể xem xét wrapper của riêng bạn, như thế này, mà tôi sử dụng bản thân mình:
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*'])
này giúp bạn tiết kiệm gõ, và đưa ra một mục chung điểm để quét các tin nhắn trong toàn bộ dự án (đồng nghiệp phiên dịch của bạn sẽ không hủy các bản dịch bằng cách bỏ sót một số tham số).
Không xóa tệp cũ .po
, sau khi bạn đã xóa nó khỏi thư hoàn toàn không mong muốn (tức là - từ thư mục 'django'). Điều này cho phép gettext tái chế thông điệp không sử dụng cũ, một khi chúng được sử dụng một lần nữa (hoặc những người simmilar, mà sẽ được đánh dấu là #, fuzzy
Sửa -. Như mt4x lưu ý - các wrapper trên không cho phép đi qua các tùy chọn để . lệnh bọc này rất dễ dàng để sửa chữa:
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)
Do đó - bạn có thể sửa chữa những gì cần phải được cố định, và uốn cong phần còn lại và điều này cần không được ghi đè mù như trên, nhưng cũng có một số chỉnh sửa có điều kiện. các tham số được truyền cho lệnh - gắn thứ gì đó vào danh sách hoặc chỉ thêm nó vào khi nó bị thiếu.
cảm ơn, "django *" cũng hoạt động cho tôi. – balazs