หาอยู่นานมากๆ ว่าทำยังไงถึงจะใช้ locale ไทยแต่เมนูอังกฤษได้ใน Ubuntu Edgy
สุดท้ายหลังจากการทดลองก็พบว่าต้องตั้ง

LANG=th_TH.UTF-8
LANGUAGE=en_US.UTF-8:en

ในไฟล์ /etc/environment กับ /etc/default/locale

LANG นี่จะเป็น default สำหรับ LC_XXX ทั้งหมดที่ไม่ได้ตั้งค่า
ส่วน LANGUAGE นี่ไม่รู้นิยามเอาไว้เพื่อทำอะไร แต่เท่าที่ลอง UI ใน GNOME จะเลือกภาษาตามตัวนี้

ส่วน LC_MESSAGES นี่จริงๆ น่าจะเอาไว้เลือกภาษา UI แต่ว่าตั้งแล้วใน GNOME ไม่เปลี่ยนให้ (คับคล้ายคับคลาว่าใน Hoary ตั้งตัวนี้แล้วมันเปลี่ยนนา)

สรุปว่าก็ยังไม่เข้าใจอยู่ดีว่าแต่ละตัวมันเอาไว้ทำอะไรแน่ :(

นอกจากตั้ง LANGUAGE แล้ว ก็ต้องตั้ง LC_TIME=en_US ด้วย ไม่งั้นจะแสดงวันที่และเวลาเป็นภาษาไทย ตัวนี้ต้องตั้งใน /etc/environment เท่านั้น ใน /etc/default/locale ตั้งไปก็ไม่มีผล (สองไฟล์นี้ก็งงๆ เหมือนกัน)

ปล. ที่จริงโปรแกรมส่วนมากใช้ภาษาไทยบน locale en_US ได้แทบไม่มีปัญหาเลย เพราะเป็น Unicode กันเกือบหมดแล้ว เท่าที่เจอมีแค่ Office XP บน CrossOver/Wine กับ ICQ offline message ใน GAIM ที่มีปัญหา

ปล. ขอบคุณอานนท์ที่ช่วยลองหลายๆ แบบให้