fix(compiler-cli): ensure that ngI18nClosureMode is guarded in generated code (#34211)
				
					
				
			If the `ngI18nClosureMode` global check actually makes it through to the runtime, then checks for its existence should be guarded to prevent `Reference undefined` errors in strict mode. (Normally, it is stripped out by dead code elimination during build optimization.) This comment ensures that generated template code guards this global check. PR Close #34211
This commit is contained in:
		
							parent
							
								
									bc7cde0f01
								
							
						
					
					
						commit
						c4ce24647b
					
				| @ -195,7 +195,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc descA |              * @desc descA | ||||||
|              * @meaning meaningA |              * @meaning meaningA | ||||||
| @ -207,7 +207,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           $I18N_0$ = $localize \`:meaningA|descA@@idA:Content A\`;
 |           $I18N_0$ = $localize \`:meaningA|descA@@idA:Content A\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_3$; |         var $I18N_3$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc descB |              * @desc descB | ||||||
|              * @meaning meaningB |              * @meaning meaningB | ||||||
| @ -220,7 +220,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c5$ = ["title", $I18N_3$]; |         const $_c5$ = ["title", $I18N_3$]; | ||||||
|         var $I18N_7$; |         var $I18N_7$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @meaning meaningC |              * @meaning meaningC | ||||||
|              */ |              */ | ||||||
| @ -232,7 +232,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c9$ = ["title", $I18N_7$]; |         const $_c9$ = ["title", $I18N_7$]; | ||||||
|         var $I18N_11$; |         var $I18N_11$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc descD |              * @desc descD | ||||||
|              * @meaning meaningD |              * @meaning meaningD | ||||||
| @ -245,7 +245,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c13$ = ["title", $I18N_11$]; |         const $_c13$ = ["title", $I18N_11$]; | ||||||
|         var $I18N_15$; |         var $I18N_15$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc meaningE |              * @desc meaningE | ||||||
|              */ |              */ | ||||||
| @ -257,7 +257,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c17$ = ["title", $I18N_15$]; |         const $_c17$ = ["title", $I18N_15$]; | ||||||
|         var $I18N_19$; |         var $I18N_19$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_idF$$APP_SPEC_TS_20$ = goog.getMsg("Title F"); |             const $MSG_EXTERNAL_idF$$APP_SPEC_TS_20$ = goog.getMsg("Title F"); | ||||||
|             $I18N_19$ = $MSG_EXTERNAL_idF$$APP_SPEC_TS_20$; |             $I18N_19$ = $MSG_EXTERNAL_idF$$APP_SPEC_TS_20$; | ||||||
|         } |         } | ||||||
| @ -266,7 +266,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c21$ = ["title", $I18N_19$]; |         const $_c21$ = ["title", $I18N_19$]; | ||||||
|         var $I18N_23$; |         var $I18N_23$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc [BACKUP_$` +
 |              * @desc [BACKUP_$` +
 | ||||||
|           String.raw `{MESSAGE}_ID:idH]` + |           String.raw `{MESSAGE}_ID:idH]` + | ||||||
| @ -280,7 +280,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c25$ = ["title", $I18N_23$]; |         const $_c25$ = ["title", $I18N_23$]; | ||||||
|         var $I18N_20$; |         var $I18N_20$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc Some text \' [BACKUP_MESSAGE_ID: xxx] |              * @desc Some text \' [BACKUP_MESSAGE_ID: xxx] | ||||||
|              */ |              */ | ||||||
| @ -381,7 +381,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|           /** |           /** | ||||||
|            * @desc d |            * @desc d | ||||||
|            * @meaning m |            * @meaning m | ||||||
| @ -422,7 +422,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|           const $MSG_EXTERNAL_5526535577705876535$$APP_SPEC_TS_1$ = goog.getMsg("static text"); |           const $MSG_EXTERNAL_5526535577705876535$$APP_SPEC_TS_1$ = goog.getMsg("static text"); | ||||||
|           $I18N_1$ = $MSG_EXTERNAL_5526535577705876535$$APP_SPEC_TS_1$; |           $I18N_1$ = $MSG_EXTERNAL_5526535577705876535$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -430,7 +430,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           $I18N_1$ = $localize \`static text\`;
 |           $I18N_1$ = $localize \`static text\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|           /** |           /** | ||||||
|            * @desc d |            * @desc d | ||||||
|            * @meaning m |            * @meaning m | ||||||
| @ -445,7 +445,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD0\uFFFD"}:INTERPOLATION:\`;
 |           String.raw `{"\uFFFD0\uFFFD"}:INTERPOLATION:\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_3$; |         var $I18N_3$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d1 |              * @desc d1 | ||||||
|              * @meaning m1 |              * @meaning m1 | ||||||
| @ -465,7 +465,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "aria-label", $I18N_3$ |           "aria-label", $I18N_3$ | ||||||
|         ]; |         ]; | ||||||
|         var $I18N_6$; |         var $I18N_6$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d2 |              * @desc d2 | ||||||
|              * @meaning m2 |              * @meaning m2 | ||||||
| @ -482,7 +482,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD2\uFFFD"}:INTERPOLATION_2:\`;
 |           String.raw `{"\uFFFD2\uFFFD"}:INTERPOLATION_2:\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_7$; |         var $I18N_7$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_6639222533406278123$$APP_SPEC_TS_7$ = goog.getMsg("{$interpolation}", { |             const $MSG_EXTERNAL_6639222533406278123$$APP_SPEC_TS_7$ = goog.getMsg("{$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -529,7 +529,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d |              * @desc d | ||||||
|              * @meaning m |              * @meaning m | ||||||
| @ -571,7 +571,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d |              * @desc d | ||||||
|              * @meaning m |              * @meaning m | ||||||
| @ -625,7 +625,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_3462388422673575127$$APP_SPEC_TS_2$ = goog.getMsg("{$interpolation} title", { |             const $MSG_EXTERNAL_3462388422673575127$$APP_SPEC_TS_2$ = goog.getMsg("{$interpolation} title", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -673,7 +673,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_5526535577705876535$$APP_SPEC_TS_1$ = goog.getMsg("static text"); |             const $MSG_EXTERNAL_5526535577705876535$$APP_SPEC_TS_1$ = goog.getMsg("static text"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_5526535577705876535$$APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_EXTERNAL_5526535577705876535$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -681,7 +681,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|             $I18N_1$ = $localize \`static text\`;
 |             $I18N_1$ = $localize \`static text\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d |              * @desc d | ||||||
|              * @meaning m |              * @meaning m | ||||||
| @ -696,7 +696,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD0\uFFFD"}:INTERPOLATION:\`;
 |           String.raw `{"\uFFFD0\uFFFD"}:INTERPOLATION:\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_3$; |         var $I18N_3$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d1 |              * @desc d1 | ||||||
|              * @meaning m1 |              * @meaning m1 | ||||||
| @ -716,7 +716,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "aria-label", $I18N_3$ |           "aria-label", $I18N_3$ | ||||||
|         ]; |         ]; | ||||||
|         var $I18N_6$; |         var $I18N_6$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d2 |              * @desc d2 | ||||||
|              * @meaning m2 |              * @meaning m2 | ||||||
| @ -733,7 +733,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD2\uFFFD"}:INTERPOLATION_2:\`;
 |           String.raw `{"\uFFFD2\uFFFD"}:INTERPOLATION_2:\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_7$; |         var $I18N_7$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_6639222533406278123$$APP_SPEC_TS_7$ = goog.getMsg("{$interpolation}", { |             const $MSG_EXTERNAL_6639222533406278123$$APP_SPEC_TS_7$ = goog.getMsg("{$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -785,7 +785,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d |              * @desc d | ||||||
|              * @meaning m |              * @meaning m | ||||||
| @ -839,7 +839,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc d |              * @desc d | ||||||
|              * @meaning m |              * @meaning m | ||||||
| @ -852,7 +852,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c1$ = ["title", $I18N_0$]; |         const $_c1$ = ["title", $I18N_0$]; | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4969674997806975147$$APP_SPEC_TS_2$ = goog.getMsg("Some content"); |             const $MSG_EXTERNAL_4969674997806975147$$APP_SPEC_TS_2$ = goog.getMsg("Some content"); | ||||||
|             $I18N_2$ = $MSG_EXTERNAL_4969674997806975147$$APP_SPEC_TS_2$; |             $I18N_2$ = $MSG_EXTERNAL_4969674997806975147$$APP_SPEC_TS_2$; | ||||||
|         } |         } | ||||||
| @ -882,7 +882,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_ID_WITH_INVALID_CHARS$$APP_SPEC_TS_1$ = goog.getMsg("Element title"); |             const $MSG_EXTERNAL_ID_WITH_INVALID_CHARS$$APP_SPEC_TS_1$ = goog.getMsg("Element title"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_ID_WITH_INVALID_CHARS$$APP_SPEC_TS_1$; |             $I18N_0$ = $MSG_EXTERNAL_ID_WITH_INVALID_CHARS$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -891,7 +891,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c1$ = ["title", $I18N_0$]; |         const $_c1$ = ["title", $I18N_0$]; | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_ID_WITH_INVALID_CHARS_2$$APP_SPEC_TS_4$ = goog.getMsg(" Some content "); |             const $MSG_EXTERNAL_ID_WITH_INVALID_CHARS_2$$APP_SPEC_TS_4$ = goog.getMsg(" Some content "); | ||||||
|             $I18N_2$ = $MSG_EXTERNAL_ID_WITH_INVALID_CHARS_2$$APP_SPEC_TS_4$; |             $I18N_2$ = $MSG_EXTERNAL_ID_WITH_INVALID_CHARS_2$$APP_SPEC_TS_4$; | ||||||
|         } |         } | ||||||
| @ -943,7 +943,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|       var $I18N_0$; |       var $I18N_0$; | ||||||
|       if (ngI18nClosureMode) { |       if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|           const $MSG_APP_SPEC_TS_1$ = goog.getMsg("Some  text"); |           const $MSG_APP_SPEC_TS_1$ = goog.getMsg("Some  text"); | ||||||
|           $I18N_0$ = $MSG_APP_SPEC_TS_1$; |           $I18N_0$ = $MSG_APP_SPEC_TS_1$; | ||||||
|       } |       } | ||||||
| @ -961,7 +961,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4924931801512133405$$APP_SPEC_TS_0$ = goog.getMsg("Some text 'with single quotes', \"with double quotes\", ` +
 |             const $MSG_EXTERNAL_4924931801512133405$$APP_SPEC_TS_0$ = goog.getMsg("Some text 'with single quotes', \"with double quotes\", ` +
 | ||||||
|           '`with backticks`' + String.raw ` and without quotes.");
 |           '`with backticks`' + String.raw ` and without quotes.");
 | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_4924931801512133405$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_4924931801512133405$$APP_SPEC_TS_0$; | ||||||
| @ -978,7 +978,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|       const input = '<div i18n>`{{ count }}`</div>'; |       const input = '<div i18n>`{{ count }}`</div>'; | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|       var $I18N_0$; |       var $I18N_0$; | ||||||
|       if (ngI18nClosureMode) { |       if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|           const $MSG_APP_SPEC_TS_1$ = goog.getMsg("` +
 |           const $MSG_APP_SPEC_TS_1$ = goog.getMsg("` +
 | ||||||
|           '`{$interpolation}`' + String.raw `", { "interpolation": "\uFFFD0\uFFFD" });
 |           '`{$interpolation}`' + String.raw `", { "interpolation": "\uFFFD0\uFFFD" });
 | ||||||
|           $I18N_0$ = $MSG_APP_SPEC_TS_1$; |           $I18N_0$ = $MSG_APP_SPEC_TS_1$; | ||||||
| @ -1001,7 +1001,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS_0$ = goog.getMsg("My i18n block #1"); |             const $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS_0$ = goog.getMsg("My i18n block #1"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -1009,7 +1009,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|             $I18N_0$ = $localize \`My i18n block #1\`;
 |             $I18N_0$ = $localize \`My i18n block #1\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2413150872298537152$$APP_SPEC_TS_1$ = goog.getMsg("My i18n block #2"); |             const $MSG_EXTERNAL_2413150872298537152$$APP_SPEC_TS_1$ = goog.getMsg("My i18n block #2"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_2413150872298537152$$APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_EXTERNAL_2413150872298537152$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -1017,7 +1017,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|             $I18N_1$ = $localize \`My i18n block #2\`;
 |             $I18N_1$ = $localize \`My i18n block #2\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_5023003143537152794$$APP_SPEC_TS_2$ = goog.getMsg("My i18n block #3"); |             const $MSG_EXTERNAL_5023003143537152794$$APP_SPEC_TS_2$ = goog.getMsg("My i18n block #3"); | ||||||
|             $I18N_2$ = $MSG_EXTERNAL_5023003143537152794$$APP_SPEC_TS_2$; |             $I18N_2$ = $MSG_EXTERNAL_5023003143537152794$$APP_SPEC_TS_2$; | ||||||
|         } |         } | ||||||
| @ -1059,7 +1059,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7597881511811528589$$APP_SPEC_TS_0$ = goog.getMsg(" Named interpolation: {$phA} Named interpolation with spaces: {$phB} ", { |             const $MSG_EXTERNAL_7597881511811528589$$APP_SPEC_TS_0$ = goog.getMsg(" Named interpolation: {$phA} Named interpolation with spaces: {$phB} ", { | ||||||
|               "phA": "\uFFFD0\uFFFD", |               "phA": "\uFFFD0\uFFFD", | ||||||
|               "phB": "\uFFFD1\uFFFD" |               "phB": "\uFFFD1\uFFFD" | ||||||
| @ -1097,7 +1097,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_6749967533321674787$$APP_SPEC_TS_0$ = goog.getMsg("{$interpolation}", { |             const $MSG_EXTERNAL_6749967533321674787$$APP_SPEC_TS_0$ = goog.getMsg("{$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -1134,7 +1134,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_APP_SPEC_TS_1$$APP_SPEC_TS_1$ = goog.getMsg(" {$interpolation} {$interpolation_1} {$interpolation_2} ", { |             const $MSG_APP_SPEC_TS_1$$APP_SPEC_TS_1$ = goog.getMsg(" {$interpolation} {$interpolation_1} {$interpolation_2} ", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD", |               "interpolation": "\uFFFD0\uFFFD", | ||||||
|               "interpolation_1": "\uFFFD1\uFFFD", |               "interpolation_1": "\uFFFD1\uFFFD", | ||||||
| @ -1176,7 +1176,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_572579892698764378$$APP_SPEC_TS_0$ = goog.getMsg("My i18n block #{$interpolation}", { |             const $MSG_EXTERNAL_572579892698764378$$APP_SPEC_TS_0$ = goog.getMsg("My i18n block #{$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -1187,7 +1187,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD0\uFFFD"}:INTERPOLATION:\`;
 |           String.raw `{"\uFFFD0\uFFFD"}:INTERPOLATION:\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_609623417156596326$$APP_SPEC_TS_1$ = goog.getMsg("My i18n block #{$interpolation}", { |             const $MSG_EXTERNAL_609623417156596326$$APP_SPEC_TS_1$ = goog.getMsg("My i18n block #{$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -1198,7 +1198,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD0\uFFFD"}:INTERPOLATION:\`;
 |           String.raw `{"\uFFFD0\uFFFD"}:INTERPOLATION:\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_3998119318957372120$$APP_SPEC_TS_2$ = goog.getMsg("My i18n block #{$interpolation}", { |             const $MSG_EXTERNAL_3998119318957372120$$APP_SPEC_TS_2$ = goog.getMsg("My i18n block #{$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -1258,7 +1258,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7905233330103651696$$APP_SPEC_TS_0$ = goog.getMsg(" My i18n block #{$interpolation} {$startTagSpan}Plain text in nested element{$closeTagSpan}", { |             const $MSG_EXTERNAL_7905233330103651696$$APP_SPEC_TS_0$ = goog.getMsg(" My i18n block #{$interpolation} {$startTagSpan}Plain text in nested element{$closeTagSpan}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD", |               "interpolation": "\uFFFD0\uFFFD", | ||||||
|               "startTagSpan": "\uFFFD#2\uFFFD", |               "startTagSpan": "\uFFFD#2\uFFFD", | ||||||
| @ -1273,7 +1273,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPAN:\`;
 |           String.raw `{"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPAN:\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_5788821996131681377$$APP_SPEC_TS_1$ = goog.getMsg(" My i18n block #{$interpolation} {$startTagDiv}{$startTagDiv}{$startTagSpan} More bindings in more nested element: {$interpolation_1} {$closeTagSpan}{$closeTagDiv}{$closeTagDiv}", { |             const $MSG_EXTERNAL_5788821996131681377$$APP_SPEC_TS_1$ = goog.getMsg(" My i18n block #{$interpolation} {$startTagDiv}{$startTagDiv}{$startTagSpan} More bindings in more nested element: {$interpolation_1} {$closeTagSpan}{$closeTagDiv}{$closeTagDiv}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD", |               "interpolation": "\uFFFD0\uFFFD", | ||||||
|               "startTagDiv": "[\uFFFD#6\uFFFD|\uFFFD#7\uFFFD]", |               "startTagDiv": "[\uFFFD#6\uFFFD|\uFFFD#7\uFFFD]", | ||||||
| @ -1347,7 +1347,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4782264005467235841$$APP_SPEC_TS_3$ = goog.getMsg("Span title {$interpolation} and {$interpolation_1}", { |             const $MSG_EXTERNAL_4782264005467235841$$APP_SPEC_TS_3$ = goog.getMsg("Span title {$interpolation} and {$interpolation_1}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD", |               "interpolation": "\uFFFD0\uFFFD", | ||||||
|               "interpolation_1": "\uFFFD1\uFFFD" |               "interpolation_1": "\uFFFD1\uFFFD" | ||||||
| @ -1361,7 +1361,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c4$ = ["title", $I18N_2$]; |         const $_c4$ = ["title", $I18N_2$]; | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4446430594603971069$$APP_SPEC_TS_5$ = goog.getMsg(" My i18n block #1 with value: {$interpolation} {$startTagSpan} Plain text in nested element (block #1) {$closeTagSpan}", { |             const $MSG_EXTERNAL_4446430594603971069$$APP_SPEC_TS_5$ = goog.getMsg(" My i18n block #1 with value: {$interpolation} {$startTagSpan} Plain text in nested element (block #1) {$closeTagSpan}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD", |               "interpolation": "\uFFFD0\uFFFD", | ||||||
|               "startTagSpan": "\uFFFD#2\uFFFD", |               "startTagSpan": "\uFFFD#2\uFFFD", | ||||||
| @ -1376,7 +1376,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPAN:\`;
 |           String.raw `{"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPAN:\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_7$; |         var $I18N_7$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2719594642740200058$$APP_SPEC_TS_8$ = goog.getMsg("Span title {$interpolation}", { |             const $MSG_EXTERNAL_2719594642740200058$$APP_SPEC_TS_8$ = goog.getMsg("Span title {$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -1388,7 +1388,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|         } |         } | ||||||
|         const $_c9$ = ["title", $I18N_7$]; |         const $_c9$ = ["title", $I18N_7$]; | ||||||
|         var $I18N_6$; |         var $I18N_6$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2778714953278357902$$APP_SPEC_TS_10$ = goog.getMsg(" My i18n block #2 with value {$interpolation} {$startTagSpan} Plain text in nested element (block #2) {$closeTagSpan}", { |             const $MSG_EXTERNAL_2778714953278357902$$APP_SPEC_TS_10$ = goog.getMsg(" My i18n block #2 with value {$interpolation} {$startTagSpan} Plain text in nested element (block #2) {$closeTagSpan}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD", |               "interpolation": "\uFFFD0\uFFFD", | ||||||
|               "startTagSpan": "\uFFFD#7\uFFFD", |               "startTagSpan": "\uFFFD#7\uFFFD", | ||||||
| @ -1457,7 +1457,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7679414751795588050$$APP_SPEC_TS__1$ = goog.getMsg(" Some other content {$interpolation} {$startTagDiv} More nested levels with bindings {$interpolation_1} {$closeTagDiv}", { |             const $MSG_EXTERNAL_7679414751795588050$$APP_SPEC_TS__1$ = goog.getMsg(" Some other content {$interpolation} {$startTagDiv} More nested levels with bindings {$interpolation_1} {$closeTagDiv}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD", |               "interpolation": "\uFFFD0\uFFFD", | ||||||
|               "startTagDiv": "\uFFFD#3\uFFFD", |               "startTagDiv": "\uFFFD#3\uFFFD", | ||||||
| @ -1526,7 +1526,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2367729185105559721$$APP_SPEC_TS__2$ = goog.getMsg("App logo #{$interpolation}", { |             const $MSG_EXTERNAL_2367729185105559721$$APP_SPEC_TS__2$ = goog.getMsg("App logo #{$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -1631,7 +1631,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_1221890473527419724$$APP_SPEC_TS_0$ = goog.getMsg(" Some content {$startTagDiv_2} Some other content {$interpolation} {$startTagDiv} More nested levels with bindings {$interpolation_1} {$startTagDiv_1} Content inside sub-template {$interpolation_2} {$startTagDiv} Bottom level element {$interpolation_3} {$closeTagDiv}{$closeTagDiv}{$closeTagDiv}{$closeTagDiv}{$startTagDiv_3} Some other content {$interpolation_4} {$startTagDiv} More nested levels with bindings {$interpolation_5} {$closeTagDiv}{$closeTagDiv}", { |             const $MSG_EXTERNAL_1221890473527419724$$APP_SPEC_TS_0$ = goog.getMsg(" Some content {$startTagDiv_2} Some other content {$interpolation} {$startTagDiv} More nested levels with bindings {$interpolation_1} {$startTagDiv_1} Content inside sub-template {$interpolation_2} {$startTagDiv} Bottom level element {$interpolation_3} {$closeTagDiv}{$closeTagDiv}{$closeTagDiv}{$closeTagDiv}{$startTagDiv_3} Some other content {$interpolation_4} {$startTagDiv} More nested levels with bindings {$interpolation_5} {$closeTagDiv}{$closeTagDiv}", { | ||||||
|               "startTagDiv_2": "\uFFFD*2:1\uFFFD\uFFFD#1:1\uFFFD", |               "startTagDiv_2": "\uFFFD*2:1\uFFFD\uFFFD#1:1\uFFFD", | ||||||
|               "closeTagDiv": "[\uFFFD/#2:2\uFFFD|\uFFFD/#1:2\uFFFD\uFFFD/*4:2\uFFFD|\uFFFD/#2:1\uFFFD|\uFFFD/#1:1\uFFFD\uFFFD/*2:1\uFFFD|\uFFFD/#2:3\uFFFD|\uFFFD/#1:3\uFFFD\uFFFD/*3:3\uFFFD]", |               "closeTagDiv": "[\uFFFD/#2:2\uFFFD|\uFFFD/#1:2\uFFFD\uFFFD/*4:2\uFFFD|\uFFFD/#2:1\uFFFD|\uFFFD/#1:1\uFFFD\uFFFD/*2:1\uFFFD|\uFFFD/#2:3\uFFFD|\uFFFD/#1:3\uFFFD\uFFFD/*3:3\uFFFD]", | ||||||
| @ -1722,7 +1722,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_119975189388320493$$APP_SPEC_TS__1$ = goog.getMsg("Some other content {$startTagSpan}{$interpolation}{$closeTagSpan}", { |             const $MSG_EXTERNAL_119975189388320493$$APP_SPEC_TS__1$ = goog.getMsg("Some other content {$startTagSpan}{$interpolation}{$closeTagSpan}", { | ||||||
|               "startTagSpan": "\uFFFD#2\uFFFD", |               "startTagSpan": "\uFFFD#2\uFFFD", | ||||||
|               "interpolation": "\uFFFD0\uFFFD", |               "interpolation": "\uFFFD0\uFFFD", | ||||||
| @ -1775,7 +1775,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_APP_SPEC_TS_2$ = goog.getMsg("Hello"); |             const $MSG_APP_SPEC_TS_2$ = goog.getMsg("Hello"); | ||||||
|             $I18N_1$ = $MSG_APP_SPEC_TS_2$; |             $I18N_1$ = $MSG_APP_SPEC_TS_2$; | ||||||
|         } |         } | ||||||
| @ -1806,7 +1806,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS_0$ = goog.getMsg("My i18n block #1"); |             const $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS_0$ = goog.getMsg("My i18n block #1"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -1833,7 +1833,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); |             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -1870,7 +1870,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2413150872298537152$$APP_SPEC_TS_0$ = goog.getMsg("My i18n block #2"); |             const $MSG_EXTERNAL_2413150872298537152$$APP_SPEC_TS_0$ = goog.getMsg("My i18n block #2"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_2413150872298537152$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_2413150872298537152$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -1878,7 +1878,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|             $I18N_0$ = $localize \`My i18n block #2\`;
 |             $I18N_0$ = $localize \`My i18n block #2\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS__1$ = goog.getMsg("My i18n block #1"); |             const $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS__1$ = goog.getMsg("My i18n block #1"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS__1$; |             $I18N_1$ = $MSG_EXTERNAL_4890179241114413722$$APP_SPEC_TS__1$; | ||||||
|         } |         } | ||||||
| @ -1912,7 +1912,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_5295701706185791735$$APP_SPEC_TS_1$ = goog.getMsg("Text #1"); |             const $MSG_EXTERNAL_5295701706185791735$$APP_SPEC_TS_1$ = goog.getMsg("Text #1"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_5295701706185791735$$APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_EXTERNAL_5295701706185791735$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -1920,7 +1920,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|             $I18N_1$ = $localize \`Text #1\`;
 |             $I18N_1$ = $localize \`Text #1\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_3$; |         var $I18N_3$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4722270221386399294$$APP_SPEC_TS_3$ = goog.getMsg("Text #2"); |             const $MSG_EXTERNAL_4722270221386399294$$APP_SPEC_TS_3$ = goog.getMsg("Text #2"); | ||||||
|             $I18N_3$ = $MSG_EXTERNAL_4722270221386399294$$APP_SPEC_TS_3$; |             $I18N_3$ = $MSG_EXTERNAL_4722270221386399294$$APP_SPEC_TS_3$; | ||||||
|         } |         } | ||||||
| @ -1955,7 +1955,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|           const $MSG_EXTERNAL_355394464191978948$$APP_SPEC_TS_0$ = goog.getMsg("Some content: {$interpolation}", { |           const $MSG_EXTERNAL_355394464191978948$$APP_SPEC_TS_0$ = goog.getMsg("Some content: {$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -1992,7 +1992,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_355394464191978948$$APP_SPEC_TS__0$ = goog.getMsg("Some content: {$interpolation}", { |             const $MSG_EXTERNAL_355394464191978948$$APP_SPEC_TS__0$ = goog.getMsg("Some content: {$interpolation}", { | ||||||
|               "interpolation": "\uFFFD0\uFFFD" |               "interpolation": "\uFFFD0\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -2035,7 +2035,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|           const $MSG_EXTERNAL_702706566400598764$$APP_SPEC_TS_0$ = goog.getMsg("{$startTagNgTemplate}Template content: {$interpolation}{$closeTagNgTemplate}{$startTagNgContainer}Container content: {$interpolation_1}{$closeTagNgContainer}", { |           const $MSG_EXTERNAL_702706566400598764$$APP_SPEC_TS_0$ = goog.getMsg("{$startTagNgTemplate}Template content: {$interpolation}{$closeTagNgTemplate}{$startTagNgContainer}Container content: {$interpolation_1}{$closeTagNgContainer}", { | ||||||
|             "startTagNgTemplate": "\uFFFD*2:1\uFFFD", |             "startTagNgTemplate": "\uFFFD*2:1\uFFFD", | ||||||
|             "closeTagNgTemplate": "\uFFFD/*2:1\uFFFD", |             "closeTagNgTemplate": "\uFFFD/*2:1\uFFFD", | ||||||
| @ -2097,7 +2097,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); |             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2108,7 +2108,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD0\uFFFD" |           "VAR_SELECT": "\uFFFD0\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS__1$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS__1$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS__1$; |             $I18N_1$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS__1$; | ||||||
|         } |         } | ||||||
| @ -2187,7 +2187,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2051477021417799640$$APP_SPEC_TS_0$ = goog.getMsg("{$startTagNgTemplate} Template A: {$interpolation} {$startTagNgTemplate} Template B: {$interpolation_1} {$startTagNgTemplate} Template C: {$interpolation_2} {$closeTagNgTemplate}{$closeTagNgTemplate}{$closeTagNgTemplate}", { |             const $MSG_EXTERNAL_2051477021417799640$$APP_SPEC_TS_0$ = goog.getMsg("{$startTagNgTemplate} Template A: {$interpolation} {$startTagNgTemplate} Template B: {$interpolation_1} {$startTagNgTemplate} Template C: {$interpolation_2} {$closeTagNgTemplate}{$closeTagNgTemplate}{$closeTagNgTemplate}", { | ||||||
|               "startTagNgTemplate": "[\uFFFD*2:1\uFFFD|\uFFFD*2:2\uFFFD|\uFFFD*1:3\uFFFD]", |               "startTagNgTemplate": "[\uFFFD*2:1\uFFFD|\uFFFD*2:2\uFFFD|\uFFFD*1:3\uFFFD]", | ||||||
|               "closeTagNgTemplate": "[\uFFFD/*1:3\uFFFD|\uFFFD/*2:2\uFFFD|\uFFFD/*2:1\uFFFD]", |               "closeTagNgTemplate": "[\uFFFD/*1:3\uFFFD|\uFFFD/*2:2\uFFFD|\uFFFD/*2:1\uFFFD]", | ||||||
| @ -2251,7 +2251,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2262,7 +2262,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD0\uFFFD" |           "VAR_SELECT": "\uFFFD0\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS__1$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); |             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS__1$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS__1$; |             $I18N_1$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS__1$; | ||||||
|         } |         } | ||||||
| @ -2314,7 +2314,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4891196282781544695$$APP_SPEC_TS_0$ = goog.getMsg("{$tagImg} is my logo #1 ", { |             const $MSG_EXTERNAL_4891196282781544695$$APP_SPEC_TS_0$ = goog.getMsg("{$tagImg} is my logo #1 ", { | ||||||
|               "tagImg": "\uFFFD#2\uFFFD\uFFFD/#2\uFFFD" |               "tagImg": "\uFFFD#2\uFFFD\uFFFD/#2\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -2325,7 +2325,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           String.raw `{"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_IMG: is my logo #1 \`;
 |           String.raw `{"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_IMG: is my logo #1 \`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_461986953980355147$$APP_SPEC_TS__2$ = goog.getMsg("{$tagImg} is my logo #2 ", { |             const $MSG_EXTERNAL_461986953980355147$$APP_SPEC_TS__2$ = goog.getMsg("{$tagImg} is my logo #2 ", { | ||||||
|               "tagImg": "\uFFFD#1\uFFFD\uFFFD/#1\uFFFD" |               "tagImg": "\uFFFD#1\uFFFD\uFFFD/#1\uFFFD" | ||||||
|             }); |             }); | ||||||
| @ -2371,7 +2371,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_8537814667662432133$$APP_SPEC_TS__0$ = goog.getMsg(" Root content {$startTagNgContainer} Nested content {$closeTagNgContainer}", { |             const $MSG_EXTERNAL_8537814667662432133$$APP_SPEC_TS__0$ = goog.getMsg(" Root content {$startTagNgContainer} Nested content {$closeTagNgContainer}", { | ||||||
|               "startTagNgContainer": "\uFFFD*1:1\uFFFD\uFFFD#1:1\uFFFD", |               "startTagNgContainer": "\uFFFD*1:1\uFFFD\uFFFD#1:1\uFFFD", | ||||||
|               "closeTagNgContainer": "\uFFFD/#1:1\uFFFD\uFFFD/*1:1\uFFFD" |               "closeTagNgContainer": "\uFFFD/#1:1\uFFFD\uFFFD/*1:1\uFFFD" | ||||||
| @ -2401,7 +2401,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|       // that can be implemented in the future within FW-635.
 |       // that can be implemented in the future within FW-635.
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_6563391987554512024$$APP_SPEC_TS_0$ = goog.getMsg("Test"); |             const $MSG_EXTERNAL_6563391987554512024$$APP_SPEC_TS_0$ = goog.getMsg("Test"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_6563391987554512024$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_6563391987554512024$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2409,7 +2409,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|             $I18N_0$ = $localize \`Test\`;
 |             $I18N_0$ = $localize \`Test\`;
 | ||||||
|         } |         } | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_6563391987554512024$$APP_SPEC_TS_1$ = goog.getMsg("Test"); |             const $MSG_EXTERNAL_6563391987554512024$$APP_SPEC_TS_1$ = goog.getMsg("Test"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_6563391987554512024$$APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_EXTERNAL_6563391987554512024$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -2431,7 +2431,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|           const $MSG_APP_SPEC_TS_1$ = goog.getMsg(" Hello {$startTagNgContainer}there{$closeTagNgContainer}", { "startTagNgContainer": "\uFFFD#2\uFFFD", "closeTagNgContainer": "\uFFFD/#2\uFFFD" }); |           const $MSG_APP_SPEC_TS_1$ = goog.getMsg(" Hello {$startTagNgContainer}there{$closeTagNgContainer}", { "startTagNgContainer": "\uFFFD#2\uFFFD", "closeTagNgContainer": "\uFFFD/#2\uFFFD" }); | ||||||
|           $I18N_0$ = $MSG_APP_SPEC_TS_1$; |           $I18N_0$ = $MSG_APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -2467,7 +2467,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|          const output = String.raw ` |          const output = String.raw ` | ||||||
|           var $I18N_0$; |           var $I18N_0$; | ||||||
|           if (ngI18nClosureMode) { |           if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_APP_SPEC_TS_1$ = goog.getMsg(" Hello {$startTagNgContainer}there {$startTagStrong}!{$closeTagStrong}{$closeTagNgContainer}", { "startTagNgContainer": "\uFFFD#2\uFFFD", "startTagStrong": "\uFFFD#3\uFFFD", "closeTagStrong": "\uFFFD/#3\uFFFD", "closeTagNgContainer": "\uFFFD/#2\uFFFD" }); |             const $MSG_APP_SPEC_TS_1$ = goog.getMsg(" Hello {$startTagNgContainer}there {$startTagStrong}!{$closeTagStrong}{$closeTagNgContainer}", { "startTagNgContainer": "\uFFFD#2\uFFFD", "startTagStrong": "\uFFFD#3\uFFFD", "closeTagStrong": "\uFFFD/#3\uFFFD", "closeTagNgContainer": "\uFFFD/#2\uFFFD" }); | ||||||
|             $I18N_0$ = $MSG_APP_SPEC_TS_1$; |             $I18N_0$ = $MSG_APP_SPEC_TS_1$; | ||||||
|           } |           } | ||||||
| @ -2507,7 +2507,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_3308216566145348998$$APP_SPEC_TS___2$ = goog.getMsg("Content A"); |             const $MSG_EXTERNAL_3308216566145348998$$APP_SPEC_TS___2$ = goog.getMsg("Content A"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_3308216566145348998$$APP_SPEC_TS___2$; |             $I18N_1$ = $MSG_EXTERNAL_3308216566145348998$$APP_SPEC_TS___2$; | ||||||
|         } else { |         } else { | ||||||
| @ -2524,7 +2524,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         var $I18N_3$; |         var $I18N_3$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_8349021389088127654$$APP_SPEC_TS__4$ = goog.getMsg("Content B"); |             const $MSG_EXTERNAL_8349021389088127654$$APP_SPEC_TS__4$ = goog.getMsg("Content B"); | ||||||
|             $I18N_3$ = $MSG_EXTERNAL_8349021389088127654$$APP_SPEC_TS__4$; |             $I18N_3$ = $MSG_EXTERNAL_8349021389088127654$$APP_SPEC_TS__4$; | ||||||
|         } else { |         } else { | ||||||
| @ -2568,7 +2568,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_963542717423364282$$APP_SPEC_TS_0$ = goog.getMsg("\n          Some text\n          {$startTagSpan}Text inside span{$closeTagSpan}\n        ", { |             const $MSG_EXTERNAL_963542717423364282$$APP_SPEC_TS_0$ = goog.getMsg("\n          Some text\n          {$startTagSpan}Text inside span{$closeTagSpan}\n        ", { | ||||||
|               "startTagSpan": "\uFFFD#3\uFFFD", |               "startTagSpan": "\uFFFD#3\uFFFD", | ||||||
|               "closeTagSpan": "\uFFFD/#3\uFFFD" |               "closeTagSpan": "\uFFFD/#3\uFFFD" | ||||||
| @ -2609,7 +2609,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2645,7 +2645,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_4166854826696768832$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, single {'single quotes'} double {\"double quotes\"} other {other}}"); |             const $MSG_EXTERNAL_4166854826696768832$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, single {'single quotes'} double {\"double quotes\"} other {other}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_4166854826696768832$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_4166854826696768832$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2667,7 +2667,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); |             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2707,7 +2707,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2718,7 +2718,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD0\uFFFD" |           "VAR_SELECT": "\uFFFD0\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_3$; |         var $I18N_3$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS__3$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); |             const $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS__3$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {other}}"); | ||||||
|             $I18N_3$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS__3$; |             $I18N_3$ = $MSG_EXTERNAL_8806993169187953163$$APP_SPEC_TS__3$; | ||||||
|         } |         } | ||||||
| @ -2743,7 +2743,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         var $I18N_5$; |         var $I18N_5$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_1922743304863699161$$APP_SPEC_TS__5$ = goog.getMsg("{VAR_SELECT, select, 0 {no emails} 1 {one email} other {{INTERPOLATION} emails}}"); |             const $MSG_EXTERNAL_1922743304863699161$$APP_SPEC_TS__5$ = goog.getMsg("{VAR_SELECT, select, 0 {no emails} 1 {one email} other {{INTERPOLATION} emails}}"); | ||||||
|             $I18N_5$ = $MSG_EXTERNAL_1922743304863699161$$APP_SPEC_TS__5$; |             $I18N_5$ = $MSG_EXTERNAL_1922743304863699161$$APP_SPEC_TS__5$; | ||||||
|         } |         } | ||||||
| @ -2801,7 +2801,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2949673783721159566$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {{INTERPOLATION}}}"); |             const $MSG_EXTERNAL_2949673783721159566$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} other {{INTERPOLATION}}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_2949673783721159566$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_2949673783721159566$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2840,7 +2840,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2417296354340576868$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male - {START_BOLD_TEXT}male{CLOSE_BOLD_TEXT}} female {female {START_BOLD_TEXT}female{CLOSE_BOLD_TEXT}} other {{START_TAG_DIV}{START_ITALIC_TEXT}other{CLOSE_ITALIC_TEXT}{CLOSE_TAG_DIV}}}"); |             const $MSG_EXTERNAL_2417296354340576868$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male - {START_BOLD_TEXT}male{CLOSE_BOLD_TEXT}} female {female {START_BOLD_TEXT}female{CLOSE_BOLD_TEXT}} other {{START_TAG_DIV}{START_ITALIC_TEXT}other{CLOSE_ITALIC_TEXT}{CLOSE_TAG_DIV}}}"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_2417296354340576868$$APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_EXTERNAL_2417296354340576868$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -2857,7 +2857,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "CLOSE_TAG_DIV": "</div>" |           "CLOSE_TAG_DIV": "</div>" | ||||||
|         }); |         }); | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_5791551881115084301$$APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$startBoldText}Other content{$closeBoldText}{$startTagDiv}{$startItalicText}Another content{$closeItalicText}{$closeTagDiv}", { |             const $MSG_EXTERNAL_5791551881115084301$$APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$startBoldText}Other content{$closeBoldText}{$startTagDiv}{$startItalicText}Another content{$closeItalicText}{$closeTagDiv}", { | ||||||
|               "startBoldText": "\uFFFD#2\uFFFD", |               "startBoldText": "\uFFFD#2\uFFFD", | ||||||
|               "closeBoldText": "\uFFFD/#2\uFFFD", |               "closeBoldText": "\uFFFD/#2\uFFFD", | ||||||
| @ -2911,7 +2911,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_6879461626778511059$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male of age: {INTERPOLATION}} female {female} other {other}}"); |             const $MSG_EXTERNAL_6879461626778511059$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male of age: {INTERPOLATION}} female {female} other {other}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_6879461626778511059$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_6879461626778511059$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -2951,7 +2951,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -2962,7 +2962,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD0\uFFFD" |           "VAR_SELECT": "\uFFFD0\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7068143081688428291$$APP_SPEC_TS_2$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} 30 {thirty} other {other}}"); |             const $MSG_EXTERNAL_7068143081688428291$$APP_SPEC_TS_2$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} 30 {thirty} other {other}}"); | ||||||
|             $I18N_2$ = $MSG_EXTERNAL_7068143081688428291$$APP_SPEC_TS_2$; |             $I18N_2$ = $MSG_EXTERNAL_7068143081688428291$$APP_SPEC_TS_2$; | ||||||
|         } |         } | ||||||
| @ -2973,7 +2973,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD1\uFFFD" |           "VAR_SELECT": "\uFFFD1\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2967249209167308918$$APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$icu_1} ", { |             const $MSG_EXTERNAL_2967249209167308918$$APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$icu_1} ", { | ||||||
|               "icu": $I18N_1$, |               "icu": $I18N_1$, | ||||||
|               "icu_1": $I18N_2$ |               "icu_1": $I18N_2$ | ||||||
| @ -3018,7 +3018,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_1$ = $MSG_APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -3029,7 +3029,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD0\uFFFD" |           "VAR_SELECT": "\uFFFD0\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_2$; |         var $I18N_2$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_APP_SPEC_TS_2$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_APP_SPEC_TS_2$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_2$ = $MSG_APP_SPEC_TS_2$; |             $I18N_2$ = $MSG_APP_SPEC_TS_2$; | ||||||
|         } |         } | ||||||
| @ -3040,7 +3040,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD1\uFFFD" |           "VAR_SELECT": "\uFFFD1\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_4$; |         var $I18N_4$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_APP_SPEC_TS__4$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_APP_SPEC_TS__4$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_4$ = $MSG_APP_SPEC_TS__4$; |             $I18N_4$ = $MSG_APP_SPEC_TS__4$; | ||||||
|         } |         } | ||||||
| @ -3051,7 +3051,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD0:1\uFFFD" |           "VAR_SELECT": "\uFFFD0:1\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$startTagDiv} {$icu} {$closeTagDiv}{$startTagDiv_1} {$icu} {$closeTagDiv}", { |             const $MSG_APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$startTagDiv} {$icu} {$closeTagDiv}{$startTagDiv_1} {$icu} {$closeTagDiv}", { | ||||||
|               "startTagDiv": "\uFFFD#2\uFFFD", |               "startTagDiv": "\uFFFD#2\uFFFD", | ||||||
|               "closeTagDiv": "[\uFFFD/#2\uFFFD|\uFFFD/#1:1\uFFFD\uFFFD/*3:1\uFFFD]", |               "closeTagDiv": "[\uFFFD/#2\uFFFD|\uFFFD/#1:1\uFFFD\uFFFD/*3:1\uFFFD]", | ||||||
| @ -3126,7 +3126,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_343563413083115114$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT_1, select, male {male of age: {VAR_SELECT, select, 10 {ten} 20 {twenty} 30 {thirty} other {other}}} female {female} other {other}}"); |             const $MSG_EXTERNAL_343563413083115114$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT_1, select, male {male of age: {VAR_SELECT, select, 10 {ten} 20 {twenty} 30 {thirty} other {other}}} female {female} other {other}}"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_343563413083115114$$APP_SPEC_TS_0$; |             $I18N_1$ = $MSG_EXTERNAL_343563413083115114$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -3138,7 +3138,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT_1": "\uFFFD1\uFFFD" |           "VAR_SELECT_1": "\uFFFD1\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_3052001905251380936$$APP_SPEC_TS_3$ = goog.getMsg(" {$icu} ", { "icu": $I18N_1$ }); |             const $MSG_EXTERNAL_3052001905251380936$$APP_SPEC_TS_3$ = goog.getMsg(" {$icu} ", { "icu": $I18N_1$ }); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_3052001905251380936$$APP_SPEC_TS_3$; |             $I18N_0$ = $MSG_EXTERNAL_3052001905251380936$$APP_SPEC_TS_3$; | ||||||
|         } |         } | ||||||
| @ -3181,7 +3181,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_6870293071705078389$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_PLURAL, plural, =0 {zero} =2 {{INTERPOLATION} {VAR_SELECT, select, cat {cats} dog {dogs} other {animals}} !} other {other - {INTERPOLATION}}}"); |             const $MSG_EXTERNAL_6870293071705078389$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_PLURAL, plural, =0 {zero} =2 {{INTERPOLATION} {VAR_SELECT, select, cat {cats} dog {dogs} other {animals}} !} other {other - {INTERPOLATION}}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_6870293071705078389$$APP_SPEC_TS_1$; |             $I18N_0$ = $MSG_EXTERNAL_6870293071705078389$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -3224,7 +3224,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); |             const $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male} female {female} other {other}}"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_EXTERNAL_7842238767399919809$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -3235,7 +3235,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD0\uFFFD" |           "VAR_SELECT": "\uFFFD0\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_3$; |         var $I18N_3$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7068143081688428291$$APP_SPEC_TS__3$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} 30 {thirty} other {other}}"); |             const $MSG_EXTERNAL_7068143081688428291$$APP_SPEC_TS__3$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} 30 {thirty} other {other}}"); | ||||||
|             $I18N_3$ = $MSG_EXTERNAL_7068143081688428291$$APP_SPEC_TS__3$; |             $I18N_3$ = $MSG_EXTERNAL_7068143081688428291$$APP_SPEC_TS__3$; | ||||||
|         } |         } | ||||||
| @ -3246,7 +3246,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "VAR_SELECT": "\uFFFD0:1\uFFFD" |           "VAR_SELECT": "\uFFFD0:1\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_1194472282609532229$$APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$startTagSpan} {$icu_1} {$closeTagSpan}", { |             const $MSG_EXTERNAL_1194472282609532229$$APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$startTagSpan} {$icu_1} {$closeTagSpan}", { | ||||||
|               "startTagSpan": "\uFFFD*2:1\uFFFD\uFFFD#1:1\uFFFD", |               "startTagSpan": "\uFFFD*2:1\uFFFD\uFFFD#1:1\uFFFD", | ||||||
|               "closeTagSpan": "\uFFFD/#1:1\uFFFD\uFFFD/*2:1\uFFFD", |               "closeTagSpan": "\uFFFD/#1:1\uFFFD\uFFFD/*2:1\uFFFD", | ||||||
| @ -3310,7 +3310,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_1$; |         var $I18N_1$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7825031864601787094$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male {INTERPOLATION}} female {female {INTERPOLATION_1}} other {other}}"); |             const $MSG_EXTERNAL_7825031864601787094$$APP_SPEC_TS_1$ = goog.getMsg("{VAR_SELECT, select, male {male {INTERPOLATION}} female {female {INTERPOLATION_1}} other {other}}"); | ||||||
|             $I18N_1$ = $MSG_EXTERNAL_7825031864601787094$$APP_SPEC_TS_1$; |             $I18N_1$ = $MSG_EXTERNAL_7825031864601787094$$APP_SPEC_TS_1$; | ||||||
|         } |         } | ||||||
| @ -3323,7 +3323,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "INTERPOLATION_1": "\uFFFD2\uFFFD" |           "INTERPOLATION_1": "\uFFFD2\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_3$; |         var $I18N_3$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_2310343208266678305$$APP_SPEC_TS__3$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} 30 {thirty} other {other: {INTERPOLATION}}}"); |             const $MSG_EXTERNAL_2310343208266678305$$APP_SPEC_TS__3$ = goog.getMsg("{VAR_SELECT, select, 10 {ten} 20 {twenty} 30 {thirty} other {other: {INTERPOLATION}}}"); | ||||||
|             $I18N_3$ = $MSG_EXTERNAL_2310343208266678305$$APP_SPEC_TS__3$; |             $I18N_3$ = $MSG_EXTERNAL_2310343208266678305$$APP_SPEC_TS__3$; | ||||||
|         } |         } | ||||||
| @ -3335,7 +3335,7 @@ describe('i18n support in the template compiler', () => { | |||||||
|           "INTERPOLATION": "\uFFFD1:1\uFFFD" |           "INTERPOLATION": "\uFFFD1:1\uFFFD" | ||||||
|         }); |         }); | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_7186042105600518133$$APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$startTagSpan} {$icu_1} {$closeTagSpan}", { |             const $MSG_EXTERNAL_7186042105600518133$$APP_SPEC_TS_0$ = goog.getMsg(" {$icu} {$startTagSpan} {$icu_1} {$closeTagSpan}", { | ||||||
|               "startTagSpan": "\uFFFD*2:1\uFFFD\uFFFD#1:1\uFFFD", |               "startTagSpan": "\uFFFD*2:1\uFFFD\uFFFD#1:1\uFFFD", | ||||||
|               "closeTagSpan": "\uFFFD/#1:1\uFFFD\uFFFD/*2:1\uFFFD", |               "closeTagSpan": "\uFFFD/#1:1\uFFFD\uFFFD/*2:1\uFFFD", | ||||||
| @ -3400,7 +3400,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             const $MSG_EXTERNAL_6318060397235942326$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male {PH_A}} female {female {PH_B}} other {other {PH_WITH_SPACES}}}"); |             const $MSG_EXTERNAL_6318060397235942326$$APP_SPEC_TS_0$ = goog.getMsg("{VAR_SELECT, select, male {male {PH_A}} female {female {PH_B}} other {other {PH_WITH_SPACES}}}"); | ||||||
|             $I18N_0$ = $MSG_EXTERNAL_6318060397235942326$$APP_SPEC_TS_0$; |             $I18N_0$ = $MSG_EXTERNAL_6318060397235942326$$APP_SPEC_TS_0$; | ||||||
|         } |         } | ||||||
| @ -3439,7 +3439,7 @@ describe('i18n support in the template compiler', () => { | |||||||
| 
 | 
 | ||||||
|       const output = String.raw ` |       const output = String.raw ` | ||||||
|         var $I18N_0$; |         var $I18N_0$; | ||||||
|         if (ngI18nClosureMode) { |         if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) { | ||||||
|             /** |             /** | ||||||
|              * @desc descA |              * @desc descA | ||||||
|              * @meaning meaningA |              * @meaning meaningA | ||||||
|  | |||||||
| @ -2070,7 +2070,7 @@ const NG_I18N_CLOSURE_MODE = 'ngI18nClosureMode'; | |||||||
|  * |  * | ||||||
|  * ``` |  * ``` | ||||||
|  * var I18N_1; |  * var I18N_1; | ||||||
|  * if (ngI18nClosureMode) { |  * if (typeof ngI18nClosureMode !== undefined && ngI18nClosureMode) { | ||||||
|  *     var MSG_EXTERNAL_XXX = goog.getMsg( |  *     var MSG_EXTERNAL_XXX = goog.getMsg( | ||||||
|  *          "Some message with {$interpolation}!", |  *          "Some message with {$interpolation}!", | ||||||
|  *          { "interpolation": "\uFFFD0\uFFFD" } |  *          { "interpolation": "\uFFFD0\uFFFD" } | ||||||
| @ -2098,10 +2098,9 @@ export function getTranslationDeclStmts( | |||||||
|   const statements: o.Statement[] = [ |   const statements: o.Statement[] = [ | ||||||
|     declareI18nVariable(variable), |     declareI18nVariable(variable), | ||||||
|     o.ifStmt( |     o.ifStmt( | ||||||
|         o.variable(NG_I18N_CLOSURE_MODE), |         createClosureModeGuard(), createGoogleGetMsgStatements( | ||||||
|         createGoogleGetMsgStatements( |                                       variable, message, closureVar, | ||||||
|             variable, message, closureVar, |                                       i18nFormatPlaceholderNames(params, /* useCamelCase */ true)), | ||||||
|             i18nFormatPlaceholderNames(params, /* useCamelCase */ true)), |  | ||||||
|         createLocalizeStatements( |         createLocalizeStatements( | ||||||
|             variable, message, i18nFormatPlaceholderNames(params, /* useCamelCase */ false))), |             variable, message, i18nFormatPlaceholderNames(params, /* useCamelCase */ false))), | ||||||
|   ]; |   ]; | ||||||
| @ -2112,3 +2111,17 @@ export function getTranslationDeclStmts( | |||||||
| 
 | 
 | ||||||
|   return statements; |   return statements; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Create the expression that will be used to guard the closure mode block | ||||||
|  |  * It is equivalent to: | ||||||
|  |  * | ||||||
|  |  * ``` | ||||||
|  |  * typeof ngI18nClosureMode !== undefined && ngI18nClosureMode | ||||||
|  |  * ``` | ||||||
|  |  */ | ||||||
|  | function createClosureModeGuard(): o.BinaryOperatorExpr { | ||||||
|  |   return o.typeofExpr(o.variable(NG_I18N_CLOSURE_MODE)) | ||||||
|  |       .notIdentical(o.literal('undefined', o.STRING_TYPE)) | ||||||
|  |       .and(o.variable(NG_I18N_CLOSURE_MODE)); | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user