เครื่องมือที่ทรงพลังที่ให้ความสามารถในการแปลข้อความได้ทันทีซึ่งจะเป็นประโยชน์เมื่อพัฒนา restapi ด้วยการพูดได้หลายภาษา
dotnet add package OftobTech.AppLocalizator
หรือผ่านเครื่องมือ Nuget ใน Visual Studio
สร้างโฟลเดอร์ Lang ในรูทของโครงการที่เผยแพร่
ภายในโฟลเดอร์นี้คุณสามารถสร้างไฟล์การแปลได้เช่น
en.txt
jp.txt
ar.txt
จากนั้นคุณไม่สามารถใช้เครื่องมือนี้ในรหัส
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;
var message = T . Compile ( "[Text to transalete]" ) ;
Console . WriteLine ( message ) ;[sentence for translate] : [translated sentence]
[sentence for translate] : [translated sentence]
[sentence for translate] : [translated sentence]
....แต่ละประโยคที่แปลจะต้องจบลงด้วยการเปลี่ยนเป็นบรรทัดใหม่ตัวคั่นข้อความสำหรับการแปลและข้อความที่แปลเป็นลำไส้ใหญ่
ไลบรารียังรองรับการกำหนดค่าขั้นต่ำซึ่งช่วยให้คุณกำหนดค่าภาษาเริ่มต้นและตำแหน่งของโฟลเดอร์ด้วยไฟล์การแปลที่สัมพันธ์กับโครงการ
หากไฟล์กำหนดค่าไม่ได้ถูกสร้างขึ้นไฟล์เริ่มต้นจะถูกนำมา:
# The default language will be used if it
# was not passed an additional parameter when using the library
DefaultLang: en
# The address of the language files can be either relative or absolute
LangsFilesPath: Langs คุณสามารถสร้างข้อมูลไฟล์ด้วยตนเองโดยใช้ Path Path config/lang.conf ต่อไปนี้
หรือโทรหาสิ่งก่อสร้างต่อไปนี้:
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Config . PublishConfig ( ) ;ซึ่งจะสร้างการกำหนดค่าเริ่มต้นโดยอัตโนมัติ
ในการเปลี่ยนภาษาในระหว่างการดำเนินการของโปรแกรมคุณต้องเรียกเมธอด setLang(string lang)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) ;นอกจากนี้ยังสามารถเรียกได้ทุกครั้งก่อนการแปล (มันคุ้มค่าที่จะพิจารณาว่าภาษาที่เปิดเผยครั้งสุดท้ายได้รับการจดจำ)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) . Compile ( "[Text to transalete]" ) ; ในการแปลสตริงด้วยพารามิเตอร์ในไฟล์การแปลคุณจะต้องฝังพารามิเตอร์ลงในสตริงการแปลสิ่งนี้ทำได้โดยการปิดตัวระบุพารามิเตอร์บางตัวในตัวอย่างวงเล็บหยิก:
Hello : Hello {parametr_1} {parametr_2} ในการแปลสตริงดังกล่าวลงในวิธีการคอมไพล์แอตทริบิวต์การแทนที่สำหรับการส่งผ่านวัตถุด้วย Dictionary<string, string> ชนิดโดยที่คีย์คือตัวระบุพารามิเตอร์ (โดยไม่ต้องยึดเอาไว้) และค่าจะต้องถูกแทนที่ด้วยค่า
ตัวอย่าง
using OftobTech . AppLocalizator ;
var params = new Dictionary < string , string > ( ) {
{ "parametr_1" , "beautiful" } ,
{ "parametr_2" , "world!" } ,
}
T . setLang ( item . DeviceLanguage ) . Compile ( "Hello" , params ) ; ห้องสมุดรองรับโหมดการแปล 2 โหมดและเวลาปกติในโหมดปกติหากไม่พบสตริงที่เหมาะสมในไฟล์การแปลสตริงที่ส่งคืนจะถูกส่งคืนในโหมดที่เข้มงวดหากไม่พบสตริงการแปล NULL จะถูกส่งคืน
ตัวอย่าง
using OftobTech . AppLocalizator ;
T . Compile ( "[Text to transalete]" , true ) ;
/// OR
T . Compile ( "[Text to transalete]" , params , true ) ; มีบางกรณีเมื่อจำเป็นต้องเพิ่มหรืออัปเดตไฟล์ภาษา แต่คุณไม่สามารถรีสตาร์ทแอปพลิเคชันได้ดังนั้นวิธี updateLangs () สามารถมาที่ความช่วยเหลือของคุณซึ่งช่วยให้คุณอัปเดตการแปลในหน่วยความจำของแอปพลิเคชันได้ทันที
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;