如何在linux下用任何語言編寫

當涉及到用英語以外的語言鍵入文字時,輸入法編輯器(input-methodeditors)或ime允許Linux使用者用他們的母語輸入文字和命令。...

當涉及到用英語以外的語言輸入文本時,Mac用戶習慣於進入單個系統首選項屏幕,啟用一兩種語言,然後擁有所有必要的工具供他們使用。對於Windows用戶來說,這個過程只是稍微複雜一些。

any-language-linux

另一方面,Android用戶可以從許多不同的語言輸入工具中進行選擇,Linux也是如此。一旦安裝了這些輸入法編輯器(IME),Linux用戶就可以用自己的母語輸入文本。

linux chinese keyboard

多語言概念

在處理多語言文本時,有幾個關鍵概念需要理解。您在屏幕上看到的語言,無論是輸入時還是計算機為您顯示時,都取決於以下部分。

  • 文本編碼是其中最基本的,它描述了字節數據如何表示屏幕上顯示的字符。如今,現代系統認可UTF標準,這是一種編碼方案,包括世界上大多數語言的字符。
  • Locale是那些現代操作系統處理UI中不同語言顯示的方式。因此,如果您的語言環境是英語,您將在電源菜單中看到類似“shutdown”的短語,而如果您使用的是法語語言環境,您將看到它的翻譯。它還管理貨幣和日期/時間格式的顯示格式(例如,美國人使用MM-DD-YYYY格式,而許多國家使用DD-MM-YYYY格式)。大多數用戶在安裝操作系統或第一次啟動一臺新機器時都會設置自己的“語言”(實際上是系統的語言環境),之後就不會再亂來了。
  • 輸入是你如何將文本輸入電腦的。有不同的方法可以做到這一點。鍵盤可能是你首先想到的,但它不是唯一的方法。有手寫,語音到文本,甚至光學字符識別(OCR),每一個都有自己的外語考慮。這是鍵盤輸入,我們將在下面的部分中檢查。

我們可以涵蓋大多數外語的文本輸入,如下所示:

  • 通過更改鍵盤設置可以輸入的語言。如果你是一個講歐洲語言的人,切換鍵盤配置就足夠了。
  • 藉助輸入法編輯器(IME)輸入的語言。使用非拉丁字符集的語言(如中文、印地語和阿拉伯語)通常使用帶鍵盤文本輸入的輸入法。

通過鍵盤設置輸入外語文本

西方語言主要由拉丁字符加上各種重音符號組成。因此,一個英文鍵盤就足以告訴操作系統你要鍵入什麼“基本字符”。訣竅是如何指出口音。Linux桌面提供了兩種不同的方法來實現這一點,儘管它們的操作方式基本相同,與chromebook上的操作方式類似。

第一種方法使用當前的鍵盤佈局。但是您可以指定它的一個鍵作為Compose鍵。一個常見的選擇是右Alt鍵,有時標記為Alt Gr。當您按住此鍵並按正確的順序輸入其他字符時,系統將它們視為重音字符。例如,當按住組合鍵,然後按e'(單引號)時,這被解釋為“帶有銳音符的e”:e。如果您相對頻繁地使用這些字符,則此方法非常有用,因為您始終可以訪問它們。一個缺點是,你將失去使用你的右Alt鍵的功能,如切換任務(左Alt鍵仍將在這方面的工作)。

kde keyboard config compose

可在KDE系統設置>輸入設備>鍵盤屏幕中找到此設置,然後單擊高級選項卡,並查找名為Position of Compose Key的選項。它列出了幾個選項,只需選擇您最喜歡的,然後單擊應用。要在Unity中執行相同的操作,請轉到“系統設置”>“鍵盤”,然後單擊“快捷方式”選項卡。選擇輸入項,就可以在右邊配置Compose鍵。

unity keyboard compose

或者,您可以設置新的鍵盤佈局,其中包含生成重音字符所需的鍵。在KDE中,這在系統設置>輸入設備>鍵盤中可用,然後單擊佈局選項卡。選中Configure Layouts(配置佈局)框,您應該會在Layout(佈局)列中看到默認鍵盤的列表,即您在安裝時選擇的鍵盤,例如“English(US)”,如下所示(除非您深入研究過其他佈局)。單擊“添加”按鈕,然後選擇前兩個設置以匹配您的硬件(這裡的語言為英語,我的語言為英語(US))。這裡的變體很重要——選擇英語(美國,國際,帶死鍵)。

kde keyboard config intl

在Unity中,右鍵單擊菜單欄右上角的鍵盤圖標(英語使用者為En),然後選擇文本輸入項。在文本輸入窗口中,單擊+添加文本輸入方法,然後搜索英語(國際AltGR死鍵)。

unity text entry intl deadkey

現在,當您按住其中一個“死鍵”(其中一個通常是前面提到的“Alt Gr”)並隨後按下兼容鍵時,它將輸入一個重音字母。例如,鍵入“Alt Gr+Y”生成帶有umlaut:ü的版本。這種方法更適合那些不只是偶爾做角色的用戶,因為你可以切換到“外語模式”並停留在那裡,完成後再切換回“英語模式”。對某些人來說,這也稍微不夠直觀,需要留出一些內存來記憶這些組合(而不是Alt Gr+E+單引號,你可能會自己猜)。

這些方法的鍵組合可能略有不同,因此建議選擇一個並堅持使用。

通過輸入法編輯器輸入外語文本

由於許多電腦都配備了英文鍵盤,所以對於說英語的人和他們26個字母的字母表來說,創建文本似乎是最基本的。但是考慮像日語這樣的語言,它有超過10000個字符。如何使用只有101(或105,但肯定不是10000)個鍵的鍵盤輸入這些內容?

這就是輸入法編輯器(IME)的用武之地。它是負責接收用戶輸入並將其轉換為所需字符的軟件。在PC上最常用的方法是轉換擊鍵。但採用手寫或虛擬鍵盤的小程序也是IME的一種。

安裝步驟在很大程度上取決於:1)您選擇的IME框架/管理器,2)它是否是模塊化的,3)為您的語言安裝模塊,以及4)如何從桌面訪問IME。

下面介紹在KDE和Unity上安裝日語的步驟,以便fcitx輸入法框架使用mozc日語輸入法擴展。基本上,我們正在設置fcitx,這樣如果我們將來想添加其他語言,我們就有了統一的體驗。

在基於gtk的臺式機中安裝和配置

在使用GTK的桌面上,例如Unity,在破折號中搜索Language Support配置工具。這列出了可以添加到系統中的不同語言。一旦你選擇了一個你想要的,這個工具將開始安裝所有你可能需要的各種軟件包,包括字體和應用程序翻譯。安裝後,請重新登錄,以便使用新語言。

unity language support install

要開始使用它們,請右鍵單擊屏幕右上角的鍵盤圖標,然後選擇文本輸入選項。現在,當您添加文本輸入方法時,您將看到剛才添加的語言的選項。Ubuntu在ibus框架中使用mozc輸入法,但是您可以手動切換到fcitx。說到這裡。。。

unity text entry menu

kde中的安裝與配置

要在KDE-Neon中使用日語,讓我們安裝fcitx框架、KDE系統設置模塊和mozc日語輸入法。您可以用mozc代替支持您的語言的輸入法。設置模塊不會像Unity那樣為我們安裝這些,所以讓我們來處理它。

sudo apt-get install kde-config-fcitx fcitx-mozc

完成後,您應該可以在“系統設置”>“區域設置”>“輸入法”中看到fcitx配置。

kde regional config input method

接下來,將輸入法面板小部件添加到任務欄的某個位置。

kde input method panel

現在,從“應用程序”>“實用程序”菜單中選擇fcitx,或在命令行中使用以下命令啟動fcitx:

fcitx

現在你應該準備好開始寫日語了,對吧?錯了。對於KDE應用程序來說,還有一個非常重要但沒有很好的文檔記錄的步驟來接受來自IME的輸入。在命令行中發出以下命令:

im-config -n fcitx

這將fcitx配置為“活動配置”(Unity屏幕提供了一個下拉列表來選擇此選項)。如果你不這樣做,它將回落到正常(無聊,英語)輸入從鍵盤。建議您退出會話並重新登錄(不過,您不需要重新啟動)。

現在你可以打開一個KDE應用程序,按一下你配置的熱鍵(默認情況下是Ctrl+Space),然後開始一個小的語言假期(注意系統托盤中的Japanese-yfcitx圖標)。

kate japanese input

就這麼簡單:你現在應該用日語(或者任何你想換的語言)寫作!

你使用多種語言的Linux嗎?在組合鍵和使用鍵盤佈局之間有偏好嗎?推薦一個特定的輸入法?請在評論中告訴我們!

  • 發表於 2021-03-15 04:25
  • 閱讀 ( 44 )
  • 分類:電腦

你可能感興趣的文章

聯結器(linker)和裝載機(loader)的區別

...計算機程式用於向計算機發出指令。它是使用特定的程式語言編寫的。C、Java等程式語言是高階程式語言,人類可以理解,但計算機無法理解。因此,使用語言翻譯將高階程式轉換為機器語言。使用高階語言編寫的程式是原始碼...

  • 發佈於 2020-10-19 05:42
  • 閲讀 ( 39 )

語法錯誤(syntax error)和邏輯錯誤(logical error)的區別

...稱為bug。識別錯誤並修復錯誤的過程稱為除錯。每種程式語言都有特定的語法。程式設計師應該遵循正確的語法來編寫程式。當出現語法錯誤時,稱為語法錯誤。編譯時發生語法錯誤。在執行時發生的錯誤稱為執行時錯誤。陣列...

  • 發佈於 2020-10-19 09:24
  • 閲讀 ( 65 )

原始碼(source code)和位元組碼(bytecode)的區別

...算機程式可以向計算機發出指令。它是用一套特定的程式語言編寫的。程式語言有很多種。大多數程式語言都是高階程式語言。用高階語言編寫的程式很容易被人或程式設計師理解。這些程式稱為原始碼。機器無法理解它們。因...

  • 發佈於 2020-10-19 15:49
  • 閲讀 ( 59 )

原始碼(source code)和目的碼(object code)的區別

...特定任務的一組指令。它們的指令是由程式設計師用程式語言編寫的。因此,開發一個軟體意味著開發一套程式。編寫程式的活動稱為程式設計。開發完整軟體所遵循的過程稱為軟體開發生命週期(SDLC)。SDLC中涉及的步驟使我...

  • 發佈於 2020-10-19 18:56
  • 閲讀 ( 189 )

高階語言(high level language)和低階語言(low level language)的區別

高階語言(high level language)和低階語言(low level language)的區別 計算機根據使用者提供的指令工作。為執行某項任務而編寫的一組指令是一個計算機程式。計算機程式的集合稱為軟體。計算機程式或軟體是用計算機程式語言編寫...

  • 發佈於 2020-10-23 20:12
  • 閲讀 ( 85 )

關於基於golang的惡意軟體,您需要了解什麼

...雖然有很多這樣惡劣的資訊竊取者,使這一個更陰險的是如何針對多個作業系統。 ...

  • 發佈於 2021-03-11 10:52
  • 閲讀 ( 65 )

electron開放框架以及為什麼它對應用程式開發非常棒

... 這對使用者和開發者來說都是好事。人們不必擔心如何找到程式的替代品,這一事實有助於降低在作業系統之間切換的障礙。除此之外,它還為編寫軟體的人員提供了更高的使用者覆蓋率,而且只需付出最小的努力。 ...

  • 發佈於 2021-03-12 14:53
  • 閲讀 ( 51 )

為什麼c程式設計仍然值得學習

...讀這三篇文章的原因:學習程式碼之前要問自己的問題,如何在沒有壓力的情況下學習程式設計,以及掌握一門新程式語言的技巧。 ...

  • 發佈於 2021-03-13 03:02
  • 閲讀 ( 56 )

為什麼java虛擬機器可以幫助程式碼更好地執行

... 以下是BZLib壓縮庫中的一個小程式碼段,它演示瞭如何使用ifdef隔離平臺特性: ...

  • 發佈於 2021-03-13 07:13
  • 閲讀 ( 50 )

為什麼有些程式語言比其他語言快?

... 不管程式語言看起來如何,它們仍然在做同樣的事情:讓你的計算機做一些事情。所有的程式碼行最終都被翻譯成一系列模糊的數字(也稱為機器程式碼)。可以說,所有程式語言(包括組合...

  • 發佈於 2021-03-13 15:07
  • 閲讀 ( 42 )