Cursor RTL — Cursor用マルチランゲージRTLサポート拡張

Tool

概要

Cursor RTLは、Cursor AI Chat上で多言語(特に右→左方向の言語)を自然に表示することを目的としたブラウザ拡張です。要素ごとにテキストの方向性を自動判定するアルゴリズムを用い、ヘブライ語・アラビア語・ペルシャ語などRTL言語が含まれる要素は右寄せ(right-aligned)にし、英語などのLTR言語は左寄せのまま表示します。混在テキストや動的に生成されるチャットメッセージにも対応することで、会話の読みやすさと整合性を向上させます。インストール後はCursorのUIに手を加えることなく、言語ごとの視覚的なズレを自動補正します。

GitHub

リポジトリの統計情報

  • スター数: 24
  • フォーク数: 0
  • ウォッチャー数: 24
  • コミット数: 3
  • ファイル数: 12
  • メインの言語: TypeScript

主な特徴

  • 要素単位の自動方向判定(RTL/LTR)で混在テキストを正しく表示
  • ヘブライ語・アラビア語・ペルシャ語に対するデフォルト右寄せサポート
  • Cursorの動的コンテンツ(チャットの追加や編集)にも対応
  • TypeScriptで記述された軽量な拡張、ドキュメントとスクリーンショットを提供

技術的なポイント

Cursor RTLは「目的に合わせて作られたアルゴリズム」を用いて、DOM内の各要素のテキストを走査し、テキストの方向性を判定して表示スタイルを動的に変更します。判定は一般的にUnicodeの文字レンジ(ヘブライ文字、アラビア文字、ペルシャの拡張など)を検出することで行い、該当文字が優勢な要素にはdir属性やCSSのtext-alignを適用して右寄せにします。逆にLTRが優勢な場合は既存の左寄せを維持します。

実装面では、CursorのチャットUIのように動的に要素が追加・変更される環境を考慮し、MutationObserverなどを用いてDOM変更を監視し、新しく追加されたメッセージ要素に対して再判定を行う設計が想定されます。パフォーマンス面では、走査範囲を必要最小限に限定し、頻繁なDOMアクセスを避けるためのデバウンスやスロットリング、CSSクラスによる一括適用などの工夫が重要です。

また、編集可能な入力フィールドやコンテンツエディタに対しては、ユーザーの入力にリアルタイムで反応する必要があり、入力イベント(input/keydownなど)を監視して、入力中の言語変化にも追従することが望まれます。拡張はTypeScriptで開発されており、型安全性とビルド環境(ツールチェーン)を活用して、拡張機能の信頼性を高めています。ドキュメントが用意されているため、導入手順や挙動の確認も簡便です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • .gitignore: file
  • .vscodeignore: file
  • LICENSE: file
  • README.md: file

…他 7 ファイル

(リポジトリにはドキュメントやスクリーンショット、ビルド設定やソースファイルなど、拡張の配布とメンテナンスに必要なファイル群が含まれています。)

まとめ

Cursor上での多言語・RTL表示問題を手軽に解決する実用的な拡張です。

リポジトリ情報:

READMEの抜粋:

Cursor RTL - Extension

Smart multi-language RTL support for Cursor AI Chat. Uses a purpose-built algorithm that auto-detects text direction per element - Hebrew, Arabic and Persian text is automatically right-aligned, while English text stays left-aligned. Mixed-language conversations just work.

Documentation


Screenshots

Chat

BeforeAfter
![Chat before RTL](docs/screenshots/chat-be…