维基词典:ACCEL
- 要編輯生成新形式條目的規則,請前往Module:accel。
此小工具允許您自動生成詞彙變化形式的條目。
啟用加速連結
[编辑]此小工具仍在測試當中。若欲試用,請在您的Special:MyPage/common.js添加以下程式碼:
mw.loader.load('/w/index.php?title=User:TongcyDai/Gadget-AcceleratedFormCreation.js&action=raw&ctype=text/javascript');
創建新條目
[编辑]許多現有頁面和模板已經支援加速小工具。如果連結允許您自動生成新條目,它會顯示為亮綠色。要開始創建條目,只需點擊連結,它會帶您前往編輯頁面。編輯視窗會自動添加新條目。然後您可以像儲存其他頁面一樣儲存頁面。定義出現的順序取決於它們在詞目條目中出現的順序,但可以修改;詳見下方#按列組織的變化表。
務必檢查新條目以確保一切正確!雖然編輯者應該非常小心確保小工具不會生成錯誤條目,但您有責任確保不會無意中向維基詞典添加不正確或格式不良的內容。如果小工具生成錯誤條目,您應該向啤酒館報告,或者如果您有能力的話自行修復。
讓模板使用腳本
[编辑]調整模板或模組來使用腳本相對容易。每當您的模板/模組顯示變化形式的連結時,您需要提供一些額外資訊。這些額外資訊包含「標籤」,告訴腳本如何處理您的連結,以便生成正確的條目。
Module:accel會根據您提供的標籤生成預設條目(具體細節在其文檔中解釋)。如果這還不夠,即如果條目需要以特定語言的方式格式化,您可以創建自己的Module:accel子模組並編寫自己的規則。如果您不知道如何操作,請在WT:啤酒館中尋求幫助。
加速標籤
[编辑]以下是您可以添加到連結以啟用加速形式創建的標籤列表。每個標籤關聯於:(a) 與{{l}}或{{l-self}}等連結模板一起使用時提供的模板參數;(b) 從模組調用Module:links中的full_link()函數時,在data參數中作為accel鍵傳遞的表中的鍵。
form=(在模組中)或|accel-form=(在模板中)
- 連結對應的特定形式。應使用
{{inflection of}}中使用的變化代碼,用管道符號(豎線)分隔變化代碼。從模組調用時,直接使用管道符號,例如form="nom|m|p"表示主格陽性複數。在模板代碼中使用時,需要使用{{!}}編碼管道符號,例如|accel-form=nom{{!}}m{{!}}p。您也可以指定任意文字如comparative-of,但這必須由特定語言的模組(如俄語的Module:accel/ru)解釋並轉換為適當的定義。這是唯一必需的標籤。
gender=(在模組中)或|accel-gender=(在模板中)
- 應添加到標題詞行的性別代碼,使用與
{{head}}相同的格式,例如m-p表示陽性複數。這應該只在罕見情況下需要。如果定義已經提到性別,例如「feminine form of」,那麼這是多餘的,您不應該添加它。
translit=(在模組中)或|accel-translit=(在模板中)
- 應出現在標題詞行的轉寫。此參數的值進入加速條目中
{{head}}調用的|tr=參數。您只需要為使用非拉丁字母的語言指定此項,且僅當自動生成的轉寫不足、不正確或不存在時。
lemma=(在模組中)或|accel-lemma=(在模板中)
- 要包含在定義行
{{inflection of}}調用中的詞目。此參數的值進入{{inflection of}}調用的|2=參數。預設為當前頁面名稱,只有當詞目包含為生成頁面名稱而被刪除的額外變音符號時才需要指定(如拉丁語、俄語、古希臘語、古英語等)。
lemma_translit=(在模組中)或|accel-lemma-translit=(在模板中)
- 要包含在定義行
{{inflection of}}調用中的詞目手動轉寫。此參數的值進入{{inflection of}}調用的|tr=參數。您只需要為使用非拉丁字母的語言指定此項,且僅當自動生成的轉寫不足、不正確或不存在時。
nostore=true(在模組中)或|accel-nostore=true(在模板中)
- 通常,頁面上的形式按閱讀順序(從左到右、從上到下)處理,條目/定義將按該順序添加到頁面。此標籤用於同一形式在頁面/變化表中多次出現時,使特定連結在排序中被忽略。這在變化表在其收合狀態下顯示某些形式時很有用,例如
{{se-infl-adj-even}}或{{nl-conj-wk}}。通過在收合狀態下出現的連結上放置此標籤,它們的形式不會在表格其餘部分的形式之前顯示。
向模板添加標籤
[编辑]有多種方式為連結添加加速創建,無論是在模板/維基代碼中還是在模組/Lua中。加速標籤不應直接添加到條目中,應該總有一個模板包裝它。
使用標準連結模板{{l}}、{{l-self}}等創建的連結為上述每種標籤類型都有參數,名稱以accel-為前綴。因此,對於form標籤,您使用accel-form=參數,例如
{{l-self|en|foos|accel-form=p}}
如果您在模組中使用Module:links的full_link函數,可以將accel鍵作為傳遞為第一個參數的表中的值之一提供。該值應該是包含加速標籤作為鍵的表,例如
full_link({lang = lang, term = "foos", accel = {form = "p"}})
在處理標題詞模板時,您通常會使用{{head}},並為其提供一個或多個要在標題詞行顯示的變化形式。要為變化形式提供加速標籤,標籤名稱以fNaccel-為前綴,其中N代表形式的編號,例如
{{head|en|noun|plural|foos|f1accel-form=p|diminutive|bar|f2accel-form=diminutive}}
在使用Module:headword的full_headword函數的模組中,您在特定標籤的變化列表中提供accel鍵。其值是標籤表,就像在Module:links中一樣,例如
full_headword({lang = lang, inflections = { {label = "plural", accel = {form = "p"}, "foos"}, {label = "diminutive", accel = {form = "diminutive"}, "bar"} }
完成後,在模板的文檔頁面添加{{isAccelerated}}。這會顯示此模板啟用了加速連結的通知。它還會將模板添加到Category:Templates with acceleration。
按列組織的變化表
[编辑]定義在合併條目中出現的順序由連結在頁面/HTML代碼中出現的順序決定。此順序始終按閱讀順序:從左到右、從上到下。許多變化表按列組織,通常您希望一列中的形式優先於另一列中的形式。例如,通常希望單數形式的定義出現在複數形式的定義之前。為此,有data-accel-col=屬性。
data-accel-col=屬性放置在包含加速變化連結的表格單元格上,並給出列號作為值。例如:
|-
! 方位格
| data-accel-col="1" | {{l-self|se|soddjilis|accel-form=loc{{!}}s}}
| data-accel-col="2" | {{l-self|se|soddjiliin|accel-form=loc{{!}}p}}
|-
! 共格
| data-accel-col="1" | {{l-self|se|soddjiliin|accel-form=com{{!}}s}}
| data-accel-col="2" | {{l-self|se|soddjiliiguin|accel-form=com{{!}}p}}
具有相同編號的列作為單一單位處理,因此所有具有列號1的形式在所有具有列號2的形式之前處理。因此,列1中形式的定義總是在條目中出現在列2中形式的定義之前。如果變化表在第一組下方包含另一組列,計數繼續,因此列編號為1、2、3、4等。
列號按每個表格應用。這意味著如果相同的列號出現在同一語言部分的多個表格中,它們不會相互干擾;每個新表格「重置」列。任何沒有data-accel-col=屬性的表格單元格(但不是帶有!的標題單元格)也會導致列重置。這意味著您可以有兩個不同的列編號為1,只要它們之間有一個沒有列號的表格單元格。一旦在閱讀順序中遇到缺少列號的單元格,形式的處理將照常按閱讀順序繼續。
生成條目的規則
[编辑]新條目本身不是由此腳本生成的,而是由Module:accel及其特定語言的子模組生成的。如果您想為您的語言添加或編輯規則,請查看模組頁面獲取資訊和說明。