Angular 2 - howto insert html element with translate pipe from component
In .html
file I have:
<div id="container">
</div>
I want to add a button
inside it, with some text which should be translated.
I can do It like this:
var container = document.getElementById('container');
var button = document.createElement('button');
button.innerText = this.translate.instant('SOME_TEXT');
container.appendChild(button);
Problem here is that this SOME_TEXT
will be translated only one time. If language will change while this button is displayed - text won't change.
I would like to make something like:
button.innerHTML = `{{'DONE' | translate}}`;
, where translate
is translate: TranslateService,
in constructor
, and I do import { TranslateService } from '@ngx-translate/core';
Is it possible?
angular
|
show 5 more comments
In .html
file I have:
<div id="container">
</div>
I want to add a button
inside it, with some text which should be translated.
I can do It like this:
var container = document.getElementById('container');
var button = document.createElement('button');
button.innerText = this.translate.instant('SOME_TEXT');
container.appendChild(button);
Problem here is that this SOME_TEXT
will be translated only one time. If language will change while this button is displayed - text won't change.
I would like to make something like:
button.innerHTML = `{{'DONE' | translate}}`;
, where translate
is translate: TranslateService,
in constructor
, and I do import { TranslateService } from '@ngx-translate/core';
Is it possible?
angular
Why should you create your button on this way. Is there no way to add it directly to the element?
– Bo Vandersteene
Nov 21 '18 at 14:01
1
iftranslate
is not a built-in pipe then you have to create custom pipe
– ashish pal
Nov 21 '18 at 14:03
@Bo I need to hack a library to add button dynamicaly into a popup
– pbialy
Nov 21 '18 at 14:07
Feel free to check my answer about pipes in components : stackoverflow.com/questions/48183677/…
– trichetriche
Nov 21 '18 at 14:08
@ashishtranslate
is from@ngx-translate/core
, I'll add this to question. Problem is it doesn't work like this, it will just insert string"{{'DONE' | translate}}"
into html.
– pbialy
Nov 21 '18 at 14:08
|
show 5 more comments
In .html
file I have:
<div id="container">
</div>
I want to add a button
inside it, with some text which should be translated.
I can do It like this:
var container = document.getElementById('container');
var button = document.createElement('button');
button.innerText = this.translate.instant('SOME_TEXT');
container.appendChild(button);
Problem here is that this SOME_TEXT
will be translated only one time. If language will change while this button is displayed - text won't change.
I would like to make something like:
button.innerHTML = `{{'DONE' | translate}}`;
, where translate
is translate: TranslateService,
in constructor
, and I do import { TranslateService } from '@ngx-translate/core';
Is it possible?
angular
In .html
file I have:
<div id="container">
</div>
I want to add a button
inside it, with some text which should be translated.
I can do It like this:
var container = document.getElementById('container');
var button = document.createElement('button');
button.innerText = this.translate.instant('SOME_TEXT');
container.appendChild(button);
Problem here is that this SOME_TEXT
will be translated only one time. If language will change while this button is displayed - text won't change.
I would like to make something like:
button.innerHTML = `{{'DONE' | translate}}`;
, where translate
is translate: TranslateService,
in constructor
, and I do import { TranslateService } from '@ngx-translate/core';
Is it possible?
angular
angular
edited Nov 21 '18 at 14:10
asked Nov 21 '18 at 13:56
pbialy
19014
19014
Why should you create your button on this way. Is there no way to add it directly to the element?
– Bo Vandersteene
Nov 21 '18 at 14:01
1
iftranslate
is not a built-in pipe then you have to create custom pipe
– ashish pal
Nov 21 '18 at 14:03
@Bo I need to hack a library to add button dynamicaly into a popup
– pbialy
Nov 21 '18 at 14:07
Feel free to check my answer about pipes in components : stackoverflow.com/questions/48183677/…
– trichetriche
Nov 21 '18 at 14:08
@ashishtranslate
is from@ngx-translate/core
, I'll add this to question. Problem is it doesn't work like this, it will just insert string"{{'DONE' | translate}}"
into html.
– pbialy
Nov 21 '18 at 14:08
|
show 5 more comments
Why should you create your button on this way. Is there no way to add it directly to the element?
– Bo Vandersteene
Nov 21 '18 at 14:01
1
iftranslate
is not a built-in pipe then you have to create custom pipe
– ashish pal
Nov 21 '18 at 14:03
@Bo I need to hack a library to add button dynamicaly into a popup
– pbialy
Nov 21 '18 at 14:07
Feel free to check my answer about pipes in components : stackoverflow.com/questions/48183677/…
– trichetriche
Nov 21 '18 at 14:08
@ashishtranslate
is from@ngx-translate/core
, I'll add this to question. Problem is it doesn't work like this, it will just insert string"{{'DONE' | translate}}"
into html.
– pbialy
Nov 21 '18 at 14:08
Why should you create your button on this way. Is there no way to add it directly to the element?
– Bo Vandersteene
Nov 21 '18 at 14:01
Why should you create your button on this way. Is there no way to add it directly to the element?
– Bo Vandersteene
Nov 21 '18 at 14:01
1
1
if
translate
is not a built-in pipe then you have to create custom pipe– ashish pal
Nov 21 '18 at 14:03
if
translate
is not a built-in pipe then you have to create custom pipe– ashish pal
Nov 21 '18 at 14:03
@Bo I need to hack a library to add button dynamicaly into a popup
– pbialy
Nov 21 '18 at 14:07
@Bo I need to hack a library to add button dynamicaly into a popup
– pbialy
Nov 21 '18 at 14:07
Feel free to check my answer about pipes in components : stackoverflow.com/questions/48183677/…
– trichetriche
Nov 21 '18 at 14:08
Feel free to check my answer about pipes in components : stackoverflow.com/questions/48183677/…
– trichetriche
Nov 21 '18 at 14:08
@ashish
translate
is from @ngx-translate/core
, I'll add this to question. Problem is it doesn't work like this, it will just insert string "{{'DONE' | translate}}"
into html.– pbialy
Nov 21 '18 at 14:08
@ashish
translate
is from @ngx-translate/core
, I'll add this to question. Problem is it doesn't work like this, it will just insert string "{{'DONE' | translate}}"
into html.– pbialy
Nov 21 '18 at 14:08
|
show 5 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53413677%2fangular-2-howto-insert-html-element-with-translate-pipe-from-component%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53413677%2fangular-2-howto-insert-html-element-with-translate-pipe-from-component%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Why should you create your button on this way. Is there no way to add it directly to the element?
– Bo Vandersteene
Nov 21 '18 at 14:01
1
if
translate
is not a built-in pipe then you have to create custom pipe– ashish pal
Nov 21 '18 at 14:03
@Bo I need to hack a library to add button dynamicaly into a popup
– pbialy
Nov 21 '18 at 14:07
Feel free to check my answer about pipes in components : stackoverflow.com/questions/48183677/…
– trichetriche
Nov 21 '18 at 14:08
@ashish
translate
is from@ngx-translate/core
, I'll add this to question. Problem is it doesn't work like this, it will just insert string"{{'DONE' | translate}}"
into html.– pbialy
Nov 21 '18 at 14:08