Я использую оболочку account: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" />;
}
}