سؤال

هنا مثال INITION_DATA.JSON. أريد أن أخبر قيمة متجر Django من الاسم "الاسم" في ملف الترجمة. حتى الآن، عندما يتم طباعة القيمة في مكان ما، يمكن أن تستخدم قيمة مترجمة لها. هل هناك أي طريقة للقيام بذلك؟ شكرًا.

[
{"pk": 1, "model": "category.category", "fields": {"name": "Report"}},
{"pk": 2, "model": "category.category", "fields": {"name": "Sport"}}
]
هل كانت مفيدة؟

المحلول

إذا كنت تريد أن تفعل شيئا مثل ::

"fields": {"name": _("Report")}

ثم أنت من الحظ، حيث لا يوجد لدى JSON أي دعم للكتساب وما شابه ذلك. (لا يوجد شيء يمنعك من تدويلها في وقت التشغيل، ومع ذلك، إذا كنت ترغب في القيام بشيء من هذا القبيل، فستحتاج إليك إما إضافتها يدويا إلى .po الملفات التي تكتبها، أو ضعها في مكان ما في الرمز بذلك makemessages يمكن التقاطها.

على الرغم من أنها حقا، فإن تدويل قيم قاعدة البيانات مع آليات Django القياسية هي فكرة سيئة حقا. هناك كل أنواع إمكانات للأشياء التي يجب أن تخطئها. إذا كان تدويل الأسماء هو أنه مهم بالنسبة لك، يجب عليك كتابة التدويل في مخطط قاعدة البيانات الخاصة بك. (مزيد من المعلومات حول ذلك في http://code.djangoproject.com/ticket/6952..)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top