6

次の css セクションがあります。

.introduction:before { content: '誰が私を優雅に翻訳してくれるでしょうか?'; }

おそらく、css ファイルの i18n を処理する簡単な方法はありません。2 つの選択肢があります。

  1. コンテンツを含むこれらすべての css を収集し、それらを Django テンプレート内にまとめて出荷します。
  2. テンプレートで i18n 機密 css 名を生成して、事前に翻訳された別の css コンテンツを選択します。

新しい可能な解決策があれば、感謝します。

4

3 に答える 3

4

Django を介して翻訳する必要がある css ファイルを提供し、言語ごとにキャッシュして、パフォーマンスへの影響を軽減します。

urls.py

url(r'^static/css/translated.css$', TemplateView.as_view(template_name='translated.css')),

翻訳済み.css

{% load cache %}
{% cache 60*60*24 translated_css LANGUAGE_CODE %}
  {# write css here, translate as a normal template #}
  .introduction:before { content: 
    {% trans 'Who is going to translate me in a graceful way?' %}
  ; }
{% endcache %}
于 2012-09-25T18:09:22.470 に答える
3

これは無理だと思います。css がテンプレート (html テンプレートなど) である場合にのみ翻訳できます。しかし、これは悪い解決策です....効率

しかし、たとえば本体にクラス言語がある場合は、次のようにすることができます。

body.language_en .introduction:before { content: 'Who is going to translate me in a graceful way?'; }
body.language_es .introduction:before { content: 'El traductor de google es terrible :-)'; }

そして、あなたの base.html には次のようなものがあります:

....
<body class="language_{{ LANGUAGE_CODE }}">
....
于 2012-09-25T15:46:38.873 に答える