Commit 5bc8773
committed
feat: add explicit lang parameter to translation API
Adds an optional `lang` parameter to the core translation methods so
callers can resolve a key in a specific language without switching the
active language:
- instant() and the internal translation pipeline
- get(), stream(), getStreamOnTranslationChange()
- translate() signal method
- standalone translate() function
- ITranslateService interface
Covered by tests for array keys, parent-service traversal, and
undefined-safe signal typing.
Closes #1616
Closes #1101
Also addresses long-standing requests for this capability:
#91, #313, #570, #1132, #1334
Partially addresses (service methods only — pipe-level lang parameter
is still pending):
#233, #7191 parent ec81eb8 commit 5bc8773
6 files changed
Lines changed: 200 additions & 21 deletions
File tree
- projects/ngx-translate/src
- lib
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| 13 | + | |
12 | 14 | | |
13 | | - | |
| 15 | + | |
14 | 16 | | |
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
69 | 70 | | |
70 | 71 | | |
71 | 72 | | |
| |||
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| 83 | + | |
82 | 84 | | |
83 | 85 | | |
84 | 86 | | |
85 | 87 | | |
86 | 88 | | |
| 89 | + | |
87 | 90 | | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
91 | 94 | | |
| 95 | + | |
92 | 96 | | |
93 | 97 | | |
94 | 98 | | |
| |||
100 | 104 | | |
101 | 105 | | |
102 | 106 | | |
| 107 | + | |
103 | 108 | | |
104 | 109 | | |
105 | 110 | | |
| |||
111 | 116 | | |
112 | 117 | | |
113 | 118 | | |
| 119 | + | |
114 | 120 | | |
115 | 121 | | |
116 | 122 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
| 377 | + | |
377 | 378 | | |
378 | | - | |
| 379 | + | |
379 | 380 | | |
380 | 381 | | |
381 | 382 | | |
| |||
402 | 403 | | |
403 | 404 | | |
404 | 405 | | |
405 | | - | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
406 | 415 | | |
407 | 416 | | |
408 | 417 | | |
| |||
473 | 482 | | |
474 | 483 | | |
475 | 484 | | |
| 485 | + | |
476 | 486 | | |
477 | 487 | | |
478 | | - | |
479 | | - | |
| 488 | + | |
| 489 | + | |
480 | 490 | | |
481 | 491 | | |
482 | 492 | | |
483 | 493 | | |
484 | 494 | | |
| 495 | + | |
485 | 496 | | |
486 | 497 | | |
487 | 498 | | |
488 | 499 | | |
489 | 500 | | |
490 | | - | |
| 501 | + | |
491 | 502 | | |
492 | 503 | | |
493 | 504 | | |
| |||
514 | 525 | | |
515 | 526 | | |
516 | 527 | | |
| 528 | + | |
517 | 529 | | |
518 | 530 | | |
519 | 531 | | |
| |||
523 | 535 | | |
524 | 536 | | |
525 | 537 | | |
526 | | - | |
| 538 | + | |
527 | 539 | | |
528 | 540 | | |
529 | 541 | | |
530 | 542 | | |
531 | | - | |
| 543 | + | |
532 | 544 | | |
533 | 545 | | |
534 | 546 | | |
| |||
539 | 551 | | |
540 | 552 | | |
541 | 553 | | |
| 554 | + | |
542 | 555 | | |
543 | 556 | | |
544 | 557 | | |
545 | 558 | | |
546 | 559 | | |
547 | 560 | | |
548 | | - | |
| 561 | + | |
549 | 562 | | |
550 | 563 | | |
551 | | - | |
| 564 | + | |
552 | 565 | | |
553 | 566 | | |
554 | 567 | | |
| |||
563 | 576 | | |
564 | 577 | | |
565 | 578 | | |
| 579 | + | |
566 | 580 | | |
567 | 581 | | |
568 | 582 | | |
569 | 583 | | |
570 | 584 | | |
571 | 585 | | |
572 | | - | |
| 586 | + | |
573 | 587 | | |
574 | 588 | | |
575 | | - | |
| 589 | + | |
576 | 590 | | |
577 | 591 | | |
578 | 592 | | |
| |||
583 | 597 | | |
584 | 598 | | |
585 | 599 | | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
586 | 603 | | |
587 | 604 | | |
588 | 605 | | |
589 | 606 | | |
| 607 | + | |
590 | 608 | | |
591 | 609 | | |
592 | 610 | | |
593 | 611 | | |
594 | 612 | | |
595 | | - | |
| 613 | + | |
596 | 614 | | |
597 | 615 | | |
598 | 616 | | |
| |||
623 | 641 | | |
624 | 642 | | |
625 | 643 | | |
| 644 | + | |
626 | 645 | | |
627 | 646 | | |
628 | 647 | | |
629 | 648 | | |
630 | 649 | | |
631 | 650 | | |
632 | 651 | | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
633 | 655 | | |
634 | 656 | | |
635 | 657 | | |
636 | | - | |
| 658 | + | |
637 | 659 | | |
638 | 660 | | |
639 | 661 | | |
| |||
Lines changed: 38 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
18 | 24 | | |
19 | 25 | | |
20 | 26 | | |
21 | 27 | | |
22 | | - | |
23 | | - | |
| 28 | + | |
| 29 | + | |
24 | 30 | | |
25 | 31 | | |
26 | 32 | | |
| |||
98 | 104 | | |
99 | 105 | | |
100 | 106 | | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
101 | 132 | | |
Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
172 | 203 | | |
173 | 204 | | |
174 | 205 | | |
| |||
0 commit comments