あなたの国で公用語ではない言語でセットアップするときに、システムのロケールを変更/修正する方法は?


16

コンピューターのグローバルロケールを設定するにはどうすればよいですか?

最近、Kubuntu 14.04LTSを英語でインストールしましたが、スペインにいるのでスペインを国として選択し、ロケールオプションを変更して、数字のグループ化、小数点記号、日付形式など、すべての国固有の構成を取得しました。スペイン語を追加しました。

現在、すべてのアプリケーションはロケールが間違っていると文句を言います。システムのロケールとしてcheck-language-support使用en_ES.UTF-8していることを教えてくれますが、そのロケールは本当に間違っています。スペインには英語のロケールがありません。

Kubuntuの国/地域と言語の設定を使用してみましたが、修正されません。私が使用してみましたexport LANG=en_GB.UTF-8し、export LC_ALL=en_GB.UTF-8その後、sudo dpkg-reconfigure localesおよび原因となったcheck-language-support、私は今、正しい構成を有しているが、それであれば、それだけでそのkonsoleのセッションでだと言うこと。また、この問題により、konsoleがUnicode文字を表示できなくなり、デッドキーを使用したり、ñやç(この質問を投稿するために使用しているFirefoxなどの他のアプリケーションで動作する)などの「国際文字」を入力したりできません。

質問は次のとおりです。コンピューターのグローバルロケールを設定するにはどうすればよいですか。

これはバグレポートではありません。修正できない場合は、おそらく最終的にコンピューターを再インストールします。しかし、私は本当にこの基本的なタスクを実行する方法を知りたいです。

ありがとうございました。

$ check-language-support
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.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_COLLATE to default locale: No such file or directory
hunspell-en-ca libreoffice-help-en-gb libreoffice-l10n-en-gb libreoffice-l10n-en-za mythes-en-au wspanish

$ cat /etc/default/locale
LANG="en_US.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"


$ locale
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
LANG=en_ES.UTF-8
LANGUAGE=en:es:en
LC_CTYPE="en_ES.UTF-8"
LC_NUMERIC=en_ES.UTF-8
LC_TIME=en_ES.UTF-8
LC_COLLATE="en_ES.UTF-8"
LC_MONETARY=en_ES.UTF-8
LC_MESSAGES="en_ES.UTF-8"
LC_PAPER=en_ES.UTF-8
LC_NAME=en_ES.UTF-8
LC_ADDRESS=en_ES.UTF-8
LC_TELEPHONE=en_ES.UTF-8
LC_MEASUREMENT=en_ES.UTF-8
LC_IDENTIFICATION=en_ES.UTF-8
LC_ALL=
$ update-locale
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

回答:



8

以下の手順に従ってこの問題を解決しました。私はロケールがどのように機能するか、いくつかのディストリビューション間で異なる設定セットを研究してきました(Debian Based元々)。

Linux Mintをプライマリシステムディストリビューションとして使用し、Debianをシステムサーバーとして使用しています。

UbuntuはDebianから派生しているという事実にもかかわらず、ロケール設定はわずかに異なります。

1)システムにインストールおよび生成されているロケールを確認します。

sudo locale -a

2)次のコマンドを使用して、不要なロケールを削除します。

sudo localedef --delete-from-archive <YOUR DESIRED LOCALE HERE>

例えば:

sudo localedef --delete-from-archive en_AG

にあるデフォルトの構成/etc/default/localeは、システム言語アプリによって生成された個人(ローカルユーザーのみ)設定によって上書きされます。これらの設定は$HOME/.pam_environment$HOME=ホームフォルダーの場所)にあります。

このファイルを空にして、必要な構成を記述します。

私の.pam_environmentファイル:

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_CTYPE=pt_BR.UTF-8

LANG変数は、構成されていないLC_ *をそこに構成されている値セットに設定します。例えば:

システムがLC_TIME変数を検索し、設定されていない場合、その変数のデフォルトとしてLANG値(この場合はLC_TIME)が使用されます。

私は.pam_environment基本的にこう述べています。ほとんどのすべての変数設定pt_BR.UTF-8英語にし、システム言語を。

この情報が役立つことを願っています。


1

update-localeコマンドを使用します。使用方法については、そのページをご覧ください。基本的には、ロケールを設定する引数を使用して(sudoを使用して)実行します。この「Modif [ies] global locale settings」を要件に合わせます。

編集1:以前の方法がうまくいかない場合は、locale-genを調べることもできます。


ありがとうございました。私はすでにそれを試しました。dpkg-reconfigure locales英語とスペイン語のすべての可能な組み合わせを生成しました。インストールされているすべての言語の組み合わせに対してlocale-genを呼び出すようです。locale-gen念のため、いくつかのロケールも要求しました。問題はen_ESが存在しないということである
Calabacin

非常によく、私は解決策を探し続けます。私はこのような問題を長い間見ていません。
ズザッハ... 14

1

Freddy Vultoが答えでコメントしたように、これはここで報告されている既知のバグです:https ://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968

手動で修正する必要がある場合は、そのバグレポートをご覧ください。〜/ .kde / env / setlocale.sh(おそらく変更後)を呼び出すことで修正できます。


1

別の解決策は、英語(スペイン)を英語(米国)にエイリアスすることです。

echo en_ES.UTF-8 en_US.UTF-8 >> /etc/locale.aliases


これが単なる回避策であっても、私はそれが賢いと思い、それが気に入っています。ほとんどの場合でも動作します:)
カラバシン

0

上記のように、システム言語をアメリカ英語からイギリス英語に変更することで、一時的に問題を解決できました。KDEシステム設定>ロケール>言語ダイアログで行いました。面白いことに、現在の言語の置換は許可されていないというエラーメッセージが表示されましたが、実際には「適用」ボタンを押してマシンを再起動すると新しい設定が適用されたためです。


0

私のシステムにも同じ問題がありました:Kubuntu 16.04 LTS(kernel:4.4.0-31-generic(x86_64))。しかし、私は非常に簡単な方法でそれを解決しました:

個人設定」タブの「システム設定」で、「地域の設定」をクリックします。右メニューから「フォーマット」を選択します。左側で「詳細設定」をチェックし、数字や時間などのすべての詳細を目的の言語と地域に変更します。

(システム設定>地域設定>形式>詳細設定)

私はそれが初歩的であることを知っていますが、誰かに役立つことができます。


-3

みんなみんな、どうしておかしくなりそう?必要なのは、検索バーまたはUnityレンズ(Ubuntuの場合)に「言語」と入力するだけです。「国/地域と言語」アプリケーションが見つかります。[国]タブで、目的のロケール言語を選択します。

現在のロケールを保持し、日付形式などのその他のオプションを変更したり、メートル法からメートル法に変更したい場合は、他のタブを使用してください。:)

これは、Ubuntu distro 14.04 LTS以降で利用可能です。


4
UbuntuにはデフォルトでUnityがあります。これはKDEの問題です。完全に無関係です。また、op。この問題を解決するために時間を割いていただきありがとうございます。
カラバシン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.