おそらくこれは私が見落としている明らかな解決策を持っていますが、これを実現するために入力する正しいパラメーターを見つけることができないようです。サイトでGoogle翻訳ウィジェットを使用して、サイトが英語であっても、ユーザーがサイトにアクセスしたときに表示されるデフォルトの言語を設定する必要があります。
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en'
}, 'google_translate_element');
}
追加してみました:defaultLanguage: 'fr'
そして試した:targetLanguage: 'fr'
私はいくつかの素晴らしいjQueryソリューションを見つけましたが、簡単な修正であればこれをバイパスしたくありませんでした。
これは、jQueryを使用してタスクを実行する方法に対する直接的な答えではありませんが、役立つことを願っています。 Google翻訳は、「googtrans」と呼ばれるCookieを使用して、選択されている言語を追跡します。ページが読み込まれる前にそのCookieを自分で設定すると、Google翻訳がそれを使用します。
// PHP code sample, could be accomplished with any language that can set cookies
// set the default language translation to Portugese
setcookie('googtrans', '/en/pt');
クエリ文字列の最後に#googtrans(xx)
を追加すると、Cookieを自分で設定するのと同じように、ページが自動的に翻訳されます(xxは言語コード、フランス語の場合はfrなど)。
この最初の使用のためにクッキーを使用してグーグル翻訳のデフォルト言語を設定することができますグーグル翻訳を使用してあなたのウェブページを翻訳し、次に彼が作成したクッキーを確認します(このためにあなたのウェブページを右クリックし、ページ情報、セキュリティ、そしてクッキーを表示してグーグトランスをクリックします彼が使用している翻訳とは何か、パスとは何か、ドメインまたはホスト名は何かを確認し、このすべてのデータをsetcookies関数に入れます。
例
setcookie(“googtrans”, “/en/ja”, time()+3600, “/”, “www.example.com”);
//setcookie(“googtrans”, “en/ja”);
setcookie(“googtrans”, “/en/en”, time()+3600, “/”, “.example.com”);
私の考えは、最初にセッションを設定することです。セッションカウンターが1になっていることを確認してから、JavaScriptを追加して、必要に応じてドロップダウン言語を設定および変更します。
例:
function set_default_language () {
session_start();
if (!isset($_SESSION['views'])) {
$_SESSION['views'] = 0;
}
$_SESSION['views'] = $_SESSION['views']+1;
if ( $_SESSION['views'] == 1 ) { ?>
<script type="text/javascript">
var select = document.querySelector('select.notranslate');
select.value = "en|id";
select.dispatchEvent(new Event('change'));
</script>
<?php
}
} add_action( 'wp_footer', 'set_default_language');
ユーザーがブラウザの設定を別の言語に設定していない限り、jQuery/Javascriptがここに行く方法のように見えます。 グーグルグループディスカッション からの引用:
Translate Elementは、(デフォルトで)ページのコンテンツをエンドユーザーのブラウザが設定されている言語に翻訳することで機能します。オプションで別の言語を選択できますが、要素を使用して、すべての訪問者に対してページを特定の言語に自動的に翻訳する方法はありません。
テーマフォルダーに移動し、次に追加するfunction.phpに移動します
// set the default language translation to potugese
set cookie('googtrans', '/en/pt');
ファイルの終わりに。
次のphpコードを使用して、「googtrans」タグで現在のページをリダイレクトします。
if(!isset($_GET['gt'])) {
header("Location: ".$_SERVER['REQUEST_URI'].">=1#googtrans(en)");
die();
}
ここで、「en」は英語を表します。
URLには、2つの言語を配置できます。
https://translate.google.com/#no/en/Hello
これは、ノルウェー語を英語に翻訳します
https://translate.google.com/#{first country code}/{second one}/Hello