• Всем Привет и заранее спасибо,

    Вот уже некоторое время пытаюсь создать BP сайт с тремя языками.
    Перепробовав все, что есть, остановился на плагине Transposh. Благо в нем улучшилась поддержка .po/.mo файлов внешних плагинов.

    Забил сайт под завязку всевозможными плагинами, а на последнем, довольно важном с точки зрения функциональности, уткнулся в стену — bp xtra signup.

    По непонятным причинам для такого «одаренного пользователя», как я, при изменении языка сайта (выбор флажков пользователями) transposh не хочет переключать язык плагина и использует только язык по умолчанию (хотя сам плагин меняет языки отлично).

    хотелось бы услышать, в чем важная разница загрузки текстовых доменов:

    «bp xtra signup»
    _______________________________________________________________________

    function translate()
    	{
    		if( file_exists( BPXS_ABSPATH . 'languages/bpxs-' . get_locale() . '.mo' ) )
    			load_textdomain( 'bpxs', BPXS_ABSPATH . 'languages/bpxs-' . get_locale() . '.mo' );
    	}

    и, скажем, совместисого с transposh «invite-anyone»
    _______________________________________________________________________

    function invite_anyone_locale_init () {
    	$plugin_dir = basename(dirname(__FILE__));
    	$locale = get_locale();
    	$mofile = WP_PLUGIN_DIR . "/invite-anyone/languages/invite-anyone-$locale.mo";
    
          if ( file_exists( $mofile ) )
          		load_textdomain( 'bp-invite-anyone', $mofile );
    }
    add_action ('plugins_loaded', 'invite_anyone_locale_init');

    _______________________________________________________________________

    работающего сайта нет, авторы окопались, если кто соображает,
    спасибо за помощь!

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • если кто знает, что/как/где…можно подправить в загрузке «bp xtra signup», поделитесь, обещаю, никому не выдам! 🙂

    пробовал заменить на

    function translate()
    	{
    
    	if (!load_plugin_textdomain('bpxs')) {
    			load_plugin_textdomain('bpxs', false, 'bp-xtra-signup/languages');
    		}
    	}

    грузить перевод стал медленнее и опять же только один язык.
    ждем прибытия умов php.

    файл bp-xtra-signup.php.

    стер строки: 90 и 168-172, после закрытия class BPXS_Loader (строчка 252) вставил новый метод загрузки текстовых доменов:

    function bpxstranslate() {
    	$plugin_dir = basename(dirname(__FILE__));
    	$locale = get_locale();
    	$mofile = WP_PLUGIN_DIR . "/bp-xtra-signup/languages/bpxs-$locale.mo";
    
          if ( file_exists( $mofile ) )
          		load_textdomain( 'bpxs', $mofile );
    }
    add_action ('plugins_loaded', 'bpxstranslate');

    теперь индикатор пароля стал переводимым, а для остальной части (доступность логина и эл. почты) transposh по-прежнему грузит язык по умолчанию.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Многоязычный BuddyPress» закрыта для новых ответов.