I have problem with angular v9. I have implemented i18n localization features into my app. When I try to build my application with certain location it constantly adds the sub-folder to the base href path (but I want to keep files in the sub-folder). Is there any way to prevent adding the locale into the base href url?
Reproduction steps:
ng new Project
. ng build --prod --localize
.dist/en-us/
folder, but the index.html
has <base href="/en-US/">
.Is there any way to force angular to stop adding the langcode into base href? This inflicts all the app links to contain language code, which is unwanted.
My deployment is configured to deploy the application based on the directory into different location which every will be at root.
/fr/
folder /de/
folder I had the same problem and found the solution in this issue:
https://github.com/angular/angular-cli/issues/17260
You have to write for each locales and for your sourceLocale the baseHref
"i18n": {
"sourceLocale": {
"code": "en",
"baseHref": ""
},
"locales": {
"fr": {
"baseHref": "",
"translation": "src/locale/messages.fr.xlf"
}
}
}
Posting with my solution, but that kills the new feature of Angular v.9.
The solution is to not use --localize
flag.
So I removed definition:
"i18n": {
"sourceLocale": "de",
"locales": {
"fr": "src/app/locale/messages.fr.xlf",
}
Then I created custom configuration under:
"configurations": {
"fr": {
"i18nFile": "src/app/locale/messages.fr.xlf",
"i18nLocale": "fr",
"outputPath": "dist/fr"
}
And just called:
ng build --configuration=fr
But that is ugly.. so waiting for some better ideas :)
You can override baseHref with this:
"locales": {
"de": {
"translation": "src/locale/messages.de.xlf",
"baseHref": "/"
},
....
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With