我正在使用 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" />;
}
}