আমি gnuwin32 মূল ব্যবহারগুলি ইনস্টল করেছি, তৈরি এবং গেটেক্সট:
http://gnuwin32.sourceforge.net/packages/coreutils.htm
http://gnuwin32.sourceforge.net/packages/make.htm
http://gnuwin32.sourceforge.net/packages/gettext.htm
আমার কাছে এমন একটি মেকফাইল রয়েছে যা দেখতে দেখতে:
.PHONY: po mo
po:
xgettext -Lpython --output=po/messages.pot vocelab/app.py vocelab/app.kv
msgmerge --update --no-fuzzy-matching --backup=off po/en.po po/messages.pot
msgmerge --update --no-fuzzy-matching --backup=off po/hu.po po/messages.pot
mo:
mkdir -p "data/locales/en/LC_MESSAGES"
mkdir -p "data/locales/hu/LC_MESSAGES"
msgfmt -c -o data/locales/en/LC_MESSAGES/langapp.mo po/en.po
msgfmt -c -o data/locales/hu/LC_MESSAGES/langapp.mo po/hu.po
সমস্যাটি হ'ল mkdir কমান্ডটি হ'ল বিল্ট-ইন cmd.exe। যদিও আমার পথে "সি: \ প্রোগ্রাম ফাইল (x86) \ GnuWin32 \ বিন" রয়েছে তবে বিল্ট-ইন কমান্ডটি প্রাধান্য পাবে। সুতরাং যখন আমি "মেক মো" টাইপ করি তখন আমি এই ত্রুটিটি পাই:
A subdirectory or file data/locales/en/LC_MESSAGES already exists.
আমি মেকডিলে "c: ir প্রোগ্রাম ফাইল (x86) \ GnuWin32 \ bin \ mkdir.exe" দিয়ে mkdir প্রতিস্থাপন করতে পারি, তবে এটি সঠিক বলে মনে হচ্ছে না। একটি ভিন্ন সিস্টেমে কারওর কাছে gnuwin32 এর জন্য আলাদা অবস্থান থাকতে পারে।
অন্য কথায়: mkdir.exe আছে, তবে এটি cmd.exe এর বিল্ট-অন কমান্ডের সাথে সাংঘর্ষিক। অন্য বিকল্পটি উইন্ডোজে একটি আলাদা শেল ব্যবহার করা হবে। তবে উইন্ডোজের জন্য লিনাক্স সাবসিস্টেম ইনস্টল করার জন্য, বা সাইগউইন ইনস্টল করার জন্য গিগা বাইট ডিস্কের প্রয়োজন হবে। বিপরীতে, এই প্রকল্পের জন্য প্রয়োজনীয় gnu win32 ডিরেক্টরিটি কেবলমাত্র 40MB।
আমি একটি সমাধান পেয়েছি যা আসলে কাজ করে তবে এটি কুৎসিত এবং বহনযোগ্য নয়:
GNUWIN32=c:/Program Files (x86)/GnuWin32\bin
.PHONY: po mo
po:
"$(GNUWIN32)/xgettext" -Lpython --output=po/messages.pot vocelab/app.py vocelab/app.kv
"$(GNUWIN32)/msgmerge" --update --no-fuzzy-matching --backup=off po/en.po po/messages.pot
"$(GNUWIN32)/msgmerge" --update --no-fuzzy-matching --backup=off po/hu.po po/messages.pot
mo:
"$(GNUWIN32)/mkdir" -p "data/locales/en/LC_MESSAGES"
"$(GNUWIN32)/mkdir" -p "data/locales/hu/LC_MESSAGES"
"$(GNUWIN32)/msgfmt" -c -o data/locales/en/LC_MESSAGES/langapp.mo po/en.po
"$(GNUWIN32)/msgfmt" -c -o data/locales/hu/LC_MESSAGES/langapp.mo po/hu.po