Jump to content

Wikifunctions:FAQ/zh-hant

From Wikifunctions
This page is a translated version of the page Wikifunctions:FAQ and the translation is 67% complete.
Outdated translations are marked like this.
Shortcut
WF:FAQ

This is a dedicated page for the Frequently Asked Questions about Wikifunctions. Please, feel free to ask your own question on the talk page, if your question is not listed here!

另外,有關於Wikifunctions和抽象維基百科之中更一般的問題,是否考慮一下我們的元維基上的FAQ

簡介

What is this project about?

Wikifunctions is a new Wikimedia project that provides a catalog of all kinds of functions that anyone can call, write, maintain, and use. It also provides the underlying technology that will eventually enable the translation of language-independent articles from Abstract Wikipedia into the language of any Wikipedia. This will allow everyone to contribute and read articles in their preferred languages.

What is a function?

Functions are a form of knowledge that can answer questions, such as how many days have passed between two dates or the distance between two cities. More complicated functions can answer more complicated questions, such as the volume of a three-dimensional shape, the distance between Mars and Venus on a certain date, or whether two species were alive at the same time.

We already use functions in many types of knowledge inquiries, such as asking a question to a search engine. The templates, such as Template:Convert and Template:Age on English Wikipedia, are also examples of functions that are already used in many Wikipedias, written in wikitext and Lua and manually copied to each wiki where it's wanted.

What is an implementation?

An implementation is a particular way to execute a function. An implementation is a recipe that lists the steps that are needed to run the function. It may be a piece of code in a programming language or a combination of calls to other functions. A function may have many implementations, which should all be equivalent.

What is a test?

A test is a way to determine if a given function is doing the right thing. A function will typically have multiple testers, each specifying some input to the function and the conditions the output for the given input must fulfill.

例如,「標題大小寫」功能的測試器應包括:「abc」應該要變成「Abc」;「war and peace」應該要變成「War and Peace」;「война и мир」應該要變成「6」;而「123」應該要保持「123」。

哪些功能現在已經可用,哪些很快就會可用,哪些還需要更長的時間?

  • 發佈時:
    • 我們能讓函數處理Strings和Booleans。
    • Wikifunctions從一開始就會完全國際化。它可以用於任何一個語言。
  • 正在開發中
    • 不完全支援泛型的類型和泛型的函式。
    • 新增類型在目前僅限於開發團隊。未來,社群將可以新增更多的類型。未來還有許多工作要做,讓類型的行為更順暢。
      • 其中一種特別有趣的類型是二進位的資料,尤其是檔案。
    • 我們目前支援兩種程式語言的實作:JavaScript和Python。未來,我們希望支援更多的語言。
    • 目前,從以任何程式語言撰寫的實作中呼叫其他函式是可能的。目前只能透過組合來實現。
  • 在將來:
    • 可以從其他維基媒體專案中呼叫Wikifunctions函式,並將其結果整合到頁面的輸出中。
    • 可以在函式中使用來自維基數據的資料。
    • 可以從維基共享資源的命名空間呼叫資料集。

Wikifunctions是什麼樣的多語言?

Wikifunctions與抽象維基百科在多種語言上彼此互不影響:

  • Wikifunctions的內容和使用者介面都是多語言的。使用者可以用任何的自然語言來讀出和呼叫Wikifunctions上的函式。以下是函式「join string」的英語波蘭語希伯來語版函式,這個函式其他更多語言的版本。
  • 貢獻者可以用他們的語言編輯和改進Wikifunctions。甚至是這些實作也都可以用貢獻者本身的自然語言來編輯。例如,合成函式「and」可以用德文英文、或其他約有300種語言中的任何一種來編輯。
  • Wikifunctions的函式可以為任何一種自然語言產出結果。社群正在創造越來越多的函式,以支援許多自然語言的文字產生。我們有許多的函式可用在布列塔尼語羅辛亞語英語以及許多其他語言。
  • Wikifunctions中的函式可以用各種不同的程式語言來實作。例如,join函式就是用JavaScriptPython這二種語言來實作。

Wikifunctions目前支援哪些程式語言?未來將支援哪些程式語言?

主頁面WF:programming languages

目前,Wikifunctions支援以JavaScript和Python語言寫成的實作。我們計劃在未來增加對更多程式語言的支援。我們希望在2025年至少再增加一種程式語言(但尚未決定是哪一種)。

Wikifunctions將會如何整合到其他專案中?

Wikifunctions是建立抽象維基百科的第一步。我們近期的重點是支援社群,並根據回饋進行改進。與此同時,我們將開始將其與維基百科和維基數據整合的過程,這將實現更廣泛的現實生活應用,使我們更接近「抽象維基百科」的願景。

貢獻者將能夠在他們的wiki中呼叫儲存在Wikifunctions網站中的函式。函式呼叫的結果將顯示給維基的讀者。例如,這可以用來計算一個人的年齡,根據Wikidata的人口和面積數據計算人口密度,或者繪製圖表並將其整合到指定的條目中。

Another option to integrate Wikifunctions will be to integrate an interactive function call interface within their wiki. This could be used, for example, in a Wikipedia article to dynamically calculate the result of a physical equation based on reader-provided parameters, draw and interact with mathematical functions, etc.

What Wikifunctions is not

Please, see Wikifunctions:What Wikifunctions is not for more information on that.

What license will the functions and derived content be under?

根據2021年11月至12月間在Meta上進行的討論,所有對Wikifunctions和更廣泛的抽象維基百科專案的貢獻都將以自由授權的方式發表。特別是:

未來仍有一些問題需要解決,例如從抽象內容所產生內容的授權。我們計劃與法律部門一起起草一份更全面的文件,說明人們如何在遵守授權的前提下,盡可能輕鬆地重複使用維基功能中的-{zh-cn:代码;zh-tw:程式碼}-。

Contributing

我是新來的。我可以做些什麼?如何做?

歡迎您 我們很高興您能來到這裡!您有許多機會為Wikifunctions貢獻心力,從建立新功能到改善和翻譯文件。如果您正在尋找參與的方法,我們建議您,根據您的適應程度,就您感興趣的主題建議一個新功能、或甚至創造一個這樣的函式、提供一些測試、嘗試實作、協助翻譯、閱讀並改進我們的文件、協助組織社群。

新的函式我要如何建立、實作、或測試?

若要瞭解如何建立新函式、實作、或測試,請參閱Wikifunctions:介绍.

要詳細瞭解如何建立實作,請參閱Wikifunctions:如何创建函式的-{zh:实现;zh-hans:实现;zh-hant:實作;}-

我應該先編輯什麼?

如果您會寫多種程式語言,請在Special:ListMissingLabels頁面上找找,函式的標籤和說明上面還沒有你所會的程式語言,然後協助加入這些函式。

如果您對某個Wikifunctions可以提供函式的領域有興趣,但該在領域內但卻還沒有;或者如果您對某些函式有更多的想法,你可以到建議新功能頁面,並提出您的想法。

如果您是JavaScript或Python的程式設計師,或許您會想要看看尚未以JavaScript或Python實作出來的函式,然後嘗試寫出這些函式。

我可以去哪裡尋求協助?

您的第一站應該是幫助-{zh:门户;zh-hant:入口}-,在這裡您可以找到所有與使用和編輯維基功能相關的文件。如果你還是卡住了,請在專案聊天上發消息,會有人回答你的問題。

How do we sort or categorize functions?

Tracked in Phabricator:
Task T285424

在現在,對函式進行排序或分類的最佳方法是手動在維基函式命名空間中的頁面中進行。另一個方法是透過該函式的討論頁。我們會監督這些工作,並與社群討論,系統的哪些變更會對這項任務有幫助。