改行しないスペース文字を使用しようとしています& nbsp;翻訳で。symfony翻訳で改行しないスペースを使用する
# messages.cs.yml
"City near river": "Město u řeky"
ただし、テンプレートで翻訳するときに改行されない空白文字はエスケープされます。
{{ 'City near river'|trans }} # prints "Město u řeky"
どのように作成するのですか?
改行しないスペース文字を使用しようとしています& nbsp;翻訳で。symfony翻訳で改行しないスペースを使用する
# messages.cs.yml
"City near river": "Město u řeky"
ただし、テンプレートで翻訳するときに改行されない空白文字はエスケープされます。
{{ 'City near river'|trans }} # prints "Město u řeky"
どのように作成するのですか?
あなたは次のようにraw
filterを追加しようとする可能性があります。これは、自動エスケープから小枝を防ぐことができます
{{ 'City near river'|trans|raw }}
。
また、
の代わりにCSSで文字列を破ることを防ぐ方が良いと思います。
あなたは、CSSルールとそれを達成することができます:変換された文字列を含む要素に割り当てられた
white-space:nowrap;
。
このようにすると、この文字列を使用するたびにこのhtmlエンティティを取得する必要がないため、より柔軟な翻訳が得られます。
私はUnicode文字を使用して解決策を見つけた:
# messages.cs.yml
"City near river": "Město u\xA0řeky"
私はホワイトスペースを使用することはできません:私が欲しいNOWRAPため、テキストは正常に分割します。私は、 "u"や "v"のような単一文字の前置詞の後に改行されないスペースしか必要としません。それは特定の言語の文法(チェコ語)です。 –
生のフィルターを使用すると動作するかもしれませんが、翻訳が例えば "Mike&Co" => "&"がここでエスケープされない場合、これはHTMLを破壊します。私は最終的に、上記の私の答えを参照して、ユニコードcharを使用して解決策を見つけた。 –