ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 2.0:
ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ 2.0:
NgLocalization
ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ@vicb Π― Π²ΠΈΠ΄Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ i18n Π² ΡΠ΅ΠΏΠΎ angular. ΠΠ°ΠΊ ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ https://github.com/angular/i18n? ΠΡΠΎ Π½ΠΎΠ²Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π°?
@thelgevold, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅ΡΠ΅ΠΉ Π² ng2, Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ ΡΠ°Π½Π½Π΅Π³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ.
ΠΡΠΈΠ²Π΅Ρ, Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ?
ΠΠ½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΌΠΎΠ³Ρ Π»ΠΈ Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠ»ΡΡΠΈ Π² ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°, ΠΊΠ°ΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Ρ angular-translate.
{{ 'HOMEPAGE__ACTION__SIGNUP'Β | translateΒ }}
ΠΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ΄Π½ΠΎ Π²Π½Π΅ΡΠ½Π΅Π΅ Π»ΠΈΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ·ΡΠΊΠΈ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ JSON / po, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·ΡΠΊ). ΠΡΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ·ΡΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅, ΠΎΠ½ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΊΠΎΠ΄Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
@marcalj (ΡΡΡΠ°ΡΠ΅Π²ΡΠ°Ρ) ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ https://docs.google.com/document/d/1mwyOFsAD-bPoXTk3Hthq0CAcGXCUw-BtTJMR4nGTY-0/edit.
ΠΠ°Ρ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΠΈΠΊΡΠΎΡ! ΠΡΡΡ Π»ΠΈ ΠΏΠ»Π°Π½Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ²? ΠΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅.
@marcalj, Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π²ΡΠΏΡΡΠΊ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ (Π½ΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ Π΄Π»Ρ 2.0)
ΠΡΠ΄Π΅Ρ Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ² (Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ
Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°)?
ΠΡΡΡ Π»ΠΈ ΠΏΠ»Π°Π½Ρ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ i18n Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π’Π΅ΠΊΡΡΠΈΠΉ ΠΏΠ»Π°Π½ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ.
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ. Π£ Π½Π°Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 2.0.
Π§ΡΠΎ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π² Π²ΠΈΠ΄Ρ ΠΏΠΎΠ΄ Β«Π΄Π²ΠΎΠΈΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΒ»? ΠΡΠ΄Π΅Ρ Π»ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΅ΡΡΡΡΠΎΠ² Π±ΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ Π½Π° PO / MO, Π³Π΄Π΅ MO ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ PO Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ»ΠΎΡ ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ XAML / BAML.
Π― Π½Π΅ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΡΠ΅ΠΊΡΡΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Anguar. ΠΡΠΈΡΠΈΠ½Ρ:
Π§ΡΠΎ Π½Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ
Π― Π³ΠΎΡΠΎΠ² ΠΏΠΎΠΌΠΎΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠΌΠΎΡΡ.
@ jaska45 ΡΠ°ΠΌΠΎΠ΅ ΡΠΎ, ΡΡΠΎ Π²Π°ΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ±ΡΡΡΡΡ. ΠΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: Β«ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΌΠ΅Π½Ρ ΡΠ·ΡΠΊΠ° Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ.Β». Π‘ΠΌΠ΅Π½Π° ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ²Π»Π΅ΡΠ΅Ρ Π·Π° ΡΠΎΠ±ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ. ΠΠ²ΡΠΊ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ. Π‘ΠΌΠ΅Π½Π° ΡΠ·ΡΠΊΠ° - ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅Π΄ΠΊΠΎ, ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΡΠ°ΠΌΡΠΉ Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π² ΠΌΠΎΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΈ Π½Π΅ ΡΡΠΎΠΈΡ ΡΡΠ°ΡΠΈΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»ΠΈΠΉ.
@vicb Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΡΠΎΡ Β«Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΒ», Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ? Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ SAAS Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π½Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΡΠΎΡΠΌ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ»ΠΎ Π±Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
@ Angular / common DatePipe ( date_pipe.ts ) Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΎΡ TODO Π² ΡΡΡΠΎΠΊΠ΅ 15:
// TODO: move to a global configurable location along with other i18n components.
var defaultLocale: string = 'en-US';
ΠΠΊΠ»ΡΡΠ΅Π½Π° Π»ΠΈ Π² ΠΏΠ»Π°Π½Ρ i18n Π΄Π»Ρ Π²ΡΠΏΡΡΠΊΠ° 2.0 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π² DatePipe?
@vicb ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ·ΡΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· ΡΠ΅ΡΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ°ΠΊ, Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ Π»Π΅Π³ΠΊΠΈΠΌ?
ΠΡΡΡ ΠΎΠ΄Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ, ΠΏΡΠΎΡΡΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΠ°ΡΡ ΠΏΠΎ Π½ΠΎΡΠ°ΠΌ :)
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ i18n Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ gettext / po , Π²Π΅ΡΠ½ΠΎ ? ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½, ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° jsons ΠΈ xtb, Ρ ΠΏΡΠ°Π²? Π― ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ gettext Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½, ΡΡΠΎ ΠΎ Π½Π΅ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ, ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° Π³ΠΎΡΠΎΠ² ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π² Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ i18n, Π²ΠΎΡ ΠΎ ΡΠ΅ΠΌ Ρ Π΄ΡΠΌΠ°Ρ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° po Π΄Π»Ρ 2.0 Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· / Π² xliff.
ΠΏΡΠΎΡΡΠΈ Π·Π° ΡΠ²ΠΎΠΈ Π½ΠΎΡΠΈ!
ΠΠ°ΠΊΠΎΠ²Π° ΠΈΠ΄Π΅Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ XML? ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΈ Π² POT ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ PO Π² JSON Π² angular-gettext. ΠΠ½ Π½Π°ΠΌ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΡΠ»ΡΠΆΠΈΠ»:
// en-GB.json, cached into localStorage after first request
"en-GB": {
"Hello {{firstName}}": "{{firstName}}, Gutentag"
}
Π‘Π»ΡΡΠ°ΠΉΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ: Π΅ΡΡΡ ΠΌΡΡΠ»ΠΈ ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΡ URL Π² ΡΠΎΡΡΠ΅ΡΠ΅?
Π‘Π»ΡΡΠ°ΠΉΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ: Π΅ΡΡΡ ΠΌΡΡΠ»ΠΈ ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΡ URL Π² ΡΠΎΡΡΠ΅ΡΠ΅?
@vsavkin ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ»Π°Π½Ρ?
ΠΡ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΠΌ URL-Π°Π΄ΡΠ΅ΡΠ°ΠΌ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. Π£ Π½Π°Ρ Π±ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄Π΅ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π½ΠΎ ΠΌΡ Π½Π΅ ΠΏΡΠΈΠ½ΡΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
ng2 i18n Π²ΡΠ·Π²Π°Π» Ρ ΠΌΠ΅Π½Ρ Π³ΠΎΠ»ΠΎΠ²Π½ΡΡ Π±ΠΎΠ»Ρ. Π― ΠΈΡΠΊΠ°Π» Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ i18n Π² ΡΠΊΡΠΏΠΎΡΡΠ΅: D Π΄ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ ... ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΠ° ΠΈ ΠΊΠΎΠ΄, ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ°Π·ΠΈΠ»Π° ΠΌΠΎΠ»Π½ΠΈΡ:
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ°ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½.
Π― ΠΏΡΠ°Π², ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π»Ρ i18n Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ:
ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΏΠΎΠΊΠ° Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Β«i18nΒ», ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΡΠ΅-ΡΠ°ΠΌΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 2.0.
ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π»Ρ i18n Π² angular2 Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ?
@ concept-hf, ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ, ΡΠΌ. Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Π» ΡΠ°Π½Π΅Π΅ Π² ΡΡΠΎΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ.
ΠΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ng-xi18n, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» xliff.
Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠ°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² ΠΈ ΡΠΈΠ»ΡΡΡ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ICU
@vicb ΠΡΠ΄Π΅Ρ Π»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ RC5? :)
ΠΠ°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ RC5 ... ΠΈΠ½Π°ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π² RC6
ΠΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ XLIFF Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ? 1.2 ΠΈΠ»ΠΈ 2.0 ΠΈΠ»ΠΈ ΠΎΠ±Π°?
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΈ ΡΠ΄ΡΠΎ ββangular 2 ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² html, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ angular-gettext?
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΠΈ, ΡΡΠΎ ΡΠ°ΡΡΡ Β«i18n messagesΒ» ng2-translate
ΡΡΠ°Π½Π΅Ρ Π½Π΅Π½ΡΠΆΠ½ΠΎΠΉ, Π° Angular ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°?
Π΅ΡΠ»ΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ {{ 'TRANSLATION_ID' | translate }}
, ΠΌΠΎΠ³Ρ Π»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΉΡΠ°Ρ? (rc5)
ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ
@vicb ΠΡΠΎ Π₯ΠΠ ΠΠ¨ΠΠ ΠΠΠΠΠ‘Π’Π !! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ Π·Π° ΡΡΠ΅ΡΠ΄Π½ΡΡ ΡΠ°Π±ΠΎΡΡ, Π»ΡΠ±ΠΈΡΠ΅ angular 2!
ΠΡΡΡ Π»ΠΈ ΠΏΠ»Π°Π½Ρ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ json (none-xml)?
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΠΈ, ΡΡΠΎ ΡΠ°ΡΡΡ Β«ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ i18nΒ» ng2-translate ΡΡΠ°Π½Π΅Ρ Π½Π΅Π½ΡΠΆΠ½ΡΠΌ, Π° Angular ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°?
ΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ i18n. ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ng2-translate.
Π΅ΡΠ»ΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ {{'TRANSLATION_ID' | ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ }}
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: <p i18n>TRANSLATION_KEY</p>
/ <p i18n>test in src lang</p>
. Π‘ΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅.
Π»ΡΠ±Π»Ρ angular 2!
Ρ ΡΠΎΠΆΠ΅ !
ΠΡΡΡ Π»ΠΈ ΠΏΠ»Π°Π½Ρ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ json (none-xml)?
ΠΠ΅ ΡΠ΅ΠΉΡΠ°Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΠΌΡ ΠΎΡΠ΅Π½ΠΈΠΌ Π΅Π³ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠΌ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅.
ΠΠ»Ρ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (xliff) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π·Π±ΠΈΡΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» Π½Π° ΡΠ°ΠΉΠ»Ρ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°? ΠΡΠ»ΠΈ Π΄Π°, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ NgModules (0..1 xliff Π½Π° NgModule)?
Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (xliff) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ AoT (ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ) ΡΠ°ΠΉΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ·ΡΠΊ. ΠΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π²Π΅ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ).
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
@marinho ng2-translate Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ» (ΠΈ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ) ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ°).
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ angular 2 Π² i18n ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
(ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΏΠΎΠ», Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ.
ΠΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ i18n ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ ΡΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ ng2-translate, Ρ ΠΎΡΠΊΠ°ΠΆΡΡΡ ΠΎΡ Π½Π΅Π΅, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΠ· i18n Π² ng2-translate (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ xliff) ΠΈ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π½Π° ΡΠΎΠΌ, ΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ i18n ' Ρ Π΄Π΅Π»Π°Ρ
ΠΠΌΠ΅ΡΡΡΡ Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Ρ RC-6? ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΌΠ½Π΅ ΠΈΡ
Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ - Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π»ΡΠ±ΡΠΌΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
_Update_ : Π― Π²ΠΈΠΆΡ, ΡΡΠΎ Π΅ΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Π±Π»ΠΎΠ³Π΅ ΠΎ RC6, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ (ng-xi18n). ΠΡΡΡ Π»ΠΈ ΠΊ Π½Π΅ΠΌΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ?
ΠΏΠΎΠΊΠ° Π½Π΅Ρ, Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π» Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ :)
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ng-xi18n ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ngc: Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π² ΡΠ²ΠΎΠΉ package.json, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Β«ng-xi18nΒ»
ΠΏΡΠΈΠΌΠ΅Ρ: "extract": "ng-xi18n"
Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ npm run extract
, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» messages.xlf Ρ Π²Π°ΡΠΈΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°
ΠΡΠΈΠ²Π΅Ρ,
Π‘ Π£Π²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΊΠΎΠ³Π΄Π° Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ng-xi18n, ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΏΡΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΡΠ°ΠΉΠ» tsconfig.json ΠΈΠ»ΠΈ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Ρ ΡΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ²Π°Π»ΠΈΡΡΡΡ). ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π°Π²ΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠ΅Ρ Π°Π» Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ :)
ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ i18n Ρ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠ΅ΠΉ?
ΠΠΎΠΊΠ° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π£ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ?
ΠΠ° ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ: Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ.
ΠΠ»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ: ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠ΅ΠΉ (KEY_A, KEY_B, ...) ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠΈΡ
ΠΊΠ»ΡΡΠ΅ΠΉ. Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ i18n Π½Π° ΡΠ²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΠΊΡΠΈΠΏΡ ΡΠΎΠ·Π΄Π°Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ xlf trans.
<div *ngFor="let k of myKeys" i18n>{{k}}</div>
<trans-unit id="fdbc61d14108f805b0c5234d1af631b8a03f8001" datatype="html">
<source><x id="INTERPOLATION"/></source>
<target/>
</trans-unit>```
ΠΡ , Ρ ΠΏΠΎΠ½ΡΠ». Π― Π΄ΡΠΌΠ°Ρ, ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ, Π° Π½Π΅ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ
ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ Π²ΠΎΠΏΡΠΎΡ Π² ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠΉΡΠ΅ GH Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΡ i18n Π² ΡΠΊΡΠΈΠΏΡΠ΅?
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
let _THIS_IS_A_I18N_STRING = ???
alert(_THIS_IS_A_I18N_STRING);
Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π», ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ΄Π΅ js, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ
Π― ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ $translate.instant('KEY_FOO_BAR');
... Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ ΡΠ°Π±Π»ΠΎΠ½Π°.
@ zh99998 @marcalj ΠΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΈΠΌΠΏ. ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ (ΠΈ ΡΡΡΠ»ΠΊΡ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ).
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΡΠΆΠΈΡΠ΅ Π·Π΄Π΅ΡΡ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ; Π― Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠΎ.
Π‘ Π£Π²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ
@vicb @ db6edr https://github.com/angular/angular/issues/11405 Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ! :)
ΠΠ½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ i18n Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ UI / Component?
ΠΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π½Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ:
ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠ°ΠΊ (ΡΡΠ½ΠΊΡΠΈΡ) NgModules, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠ΅Π΅ΡΡΡΠ΅ npm. ΠΠ°ΡΠ΅ΠΌ, Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°) Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ xlf ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΉ XLF ΠΊΠ°ΠΊ ΠΠΠ ΠΠΠΠΠ«.
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Π½Π°Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ AuthenticationComponent, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ (Β«ΠΡ ΠΎΠ΄Β», Β«AnmeldenΒ» ΠΈ Ρ. Π.). Π ΠΈΠ΄Π΅Π°Π»Π΅ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ messages.us.xlf, messages.de.xlf ΠΈ Ρ. Π. Π‘ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ npm, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ AuthenticationComponent. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΠΈ xlf-ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΠ ΠΠΠΠΠΠ (ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ?).
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ AOT ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ngc ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ngfactory Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ngfactory Π² npm ΠΈ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ngfactory ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ngc Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ? ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π²ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΊΠ°ΠΆΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
@paumayr Ρ Π½Π°Ρ Π΅ΡΠ΅ Π½Π΅Ρ ΡΡΠΎΠ³ΠΎ
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 2.0 final Ρ Π²Π°Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ°, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ Π²Π°ΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ, ΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ
ΠΡΡΡ Π»ΠΈ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° / Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ XLIFF? Π― ΡΠΎΠ·Π΄Π°Π» Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡ ΠΎ .po
ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Poedit), ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π» ΠΌΠΎΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ (ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ messages.LANG-lang.xlf
ΠΈΠ· messages.xlf
Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Ρ).
Π’Π°ΠΊΠΆΠ΅: Π΅ΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ Π΄Π»Ρ ng-xi18n
ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅ΡΡΠ° Π΄ΠΎΠ±ΡΡΠΈ? Π― Ρ
ΠΎΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΈΡ
Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΉ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅: Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΡΡΠ½ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΉΠ» messages.LANG-lang.ts
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° messages.LANG-lang.xlf
, ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» .xlf
ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π±ΡΠ΄Π΅Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ (Π΄Π»Ρ JIT, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ΅Π»ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ)?
Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ xlf ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° :)
ΠΡΡΡ Π»ΠΈ Π³ΠΈΠ΄Ρ
@ocombe ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
Π― ΠΏΡΠΈΡΠ΅Π» Ρ ΡΠΎΠ½Π° .po
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΡΠΏΡΡΠΊ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ - ΠΌΡ ΠΎΡΠ΅Π½ΠΈΠΌ Π΅Π³ΠΎ ΠΏΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ.
Π’Π΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ po <> xlf?
Π΅ΡΡΡ Π»ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ Π΄Π»Ρ ng-xi18n ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΌΠ΅ΡΡΠ° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ?
ΠΏΠΎΠΊΠ° Π½Π΅Ρ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΠ°ΠΉΠ» .xlf Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ
Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°ΡΡ Π²ΡΡΡΠ½ΡΡ.
ng-xi18n
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ,
ngc
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠΊΠ° ΠΎΡΡΡΠ°ΡΡ, Π½ΠΎ @ocombe Π½Π°Π΄ ΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΈΠ· ΠΎΡΠΏΡΡΠΊΠ°: D
ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ°Π·Π΄Π½ΠΈΠΊΠΈ?
ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ @ocombe ΠΈ @vicb Π·Π° Π±ΡΡΡΡΡΠΉ ΠΎΡΠ²Π΅Ρ. Π― Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ Π² ΡΠΎΠΌ ΠΆΠ΅ Π΄ΡΡ Π΅ :)
@vicb Ρ
ΠΎΡΠΎΡΠΎ, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π΄Π²Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² ΠΠΠ ΠΠΠΠΠΠ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° ΡΡΠΎΠ²Π½Π΅ NgModule?), ΠΡΡΠ³ΠΎΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ngfactory.ts Π² ngc. Π― ΠΎΡΠΊΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΠΠ ΠΠΠΠΠΠ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° AOT Ρ ngfactories, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ Π² npms, - ΡΡΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ!
ΠΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Π²ΠΈΠΆΡ Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ StephenFluin i18n , Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ·ΡΠΊ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ. ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΈΠ»ΠΈ Π±ΡΠ΄ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π±Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ·ΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
@ckemmler ΠΊΠ°ΠΊ @vicb, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Π²ΡΡΠ΅ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ (https://github.com/angular/angular/issues/9104#issuecomment-229975293), Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Π±Π»ΠΎΠ½Π° ngfactories /.
Π ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ», ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ·ΡΠΊ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ·ΡΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @paumayr. ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π²ΠΈΠ΄Π΅Π». ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ? Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ - ΡΡΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΠΏΡΠ΅Π³ΡΠ°Π΄Π°, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ? Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π»ΡΠ΄ΠΈ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°ΠΌΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Angular ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Π½Π΅ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ², Π½ΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅: Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌΡ ΠΎΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΡΠ°Π·ΡΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ°, ΡΡΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ UX, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π² ΠΌΠΎΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅.
Π― ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ: ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΡΡΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, Π²Ρ Π²ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ·ΡΠΊ, Π°ΠΊΡΠΈΠ²Π½ΡΠΉ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΊΡΠΎΠΏΠΎΡΠ»ΠΈΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅Ρ
ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π»ΠΊΠΈΠΌ ΡΡΠΈΡΡΠΎΠΌ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈ Ρ
Π»ΠΎΠΏΠ½ΡΡΡ! Π½Π°Π΄ΠΎ "ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅", ΠΏΡΠΎΡΠΈΡΠ°ΡΡ -> ΡΠ½ΠΎΠ²Π° Π½Π°ΡΠ°ΡΡ Π²ΡΠ΅ Ρ Π½ΡΠ»Ρ?
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΡΠΎΡΠ½ΠΈΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½ Β«ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΒ» Π² ΡΠ°ΠΌΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΠΏΠΎΡΡΠ΅ (Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π€ΡΠ½ΠΊΡΠΈΠΈ, Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² 2.0:Β»)? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΡ ΠΆΠ΅ URL-Π°Π΄ΡΠ΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
@ocombe ΡΡ ΠΏΡΠ°Π² :-)
@ckemmler Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ "3-ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠΌΡ" - ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΊΡΠΎΠΏΠΎΡΠ»ΠΈΠ²ΠΎ Π²ΡΡΡΠΈΠ»ΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ: Π²Ρ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠ·ΡΠΊ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ΅ΡΡΡΡ Π²Π°ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ... Π Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΡΠΎΡΠΎΠΏΠΈΡΡΡΡ Π΄ΠΎ 20-ΠΌΠΈΠ½ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΡΠ°ΠΉΠΌ-Π°ΡΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΡΡ ... Π’Π°ΠΊ ΡΡΠΎ Π½Π΅Ρ, ΡΡΠΎ Π½Π΅ ΠΌΠ΅Π½Ρ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°. Π§ΡΠΎ ΠΌΠ΅Π½Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ² (Π²ΡΠ·ΠΎΠ² ngc Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΡΠ»ΡΡΡΡΡ).
ΠΡΠ΅ ΠΎΠ΄Π½Π° Π²Π΅ΡΡ, Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ ng-xi18n ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ . ΠΠ΄Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅? Π― ΠΏΠΎΠ³ΡΠ³Π»ΠΈΠ», Π½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½Π°ΡΠ΅Π».
@ckemmler ΠΡΠΌΠ°Ρ, ΡΡΠΎ Π΅ΡΠ΅ WIP. Π― ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΡ Π΅Π³ΠΎ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΈΠ·ΡΡΠΈΡΡ :)
@paumayr ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΡΡΠΎΠΊ, Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ ΡΠ΅ΡΡΠ°, Π½ΠΎ ΠΎΠ½ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ tsc
@ckemmler ΠΏΠΎΠΊΠ° Π½ΠΈΠ³Π΄Π΅, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ (Π΅ΡΠ»ΠΈ Ρ Π½Π°ΠΉΠ΄Ρ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ: D)
@ocombe, Π³Π΄Π΅ ΠΌΡ Π½Π°ΠΉΠ΄Π΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°? ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½Π° angular.io? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ², Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π²ΡΠΏΡΡΠ΅Π½Π° ΠΎΠ½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ.
Π΄Π°, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π½Π° angular.io, Ρ Π΄ΠΎΠ±Π°Π²Π»Ρ ΡΡΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠ°Π½Π°Π» Π΄Π»Ρ ΠΎΠ±ΡΠΈΡ
ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ.
ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ.
Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠΌΠ° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½Π΅Π΅.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ !
@christiandreher @fank @ckemmler @marcalj @dagerber @esinek ΠΌΠΎΠΉ PR Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ i18n Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π΄Π΅ΡΡ: https://github.com/angular/angular.io/pull/2309
β οΈ ΡΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡΠ°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ PR, ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ΅Π½ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ
@ocombe Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠ΅Ρ, ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ gitter ΠΈ StackOverflow
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΌΠ΅Π½Ρ ΡΠ·ΡΠΊΠ° Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ i18n Π² AngularJS. ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π΅ Angularonic. ΠΠ΅ΡΡ UX Π² Angular Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΡΡΡΠ°Π½ΠΈΡΡ. Π’Π΅ΠΊΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ i18n (Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ) Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ SPA.
Π²Π·Π½ΠΎΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ!
@anderflash Π― Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ Π²Π°ΡΠΈΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ i18n.
ΠΡΡΡ Π΅ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ng2-translate, ng2-i18next Π² ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ), ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ·ΡΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎ ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ·ΡΠΊ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ).
Π― Π²ΠΈΠΆΡ ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ i18n ΠΊΠ°ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ². Π― Π½Π΅ Π²ΠΈΠΆΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ·ΡΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ): ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΡΠ·ΡΠΊ ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ°.
@anderflash Π― ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ
ΠΎΡΠ΅Π» Π±Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π²Π΅Π±-ΡΠ°ΠΉΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ΅) ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΠΎΡΡ ΠΏΡΠΈ ΡΠΌΠ΅Π½Π΅ ΡΠ·ΡΠΊΠ° Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ / ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π― Π²ΠΊΠ»ΡΡΠΈΠ» (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΠΏΡΠΎΡΠΈΠ» ΠΎΠ± ΡΡΠΎΠΌ, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½). ΠΠΎ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Ρ Π΄ΡΠΌΠ°Ρ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΌΠΎΡΡΡ Π²ΠΎΠΊΡΡΠ³, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ ΡΠΊΠ»ΠΎΠ½Π΅Π½ ΡΠΎΠ³Π»Π°ΡΠ°ΡΡΡΡ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΌΠΈΡΠΎΠΌ :)
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ 1000 Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠ»ΡΠΊΠΎ 1 Β«ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ·ΡΠΊΒ», ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»ΠΈ Π±Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
999 Π²Π΅ΡΠ΅ΠΉ, Π½Π΅ ΠΆΠ΅ΡΡΠ²ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ
ΠΎΡΡ ΠΌΠ°Π»Π΅ΠΉΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ 1 Π²Π΅ΡΠΈ.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Β«ΡΡΠΎΠΈΠΌΠΎΡΡΡΒ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ... Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, Π½Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ Π²Π·Π²Π΅ΡΠΈΡΡ Π²ΡΠ΅:
Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (iOS, Android, Windows), ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ i18n. ΠΠ°ΠΆΠ΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΌΠ΅Π½Ρ ΡΠ·ΡΠΊΠ° (Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅). ΠΠ°ΡΡΠ°ΡΡ Π½Π° Β«ΠΆΠΈΠ²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ°Β» Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΡΠΎΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΠΈ (Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ).
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Android ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ»ΡΡΠ°ΡΠΌΠΈ.
ΠΠΎ ΡΡΡΠΈ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Android ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ
: ΠΏΠΎΠ²ΠΎΡΠΎΡ ΡΠΊΡΠ°Π½Π° ΠΈΠ»ΠΈ ... ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ°.
Π ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²ΡΡ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ Π½ΡΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»Ρ, ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π ΠΊΠ°ΠΆΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ° ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ΅ΡΠ° Π΄Π°Π½Π½ΡΡ (localStorage?) ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
@MrCroft
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΡΠΎΡΠ΅ ΠΎΡΠΊΡΡΡΡ 2 Π²ΠΊΠ»Π°Π΄ΠΊΠΈ (ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°)
ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅ @vicb Π·Π° Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ...
ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΠΏΠΈΡΠ°Π½Ρ Π·Π΄Π΅ΡΡ:
https://github.com/IdeaBlade/angular.io/blob/b3e44c88dd8cd6b37da64e56d275e058314922fd/public/docs/ts/latest/guide/i18n.jade#L67
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠΏΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Google Maps API, ΠΏΠ»Π°Π³ΠΈΠ½Ρ FB, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π±Π΅Π· ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² JS ΠΈ Ρ. Π., ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈ ΠΏΡΠΎΡΠ΅.
Π΄Π°, ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° - Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ...
@christiandreher @fank @ckemmler @marcalj @dagerber @esinek ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ i18n ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π½Π° angular.io: https://angular.io/docs/ts/latest/cookbook/i18n.html
@ocombe Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΈ
ΠΡΡΡ Π»ΠΈ ΠΏΠ»Π°Π½Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ng-xi18n
ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ES6, ΠΏΠΎΠΊΠ° Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Β«ΠΏΡΡΡΠΎΠΉΒ» messages.xlf?
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Π½ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅? Π ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ ...
https://github.com/angular/angular/issues/9104#issuecomment -245337147
@yandreiy Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΡΡΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π²ΡΡΠ΅;)
@select ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ i18n
HTML Π² ΡΠ²ΠΎΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ
? Π±ΡΠ΄ΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΡ Ρ ΡΠ΅Π³Π°ΠΌΠΈ!
PS: Π― Π½Π°ΠΏΠΈΡΠ°Π» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Π±Π»ΠΎΠ³Π΅ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ 2 ΠΌΠΎΠ΄ΡΠ»Ρ: ΠΌΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ AppModule
ΠΈ SecondModule
ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ²ΠΎΠΉ AppModule
(ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π½Π΅ Π»Π΅Π½ΠΈΠ²ΡΠΉ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ - Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π½ΠΈΡΠ°, Π½ΠΎ Ρ Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊ).
Π ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Ρ
ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ· SecondModule
, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΌΠΎΠ΅ΠΌ SecondModule
ΠΌΠ΅Π½Ρ Π΅ΡΡΡ:
exports: [ SomeComponent ]
(Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΏΠ»ΡΡ Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡ, Ρ ΠΎΡΡ Ρ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»).
Π’Π΅ΠΏΠ΅ΡΡ SomeComponent
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° AppModule
.
ΠΠΎ Π·Π°ΠΏΡΡΠΊ ./node_modules/.bin/ng-xi18n -p src/
Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ: Cannot determine the module for component SomeComponent!
ΠΠΎΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΆΡΡΠ½Π°Π»:
$ ./node_modules/.bin/ng-xi18n -p src/
Error: Cannot determine the module for component SomeComponent!
at D:\wamp\www\bs\pdp.ng2\node_modules\@angular\compiler-cli\src\extract_i18n.js:101:27
at Array.map (native)
at D:\wamp\www\bs\pdp.ng2\node_modules\@angular\compiler-cli\src\extract_i18n.js:97:52
at Array.map (native)
at Extractor.extract (D:\wamp\www\bs\pdp.ng2\node_modules\@angular\compiler-cli\src\extract_i18n.js:95:28)
at extract (D:\wamp\www\bs\pdp.ng2\node_modules\@angular\compiler-cli\src\extract_i18n.js:16:35)
at Object.main (D:\wamp\www\bs\pdp.ng2\node_modules\@angular\tsc-wrapped\src\main.js:30:16)
at Object.<anonymous> (D:\wamp\www\bs\pdp.ng2\node_modules\@angular\compiler-cli\src\extract_i18n.js:160:9)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
Extraction failed
ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Ρ ΠΎΡΠΊΡΡΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°? ΠΠ»ΠΈ ΠΌΠ½Π΅ Π·Π΄Π΅ΡΡ Π½ΡΠΆΠ΅Π½ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄?
Π― ΠΊΡΠ°ΡΠΊΠΎ ΠΈΠ·Π»ΠΎΠΆΠΈΠ» Π½Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π»Ρ i18n Π² ΡΠ²ΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅
ΠΠ½ Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΡ
Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Ρ. Π.
ΠΠ°Π΄Π΅ΡΡΡ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
@MrCroft ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠ½ΠΎ
@MrCroft @ spock123 ΠΡΠ»ΠΈ Ρ Π²Π°Ρ
ΠΡΠΈ ΡΡΠΎΠΌ Π²Π°ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π±ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ββΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ ΠΈ ΡΠΊΡΡΡΠ°ΠΊΡΠΎΡΠ΅ - Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π΄Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠΏΡΡΠΊ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ.
@vicb Π― ΡΠΈΡΠ°Π» Π²ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ i18n ΠΈ ΠΎΡΠ΅Π½Ρ Π²Π·Π²ΠΎΠ»Π½ΠΎΠ²Π°Π½ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ AOT.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΠ΅Π³ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ΅ΠΊΡΡ Π°ΡΡΠΈΠ±ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
<img src="icon.png" alt="This Text should be Translated!" />
Π― ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ» ΡΡΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΈΠ»ΠΈ ΠΌΠ½Π΅ ΡΡΠΎΠΈΡ ΠΎΡΠΊΡΡΡΡ Π·Π°ΡΠ²ΠΊΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
@martinmcwhorter, Ρ Π΄ΡΠΌΠ°Ρ, Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ i18n-alt
@actimeo ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Ρ
<input type="text" i18n-placeholder placeholder="Who do you want to find?"/>
ΠΡΠΎ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ ... Π² ΠΎΠΆΠΈΠ΄Π°ΡΡΠ΅ΠΌ PR https://github.com/angular/angular.io/pull/2740
Π― Π±ΡΠ΄Ρ Π½Π°ΡΡΠ°ΠΈΠ²Π°ΡΡ Π½Π° Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ / cc @wardbell @Foxandxss
ΠΡ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΠΌ URL-Π°Π΄ΡΠ΅ΡΠ°ΠΌ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. Π£ Π½Π°Ρ Π±ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄Π΅ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π½ΠΎ ΠΌΡ Π½Π΅ ΠΏΡΠΈΠ½ΡΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
ΠΡΡΡ Π»ΠΈ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ? Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ± ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΠΌΠΈ ΠΌΠ°ΡΡΡΡΡΠ°ΠΌΠΈ.
ΠΡΠΈΠ²Π΅Ρ, ΡΠ΅Π±ΡΡΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Ρ Angular i18n ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΠΊΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΡ . ΠΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠ΄? Π§ΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ°:
throw new Error('This request has failed')
ΠΠ°ΠΊ ΠΌΠ½Π΅ ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ?
Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. Π ΡΡΠΎΠΌ
case, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ Π²Π°ΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄ Ρ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ.
Π ΠΏΠ½, 12 Π΄Π΅ΠΊΠ°Π±ΡΡ 2016, 15:04 ΠΠ°Π½ΠΈΡΠ»Π΅ ΠΠΈΠ΄ΠΎΠ»ΠΈ, [email protected]
Π½Π°ΠΏΠΈΡΠ°Π»:
ΠΡΠΈΠ²Π΅Ρ, ΡΠ΅Π±ΡΡΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Ρ Angular i18n ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΠΊΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°
Π²Π·Π³Π»ΡΠ΄Ρ. ΠΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠ΄? Π§ΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ°:Π²ΡΠ±ΡΠΎΡΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ('ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π½Π΅ ΡΠ΄Π°Π»ΡΡ')
ΠΠ°ΠΊ ΠΌΠ½Π΅ ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ?
-
ΠΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π°Ρ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ.
ΠΡΠ²Π΅ΡΡΡΠ΅ Π½Π° ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ Π½Π°ΠΏΡΡΠΌΡΡ, ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π° GitHub
https://github.com/angular/angular/issues/9104#issuecomment-266453448 ,
ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊ
https://github.com/notifications/unsubscribe-auth/ABI5-kyVvBnng0jPTwvP3ZdHzumtHERYks5rHWKQgaJpZM4IxhKY
.
ΠΠ°, Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
. ΠΡΠ±Π°Ρ ΡΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π° Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. Π ΡΡΠ°ΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ngTranslate Π΄Π»Ρ Angular1 Π΅ΡΡΡ ΡΠ»ΡΠΆΠ±Π° $translate
ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΠΏΠΎΠ·ΠΆΠ΅. ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ? ΠΈΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ Π²ΡΡ
ΠΎΠ΄?
ΠΠ»Π°Π½ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Π² TS - Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² GH.
@vicb ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΡΠ»ΠΊΡ?
@ghidoz Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈΠΉ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ:
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @ db6edr , Ρ ΠΏΠΎΠ½ΡΠ». ΠΠΎ ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ Π²Π΅Π±-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΠΌΠΎΠ³Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ.
@vicb Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠ»Π°Π½ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
@feloy Π Π°Π½ΡΡΠ΅ Π²Ρ ΠΏΠΈΡΠ°Π»ΠΈ: Β«ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ - ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΠΏΡΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅Β». ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π»ΠΎΠΊΠ°Π»Ρ - ΠΠ°Π½Π°Π΄Π°, Π²Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΈΠΉ; Π΅ΡΠ»ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ ΠΠ΅Π»ΡΠ³ΠΈΡ, Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ Π³ΠΎΠ»Π»Π°Π½Π΄ΡΠΊΠΈΠΉ, ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ΅ΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΆΠ½ΠΎΠΌ Π’Π΅Ρ Π°ΡΠ΅, Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΠ°Π½ΡΠΊΠΈΠΉ? Π― Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ Π² Π¨Π²Π΅ΠΉΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΠ½Π΄ΠΈΡ ΠΈ Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΠΎΠ± ΠΈΠΌΠΌΠΈΠ³ΡΠ°Π½ΡΠ°Ρ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΡΠ°Π½Π°Ρ - Ρ Π½Π°Π΄Π΅ΡΡΡ, Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ ΡΡΡΡ. Π Π΅Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ·ΡΠΊ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Angular 2 Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ, Ρ Π½Π΅ Π²ΠΈΠΆΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° "Π·Π°ΠΉΠΌΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ", ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΡ ΡΠ·ΡΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² ΡΠ°ΠΉΠ»Π΅ cookie, ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Ρ ΡΡΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·. ΠΡΠΎ Π»ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΈΠ²Π΅Ρ, @mLaird, Ρ Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΡΠ·ΡΠΊΠ°Ρ , Π° Π½Π΅ ΠΎ ΡΡΡΠ°Π½Π°Ρ , Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π² ΡΠ²ΠΎΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΠ΅Ρ Π°ΡΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠ²ΠΎΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΊΠ°ΠΊ es_US, ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΈΡΠΏΠ°Π½ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ.
ΠΊΠ°ΠΊΠ°Ρ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΠΎΡΠΎΠΆΠ½Π°Ρ ΠΊΠ°ΡΡΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
Π― ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π° ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅, ΠΈ ΡΠΎΡΡΠ°Π²Π»Ρ ΠΏΠ»Π°Π½.
@Philippe MARTIN ΠΠ°, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ
ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΡΠ΅ΠΌ Ρ ;-) ΠΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ - ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ
, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π² Π΄ΠΎΠΌΠ΅ Π΄ΡΡΠ·Π΅ΠΉ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π² Π°ΡΡΠΎΠΏΠΎΡΡΡ
ΠΊΠΈΠΎΡΠΊ ΠΈ Ρ. Π΄. ΠΈ Ρ. Π΄. ΠΠ½ΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ, ΡΠ΅ΠΌ
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
13 Π΄Π΅ΠΊΠ°Π±ΡΡ 2016 Π³., 15:06, ΠΠΈΠΊΡΠΎΡ ΠΠ΅ΡΡΠ΅ [email protected]
Π½Π°ΠΏΠΈΡΠ°Π»:
ΠΊΠ°ΠΊΠ°Ρ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΠΎΡΠΎΠΆΠ½Π°Ρ ΠΊΠ°ΡΡΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
Π― ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π° ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅, ΠΈ ΠΏΡΠΈΠ΄Ρ Ρ
ΠΏΠ»Π°Π½.-
ΠΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π°Ρ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ.
ΠΡΠ²Π΅ΡΡΡΠ΅ Π½Π° ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ Π½Π°ΠΏΡΡΠΌΡΡ, ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π° GitHub
https://github.com/angular/angular/issues/9104#issuecomment-266846439 ,
ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊ
https://github.com/notifications/unsubscribe-auth/ADDSb05rHEK1RipS1btty5TFsQAwiE1Mks5rHvqygaJpZM4IxhKY
.
-
ΠΠ°ΠΉΠΊ ΠΡΡΠ΄
12 Arbor Creek Drive, ΠΠΈΡΡΡΡΠΎΡΠ΄, ΠΡΡ-ΠΠΎΡΠΊ 14534
[email protected]
"... ΠΏΠΎΠΌΠ½Ρ Ρ ΠΎΠ±Π΅ΠΈΡ
ΡΡΠΎΡΠΎΠ½, ΡΡΠΎ Π²Π΅ΠΆΠ»ΠΈΠ²ΠΎΡΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΡΠ»Π°Π±ΠΎΡΡΠΈ,
Π° ΠΈΡΠΊΡΠ΅Π½Π½ΠΎΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ·
ΡΡΡΠ°Ρ
, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π±ΠΎΡΡΡΡΡ Π²Π΅ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π³ΠΎΠ²ΠΎΡΡ Β», - ΠΠΆΠΎΠ½ Π€. ΠΠ΅Π½Π½Π΅Π΄ΠΈ.
@mLaird, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΌΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ·ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π½ΠΎΠ²ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ Π·Π²ΡΡΠΈΡ ΡΠ°Π·ΡΠΌΠ½ΠΎ.
https://github.com/actimeo/simmage-ui (ΡΠΌ. ΠΆΠΈΠ²ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ)
Π― ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΈ Π²ΡΠ±ΠΈΡΠ°Ρ: Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΎΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ?
ΠΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ°, Ρ ΠΌΠΎΠ³Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ng-xi18n
, Π½ΠΎ Π΅ΡΠ»ΠΈ Ρ Π΄ΠΎΠ±Π°Π²Π»Ρ ΡΡΡΠΎΠΊΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΈΠ»ΠΈ Π²ΡΠ±Π΅ΡΡ, ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
<span i18n>{user.receivedReports, plural, =0 {No spam/scam reports} =1 {One spam/scam report} other {# spam/scam reports}}</span>
ΠΈ
<span i18n>{currentConversation.user.online, select, true {Online} false {Offline}}</span>
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΠ°ΡΡΠΈΠ½Π³Π°:
Unexpected closing tag "li" ("plural, =0 {No spam/scam reports} =1 {One spam/scam report} other {# spam/scam reports}}</span>
[ERROR ->]</li>
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΈ:
<!--i18n: select test-->
{user.online, select, true {Online} false {Offline}}
<!--/i18n-->
<!--i18n: plural test-->
{user.receivedReports, plural, =0 {No spam/scam reports} =1 {One spam/scam report} other {# spam/scam reports}}
<!--/i18n-->
md5-b6643fed0ae53c51b5e311fa11670548
<trans-unit id="2b10577df0a3d78b7e65c07d5760524f881f390a" datatype="html">
<source>
<x id="ICU"/>
</source>
<target/>
<note priority="1" from="description">plural test</note>
</trans-unit>
<trans-unit id="e61681024eadd7f72e33f053f04c128910c419a2" datatype="html">
<source>
<x id="ICU"/>
</source>
<target/>
<note priority="1" from="description">select test</note>
</trans-unit>
md5-1ed6d3f87b24b5bd78093a4ca13431c4
<msg id="3c8aef599bb96e303600aa44617acd0a7d602147">{user.receivedReports, plural, =0 {No spam/scam reports} =1 {One spam/scam report} other {# spam/scam reports} }</msg>
<msg id="06fe711b55463e3ee28d72239d77e9a50da62d86">{currentConversation.user.online, select, true {Online} false {Offline} }</msg>
ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π΄Π°ΡΡ / Π²ΡΠ΅ΠΌΡ?
ΠΠ°ΡΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°Π½Π°Π»Π° Π΄Π°ΡΡ.
Π ΡΡΠ΅Π΄Ρ, 4 ΡΠ½Π²Π°ΡΡ 2017 Π³., 08:12 zh99998, [email protected] Π½Π°ΠΏΠΈΡΠ°Π»:
ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π΄Π°ΡΡ / Π²ΡΠ΅ΠΌΡ?
-
ΠΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π°Ρ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ.
ΠΡΠ²Π΅ΡΡΡΠ΅ Π½Π° ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ Π½Π°ΠΏΡΡΠΌΡΡ, ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π° GitHub
https://github.com/angular/angular/issues/9104#issuecomment-270315783 ,
ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊ
https://github.com/notifications/unsubscribe-auth/ABI5-gHZiWOREPwucdqwRhVIs9xwMgorks5rO1RngaJpZM4IxhKY
.
@feloy , Π²Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ·ΡΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠ·ΡΠΊ ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π±Π΅Π· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°? ΠΠ°ΠΊ Π²ΡΡΡΠ½ΡΡ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ?
@dietergeerts , ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ JIT, Π½ΠΎ Π½Π΅ Ρ AOT.
@rolandoldengarm , ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ AOT, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ-ΡΠΎ ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ngx-translate ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌ i18n, Π² ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ°Π½Π°Π»Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ² (ΡΠΈΡΡΡΠ΅), Π½ΠΎ ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅, Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΡΠ»ΠΈ Π±Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° i18n Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ)
@vicb
Π― ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π° ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅, ΠΈ ΡΠΎΡΡΠ°Π²Π»Ρ ΠΏΠ»Π°Π½.
ΠΡΡΡ Π»ΠΈ Ρ Π²Π°Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΠΎΠΆΠ½ΠΎΠΉ ΠΊΠ°ΡΡΡ? Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ i18n Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ² Π²Π½Π΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
ΠΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Π² TypeScript. ΠΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ETA ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ?
@ Thomas-Kuipers @thelgevold Π― ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΡΡΠΈΠΌ, ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² 4.1 ΠΈΠ»ΠΈ 4.2 (ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ)
@ocombe
ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄.
<div i18n>{{exercise._desc ? exercise._desc : 'empty'}}</div>
ΡΡΡΠΎΠΊΠ° 'ΠΏΡΡΡΠ°Ρ' Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π°
@ rayer4u ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΄Π»Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ stackoverflow ΠΈΠ»ΠΈ gitter.
Π― Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, Π½ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π΅ Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π·Π΄Π΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ², Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΠΏΠ»Π°Π½Π°ΠΌΠΈ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅ i18n.
ΠΡΠ²Π΅Ρ: Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Angular i18n, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ±ΠΎΡΠΊΠΈ, Π° Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ΅ ΠΏΠΎ ΡΠ΅ΠΌΠ΅: ΠΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½ΠΈΡ
@ rayer4u Π Π΅ΡΠ΅Π½ΠΈΠ΅ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ:
<div *ngIf="exercise?._desc">{{ exercise?._desc }}</div>
<div *ngIf="!exercise?._desc" i18n>empty</div>
@ocombe ΠΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π°
@martinmcwhorter Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΡΠ²Π΅Ρ. ΠΡ ΠΏΠΈΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΠ΅ΡΠ°Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ if / else Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° i18n Π² ΡΠ°Π±Π»ΠΎΠ½Π΅, ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ - ΠΏΠ»ΠΎΡ
ΠΎΠΉ Π²ΡΠ±ΠΎΡ.
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΠ»ΠΎΡ
Π°Ρ ΠΈΠ΄Π΅Ρ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ angular Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ @@id
Π² Π½Π°ΡΠΈ Π°ΡΡΠΈΠ±ΡΡΡ i18n ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΈ?
ΠΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΡΠΎ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ
Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° i18n, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²Ρ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ ΠΈΠ· Π½ΠΈΡ
...
Π― ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΠ»ΠΎΡ Π°Ρ ΠΈΠ΄Π΅Ρ. ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ angular ΡΠ·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ Π΅Π΅ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΡΡΡΠΎΠΊΠ΅. ΡΠ°ΠΊΠΎΠΉ ΠΌΠΎΡΠ½ΡΠΉ, Π½ΠΎ Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ: s
@ocombe
ΠΠΎΡ ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ: https://github.com/angular/angular/blob/master/packages/compiler/src/i18n/digest.ts#L13 -L15
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π½Π° Π²Π΅ΡΡΠΈΠΈ 4, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π·Π°ΠΊΡΡΠ²Π°Ρ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ. Π‘Π»Π΅Π΄ΠΈΡΠ΅ Π·Π° Π½Π°ΡΠΈΠΌΠΈ ΠΏΠ»Π°Π½Π°ΠΌΠΈ Π½Π° Π²Π΅ΡΡΠΈΡ 4 ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π² # 16477.
ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π° ΠΈΠ·-Π·Π° Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π‘ΠΎΠΎΠ±ΡΠΈΡΠ΅ ΠΎ Π½ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π½Π°ΡΠ΅ΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠΎΠ² .
_ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΠΎΡΠΎΠΌ. _
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@christiandreher @fank @ckemmler @marcalj @dagerber @esinek ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ i18n ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π½Π° angular.io: https://angular.io/docs/ts/latest/cookbook/i18n.html