วิธีจัดการงานการตรวจสอบสตริงที่โลคัลไลซ์แล้วโดยผู้ที่ไม่ใช่ผู้พัฒนา


9

ใน. NET Framework สตริงที่แปลเป็นภาษาท้องถิ่นจะอยู่ในไฟล์ XML (หรือหลายไฟล์) ไฟล์เหล่านั้นเป็นส่วนหนึ่งของโครงการและมุ่งมั่นที่จะควบคุมแหล่งที่มาเป็นไฟล์รหัสอื่น ๆ โดยทั่วไปแล้ว Visual Studio จะใช้เพื่อแสดงไฟล์เหล่านั้นเป็นตารางและแก้ไขสตริงที่แปลแล้ว

ฉันทำงานเป็นทีมเล็ก ๆ กับผลิตภัณฑ์ซึ่งควรมีส่วนต่อประสานหลายภาษา

  1. ในฐานะนักพัฒนาฉันร่างสายอักขระที่มีการแปลทั้งสองภาษาเนื่องจากการแปลอาจไม่แม่นยำ

  2. บุคคลอื่นจากทีม (ไม่ใช่ผู้พัฒนา) จะตรวจสอบเนื้อหาในทั้งสองภาษาและแก้ไขหากจำเป็น

ปัญหาในปัจจุบันคือผู้ที่ไม่ใช่นักพัฒนาจะไม่ใช้ตัวควบคุมแหล่งที่มาหรือ IDE เนื่องจากมันจะยุ่งยากและยากเกินไป (การควบคุมเวอร์ชันเป็นเรื่องยากสำหรับผู้ที่ไม่ใช่นักพัฒนา) สำหรับบุคคลนี้

ทางเลือกอื่นสำหรับฉันในการส่งออกสตริงที่แปลเป็นไฟล์ Excel รอให้บุคคลนี้ตรวจสอบ Excel จากนั้นนำเข้าสตริงที่แก้ไขใหม่อีกครั้ง ข้อแม้ที่นี่คือฉันอาจจะสร้างสายอื่นเปลี่ยนชื่อที่มีอยู่ ฯลฯ ทำให้ยากที่จะแตกต่างรุ่นท้องถิ่นกับคนที่ผ่านการตรวจสอบ

จะทำอย่างไร?

มันเกิดขึ้นได้อย่างไรในทีมอื่น ๆ ?


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

เหตุใดจึงไม่ส่งออก / นำเข้าเป็นไฟล์ข้อความธรรมดาเพื่อให้ผู้ตรวจสอบสามารถทำงานในโปรแกรมแก้ไขแบบสุ่มได้ ข้อมูลซับซ้อนกว่าคู่คีย์ / ค่าอย่างง่ายหรือไม่?
วินไคลน์

1
@kevincline คุณเสี่ยงต่อการแก้ไขข้อความแบบสุ่มไม่สามารถอ่าน UTF-8 ได้ การนำเข้าการเปลี่ยนแปลงที่เกิดขึ้นอาจเป็นความเสียหาย
Adrian J. Moreno

1
@iKnowKungFoo - วิธีแก้ปัญหาอย่างง่าย - เลือกตัวแก้ไขข้อความที่สามารถอ่านอักขระ UTF-8 มีตัวแก้ไข XML ที่ดีมากมายเช่นกันและเครื่องมือที่ดีมากมายที่สามารถเปรียบเทียบเอกสาร xml เช่น Beyond Compare
Ramhound

ฉันขอโทษคำถามของฉันคลุมเครือ (ตอนนี้ฉันแก้ไขแล้ว) แต่ไฟล์ที่มีสตริงที่แปลแล้วจะถูกแก้ไขด้วย Visual Studio ซึ่งแสดงเป็นตาราง เมื่อพิจารณาถึงสคีมาของไฟล์เหล่านี้แล้วเราไม่สามารถแก้ไข XML ด้วยตนเองได้
Arseni Mourzenko

คำตอบ:


6

การโลคัลไลซ์เซชันมีความซับซ้อนมากกว่าการแก้ไข XML ใน Visual Studio โดยเฉพาะ:

  1. แม้ว่าสิ่งที่KateGregory พูดนั้นถูกต้อง แต่ Visual Studio นั้นมีราคาแพงและการซื้อสำเนาสำหรับ Localizers นั้นมักจะเป็นสิ่งต้องห้าม
  2. พวกเขาจะไม่เห็นสตริงในผลิตภัณฑ์และทดสอบว่าสตริงนั้นแสดงอย่างถูกต้อง (ตัวอักษรที่ไม่ใช่ยุโรปเช่นภาษาเอเชียหรือข้อความจากขวาไปซ้ายเช่นอาหรับ) พอดี / ห่ออย่างถูกต้อง (ยาวของเยอรมัน คำ) และไม่ก่อให้เกิดการโจมตีของการฉีด (เช่นการใช้อะโพสโทรฟีของฝรั่งเศส)
  3. แม้ว่าการควบคุมเวอร์ชันไม่ใช่เครื่องมือที่ซับซ้อน แต่การให้การควบคุมแหล่งที่มาไปยังตัวแปลระยะไกลหรือตัวแปลภาษาสัญญาเป็นความเสี่ยง พวกเขาสามารถคัดลอกซอร์สโค้ดโดยปราศจากความรู้ของทีมหรือทำการเปลี่ยนแปลงที่ผิดพลาด (ไม่ว่าจะโดยเจตนาหรือไม่ตั้งใจ)
  4. นอกจากนี้ยังถือว่าสิ่งเดียวที่คุณกำลังแปลเป็นไฟล์ RESX ผลิตภัณฑ์บางอย่างอาจมีข้อมูลที่แปลเป็นภาษาท้องถิ่นเช่นชื่อรายงาน

ดังนั้นสิ่งที่ดีที่สุดที่ต้องทำคือสร้างเว็บไซต์อย่างง่ายที่เปิดเผยสตริงต่างๆโดยซ่อนไวยากรณ์ไว้ กระบวนการบิลด์ประกอบด้วยสตริงที่จัดเตรียมโดยโลคัลไลเซอร์หลังจากการตรวจสอบสติอย่างรวดเร็วและบิลด์ที่แชร์กับโลคัลไลเซอร์เพื่อทำการทดสอบ เว็บไซต์สามารถใช้การเข้าสู่ระบบสำหรับ Localizers ที่แตกต่างกัน (และงานติดตามและเรียกเก็บเงินหากคุณต้องการไปไกลขนาดนั้น) นี่เป็นงานที่มากกว่า แต่เป็นทางออกที่ดีกว่าในระยะยาว


@KateGregory ขอโทษหากฟังดูเป็นการเผชิญหน้า มันไม่ได้ตั้งใจ แก้ไขโพสต์แล้ว
akton

8

การแก้ไข XML sucks Visual Studio มีมุมมองที่คุณสามารถใช้เพื่อแก้ไขทรัพยากร:

แก้ไขทรัพยากร

ฉันคิดว่าการเช็คเอาต์เมื่อแก้ไขรวมกับหนึ่งนาทีของการแสดงหน้าต่าง "การเปลี่ยนแปลงที่รอดำเนินการ" ควรเปิดใช้งานผู้ที่ไม่ใช่นักพัฒนาซอฟต์แวร์ของคุณให้ใช้ตัวควบคุมแหล่งที่มามากเท่าที่พวกเขาต้องการ


1

ฉันจะค้นหาการแก้ไข XML เพื่อให้ผู้ที่ไม่ใช่นักพัฒนาใช้

จากนั้นคุณจะต้องระบุสารสกัดที่เป็นเวอร์ชันให้กับผู้ที่ไม่ใช่ผู้พัฒนาเพื่อตรวจสอบ

เมื่อตรวจสอบเสร็จแล้วคุณสามารถตรวจสอบไฟล์ได้อีกครั้ง

เมื่อคุณทำการเปลี่ยนแปลงคุณจะต้องแตกต่างไฟล์ XML ก่อนที่จะเช็คอินและส่งส่วนที่อัปเดตแล้วโดยคุณไปยังผู้ไม่พัฒนาเพื่อตรวจสอบ การอัปเดตของคุณคือสาเหตุที่คุณต้องทำให้ไฟล์การตรวจสอบเป็นเวอร์ชัน

การพยายามใช้ Excel จะทำให้สิ่งต่าง ๆ เป็นเรื่องยากอย่างยิ่งเนื่องจากเครื่องมือต่าง ๆ สำหรับ Excel ทำให้เป็นที่ต้องการอย่างมาก คุณยังเสี่ยงต่อการแสดงความคิดเห็นเพิ่มเติมที่กำลังคืบคลานเข้าไปในเซลล์เพิ่มเติมภายในสเปรดชีต ความคิดเห็นเหล่านั้นจะต้องมีการจัดการเพิ่มเติมตามส่วนของคุณเพื่อรวมกลับเข้ามา

ในชีวิตก่อนหน้านี้เราใช้กระบวนการที่ค่อนข้างคล้ายกันสำหรับการแปลจำนวนมากโดยองค์กรภายนอก ไฟล์ของเราเป็นไฟล์ข้อความที่มีรูปแบบคล้ายกัน แต่แตกต่างจาก XML และเรามีการเปลี่ยนแปลงมากมายที่เกิดขึ้นในขณะที่ไฟล์ไม่ได้รับการตรวจสอบดังนั้นฉันขอขอบคุณความสนุกในสถานการณ์ของคุณ


* ฉันใช้แผ่นจดบันทึก xml และมันก็ทนได้ฉันจะสงสัยว่ามีคนที่ดีกว่าอยู่ที่นั่น


1

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

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

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


-1

คุณจะรู้ได้อย่างไรว่าคุณมีสตริงทั้งหมดและมีการจัดรูปแบบที่ถูกต้องในแอพ คุณจะรู้ได้อย่างไรว่าตัวเลขสกุลเงินเขตเวลาและข้อมูลสถานที่อื่น ๆ มีรูปแบบที่ถูกต้อง? ทุกอย่างถูกโหลดแล้วและการใช้งานซีเรียลไลเซชั่นหลายไบต์นั้นถูกต้องหรือไม่?

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


-1 ดังนั้นคุณต้องการให้คนใช้ภาษาเป็นผู้ทดสอบการใช้งานหรือไม่? หวังว่าเขาจะไม่พลาดเส้นทางแล้วพลาดการแปลที่ไม่ดีไปสักที่เพราะมัน
SoylentGray

@chad - คุณต้องการจ้างคนที่ทุ่มเทเพื่อยืนยันการแปลสตริงหรือไม่? ผู้ทดสอบภาษาพื้นเมืองจะไม่เรียกใช้ใน X locale มีปัญหาโลแคลมากมายกว่าการแปลแบบง่าย
Telastyn

ใช่มันไม่เกี่ยวกับการแปลแบบเต็มนี่เป็นเพียงการทำให้แน่ใจว่าภาษานั้นถูกต้อง
SoylentGray
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.