qt creator原始碼全方面分析 2 6

2021-10-25 16:20:42 字數 4046 閱讀 2724

目錄

編寫訊息

ui文字大寫

使用句子樣式大寫

準備本地化

qt creator通用條款

請遵循本節中的準則,以確保擴充套件與qt creator ui保持一致,並且可以輕鬆地將其本地化為其他語言。

編寫ui文字時,請確保它:

使用者介面文字應簡潔明瞭且經濟實惠。避免使用不必要的內容詞和短語。但是,更重要的是使文字有用且易於理解。

避免以第二個人稱稱呼使用者。使用中性語調或被動語態,但在必要時使用稱呼。稱呼使用者時,請避免使用「請」一詞。例外情況是一些版權文字和簡短的命令式句子,否則聽起來可能會粗魯。例如,請稍候。

避免在選單名稱和專案中使用縮寫。如果沒有足夠的空間可以完整拼寫或連字,請根據英語縮寫規則將文字縮寫。

避免縮寫。例如,使用cannot 而不是can't。

避免在選單名稱和選單項中使用標點符號或特殊字元。

使用標點符號如下:

工具提示包含有關圖示,選單項或其他ui元素的有用資訊。當使用者將滑鼠指標放在ui元素上時,它們就會出現。您還可以向使用者介面新增始終可見的描述性文字。

對於圖示,可以將命令名用作工具提示。在這種情況下,請使用書本樣式大寫(book style capitalization),並且不要在工具提示後新增句點。

工具提示也可以包含完整的句子。嘗試使它們盡可能短而簡潔,同時仍使它們在語法上正確。就像對任何句子一樣,使用句子樣式大寫(sentence style capitalization)和標點符號。

設計模式中編寫工具提示

在qt designer中,將純文字用作工具提示。要獲得更多格式,請在富文字編輯器的源選項卡中,編寫簡短的規範html:note:text.

qt designer具有簡化富文字格式的功能(預設情況下處於啟用狀態),但仍然應通過檢視源選項卡進行驗證。

檢查訊息是否簡潔明瞭且經濟合理。 但是,更重要的是訊息是有用的並且易於理解。

儘量減少使用許多新的和不同的句子結構。 重用在類似情況下使用的句子結構。 例如:

使用兩種樣式,書名和句子樣式(book title and sentence style):

使用書本樣式大寫時,大寫所有單詞,除少於五個字母的介詞(例如,是'with'而不是'without'),連詞(例如,and, or, but)和冠詞(a, an, the )。 但是,請始終將大寫第乙個和最後乙個的上述單詞。

將書本樣式大寫用於:

檢查書本樣式大寫

您可以使用\doc\titlecase資料夾中的to-title-case.js指令碼來檢查ui文字或文件中標題的書籍樣式大寫:

在瀏覽器中開啟to-title-case.html。

在字段中輸入使用者介面文字。

單擊轉換。

帶有建議的書本樣式大寫的ui文字顯示在右側的字段中。

當使用句子樣式大寫時,除專有名稱外,僅大寫第乙個字母。

將句子樣式大寫用於:

qt creator已本地化為多種語言。一致性和簡潔性使ui文字更易於翻譯。

確保呈現給使用者的文字字串易於翻譯。使用者介面文字字串包含在tr()呼叫中,並在翻譯過程中從源**中提取。因此,翻譯器可能不知道訊息的源**上下文。

您可以新增注釋,使之在qt linguist( //:)中可見,以闡明上下文。例如:

//: contact book "add person" button label

return tr("add");

傳遞給tr().arg()的檔案和目錄名稱,使用qdir::tonativeseparators()。

不要使用跨越整個字串的標記,因為這會使翻譯人員感到困惑。例如,不採用:

tr("ui text

")

採用

qlatin1string("") + tr("ui text") + qlatin1string("/span>

")

為了使擴充套件本地化,請考慮語言和書寫系統對實現的影響。

不好意思,這一小節我也看的不知所云,大家感興趣直接看原文吧,sry

語言或書寫系統的特徵

對實現的影響

字序不同的語言具有不同的字序規則。

不要使用執行時串聯。 請使用完整的短語和"%1"格式。 例如,使用:

tr("foo failed: %1").arg(message)

代替tr("foo failed: ") + message

單數,複數,對偶形式

某些語言沒有複數形式(例如,中文和日語),而另一些語言具有雙重形式。

在布局設計中為文字擴充套件留出空間。 一些語言需要更多空間來表示多個或雙重性以傳達所需的資訊。

例如使用

tr("%n files found", 0, number)

代替tr("%1 files found").arg(number)

性別有些語言具有性別(女性,男性,中性),而有些則沒有(例如芬蘭語)或沒有廣泛使用(例如英語)。

不要重複使用文字字串。 由於基本單詞的性別,同一術語可能無法在其他情況下使用。

文章在某些語言中具有語法性別,而且在英語中句子不如容易被構造。 避免以下型別的構造:

tr("%1 failed").arg(somecondition ? "the operation" : "opening a file")

本節總結了用於常見qt creator ui元件的術語。 它還描述了命名不同型別的ui元件的約定。

始終檢查您打算使用的術語在ui中是否沒有其他含義。如果已經存在合適的術語,請使用它。 例如,將查詢find用於搜尋,將新建new用於建立新物件的嚮導。

有關如何新增ui元件的更多資訊,請參見common extension tasks。

ui文字

使用約定

上下文選單

當使用者右鍵單擊螢幕時開啟。 內容取決於上下文。

您可以新增與特定上下文相關的選單項。 請遵循命名選單項的約定。

對話方塊使用者介面元素通常包含許多選擇,或允許使用者向應用程式提供輸入。 當使用者選擇選單項或按鈕時開啟。

使用選單項或按鈕名稱作為對話方塊名稱。 您也可以將選單項或按鈕名稱與對話方塊中管理的物件名稱結合在一起。例如,文件選項中的新增按鈕將開啟新增文件對話方塊。

定位器使您不僅可以瀏覽檔案,還可以瀏覽定位過濾器(locator filter)得到的任何條目。

您可以新增定位過濾器。 檢查過濾器是否尚未使用,並為其指定描述性名稱。

選單包含代表命令或選項的選單項,並在邏輯上進行分組和顯示。 選單也可以包含子選單。

您可以建立新選單。 使用與現有選單名稱一致的簡短但描述性的名稱。 使用無歧義的名稱。

選單項表示供使用者選擇的命令或選項。

您可以將新條目新增到選單。 使用與現有選單名稱一致的簡短但描述性的名稱。 使用無歧義的名稱。

訊息框以狀態資訊,警告或錯誤訊息的形式向使用者提供反饋的對話方塊。

來自qt creator的輸出應該顯示在輸出面板中。

使用事件作為標題,並在訊息框中提供解決方案。

模式模式對應於全螢幕控制項,專門用於任務。

例如,您可以為新型編輯器新增模式。 使用描述性但簡短的模式名稱。 它們必須適合於模式選擇器。

輸出面板

任務面板中顯示的面板,顯示qt creator的輸出。

對輸出面板使用描述性名稱。

側邊欄在編輯和除錯模式下可用的檢視,可用於瀏覽專案,檔案和書籤,以及檢視類層次結構。

您可以將檢視新增到側邊欄選單。 使用描述性名稱。

檢視螢幕上為使用者顯示資訊,以及為使用者提供管理資訊功能的區域。 除錯模式下可用,用於與在偵錯程式控制下執行的程式進行互動。

對檢視使用描述性名稱。

原創造福大家,共享改變世界

獻出一片愛心,溫暖作者心靈

qt creator原始碼全方面分析 2 0

目錄 支援其他檔案型別 執行外部工具 所有主題 qt creator是為qt開發人員的需求量身定製的跨平台整合開發環境 ide qt creator可以通過多種方式擴充套件。例如,qt creator架構基於外掛程式載入器,這意味著外掛程式載入器以外的所有功能都在外掛程式中實現。但是,您可以擴充套件...

qt creator原始碼全方面分析 4 2

目錄外掛程式的本質就是動態鏈結庫,對於庫,需要匯出符號,供使用者匯入使用。在qt creator的原始碼中,存在固定的匯入匯出模式。對於每個庫和外掛程式,都有乙個xx global.h標頭檔案,其中xx為庫或外掛程式名。示例如下 pragma once include if defined xx l...

qt creator原始碼全方面分析 4 0

qt creator原始碼是在qt物件和框架基礎下寫的,因此,閱讀qt creator原始碼,你首先對qt得有一定的了解。the qt resource system 其他關鍵框架 略。避免與第三方的emit,signal和slots衝突 向元物件系統註冊enum 宣告enum,並向元物件系統註冊e...