كيف يمكنني تغيير اللغة في إيماكس عند استخدام يسبيل؟

StackOverflow https://stackoverflow.com/questions/218512

  •  03-07-2019
  •  | 
  •  

سؤال

وأود أن استخدام الأمر يسبيل عازلة في ايماكس. ويستخدم اللغة الإنجليزية بشكل افتراضي. هل هناك طريقة سهلة للتبديل إلى القاموس أخرى (على سبيل المثال، لغة أخرى)؟

هل كانت مفيدة؟

المحلول

ويقترح الأمر التالي على قائمة القواميس المثبتة لاستخدام:

M-x ispell-change-dictionary

وعادة، M-x isp-c-d يوسع إلى ما سبق أيضا.

نصائح أخرى

من ملف ispell.el يمكنك تحديد بعض الخيارات للأوامر ispell. يحدث هذا عن طريق إضافة المقطع إلى نهاية الملف الخاص بك مثل هذا:

;; Local Variables:
;; ispell-check-comments: exclusive
;; ispell-local-dictionary: "american"
;; End:

لاحظ منقوطة مزدوجة تمثل بداية تعليقات في الوضع الحالي. ربما ينبغي تغييره ليعكس الطريقة ملف (لغة برمجة) الخاص بك يدخل تعليقات، مثل // للجافا

في نهاية ملف مطاط يمكنك استخدامها:

%%% Local Variables:
%%% ispell-local-dictionary: "british"
%%% End:

والتي من شأنها أن تعيين القاموس لاستخدامها فقط لهذا الملف.

استخدم M-x ispell-change-dictionary وضرب TAB لنرى ما هي القاموس متاح لك.

وبعد ذلك تكتب وضع القاموس الافتراضي في .emacs الخاص بك، وإضافة هوك لبدء يسبيل تلقائيا لك وضع معين (إذا كنت تريد).

وعلى سبيل المثال، بدء يسبيل في AUCTeX تلقائيا باستخدام اللغة الإنجليزية البريطانية (عن طريق قاموس اللغة الإنجليزية الافتراضية هي الإنجليزية الأمريكية)

(add-hook 'LaTeX-mode-hook 'flyspell-mode) ;start flyspell-mode
(setq ispell-dictionary "british")    ;set the default dictionary
(add-hook 'LaTeX-mode-hook 'ispell)   ;start ispell

إذا كنت تريد تغيير اللغة على أساس لكل دليل، يمكنك إضافة هذه إلى ملف .dir-locals.el:

(ispell-local-dictionary . "american")

إذا كان لديك أي ملف .dir-locals.el بالفعل، سيبدو هذا:

((nil .
   ((ispell-local-dictionary . "american")))
)

يكي حول المتغيرات دليل للحصول على مزيد من المعلومات.

لراحة (F7) وأضفت ما يلي ل.emacs بلدي:

(global-set-key [f7] 'spell-checker)

(require 'ispell)
(require 'flyspell)

(defun spell-checker ()
  "spell checker (on/off) with selectable dictionary"
  (interactive)
  (if flyspell-mode
      (flyspell-mode-off)
    (progn
      (flyspell-mode)
      (ispell-change-dictionary
       (completing-read
        "Use new dictionary (RET for *default*): "
        (and (fboundp 'ispell-valid-dictionary-list)
         (mapcar 'list (ispell-valid-dictionary-list)))
        nil t))
      )))

وراجع للشغل: لا ننسى لتثبيت القواميس اللازمة. مثلا على ديبيان / أوبونتو، لقاموس اللغة الانجليزية و:

sudo apt install aspell-de aspell-en
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top