Используйте ngx-translate в многомодульной настройке Angular и дочерних библиотеках.

Я использую ngx-translate для перевода в своем приложении Angular. Он отлично работает с простой настройкой проекта, но мы разрабатываем крупномасштабное бизнес-приложение, и разные компоненты разбиты на несколько отдельных библиотек.

Некоторым библиотекам действительно нужны переводы, и, конечно же, перевод должен меняться для всех частей приложения одним нажатием одной и той же кнопки.

Используя angular-librarian для объединения библиотек компонентов, мне пока не удалось просто создать одну экземпляр ngx-translate как для проекта Angular-Cli верхнего уровня, так и для включенных библиотек angular-librarian.

Я пробовал несколько настроек проекта, используя в основном всевозможные комбинации импорта ngx-translate с forRoot() и/или forChild() без успеха. У меня всегда был либо отсутствующий провайдер, текст появлялся, но языки не менялись вместе или вообще и т.д.

Кто-нибудь вытащил это и может показать рабочий пример настройки проекта / plunkr?


person tommueller    schedule 31.08.2017    source источник
comment
вам удалось заставить что-то работать?   -  person Guillaume    schedule 20.09.2017
comment
извините нет, не совсем. Я обхожу проблему, передавая пользовательский объект перевода в библиотеку сейчас... Некрасиво, но нужно перевести только 6 строк.   -  person tommueller    schedule 20.09.2017
comment
@newnoise, можете ли вы объяснить немного больше о вашем обходном пути?   -  person Bruno Bruzzano    schedule 08.03.2018
comment
@BrunoBruzzano действительно довольно просто передать строки как @Inputs в компоненты библиотеки, которым нужны переведенные строки. Ничего особенного, я просто вообще не занимался переводами в своей библиотеке.   -  person tommueller    schedule 28.03.2018
comment
@newnoise не является жизнеспособным решением в моем случае, но спасибо!   -  person Bruno Bruzzano    schedule 28.03.2018
comment
@BrunoBruzzano да, я знаю, в конце концов, я бы не назвал это решением, но для очень немногих строк, которые у нас есть, это работает. Если вы найдете лучший способ, поделитесь им здесь с ответом или комментарием.   -  person tommueller    schedule 28.03.2018