كيف يمكنني إصلاح مشكلة اللغة الخاصة بي?

أتلقى هذه الرسالة في كل مرة أفعل فيها شيئا مثل بدء الخدمة أو إيقافها.

perl: warning: Setting locale failed.   perl: warning: Please check that your locale settings:           LANGUAGE = "en_US:en",           LC_ALL = (unset),           LC_MESSAGES = "en_US.UTF-8",           LANG = "en_US.UTF-8"       are supported and installed on your system.   perl: warning: Falling back to the standard locale ("C").   locale: Cannot set LC_CTYPE to default locale: No such file or directory   locale: Cannot set LC_MESSAGES to default locale: No such file or directory   locale: Cannot set LC_ALL to default locale: No such file or directory   (Reading database ... 21173 files and directories currently installed.)  Removing bind9 ...   * Stopping domain name service... bind9                                        [ OK ]Processing triggers for man-db ...   locale: Cannot set LC_CTYPE to default locale: No such file or directory   locale: Cannot set LC_MESSAGES to default locale: No such file or directory   locale: Cannot set LC_ALL to default locale: No such file or directory   

كيف يمكنني إصلاح هذا الخطأ ?

الجولة الأولى locale لسرد اللغات المحددة حاليا لحساب المستخدم الحالي:

$ localeLANG=CLANGUAGE=LC_CTYPE=fi_FI.UTF-8LC_NUMERIC="C"LC_TIME="C"LC_COLLATE=fi_FI.UTF-8LC_MONETARY="C"LC_MESSAGES=fi_FI.UTF-8LC_PAPER="C"LC_NAME="C"LC_ADDRESS="C"LC_TELEPHONE="C"LC_MEASUREMENT="C"LC_IDENTIFICATION="C"LC_ALL=

ثم قم بإنشاء اللغة المفقودة وإعادة تكوين اللغات لتلاحظها:

$ sudo locale-gen "en_US.UTF-8"Generating locales...  en_US.UTF-8... doneGeneration complete.$ sudo dpkg-reconfigure localesGenerating locales...  en_US.UTF-8... up-to-dateGeneration complete.

الآن لن ترى أي أخطاء بعد الآن!

لا شيء اقترح أعلاه عملت في حالتي (أوبونتو سيرفر 12.04 لتس). ما ساعد في النهاية هو وضع الملف /etc/environment:

LC_ALL=en_US.UTF-8LANG=en_US.UTF-8

لسبب ما كان مفقودا. ظهرت مخرجات اللغة والأوامر الأخرى مثل المتغيرات التي تم تعريفها بشكل صحيح. وبعبارة أخرى لا تأخذ أمرا مفروغا منه يتم الإعلان عن جميع الأشياء الأساسية حيث ينبغي الإعلان عنها.

يجب أن تختفي بعد الإصدار:

sudo locale-gen en_US en_US.UTF-8sudo dpkg-reconfigure locales 

dpkg-reconfigure يعيد تكوين الحزم بعد تثبيتها بالفعل. تمريرها أسماء حزمة أو حزم لإعادة تكوين. وسوف يسأل أسئلة التكوين ، مثل الكثير عندما تم تثبيت الحزمة لأول مرة.

فقط أضف ما يلي إلى الخاص بك .bashrc ملف (على افتراض أنك تستخدم باش)

export LC_ALL="en_US.UTF-8"

هذه مشكلة شائعة إذا كنت تتصل عن بعد ، وبالتالي فإن الحل هو عدم إعادة توجيه اللغة الخاصة بك. تحرير /etc/ssh/ssh_config والتعليق بها SendEnv LANG LC_* خط.

هناك أمر لذلك:

sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

فإنه يقوم بتحديث /etc/default/locale مع القيم المقدمة.

لتطبيق التغييرات ، يمكنك

source /etc/default/locale

ما عملت بالنسبة لي على 12.10 كان هذا:

apt-get install language-pack-en-base  

كان هذا بعد dpkg-reconfigure locales لم تسفر عن نتائج.

لا ننسى الخروج جلسة سش الخاص بك (أو 11 الخاص بك) عن طريق الخروج وتسجيل الدخول مرة أخرى. كل هذه الاقتراحات لم تنجح بالنسبة لي إلا إذا قمت بتسجيل الدخول مرة أخرى....

بالنسبة لأوبونتو 12.10 ، لم يعمل أي مما سبق باستثناء حل راتز. أوصي بإضافة هذا إلى الخاص بك / الخ / باش.ملف اللجنة:

export LC_ALL="en_ZA.UTF-8"export LC_CTYPE="en_ZA.UTF-8"

كنت عالقا في حالة غريبة حيث تم تعيين الجهاز المحلي الخاص بي على es وهكذا الجهاز البعيد (عبر vagrant) تم توفيرها في دولة غير متداولة. لذلك ، كان علي استخدام الدليل export= فقط لتسهيل ناجحة dpkg-reconfigure. ثم النظام على ما يرام.

export LC_ALL="en_US.UTF-8"sudo dpkg-reconfigure locales

تكرار ممكن من متغيرات اللغة ليس لها أي تأثير في قذيفة عن بعد (بيرل: تحذير: إعداد اللغة failed.)

ذات صلة: [كيفية تعيين اللغة؟] (perl - How to set locale? - Ask Ubuntu)

إصلاح سهل ودائم لجميع المستخدمين: locale: Cannot set LC_CTYPE to default locale: No such file or directory locale - Ask Ubuntu

تحتاج إلى القول: جهازك? أو لديك فقط تسجيل دخول المستخدم ولا يمكن تغيير إعدادات النظام? (نعم أنا أعرف هذا هو السؤال القديم حقا. و أوبفوتس من إجابات خاطئة مروعة)