2

我正在使用 accounts:ui 包装器进行反应,我想对其进行本地化(翻译成葡萄牙语)。我以前没有真正与 Blaze 合作过,所以我不确定该采取什么方法。在这个问题中,我看到了 Blaze 用户本地化帐户的技巧:ui,它是通过在调用 .rendered 回调后替换文本来完成的。我想知道是否有办法让它与反应一起工作?我试过用 jQuery 替换字符串(有和没有延迟),但它没有用。

Template.header.rendered = function() {
  $('#login-sign-in-link').text('Přihlásit se ▾');
  $('.login-close-text').text('Zavřít nabídku');
  $('.sign-in-text-google').text('Přihlásit se přes Google');
  $('.sign-in-text-facebook').text('Přihlásit se přes FB');
  //etc...
};

这是我的反应包装:

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { Template } from 'meteor/templating';
import { Blaze } from 'meteor/blaze';

export default class AccountsUIWrapper extends Component {
  componentDidMount() {
    // Use Meteor Blaze to render login buttons
    this.view = Blaze.render(Template.loginButtons,
      ReactDOM.findDOMNode(this.refs.container));
  }
  componentWillUnmount() {
    // Clean up Blaze view
    Blaze.remove(this.view);
  }
  render() {
    // Just render a placeholder container that will be filled in
    return <span ref="container" />;
  }
}
4

0 回答 0