Olá, após recente atualização, esta ocorrendo erro ao executar minha aplicação POUI, antes da atualização não tinha o problema. Estou com o Angular 19 standalone, segue o erro:
R3InjectorError(Standalone[_GenericListComponent])[_ProAppConfigService → _ProAppConfigService → _ProThemeService → _ProUserProfileService → _PoI18nService → _PoI18nService]:
NullInjectorError: No provider for _PoI18nService!
Alguém teria uma ideia do que pode ser? Obrigado.
1 curtida
Marcelo,
Você precisa adicionar o PoI18nModule no app.module.
E criar os arquivos de tradução i18n no seu projeto.
Adiciona esse import aqui: PoI18nModule.config(i18nConfig).
Na documentação do PO-UI tem as instruções detalhadas:
https://po-ui.io/documentation/po-i18n
1 curtida
Olá Samuel, estou usando standalone components, logo app.module.ts não existe por padrão, entretanto pude notar no link que você mencionou que existe o tópico “Alterações a partir da versão 19”, então vou ajustar conforme informado neste. Obrigado.
1 curtida
Estou fazendo a instalação e criação de um projeto para testar o POUI com ADVPL no Protheus e estou recebendo o mesmo erro. Sabem se teve alguma correção ou qual a causa disso? Não entendi como se configura o I18n ou porque sou obrigado a fazê-lo.
Em qual arquivo devem ser feitas as configurações mostradas pelo link enviado pelo @_samuel e o que significa a URL http://10.1.1.1/api/translations/hcm/
nesse caso. Ou ainda, como fazer a aplicação rodar sem ser preciso configurar a internacionalização, já que só quero fazer um teste simples para aprender como se utiliza AdvPL com POUI
Também estou utilizando o pacote standalone
Pode ser problema de conflito de bibliotecas?
Este é o meu package.json:
“dependencies”: {
“angular/animations”: “~19.0.0”,
“angular/common”: “~19.0.0”,
“angular/compiler”: “~19.0.0”,
“angular/core”: “~19.0.0”,
“angular/forms”: “~19.0.0”,
“angular/platform-browser”: “~19.0.0”,
“angular/platform-browser-dynamic”: “~19.0.0”,
“angular/router”: “~19.0.0”,
“angular/platform-server”: “~19.0.0”,
“rxjs”: “~7.8.0”,
“tslib”: “^2.3.0”,
“zone.js”: “~0.15.0”,
“angular/ssr”: “^19.2.15”,
“po-ui/ng-components”: “^19.24.0”,
“po-ui/ng-templates”: “^19.24.0”,
“totvs/po-theme”: “^19”,
“totvs/protheus-lib-core”: “19.0.2”,
“express”: “^4.18.2”,
“subsink”: “^1.0.2”
},
[ATUALIZAÇÃO]
É preciso fazer a configuração manual da internacionalização.
Em app.config.ts, adicionar a importação do provider do PoI18nModule no array de providers do array appConfig, que na versão que estou utilizando é o parametro providers de bootstrapApplication
main.ts
bootstrapApplication(AppComponent, appConfig)
.catch((err) => console.error(err));
app.config.ts
import { PoHttpRequestModule, PoI18nModule, PoI18nConfig } from ‘@po-ui/ng-components’;
// Configuração do i18n
const i18nConfig: PoI18nConfig = {
default: {
language: ‘pt-BR’,
context: ‘general’,
cache: true
},
contexts: {
general: {
}
}
};
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(routes),
provideHttpClient(),
importProvidersFrom(PoI18nModule.config(i18nConfig)), adicionar isso
importProvidersFrom([PoHttpRequestModule]),
provideZoneChangeDetection({ eventCoalescing: true }),
provideHttpClient(withInterceptorsFromDi()),
],
};
1 curtida