qt creator原始碼全方面分析(2-6)
目錄
- User Interface Text Guidelines
- 語法和風格
- 標點
- 編寫工具提示tooltips
- 編寫訊息
- UI文字大寫
- 使用書本樣式大寫
- 使用句子樣式大寫
- 準備本地化
- 標記UI文字進行翻譯
- 語言或書寫系統的特徵
- Qt Creator通用條款
User Interface Text Guidelines
請遵循本節中的準則,以確保擴充套件與Qt Creator UI保持一致,並且可以輕鬆地將其本地化為其他語言。
編寫UI文字時,請確保它:
- 與現有的Qt Creator使用者介面條款一致
- 簡明扼要
- 中性,描述性和事實正確
- 明確的
- 可翻譯成不同的語言
語法和風格
所有UI文字必須為語法正確的英語,並使用標準形式的書面語言。不要使用方言。使用慣用語言,即英語特有的表達。如果可能,請以英語為母語的人進行評論。
使用者介面文字應簡潔明瞭且經濟實惠。避免使用不必要的內容詞和短語。但是,更重要的是使文字有用且易於理解。
避免以第二個人稱稱呼使用者。使用中性語調或被動語態,但在必要時使用稱呼。稱呼使用者時,請避免使用“請”一詞。例外情況是一些版權文字和簡短的命令式句子,否則聽起來可能會粗魯。例如,請稍候
避免在選單名稱和專案中使用縮寫。如果沒有足夠的空間可以完整拼寫或連字,請根據英語縮寫規則將文字縮寫。
避免縮寫。例如,使用cannot 而不是can't。
標點
避免在選單名稱和選單項中使用標點符號或特殊字元。
使用標點符號如下:
- 在訊息中使用句號。
- 切勿在選單項名稱的末尾使用句號(.)。
- 放置三個句號(...)在選單項名稱的末尾,這將開啟一個需要使用者操作的對話方塊。
- 使用感嘆號(!),僅在需要使用者特別注意或特別重要的文字中。
- 在變數值周圍使用引號("")。 例如,關閉專案"qtcreator"。為了保持一致,請在使用者可見的字串中使用雙引號突出顯示或設定檔名,目錄名,URL等。
- 不要使用前導,尾隨或多個空格來對齊訊息中的文字,因為翻譯工具可能無法正確處理它們。
編寫工具提示tooltips
工具提示包含有關圖示,選單項或其他UI元素的有用資訊。當用戶將滑鼠指標放在UI元素上時,它們就會出現。您還可以向用戶介面新增始終可見的描述性文字。
對於圖示,可以將命令名用作工具提示。在這種情況下,請使用書本樣式大寫(book style capitalization),並且不要在工具提示後新增句點。
工具提示也可以包含完整的句子。嘗試使它們儘可能短而簡潔,同時仍使它們在語法上正確。就像對任何句子一樣,使用句子樣式大寫(sentence style capitalization)和標點符號。
設計模式中編寫工具提示
在Qt Designer中,將純文字用作工具提示。要獲得更多格式,請在富文字編輯器的源選項卡中,編寫簡短的規範HTML:<html><head/><body><b>Note:</b> text.
Qt Designer具有簡化富文字格式的功能(預設情況下處於啟用狀態),但仍然應通過檢視源選項卡進行驗證。
編寫訊息
檢查訊息是否簡潔明瞭且經濟合理。 但是,更重要的是訊息是有用的並且易於理解。
儘量減少使用許多新的和不同的句子結構。 重用在類似情況下使用的句子結構。 例如:
- 無法將日誌作為所選訊息型別傳送。文字太長。
- 無法接收影象。
- 無法插入圖片。 文字長度上限為120個字元。
- 圖片名稱已被使用。
- 資料夾名稱已被使用。
UI文字大寫
使用兩種樣式,書名和句子樣式(book title and sentence style):
示例 Example of Book Title Capitalization
示例 Example of sentence style capitalization
使用書本樣式大寫
使用書本樣式大寫時,大寫所有單詞,除少於五個字母的介詞(例如,是'with'而不是'Without'),連詞(例如,and, or, but)和冠詞(a, an, the )。 但是,請始終將大寫第一個和最後一個的上述單詞。
將書本樣式大寫用於:
- 標題(視窗,對話方塊,組框,選項卡,列表檢視列等)
- 功能(選單項,按鈕)
- 可選擇專案(組合框專案,列表框專案,樹形列表專案等)
檢查書本樣式大寫
您可以使用\doc\titlecase資料夾中的to-title-case.js指令碼來檢查UI文字或文件中標題的書籍樣式大寫:
- 在瀏覽器中開啟to-title-case.html。
- 在欄位中輸入使用者介面文字。
- 單擊轉換。
帶有建議的書本樣式大寫的UI文字顯示在右側的欄位中。
使用句子樣式大寫
當使用句子樣式大寫時,除專有名稱外,僅大寫第一個字母。
將句子樣式大寫用於:
- 標籤
- 工具提示
- 描述性文字
- 其他非頭或標題文字
準備本地化
Qt Creator已本地化為多種語言。一致性和簡潔性使UI文字更易於翻譯。
標記UI文字進行翻譯
確保呈現給使用者的文字字串易於翻譯。使用者介面文字字串包含在tr()呼叫中,並在翻譯過程中從原始碼中提取。因此,翻譯器可能不知道訊息的原始碼上下文。
您可以添加註釋,使之在Qt Linguist( //:)中可見,以闡明上下文。例如:
//: Contact book "Add person" button label
return tr("Add");
如果該類不是Q_OBJECT,請使用QCoreApplication::translate("class context", "message")或考慮使用Q_DECLARE_TR_FUNCTIONS。不要使用QObject::tr(),這會造成混淆,因為訊息在Qt Linguist中按類上下文分組顯示,而與QObject繫結的訊息沒有類上下文。
傳遞給tr().arg()的檔案和目錄名稱,使用QDir::toNativeSeparators()。
不要使用跨越整個字串的標記,因為這會使翻譯人員感到困惑。例如,不採用:
tr("<html><head/><body><span>UI Text</span></body></html>")
採用
QLatin1String("<html><head/><body><span>") + tr("UI Text") + QLatin1String("/span></body></html>")
語言或書寫系統的特徵
為了使擴充套件本地化,請考慮語言和書寫系統對實現的影響。
不好意思,這一小節我也看的不知所云,大家感興趣直接看原文吧,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通用條款
本節總結了用於常見Qt Creator UI元件的術語。 它還描述了命名不同型別的UI元件的約定。
始終檢查您打算使用的術語在UI中是否沒有其他含義。如果已經存在合適的術語,請使用它。 例如,將查詢Find用於搜尋,將新建New用於建立新物件的嚮導。
有關如何新增UI元件的更多資訊,請參見Common Extension Tasks。
UI文字 | 使用 | 約定 |
---|---|---|
上下文選單 | 當用戶右鍵單擊螢幕時開啟。 內容取決於上下文。 |
您可以新增與特定上下文相關的選單項。 請遵循命名選單項的約定。 |
對話方塊 | 使用者介面元素通常包含許多選擇,或允許使用者嚮應用程式提供輸入。 當用戶選擇選單項或按鈕時開啟。 |
使用選單項或按鈕名稱作為對話方塊名稱。 您也可以將選單項或按鈕名稱與對話方塊中管理的物件名稱結合在一起。例如,文件選項中的新增按鈕將開啟新增文件對話方塊。 |
定位器 | 使您不僅可以瀏覽檔案,還可以瀏覽定位過濾器(locator filter)得到的任何條目。 |
您可以新增定位過濾器。 檢查過濾器是否尚未使用,併為其指定描述性名稱。 |
選單 | 包含代表命令或選項的選單項,並在邏輯上進行分組和顯示。 選單也可以包含子選單。 |
您可以建立新選單。 使用與現有選單名稱一致的簡短但描述性的名稱。 使用無歧義的名稱。 |
選單項 | 表示供使用者選擇的命令或選項。 |
您可以將新條目新增到選單。 使用與現有選單名稱一致的簡短但描述性的名稱。 使用無歧義的名稱。 |
訊息框 | 以狀態資訊,警告或錯誤訊息的形式向用戶提供反饋的對話方塊。 來自Qt Creator的輸出應該顯示在輸出面板中。 |
使用事件作為標題,並在訊息框中提供解決方案。 |
模式 | 模式對應於全螢幕控制元件,專門用於任務。 |
例如,您可以為新型編輯器新增模式。 使用描述性但簡短的模式名稱。 它們必須適合於模式選擇器。 |
輸出面板 | 任務面板中顯示的面板,顯示Qt Creator的輸出。 |
對輸出面板使用描述性名稱。 |
側邊欄 | 在編輯和除錯模式下可用的檢視,可用於瀏覽專案,檔案和書籤,以及檢視類層次結構。 |
您可以將檢視新增到側邊欄選單。 使用描述性名稱。 |
檢視 | 螢幕上為使用者顯示資訊,以及為使用者提供管理資訊功能的區域。 除錯模式下可用,用於與在偵錯程式控制下執行的程式進行互動。 |
對檢視使用描述性名稱。 |