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

3
เมื่อใดที่ฉันควรใช้ ugettext_lazy
ฉันมีคำถามเกี่ยวกับการใช้ ugettext และugettext_lazyสำหรับการแปล ฉันเรียนรู้ว่าในรูปแบบที่ฉันควรใช้ugettext_lazyในขณะที่อยู่ในมุมมอง ugettext แต่มีที่ไหนugettext_lazyอีกบ้างที่ฉันควรใช้ด้วย คำจำกัดความของฟอร์มเกี่ยวกับอะไร มีความแตกต่างระหว่างประสิทธิภาพหรือไม่? แก้ไข: และอีกหนึ่งสิ่ง บางครั้งแทนugettext_lazy, ugettext_noopถูกนำมาใช้ ตามที่เอกสารระบุว่าugettext_noopสตริงมีการทำเครื่องหมายเฉพาะสำหรับการแปลและการแปลในช่วงเวลาที่เป็นไปได้ล่าสุดก่อนที่จะแสดงให้ผู้ใช้เห็น แต่ฉันสับสนเล็กน้อยที่นี่ไม่เหมือนกับสิ่งที่ugettext_lazyทำ มันยังคงยากสำหรับฉันที่จะตัดสินใจซึ่งฉันควรใช้ในรูปแบบและรูปแบบของฉัน

3
แนวทางปฏิบัติที่ดีที่สุดสำหรับการแปลสตริงและป้ายกำกับทั่วโลก [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเป็นสมาชิกของทีมที่มีนักพัฒนามากกว่า 20 คน นักพัฒนาแต่ละคนทำงานในโมดูลแยกกัน (บางอย่างใกล้ 10 โมดูล) ในแต่ละโมดูลเราอาจจะมีอย่างน้อย 50 รูปแบบ CRUD ซึ่งหมายความว่าขณะนี้เรามีที่อยู่ใกล้กับ 500 ปุ่มเพิ่ม , ประหยัดปุ่ม , ปุ่มแก้ไขฯลฯ อย่างไรก็ตามเนื่องจากเราต้องการทำให้แอปพลิเคชันของเราเป็นสากลเราจึงต้องสามารถแปลข้อความในแอปพลิเคชันของเราได้ ตัวอย่างเช่นในทุกๆที่คำว่าaddควรกลายเป็นคำที่ใช้ไม่ได้สำหรับผู้ใช้ชาวฝรั่งเศส สิ่งที่เราทำจนถึงตอนนี้คือสำหรับแต่ละมุมมองใน UI หรือ Presentation Layer เรามีพจนานุกรมคำแปลคู่คีย์ / ค่า จากนั้นในขณะแสดงมุมมองเราแปลข้อความและสตริงที่จำเป็นโดยใช้พจนานุกรมนี้ อย่างไรก็ตามวิธีนี้เรามีบางอย่างใกล้เคียงกับ 500 เพิ่มใน 500 พจนานุกรม ซึ่งหมายความว่าเราได้ละเมิดหลักการของ DRY ในทางกลับกันถ้าเรารวมสตริงทั่วไปเช่นใส่addไว้ในที่เดียวและขอให้นักพัฒนาใช้ทุกที่เราจะพบปัญหาที่ไม่แน่ใจว่ามีการกำหนดสตริงไว้แล้วในพจนานุกรมส่วนกลางหรือไม่ อีกทางเลือกหนึ่งคือไม่มีพจนานุกรมการแปลและใช้บริการแปลออนไลน์เช่น Google Translate, Bing …

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

3
ไม่พบเส้นทางโลแคลเพื่อจัดเก็บคำแปลสำหรับไฟล์ __init__.py
ฉันกำลังพยายามแปลแอป Django ฉันสร้างสตริง{% trans %}ในเทมเพลตของฉัน อย่างไรก็ตามเมื่อฉันดำเนินการคำสั่งต่อไปนี้ในโฟลเดอร์แอพของฉันฉันได้รับข้อความแสดงข้อผิดพลาด: $ django-admin.py makemessages -l fr CommandError: Unable to find a locale path to store translations for file __init__.py` ฉันทำอะไรผิด?

26
การเข้ารหัสในภาษาอื่น (พูด)
นี่เป็นสิ่งที่ฉันสงสัยมาตลอดและฉันไม่พบการกล่าวถึงมันจากที่ใดทางออนไลน์ เมื่อร้านค้าจากญี่ปุ่นพูดว่าเขียนโค้ดฉันจะอ่านเป็นภาษาอังกฤษได้ไหม หรือทำภาษาเช่น C, PHP อะไรก็ได้มีคำแปลภาษาญี่ปุ่นที่เขาเขียนหรือไม่? ฉันเดาว่าสิ่งที่ฉันถามคือ coder ทุกคนในโลกรู้ภาษาอังกฤษเพียงพอที่จะใช้คำสงวนเดียวกันกับที่ฉันทำหรือไม่ รหัสนี้จะ: If (i < size){ switch case 1: print "hi there" default: print "no, thank you" } else { print "yes, thank you" } แสดงเหมือนกับที่ฉันเห็นตอนนี้เป็นภาษาอังกฤษหรือคนอื่น ๆ ที่ไม่พูดภาษาอังกฤษจะเห็นคำว่า "if", "switch", "case", "default", "print" และ " อื่น ๆ "ในภาษาแม่ของพวกเขา? แก้ไข - ใช่นี่เป็นเรื่องร้ายแรง ฉันไม่รู้ว่าการแปลภาษาที่แตกต่างกันมีคำหลักที่แตกต่างกันหรือไม่ …

4
ทำไม std :: function ไม่เข้าร่วมในการแก้ปัญหาโอเวอร์โหลด?
ฉันรู้ว่ารหัสต่อไปนี้จะไม่รวบรวม void baz(int i) { } void baz() { } class Bar { std::function<void()> bazFn; public: Bar(std::function<void()> fun = baz) : bazFn(fun){} }; int main(int argc, char **argv) { Bar b; return 0; } เนื่องจากstd::functionมีการกล่าวว่าไม่ต้องพิจารณาความละเอียดที่มากเกินไปเช่นที่ฉันอ่านในโพสต์นี้ ฉันไม่เข้าใจข้อ จำกัด ทางเทคนิคที่บังคับให้ใช้โซลูชันประเภทนี้อย่างเต็มที่ ฉันอ่านเกี่ยวกับขั้นตอนการแปลและเทมเพลตใน cppreference แต่ฉันไม่สามารถคิดได้ว่ามีเหตุผลใดที่ฉันไม่สามารถหาตัวอย่างตัวอย่างได้ อธิบายให้คนธรรมดาสามัญคนหนึ่ง (ยังใหม่กับ C ++) อะไรที่และในระหว่างขั้นตอนการแปลที่ทำให้ข้างต้นล้มเหลวในการรวบรวม?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.