0

Symfony1.4.18でi18nの動作を設定しようとしています。フロントエンドのレイアウトに、i18nに適した文字列(2つのアンダースコアを使用)があります。以下のコマンドを実行しようとしました:

$ ./symfony i18n:extract frontend fr --auto-save

最初、symfonyは17個の文字列を見つけましたが、パスapps / frontend / i18n / fr /も、messages.xml内のファイルも作成しませんでした。

上記のコマンドを再実行しましたが、今回はSymfonyで文字列が見つかりませんでした。Symfonyが新しい文字列を見つけられない場合、それをどこかに保存するかもしれないと思ったので、Linuxで別のコマンドを実行して、i18n文字列の1つで出現するものを見つけました(通常、私はこの文字列を持っています:):

$ grep "Freelance" $(find ./)

このコマンドは私のプロジェクトのルートで起動されましたが、残念ながら、私のレイアウトにあるもの以外のオカレンスは見つかりませんでした。

問題を解決するためにもう何をすべきかわかりません。

PS:私の英語がそれほど悪くないことを願っています、それは私の母国語ではありませんが、私は最善を尽くします。

4

4 に答える 4

3

追加してみる

messageSource: '%SF_APP_DIR%/i18n'

オプションを i18n 工場設定に追加します。

messages.xmlそして、あなたのを探してくださいapp_dir/i18n/your_culture。私の場合messages.xmlは古いvendor/symfony/lib/plugins/sfdoctrineplugin/i18n

于 2013-01-15T14:39:08.147 に答える
0

factory.yml で i18n ソースを設定してみてください

このようなもの:

  i18n:
  class: sfI18N
  param:
    source:               XLIFF
    debug:                false
    untranslated_prefix:  "[T]"
    untranslated_suffix:  "[/T]"
    cache:
      class: sfFileCache
      param:
        automatic_cleaning_factor: 0
        cache_dir:                 %SF_I18N_CACHE_DIR%
        lifetime:                  31556926
        prefix:                    %SF_APP_DIR%/i18n

詳細については、こちらをご覧ください。

于 2012-08-17T13:27:28.797 に答える
0
  1. プロジェクトルートでこれを行います:

    sudo find . -print | grep -i 'messages.xml'
    
  2. 次に、見つけたファイルを削除します (おそらく、symfony ベンダー ファイルの sfDoctrinePlugin/i18n 内にあります)。

  3. 上記の設定を factory.yml と settings.yml に使用します

  4. タスクを再開します:

     php symfony i18n:extract frontend fr --auto-save
    

    それで全部です。これで、messages.xml が生成されました。不足しているフォルダーが作成されます。

  5. (以前に行った chmod の変更を元に戻します)

于 2016-05-09T19:08:16.207 に答える
-1

デフォルトの言語はfrで、翻訳を取得しようとしていますfrか?

xml ファイルには、ソース文字列 (フランス語 - デフォルト言語) とターゲット文字列 (英語など) が含まれている必要があります。

試してみて./symfony i18n:extract frontend en --auto-save(またはフランス語以外の好きな言語で)、必要なものが得られるかどうかをお知らせください.

于 2012-06-26T14:00:18.400 に答える