Bcat
(Bcat)
Maio 19, 2020, 10:49am
1
Criei o Tocic Share, mas quero usar o exemplo padrão js.share.facebook . Mas, de acordo com este artigo , escrevi errado, então não aparece.
Pode me mostrar como exibir corretamente, em vez de adicionar novas palavras ao tópico?
topic_title = title;
});
api.createWidget('tvms-topic-share', {
tagName: 'div.tvms-topic-share',
html(){
return [
h('a.tvms-sharing-button__link.tvms-sharing--mobile', {href: '#',target: '_self'},
h('div.tvms-sharing-button',[
h('div.tvms-sharing-button__icon',iconNode('share')),
h('span','Chia sẻ')
])
),
h('a.tvms-sharing-button__link', { href: 'https://facebook.com/sharer/sharer.php?u='+topic_url,target: '_blank'},
h('div.tvms-sharing-button.tvms-sharing-button--facebook',[
h('div.tvms-sharing-button__icon',iconNode('facebook-official')),
h('span','Chia sẻ qua Facebook')
])
),
h('a.tvms-sharing-button__link', { href: 'https://twitter.com/intent/tweet/?text='+topic_title+'&url='+topic_url,target: '_blank'},
h('div.tvms-sharing-button.tvms-sharing-button--twitter',[
Tentei: I18n.t(themePrefix("my_translation_key"))
Johani
(Joe)
Maio 19, 2020, 11:10am
2
Adicione isso no topo do seu componente
const I18n = require("I18n").default;
Em seguida, você pode usar algo assim quando precisar utilizar o texto padrão do Discourse
I18n.t("CHAVE_DE_TRADUCAO")
Por exemplo, isso
h('span', 'Compartilhar no Facebook')
torna-se
h("span", I18n.t("share.facebook"))
Sem esta linha, o i18n funciona normalmente. Caso contrário, ocorre o erro: “Could not find module I18n”.
Johani
(Joe)
Junho 3, 2020, 7:14pm
5
Isso depende da sua versão do Discourse. O I18n costumava ser definido globalmente, então você não precisava importá-lo em versões mais antigas do Discourse.
Se o seu site estiver em um commit recente como o do OP, então você precisa importá-lo ou exigí-lo.
committed 08:23PM - 13 May 20 UTC
Co-authored-by: Mark VanLandingham <markvanlan@gmail.com>
Co-authored-by: Robin… Ward <robin.ward@gmail.com>
Co-authored-by: Mark VanLandingham <markvanlan@gmail.com>
Bcat
(Bcat)
Junho 4, 2020, 2:30am
6
É automático ou você alterou manualmente 352 arquivos modificados?
@wyudong Eu usei h("span", I18n.t("share.facebook")). Não há necessidade de adicionar const I18n = require ("I18n"). default;.
Johani
(Joe)
Junho 4, 2020, 2:32am
7
Não tenho certeza se entendi. Poderia esclarecer o que você quis dizer aqui?
Bcat
(Bcat)
Junho 4, 2020, 2:34am
8
Estou me perguntando se é necessário alterar cada arquivo e depois fazer o commit. Ou se há uma forma automática (alterar vários arquivos de uma vez).Essa pergunta não é importante. Se depender apenas do meu conhecimento, talvez eu precise alterar cada arquivo e isso vai levar o dia todo :(GIT, eu não tenho muita experiência.
Johani
(Joe)
Junho 4, 2020, 2:39am
9
Obrigado por esclarecer
Sim, atualizar mais de 300 arquivos manualmente levaria muito tempo. Os arquivos foram atualizados com um script criado pelo Mark.