modal dialog เป็นกล่องโต้ตอบที่จะไม่ยอมให้โต้ตอบกับหน้าต่างหลัก
จนกว่าจะปิดกล่องโต้ตอบก่อน
transient dialog เป็นกล่องโต้ตอบที่สามารถเปิดทิ้งไว้ได้ ระหว่างทำงาน
กับหน้าต่างหลัก
ทั้งสองคำนี้ยังไม่มีคำแปลใน ossglossary
ขอบคุณครับ,
เทพ.
--
Theppitak Karoonboonyanan
http://linux.thai.net/~thep/
--
_/|\_ Samphan Raruenrom. Open Source Development Co., Ltd.
Tel: +66 38 311816, Fax: +66 38 773128, http://www.osdev.co.th/
> modal dialog box = กล่องโต้ตอบแบบหยุดรอ (ยาวจัง -_-')
> transient dialog box หรือ modeless dialog box = กล่องโต้ตอบแบบไม่หยุดรอ
เข้าทีครับ
หรือจะเป็น?
- modal dialog = กล่องโต้ตอบหยุดรอ
- transient/modeless dialog = กล่องโต้ตอบค้างจอ
คำว่า "modal" ในที่นี้มาจากคำว่า "mode" นะครับ คือแทน dialog
แบบเปลี่ยนโหมดของโปรแกรม ทำให้หน้าต่างหลักเข้าสู่สถานะแช่แข็ง
จนกว่า dialog จะปิด
ส่วน transient เป็นศัพท์ของทางยูนิกซ์ ซึ่งจะตรงกับ "modeless" ของ
วินโดวส์ คือทางวินโดวส์มองว่าเป็นหน้าต่างที่ไม่ได้เปลี่ยนโหมดของ
โปรแกรมหลัก ในขณะที่ทางยูนิกซ์มองในแง่อายุขัยของ dialog ว่า
ต่างจากหน้าต่างหลักแค่เกิดทีหลัง ตายก่อนเท่านั้น นอกนั้นก็มีฐานะ
เป็นหน้าต่างเต็มที่เหมือนกันทุกประการ เลยใช้คำว่า transient
เพื่อสื่อความหมายนี้
transient กล่องไม่รอตอบ (ไม่อยากใช้คำว่า ไม่ เท่าไหร่ แต่นึกไม่ออก)
ทั้งสองคำเป็น adj. น่ะครับ คงไม่แปลว่า "กล่อง..." แต่คงเอาแค่คำว่า
"รอตอบ" สำหรับ modal
ส่วน transient.. นึกถึงอีกแนวคิดหนึ่งใน OpenLook ของ Sun
คือ pinned dialog โดยแทนที่จะใช้วิธีเปิด/ปิดตามปกติ OpenLook ก็ใช้
เข็มหมุดปักติดกับพื้นโต๊ะไว้
ถ้าคิดอย่างนี้ อาจจะยืมมาใช้เป็น "ปักหมุด" แต่คงยืมตรง ๆ ไม่ได้
เกิดเราได้ไปแปล OpenLook clone มั่ง คงตีกัน เพียงแต่เสนอเป็น
แนวทางหนึ่ง
เกี่ยวกับ transient ถ้าเข้าใจไม่ผิด ที่ยูนิกซ์ใช้คำนี้ ก็เพราะใน X Window
สมัยแรก ๆ ไม่มีแนวคิดของ modal เลย หน้าต่างทุกหน้าต่างเป็นอิสระจาก
กัน เปิดมาแล้วไม่กด OK ก็ไม่ปิด หน้าต่างหลักก็ยังทำงานต่อได้อีกต่างหาก
จำได้ว่าสมัยนั้น ใช้ X Window ไปแล้ว จะมี dialog ค้างอยู่ข้างหลังเต็มไป
หมด เพราะเหตุนี้ ก็เลยมีแต่หน้าต่างหลัก กับหน้าต่างชั่วคราว (transient)
ไม่มีแนวคิดเรื่อง modal/modeless
จนกระทั่งได้รับอิทธิพลจากวินโดวส์ จึงได้รับแนวคิด modal เข้ามา แต่ก็ยัง
ไม่ได้รับคำว่า modeless มาด้วย เพราะมีคำว่า transient ใช้อยู่ก่อนแล้ว
นั่นคือตามที่ผมเข้าใจเอาจากประสบการณ์การใช้นะครับ ซึ่งอาจจะผิดก็ได้
แต่ถ้าเป็นตามนี้ เราจะพยายามแปลคำว่า transient หรือ modeless ดี?
ถ้าพยายามแปลคำว่า "modeless" ก็อาจจะออกมาแบบที่อาทว่า คือ
"ไม่รอตอบ" หรือถ้าพยายามแปล "transient" ก็คงเป็นทำนอง "ชั่วคราว"
หรือไม่งั้น ก็แปลตามพฤติกรรมไปเลย ประเภท "ค้างจอ", "สถิต"
พูดกว้างอย่างนี้ ตอบไม่ถูกเหมือนกันครับ.. เพราะพิจารณากันไปหลายคำ
แต่ละคำก็มีประเด็นที่ต้องคำนึงถึงแตกต่างกันไป
แต่ถ้าจะให้ตอบกว้าง ๆ ผมก็คิดว่าเราได้คำนึงถึงทั้งสองด้านอยู่แล้วนะครับ
คำที่ตรงความหมายแต่ฟังไม่เข้าท่าก็ถูกแย้งตกไปเหมือนกัน แต่คำที่ฟังดู
เหมือนใช่ แต่เอาไปใช้กับโปรแกรมอื่นไม่ได้ ก็ต้องพยายามตกลงกัน เพื่อจะ
ให้ได้คำแปลที่สอดคล้องกัน ผู้ใช้จะได้ไม่ต้องงง ว่าคำนี้ในโปรแกรมนี้ กับ
คำนั้นในโปรแกรมนั้น หมายถึงสิ่งเดียวกันหรือเปล่า แล้วการที่จะเลือกคำ
ที่จะเหมาะสมจริง ๆ ก็ไม่ใช่ว่าต้องตรวจสอบความหมายในแง่ต่าง ๆ ให้
รอบด้านหรอกหรือครับ?
> ผมเข้าใจครับว่าการที่เรา
> แปลความให้ใกล้เคียงกับ
> ความหมายตามภาษาอังกฤษ
> จะช่วยให้การอ้างอิง
> ระหว่างภาษาง่ายดายขึ้น
ประเด็นคงไม่ได้อยู่ที่การอ้างอิงระหว่างภาษา แต่มันคือการอ้างอิง
"แนวคิด" ต่าง ๆ ที่ใช้ในโปรแกรมน่ะครับ ศัพท์แต่ละคำจะมีแนวคิด
บางอย่างของมันอยู่ ถ้าเราพยายามใช้คำเดียวกันอย่างสม่ำเสมอเวลาที่
อ้างถึงแนวคิดเหล่านั้น ก็จะทำให้ผู้ใช้เชื่อมโยงสิ่งต่าง ๆ ได้ง่าย เรียนรู้
โปรแกรมใหม่ได้ง่าย โดยไม่ต้องเดาใจผู้แปลที่แปลต่างโปรแกรม ว่าสื่อ
ถึงสิ่งเดียวกับผู้แปลอีกโปรแกรมหนึ่งหรือเปล่า
มองในภาพรวมอย่างนี้ เวลาที่อภิปรายเรื่องศัพท์เทคนิคต่าง ๆ เราจึงต้อง
สำรวจความหมายให้รอบด้าน ซึ่งอาจจะดูเหมือนพยายามแปลภาษา
อังกฤษให้ตรงความหมาย แต่มันคือการพยายามหาคำภาษาไทยให้กับ
"แนวคิด" ของคำศัพท์นั้น ๆ ผ่านการรวบรวมแง่มุมและบริบทต่าง ๆ
รอบ ๆ คำนั้น ๆ นะครับ
ถ้าเห็นใครวิเคราะห์รากศัพท์ของคำภาษาอังกฤษ ก็อย่าได้เข้าใจไปว่า
เขาพยายามจะแปลแบบถอดรากศัพท์เป๊ะ ๆ เสมอไป ผมมองว่ามันคือ
หนึ่งในวิธีการต่าง ๆ ที่จะสำรวจ "แนวคิด" โดยเป็นการย้อนรอยวิธีคิด
ของคนที่บัญญัติศัพท์ภาษาอังกฤษนั้นขึ้นมา
> แต่ผมคิดว่านั่นไม่ใช่
> หลักการ
> ของ localisation ที่แท้จริง ที่น่า
> จะเกิดมาเพื่อ "ให้เราไม่
> ต้องใช้ interface
> ที่ไม่ใช่ภาษาแม่ของเรา"
> นั่นหมายความว่าผู้ที่
> ต้องพึ่ง localisation "ไม่จำเป็น
> จะต้องกลับมาใช้ interface ใน
> ภาษาอื่นๆ อย่างแน่นอน"
> (กรุณาอย่านึกคำตอบโดยให้
> geek experiences เข้ามาเป็น
> บรรทัดฐาน
> ในการตอบนะครับ)
เหตุผลผมคงไม่ geek เกินไปนะครับ ประเด็นคือ ผมเองก็รู้สึกว่าคิดแบบ
เดียวกันอยู่แล้วน่ะครับ
> ส่วนหนึ่งที่ผมเสนอข้อควร
> คำนึงถึงเหล่านี้ เป็น
> เพราะผมแค่หวังว่า
> Firefox เวอร์ชั่นถัดไป ที่ Loc.
> ลงตัวแล้ว น่าจะมี
> ประโยชน์สำหรับแม่ของผม
> "มากขึ้นกว่าเดิม" บ้าง
> เท่านั้นเองครับ เพราะทุก
> วันนี้แม้จะเปิดเวอร์ชั่น
> ภาษาไทย
> ให้แม่ผมใช้ ผมก็ยังต้อง
> มาแปลความหมายคำภาษาไทย
> เหล่านั้นให้แม่ผม
> อยู่ดีครับ
"คำเหล่านั้น" ถ้ายกตัวอย่างเข้ามา เชื่อว่าทีมแปล firefox รวมทั้งทีมอื่น ๆ
ในที่นี้ คงรับพิจารณาครับ
กรณีนี้ คงไม่ใช่เรื่องที่จะต้องจริงจังขนาดนั้นครับ ต้องเข้าใจว่า ใน
กระบวนการสร้างไอเดียใหม่ ๆ นั้น บางครั้งก็มาจากการสุ่มแบบนอกกรอบ
มีหลายครั้งในอดีตที่เราได้ไอเดียใหม่ ๆ มาจากการโยนความคิดนอกกรอบ
สุ่ม ๆ เข้ามา ขอให้มันไม่หลุดโลกเกินไป ผมก็มองไอเดียแนวนี้ว่าเป็น
ประโยชน์นะครับ จะใช้หรือไม่ใช้ก็อยู่ที่การพิจารณาร่วมกันครับ
บางครั้งไอเดียที่โยนเข้ามานั้นเองน่ะ ไม่ได้ใช้หรอก แต่มันช่วยขยาย
ขอบเขตความคิดออกไปหาสิ่งที่ใกล้เคียงได้
พอเข้าใจครับ แต่ระหว่างการพูดกับการเขียนก็มีส่วนต่างกันบ้าง
เวลาพูด เราเน้นกระชับ ไม่เข้าใจอะไรถามเพิ่มได้ แต่เวลาเขียน เราต้อง
เลือกใช้คำที่สื่อความให้มากที่สุด บางทีเราอภิปรายแบบไม่ลงตัวสักที
ก็มุ่งให้ได้คำที่สื่อได้ครบถ้วนเท่าที่จะเป็นไปได้โดยไม่เยิ่นเย้อเกินไป
และโดยเฉพาะสำหรับคำ maximize, minimize นี้ เนื่องจากเราเริ่มแปล
help แล้ว จึงทำให้เราได้พบแง่มุมใหม่ของการบัญญัติคำแปล คือเราต้อง
ใช้ในข้อความในเอกสารด้วย ซึ่งในเอกสารไม่ได้มีปุ่มให้ผู้ใช้ลองกด
จริงอยู่ว่าในเอกสารเราสามารถใช้คำรอบข้างอธิบายได้มากขึ้น แต่สำหรับ
ศัพท์เทคนิคที่ต้องอ้างถึงบ่อย ๆ บางครั้งก็อาศัยบริบทไปได้ไม่ตลอดครับ
การบัญญัติคำลงไปเลยจะทำให้ประโยคลื่นขึ้น รวมทั้งการอ้างอิงกับ
glossary ก็ทำได้สะดวกขึ้น
> อย่างไรก็ตามนี่เป็นแค่
> ตัวอย่างเก่าๆ ซึ่งผมคิด
> ว่าได้สรุปกันไปแล้วครับ
> (ซึ่งผมคิดว่าไม่ใช่
> เรื่องใหญ่อะไรครับ) และผม
> ก็คิดว่าได้นำเสนอมุมมอง
> อย่างที่ผมคิดว่าน่าจะ
> เป็นอีกความเห็นที่ทำให้
> การแปลสมบูรณ์ยิ่งขึ้นไป
> แล้ว ก็จะร่วมอ่านและร่วม
> เสนอความคิดเห็นต่อไปนะ
> ครับ
ขอบคุณมากครับ สำหรับข้อเสนอแนะ ซึ่งเป็นโอกาสให้ได้ทำความเข้าใจ
ซึ่งกันและกัน
เพราะคำแปลนั้นจะถูกใช้ในหลายที่มากเกินกว่าที่คนที่กำลังแปลอยู่จะจินตนาการได้
ถ้าแปลให้ได้ถูกใจในหนึ่งที่ พอไปอยู่ในที่อื่น เช่นโปรแกรมอื่น
อาจจะทำให้ผู้ใช้เข้าใจคนละเรื่องได้ง่ายมาก
ดูเหมือนวิธีที่ชุมชนนักแปลที่นี่ใช้กันจนเป็นประเพณีคือ conservative หรือ
play safe เอาให้ถูกต้องไว้ก่อน จะทำให้เข้าใจผิดได้ยาก
แต่เข้าใจง่ายที่สุดหรือเปล่านั่นอาจจะต้องยอมบ้าง
แน่นอนคำแปลที่ดีที่สุดคือเข้าใจง่าย ไม่ต้องคิด สื่อด้วยน้ำหนักที่เหมาะสมพอดี
และวางอยู่ในหลายๆ ที่ได้สะดวกปาก
แต่น้อยครั้งที่จะสามารถหาคำแบบนั้นได้ มีชุมชนช่วยกันคิดก็ดีขึ้นครับ
--
ยังไม่ถูกเสียทีเดียวครับ ตามแนวคิดของไมโครซอฟท์แล้ว modeless
dialog ไม่ได้ใช้แจ้งข้อความอะไรทั้งสิ้นครับ แต่จะเป็น dialog ที่ค้างไว้
บนจอ เพื่อใช้ทำงานประกอบกับหน้าต่างหลัก
ตัวอย่างที่พบบ่อยคือพวก palette หรือ toolbox ทั้งหลายน่ะครับ
บางโปรแกรมเช่น GIMP, dia จะเปิดหลายหน้าต่าง มี toolbox, layer
อะไรพวกนี้ เป็นตัวอย่างที่คุ้นเคยที่สุดของ modeless dialog หรือ
transient dialog ในขณะที่บางโปรแกรมเริ่มจับพวก dialog เหล่านี้
กลับเข้าในหน้าต่างหลัก แล้วทำเป็นช่องไว้ในหน้าต่าง (เช่น inkscape,
glade-3, visio ฯลฯ) หรือกระทั่งทำให้ดึงเข้าดึงออกได้ (คือใช้วิธี dock,
tear-off)
เมื่อมีแนวคิด modal dialog เข้ามาแล้ว หน้าต่างแจ้งข้อความทั้งหลายบน
ยูนิกซ์ก็เปลี่ยนมาใช้ modal dialog กันหมดแล้วครับ (อย่างน้อยก็ GNOME)
จะเหลือการใช้ transient dialog ก็แต่ในแบบ modeless dialog ในภาษาของ
ไมโครซอฟท์เท่านั้น
> Modal ช่วยเตือน
> Modaless, Transient ช่วยแจ้ง
> หรืออะไรทำนองนี้ ผมเห็นด้วยหมดครับ
ว่ากันตามหน้าที่ modeless (ไม่ใช่ modaless) หรือ transient dialog
ไม่ได้ใช้ช่วยแจ้งอะไรในปัจจุบันครับ
เพิ่มเติมครับ modal ก็ไม่ได้ช่วยเตือนหรือแจ้งข้อความเสมอไปครับ
สามารถถามคำถาม เช่น ถาม username/password เพื่อ login ก็ได้
หรือแม้แต่ทำอะไรซับซ้อนอย่างเลือกตัวเลือกต่าง ๆ ก่อนทำคำสั่งก็ได้
(เช่น ตอนสั่งพิมพ์อาจให้ตั้งขนาดกระดาษ, จำนวนสำเนา,
portrait/landscape ฯลฯ ได้)
> กรณีแรก
> Dialog Box มี 2 โหมด
> 1 Modal Dialog Mode นี้ เป็นกล่องที่ทำหน้าที่เกี่ยวกับ แจ้งเตือน
> อะไรแบบนี้หรือเปล่าคับ
> 2 Modeless Dialog Mode นี้เป็นกล่องที่ทำหน้าที่อื่น
> ที่ไม่ใช่กล่องสนทนาแจ้งเตือน เหมือนอันบน ใช่หรือเปล่าคับ
> ก็เลยกลายเป็น Modeless Dialog Mode --> Transient เหมือนกับว่า เอา
> Modal Dialog มาดัดแปลงทำเป็นอย่างอื่น
ไม่ใช่นะครับ การแจ้งเตือน เป็นแค่หน้าที่อย่างหนึ่งของ Modal dialog
เท่านั้น dialog ใด ๆ ที่แช่แข็งหน้าต่างหลัก เช่น print, save ล้วนแต่เป็น
modal dialog ทั้งนั้นครับ
> กรณีสอง
> Dialog Box มี 2 ชนิด คือ
> 1 Modal กล่องร้องขอ กล่องปฏิสัมพันธ์ เนื่องจากว่า
> เรียกร้องให้ผู้ใช้หันมาสนใจมัน หรือ ให้ข้อมูล หรือ ปฎิสัมพันธ์
> กับมันด้วยก่อน
> 2 Transient กล่องเอนกประสงค์ กล่องเอนกประสงค์ชั่วคราว
ความหมายนี้ใกล้เคียงครับ ติดแต่ว่า transient dialog ใด ๆ จะมีจุดประสงค์
เพียงอย่างใดอย่างหนึ่ง การใช้คำว่า "อเนกประสงค์" จึงกว้างเกินไปครับ