คำถามติดแท็ก glade

2
PyGTK ยังเกี่ยวข้องหรือไม่
ฉันใหม่สำหรับ Linux แต่ไม่ใช่เพื่อการพัฒนาแอป ฉันมาจาก RealBasic บนพื้นหลัง Mac ฉันยอมรับว่าฉันต้องเรียนรู้ภาษาใหม่เพื่อพัฒนาสำหรับ Linux (เนื่องจาก RB จะไม่ทำงานบน distros 64 บิตและเป็นภาษาที่มีการปิดบัง) แต่ฉันต้องการให้แน่ใจว่าฉันเลือกภาษาที่เหมาะสม ฉันได้ดู Python และพร้อมที่จะไปจนกว่าฉันจะอ่านว่า PyGTK ล้าสมัยไปแล้วกับการเปิดตัว GTK 3 จริงหรือไม่? เว็บไซต์นักพัฒนา Ubuntu ยังคงแนะนำให้ใช้กับ Glade สำหรับ UI แต่ฉันต้องการให้แน่ใจว่าฉันไม่ได้เรียนรู้บางสิ่งที่กำลังจะมาถึง!

1
วิธีทำให้ Glade โหลดการแปลจาก / opt
ฉันได้สร้างโปรแกรมประยุกต์ที่ฉันต้องการที่จะส่งผ่านUbuntu แอปนักพัฒนากระบวนการ หนึ่งในข้อกำหนดสำหรับกระบวนการคือเมื่อติดตั้งแล้วไฟล์ทั้งหมดจะเข้าสู่/opt/extras.ubuntu.com/<appname>ไดเรกทอรี ผ่านการเปลี่ยนแปลงของบรรจุภัณฑ์และด้วยความช่วยเหลือจากผู้อื่นฉันได้รับสิ่งนั้น แต่ตอนนี้ฉันกำลังประสบปัญหาใหม่: เมื่อเรียกใช้จาก/optการแปลจากแอพของฉันไม่ได้ถูกโหลด สิ่งที่เกิดขึ้นมีดังต่อไปนี้: เว้นแต่จะระบุไว้เป็นอย่างอื่นไฟล์ไบนารี (ไฟล์ MO) ที่มีการแปลสำหรับแอปพลิเคชันจะโหลดจาก/usr/share/locale(หรือในกรณีของ Ubuntu จาก/usr/share/locale-langpack) แต่ในแอปของฉันเนื่องจาก/optความต้องการ/opt/extras.ubuntu.com/qreator/locale. เป็นไปตามทฤษฎีที่ดีเนื่องจากgettextอนุญาตให้ระบุตำแหน่งอื่นเพื่อโหลดการแปลดังนั้นฉันจึงเพิ่มการbindtextdomainโทรเพื่อให้บรรลุ: import gettext from gettext import gettext as _ gettext.bindtextdomain('qreator', '/opt/extras.ubuntu.com/qreator/share/locale/') gettext.textdomain('qreator') ใช้งานได้ดีจนถึงจุดหนึ่ง: ข้อความทั้งหมดที่ส่งออกในบรรทัดคำสั่งจะปรากฏขึ้นตามที่คาดไว้ แต่มันไม่ได้แก้ปัญหาหลัก : การโหลดการแปลจาก UI Glade ต้องระบุโดเมนการแปลอีกครั้ง (เทียบเท่ากับการgettext.textdomain('qreator')โทรด้านบน) แต่มันไม่อนุญาตให้ระบุการโหลดการแปลจาก (เช่น Glade เทียบเท่ากับbindtextdomainซึ่งเศร้าไม่มีอยู่) นี่เป็นส่วนหนึ่งของรหัสที่ฉันใช้: builder = Gtk.Builder() builder.set_translation_domain('qreator') # There isn't a way to …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.