我正在使用一个帐户:ui wrapper for react,我想要本地化(翻译成葡萄牙语)。我之前没有和Blaze合作过,所以我不确定采取什么方法。在this question我看到了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" />;
}
}