लोकेल सेटिंग सही नहीं हैं। मैं उन्हें कैसे रीसेट कर सकता हूं?


43

मुझे लोकल प्रॉब्लम हुई है। और अन्य कार्यक्रमों
में टकराव का क्रम nautilusबदल गया है।
जब मैं GUI ऐप लॉन्च करता हूं तो मुझे टर्मिनल में दिखने वाली लोकेल एरर मिलती है।

    Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

localeआदेश त्रुटि संदेश पैदा करता है

    locale: Cannot set LC_CTYPE to default locale: No such file or directory
    locale: Cannot set LC_ALL to default locale: No such file or directory
    LANG=en_AU
    LANGUAGE=en_AU:en
    LC_CTYPE="en_AU"
    LC_NUMERIC="en_AU"
    LC_TIME="en_AU"
    LC_COLLATE=en_AU.UTF-8
    LC_MONETARY="en_AU"
    LC_MESSAGES=en_AU.UTF-8
    LC_PAPER="en_AU"
    LC_NAME="en_AU"
    LC_ADDRESS="en_AU"
    LC_TELEPHONE="en_AU"
    LC_MEASUREMENT="en_AU"
    LC_IDENTIFICATION="en_AU"
    LC_ALL=

जैसा कि आस्कुबंटू प्रश्न में सुझाव दिया गया है , मैंने निम्नलिखित कमांड चलाए हैं, लेकिन कोई बदलाव नहीं हुआ।

    sudo apt-get install language-pack-en-base
    sudo dpkg-reconfigure locales

मैंने अस्तुउबंटु प्रश्न में भी सुझाव की कोशिश की ... कोई परिवर्तन नहीं हुआ।

    apt-get install --reinstall locales

मुझे लगता है कि यह तब शुरू हुआ जब मैंने उर्दू भाषा इनपुट मेथड एडिटर को अस्थायी रूप से स्थापित और अनइंस्टॉल किया IBus.. यह निश्चित रूप से उसी दिन हुआ।

हो सकता है कि यह आईबस से संबंधित हो, लेकिन मुझे इससे पहले इससे कोई समस्या नहीं है।

  • OS 10.04 है

जवाबों:


27

मैं चीजों को "सामान्य रूप से" फिर से चलाने में कामयाब रहा हूं।

पूरी तरह से IBus (सभी को बिना किसी प्रभाव के) को हटाने सहित कई पैकेज री-इंस्टाल आदि की कोशिश करने के बाद, मैंने यह सोचना शुरू कर दिया कि यह एक कॉन्फ़िगरेशन सेटिंग के कारण हो सकता है, जिसे री-इंस्टॉल करना संशोधित नहीं करता है।

मैंने देखा था कि localeUTF-8 असाइनमेंट के बजाय आउटपुट बेरीफेट थे, इसलिए मैंने हाल ही में स्थापित VM ... LC_ * की सभी प्रविष्टियों (LC_ALL को छोड़कर, जो अन्य सभी को ओवरराइड करता है) को .UTF-8प्रत्यय के साथ सेट किया था । इसलिए मैंने मैन्युअल रूप से LC_ * मान निर्धारित किए हैं जैसा कि नीचे दिखाया गया है।

मैं शायद बस इस्तेमाल कर सकता था LC_ALL="en_AU.UTF-8", लेकिन इस बारे में पढ़ने में, मुझे पता चला है कि सिस्टम दिनांक और समय प्रारूप को कैसे अनुकूलित किया जाए , और आपकी LC_ALLकस्टम सेटिंग को ओवरराइड करेगा।

मुझे नहीं पता कि मैंने सबसे उपयुक्त विधि का उपयोग किया है, लेकिन यह काम करता है!

संशोधित फ़ाइल है: /etc/default/locale

  • यह मॉड से पहले सामग्री को दिखाता है:

    LANG="en_AU.UTF-8"
    LANGUAGE="en_AU:en"
    LC_MESSAGES="en_AU.UTF-8"
    
  • यह मॉड के बाद सामग्री दिखाता है :

    LANG="en_AU.UTF-8"
    LANGUAGE="en_AU:en"
    LC_CTYPE="en_AU.UTF-8"
    LC_NUMERIC="en_AU.UTF-8"
    LC_TIME="en_AU.UTF-8"
    LC_COLLATE=en_AU.UTF-8
    LC_MONETARY="en_AU.UTF-8"
    LC_MESSAGES=en_AU.UTF-8
    LC_PAPER="en_AU.UTF-8"
    LC_NAME="en_AU.UTF-8"
    LC_ADDRESS="en_AU.UTF-8"
    LC_TELEPHONE="en_AU.UTF-8"
    LC_MEASUREMENT="en_AU.UTF-8"
    LC_IDENTIFICATION="en_AU.UTF-8"
    

वीएम में एक ही फाइल में केवल एक ही लाइन होती है:

    LANG="en_AU.UTF-8" 


आपकी पोस्ट के लिए धन्यवाद। रिकॉर्ड के लिए, मुझे काम करने के लिए अपने सिस्टम को फिर से शुरू करना पड़ा। (शायद emacs
eval-

19

समस्या को ठीक करने के लिए स्थानों को पुनर्परिभाषित करना और पुन: कॉन्फ़िगर करना पर्याप्त हो सकता है:

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

जब आप चलाते हैं, sudo dpkg-reconfigure localesतो आप उस स्थान का चयन कर सकते हैं जिसे आप क्लिक करके और हिट करने से पहले spacebarऔर आगे बढ़ कर चाहते हैं ।Enter


शायद यह उल्लेख के लायक है कि आप उन भाषाओं का चयन करते हैं जिन्हें आप स्पेसबार के साथ चाहते हैं।
डैनियल Kmak

@ डैनियल मुझे समझ में नहीं आता: स्पेसबार?
गिलियूम विंसेंट

1
चलाते समय dpkg-reconfigureआपको चेकबॉक्स के साथ सूची मिलती है और भाषा का चयन करने के लिए आपको स्पेसबार का उपयोग करना पड़ता है। कंसोल प्रोग्राम में ऐसी कोई जानकारी नहीं है, इसलिए मुझे लगा कि इसे उत्तर के तहत लिखने में मदद मिलेगी। मुझे नहीं पता था कि इन भाषाओं का चयन कैसे करना है।
डेनियल Kmak

1
@ डेनियल ने किया :)
विंसेंट

15

मैं भी इस समस्या से मिला, जैसा कि आप देखते हैं, आपका LC_ALLखाली है। मैंने निम्नानुसार किया और यह मदद करता है:

$ sudo vim /etc/environment

और LC_ALLकुछ इस तरह सेट करें en_US.UTF-8, मेरा है:

LANG="en_US.UTF-8"
LC_MESSAGES="C"
LC_ALL="en_US.UTF-8"

फिर रिबूट, और भागो locale, और यह कुछ इस तरह होना चाहिए:

LANG=zh_CN.utf8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

यह समाधान उबंटू 12.04 एलटीएस पर सटीक रूप से काम करता है
स्पेसिफिकूल

सेटिंग LC_ALLहतोत्साहित किया जाता है। "LC_ALL का उपयोग दृढ़ता से हतोत्साहित किया जाता है क्योंकि यह सब कुछ ओवरराइड करता है। कृपया इसे केवल तब उपयोग करें जब परीक्षण हो और इसे स्टार्टअप फ़ाइल में कभी सेट न करें।" wiki.debian.org/Locale
gertvdijk

4

यदि आप दूरस्थ रूप से मशीन से ssh (जैसे macosx डिवाइस से) से जुड़े हैं, तो आपको जिस मशीन से कनेक्ट कर रहे हैं, उस पर ये चर सेट करने की आवश्यकता है

निम्नलिखित को ~ / .bash_profile में जोड़ें

#fix for locale issues when connecting to ubuntu servers
export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"

1
ओएस एक्स से कनेक्ट करते समय क्या यह एक ज्ञात गलती है?
माइंडट्यूट

कोई विचार नहीं है अगर यह डिज़ाइन या दोष / बग द्वारा है
सोमाटिक

2

मैं सिर्फ यह जोड़ना चाहता हूं, कि मुझे अपना होम प्रोफाइल भी संपादित करना है:

gedit ~/.profile

तो आपके मामले में ऐसा लगेगा:

...
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"

लॉग आउट करें + लॉग इन करें। और सभी अपेक्षा के अनुरूप है।


मुझे exportप्रत्येक पंक्ति की शुरुआत में ज़रूरत थी, और मैंने इसे अंदर डाल दिया ~/.bashrc
१६:२० बजे स्पार्कवाक

2

मुझे कई महीनों से एक ही समस्या थी, बहुत सारे सॉफ्टवेयर टूल ने टूटी हुई लोकेल सेटिंग्स के बारे में चेतावनी दी थी, और कुछ ने चलाने से इनकार कर दिया था। मैं अंग्रेजी भाषा का उपयोग करना चाहता हूं, लेकिन स्वीडिश मौद्रिक और संख्या सेटिंग्स।

मेरे लिए आखिरकार क्या काम था, /etc/default/localeजहां मैंने उस फ़ाइल में सब कुछ हटा दिया। मैंने तब एकता भाषा सेटअप शुरू किया (Settings -> Language Support), सब कुछ सेट किया (उबंटू कुछ लापता घटक स्थापित करना चाहता था) और दबाया गया "Apply System-wide"जब मैं किया गया था।

मेरा /etc/default/localeअब इस तरह दिखता है।

LC_NUMERIC = "sv_SE.UTF-8"
LC_TIME = "sv_SE.UTF-8"
LC_MONETARY = "sv_SE.UTF-8"
LC_PAPER = "sv_SE.UTF-8"
LC_IDENTIFICATION = "sv_SE.UTF-8"
LC_NAME = "sv_SE.UTF-8"
LC_ADDRESS = "sv_SE.UTF-8"
LC_TELEPHONE = "sv_SE.UTF-8"
LC_MEASUREMENT = "sv_SE.UTF-8"
भाषा = "एन"
LANG = "en_US.UTF-8"

इस और मेरी मूल फ़ाइल के बीच बड़ा अंतर है LANGUAGE="en"


मेरा जीवन बचा ...
जॉन जो

2

यह पोस्ट किए जाने के बाद से कुछ समय हो गया है लेकिन हाल ही में मुझे "लोकेल" चर के साथ समस्याएं हुईं और किसी भी जवाब ने मुझे कोई परिणाम नहीं दिया। शायद मेरा अपना अनुभव किसी और की मदद कर सकता है।

मेरा LANG चर खाली था, और यह मुझे समस्याएं दे रहा था।

$locale

आउटपुट:

LANG=
LANGUAGE=en_US
LC_CTYPE=POSIX
LC_NUMERIC=POSIX
LC_TIME=POSIX
LC_COLLATE=POSIX
LC_MONETARY=POSIX
LC_MESSAGES=POSIX
LC_PAPER=POSIX
LC_NAME=POSIX
LC_ADDRESS=POSIX
LC_TELEPHONE=POSIX
LC_MEASUREMENT=POSIX
LC_IDENTIFICATION=POSIX
LC_ALL=POSIX

मैंने कुछ कमांड की कोशिश की जैसे:

sudo locale-gen
sudo dpkg-reconfigure locales

कोई सफलता नहीं के साथ। मैंने / etc / default / locale को संपादित करने की कोशिश की और यह पता लगाया कि यह पहले से ही ठीक था:

$cat /etc/default/locale

आउटपुट:

LANG=en_US.UTF-8
LC_NUMERIC="es_CO.UTF-8"
LC_TIME="es_CO.UTF-8"
LC_MONETARY="es_CO.UTF-8"
LC_PAPER="es_CO.UTF-8"
LC_NAME="es_CO.UTF-8"
LC_ADDRESS="es_CO.UTF-8"
LC_TELEPHONE="es_CO.UTF-8"
LC_MEASUREMENT="es_CO.UTF-8"
LC_IDENTIFICATION="es_CO.UTF-8"

इसके अलावा मेरी .pam_environment फ़ाइल सही लग रही थी:

$cat .pam_environment

आउटपुट:

LANGUAGE=en_US:en
LANG=en_US.UTF-8
LC_NUMERIC=es_CO.UTF-8
LC_TIME=es_CO.UTF-8
LC_MONETARY=es_CO.UTF-8
LC_PAPER=es_CO.UTF-8
LC_NAME=es_CO.UTF-8
LC_ADDRESS=es_CO.UTF-8
LC_TELEPHONE=es_CO.UTF-8
LC_MEASUREMENT=es_CO.UTF-8
LC_IDENTIFICATION=es_CO.UTF-8
PAPERSIZE=letter

मैं प्रोफाइल या बैश फ़ाइलों में अतिरिक्त सामग्री नहीं जोड़ना चाहता, मुख्यतः क्योंकि यह समस्या को हल कर सकता है क्योंकि मुझे इसका कारण नहीं पता होगा, और इससे मुझे गुस्सा आया।

अंत में मुझे आश्चर्य हुआ कि अगर कुछ पहले से ही "लोकेल" वेरिएबल को ओवरराइड कर रहा था और मैंने अगला कमांड चलाया:

$cat .bashrc | grep LANG

आउटपुट:

unset LANG

इसलिए मुझे मेरी .bashrc फ़ाइल पर दो लाइनें मिलीं , जहां कारण (मैं पूरी फ़ाइल को चिपका नहीं रहा हूं)

unset LANG
export LC_ALL=POSIX

मुझे नहीं पता कि मेरी बैश फाइल पर कैसे या कब लाइनें समाप्त हुईं, लेकिन मुझे पूरा यकीन है कि मैंने उन्हें नहीं लिखा था, हो सकता है कि .Bashrc को तब बदला गया जब मैं कुछ वेब-डेवलपमेंट स्टफ के साथ काम कर रहा था, मैं वास्तव में डॉन 'पता नहीं है, लेकिन जब से मुझे पता है कि यह अनजाने में था और वहाँ लोगों को कोई सुराग नहीं है कि "स्थानीय" दुर्व्यवहार के कारण क्या हैं, शायद यह उनकी मदद कर सकता है। वैसे भी उन पंक्तियों और एक रिबूट पर टिप्पणी करने से मेरे लिए समस्या हल हो गई। यहाँ मैंने उसी सवाल का जवाब दिया जो LANG वेरिएबल के बारे में सब्लिमेट 3 शिकायतों पर केंद्रित था ।


1

किसी भी तरह एक अद्यतन तली हुई स्थानों लगता है। मुझे जो फिक्स मिला वह था लॉग आउट करना, लॉग इन करने से पहले चयनित भाषा को बदलना और फिर से लॉग इन करना।

यह synaptic में स्थानों को फिर से स्थापित करने में भी मदद कर सकता है, हालांकि मैं यह पुष्टि नहीं कर सकता कि यह वही है जो मेरे लिए तय किया गया है, मुझे लगता है कि यह लॉग आउट कर रहा था या कुछ और।


भाषा में लॉग इन करना और बदलना। मुझे लॉगऑन पर भाषा बदलने का कोई वास्तविक तरीका नहीं दिखाई देता है .. मुझे वह टेक्स्ट दिखाई देता है जिसमें भाषा बदलने का उल्लेख है, लेकिन कोई विकल्प (बटन या समान) नहीं है .. शायद ऐसा इसलिए है क्योंकि मेरे पास केवल ऑस्ट्रेलियाई अंग्रेजी सक्षम है .... और मैंने चलाया है उपरोक्त सभी आदेश .. इसलिए यह इस समय एक रहस्य है ...
पीटर। 20

@ red.bear: स्थापित करने का प्रयास करें language-pack-enऔर language-support-en, फिर ऊपर की प्रक्रिया को दोहराएं।
RolandiXor

1

मैंने स्थानीय फ़ाइल को संपादित करने और लॉगिन में विभिन्न भाषाओं को चुनने की कोशिश की।

सिनैप्टिक के साथ टूटे हुए पैकेजों के लिए फ़िल्टरिंग और मेरे लिए काम कर रहे 9 आक्रामक पैकेजों को हटा देना (लिबर्रेफिस और पायथन अनसूट)।

लेकिन, मैं स्पष्ट रूप से पैकेज मैनेजर को भ्रष्ट किए बिना लिबर ऑफिस को स्थापित करने में असमर्थ हूं। हालाँकि, यह स्थापित करता है।

मैं 11.04 i386 पर हूं। अस्वीकरण: मेरे अधिष्ठापन के अंतिम भाग के दौरान बिजली की विफलता थी क्योंकि उबंटू अपडेट डाउनलोड कर रहा था।


1

मुझे भी यही समस्या थी लेकिन सिस्टम> एडमिनिस्ट्रेशन> लैंग्वेज सपोर्ट पर जाने से आपकी समस्या दूर हो सकती है क्योंकि हो सकता है कि यह आपसे कुछ पैकेज इंस्टॉल करने के लिए कहे और फिर यह ठीक हो जाए !! यह मेरे लिए काम किया है तो मुझे लगता है कि यह आपके लिए भी ऐसा ही करेगा !!


0

Daud

export LC_ALL="zh_CN.utf8"
ibus-setup

और अपनी इच्छानुसार इनपुट पद्धति के विकल्पों में से एक का चयन करें।


0

मैं एक समान समस्या (थंडरबर्ड में सबसे अधिक ध्यान देने योग्य) यहाँ en_AU उदाहरण के लिए - लेकिन मैं en_NZ से हूँ - और Ubuntu 17.10 के साथ कुछ परीक्षण-और त्रुटि के बाद मेरा फिक्स ~ / .pam_environment अद्यतन करने के लिए था, अन्य सभी प्रविष्टियों की जगह () en_NZ के साथ ज्यादातर en_AU और en_US), फिर रिबूट।

एक शर्म की बात है कि आप सिर्फ अपना लोकल सेट नहीं कर सकते हैं और यह वही करते हैं जो यह करने का दावा करता है - सबसे अधिक निराश जो कि dpkg-कॉन्फ़िगर स्थानों को चलाने से वास्तव में कुछ भी उपयोगी नहीं लगता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.