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

Internationalization (i18n) เป็นกระบวนการออกแบบแอปพลิเคชันซอฟต์แวร์เพื่อให้สามารถปรับให้เข้ากับภาษาและภูมิภาคต่างๆโดยไม่มีการเปลี่ยนแปลงทางวิศวกรรม

12
กลยุทธ์ที่มีประสิทธิภาพสำหรับการรองรับหลายภาษาใน. NET [ปิด]
ฉันกำลังพัฒนา UI สำหรับแอปพลิเคชัน. NET MVC ที่จะต้องมีการแปลเนื้อหาทั้งหมดในระดับสากลในอนาคตอันใกล้ ฉันคุ้นเคยกับ. NET โดยทั่วไป แต่ไม่เคยมีโครงการที่ต้องการความสำคัญในการเข้าถึงระหว่างประเทศ การฉายภาพนั้นเริ่มต้นขึ้นในภาษาอังกฤษ ฉันควรใช้มาตรการใดในจุดนี้เพื่อทำให้การปรับใช้การแปลเป็นภาษาท้องถิ่นง่ายขึ้นในอนาคต

6
วิธี จำกัด หมายเลขให้ถูกต้องหรือไม่
คำเตือนใดที่ฉันควรทราบขณะแปลหมายเลขในแอปพลิเคชันส่วนหน้าของฉัน ตัวอย่าง: ในบราซิลโปรตุเกส (pt-BR) เราแบ่งหลายพันด้วยจุดและทศนิยมด้วยเครื่องหมายจุลภาค ในภาษาอังกฤษแบบอเมริกัน (en-US) นั้นตรงกันข้าม ใน pt-BR เราแสดงตัวเลขที่คั่นด้วยหลักพันเหมือนกับ en-US แต่การอ่านเกี่ยวกับภาษาอังกฤษของอินเดีย (en-IN) วันนี้ฉันเจออัญมณีนี้: ระบบหมายเลขอินเดียเหมาะสำหรับการจัดกลุ่มหลัก เมื่อเขียนด้วยคำพูดหรือเมื่อพูดตัวเลขที่น้อยกว่า 100,000 / 100,000 จะแสดงเช่นเดียวกับในภาษาอังกฤษมาตรฐาน ตัวเลขรวมถึงและเกิน 100,000 / 100,000 แสดงเป็นส่วนย่อยของระบบเลขอินเดีย https://en.wikipedia.org/wiki/Indian_English#Numbering_system ซึ่งหมายความว่า: 1000000 units in pt-BR are formatted 1.000.000 1000000 units in en-US are formatted 1,000,000 1000000 units in en-IN are formatted 10,00,000 นอกเหนือจากเครื่องหมายจุลภาคและจุดและตัวคั่นเฉพาะอื่น …

12
การแปลหมายเลขไม่จำเป็นเพียงหรือไม่
ฉันเพิ่งอ่านหน้านี้http://weblogs.asp.net/scottgu/archive/2010/06/10/jquery-globalization-plugin-from-microsoft.aspx หนึ่งในสิ่งที่พวกเขาทำคือการแปลงวันที่ภาษาอาหรับเป็นปฏิทินภาษาอาหรับ ฉันสงสัยว่ามันเป็นความคิดที่ดีที่จะทำเช่นนั้น จริง ๆ แล้วมันจะน่ารำคาญ / สับสนสำหรับผู้ใช้ (แม้ว่าผู้ใช้เป็นภาษาอาหรับ) นอกจากนี้คำถามที่สองของฉันคือเราต้องเปลี่ยน 33,899.99 เป็น 33.899,99 สำหรับวัฒนธรรมบางอย่างเช่นเยอรมันหรือไม่ ฉันหมายความว่ามันไม่เป็นไรที่จะทำเช่นนั้นเพราะห้องสมุดทำเพื่อเราแล้ว แต่สิ่งนี้จะไม่ทำให้ผู้ใช้สับสนมากขึ้น (แม้ว่าเขาจะเป็นคนเยอรมัน ฯลฯ ) ฉันแน่ใจว่าวัฒนธรรมเหล่านี้มาจากไหนถ้าฉันให้เลข 33,899.99 กับคุณไม่มีทางที่คุณจะเข้าใจผิด (นอกเสียจากเว็บไซต์ / แอปพลิเคชันของฉันเป็นเว็บไซต์ / แอปพลิเคชั่นแรกที่คุณเคยใช้มาตลอดชีวิตซึ่งเป็นไปได้ แต่ความน่าจะเป็นนั้นอยู่ในระดับต่ำ) ฉันหมายถึง "สากล" เป็นรูปแบบที่ทุกคนจะเห็นและรู้ว่ามันหมายถึงอะไร ไม่จำเป็นต้องเป็นมาตรฐานที่เขียนด้วยขาวดำและที่คล้ายกัน ตราบใดที่ทุกคนสามารถอ่านและรู้ได้ทันทีโดยไม่สับสนว่าข้อความนี้สื่อถึงอะไร เพื่อให้แน่ใจว่า 1.234,00 นั้นไม่แน่นอน ฉันหมายถึงฉันแน่ใจว่าคุณสามารถหาคนที่ตลอดชีวิตของพวกเขาได้ใช้คอมพิวเตอร์ แต่ยังไม่เคยเจอรูปแบบตัวเลขนี้เลย เนื่องจากเว็บไซต์ / แอพส่วนใหญ่ใช้งาน 1,234.00 โดยไม่มีการเปลี่ยนแปลงเพื่อรองรับการโลคัลไลเซชั่นฉันเชื่อว่ามันเป็นจริง (รูปแบบสากลที่ทุกคนจะเห็นและรู้ว่ามันหมายถึงอะไร) สำหรับวันที่ถ้าเราเขียนวันที่ 01/02/46 ผมมั่นใจว่าไม่มีใครรู้ (ตรงไปตรงมาทันทีไม่มีความคลุมเครือ) ว่าเป็นวันอะไร แต่ไม่มีใครสามารถรับ …

6
ควรมีอักขระพิเศษอะไรบ้างสำหรับหมายเลขโทรศัพท์
ดังนั้นฉันกำลังออกแบบเว็บเพจที่จะใช้สำหรับผู้ใช้ทั่วโลกรวมถึงผู้ใช้จากแคนาดาสหรัฐอเมริกาอินเดียสหราชอาณาจักร ฯลฯ ฉันต้องใช้การตรวจสอบความถูกต้องสำหรับฟิลด์หมายเลขโทรศัพท์นี้ แต่ฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการดำเนินการนี้ . รูปแบบที่ถูกต้องบางอย่างที่ฉันนึกได้คือ: 1800123456 (อินเดีย) การใช้ "-" ในหมายเลขโทรศัพท์สหรัฐ ฉันสับสนเล็กน้อยเกี่ยวกับอักขระพิเศษที่ฉันควรอนุญาตให้ผู้ใช้ป้อน (เช่น- / ()) คนอื่น ๆ แก้ไขปัญหานี้ได้อย่างไรในอดีต?

4
เหตุใดทรัพยากรสตริงจึงถูกเก็บภายนอกรหัสและไม่อยู่ในรหัส
โดยทั่วไปในหลาย ๆ แพลตฟอร์มฉันกำลังเขียนแหล่งข้อมูลสตริงของฉันไปยังไฟล์. resx หรือ. xml นั่นคือบน iOS ฉันกำลังทำให้พวกเขาผ่านNSBundle.MainBundleและโดยใช้Context.Resourcesบน Android อะไรคือข้อดีของวิธีการนี้และทำไมไม่ให้เข้าถึงโดยตรงในรหัสดังนั้นตัวอย่างเช่น: ในโครงการข้ามแพลตฟอร์มแพลตฟอร์มใด ๆ สามารถเข้าถึงได้โดยตรงโดยไม่มีการรวมเข้าด้วยกัน ไม่มีความกังวลในระหว่างการสร้างว่าทรัพยากรที่สร้างขึ้นนั้นดีหรือไม่ coder สามารถใช้ฟังก์ชันต่างๆเช่นการจัดการหลายภาษา เรื่องสั้นสั้น: อะไรคือสาเหตุที่ทำให้โครงสร้างของทรัพยากรสตริงเป็นแบบนั้น? [แก้ไข] สมมติว่าไฟล์ของฉันเป็นส่วนหนึ่งของโครงการ "แกน" ที่แชร์ระหว่างโครงการอื่น (คิดเกี่ยวกับ PCL โครงสร้างไฟล์โครงการข้ามแพลตฟอร์ม) และสมมติว่าไฟล์ของฉันคล้ายกับไฟล์. resx / .xml ทั้งหมดโดยมีลักษณะเช่นนี้ (ฉันไม่ใช่มืออาชีพในรูปแบบ xml ขอโทษด้วย!): พารามิเตอร์พารามิเตอร์ ดังนั้นนี่คือ XML แบบกำหนดเองโดยที่คุณชี้ไปที่คีย์ / ภาษาเพื่อรับสตริงที่เหมาะสม ไฟล์ดังกล่าวจะเป็นส่วนหนึ่งของแอปพลิเคชันเช่นเดียวกับที่คุณเพิ่มไฟล์ใด ๆ ที่สามารถเข้าถึงได้ภายในแอพและระบบเพื่อเข้าถึงทรัพยากรสตริงโดยใช้ PCL นี่จะเป็นการเพิ่มโอเวอร์เฮดให้กับแอปพลิเคชันหรือไม่

5
วิธีการจัดระเบียบทรัพยากรสตริงการแปล
เรากำลังพัฒนาแอปพลิเคชั่นขนาดใหญ่ประกอบด้วยแพ็คเกจขนาดเล็กจำนวนมาก แต่ละแพ็คเกจมีชุดของไฟล์ทรัพยากรสำหรับการแปล วิธีที่ดีที่สุดในการจัดระเบียบและตั้งชื่อสตริงการแปลคืออะไร นี่คือความคิดของฉัน: การจัดการรายการที่ซ้ำกัน ข้อความเดียวกัน (พูดว่า "รหัสไปรษณีย์") อาจเกิดขึ้นหลายครั้งภายในแพ็คเกจที่กำหนด Programming สัญชาตญาณ (แห้ง) บอกฉันเพื่อสร้างทรัพยากรสายเดียวที่ใช้ร่วมกันโดยเกิดขึ้นทั้งหมด จากนั้นอีกครั้งนักแปลอาจต้องการเลือกการแปลที่ยาว ("Postleitzahl") ในบางแห่งและอีกอันที่สั้นกว่า ("PLZ") ในที่ที่มีพื้นที่น้อย หรือเราอาจตัดสินใจต่อท้ายเครื่องหมายจุดคู่กับเหตุการณ์บางอย่าง ("รหัสไปรษณีย์:") แต่ไม่ใช่สำหรับบางคน หรือเราอาจต้องการตัวพิมพ์ใหญ่ ("รหัสไปรษณีย์") ที่แตกต่างกันในบางสถานที่ ข้อโต้แย้งทั้งหมดเหล่านี้ชี้ไปที่การสร้างทรัพยากรต่อการใช้งานแม้ว่าเนื้อหาของพวกเขาเหมือนกัน การตั้งชื่อ ถ้าเรามุ่งมั่นที่จะกำจัดข้อมูลซ้ำมันทำให้รู้สึกไปยังแหล่งข้อมูลชื่อตามเนื้อหาอาจจะกระทบถึงชนิดของการใช้งานผ่านทางคำนำหน้า ดังนั้นเราอาจมีlabelOK= "ตกลง" , messageFileTooLarge= "ไฟล์เกินขนาดไฟล์สูงสุด" และlabelZipCode= "รหัสไปรษณีย์" การตั้งชื่อโดยเนื้อหานั้นมีข้อดีของการจัดการข้อโต้แย้งรูปแบบตามธรรมชาติ: ทรัพยากรmessageFileHas_0_MBWhileMaximumIs_1_MBใช้อาร์กิวเมนต์การจัดรูปแบบสองแบบอย่างชัดเจนขนาดไฟล์จริงและขนาดไฟล์สูงสุด อย่างไรก็ตามหากเราอนุญาตการซ้ำซ้อนการตั้งชื่อตามเนื้อหาเพียงอย่างเดียวไม่สมเหตุสมผล เพื่อให้ได้รับชื่อทรัพยากรที่ไม่ซ้ำกันเราจะต้องรวมถึงสถานที่การใช้งานในชื่อทรัพยากร ผลงานที่สำหรับการควบคุมกราฟิกแม้ว่าตัวระบุมีแนวโน้มที่จะได้รับบิตยาว: fileSelectionConfirmationButtonText= "OK" , customerDetailsTableColumnZipCode= "รหัสไปรษณีย์" อย่างไรก็ตามสำหรับไฟล์รหัสที่ไม่ใช่แบบเห็นภาพนั้นจะยากขึ้น คุณจะตั้งชื่อการใช้งานที่เฉพาะเจาะจงของสตริงได้อย่างไรหากคุณไม่รู้ว่ามันจะปรากฏที่ใดในที่สุด? โดยไฟล์รหัสและชื่อฟังก์ชั่น? ดูเหมือนจะค่อนข้างงุ่มง่ามและเปราะสำหรับฉัน โดยรวมแล้วฉันกำลังโน้มน้าวให้อนุญาตการทำซ้ำ แต่ฉันพยายามดิ้นรนเพื่อหารูปแบบการตั้งชื่อที่สอดคล้องซึ่งสนับสนุนสิ่งนี้ …

1
ข้อกำหนดขั้นต่ำสุดและขั้นต่ำสำหรับการบรรจุชุดอักขระ SE Asian สำหรับโครงการระบบฝังตัวคืออะไร
ฉันทำงานให้กับ บริษัท ที่เริ่มรวมระบบคอมพิวเตอร์ฝังตัวเข้ากับผลิตภัณฑ์ของเราที่เราผลิต เรามีผลิตภัณฑ์ที่หลากหลายและกระจายอยู่ทั่วโลก นอกจากนี้เราได้ออกแบบบอร์ดรวมสองสามตัวที่สามารถให้บริการได้หลายวัตถุประสงค์ขึ้นอยู่กับเฟิร์มแวร์ที่ได้รับการกระพริบไปยังระบบ วิธีนี้เราไม่ต้องออกแบบฮาร์ดแวร์คอมพิวเตอร์สำหรับผลิตภัณฑ์ต่าง ๆ ของเรา - สิ่งที่เราต้องทำคือเขียนเลเยอร์เฟิร์มแวร์อีกครั้งเพื่อตอบสนองความต้องการของผลิตภัณฑ์เฉพาะ เนื่องจากข้อ จำกัด ของฮาร์ดแวร์เหล่านี้การเปลี่ยนฮาร์ดแวร์ของเราทำให้การมีเพศสัมพันธ์ แต่การเขียนซอฟต์แวร์ใหม่นั้นง่ายกว่ามาก หนึ่งในผลิตภัณฑ์ของเรามีข้อกำหนดใหม่ที่เราไม่เคยใช้มาก่อนซึ่งเป็นความต้องการของข้อความที่ผู้ใช้ป้อน ขณะนี้เราสามารถจัดเก็บข้อความสากลในแหล่งข้อมูลและมีเพียงตัวอักษรที่จำเป็นเท่านั้นที่ถูกรวบรวมเป็นภาพบิตแมป ซึ่งหมายความว่าเราสามารถจัดเก็บภาษาที่มีอุดมการณ์สูงเช่นข้อความภาษาจีนและญี่ปุ่นในพื้นที่ที่น้อยที่สุดเพราะเราใช้ชุดภาษาทั้งหมดเพียงเล็กน้อยเท่านั้น เนื่องจากผลิตภัณฑ์ใหม่นี้ต้องการให้ผู้ใช้ป้อนข้อความเราจึงต้องใช้ชุดอักขระที่ครอบคลุม ในฐานะนักพัฒนาพีซีฉันคุ้นเคยกับ ASCII, Unicode, UTF-8 และอื่น ๆ อย่างไรก็ตามการใช้ชุดอักขระเต็มรูปแบบของภาษาเหล่านี้ไม่สามารถทำได้เพราะเรามี FRAM จำนวน จำกัด บนกระดาน เพื่อจัดเก็บข้อมูลตัวอักษร ผู้บริหารของฉันหวังว่าจะมีชุดอักขระน้อยที่สุดที่สามารถใช้สำหรับภาษาที่มีอุดมการณ์สูง ฉันเชื่อว่ามีสัทอักษรสำหรับภาษาญี่ปุ่น (ฮิรางานะ) มีตัวอักษรสัทอักษรที่คล้ายคลึงกันสำหรับภาษาจีนเกาหลีเวียดนามและอื่น ๆ เช่นกันและถ้าเป็นเช่นนั้นผู้พูดภาษาเหล่านี้สามารถสื่อสารกับชุดอักขระที่แคบได้หรือไม่ ฉันค่อนข้างมั่นใจว่าคำตอบสำหรับคำถามนั้นคือ "ไม่แน่นอน" แต่เป็นคำถามที่น่าถาม ฝ่ายบริหารได้กำหนดข้อกำหนด "อ่อน" ที่เราสามารถมีชุดอักขระที่ จำกัด เพียงประมาณ 8,000 ตัวครอบคลุมภาษาที่สำคัญทั้งหมดในการใช้งานทั่วไป หากสิ่งนี้เป็นไปไม่ได้เราต้องหาวิธีการทางเลือกบางรูปแบบเพื่อตอบสนองความต้องการของเราโดยใช้ทรัพยากรฮาร์ดแวร์ที่มีอยู่อย่าง จำกัด ของเรา ฉันแน่ใจว่าปัญหานี้จะต้องได้รับการแก้ไขก่อน …

8
คุณพัฒนาโดยคำนึงถึงการแปลเป็นภาษาท้องถิ่นหรือไม่?
เมื่อทำงานในโครงการซอฟต์แวร์หรือเว็บไซต์คุณพัฒนาโดยคำนึงถึงการแปลเป็นภาษาท้องถิ่นหรือไม่? จากนี้ฉันหมายถึงเช่น การส่งออกสตริงทั้งหมดรวมถึงข้อความแสดงข้อผิดพลาด ไม่ใช้ภาพที่มีข้อความ ออกแบบ UI ของคุณโดยคำนึงถึงการขยายข้อความ ใช้การแปลแบบหลอกเพื่อทดสอบ UI ของคุณในขั้นต้น เป็นต้น ในโครงการที่คุณทำงานอยู่เหล่านี้อยู่ในหมวดหมู่ 'มีความสุข' และให้ทีมโลคัลไลเซชั่นเป็นกังวลเกี่ยวกับส่วนที่เหลือหรือคุณมีความพร้อมในการโลคัลไลเซชันในตัวคุณหรือไม่ ฉันสนใจที่จะได้ยินว่านักพัฒนาดูการแปลเป็นภาษาท้องถิ่นอย่างไร

2
การแปลข้อความที่ยาวขึ้น (มุมมองและเทมเพลตอีเมล) ด้วย gettext
ฉันกำลังพัฒนาเว็บแอปพลิเคชั่น PHP หลายภาษาและฉันมีข้อความยาว (-ish) ที่ฉันต้องการแปลด้วย gettext เหล่านี้คือเทมเพลตอีเมล (โดยปกติจะสั้น แต่ก็ยังมีอีกหลายบรรทัด) และบางส่วนของเทมเพลตการดู (บล็อคข้อความที่มีความหมายที่ยาวกว่า) ข้อความเหล่านี้จะมี HTML ง่ายๆ (เช่นตัวหนา / ตัวเอียงเพื่อเน้นอาจเป็นลิงค์ที่นี่หรือที่นั่น) แม่แบบเป็นสคริปต์ PHP ที่มีการบันทึกผลลัพธ์ ปัญหาคือ gettext ดูงุ่มง่ามมากสำหรับการจัดการข้อความที่ยาวขึ้น โดยทั่วไปแล้วข้อความที่ยาวจะมีการเปลี่ยนแปลงมากกว่าระยะเวลาสั้นกว่าข้อความสั้น - ฉันสามารถเปลี่ยน msgid และตรวจสอบให้แน่ใจว่าได้อัปเดตในการแปลทั้งหมด (อาจเป็นงานจำนวนมากและมีข้อผิดพลาดเกิดขึ้นได้ง่ายเมื่อ msgid ยาว) หรือ msgid ไม่เปลี่ยนแปลงและแก้ไขเฉพาะการแปล (ซึ่งจะทำให้ข้อความล้าสมัยในแม่แบบที่ทำให้เข้าใจผิด) นอกจากนี้ฉันเคยเห็นคำแนะนำเกี่ยวกับการรวม HTML ในสตริง gettext แต่การหลีกเลี่ยงมันจะทำให้ข้อความธรรมดาชิ้นเดียวกลายเป็นชิ้นส่วนจำนวนมากซึ่งจะเป็นฝันร้ายที่ยิ่งใหญ่กว่าในการแปลและรวมกันอีกครั้งและฉันก็เห็นคำแนะนำ การแยก gettext สตริงที่ไม่จำเป็นออกเป็น msgids แยกกัน วิธีอื่นที่ฉันเห็นคือละเว้น gettext ทั้งหมดสำหรับข้อความที่ยาวกว่านี้และแยกบล็อกเหล่านั้นในซับเทมเพลตภายนอกสำหรับแต่ละโลแคลและเพียงแค่รวมบล็อกสำหรับโลแคลปัจจุบัน ข้อเสียคือฉันกำลังแยกความพยายามในการแปลระหว่างไฟล์. po …

2
API ควรอยู่ใน en_US หรือ en_GB หรือทั้งสองอย่าง? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันควรเขียน APIs ในการสะกดคำในสหรัฐอเมริกาหรือสะกดอังกฤษหรือไม่ หรือฉันควรจัดทำแผนที่ทั้งคู่ให้เป็นแบบเดี่ยวและภายในโดยใช้ใครก็ตามที่ฉันชอบเพื่อให้ทั้งคู่ทำงานได้ ในปัจจุบัน API ส่วนใหญ่ใช้การสะกดของสหรัฐอเมริกา ทางออกสำหรับมันคืออะไร? แก้ไข: มีวิธีมาตรฐานนี้ อาจได้รับการสนับสนุนทั้งสอง?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.