__Init__.py ফাইলের জন্য অনুবাদ সংরক্ষণ করার জন্য কোনও লোকেল পাথ খুঁজে পাওয়া যায়নি


105

আমি একটি জ্যাঙ্গো অ্যাপ্লিকেশন অনুবাদ করার চেষ্টা করছি। আমি {% trans %}আমার টেম্পলেটগুলির সাথে কিছু স্ট্রিং তৈরি করেছি। তবে আমি যখন আমার অ্যাপ্লিকেশন ফোল্ডারে নিম্নলিখিত কমান্ডটি কার্যকর করি তখন আমি একটি ত্রুটি বার্তা পাই:

$ django-admin.py makemessages -l fr 
CommandError: Unable to find a locale path to store translations for file __init__.py`

আমি কি ভুল করছি?

উত্তর:


156

আপনি localeপ্রথমে ব্যবহার করে একটি ফোল্ডার তৈরি করতে হবে তা সক্রিয় হয় mkdir locale। যদি আপনি কোনও অ্যাপ্লিকেশন ফোল্ডারের মধ্যে থেকে কমান্ডটি চালাচ্ছেন তবে আপনাকে localeসেই অ্যাপ্লিকেশন ফোল্ডারের মধ্যে একটি ফোল্ডার দরকার ।


ধন্যবাদ, আমাকে সাহায্য করেছেন। যদি ইতিমধ্যে উপলব্ধ থাকে তবে কেবল ডিরেক্টরিটি makemessagesথেকে কমান্ডটি কার্যকর করুন locale
সেক্স

4
জ্যাঙ্গো ১.৯-এ আপনাকে সংজ্ঞায়িত করতে হবে LOCALE_PATHSযদিও তা localeঅন্যথায় সংকলিত পাঠটি আবিষ্কারযোগ্য হবে না।
ওয়াটওয়ার

লক্ষ্য করুন এই ফোল্ডারে নেই না কোন 'S' আছে, এবং এটি অ্যাপ্লিকেশন ফোল্ডারে হতে হবে (যদি আপনি কোন না যে ভাবে LOCALE_PATHSকনফিগার করতে)
tobiasBora

28

প্রকৃতপক্ষে আপনি কোথায় লোকেল ফোল্ডারটি কনফিগার করতে পারেন। আপনার সেটিংসে.পি যোগ করুন:

LOCALE_PATHS = (
    PROJECT_ROOT + '/website/locale', )

তারপরে আপনি যে ভাষা অনুবাদ করতে চান তার প্রতিটিটির জন্য একটি ফোল্ডার তৈরি করুন:

mkdir -p website/locale/de

2
আপনার আসলে প্রতিটি ভাষার জন্য একটি ফোল্ডার তৈরি করার দরকার নেই। জ্যাঙ্গো-অ্যাডমিন মেকমেসেজগুলি আপনার জন্য এটি করবে
MagicلامP

এটি বিভ্রান্তিকর, আমরা কি প্রতিটি অ্যাপের জন্য একটি করে এন্ট্রি তৈরি করার কথা বলছি? বা একই অ্যাপলিকেশনগুলির জন্য সমস্ত লোকেলের জন্য একই লোকেল ফোল্ডারে সঞ্চয় করবেন?
ভাদোরকোয়েস্ট

12

সমস্যাটি হ'ল কমান্ডটি অ্যাপ ডিরেক্টরি থেকে নয় তবে প্রকল্প ডিরেক্টরি থেকে চালিত হয়। ডক্সের এই স্নিপেট এটি ব্যাখ্যা করে:

আপনি localeপ্রথমে ব্যবহার করে একটি ফোল্ডার তৈরি করতে হবে তা সক্রিয় হয় mkdir locale

./manage.py makemessages[…] বর্তমান ডিরেক্টরিটির পুরো উত্স গাছের উপর দিয়ে চলছে এবং অনুবাদগুলির জন্য চিহ্নিত সমস্ত স্ট্রিংগুলি বের করে। এটি কনফ / লোকালে (জাজানো গাছের মধ্যে) বা লোকালে (প্রকল্প এবং অ্যাপ্লিকেশন জন্য) ডিরেক্টরিতে একটি বার্তা ফাইল তৈরি করে (বা আপডেট করে)।

সুতরাং, আপনি হয় অ্যাপ্লিকেশন ডিরেক্টরি থেকে কমান্ডটি চালান:

$ cd app
$ django-admin makemessages -l <locale>

… বা আপনি ব্যবহার করে একটি প্রকল্পের প্রশস্ত লোকেল ডিরেক্টরিটি সংজ্ঞায়িত করেন LOCALE_PATHSএবং আপনি makemessagesসেখান থেকে মূল ডিরেক্টরি থেকে চালাতে পারেন ।

যে কোনও উপায়ে আপনার ./locale/ডিরেক্টরিটি উপস্থিত রয়েছে কিনা তা পরীক্ষা করে এটি ব্যবহার করে তৈরি করা উচিত

$ mkdir locale

যদি এটি না হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.