4

次のようなqTranslate Xで基本的な言語スイッチャーを作成しようとしています:

FR | EN

それを達成する関数があります:qtranxf_generateLanguageSelectCode('text');しかし、それは「テキスト」、「画像」、または「両方」しか受け入れることができないため、私のニーズには合いません:「テキスト」は言語の完全な名前です。

言語コードを表示するにはどうすればよいですか? それを行うためのフィルターを作成するアイデアはありますか?

4

7 に答える 7

3

プラグインを調べると、generateLanguageSelectCode に文書化されているよりも多くの型があることがわかりました。したがって、言語コードを使用するには、次のように「short」タイプを使用するだけです。

qtranxf_generateLanguageSelectCode('short');

これは、最後の回答以降に追加された機能である可能性があります。

ここでは、すべてのスイッチャー タイプの概要を示します: 'text'、'image'、'both'、'short'、'css_only'、'custom'、および 'dropdown'。さまざまなタイプがどのように機能するかは調べていませんが、プラグイン フォルダーの qtranslate_widget.php で見つけることができます。

于 2017-07-21T09:19:10.390 に答える
1

友人がそれを手伝ってくれました。それは Ash Patel の回答に基づいていますが、よりクリーンな方法で (IMHO):

function my_qtranxf_generateLanguageSelectCode($style='', $id='') {
    ob_start();  
    qtranxf_generateLanguageSelectCode($style, $id);
    $o = ob_get_contents();
    ob_end_clean();
    return str_replace(array('English', 'Français'),array('EN', 'FR'), $o); 
}
于 2015-04-24T18:41:11.800 に答える
0

必要に応じて言語名を変更してみませんか? 言語編集で可能であり、何にも影響しません。

于 2015-08-01T22:10:42.977 に答える
0

次のクエリを使用して実行しましたが、うまく機能しています。

<?php if (qtranxf_getLanguage() == 'ar') { ?>
<script>
    jQuery(document).ready(function () {
        var current_URL = jQuery(location).attr('href');
        url = current_URL.replace('/ar/', '/en/')
        jQuery('.languages-selection ul li a').attr('href', url)
    });
</script>
<?php } elseif (qtranxf_getLanguage() == 'en') { ?>
<script>
    jQuery(document).ready(function() {
        var current_URL = jQuery(location).attr('href');
        url = current_URL.replace('/en/', '/ar/')
        jQuery('.languages-selection ul li a').attr('href', url)
    });
</script>
<?php } ?>
于 2016-07-14T05:08:21.057 に答える