แปลค่าไดนามิกด้วยเชิงมุม 5

ฉันมีไฟล์แปล json สำหรับภาษาอังกฤษและอีกไฟล์สำหรับภาษาเยอรมัน

พวกเขามีลักษณะเช่นนี้

en.json

"COLORS": {
        "BLUE": "Blue",
        "RED": "Red",
        "GREEN": "Green"
}

เหมือนกันสำหรับชาวเยอรมัน

ฉันมีวัตถุบุคคลและมีสีอาร์เรย์ [] บุคคลอาจมีสีฟ้าและสีแดง จากนั้นมันจะมีลักษณะดังนี้:

person.colors[0] = "BLUE";
person.colors[1] = "RED";

อย่างที่คุณเห็น ฉันบันทึกคีย์ของการแปลไว้ในอาร์เรย์ ไม่ใช่ค่า

ตอนนี้ฉันกำลังวนดูสีของบุคคลเช่น:

<div *ngFor="let color of person.colors">
    <p>{{'COLORS.color' | translate}}</p>
</div>

แต่ฉันไม่ได้รับผลลัพธ์ ปัญหาอาจเกิดจากอะไร?

ฉันได้ดูโพสต์นี้แล้ว เชิงมุม-translate: แปลค่าไดนามิก แต่มันก็ไม่ได้ ช่วยฉันด้วย.


person BlueCat    schedule 17.07.2018    source แหล่งที่มา


คำตอบ (1)


ลองวิธีนี้

<div *ngFor="let color of person.colors">
    <p>{{'COLORS.'+color | translate}}</p>
</div>
person jack    schedule 17.07.2018
comment
ฉันได้รับคีย์เป็นเอาต์พุตเช่น BLUE หรือ red.. แต่ฉันต้องการค่า - person BlueCat; 17.07.2018
comment
ใช่ฉันรู้. มันจะใช้งานได้หากคุณกำหนดค่าการแปลอย่างถูกต้องเพราะฉันลองใช้ไวยากรณ์ข้างต้นแล้ว - person jack; 17.07.2018
comment
ฉันยังใช้สิ่งนี้อยู่และทดสอบกับคำแปลอื่น ๆ แล้วมันก็ใช้งานได้ ฉันคิดว่ามันจะต้องทำงานในสถานการณ์นี้เช่นกัน แต่ฉันไม่รู้ว่าจะทำอย่างไร ฉันควรแปลคีย์แล้วให้ค่าของคีย์เป็นเอาต์พุต - person BlueCat; 17.07.2018
comment
ในโค้ดของคุณ TranslateModule.forRoot() ในโมดูลแอปหรือโมดูลที่ใช้ร่วมกัน ควรอยู่ในโมดูลแอป - person jack; 17.07.2018
comment
TranslateModule.forRoot() ในโมดูลแอป และใช้โมดูล Translate ในโมดูลที่ใช้ร่วมกันโดยไม่มี forRoot() ซึ่งควรทำในลักษณะนี้(stackblitz.com/edit/) - person jack; 17.07.2018
comment
ดูแล้วก็อดไม่ได้จริงๆ :/ - person BlueCat; 17.07.2018
comment
คุณจะสร้างเดโม่ plunker หรือ stackblitz ไหม? - person jack; 17.07.2018