タグ付けされた質問 「i18n-l10n」

ソフトウェアをさまざまな言語、地域の違い、およびターゲット市場(ロケール)の要件に適合させることについての質問に使用します。

3
移行モジュールを使用して多言語コンテンツを移動する
私は、各行に英語/フランス語の混合コンテンツを持つ単一のMySQLテーブルを持っています。これを適切なi18n構成のDrupalサイトに移行する方法を考えています。 Migrateでコンテンツを1つの言語にインポートできますが、両方の言語にインポートしたいです。901行あるため、最終的にリンクされる1802ノードを作成する必要があります。 Migrateモジュールを2回ループしてノードをリンクするようにセットアップする方法がわかりません。 編集:私はこれを使用し、2つをマージすることができました: public function postImport() { parent::postImport(); // $ii should really be determined by $count_query $ii = 2000; for ($i = 1; $i < $ii; $i++) { // Confirm SQL in phpMyAdmin to verify $query = "SELECT n.nid, tid.field_bv_transfer_id_value FROM {field_revision_field_bv_transfer_id} tid INNER JOIN node n ON tid.entity_id …

5
ユーザーインターフェイス翻訳を展開するにはどうすればよいですか?
「ユーザーインターフェイスの翻訳」/ admin / config / regional / translateで翻訳した文字列は、「構成管理」/ admin / config / development / configurationではエクスポートできません。何か不足していますか? hook_update_Nまたはでこのプロセスを自動化したいと思いdrush cim -yます。 Drupal 8で「ユーザーインターフェイス翻訳」を自動的に展開する適切な方法は何ですか? 私はそれをするべきhook_update_N()ですか? mytranslations.po言語フォルダにカスタムファイルを作成する必要がありますか? locale_translate_batch_import_files()使用されるかもしれないものがありそうです。

1
{{| t}}と{%trans%}の違いは何ですか?
Drupal 8がサポートし{% trans %}ていることに気づきました。Symfonyのドキュメント(The i18n Extension)によれば、Twigにgettextサポートが追加されています。 {{ |t }}私の知る限り、Drupalテンプレートに翻訳可能な文字列を追加する従来の方法です。ドキュメントによればt()、文字列を現在の言語または特定の言語に翻訳します。 どちらも多言語のウェブサイトをサポートしています。 これらの拡張機能の違いは何ですか? いつどちらを使用すればよいですか?
11 theming  8  i18n-l10n 

5
hook_menuの説明でt()を使用する必要がありますか?
私は常にこのようなhook_menusタイトルと説明にt()を使用しました: $items['some-path'] = array( 'title' => t('My Page Title'), 'description' => t('This is a description about what my page is for'), 'page callback' => 'profile_user_page', ); これは私にとって理にかなっているので、ユーザーは必要に応じてタイトルと説明を別の言語に翻訳できます。 ただし、DOのモジュールレビューに関するこのコメントは次のように述べています。 いいえ、それは間違っています。それを行わないでください。hook_menu()の記述では、t()を使用しないでください。 これの理由は何ですか?これは実際にベストプラクティスですか? また、これがtrueの場合、タイトルにもt()を使用しないでください。
11 7  i18n-l10n  routes 

5
分類法をURLに翻訳するにはどうすればよいですか?
カテゴリとして使用されるローカライズされた分類用語を使用したバイリンガルサイトがあります。 私はこれを達成したいと思います: http://www.mysite.com/about/pageinenglish http://www.mysite.com/apropos/pageinfrench (提案とはフランス語で意味します) しかし、私は持っています: http://www.mysite.com/about/pageinfrench 分類法をURLに変換するにはどうすればよいですか? 編集 パスオートをi18n用語で構成しています(TAXONOMY TERM PATHSでのみ使用可能)


7
翻訳されたノードへのパスを取得する方法は?
Drupal 7で多言語サイトをセットアップしました。テンプレートで、特定のコンテンツノードへのリンクを追加する必要があります。このノードには、次のような変換とパスエイリアスがあります。 node/42 = pathalias_de (german version) node/43 = pathalias_en (english version) テンプレートurl()で、現在の言語でコンテンツノードのエイリアスバージョンへのリンクを取得するために呼び出します。 ドイツ語のページでは/de/pathalias_de、英語のページにリンクする必要があります/en/pathalias_en nidを呼び出す、エイリアスを呼び出す、現在の言語オブジェクトをに渡すなど、いくつかのバリエーションを試しましたurl()。 これは何かurl()できるはずですか、それとも別の機能が必要ですか?ありがとう!

5
翻訳された用語名をtidで取得する方法は?
私が探している加工方法にする翻訳用語名を取得することによってtid。 次のコードは、元の用語名を返しますが、翻訳は返しません。 global $language; $lang_name = $language->language; // en $term_id = 788; $term = i18n_taxonomy_term_get_translation($term_id, $lang_name); 「翻訳された分類用語をプログラムで取得する方法」で提供されているほとんどの例は、Drupal 7では機能しないようです。


1
フルHTMLコンテンツの本文翻訳をブロックする
ブロックを作成し、本文フィールドにHTMLコンテンツを配置した後、次の理由でこのコンテンツを翻訳できません。 textgroupブロックの文字列blocks:block:1:bodyは、そのテキスト形式のため、翻訳が許可されていません。 プレーンテキストに変更すると、ブロックを翻訳できますが、表示中はプレーンテキストとして扱われます。同じHTMLコンテンツ(翻訳済み)で別のブロックを作成し、特定の言語でのみ表示するように選択する必要がありますか?
9 7  blocks  i18n-l10n 

1
本文フィールドの言語がノードと同じ言語で保存されないのはなぜですか?
ユーザーが新しいノードを作成して本文を入力しているときに、ノードをその言語に対して「ニュートラル」に設定するという問題があります。しかし、ノードを保存すると、本文フィールドの言語は英語に設定されます。なぜこれが起こっているのでしょうか?何が原因でしょうか? このサイトでは、英語とフランス語の両方を有効にして構成しています。このサイトはi18nを実行しているD7です。 これは、ノード編集ページの空のボディに似ていますが、フィールドが最初のノードとは異なる言語を取得する方法を知りたい点が異なります。

3
翻訳された文字列をDrupal.locale.stringsに変換するにはどうすればよいですか?
したがって、(テーマ内の)カスタムJavaScriptコードの一部でDrupal.t()関数を使用しようとしています。 Drupal.locale.stringsオブジェクトに必要な文字列を取得するにはどうすればよいですか?そこにいくつかの文字列が表示されますが、もちろんデータベース全体をロードできません。それに追加する最良の方法は何ですか?追加した文字列を翻訳インターフェースで編集できるように、PHPのt()関数を使用したいと思います。
9 7  i18n-l10n 

2
HTMLを含む変数をt()関数を介して渡す-!プレースホルダーは削除されました
Drupal 8では、!(感嘆符)t()関数を含むプレースホルダーは削除されました。 HTMLを含む変数があります。 <span class="fullname_wrapper"><span class="first_name">John</span> <span class="last_name">Hancock</span> <span class="account_name_wrapper">(@JohnH)</span></span> このHTMLは、サイトのどこにでも表示されるように特別にスタイル設定されるので、保持しておきます。 Drupal 7では、これを行うことができました。 t('Your name is !name', array('!name' => $name)); $ nameには、上記のHTMLが含まれています。ただし、Drupal 8では、感嘆符のパススループレースホルダーが削除されているため、これは機能しません。 私はこれを試しました: t('Your name is :name', array(':name' => $name)); しかし、HTMLはまだエスケープされています。 @マークもHTMLをエスケープします。 D8のt()関数を介してHTMLを渡す方法を知っている人はいますか? 更新: No Sssweatのコメントによると、私の!markはt()で機能するようです。だからここに私の実際のコードがあります: drupal_set_message( $this->t( "@amount has been transferred to !account", array( '@amount' => '¥' . …
9 8  i18n-l10n 

1
管理領域を翻訳しないでください/管理領域の言語を英語に設定するにはどうすればよいですか?
私は3つの言語の多言語サイトを構築しています。英語、イタリア語、ドイツ語としましょう。英語がデフォルトの言語です。モジュールまたはカスタムコードを使用して、サイトの管理者のみが、実際のサイトをデフォルト以外の異なる言語で現在表示している場合でも、管理領域を翻訳できないままにすることは可能ですか?
8 7  i18n-l10n 

1
Drushで複数の文字列を翻訳する方法は?
Drupalで複数の文字列を翻訳したい場合は、format_plural()関数を使用できます。 Drushコマンドをプログラミングしている場合は、dt()関数を使用して文字列を翻訳できますが、Drushで複数の文字列を翻訳したい場合は、これを実行する関数ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.