タイトルのトルコ語文字の問題

こんにちは、

以下の問題が発生しています。

サイトの言語はトルコ語です。
GIDA という単語をタイトルとして貼り付けると、gida と表示されてしまいます。しかし、gıda である必要があります。なぜなら、GIDA には I(点なしの I)ではなく İ(点付きの İ)が含まれているからです。

何か解決策をご存知でしょうか。

よろしくお願いいたします。

これは、タイトルがすべて大文字で構成されている場合、サイトの設定 title_prettify が有効で、かつ allow_uppercase_posts が無効になっているときに発生します。

Ruby には String#downcase のオプションパラメータがあり、デフォルトのロケールがトルコ語の場合に使用できますが、私はここで確信が持てません。トルコ語のフォーラムで「CIA BLA BLA」をトピックのタイトルとして使う人がいるかもしれませんからね。

そこで、いくつかの解決策を提示します:

  • タイトルにすべて大文字を使用しない:「GIDA BLA BLA bla」であれば問題なく動作します!
  • または、allow_uppercase_posts サイト設定を有効にする
  • または、title_prettify サイト設定を無効にする
「いいね!」 3

ありがとうございます。

つまり、以下に挙げた機能が実装されるまでは、解決策はないのでしょうか?

これは単なる例です :slight_smile:

私はこの Discourse をプロジェクトのウィキとして利用したいと考えており、テキストをどこかからコピーして持ってくるしか方法がないため、すべてのタイトルが大文字になっています :frowning:

これはあまり見栄えが良くないかもしれませんね :frowning:

しかし、私はこの機能が必要なのです :slight_smile:

これを #feature に変更します

ここでの機能リクエストは、サイトのロケールがトルコ語に設定されている場合に title_prettify をサポートすることです。

サイトがトルコ語の場合にコアのルールがどのように異なるかを示すお手伝いができれば、これは妥当なリクエストだと考えます。

「いいね!」 2

ありがとうございます。

私のほうこそ光栄です。

リストをお共有できます。

こんにちは、

リストを作成しました。不足している場合は、さらに作成することもできます。ありがとうございます。

title_prettify_turkish - Sheet1.pdf (52.2 KB)

「いいね!」 1

SiteSetting.default_localetr_TR に設定されている場合、TextCleaner 内で downcasecapitalize などのメソッドに :turkic 版を使用するのは理にかなっていると思います。

これは正しい対応策のように思えます。回避策を用意したい場合は、英語のタイトルを使用するトルコ語サイト向けに、この機能を無効化する非表示のサイト設定を追加することもできるでしょう。

この件、@gerhard さんが引き受けていただけますか?

「いいね!」 3
「いいね!」 4

問題解決しました。ありがとうございました :relaxed:

「いいね!」 3