Wikifunctions
wikifunctionswiki
https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page
MediaWiki 1.44.0-wmf.5
first-letter
Media
Special
Talk
User
User talk
Wikifunctions
Wikifunctions talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
TimedText
TimedText talk
Module
Module talk
Translations
Translations talk
Z1721
0
947
142754
54805
2024-11-30T23:42:40Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142754
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z1721"
},
"Z2K2": {
"Z1K1": "Z60",
"Z60K1": "phn-latn"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Phoenician (Latin script)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "Fenicisch (Latijns schrift)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "フェニキア語(ラテン文字)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "feniciska (latinska tecken)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Phönizisch (lateinische Schrift)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "Fenikece (Latin alfabesi)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "phénicien (écriture latine)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sj7gmey98dx11ivmgs1pl0kyusknt2b
Z1722
0
948
142755
48765
2024-11-30T23:43:18Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142755
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z1722"
},
"Z2K2": {
"Z1K1": "Z60",
"Z60K1": "srr"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Serer"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "Serer"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Serer"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "sérère"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gt210yowmv4kgu0v3l9shz3g28r0zzd
Wikifunctions:Requests for deletions
4
1696
142689
142629
2024-11-30T18:41:58Z
Ameisenigel
44
/* {{Z|Z20472}} */ done
142689
wikitext
text/x-wiki
<noinclude>__NEWSECTIONLINK__ __FORCETOC__</noinclude>
Functions or implementations or tests which do not work properly, do not meet notability criteria or are duplicates of another object can be deleted. Please nominate items for deletions under the "Requests for deletion" section below.
If it is obvious vandalism, just report it in [[Wikifunctions:Report vandalism]], or ping an [[Special:ListAdmins|administrator]]. Contact can also be made with an administrator on [https://t.me/Wikifunctions Telegram] or IRC [irc://irc.libera.chat/wikipedia-abstract #wikipedia-abstract].
If it is a predefined object (it's ZID is less than 10000), please see [[Wikifunctions:Report a technical problem]].
{{Autoarchive resolved section
|age = 1
|archive = ((FULLPAGENAME))/Archive/((year))/((month:##))
|level = 2
}}
{{Archives|{{Special:PrefixIndex/Wikifunctions:Requests for deletions/Archive/|stripprefix=1}}}}
== [[Z13284]] ==
Duplicate of [[Z13177]] --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 15:47, 3 October 2024 (UTC)
:{{ping|JosefAnthony|GrounderUK}} FYI --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 16:53, 27 October 2024 (UTC)
::Yes, it looks like that never progressed. It would be a shame to lose its Hausa label, assuming that’s valid for Z13177. I wouldn’t ordinarily enter a label in an unfamiliar language but this might be a justifiable exception (if @[[User:JosefAnthony|JosefAnthony]] doesn’t respond). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:33, 29 October 2024 (UTC)
== [[Z19755]] ==
Became duplicate of [[Z19704]] when the JS code conversion was changed to 2 keys. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:00, 13 November 2024 (UTC)
:{{ping|GrounderUK}} FYI --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 17:43, 27 November 2024 (UTC)
== {{Z|Z20472}} ==
Doesn't have any implementation or test. It may be a duplicate. [[User:Theklan|Theklan]] ([[User talk:Theklan|talk]]) 15:32, 27 November 2024 (UTC)
:{{done}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 18:41, 30 November 2024 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 18:41, 30 November 2024 (UTC)}}
== {{Z|Z20486}} ==
Doesn't have any implementation or valid test. It may be a duplicate. [[User:Theklan|Theklan]] ([[User talk:Theklan|talk]]) 08:46, 28 November 2024 (UTC)
9yr6qy804fkv58kp8v9hnpyfw44wcl5
142690
142689
2024-11-30T18:44:08Z
Ameisenigel
44
/* Z19755 */ done
142690
wikitext
text/x-wiki
<noinclude>__NEWSECTIONLINK__ __FORCETOC__</noinclude>
Functions or implementations or tests which do not work properly, do not meet notability criteria or are duplicates of another object can be deleted. Please nominate items for deletions under the "Requests for deletion" section below.
If it is obvious vandalism, just report it in [[Wikifunctions:Report vandalism]], or ping an [[Special:ListAdmins|administrator]]. Contact can also be made with an administrator on [https://t.me/Wikifunctions Telegram] or IRC [irc://irc.libera.chat/wikipedia-abstract #wikipedia-abstract].
If it is a predefined object (it's ZID is less than 10000), please see [[Wikifunctions:Report a technical problem]].
{{Autoarchive resolved section
|age = 1
|archive = ((FULLPAGENAME))/Archive/((year))/((month:##))
|level = 2
}}
{{Archives|{{Special:PrefixIndex/Wikifunctions:Requests for deletions/Archive/|stripprefix=1}}}}
== [[Z13284]] ==
Duplicate of [[Z13177]] --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 15:47, 3 October 2024 (UTC)
:{{ping|JosefAnthony|GrounderUK}} FYI --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 16:53, 27 October 2024 (UTC)
::Yes, it looks like that never progressed. It would be a shame to lose its Hausa label, assuming that’s valid for Z13177. I wouldn’t ordinarily enter a label in an unfamiliar language but this might be a justifiable exception (if @[[User:JosefAnthony|JosefAnthony]] doesn’t respond). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:33, 29 October 2024 (UTC)
== [[Z19755]] ==
Became duplicate of [[Z19704]] when the JS code conversion was changed to 2 keys. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:00, 13 November 2024 (UTC)
:{{ping|GrounderUK}} FYI --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 17:43, 27 November 2024 (UTC)
:{{done}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 18:44, 30 November 2024 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 18:44, 30 November 2024 (UTC)}}
== {{Z|Z20472}} ==
Doesn't have any implementation or test. It may be a duplicate. [[User:Theklan|Theklan]] ([[User talk:Theklan|talk]]) 15:32, 27 November 2024 (UTC)
:{{done}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 18:41, 30 November 2024 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 18:41, 30 November 2024 (UTC)}}
== {{Z|Z20486}} ==
Doesn't have any implementation or valid test. It may be a duplicate. [[User:Theklan|Theklan]] ([[User talk:Theklan|talk]]) 08:46, 28 November 2024 (UTC)
33y63un8xz5xde0w3q1rltbwo172g6u
Wikifunctions:Report vandalism
4
1723
142686
127995
2024-11-30T16:30:36Z
Feeglgeef
8776
142686
wikitext
text/x-wiki
{{Wikifunctions:Report vandalism/header/{{#ifexist:Wikifunctions:Report vandalism/header/{{int:lang}}|{{int:lang}}|en}}}}
{{Autoarchive resolved section
|age = 1
|archive = ((FULLPAGENAME))/Archive/((year))/((month:##))
|level = 2
}}
__NEWSECTIONLINK__
{{Archives|{{Special:PrefixIndex/WF:Report vandalism/Archive/|stripprefix=1}}}}
<!-- Add new reports below this line -->
== Report concerning User:Wikilambda ==
{{vandal|1=Wikilambda}} — '''Reasons:''' Vandalized mainspace page with profanity, possible impersonation of a system account ([[User:WikiLambda system]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:30, 30 November 2024 (UTC)
710hwf1rzjpb4u684kxna3m1huw1o5u
142688
142686
2024-11-30T18:39:33Z
Ameisenigel
44
/* Report concerning User:Wikilambda */ done
142688
wikitext
text/x-wiki
{{Wikifunctions:Report vandalism/header/{{#ifexist:Wikifunctions:Report vandalism/header/{{int:lang}}|{{int:lang}}|en}}}}
{{Autoarchive resolved section
|age = 1
|archive = ((FULLPAGENAME))/Archive/((year))/((month:##))
|level = 2
}}
__NEWSECTIONLINK__
{{Archives|{{Special:PrefixIndex/WF:Report vandalism/Archive/|stripprefix=1}}}}
<!-- Add new reports below this line -->
== Report concerning User:Wikilambda ==
{{vandal|1=Wikilambda}} — '''Reasons:''' Vandalized mainspace page with profanity, possible impersonation of a system account ([[User:WikiLambda system]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:30, 30 November 2024 (UTC)
: {{done|Blocked}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 18:39, 30 November 2024 (UTC)
{{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 18:39, 30 November 2024 (UTC)}}
k3x2xnme4ylurh4g36uemovs3b6lriz
Wikifunctions:Community portal
4
1724
142680
139844
2024-11-30T15:04:59Z
Redtree21
9564
/* Tasks listed by users */ Added message
142680
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work.</big> [To-do!]
[[Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful Links ==
* [[Help:Contents]]
* [[Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg]] [[Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[:Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
;
*[[File:Icon Notes.svg|15px]] [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 Create an object]
;
*[[File:Octicons-tools.svg|15px]] [[:Category:Tracking categories|Tracking categories]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
<!--Add new requests below this comment-->
:* Hello, I am trying to fix the Python code on implementation [[Z20666]] that was producing incorrect results but am unable to do so as it has been connected to a function and I do not have the user rights to modify it. Basically what I am trying to do is modify the function call attached to a string so that an extra character is inserted after the first character (one of the test examples is 'caraid', which should go to 'c'''h'''araid'). I may be mistaken or missing something but I believe this is the code to do that -
<code>1=Z20665K1[:1] + 'h' + Z20665K1[1:];</code>
Is there any way someone could add this in for all the instances where <code>def replace</code> has been used or otherwise make the correct fixes? Thank you very much in advance for your support. {{User|Redtree21}}
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:*'' After creating the wikifunction of [[Z13927]] I saw "Reached time limit in orchestrator" error. I would like this implementation to be fixed!.'' {{User|Dolphyb}}
::Hi, [[User:Dolphyb|Dolphyb]]. Even simple joins can produce that error now, so I don’t think anyone can fix the implementation itself for the time being (but I could be wrong). We could try an implementation in Python or JavaScript. I’ve created [[Z15921]] and [[Z15922]] in Python, based on your JavaScript implementations. If these are correct, I can use the logic of your composition to create a Python implementation. (I get confused when I use JavaScript!)--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:34, 3 May 2024 (UTC)
::Thank you [[User:GrounderUK|GrounderUK]]. I have seen your implementation in python they're correct. It is possible to call an implementation from another implementation? {{User|Dolphyb}}
:::Not really. I have created [[Z15973|something like that]] but the inner functions are physical copies rather than being imported. It is not good practice but at least it works. I don’t know what the current plans are for enabling what you suggest, but it is something that we expect to be able to do ({{ping|DVrandecic (WMF)}}?). Hopefully, compositions like yours will start working again before then anyway!
:::(Please sign your comments (<nowiki>--~~~~</nowiki>) to enable the reply link, thank you.
::::(it also means notifications will be sent. {{ping|DVrandecic (WMF)}} forgot to sign, sorry --[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:20, 6 May 2024 (UTC)
:::[[User:GrounderUK|GrounderUK]] i went thru your python [[Z15973|implementation]] even the fact that am not that good at python but i can understand one or two in it. Your implementation seem perfect and it reflects the intent of [[Z13941|composition]] Thank you for helping out. --[[User:Dolphyb|Dolphyb]] ([[User talk:Dolphyb|talk]]) 19:12, 6 May 2024 (UTC)
::::You’re very welcome. I managed to create a new form of join function that is currently a bit quicker for short strings: [[Z15991]]. With that, I created a new composition for your function: [[Z15994]]. I had to move [[Z10047]] to get all the tests to pass, but they did. I hope you can translate my new function. It was hard to name in English, but it’s just [[Z86]] + [[Z6]]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:58, 7 May 2024 (UTC)
:::::@[[User:GrounderUK|GrounderUK]] Sorry for replying late I haven't checked the community portal in a while now. Yea, no hard worries I will translate the implementation later. The way you used [[Z86]] to create another composition implementation i didn't think in that direction it's cool. Recently I had to use it when I created [[Z16524]] [[User:Dolphyb|Dolphyb]] ([[User talk:Dolphyb|talk]]) 01:46, 29 May 2024 (UTC)
::::::I’m glad it has been useful. I have disconnected the Python implementations now so that (currently) all your tests pass (using your JavaScript implementations, which are not so slow now). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 04:04, 29 May 2024 (UTC)
:::::::why do you have disconnect the python implementation ? does having two or more implementations in a function affect a composition that is using same function in another implementation in term of it's execution time that causes the 'Reached time limit in orchestrator' ? [[User:Dolphyb|Dolphyb]] ([[User talk:Dolphyb|talk]]) 13:24, 29 May 2024 (UTC)
::::::::It should be fine, but there’s a bug [[:phab:T363908]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:01, 29 May 2024 (UTC)
::::When preparing to evaluate a function, the orchestrator selects an implementation for each required function. In theory, it selects the fastest but in practice it just uses the first in the list. This should be the fastest, but that depends on the list being in the correct order. The order in the list is maintained by @[[User:WikiLambda system|WikiLambda system]] but for reasons yet to be explained, this sometimes favours Python implementations even when they consistently take longer than JavaScript ones. When this happens, all we can do is disconnect the slower implementation so that it will not appear in the list and the orchestrator will choose the faster implementation, which can mean there is enough time for the composition to complete successfully. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:18, 29 May 2024 (UTC)
e1oqzxud43njn1gl6djvwxcvapxge4i
142683
142680
2024-11-30T15:25:06Z
Feeglgeef
8776
142683
wikitext
text/x-wiki
<div style="border:1px solid grey; margin:1em 4em 2em; padding:1.5em 1em;">
<span style="font-size:2em;">Welcome to the '''community portal for Wikifunctions'''!</span>
This is the central place to document Wikifunctions's to-do lists and ongoing project work.</big> [To-do!]
[[Wikifunctions:Catalogue|The catalogue of functions]] is a good place to start.
For discussions, see [[Wikifunctions:Project chat]].
[[Category:Project]]
</div>
== Useful Links ==
* [[Help:Contents]]
* [[Wikifunctions:Catalogue|Wikifunctions:Catalogue of functions]]
** [[Wikifunctions:Suggest a function]]
* [[Wikifunctions:Type proposals]]
* [[Wikifunctions:User scripts]]
* [[Wikifunctions:Requests for user groups]]
== Noticeboards ==
* [[Wikifunctions:Project chat]]
* [[Wikifunctions:Administrators' noticeboard]]
* [[Wikifunctions:Translators' noticeboard]]
== Task centre ==
=== Perennial tasks ===
<!--Feel free to add new tasks to this section. However, if they are one-off requests, please add them to Tasks listed by users-->
* [[File:OOjs UI icon language-ltr.svg]] [[Help:Multilingual|Translation]]:
**[[Special:Random|Add a translation to a random object]]
**[[:Category:Policy|Add a translation to a policy page]]
**[[Special:ListMissingLabels|See any objects without a label in a given language]]
**[[Special:PageTranslation]]
**[[Special:LanguageStats|Language statistics]]
;
*[[File:Icon Notes.svg|15px]] [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 Create an object]
;
*[[File:Octicons-tools.svg|15px]] [[:Category:Tracking categories|Tracking categories]]
=== Tasks listed by users ===
:''Example:''
:* Fix [[Special:Random|this implementation]] please. {{User|Example2}}
::{{Done}}. Thanks for pointing that out! {{User|Example}}
<hr/>
<!--Add new requests below this comment-->
:* Hello, I am trying to fix the Python code on implementation [[Z20666]] that was producing incorrect results but am unable to do so as it has been connected to a function and I do not have the user rights to modify it. Basically what I am trying to do is modify the function call attached to a string so that an extra character is inserted after the first character (one of the test examples is 'caraid', which should go to 'c'''h'''araid'). I may be mistaken or missing something but I believe this is the code to do that -
<code>1=Z20665K1[:1] + 'h' + Z20665K1[1:];</code>
Is there any way someone could add this in for all the instances where <code>def replace</code> has been used or otherwise make the correct fixes? Thank you very much in advance for your support. {{User|Redtree21}}
: Hello! I've disconnected it for you. Reply here when you'd like me to reconnect it. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:25, 30 November 2024 (UTC)
<hr/>
[signing to enable reply link:--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:27, 6 May 2024 (UTC)
:*'' After creating the wikifunction of [[Z13927]] I saw "Reached time limit in orchestrator" error. I would like this implementation to be fixed!.'' {{User|Dolphyb}}
::Hi, [[User:Dolphyb|Dolphyb]]. Even simple joins can produce that error now, so I don’t think anyone can fix the implementation itself for the time being (but I could be wrong). We could try an implementation in Python or JavaScript. I’ve created [[Z15921]] and [[Z15922]] in Python, based on your JavaScript implementations. If these are correct, I can use the logic of your composition to create a Python implementation. (I get confused when I use JavaScript!)--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:34, 3 May 2024 (UTC)
::Thank you [[User:GrounderUK|GrounderUK]]. I have seen your implementation in python they're correct. It is possible to call an implementation from another implementation? {{User|Dolphyb}}
:::Not really. I have created [[Z15973|something like that]] but the inner functions are physical copies rather than being imported. It is not good practice but at least it works. I don’t know what the current plans are for enabling what you suggest, but it is something that we expect to be able to do ({{ping|DVrandecic (WMF)}}?). Hopefully, compositions like yours will start working again before then anyway!
:::(Please sign your comments (<nowiki>--~~~~</nowiki>) to enable the reply link, thank you.
::::(it also means notifications will be sent. {{ping|DVrandecic (WMF)}} forgot to sign, sorry --[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:20, 6 May 2024 (UTC)
:::[[User:GrounderUK|GrounderUK]] i went thru your python [[Z15973|implementation]] even the fact that am not that good at python but i can understand one or two in it. Your implementation seem perfect and it reflects the intent of [[Z13941|composition]] Thank you for helping out. --[[User:Dolphyb|Dolphyb]] ([[User talk:Dolphyb|talk]]) 19:12, 6 May 2024 (UTC)
::::You’re very welcome. I managed to create a new form of join function that is currently a bit quicker for short strings: [[Z15991]]. With that, I created a new composition for your function: [[Z15994]]. I had to move [[Z10047]] to get all the tests to pass, but they did. I hope you can translate my new function. It was hard to name in English, but it’s just [[Z86]] + [[Z6]]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:58, 7 May 2024 (UTC)
:::::@[[User:GrounderUK|GrounderUK]] Sorry for replying late I haven't checked the community portal in a while now. Yea, no hard worries I will translate the implementation later. The way you used [[Z86]] to create another composition implementation i didn't think in that direction it's cool. Recently I had to use it when I created [[Z16524]] [[User:Dolphyb|Dolphyb]] ([[User talk:Dolphyb|talk]]) 01:46, 29 May 2024 (UTC)
::::::I’m glad it has been useful. I have disconnected the Python implementations now so that (currently) all your tests pass (using your JavaScript implementations, which are not so slow now). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 04:04, 29 May 2024 (UTC)
:::::::why do you have disconnect the python implementation ? does having two or more implementations in a function affect a composition that is using same function in another implementation in term of it's execution time that causes the 'Reached time limit in orchestrator' ? [[User:Dolphyb|Dolphyb]] ([[User talk:Dolphyb|talk]]) 13:24, 29 May 2024 (UTC)
::::::::It should be fine, but there’s a bug [[:phab:T363908]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:01, 29 May 2024 (UTC)
::::When preparing to evaluate a function, the orchestrator selects an implementation for each required function. In theory, it selects the fastest but in practice it just uses the first in the list. This should be the fastest, but that depends on the list being in the correct order. The order in the list is maintained by @[[User:WikiLambda system|WikiLambda system]] but for reasons yet to be explained, this sometimes favours Python implementations even when they consistently take longer than JavaScript ones. When this happens, all we can do is disconnect the slower implementation so that it will not appear in the list and the orchestrator will choose the faster implementation, which can mean there is enough time for the composition to complete successfully. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:18, 29 May 2024 (UTC)
4ubrranfoh00lrikkbjng929r8g9aar
Wikifunctions:Administrators' noticeboard
4
9491
142770
134930
2024-12-01T03:08:13Z
SpBot
978
archive 1 section: 1 to [[Wikifunctions:Administrators' noticeboard/Archive/2024/10]] (after section [[Wikifunctions:Administrators' noticeboard/Archive/2024/10#Protection_Request|Protection_Request]]) - previous edit: [[:User:Jdforrester (WMF)|Jdforrester (WMF)]], 2024-10-31 16:46
142770
wikitext
text/x-wiki
{{shortcut|[[WF:AN]]}}
<div style="border:1px solid grey; margin:1em 5em 2em; padding:1.5em 1em;">
<!-- Don't remove this, it adds the new-thread tool to the page.-->__NEWSECTIONLINK__
[[Category:Help]]
<big>Welcome to the '''Administrators' noticeboard for Wikifunctions'''!</big>
This is a noticeboard for '''matters requiring [[Special:MyLanguage/Wikifunctions:Administrators|administrator]] attention'''.
* If you wish for something to be deleted, please use [[Wikifunctions:Requests for deletions]].
* If you want to report a bug in Wikifunctions software, please see [[Wikifunctions:Report a technical problem]].
* Matters not requiring administrator action should be raised at [[Wikifunctions:Project chat|Project chat]].
* To report [[Special:MyLanguage/Wikifunctions:Vandalism|vandalism]] on Wikifunctions: Please use [[Wikifunctions:Report vandalism]]
* Please add <code><nowiki>{{section resolved|1=~~~~}}</nowiki></code> to resolved sections.
</div>
<!-- Add new reports below this line -->
{{Autoarchive resolved section
|age = 1
|archive = ((FULLPAGENAME))/Archive/((year))/((month:##))
|timeout=30
}}
{{Archives|{{Special:PrefixIndex/Wikifunctions:Administrators' noticeboard/Archive/|stripprefix=1}}}}
irml7iikfri0mcyorrr1q5fo72iacbx
Wikifunctions:Excel functions
4
11781
142742
123405
2024-11-30T22:52:14Z
Hogü-456
617
142742
wikitext
text/x-wiki
<languages/>
<translate>
<!--T:1-->
{{w|Microsoft Excel}} functions include the following.
== Add-in and automation == <!--T:2-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:3--> List of add-in and automation Excel functions</translate>
!scope="col"| <translate><!--T:4--> Function name</translate>
!scope="col"| <translate><!--T:5--> Description</translate>
!scope="col"| <translate><!--T:6--> ZID</translate>
!scope="col"| <translate><!--T:7--> Note</translate>
|-
!scope="row"|CALL
| <translate><!--T:8--> Calls a procedure in a dynamic link library or code resource</translate> || ||
|-
!scope="row"|EUROCONVERT
| <translate><!--T:9--> Converts a number to euros, converts a number from euros to a euro member currency, or converts a number from one euro member currency to another by using the euro as an intermediary (triangulation).</translate> || ||
|-
!scope="row"|REGISTER.ID
| <translate><!--T:10--> Returns the register ID of the specified dynamic link library (DLL) or code resource that has been previously registered</translate> || ||
|}
<translate>
== Compatibility == <!--T:11-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:12--> List of compatibility Excel functions</translate>
!scope="col"| <translate><!--T:13--> Function name</translate>
!scope="col"| <translate><!--T:14--> Description</translate>
!scope="col"| <translate><!--T:15--> ZID</translate>
!scope="col"| <translate><!--T:16--> Note</translate>
|-
!scope="row"|BETADIST
| <translate><!--T:17--> Returns the beta cumulative distribution function</translate> || ||
|-
!scope="row"|BETAINV
| <translate><!--T:18--> Returns the inverse of the cumulative distribution function for a specified beta distribution</translate> || ||
|-
!scope="row"|BINOMDIST
| <translate><!--T:19--> Returns the individual term binomial distribution probability</translate> || ||
|-
!scope="row"|CEILING
| <translate><!--T:20--> Rounds a number to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|CHIDIST
| <translate><!--T:21--> Returns the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHIINV
| <translate><!--T:22--> Returns the inverse of the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHITEST
| <translate><!--T:23--> Returns the test for independence</translate> || ||
|-
!scope="row"|CONFIDENCE
| <translate><!--T:24--> Returns the confidence interval for a population mean</translate> || ||
|-
!scope="row"|COVAR
| <translate><!--T:25--> Returns covariance, the average of the products of paired deviations</translate> || ||
|-
!scope="row"|CRITBINOM
| <translate><!--T:26--> Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value</translate> || ||
|-
!scope="row"|EXPONDIST
| <translate><!--T:27--> Returns the exponential distribution</translate> || ||
|-
!scope="row"|FDIST
| <translate><!--T:28--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|FINV
| <translate><!--T:29--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|FLOOR
| <translate><!--T:30--> Rounds a number down, toward zero</translate> || ||
|-
!scope="row"|FTEST
| <translate><!--T:31--> Returns the result of an F-test</translate> || ||
|-
!scope="row"|GAMMADIST
| <translate><!--T:32--> Returns the gamma distribution</translate> || ||
|-
!scope="row"|GAMMAINV
| <translate><!--T:33--> Returns the inverse of the gamma cumulative distribution</translate> || ||
|-
!scope="row"|HYPGEOMDIST
| <translate><!--T:34--> Returns the hypergeometric distribution</translate> || ||
|-
!scope="row"|LOGINV
| <translate><!--T:35--> Returns the inverse of the lognormal cumulative distribution</translate> || ||
|-
!scope="row"|LOGNORMDIST
| <translate><!--T:36--> Returns the cumulative lognormal distribution</translate> || ||
|-
!scope="row"|MODE
| <translate><!--T:37--> Returns the most common value in a data set</translate> || ||
|-
!scope="row"|NEGBINOMDIST
| <translate><!--T:38--> Returns the negative binomial distribution</translate> || ||
|-
!scope="row"|NORMDIST
| <translate><!--T:39--> Returns the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.INV
| <translate><!--T:40--> Returns the inverse of the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMSDIST
| <translate><!--T:41--> Returns the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMSINV
| <translate><!--T:42--> Returns the inverse of the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|PERCENTILE
| <translate><!--T:43--> Returns the k-th percentile of values in a range</translate> || ||
|-
!scope="row"|PERCENTRANK
| <translate><!--T:44--> Returns the percentage rank of a value in a data set</translate> || ||
|-
!scope="row"|POISSON
| <translate><!--T:45--> Returns the Poisson distribution</translate> || ||
|-
!scope="row"|QUARTILE
| <translate><!--T:46--> Returns the quartile of a data set</translate> || ||
|-
!scope="row"|RANK
| <translate><!--T:47--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|STDEV
| <translate><!--T:48--> Estimates standard deviation based on a sample</translate> || ||
|-
!scope="row"|STDEVP
| <translate><!--T:49--> Calculates standard deviation based on the entire population</translate> || ||
|-
!scope="row"|TDIST
| <translate><!--T:50--> Returns the Student's t-distribution</translate> || ||
|-
!scope="row"|TINV
| <translate><!--T:51--> Returns the inverse of the Student's t-distribution</translate> || ||
|-
!scope="row"|TTEST
| <translate><!--T:52--> Returns the probability associated with a Student's t-test</translate> || ||
|-
!scope="row"|VAR
| <translate><!--T:53--> Estimates variance based on a sample</translate> || ||
|-
!scope="row"|VARP
| <translate><!--T:54--> Calculates variance based on the entire population</translate> || ||
|-
!scope="row"|WEIBULL
| <translate><!--T:55--> Calculates variance based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|ZTEST
| <translate><!--T:56--> Returns the one-tailed probability-value of a z-test</translate> || ||
|}
<translate>
== Cube == <!--T:57-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:58--> List of cube Excel functions</translate>
!scope="col"| <translate><!--T:59--> Function name</translate>
!scope="col"| <translate><!--T:60--> Description</translate>
!scope="col"| <translate><!--T:61--> ZID</translate>
!scope="col"| <translate><!--T:62--> Note</translate>
|-
!scope="row"|CUBEKPIMEMBER
| <translate><!--T:63--> Returns a key performance indicator (KPI) name, property, and measure, and displays the name and property in the cell. A KPI is a quantifiable measurement, such as monthly gross profit or quarterly employee turnover, used to monitor an organization's performance.</translate> || ||
|-
!scope="row"|CUBEMEMBER
| <translate><!--T:64--> Returns a member or tuple in a cube hierarchy. Use to validate that the member or tuple exists in the cube.</translate> || ||
|-
!scope="row"|CUBEMEMBERPROPERTY
| <translate><!--T:65--> Returns the value of a member property in the cube. Use to validate that a member name exists within the cube and to return the specified property for this member.</translate> || ||
|-
!scope="row"|CUBERANKEDMEMBER
| <translate><!--T:66--> Returns the nth, or ranked, member in a set. Use to return one or more elements in a set, such as the top sales performer or top 10 students.</translate> || ||
|-
!scope="row"|CUBESET
| <translate><!--T:67--> Defines a calculated set of members or tuples by sending a set expression to the cube on the server, which creates the set, and then returns that set to Microsoft Office Excel.</translate> || ||
|-
!scope="row"|CUBESETCOUNT
| <translate><!--T:68--> Returns the number of items in a set.</translate> || ||
|-
!scope="row"|CUBEVALUE
| <translate><!--T:69--> Returns an aggregated value from a cube.</translate> || ||
|}
<translate>
== Database == <!--T:70-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:71--> List of database Excel functions</translate>
!scope="col"| <translate><!--T:72--> Function name</translate>
!scope="col"| <translate><!--T:73--> Description</translate>
!scope="col"| <translate><!--T:74--> ZID</translate>
!scope="col"| <translate><!--T:75--> Note</translate>
|-
!scope="row"|DAVERAGE
| <translate><!--T:76--> Returns the average of selected database entries</translate> || ||
|-
!scope="row"|DCOUNT
| <translate><!--T:77--> Counts the cells that contain numbers in a database</translate> || ||
|-
!scope="row"|DCOUNTA
| <translate><!--T:78--> Counts nonblank cells in a database</translate> || ||
|-
!scope="row"|DGET
| <translate><!--T:79--> Extracts from a database a single record that matches the specified criteria</translate> || ||
|-
!scope="row"|DMAX
| <translate><!--T:80--> Returns the maximum value from selected database entries</translate> || ||
|-
!scope="row"|DMIN
| <translate><!--T:81--> Returns the minimum value from selected database entries</translate> || ||
|-
!scope="row"|DPRODUCT
| <translate><!--T:82--> Multiplies the values in a particular field of records that match the criteria in a database</translate> || ||
|-
!scope="row"|DSTDEV
| <translate><!--T:83--> Estimates the standard deviation based on a sample of selected database entries</translate> || ||
|-
!scope="row"|DSTDEVP
| <translate><!--T:84--> Calculates the standard deviation based on the entire population of selected database entries</translate> || ||
|-
!scope="row"|DSUM
| <translate><!--T:85--> Adds the numbers in the field column of records in the database that match the criteria</translate> || ||
|-
!scope="row"|DVAR
| <translate><!--T:86--> Estimates variance based on a sample from selected database entries</translate> || ||
|-
!scope="row"|DVARP
| <translate><!--T:87--> Calculates variance based on the entire population of selected database entries</translate> || ||
|}
<translate>
== Date and time == <!--T:88-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:89--> List of date and time Excel functions</translate>
!scope="col"| <translate><!--T:90--> Function name</translate>
!scope="col"| <translate><!--T:91--> Description</translate>
!scope="col"| <translate><!--T:92--> ZID</translate>
!scope="col"| <translate><!--T:93--> Note</translate>
|-
!scope="row"|DATE
| <translate><!--T:94--> Returns the serial number of a particular date</translate> || ||
|-
!scope="row"|DATEDIF
| <translate><!--T:95--> Calculates the number of days, months, or years between two dates. This function is useful in formulas where you need to calculate an age.</translate> || ||
|-
!scope="row"|DATEVALUE
| <translate><!--T:96--> Converts a date in the form of text to a serial number</translate> || ||
|-
!scope="row"|DAY
| <translate><!--T:97--> Converts a serial number to a day of the month</translate> || ||
|-
!scope="row"|DAYS
| <translate><!--T:98--> Returns the number of days between two dates</translate> || ||
|-
!scope="row"|DAYS360
| <translate><!--T:99--> Calculates the number of days between two dates based on a 360-day year</translate> || ||
|-
!scope="row"|EDATE
| <translate><!--T:100--> Returns the serial number of the date that is the indicated number of months before or after the start date</translate> || ||
|-
!scope="row"|EOMONTH
| <translate><!--T:101--> Returns the serial number of the last day of the month before or after a specified number of months</translate> || ||
|-
!scope="row"|HOUR
| <translate><!--T:102--> Converts a serial number to an hour</translate> || ||
|-
!scope="row"|ISOWEEKNUM
| <translate><!--T:103--> Returns the number of the ISO week number of the year for a given date</translate> || ||
|-
!scope="row"|MINUTE
| <translate><!--T:104--> Converts a serial number to a minute</translate> || ||
|-
!scope="row"|MONTH
| <translate><!--T:105--> Converts a serial number to a month</translate> || ||
|-
!scope="row"|NETWORKDAYS
| <translate><!--T:106--> Returns the number of whole workdays between two dates</translate> || ||
|-
!scope="row"|NETWORKDAYS.INTL
| <translate><!--T:107--> Returns the number of whole workdays between two dates using parameters to indicate which and how many days are weekend days</translate> || ||
|-
!scope="row"|NOW
| <translate><!--T:108--> Returns the serial number of the current date and time</translate> || ||
|-
!scope="row"|SECOND
| <translate><!--T:109--> Converts a serial number to a second</translate> || ||
|-
!scope="row"|TIME
| <translate><!--T:110--> Returns the serial number of a particular time</translate> || ||
|-
!scope="row"|TIMEVALUE
| <translate><!--T:111--> Converts a time in the form of text to a serial number</translate> || ||
|-
!scope="row"|TODAY
| <translate><!--T:112--> Returns the serial number of today's date</translate> || ||
|-
!scope="row"|WEEKDAY
| <translate><!--T:113--> Converts a serial number to a day of the week</translate> || ||
|-
!scope="row"|WEEKNUM
| <translate><!--T:114--> Converts a serial number to a number representing where the week falls numerically with a year</translate> || ||
|-
!scope="row"|WORKDAY
| <translate><!--T:115--> Returns the serial number of the date before or after a specified number of workdays</translate> || ||
|-
!scope="row"|WORKDAY.INTL
| <translate><!--T:116--> Returns the serial number of the date before or after a specified number of workdays using parameters to indicate which and how many days are weekend days</translate> || ||
|-
!scope="row"|YEAR
| <translate><!--T:117--> Converts a serial number to a year</translate> || ||
|-
!scope="row"|YEARFRAC
| <translate><!--T:118--> Returns the year fraction representing the number of whole days between start_date and end_date</translate> || ||
|}
<translate>
== Engineering == <!--T:119-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:120--> List of engineering Excel functions</translate>
!scope="col"| <translate><!--T:121--> Function name</translate>
!scope="col"| <translate><!--T:122--> Description</translate>
!scope="col"| <translate><!--T:123--> ZID</translate>
!scope="col"| <translate><!--T:124--> Note</translate>
|-
!scope="row"|BESSELI
| <translate><!--T:125--> Returns the modified Bessel function In(x)</translate> || ||
|-
!scope="row"|BESSELJ
| <translate><!--T:126--> Returns the Bessel function Jn(x)</translate> || ||
|-
!scope="row"|BESSELK
| <translate><!--T:127--> Returns the modified Bessel function Kn(x)</translate> || ||
|-
!scope="row"|BESSELY
| <translate><!--T:128--> Returns the Bessel function Yn(x)</translate> || ||
|-
!scope="row"|BIN2DEC
| <translate><!--T:129--> Converts a binary number to decimal</translate> || ||
|-
!scope="row"|BIN2HEX
| <translate><!--T:130--> Converts a binary number to hexadecimal</translate> || ||
|-
!scope="row"|BIN2OCT
| <translate><!--T:131--> Converts a binary number to octal</translate> || ||
|-
!scope="row"|BITAND
| <translate><!--T:132--> Returns a 'Bitwise And' of two numbers</translate> || ||
|-
!scope="row"|BITLSHIFT
| <translate><!--T:133--> Returns a value number shifted left by shift_amount bits</translate> || ||
|-
!scope="row"|BITOR
| <translate><!--T:134--> Returns a bitwise OR of 2 numbers</translate> || ||
|-
!scope="row"|BITRSHIFT
| <translate><!--T:135--> Returns a value number shifted right by shift_amount bits</translate> || ||
|-
!scope="row"|BITXOR
| <translate><!--T:136--> Returns a bitwise 'Exclusive Or' of two numbers</translate> || ||
|-
!scope="row"|COMPLEX
| <translate><!--T:137--> Converts real and imaginary coefficients into a complex number</translate> || ||
|-
!scope="row"|CONVERT
| <translate><!--T:138--> Converts a number from one measurement system to another</translate> || ||
|-
!scope="row"|DEC2BIN
| <translate><!--T:139--> Converts a decimal number to binary</translate> || ||
|-
!scope="row"|DEC2HEX
| <translate><!--T:140--> Converts a decimal number to hexadecimal</translate> || ||
|-
!scope="row"|DEC2OCT
| <translate><!--T:141--> Converts a decimal number to octal</translate> || ||
|-
!scope="row"|DELTA
| <translate><!--T:142--> Tests whether two values are equal</translate> || ||
|-
!scope="row"|ERF
| <translate><!--T:143--> Returns the error function</translate> || ||
|-
!scope="row"|ERF.PRECISE
| <translate><!--T:144--> Returns the error function</translate> || ||
|-
!scope="row"|ERFC
| <translate><!--T:145--> Returns the complementary error function</translate> || ||
|-
!scope="row"|ERFC.PRECISE
| <translate><!--T:146--> Returns the complementary ERF function integrated between x and infinity</translate> || ||
|-
!scope="row"|GESTEP
| <translate><!--T:147--> Tests whether a number is greater than a threshold value</translate> || ||
|-
!scope="row"|HEX2BIN
| <translate><!--T:148--> Converts a hexadecimal number to binary</translate> || ||
|-
!scope="row"|HEX2DEC
| <translate><!--T:149--> Converts a hexadecimal number to decimal</translate> || ||
|-
!scope="row"|HEX2OCT
| <translate><!--T:150--> Converts a hexadecimal number to octal</translate> || ||
|-
!scope="row"|IMABS
| <translate><!--T:151--> Returns the absolute value (modulus) of a complex number</translate> || ||
|-
!scope="row"|IMAGINARY
| <translate><!--T:152--> Returns the imaginary coefficient of a complex number</translate> || ||
|-
!scope="row"|IMARGUMENT
| <translate><!--T:153--> Returns the argument theta, an angle expressed in radians</translate> || ||
|-
!scope="row"|IMCONJUGATE
| <translate><!--T:154--> Returns the complex conjugate of a complex number</translate> || ||
|-
!scope="row"|IMCOS
| <translate><!--T:155--> Returns the cosine of a complex number</translate> || ||
|-
!scope="row"|IMCOSH
| <translate><!--T:156--> Returns the hyperbolic cosine of a complex number</translate> || ||
|-
!scope="row"|IMCOT
| <translate><!--T:157--> Returns the cotangent of a complex number</translate> || ||
|-
!scope="row"|IMCSC
| <translate><!--T:158--> Returns the cosecant of a complex number</translate> || ||
|-
!scope="row"|IMCSCH
| <translate><!--T:159--> Returns the hyperbolic cosecant of a complex number</translate> || ||
|-
!scope="row"|IMDIV
| <translate><!--T:160--> Returns the quotient of two complex numbers</translate> || ||
|-
!scope="row"|IMEXP
| <translate><!--T:161--> Returns the exponential of a complex number</translate> || ||
|-
!scope="row"|IMLN
| <translate><!--T:162--> Returns the natural logarithm of a complex number</translate> || ||
|-
!scope="row"|IMLOG10
| <translate><!--T:163--> Returns the base-10 logarithm of a complex number</translate> || ||
|-
!scope="row"|IMLOG2
| <translate><!--T:164--> Returns the base-2 logarithm of a complex number</translate> || ||
|-
!scope="row"|IMPOWER
| <translate><!--T:165--> Returns a complex number raised to an integer power</translate> || ||
|-
!scope="row"|IMPRODUCT
| <translate><!--T:166--> Returns the product of complex numbers</translate> || ||
|-
!scope="row"|IMREAL
| <translate><!--T:167--> Returns the real coefficient of a complex number</translate> || ||
|-
!scope="row"|IMSEC
| <translate><!--T:168--> Returns the secant of a complex number</translate> || ||
|-
!scope="row"|IMSECH
| <translate><!--T:169--> Returns the hyperbolic secant of a complex number</translate> || ||
|-
!scope="row"|IMSIN
| <translate><!--T:170--> Returns the sine of a complex number</translate> || ||
|-
!scope="row"|IMSINH
| <translate><!--T:171--> Returns the hyperbolic sine of a complex number</translate> || ||
|-
!scope="row"|IMSQRT
| <translate><!--T:172--> Returns the square root of a complex number</translate> || ||
|-
!scope="row"|IMSUB
| <translate><!--T:173--> Returns the difference between two complex numbers</translate> || ||
|-
!scope="row"|IMSUM
| <translate><!--T:174--> Returns the sum of complex numbers</translate> || ||
|-
!scope="row"|IMTAN
| <translate><!--T:175--> Returns the tangent of a complex number</translate> || ||
|-
!scope="row"|OCT2BIN
| <translate><!--T:176--> Converts an octal number to binary</translate> || ||
|-
!scope="row"|OCT2DEC
| <translate><!--T:177--> Converts an octal number to decimal</translate> || ||
|-
!scope="row"|OCT2HEX
| <translate><!--T:178--> Converts an octal number to hexadecimal</translate> || ||
|}
<translate>
== Financial == <!--T:179-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:180--> List of financial Excel functions</translate>
!scope="col"| <translate><!--T:181--> Function name</translate>
!scope="col"| <translate><!--T:182--> Description</translate>
!scope="col"| <translate><!--T:183--> ZID</translate>
!scope="col"| <translate><!--T:184--> Note</translate>
|-
!scope="row"|ACCRINT
| <translate><!--T:185--> Returns the accrued interest for a security that pays periodic interest</translate> || ||
|-
!scope="row"|ACCRINTM
| <translate><!--T:186--> Returns the accrued interest for a security that pays interest at maturity</translate> || ||
|-
!scope="row"|AMORDEGRC
| <translate><!--T:187--> Returns the depreciation for each accounting period by using a depreciation coefficient</translate> || ||
|-
!scope="row"|AMORLINC
| <translate><!--T:188--> Returns the depreciation for each accounting period</translate> || ||
|-
!scope="row"|COUPDAYBS
| <translate><!--T:189--> Returns the number of days from the beginning of the coupon period to the settlement date</translate> || ||
|-
!scope="row"|COUPDAYS
| <translate><!--T:190--> Returns the number of days in the coupon period that contains the settlement date</translate> || ||
|-
!scope="row"|COUPDAYSNC
| <translate><!--T:191--> Returns the number of days from the settlement date to the next coupon date</translate> || ||
|-
!scope="row"|COUPNCD
| <translate><!--T:192--> Returns the next coupon date after the settlement date</translate> || ||
|-
!scope="row"|COUPNUM
| <translate><!--T:193--> Returns the number of coupons payable between the settlement date and maturity date</translate> || ||
|-
!scope="row"|COUPPCD
| <translate><!--T:194--> Returns the previous coupon date before the settlement date</translate> || ||
|-
!scope="row"|CUMIPMT
| <translate><!--T:195--> Returns the cumulative interest paid between two periods</translate> || ||
|-
!scope="row"|CUMPRINC
| <translate><!--T:196--> Returns the cumulative principal paid on a loan between two periods</translate> || ||
|-
!scope="row"|DB
| <translate><!--T:197--> Returns the depreciation of an asset for a specified period by using the fixed-declining balance method</translate> || ||
|-
!scope="row"|DDB
| <translate><!--T:198--> Returns the depreciation of an asset for a specified period by using the double-declining balance method or some other method that you specify</translate> || ||
|-
!scope="row"|DISC
| <translate><!--T:199--> Returns the discount rate for a security</translate> || ||
|-
!scope="row"|DOLLARDE
| <translate><!--T:200--> Converts a dollar price, expressed as a fraction, into a dollar price, expressed as a decimal number</translate> || ||
|-
!scope="row"|DOLLARFR
| <translate><!--T:201--> Converts a dollar price, expressed as a decimal number, into a dollar price, expressed as a fraction</translate> || ||
|-
!scope="row"|DURATION
| <translate><!--T:202--> Returns the annual duration of a security with periodic interest payments</translate> || ||
|-
!scope="row"|EFFECT
| <translate><!--T:203--> Returns the effective annual interest rate</translate> || ||
|-
!scope="row"|FV
| <translate><!--T:204--> Returns the future value of an investment</translate> || ||
|-
!scope="row"|FVSCHEDULE
| <translate><!--T:205--> Returns the future value of an initial principal after applying a series of compound interest rates</translate> || ||
|-
!scope="row"|INTRATE
| <translate><!--T:206--> Returns the interest rate for a fully invested security</translate> || ||
|-
!scope="row"|IPMT
| <translate><!--T:207--> Returns the interest payment for an investment for a given period</translate> || ||
|-
!scope="row"|IRR
| <translate><!--T:208--> Returns the internal rate of return for a series of cash flows</translate> || ||
|-
!scope="row"|ISPMT
| <translate><!--T:209--> Calculates the interest paid during a specific period of an investment</translate> || ||
|-
!scope="row"|MDURATION
| <translate><!--T:210--> Returns the Macauley modified duration for a security with an assumed par value of $100</translate> || ||
|-
!scope="row"|MIRR
| <translate><!--T:211--> Returns the internal rate of return where positive and negative cash flows are financed at different rates</translate> || ||
|-
!scope="row"|NOMINAL
| <translate><!--T:212--> Returns the annual nominal interest rate</translate> || ||
|-
!scope="row"|NPER
| <translate><!--T:213--> Returns the number of periods for an investment</translate> || ||
|-
!scope="row"|NPV
| <translate><!--T:214--> Returns the net present value of an investment based on a series of periodic cash flows and a discount rate</translate> || ||
|-
!scope="row"|ODDFPRICE
| <translate><!--T:215--> Returns the price per $100 face value of a security with an odd first period</translate> || ||
|-
!scope="row"|ODDFYIELD
| <translate><!--T:216--> Returns the yield of a security with an odd first period</translate> || ||
|-
!scope="row"|ODDLPRICE
| <translate><!--T:217--> Returns the price per $100 face value of a security with an odd last period</translate> || ||
|-
!scope="row"|ODDLYIELD
| <translate><!--T:218--> Returns the yield of a security with an odd last period</translate> || ||
|-
!scope="row"|PDURATION
| <translate><!--T:219--> Returns the number of periods required by an investment to reach a specified value</translate> || ||
|-
!scope="row"|PMT
| <translate><!--T:220--> Returns the periodic payment for an annuity</translate> || ||
|-
!scope="row"|PPMT
| <translate><!--T:221--> Returns the payment on the principal for an investment for a given period</translate> || ||
|-
!scope="row"|PRICE
| <translate><!--T:222--> Returns the price per $100 face value of a security that pays periodic interest</translate> || ||
|-
!scope="row"|PRICEDISC
| <translate><!--T:223--> Returns the price per $100 face value of a discounted security</translate> || ||
|-
!scope="row"|PRICEMAT
| <translate><!--T:224--> Returns the price per $100 face value of a security that pays interest at maturity</translate> || ||
|-
!scope="row"|PV
| <translate><!--T:225--> Returns the present value of an investment</translate> || ||
|-
!scope="row"|RATE
| <translate><!--T:226--> Returns the interest rate per period of an annuity</translate> || ||
|-
!scope="row"|RECEIVED
| <translate><!--T:227--> Returns the amount received at maturity for a fully invested security</translate> || ||
|-
!scope="row"|RRI
| <translate><!--T:228--> Returns an equivalent interest rate for the growth of an investment</translate> || ||
|-
!scope="row"|SLN
| <translate><!--T:229--> Returns the straight-line depreciation of an asset for one period</translate> || ||
|-
!scope="row"|STOCKHISTORY
| <translate><!--T:230--> Retrieves historical data about a financial instrument</translate> || ||
|-
!scope="row"|SYD
| <translate><!--T:231--> Returns the sum-of-years' digits depreciation of an asset for a specified period</translate> || ||
|-
!scope="row"|TBILLEQ
| <translate><!--T:232--> Returns the bond-equivalent yield for a Treasury bill</translate> || ||
|-
!scope="row"|TBILLPRICE
| <translate><!--T:233--> Returns the price per $100 face value for a Treasury bill</translate> || ||
|-
!scope="row"|TBILLYIELD
| <translate><!--T:234--> Returns the yield for a Treasury bill</translate> || ||
|-
!scope="row"|VDB
| <translate><!--T:235--> Returns the depreciation of an asset for a specified or partial period by using a declining balance method</translate> || ||
|-
!scope="row"|XIRR
| <translate><!--T:236--> Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic</translate> || ||
|-
!scope="row"|XNPV
| <translate><!--T:237--> Returns the net present value for a schedule of cash flows that is not necessarily periodic</translate> || ||
|-
!scope="row"|YIELD
| <translate><!--T:238--> Returns the yield on a security that pays periodic interest</translate> || ||
|-
!scope="row"|YIELDDISC
| <translate><!--T:239--> Returns the annual yield for a discounted security; for example, a Treasury bill</translate> || ||
|-
!scope="row"|YIELDMAT
| <translate><!--T:240--> Returns the annual yield of a security that pays interest at maturity</translate> || ||
|}
<translate>
== Information == <!--T:241-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:242--> List of information Excel functions</translate>
!scope="col"| <translate><!--T:243--> Function name</translate>
!scope="col"| <translate><!--T:244--> Description</translate>
!scope="col"| <translate><!--T:245--> ZID</translate>
!scope="col"| <translate><!--T:246--> Note</translate>
|-
!scope="row"|CELL
| <translate><!--T:247--> Returns information about the formatting, location, or contents of a cell</translate> || ||
|-
!scope="row"|ERROR.TYPE
| <translate><!--T:248--> Returns a number corresponding to an error type</translate> || ||
|-
!scope="row"|INFO
| <translate><!--T:249--> Returns information about the current operating environment</translate> || ||
|-
!scope="row"|ISBLANK
| <translate><!--T:250--> Returns TRUE if the value is blank</translate> || [[Z10008]] ||
|-
!scope="row"|ISERR
| <translate><!--T:251--> Returns TRUE if the value is any error value except #N/A</translate> || ||
|-
!scope="row"|ISERROR
| <translate><!--T:252--> Returns TRUE if the value is any error value</translate> || ||
|-
!scope="row"|ISEVEN
| <translate><!--T:253--> Returns TRUE if the number is even</translate> || [[Z12480]]||
|-
!scope="row"|ISFORMULA
| <translate><!--T:254--> Returns TRUE if there is a reference to a cell that contains a formula</translate> || ||
|-
!scope="row"|ISLOGICAL
| <translate><!--T:255--> Returns TRUE if the value is a logical value</translate> || ||
|-
!scope="row"|ISNA
| <translate><!--T:256--> Returns TRUE if the value is the #N/A error value</translate> || ||
|-
!scope="row"|ISNONTEXT
| <translate><!--T:257--> Returns TRUE if the value is not text</translate> || ||
|-
!scope="row"|ISNUMBER
| <translate><!--T:258--> Returns TRUE if the value is a number</translate> || [[Z10715]] ||
|-
!scope="row"|ISODD
| <translate><!--T:259--> Returns TRUE if the number is odd</translate> || [[Z12429]]||
|-
!scope="row"|ISOMITTED
| <translate><!--T:260--> Checks whether the value in a LAMBDA is missing and returns TRUE or FALSE</translate> || ||
|-
!scope="row"|ISREF
| <translate><!--T:261--> Returns TRUE if the value is a reference</translate> || ||
|-
!scope="row"|ISTEXT
| <translate><!--T:262--> Returns TRUE if the value is text</translate> || ||
|-
!scope="row"|N
| <translate><!--T:263--> Returns a value converted to a number</translate> || ||
|-
!scope="row"|NA
| <translate><!--T:264--> Returns the error value #N/A</translate> || ||
|-
!scope="row"|SHEET
| <translate><!--T:265--> Returns the sheet number of the referenced sheet</translate> || ||
|-
!scope="row"|SHEETS
| <translate><!--T:266--> Returns the number of sheets in a reference</translate> || ||
|-
!scope="row"|TYPE
| <translate><!--T:267--> Returns a number indicating the data type of a value</translate> || ||
|}
<translate>
== Logical == <!--T:268-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:269--> List of logical Excel functions</translate>
!scope="col"| <translate><!--T:270--> Function name</translate>
!scope="col"| <translate><!--T:271--> Description</translate>
!scope="col"| <translate><!--T:272--> ZID</translate>
!scope="col"| <translate><!--T:273--> Note</translate>
|-
!scope="row"|AND
| <translate><!--T:274--> Returns TRUE if all of its arguments are TRUE</translate> || [[Z10174]] ||
|-
!scope="row"|BYCOL
| <translate><!--T:275--> Applies a LAMBDA to each column and returns an array of the results</translate> || ||
|-
!scope="row"|BYROW
| <translate><!--T:276--> Applies a LAMBDA to each row and returns an array of the results</translate> || ||
|-
!scope="row"|FALSE
| <translate><!--T:277--> Returns the logical value FALSE</translate> || [[Z10206]] ||
|-
!scope="row"|IF
| <translate><!--T:278--> Specifies a logical test to perform</translate> || [[Z802]], [[Z11542]] ||
|-
!scope="row"|IFERROR
| <translate><!--T:279--> Returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula</translate> || ||
|-
!scope="row"|IFNA
| <translate><!--T:280--> Returns the value you specify if the expression resolves to #N/A, otherwise returns the result of the expression</translate> || ||
|-
!scope="row"|IFS
| <translate><!--T:281--> Checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition.</translate> || ||
|-
!scope="row"|LAMBDA
| <translate><!--T:282--> Create custom, reusable functions and call them by a friendly name</translate> || ||
|-
!scope="row"|LET
| <translate><!--T:283--> Assigns names to calculation results</translate> || ||
|-
!scope="row"|MAKEARRAY
| <translate><!--T:284--> Returns a calculated array of a specified row and column size, by applying a LAMBDA</translate> || ||
|-
!scope="row"|MAP
| <translate><!--T:285--> Returns an array formed by mapping each value in the array(s) to a new value by applying a LAMBDA to create a new value</translate> || [[Z873]] ||
|-
!scope="row"|NOT
| <translate><!--T:286--> Reverses the logic of its argument</translate> || [[Z10216]] ||
|-
!scope="row"|OR
| <translate><!--T:287--> Returns TRUE if any argument is TRUE</translate> || [[Z10184]] ||
|-
!scope="row"|REDUCE
| <translate><!--T:288--> Reduces an array to an accumulated value by applying a LAMBDA to each value and returning the total value in the accumulator</translate> || ||
|-
!scope="row"|SCAN
| <translate><!--T:289--> Scans an array by applying a LAMBDA to each value and returns an array that has each intermediate value</translate> || ||
|-
!scope="row"|SWITCH
| <translate><!--T:290--> Evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value may be returned.</translate> || ||
|-
!scope="row"|TRUE
| <translate><!--T:291--> Returns the logical value TRUE</translate> || [[Z10210]] ||
|-
!scope="row"|XOR
| <translate><!--T:292--> Returns a logical exclusive OR of all arguments</translate> || [[Z10237]] ||
|}
<translate>
== Lookup and reference == <!--T:293-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:294--> List of lookup and reference Excel functions</translate>
!scope="col"| <translate><!--T:295--> Function name</translate>
!scope="col"| <translate><!--T:296--> Description</translate>
!scope="col"| <translate><!--T:297--> ZID</translate>
!scope="col"| <translate><!--T:298--> Note</translate>
|-
!scope="row"|VSTACK
| <translate><!--T:299--> Appends arrays vertically and in sequence to return a larger array</translate> || ||
|-
!scope="row"|WRAPCOLS
| <translate><!--T:300--> Wraps the provided row or column of values by columns after a specified number of elements</translate> || ||
|-
!scope="row"|WRAPROWS
| <translate><!--T:301--> Wraps the provided row or column of values by rows after a specified number of elements</translate> || ||
|-
!scope="row"|ADDRESS
| <translate><!--T:302--> Returns a reference as text to a single cell in a worksheet</translate> || ||
|-
!scope="row"|AREAS
| <translate><!--T:303--> Returns the number of areas in a reference</translate> || ||
|-
!scope="row"|CHOOSE
| <translate><!--T:304--> Chooses a value from a list of values</translate> || ||
|-
!scope="row"|CHOOSECOLS
| <translate><!--T:305--> Returns the specified columns from an array</translate> || ||
|-
!scope="row"|CHOOSEROWS
| <translate><!--T:306--> Returns the specified rows from an array</translate> || ||
|-
!scope="row"|COLUMN
| <translate><!--T:307--> Returns the column number of a reference</translate> || ||
|-
!scope="row"|COLUMNS
| <translate><!--T:308--> Returns the number of columns in a reference</translate> || ||
|-
!scope="row"|DROP
| <translate><!--T:309--> Excludes a specified number of rows or columns from the start or end of an array</translate> || ||
|-
!scope="row"|EXPAND
| <translate><!--T:310--> Expands or pads an array to specified row and column dimensions</translate> || ||
|-
!scope="row"|FILTER
| <translate><!--T:311--> Filters a range of data based on criteria you define</translate> || ||
|-
!scope="row"|FORMULATEXT
| <translate><!--T:312--> Returns the formula at the given reference as text</translate> || ||
|-
!scope="row"|GETPIVOTDATA
| <translate><!--T:313--> Returns data stored in a PivotTable report</translate> || ||
|-
!scope="row"|HLOOKUP
| <translate><!--T:314--> Looks in the top row of an array and returns the value of the indicated cell</translate> || ||
|-
!scope="row"|HSTACK
| <translate><!--T:315--> Appends arrays horizontally and in sequence to return a larger array</translate> || ||
|-
!scope="row"|HYPERLINK
| <translate><!--T:316--> Creates a shortcut or jump that opens a document stored on a network server, an intranet, or the Internet</translate> || ||
|-
!scope="row"|IMAGE
| <translate><!--T:317--> Returns an image from a given source</translate> || ||
|-
!scope="row"|INDEX
| <translate><!--T:318--> Uses an index to choose a value from a reference or array</translate> || [[Z13708]] || Check Indexbase
|-
!scope="row"|INDIRECT
| <translate><!--T:319--> Returns a reference indicated by a text value</translate> || ||
|-
!scope="row"|LOOKUP
| <translate><!--T:320--> Looks up values in a vector or array</translate> || ||
|-
!scope="row"|MATCH
| <translate><!--T:321--> Looks up values in a reference or array</translate> || ||
|-
!scope="row"|OFFSET
| <translate><!--T:322--> Returns a reference offset from a given reference</translate> || ||
|-
!scope="row"|ROW
| <translate><!--T:323--> Returns the row number of a reference</translate> || ||
|-
!scope="row"|ROWS
| <translate><!--T:324--> Returns the number of rows in a reference</translate> || ||
|-
!scope="row"|RTD
| <translate><!--T:325--> Retrieves real-time data from a program that supports COM automation</translate> || ||
|-
!scope="row"|SORT
| <translate><!--T:326--> Sorts the contents of a range or array</translate> || ||
|-
!scope="row"|SORTBY
| <translate><!--T:327--> Sorts the contents of a range or array based on the values in a corresponding range or array</translate> || ||
|-
!scope="row"|TAKE
| <translate><!--T:328--> Returns a specified number of contiguous rows or columns from the start or end of an array</translate> || ||
|-
!scope="row"|TOCOL
| <translate><!--T:329--> Returns the array in a single column</translate> || ||
|-
!scope="row"|TOROW
| <translate><!--T:330--> Returns the array in a single row</translate> || ||
|-
!scope="row"|TRANSPOSE
| <translate><!--T:331--> Returns the transpose of an array</translate> || ||
|-
!scope="row"|UNIQUE
| <translate><!--T:332--> Returns a list of unique values in a list or range</translate> || ||
|-
!scope="row"|VLOOKUP
| <translate><!--T:333--> Looks in the first column of an array and moves across the row to return the value of a cell</translate> || ||
|-
!scope="row"|XLOOKUP
| <translate><!--T:334--> Searches a range or an array, and returns an item corresponding to the first match it finds. If a match doesn't exist, then XLOOKUP can return the closest (approximate) match.</translate> || ||
|-
!scope="row"|XMATCH
| <translate><!--T:335--> Returns the relative position of an item in an array or range of cells.</translate> || ||
|}
<translate>
== Math and trigonometry == <!--T:336-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:337--> List of math and trigonometry Excel functions</translate>
!scope="col"| <translate><!--T:338--> Function name</translate>
!scope="col"| <translate><!--T:339--> Description</translate>
!scope="col"| <translate><!--T:340--> ZID</translate>
!scope="col"| <translate><!--T:341--> Note</translate>
|-
!scope="row"|ABS
| <translate><!--T:342--> Returns the absolute value of a number</translate> || [[Z11235]]||
|-
!scope="row"|ACOS
| <translate><!--T:343--> Returns the arccosine of a number</translate> || [[Z12497]]||
|-
!scope="row"|ACOSH
| <translate><!--T:344--> Returns the inverse hyperbolic cosine of a number</translate> || [[Z12500]]||
|-
!scope="row"|ACOT
| <translate><!--T:345--> Returns the arccotangent of a number</translate> || ||
|-
!scope="row"|ACOTH
| <translate><!--T:346--> Returns the hyperbolic arccotangent of a number</translate> || ||
|-
!scope="row"|AGGREGATE
| <translate><!--T:347--> Returns an aggregate in a list or database</translate> || ||
|-
!scope="row"|ARABIC
| <translate><!--T:348--> Converts a Roman number to Arabic, as a number</translate> || [[Z11023]]||
|-
!scope="row"|ASIN
| <translate><!--T:349--> Returns the arcsine of a number</translate> || [[Z12505]]||
|-
!scope="row"|ASINH
| <translate><!--T:350--> Returns the inverse hyperbolic sine of a number</translate> || [[Z12509]]||
|-
!scope="row"|ATAN
| <translate><!--T:351--> Returns the arctangent of a number</translate> || ||
|-
!scope="row"|ATAN2
| <translate><!--T:352--> Returns the arctangent from x- and y-coordinates</translate> || ||
|-
!scope="row"|ATANH
| <translate><!--T:353--> Returns the inverse hyperbolic tangent of a number</translate> || ||
|-
!scope="row"|BASE
| <translate><!--T:354--> Converts a number into a text representation with the given radix (base)</translate> || ||
|-
!scope="row"|CEILING.MATH
| <translate><!--T:355--> Rounds a number up, to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|CEILING.PRECISE
| <translate><!--T:356--> Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.</translate> || ||
|-
!scope="row"|COMBIN
| <translate><!--T:357--> Returns the number of combinations for a given number of objects</translate> || ||
|-
!scope="row"|COMBINA
| <translate><!--T:358--> Returns the number of combinations (with repetitions) for a given number of items</translate> || ||
|-
!scope="row"|COS
| <translate><!--T:359--> Returns the cosine of a number</translate> || [[Z12473]]
|
|-
!scope="row"|COSH
| <translate><!--T:360--> Returns the hyperbolic cosine of a number</translate> || ||
|-
!scope="row"|COT
| <translate><!--T:361--> Returns the hyperbolic cosine of a number</translate> || ||
|-
!scope="row"|COTH
| <translate><!--T:362--> Returns the cotangent of an angle</translate> || ||
|-
!scope="row"|CSC
| <translate><!--T:363--> Returns the cosecant of an angle</translate> || ||
|-
!scope="row"|CSCH
| <translate><!--T:364--> Returns the hyperbolic cosecant of an angle</translate> || ||
|-
!scope="row"|DECIMAL
| <translate><!--T:365--> Converts a text representation of a number in a given base into a decimal number</translate> || ||
|-
!scope="row"|DEGREES
| <translate><!--T:366--> Converts radians to degrees</translate> || ||
|-
!scope="row"|EVEN
| <translate><!--T:367--> Rounds a number up to the nearest even integer</translate> || ||
|-
!scope="row"|EXP
| <translate><!--T:368--> Returns e raised to the power of a given number</translate> || ||
|-
!scope="row"|FACT
| <translate><!--T:369--> Returns the factorial of a number</translate> || ||
|-
!scope="row"|FACTDOUBLE
| <translate><!--T:370--> Returns the double factorial of a number</translate> || ||
|-
!scope="row"|FLOOR.MATH
| <translate><!--T:371--> Rounds a number down, to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|FLOOR.PRECISE
| <translate><!--T:372--> Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.</translate> || ||
|-
!scope="row"|GCD
| <translate><!--T:373--> Returns the greatest common divisor</translate> || ||
|-
!scope="row"|INT
| <translate><!--T:374--> Rounds a number down to the nearest integer</translate> || ||
|-
!scope="row"|ISO.CEILING
| <translate><!--T:375--> Returns a number that is rounded up to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|LCM
| <translate><!--T:376--> Returns the least common multiple</translate> || ||
|-
!scope="row"|LN
| <translate><!--T:377--> Returns the natural logarithm of a number</translate> || ||
|-
!scope="row"|LOG
| <translate><!--T:378--> Returns the logarithm of a number to a specified base</translate> || ||
|-
!scope="row"|LOG10
| <translate><!--T:379--> Returns the base-10 logarithm of a number</translate> || ||
|-
!scope="row"|MDETERM
| <translate><!--T:380--> Returns the matrix determinant of an array</translate> || ||
|-
!scope="row"|MINVERSE
| <translate><!--T:381--> Returns the matrix inverse of an array</translate> || ||
|-
!scope="row"|MMULT
| <translate><!--T:382--> Returns the matrix product of two arrays</translate> || ||
|-
!scope="row"|MOD
| <translate><!--T:383--> Returns the remainder from division</translate> || [[Z12476]]||
|-
!scope="row"|MROUND
| <translate><!--T:384--> Returns a number rounded to the desired multiple</translate> || ||
|-
!scope="row"|MULTINOMIAL
| <translate><!--T:385--> Returns the multinomial of a set of numbers</translate> || ||
|-
!scope="row"|MUNIT
| <translate><!--T:386--> Returns the unit matrix or the specified dimension</translate> || ||
|-
!scope="row"|ODD
| <translate><!--T:387--> Rounds a number up to the nearest odd integer</translate> || ||
|-
!scope="row"|PI
| <translate><!--T:388--> Returns the value of pi</translate> || [[Z10857]]||
|-
!scope="row"|POWER
| <translate><!--T:389--> Returns the result of a number raised to a power</translate> || ||
|-
!scope="row"|PRODUCT
| <translate><!--T:390--> Multiplies its arguments</translate> || [[Z10862]]||
|-
!scope="row"|QUOTIENT
| <translate><!--T:391--> Returns the integer portion of a division</translate> || [[Z12522]]||
|-
!scope="row"|RADIANS
| <translate><!--T:392--> Converts degrees to radians</translate> || ||
|-
!scope="row"|RAND
| <translate><!--T:393--> Returns a random number between 0 and 1</translate> || ||
|-
!scope="row"|RANDARRAY
| <translate><!--T:394--> Returns an array of random numbers between 0 and 1. However, you can specify the number of rows and columns to fill, minimum and maximum values, and whether to return whole numbers or decimal values.</translate> || ||
|-
!scope="row"|RANDBETWEEN
| <translate><!--T:395--> Returns a random number between the numbers you specify</translate> || ||
|-
!scope="row"|ROMAN
| <translate><!--T:396--> Converts an arabic numeral to roman, as text</translate> || [[Z11022]]||
|-
!scope="row"|ROUND
| <translate><!--T:397--> Rounds a number to a specified number of digits</translate> || ||
|-
!scope="row"|ROUNDDOWN
| <translate><!--T:398--> Rounds a number down, toward zero</translate> || ||
|-
!scope="row"|ROUNDUP
| <translate><!--T:399--> Rounds a number up, away from zero</translate> || ||
|-
!scope="row"|SEC
| <translate><!--T:400--> Returns the secant of an angle</translate> || ||
|-
!scope="row"|SECH
| <translate><!--T:401--> Returns the hyperbolic secant of an angle</translate> || ||
|-
!scope="row"|SEQUENCE
| <translate><!--T:402--> Generates a list of sequential numbers in an array, such as 1, 2, 3, 4</translate> || ||
|-
!scope="row"|SERIESSUM
| <translate><!--T:403--> Returns the sum of a power series based on the formula</translate> || ||
|-
!scope="row"|SIGN
| <translate><!--T:404--> Returns the sign of a number</translate> || ||
|-
!scope="row"|SIN
| <translate><!--T:405--> Returns the sine of the given angle</translate> || ||
|-
!scope="row"|SINH
| <translate><!--T:406--> Returns the hyperbolic sine of a number</translate> || ||
|-
!scope="row"|SQRT
| <translate><!--T:407--> Returns a positive square root</translate> || ||
|-
!scope="row"|SQRTPI
| <translate><!--T:408--> Returns the square root of (number * pi)</translate> || ||
|-
!scope="row"|SUBTOTAL
| <translate><!--T:409--> Returns a subtotal in a list or database</translate> || ||
|-
!scope="row"|SUM
| <translate><!--T:410--> Adds its arguments</translate> || ||
|-
!scope="row"|SUMIF
| <translate><!--T:411--> Adds the cells specified by a given criteria</translate> || ||
|-
!scope="row"|SUMIFS
| <translate><!--T:412--> Adds the cells in a range that meet multiple criteria</translate> || ||
|-
!scope="row"|SUMPRODUCT
| <translate><!--T:413--> Returns the sum of the products of corresponding array components</translate> || ||
|-
!scope="row"|SUMSQ
| <translate><!--T:414--> Returns the sum of the squares of the arguments</translate> || ||
|-
!scope="row"|SUMX2MY2
| <translate><!--T:415--> Returns the sum of the difference of squares of corresponding values in two arrays</translate> || ||
|-
!scope="row"|SUMX2PY2
| <translate><!--T:416--> Returns the sum of the sum of squares of corresponding values in two arrays</translate> || ||
|-
!scope="row"|SUMXMY2
| <translate><!--T:417--> Returns the sum of squares of differences of corresponding values in two arrays</translate> || ||
|-
!scope="row"|TAN
| <translate><!--T:418--> Returns the tangent of a number</translate> || ||
|-
!scope="row"|TANH
| <translate><!--T:419--> Returns the hyperbolic tangent of a number</translate> || ||
|-
!scope="row"|TRUNC
| <translate><!--T:420--> Truncates a number to an integer</translate> || ||
|}
<translate>
== Statistical == <!--T:421-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:422--> List of statistical Excel functions</translate>
!scope="col"| <translate><!--T:423--> Function name</translate>
!scope="col"| <translate><!--T:424--> Description</translate>
!scope="col"| <translate><!--T:425--> ZID</translate>
!scope="col"| <translate><!--T:426--> Note</translate>
|-
!scope="row"|AVEDEV
| <translate><!--T:427--> Returns the average of the absolute deviations of data points from their mean</translate> || ||
|-
!scope="row"|AVERAGE
| <translate><!--T:428--> Returns the average of its arguments</translate> || ||
|-
!scope="row"|AVERAGEA
| <translate><!--T:429--> Returns the average of its arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|AVERAGEIF
| <translate><!--T:430--> Returns the average (arithmetic mean) of all the cells in a range that meet a given criteria</translate> || ||
|-
!scope="row"|AVERAGEIFS
| <translate><!--T:431--> Returns the average (arithmetic mean) of all cells that meet multiple criteria.</translate> || ||
|-
!scope="row"|BETA.DIST
| <translate><!--T:432--> Returns the beta cumulative distribution function</translate> || ||
|-
!scope="row"|BETA.INV
| <translate><!--T:433--> Returns the inverse of the cumulative distribution function for a specified beta distribution</translate> || ||
|-
!scope="row"|BINOM.DIST
| <translate><!--T:434--> Returns the individual term binomial distribution probability</translate> || ||
|-
!scope="row"|BINOM.DIST.RANGE
| <translate><!--T:435--> Returns the probability of a trial result using a binomial distribution</translate> || ||
|-
!scope="row"|BINOM.INV
| <translate><!--T:436--> Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value</translate> || ||
|-
!scope="row"|CHISQ.DIST
| <translate><!--T:437--> Returns the cumulative beta probability density function</translate> || ||
|-
!scope="row"|CHISQ.DIST.RT
| <translate><!--T:438--> Returns the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHISQ.INV
| <translate><!--T:439--> Returns the cumulative beta probability density function</translate> || ||
|-
!scope="row"|CHISQ.INV.RT
| <translate><!--T:440--> Returns the inverse of the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHISQ.TEST
| <translate><!--T:441--> Returns the test for independence</translate> || ||
|-
!scope="row"|CONFIDENCE.NORM
| <translate><!--T:442--> Returns the confidence interval for a population mean</translate> || ||
|-
!scope="row"|CONFIDENCE.T
| <translate><!--T:443--> Returns the confidence interval for a population mean, using a Student's t distribution</translate> || ||
|-
!scope="row"|CORREL
| <translate><!--T:444--> Returns the correlation coefficient between two data sets</translate> || ||
|-
!scope="row"|COUNT
| <translate><!--T:445--> Counts how many numbers are in the list of arguments</translate> || ||
|-
!scope="row"|COUNTA
| <translate><!--T:446--> Counts how many values are in the list of arguments</translate> || ||
|-
!scope="row"|COUNTBLANK
| <translate><!--T:447--> Counts the number of blank cells within a range</translate> || ||
|-
!scope="row"|COUNTIF
| <translate><!--T:448--> Counts the number of cells within a range that meet the given criteria</translate> || ||
|-
!scope="row"|COUNTIFS
| <translate><!--T:449--> Counts the number of cells within a range that meet multiple criteria</translate> || ||
|-
!scope="row"|COVARIANCE.P
| <translate><!--T:450--> Returns covariance, the average of the products of paired deviations</translate> || ||
|-
!scope="row"|COVARIANCE.S
| <translate><!--T:451--> Returns the sample covariance, the average of the products deviations for each data point pair in two data sets</translate> || ||
|-
!scope="row"|DEVSQ
| <translate><!--T:452--> Returns the sum of squares of deviations</translate> || ||
|-
!scope="row"|EXPON.DIST
| <translate><!--T:453--> Returns the exponential distribution</translate> || ||
|-
!scope="row"|F.DIST
| <translate><!--T:454--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|F.DIST.RT
| <translate><!--T:455--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|F.INV
| <translate><!--T:456--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|F.INV.RT
| <translate><!--T:457--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|FISHER
| <translate><!--T:458--> Returns the Fisher transformation</translate> || ||
|-
!scope="row"|FISHERINV
| <translate><!--T:459--> Returns the inverse of the Fisher transformation</translate> || ||
|-
!scope="row"|FORECAST
| <translate><!--T:460--> Returns a value along a linear trend</translate> || ||
|-
!scope="row"|FORECAST.ETS
| <translate><!--T:461--> Returns a future value based on existing (historical) values by using the AAA version of the Exponential Smoothing (ETS) algorithm</translate> || ||
|-
!scope="row"|FORECAST.ETS.CONFINT
| <translate><!--T:462--> Returns a confidence interval for the forecast value at the specified target date</translate> || ||
|-
!scope="row"|FORECAST.ETS.SEASONALITY
| <translate><!--T:463--> Returns the length of the repetitive pattern Excel detects for the specified time series</translate> || ||
|-
!scope="row"|FORECAST.ETS.STAT
| <translate><!--T:464--> Returns a statistical value as a result of time series forecasting</translate> || ||
|-
!scope="row"|FORECAST.LINEAR
| <translate><!--T:465--> Returns a future value based on existing values</translate> || ||
|-
!scope="row"|FREQUENCY
| <translate><!--T:466--> Returns a frequency distribution as a vertical array</translate> || ||
|-
!scope="row"|F.TEST
| <translate><!--T:467--> Returns the result of an F-test</translate> || ||
|-
!scope="row"|GAMMA
| <translate><!--T:468--> Returns the Gamma function value</translate> || ||
|-
!scope="row"|GAMMA.DIST
| <translate><!--T:469--> Returns the gamma distribution</translate> || ||
|-
!scope="row"|GAMMA.INV
| <translate><!--T:470--> Returns the inverse of the gamma cumulative distribution</translate> || ||
|-
!scope="row"|GAMMALN
| <translate><!--T:471--> Returns the natural logarithm of the gamma function, Γ(x)</translate> || ||
|-
!scope="row"|GAMMALN.PRECISE
| <translate><!--T:472--> Returns the natural logarithm of the gamma function, Γ(x)</translate> || ||
|-
!scope="row"|GAUSS
| <translate><!--T:473--> Returns 0.5 less than the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|GEOMEAN
| <translate><!--T:474--> Returns the geometric mean</translate> || ||
|-
!scope="row"|GROWTH
| <translate><!--T:475--> Returns values along an exponential trend</translate> || ||
|-
!scope="row"|HARMEAN
| <translate><!--T:476--> Returns the harmonic mean</translate> || ||
|-
!scope="row"|HYPGEOM.DIST
| <translate><!--T:477--> Returns the hypergeometric distribution</translate> || ||
|-
!scope="row"|INTERCEPT
| <translate><!--T:478--> Returns the intercept of the linear regression line</translate> || ||
|-
!scope="row"|KURT
| <translate><!--T:479--> Returns the kurtosis of a data set</translate> || ||
|-
!scope="row"|LARGE
| <translate><!--T:480--> Returns the k-th largest value in a data set</translate> || ||
|-
!scope="row"|LINEST
| <translate><!--T:481--> Returns the parameters of a linear trend</translate> || ||
|-
!scope="row"|LOGEST
| <translate><!--T:482--> Returns the parameters of an exponential trend</translate> || ||
|-
!scope="row"|LOGNORM.DIST
| <translate><!--T:483--> Returns the cumulative lognormal distribution</translate> || ||
|-
!scope="row"|LOGNORM.INV
| <translate><!--T:484--> Returns the inverse of the lognormal cumulative distribution</translate> || ||
|-
!scope="row"|MAX
| <translate><!--T:485--> Returns the maximum value in a list of arguments</translate> || ||
|-
!scope="row"|MAXA
| <translate><!--T:486--> Returns the maximum value in a list of arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|MAXIFS
| <translate><!--T:487--> Returns the maximum value among cells specified by a given set of conditions or criteria</translate> || ||
|-
!scope="row"|MEDIAN
| <translate><!--T:488--> Returns the median of the given numbers</translate> || ||
|-
!scope="row"|MIN
| <translate><!--T:489--> Returns the minimum value in a list of arguments</translate> || ||
|-
!scope="row"|MINIFS
| <translate><!--T:490--> Returns the minimum value among cells specified by a given set of conditions or criteria.</translate> || ||
|-
!scope="row"|MINA
| <translate><!--T:491--> Returns the smallest value in a list of arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|MODE.MULT
| <translate><!--T:492--> Returns a vertical array of the most frequently occurring, or repetitive values in an array or range of data</translate> || ||
|-
!scope="row"|MODE.SNGL
| <translate><!--T:493--> Returns the most common value in a data set</translate> || ||
|-
!scope="row"|NEGBINOM.DIST
| <translate><!--T:494--> Returns the negative binomial distribution</translate> || ||
|-
!scope="row"|NORM.DIST
| <translate><!--T:495--> Returns the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMINV
| <translate><!--T:496--> Returns the inverse of the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.S.DIST
| <translate><!--T:497--> Returns the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.S.INV
| <translate><!--T:498--> Returns the inverse of the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|PEARSON
| <translate><!--T:499--> Returns the Pearson product moment correlation coefficient</translate> || ||
|-
!scope="row"|PERCENTILE.EXC
| <translate><!--T:500--> Returns the k-th percentile of values in a range, where k is in the range 0..1, exclusive</translate> || ||
|-
!scope="row"|PERCENTILE.INC
| <translate><!--T:501--> Returns the k-th percentile of values in a range</translate> || ||
|-
!scope="row"|PERCENTRANK.EXC
| <translate><!--T:502--> Returns the rank of a value in a data set as a percentage (0..1, exclusive) of the data set</translate> || ||
|-
!scope="row"|PERCENTRANK.INC
| <translate><!--T:503--> Returns the percentage rank of a value in a data set</translate> || ||
|-
!scope="row"|PERMUT
| <translate><!--T:504--> Returns the number of permutations for a given number of objects</translate> || ||
|-
!scope="row"|PERMUTATIONA
| <translate><!--T:505--> Returns the number of permutations for a given number of objects (with repetitions) that can be selected from the total objects</translate> || ||
|-
!scope="row"|PHI
| <translate><!--T:506--> Returns the value of the density function for a standard normal distribution</translate> || ||
|-
!scope="row"|POISSON.DIST
| <translate><!--T:507--> Returns the Poisson distribution</translate> || ||
|-
!scope="row"|PROB
| <translate><!--T:508--> Returns the probability that values in a range are between two limits</translate> || ||
|-
!scope="row"|QUARTILE.EXC
| <translate><!--T:509--> Returns the quartile of the data set, based on percentile values from 0..1, exclusive</translate> || ||
|-
!scope="row"|QUARTILE.INC
| <translate><!--T:510--> Returns the quartile of a data set</translate> || ||
|-
!scope="row"|RANK.AVG
| <translate><!--T:511--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|RANK.EQ
| <translate><!--T:512--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|RSQ
| <translate><!--T:513--> Returns the square of the Pearson product moment correlation coefficient</translate> || ||
|-
!scope="row"|SKEW
| <translate><!--T:514--> Returns the skewness of a distribution</translate> || ||
|-
!scope="row"|SKEW.P
| <translate><!--T:515--> Returns the skewness of a distribution based on a population: a characterization of the degree of asymmetry of a distribution around its mean</translate> || ||
|-
!scope="row"|SLOPE
| <translate><!--T:516--> Returns the slope of the linear regression line</translate> || ||
|-
!scope="row"|SMALL
| <translate><!--T:517--> Returns the k-th smallest value in a data set</translate> || ||
|-
!scope="row"|STANDARDIZE
| <translate><!--T:518--> Returns a normalized value</translate> || ||
|-
!scope="row"|STDEV.P
| <translate><!--T:519--> Calculates standard deviation based on the entire population</translate> || ||
|-
!scope="row"|STDEV.S
| <translate><!--T:520--> Estimates standard deviation based on a sample</translate> || ||
|-
!scope="row"|STDEVA
| <translate><!--T:521--> Estimates standard deviation based on a sample, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|STDEVPA
| <translate><!--T:522--> Calculates standard deviation based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|STEYX
| <translate><!--T:523--> Returns the standard error of the predicted y-value for each x in the regression</translate> || ||
|-
!scope="row"|T.DIST
| <translate><!--T:524--> Returns the Percentage Points (probability) for the Student t-distribution</translate> || ||
|-
!scope="row"|T.DIST.2T
| <translate><!--T:525--> Returns the Percentage Points (probability) for the Student t-distribution</translate> || ||
|-
!scope="row"|T.DIST.RT
| <translate><!--T:526--> Returns the Student's t-distribution</translate> || ||
|-
!scope="row"|T.INV
| <translate><!--T:527--> Returns the t-value of the Student's t-distribution as a function of the probability and the degrees of freedom</translate> || ||
|-
!scope="row"|T.INV.2T
| <translate><!--T:528--> Returns the inverse of the Student's t-distribution</translate> || ||
|-
!scope="row"|TREND
| <translate><!--T:529--> Returns values along a linear trend</translate> || ||
|-
!scope="row"|TRIMMEAN
| <translate><!--T:530--> Returns the mean of the interior of a data set</translate> || ||
|-
!scope="row"|T.TEST
| <translate><!--T:531--> Returns the probability associated with a Student's t-test</translate> || ||
|-
!scope="row"|VAR.P
| <translate><!--T:532--> Calculates variance based on the entire population</translate> || ||
|-
!scope="row"|VAR.S
| <translate><!--T:533--> Estimates variance based on a sample</translate> || ||
|-
!scope="row"|VARA
| <translate><!--T:534--> Estimates variance based on a sample, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|VARPA
| <translate><!--T:535--> Calculates variance based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|WEIBULL.DIST
| <translate><!--T:536--> Returns the Weibull distribution</translate> || ||
|-
!scope="row"|Z.TEST
| <translate><!--T:537--> Returns the one-tailed probability-value of a z-test</translate> || ||
|}
<translate>
== Text == <!--T:538-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:539--> List of text Excel functions</translate>
!scope="col"| <translate><!--T:540--> Function name</translate>
!scope="col"| <translate><!--T:541--> Description</translate>
!scope="col"| <translate><!--T:542--> ZID</translate>
!scope="col"| <translate><!--T:543--> Note</translate>
|-
!scope="row"|ARRAYTOTEXT
| <translate><!--T:544--> Returns an array of text values from any specified range</translate> || ||
|-
!scope="row"|ASC
| <translate><!--T:545--> Changes full-width (double-byte) English letters or katakana within a character string to half-width (single-byte) characters</translate> || ||
|-
!scope="row"|BAHTTEXT
| <translate><!--T:546--> Converts a number to text, using the ß (baht) currency format</translate> || ||
|-
!scope="row"|CHAR
| <translate><!--T:547--> Returns the character specified by the code number</translate> || ||
|-
!scope="row"|CLEAN
| <translate><!--T:548--> Removes all nonprintable characters from text</translate> || ||
|-
!scope="row"|CODE
| <translate><!--T:549--> Returns a numeric code for the first character in a text string</translate> || ||
|-
!scope="row"|CONCAT
| <translate><!--T:550--> Combines the text from multiple ranges and/or strings, but it doesn't provide the delimiter or IgnoreEmpty arguments.</translate> || {{Z+|Z10000}} || <translate><!--T:551--> WF only takes two strings</translate>
|-
!scope="row"|CONCATENATE
| <translate><!--T:552--> Joins several text items into one text item</translate> || {{Z+|Z10000}} ||
|-
!scope="row"|DBCS
| <translate><!--T:553--> Changes half-width (single-byte) English letters or katakana within a character string to full-width (double-byte) characters</translate> || ||
|-
!scope="row"|DOLLAR
| <translate><!--T:554--> Converts a number to text, using the $ (dollar) currency format</translate> || ||
|-
!scope="row"|EXACT
| <translate><!--T:555--> Checks to see if two text values are identical</translate> || {{Z+|Z866}} ||
|-
!scope="row"|FIND, FINDBs
| <translate><!--T:556--> Finds one text value within another (case-sensitive)</translate> || ||
|-
!scope="row"|FIXED
| <translate><!--T:557--> Formats a number as text with a fixed number of decimals</translate> || ||
|-
!scope="row"|JIS
| <translate><!--T:558--> Changes half-width (single-byte) characters within a string to full-width (double-byte) characters</translate> || ||
|-
!scope="row"|LEFT, LEFTBs
| <translate><!--T:559--> Returns the leftmost characters from a text value</translate> || ||
|-
!scope="row"|LEN, LENBs
| <translate><!--T:560--> Returns the number of characters in a text string</translate> || ||
|-
!scope="row"|LOWER
| <translate><!--T:561--> Converts text to lowercase</translate> || {{Z+|Z10047}} ||
|-
!scope="row"|MID, MIDBs
| <translate><!--T:562--> Returns a specific number of characters from a text string starting at the position you specify</translate> || ||
|-
!scope="row"|NUMBERVALUE
| <translate><!--T:563--> Converts text to number in a locale-independent manner</translate> || ||
|-
!scope="row"|PHONETIC
| <translate><!--T:564--> Extracts the phonetic (furigana) characters from a text string</translate> || ||
|-
!scope="row"|PROPER
| <translate><!--T:565--> Capitalizes the first letter in each word of a text value</translate> || {{Z+|Z10251}} ||
|-
!scope="row"|REPLACE, REPLACEBs
| <translate><!--T:566--> Replaces characters within text</translate> || ||
|-
!scope="row"|REPT
| <translate><!--T:567--> Repeats text a given number of times</translate> || {{Z+|Z10911}} ||
|-
!scope="row"|RIGHT, RIGHTBs
| <translate><!--T:568--> Returns the rightmost characters from a text value</translate> || ||
|-
!scope="row"|SEARCH, SEARCHBs
| <translate><!--T:569--> Finds one text value within another (not case-sensitive)</translate> || ||
|-
!scope="row"|SUBSTITUTE
| <translate><!--T:570--> Substitutes new text for old text in a text string</translate> || {{Z+|Z10075}} ||
|-
!scope="row"|T
| <translate><!--T:571--> Converts its arguments to text</translate> || ||
|-
!scope="row"|TEXT
| <translate><!--T:572--> Formats a number and converts it to text</translate> || ||
|-
!scope="row"|TEXTAFTER
| <translate><!--T:573--> Returns text that occurs after given character or string</translate> || {{Z+|Z11412}} {{Z+|Z11416}} || <translate><!--T:574--> Excel has parameters to choose last (or Nth)</translate>
|-
!scope="row"|TEXTBEFORE
| <translate><!--T:575--> Returns text that occurs before a given character or string</translate> || {{Z+|Z11418}} {{Z+|Z11422}} || <translate><!--T:576--> Excel has parameters to choose last (or Nth)</translate>
|-
!scope="row"|TEXTJOIN
| <translate><!--T:577--> Combines the text from multiple ranges and/or strings</translate> || ||
|-
!scope="row"|TEXTSPLIT
| <translate><!--T:578--> Splits text strings by using column and row delimiters</translate> || ||
|-
!scope="row"|TRIM
| <translate><!--T:579--> Removes spaces from text</translate> || {{Z+|Z10079}} ||
|-
!scope="row"|UNICHAR
| <translate><!--T:580--> Returns the Unicode character that is references by the given numeric value</translate> || {{Z+|Z11534}} ||
|-
!scope="row"|UNICODE
| <translate><!--T:581--> Returns the number (code point) that corresponds to the first character of the text</translate> || {{Z+|Z11515}} ||
|-
!scope="row"|UPPER
| <translate><!--T:582--> Converts text to uppercase</translate> || {{Z+|Z10018}} ||
|-
!scope="row"|VALUE
| <translate><!--T:583--> Converts a text argument to a number</translate> || ||
|-
!scope="row"|VALUETOTEXT
| <translate><!--T:584--> Returns text from any specified value</translate> || ||
|-
!scope="row"|ENCODEURL
| <translate><!--T:585--> Returns a URL-encoded string</translate> || {{Z+|Z10761}} ||
|-
!scope="row"|FILTERXML
| <translate><!--T:586--> Returns specific data from the XML content by using the specified XPath</translate> || ||
|-
!scope="row"|WEBSERVICE
| <translate><!--T:587--> Returns data from a web service.</translate>
|
|
|}
[[Category:Lists of functions]]
ogpp8pqmqakhuxbqxuvjl7v7pxi564f
142743
142742
2024-11-30T22:55:27Z
Hogü-456
617
142743
wikitext
text/x-wiki
<languages/>
<translate>
<!--T:1-->
{{w|Microsoft Excel}} functions include the following.
== Add-in and automation == <!--T:2-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:3--> List of add-in and automation Excel functions</translate>
!scope="col"| <translate><!--T:4--> Function name</translate>
!scope="col"| <translate><!--T:5--> Description</translate>
!scope="col"| <translate><!--T:6--> ZID</translate>
!scope="col"| <translate><!--T:7--> Note</translate>
|-
!scope="row"|CALL
| <translate><!--T:8--> Calls a procedure in a dynamic link library or code resource</translate> || ||
|-
!scope="row"|EUROCONVERT
| <translate><!--T:9--> Converts a number to euros, converts a number from euros to a euro member currency, or converts a number from one euro member currency to another by using the euro as an intermediary (triangulation).</translate> || ||
|-
!scope="row"|REGISTER.ID
| <translate><!--T:10--> Returns the register ID of the specified dynamic link library (DLL) or code resource that has been previously registered</translate> || ||
|}
<translate>
== Compatibility == <!--T:11-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:12--> List of compatibility Excel functions</translate>
!scope="col"| <translate><!--T:13--> Function name</translate>
!scope="col"| <translate><!--T:14--> Description</translate>
!scope="col"| <translate><!--T:15--> ZID</translate>
!scope="col"| <translate><!--T:16--> Note</translate>
|-
!scope="row"|BETADIST
| <translate><!--T:17--> Returns the beta cumulative distribution function</translate> || ||
|-
!scope="row"|BETAINV
| <translate><!--T:18--> Returns the inverse of the cumulative distribution function for a specified beta distribution</translate> || ||
|-
!scope="row"|BINOMDIST
| <translate><!--T:19--> Returns the individual term binomial distribution probability</translate> || ||
|-
!scope="row"|CEILING
| <translate><!--T:20--> Rounds a number to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|CHIDIST
| <translate><!--T:21--> Returns the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHIINV
| <translate><!--T:22--> Returns the inverse of the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHITEST
| <translate><!--T:23--> Returns the test for independence</translate> || ||
|-
!scope="row"|CONFIDENCE
| <translate><!--T:24--> Returns the confidence interval for a population mean</translate> || ||
|-
!scope="row"|COVAR
| <translate><!--T:25--> Returns covariance, the average of the products of paired deviations</translate> || ||
|-
!scope="row"|CRITBINOM
| <translate><!--T:26--> Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value</translate> || ||
|-
!scope="row"|EXPONDIST
| <translate><!--T:27--> Returns the exponential distribution</translate> || ||
|-
!scope="row"|FDIST
| <translate><!--T:28--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|FINV
| <translate><!--T:29--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|FLOOR
| <translate><!--T:30--> Rounds a number down, toward zero</translate> || ||
|-
!scope="row"|FTEST
| <translate><!--T:31--> Returns the result of an F-test</translate> || ||
|-
!scope="row"|GAMMADIST
| <translate><!--T:32--> Returns the gamma distribution</translate> || ||
|-
!scope="row"|GAMMAINV
| <translate><!--T:33--> Returns the inverse of the gamma cumulative distribution</translate> || ||
|-
!scope="row"|HYPGEOMDIST
| <translate><!--T:34--> Returns the hypergeometric distribution</translate> || ||
|-
!scope="row"|LOGINV
| <translate><!--T:35--> Returns the inverse of the lognormal cumulative distribution</translate> || ||
|-
!scope="row"|LOGNORMDIST
| <translate><!--T:36--> Returns the cumulative lognormal distribution</translate> || ||
|-
!scope="row"|MODE
| <translate><!--T:37--> Returns the most common value in a data set</translate> || ||
|-
!scope="row"|NEGBINOMDIST
| <translate><!--T:38--> Returns the negative binomial distribution</translate> || ||
|-
!scope="row"|NORMDIST
| <translate><!--T:39--> Returns the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.INV
| <translate><!--T:40--> Returns the inverse of the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMSDIST
| <translate><!--T:41--> Returns the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMSINV
| <translate><!--T:42--> Returns the inverse of the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|PERCENTILE
| <translate><!--T:43--> Returns the k-th percentile of values in a range</translate> || ||
|-
!scope="row"|PERCENTRANK
| <translate><!--T:44--> Returns the percentage rank of a value in a data set</translate> || ||
|-
!scope="row"|POISSON
| <translate><!--T:45--> Returns the Poisson distribution</translate> || ||
|-
!scope="row"|QUARTILE
| <translate><!--T:46--> Returns the quartile of a data set</translate> || ||
|-
!scope="row"|RANK
| <translate><!--T:47--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|STDEV
| <translate><!--T:48--> Estimates standard deviation based on a sample</translate> || ||
|-
!scope="row"|STDEVP
| <translate><!--T:49--> Calculates standard deviation based on the entire population</translate> || ||
|-
!scope="row"|TDIST
| <translate><!--T:50--> Returns the Student's t-distribution</translate> || ||
|-
!scope="row"|TINV
| <translate><!--T:51--> Returns the inverse of the Student's t-distribution</translate> || ||
|-
!scope="row"|TTEST
| <translate><!--T:52--> Returns the probability associated with a Student's t-test</translate> || ||
|-
!scope="row"|VAR
| <translate><!--T:53--> Estimates variance based on a sample</translate> || ||
|-
!scope="row"|VARP
| <translate><!--T:54--> Calculates variance based on the entire population</translate> || ||
|-
!scope="row"|WEIBULL
| <translate><!--T:55--> Calculates variance based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|ZTEST
| <translate><!--T:56--> Returns the one-tailed probability-value of a z-test</translate> || ||
|}
<translate>
== Cube == <!--T:57-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:58--> List of cube Excel functions</translate>
!scope="col"| <translate><!--T:59--> Function name</translate>
!scope="col"| <translate><!--T:60--> Description</translate>
!scope="col"| <translate><!--T:61--> ZID</translate>
!scope="col"| <translate><!--T:62--> Note</translate>
|-
!scope="row"|CUBEKPIMEMBER
| <translate><!--T:63--> Returns a key performance indicator (KPI) name, property, and measure, and displays the name and property in the cell. A KPI is a quantifiable measurement, such as monthly gross profit or quarterly employee turnover, used to monitor an organization's performance.</translate> || ||
|-
!scope="row"|CUBEMEMBER
| <translate><!--T:64--> Returns a member or tuple in a cube hierarchy. Use to validate that the member or tuple exists in the cube.</translate> || ||
|-
!scope="row"|CUBEMEMBERPROPERTY
| <translate><!--T:65--> Returns the value of a member property in the cube. Use to validate that a member name exists within the cube and to return the specified property for this member.</translate> || ||
|-
!scope="row"|CUBERANKEDMEMBER
| <translate><!--T:66--> Returns the nth, or ranked, member in a set. Use to return one or more elements in a set, such as the top sales performer or top 10 students.</translate> || ||
|-
!scope="row"|CUBESET
| <translate><!--T:67--> Defines a calculated set of members or tuples by sending a set expression to the cube on the server, which creates the set, and then returns that set to Microsoft Office Excel.</translate> || ||
|-
!scope="row"|CUBESETCOUNT
| <translate><!--T:68--> Returns the number of items in a set.</translate> || ||
|-
!scope="row"|CUBEVALUE
| <translate><!--T:69--> Returns an aggregated value from a cube.</translate> || ||
|}
<translate>
== Database == <!--T:70-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:71--> List of database Excel functions</translate>
!scope="col"| <translate><!--T:72--> Function name</translate>
!scope="col"| <translate><!--T:73--> Description</translate>
!scope="col"| <translate><!--T:74--> ZID</translate>
!scope="col"| <translate><!--T:75--> Note</translate>
|-
!scope="row"|DAVERAGE
| <translate><!--T:76--> Returns the average of selected database entries</translate> || ||
|-
!scope="row"|DCOUNT
| <translate><!--T:77--> Counts the cells that contain numbers in a database</translate> || ||
|-
!scope="row"|DCOUNTA
| <translate><!--T:78--> Counts nonblank cells in a database</translate> || ||
|-
!scope="row"|DGET
| <translate><!--T:79--> Extracts from a database a single record that matches the specified criteria</translate> || ||
|-
!scope="row"|DMAX
| <translate><!--T:80--> Returns the maximum value from selected database entries</translate> || ||
|-
!scope="row"|DMIN
| <translate><!--T:81--> Returns the minimum value from selected database entries</translate> || ||
|-
!scope="row"|DPRODUCT
| <translate><!--T:82--> Multiplies the values in a particular field of records that match the criteria in a database</translate> || ||
|-
!scope="row"|DSTDEV
| <translate><!--T:83--> Estimates the standard deviation based on a sample of selected database entries</translate> || ||
|-
!scope="row"|DSTDEVP
| <translate><!--T:84--> Calculates the standard deviation based on the entire population of selected database entries</translate> || ||
|-
!scope="row"|DSUM
| <translate><!--T:85--> Adds the numbers in the field column of records in the database that match the criteria</translate> || ||
|-
!scope="row"|DVAR
| <translate><!--T:86--> Estimates variance based on a sample from selected database entries</translate> || ||
|-
!scope="row"|DVARP
| <translate><!--T:87--> Calculates variance based on the entire population of selected database entries</translate> || ||
|}
<translate>
== Date and time == <!--T:88-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:89--> List of date and time Excel functions</translate>
!scope="col"| <translate><!--T:90--> Function name</translate>
!scope="col"| <translate><!--T:91--> Description</translate>
!scope="col"| <translate><!--T:92--> ZID</translate>
!scope="col"| <translate><!--T:93--> Note</translate>
|-
!scope="row"|DATE
| <translate><!--T:94--> Returns the serial number of a particular date</translate> || ||
|-
!scope="row"|DATEDIF
| <translate><!--T:95--> Calculates the number of days, months, or years between two dates. This function is useful in formulas where you need to calculate an age.</translate> || ||
|-
!scope="row"|DATEVALUE
| <translate><!--T:96--> Converts a date in the form of text to a serial number</translate> || ||
|-
!scope="row"|DAY
| <translate><!--T:97--> Converts a serial number to a day of the month</translate> || ||
|-
!scope="row"|DAYS
| <translate><!--T:98--> Returns the number of days between two dates</translate> || ||
|-
!scope="row"|DAYS360
| <translate><!--T:99--> Calculates the number of days between two dates based on a 360-day year</translate> || ||
|-
!scope="row"|EDATE
| <translate><!--T:100--> Returns the serial number of the date that is the indicated number of months before or after the start date</translate> || ||
|-
!scope="row"|EOMONTH
| <translate><!--T:101--> Returns the serial number of the last day of the month before or after a specified number of months</translate> || ||
|-
!scope="row"|HOUR
| <translate><!--T:102--> Converts a serial number to an hour</translate> || ||
|-
!scope="row"|ISOWEEKNUM
| <translate><!--T:103--> Returns the number of the ISO week number of the year for a given date</translate> || ||
|-
!scope="row"|MINUTE
| <translate><!--T:104--> Converts a serial number to a minute</translate> || ||
|-
!scope="row"|MONTH
| <translate><!--T:105--> Converts a serial number to a month</translate> || ||
|-
!scope="row"|NETWORKDAYS
| <translate><!--T:106--> Returns the number of whole workdays between two dates</translate> || ||
|-
!scope="row"|NETWORKDAYS.INTL
| <translate><!--T:107--> Returns the number of whole workdays between two dates using parameters to indicate which and how many days are weekend days</translate> || ||
|-
!scope="row"|NOW
| <translate><!--T:108--> Returns the serial number of the current date and time</translate> || ||
|-
!scope="row"|SECOND
| <translate><!--T:109--> Converts a serial number to a second</translate> || ||
|-
!scope="row"|TIME
| <translate><!--T:110--> Returns the serial number of a particular time</translate> || ||
|-
!scope="row"|TIMEVALUE
| <translate><!--T:111--> Converts a time in the form of text to a serial number</translate> || ||
|-
!scope="row"|TODAY
| <translate><!--T:112--> Returns the serial number of today's date</translate> || ||
|-
!scope="row"|WEEKDAY
| <translate><!--T:113--> Converts a serial number to a day of the week</translate> || ||
|-
!scope="row"|WEEKNUM
| <translate><!--T:114--> Converts a serial number to a number representing where the week falls numerically with a year</translate> || ||
|-
!scope="row"|WORKDAY
| <translate><!--T:115--> Returns the serial number of the date before or after a specified number of workdays</translate> || ||
|-
!scope="row"|WORKDAY.INTL
| <translate><!--T:116--> Returns the serial number of the date before or after a specified number of workdays using parameters to indicate which and how many days are weekend days</translate> || ||
|-
!scope="row"|YEAR
| <translate><!--T:117--> Converts a serial number to a year</translate> || ||
|-
!scope="row"|YEARFRAC
| <translate><!--T:118--> Returns the year fraction representing the number of whole days between start_date and end_date</translate> || ||
|}
<translate>
== Engineering == <!--T:119-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:120--> List of engineering Excel functions</translate>
!scope="col"| <translate><!--T:121--> Function name</translate>
!scope="col"| <translate><!--T:122--> Description</translate>
!scope="col"| <translate><!--T:123--> ZID</translate>
!scope="col"| <translate><!--T:124--> Note</translate>
|-
!scope="row"|BESSELI
| <translate><!--T:125--> Returns the modified Bessel function In(x)</translate> || ||
|-
!scope="row"|BESSELJ
| <translate><!--T:126--> Returns the Bessel function Jn(x)</translate> || ||
|-
!scope="row"|BESSELK
| <translate><!--T:127--> Returns the modified Bessel function Kn(x)</translate> || ||
|-
!scope="row"|BESSELY
| <translate><!--T:128--> Returns the Bessel function Yn(x)</translate> || ||
|-
!scope="row"|BIN2DEC
| <translate><!--T:129--> Converts a binary number to decimal</translate> || ||
|-
!scope="row"|BIN2HEX
| <translate><!--T:130--> Converts a binary number to hexadecimal</translate> || ||
|-
!scope="row"|BIN2OCT
| <translate><!--T:131--> Converts a binary number to octal</translate> || ||
|-
!scope="row"|BITAND
| <translate><!--T:132--> Returns a 'Bitwise And' of two numbers</translate> || ||
|-
!scope="row"|BITLSHIFT
| <translate><!--T:133--> Returns a value number shifted left by shift_amount bits</translate> || ||
|-
!scope="row"|BITOR
| <translate><!--T:134--> Returns a bitwise OR of 2 numbers</translate> || ||
|-
!scope="row"|BITRSHIFT
| <translate><!--T:135--> Returns a value number shifted right by shift_amount bits</translate> || ||
|-
!scope="row"|BITXOR
| <translate><!--T:136--> Returns a bitwise 'Exclusive Or' of two numbers</translate> || ||
|-
!scope="row"|COMPLEX
| <translate><!--T:137--> Converts real and imaginary coefficients into a complex number</translate> || ||
|-
!scope="row"|CONVERT
| <translate><!--T:138--> Converts a number from one measurement system to another</translate> || ||
|-
!scope="row"|DEC2BIN
| <translate><!--T:139--> Converts a decimal number to binary</translate> || ||
|-
!scope="row"|DEC2HEX
| <translate><!--T:140--> Converts a decimal number to hexadecimal</translate> || ||
|-
!scope="row"|DEC2OCT
| <translate><!--T:141--> Converts a decimal number to octal</translate> || ||
|-
!scope="row"|DELTA
| <translate><!--T:142--> Tests whether two values are equal</translate> || ||
|-
!scope="row"|ERF
| <translate><!--T:143--> Returns the error function</translate> || ||
|-
!scope="row"|ERF.PRECISE
| <translate><!--T:144--> Returns the error function</translate> || ||
|-
!scope="row"|ERFC
| <translate><!--T:145--> Returns the complementary error function</translate> || ||
|-
!scope="row"|ERFC.PRECISE
| <translate><!--T:146--> Returns the complementary ERF function integrated between x and infinity</translate> || ||
|-
!scope="row"|GESTEP
| <translate><!--T:147--> Tests whether a number is greater than a threshold value</translate> || ||
|-
!scope="row"|HEX2BIN
| <translate><!--T:148--> Converts a hexadecimal number to binary</translate> || ||
|-
!scope="row"|HEX2DEC
| <translate><!--T:149--> Converts a hexadecimal number to decimal</translate> || ||
|-
!scope="row"|HEX2OCT
| <translate><!--T:150--> Converts a hexadecimal number to octal</translate> || ||
|-
!scope="row"|IMABS
| <translate><!--T:151--> Returns the absolute value (modulus) of a complex number</translate> || ||
|-
!scope="row"|IMAGINARY
| <translate><!--T:152--> Returns the imaginary coefficient of a complex number</translate> || ||
|-
!scope="row"|IMARGUMENT
| <translate><!--T:153--> Returns the argument theta, an angle expressed in radians</translate> || ||
|-
!scope="row"|IMCONJUGATE
| <translate><!--T:154--> Returns the complex conjugate of a complex number</translate> || ||
|-
!scope="row"|IMCOS
| <translate><!--T:155--> Returns the cosine of a complex number</translate> || ||
|-
!scope="row"|IMCOSH
| <translate><!--T:156--> Returns the hyperbolic cosine of a complex number</translate> || ||
|-
!scope="row"|IMCOT
| <translate><!--T:157--> Returns the cotangent of a complex number</translate> || ||
|-
!scope="row"|IMCSC
| <translate><!--T:158--> Returns the cosecant of a complex number</translate> || ||
|-
!scope="row"|IMCSCH
| <translate><!--T:159--> Returns the hyperbolic cosecant of a complex number</translate> || ||
|-
!scope="row"|IMDIV
| <translate><!--T:160--> Returns the quotient of two complex numbers</translate> || ||
|-
!scope="row"|IMEXP
| <translate><!--T:161--> Returns the exponential of a complex number</translate> || ||
|-
!scope="row"|IMLN
| <translate><!--T:162--> Returns the natural logarithm of a complex number</translate> || ||
|-
!scope="row"|IMLOG10
| <translate><!--T:163--> Returns the base-10 logarithm of a complex number</translate> || ||
|-
!scope="row"|IMLOG2
| <translate><!--T:164--> Returns the base-2 logarithm of a complex number</translate> || ||
|-
!scope="row"|IMPOWER
| <translate><!--T:165--> Returns a complex number raised to an integer power</translate> || ||
|-
!scope="row"|IMPRODUCT
| <translate><!--T:166--> Returns the product of complex numbers</translate> || ||
|-
!scope="row"|IMREAL
| <translate><!--T:167--> Returns the real coefficient of a complex number</translate> || ||
|-
!scope="row"|IMSEC
| <translate><!--T:168--> Returns the secant of a complex number</translate> || ||
|-
!scope="row"|IMSECH
| <translate><!--T:169--> Returns the hyperbolic secant of a complex number</translate> || ||
|-
!scope="row"|IMSIN
| <translate><!--T:170--> Returns the sine of a complex number</translate> || ||
|-
!scope="row"|IMSINH
| <translate><!--T:171--> Returns the hyperbolic sine of a complex number</translate> || ||
|-
!scope="row"|IMSQRT
| <translate><!--T:172--> Returns the square root of a complex number</translate> || ||
|-
!scope="row"|IMSUB
| <translate><!--T:173--> Returns the difference between two complex numbers</translate> || ||
|-
!scope="row"|IMSUM
| <translate><!--T:174--> Returns the sum of complex numbers</translate> || ||
|-
!scope="row"|IMTAN
| <translate><!--T:175--> Returns the tangent of a complex number</translate> || ||
|-
!scope="row"|OCT2BIN
| <translate><!--T:176--> Converts an octal number to binary</translate> || ||
|-
!scope="row"|OCT2DEC
| <translate><!--T:177--> Converts an octal number to decimal</translate> || ||
|-
!scope="row"|OCT2HEX
| <translate><!--T:178--> Converts an octal number to hexadecimal</translate> || ||
|}
<translate>
== Financial == <!--T:179-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:180--> List of financial Excel functions</translate>
!scope="col"| <translate><!--T:181--> Function name</translate>
!scope="col"| <translate><!--T:182--> Description</translate>
!scope="col"| <translate><!--T:183--> ZID</translate>
!scope="col"| <translate><!--T:184--> Note</translate>
|-
!scope="row"|ACCRINT
| <translate><!--T:185--> Returns the accrued interest for a security that pays periodic interest</translate> || ||
|-
!scope="row"|ACCRINTM
| <translate><!--T:186--> Returns the accrued interest for a security that pays interest at maturity</translate> || ||
|-
!scope="row"|AMORDEGRC
| <translate><!--T:187--> Returns the depreciation for each accounting period by using a depreciation coefficient</translate> || ||
|-
!scope="row"|AMORLINC
| <translate><!--T:188--> Returns the depreciation for each accounting period</translate> || ||
|-
!scope="row"|COUPDAYBS
| <translate><!--T:189--> Returns the number of days from the beginning of the coupon period to the settlement date</translate> || ||
|-
!scope="row"|COUPDAYS
| <translate><!--T:190--> Returns the number of days in the coupon period that contains the settlement date</translate> || ||
|-
!scope="row"|COUPDAYSNC
| <translate><!--T:191--> Returns the number of days from the settlement date to the next coupon date</translate> || ||
|-
!scope="row"|COUPNCD
| <translate><!--T:192--> Returns the next coupon date after the settlement date</translate> || ||
|-
!scope="row"|COUPNUM
| <translate><!--T:193--> Returns the number of coupons payable between the settlement date and maturity date</translate> || ||
|-
!scope="row"|COUPPCD
| <translate><!--T:194--> Returns the previous coupon date before the settlement date</translate> || ||
|-
!scope="row"|CUMIPMT
| <translate><!--T:195--> Returns the cumulative interest paid between two periods</translate> || ||
|-
!scope="row"|CUMPRINC
| <translate><!--T:196--> Returns the cumulative principal paid on a loan between two periods</translate> || ||
|-
!scope="row"|DB
| <translate><!--T:197--> Returns the depreciation of an asset for a specified period by using the fixed-declining balance method</translate> || ||
|-
!scope="row"|DDB
| <translate><!--T:198--> Returns the depreciation of an asset for a specified period by using the double-declining balance method or some other method that you specify</translate> || ||
|-
!scope="row"|DISC
| <translate><!--T:199--> Returns the discount rate for a security</translate> || ||
|-
!scope="row"|DOLLARDE
| <translate><!--T:200--> Converts a dollar price, expressed as a fraction, into a dollar price, expressed as a decimal number</translate> || ||
|-
!scope="row"|DOLLARFR
| <translate><!--T:201--> Converts a dollar price, expressed as a decimal number, into a dollar price, expressed as a fraction</translate> || ||
|-
!scope="row"|DURATION
| <translate><!--T:202--> Returns the annual duration of a security with periodic interest payments</translate> || ||
|-
!scope="row"|EFFECT
| <translate><!--T:203--> Returns the effective annual interest rate</translate> || ||
|-
!scope="row"|FV
| <translate><!--T:204--> Returns the future value of an investment</translate> || ||
|-
!scope="row"|FVSCHEDULE
| <translate><!--T:205--> Returns the future value of an initial principal after applying a series of compound interest rates</translate> || ||
|-
!scope="row"|INTRATE
| <translate><!--T:206--> Returns the interest rate for a fully invested security</translate> || ||
|-
!scope="row"|IPMT
| <translate><!--T:207--> Returns the interest payment for an investment for a given period</translate> || ||
|-
!scope="row"|IRR
| <translate><!--T:208--> Returns the internal rate of return for a series of cash flows</translate> || ||
|-
!scope="row"|ISPMT
| <translate><!--T:209--> Calculates the interest paid during a specific period of an investment</translate> || ||
|-
!scope="row"|MDURATION
| <translate><!--T:210--> Returns the Macauley modified duration for a security with an assumed par value of $100</translate> || ||
|-
!scope="row"|MIRR
| <translate><!--T:211--> Returns the internal rate of return where positive and negative cash flows are financed at different rates</translate> || ||
|-
!scope="row"|NOMINAL
| <translate><!--T:212--> Returns the annual nominal interest rate</translate> || ||
|-
!scope="row"|NPER
| <translate><!--T:213--> Returns the number of periods for an investment</translate> || ||
|-
!scope="row"|NPV
| <translate><!--T:214--> Returns the net present value of an investment based on a series of periodic cash flows and a discount rate</translate> || ||
|-
!scope="row"|ODDFPRICE
| <translate><!--T:215--> Returns the price per $100 face value of a security with an odd first period</translate> || ||
|-
!scope="row"|ODDFYIELD
| <translate><!--T:216--> Returns the yield of a security with an odd first period</translate> || ||
|-
!scope="row"|ODDLPRICE
| <translate><!--T:217--> Returns the price per $100 face value of a security with an odd last period</translate> || ||
|-
!scope="row"|ODDLYIELD
| <translate><!--T:218--> Returns the yield of a security with an odd last period</translate> || ||
|-
!scope="row"|PDURATION
| <translate><!--T:219--> Returns the number of periods required by an investment to reach a specified value</translate> || ||
|-
!scope="row"|PMT
| <translate><!--T:220--> Returns the periodic payment for an annuity</translate> || ||
|-
!scope="row"|PPMT
| <translate><!--T:221--> Returns the payment on the principal for an investment for a given period</translate> || ||
|-
!scope="row"|PRICE
| <translate><!--T:222--> Returns the price per $100 face value of a security that pays periodic interest</translate> || ||
|-
!scope="row"|PRICEDISC
| <translate><!--T:223--> Returns the price per $100 face value of a discounted security</translate> || ||
|-
!scope="row"|PRICEMAT
| <translate><!--T:224--> Returns the price per $100 face value of a security that pays interest at maturity</translate> || ||
|-
!scope="row"|PV
| <translate><!--T:225--> Returns the present value of an investment</translate> || ||
|-
!scope="row"|RATE
| <translate><!--T:226--> Returns the interest rate per period of an annuity</translate> || ||
|-
!scope="row"|RECEIVED
| <translate><!--T:227--> Returns the amount received at maturity for a fully invested security</translate> || ||
|-
!scope="row"|RRI
| <translate><!--T:228--> Returns an equivalent interest rate for the growth of an investment</translate> || ||
|-
!scope="row"|SLN
| <translate><!--T:229--> Returns the straight-line depreciation of an asset for one period</translate> || ||
|-
!scope="row"|STOCKHISTORY
| <translate><!--T:230--> Retrieves historical data about a financial instrument</translate> || ||
|-
!scope="row"|SYD
| <translate><!--T:231--> Returns the sum-of-years' digits depreciation of an asset for a specified period</translate> || ||
|-
!scope="row"|TBILLEQ
| <translate><!--T:232--> Returns the bond-equivalent yield for a Treasury bill</translate> || ||
|-
!scope="row"|TBILLPRICE
| <translate><!--T:233--> Returns the price per $100 face value for a Treasury bill</translate> || ||
|-
!scope="row"|TBILLYIELD
| <translate><!--T:234--> Returns the yield for a Treasury bill</translate> || ||
|-
!scope="row"|VDB
| <translate><!--T:235--> Returns the depreciation of an asset for a specified or partial period by using a declining balance method</translate> || ||
|-
!scope="row"|XIRR
| <translate><!--T:236--> Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic</translate> || ||
|-
!scope="row"|XNPV
| <translate><!--T:237--> Returns the net present value for a schedule of cash flows that is not necessarily periodic</translate> || ||
|-
!scope="row"|YIELD
| <translate><!--T:238--> Returns the yield on a security that pays periodic interest</translate> || ||
|-
!scope="row"|YIELDDISC
| <translate><!--T:239--> Returns the annual yield for a discounted security; for example, a Treasury bill</translate> || ||
|-
!scope="row"|YIELDMAT
| <translate><!--T:240--> Returns the annual yield of a security that pays interest at maturity</translate> || ||
|}
<translate>
== Information == <!--T:241-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:242--> List of information Excel functions</translate>
!scope="col"| <translate><!--T:243--> Function name</translate>
!scope="col"| <translate><!--T:244--> Description</translate>
!scope="col"| <translate><!--T:245--> ZID</translate>
!scope="col"| <translate><!--T:246--> Note</translate>
|-
!scope="row"|CELL
| <translate><!--T:247--> Returns information about the formatting, location, or contents of a cell</translate> || ||
|-
!scope="row"|ERROR.TYPE
| <translate><!--T:248--> Returns a number corresponding to an error type</translate> || ||
|-
!scope="row"|INFO
| <translate><!--T:249--> Returns information about the current operating environment</translate> || ||
|-
!scope="row"|ISBLANK
| <translate><!--T:250--> Returns TRUE if the value is blank</translate> || [[Z10008]] ||
|-
!scope="row"|ISERR
| <translate><!--T:251--> Returns TRUE if the value is any error value except #N/A</translate> || ||
|-
!scope="row"|ISERROR
| <translate><!--T:252--> Returns TRUE if the value is any error value</translate> || ||
|-
!scope="row"|ISEVEN
| <translate><!--T:253--> Returns TRUE if the number is even</translate> || [[Z12480]]||
|-
!scope="row"|ISFORMULA
| <translate><!--T:254--> Returns TRUE if there is a reference to a cell that contains a formula</translate> || ||
|-
!scope="row"|ISLOGICAL
| <translate><!--T:255--> Returns TRUE if the value is a logical value</translate> || ||
|-
!scope="row"|ISNA
| <translate><!--T:256--> Returns TRUE if the value is the #N/A error value</translate> || ||
|-
!scope="row"|ISNONTEXT
| <translate><!--T:257--> Returns TRUE if the value is not text</translate> || ||
|-
!scope="row"|ISNUMBER
| <translate><!--T:258--> Returns TRUE if the value is a number</translate> || [[Z10715]] ||
|-
!scope="row"|ISODD
| <translate><!--T:259--> Returns TRUE if the number is odd</translate> || [[Z12429]]||
|-
!scope="row"|ISOMITTED
| <translate><!--T:260--> Checks whether the value in a LAMBDA is missing and returns TRUE or FALSE</translate> || ||
|-
!scope="row"|ISREF
| <translate><!--T:261--> Returns TRUE if the value is a reference</translate> || ||
|-
!scope="row"|ISTEXT
| <translate><!--T:262--> Returns TRUE if the value is text</translate> || ||
|-
!scope="row"|N
| <translate><!--T:263--> Returns a value converted to a number</translate> || ||
|-
!scope="row"|NA
| <translate><!--T:264--> Returns the error value #N/A</translate> || ||
|-
!scope="row"|SHEET
| <translate><!--T:265--> Returns the sheet number of the referenced sheet</translate> || ||
|-
!scope="row"|SHEETS
| <translate><!--T:266--> Returns the number of sheets in a reference</translate> || ||
|-
!scope="row"|TYPE
| <translate><!--T:267--> Returns a number indicating the data type of a value</translate> || ||
|}
<translate>
== Logical == <!--T:268-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:269--> List of logical Excel functions</translate>
!scope="col"| <translate><!--T:270--> Function name</translate>
!scope="col"| <translate><!--T:271--> Description</translate>
!scope="col"| <translate><!--T:272--> ZID</translate>
!scope="col"| <translate><!--T:273--> Note</translate>
|-
!scope="row"|AND
| <translate><!--T:274--> Returns TRUE if all of its arguments are TRUE</translate> || [[Z10174]] ||
|-
!scope="row"|BYCOL
| <translate><!--T:275--> Applies a LAMBDA to each column and returns an array of the results</translate> || ||
|-
!scope="row"|BYROW
| <translate><!--T:276--> Applies a LAMBDA to each row and returns an array of the results</translate> || ||
|-
!scope="row"|FALSE
| <translate><!--T:277--> Returns the logical value FALSE</translate> || [[Z10206]] ||
|-
!scope="row"|IF
| <translate><!--T:278--> Specifies a logical test to perform</translate> || [[Z802]], [[Z11542]] ||
|-
!scope="row"|IFERROR
| <translate><!--T:279--> Returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula</translate> || ||
|-
!scope="row"|IFNA
| <translate><!--T:280--> Returns the value you specify if the expression resolves to #N/A, otherwise returns the result of the expression</translate> || ||
|-
!scope="row"|IFS
| <translate><!--T:281--> Checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition.</translate> || ||
|-
!scope="row"|LAMBDA
| <translate><!--T:282--> Create custom, reusable functions and call them by a friendly name</translate> || ||
|-
!scope="row"|LET
| <translate><!--T:283--> Assigns names to calculation results</translate> || ||
|-
!scope="row"|MAKEARRAY
| <translate><!--T:284--> Returns a calculated array of a specified row and column size, by applying a LAMBDA</translate> || ||
|-
!scope="row"|MAP
| <translate><!--T:285--> Returns an array formed by mapping each value in the array(s) to a new value by applying a LAMBDA to create a new value</translate> || [[Z873]] ||
|-
!scope="row"|NOT
| <translate><!--T:286--> Reverses the logic of its argument</translate> || [[Z10216]] ||
|-
!scope="row"|OR
| <translate><!--T:287--> Returns TRUE if any argument is TRUE</translate> || [[Z10184]] ||
|-
!scope="row"|REDUCE
| <translate><!--T:288--> Reduces an array to an accumulated value by applying a LAMBDA to each value and returning the total value in the accumulator</translate> || ||
|-
!scope="row"|SCAN
| <translate><!--T:289--> Scans an array by applying a LAMBDA to each value and returns an array that has each intermediate value</translate> || ||
|-
!scope="row"|SWITCH
| <translate><!--T:290--> Evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value may be returned.</translate> || ||
|-
!scope="row"|TRUE
| <translate><!--T:291--> Returns the logical value TRUE</translate> || [[Z10210]] ||
|-
!scope="row"|XOR
| <translate><!--T:292--> Returns a logical exclusive OR of all arguments</translate> || [[Z10237]] ||
|}
<translate>
== Lookup and reference == <!--T:293-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:294--> List of lookup and reference Excel functions</translate>
!scope="col"| <translate><!--T:295--> Function name</translate>
!scope="col"| <translate><!--T:296--> Description</translate>
!scope="col"| <translate><!--T:297--> ZID</translate>
!scope="col"| <translate><!--T:298--> Note</translate>
|-
!scope="row"|VSTACK
| <translate><!--T:299--> Appends arrays vertically and in sequence to return a larger array</translate> || ||
|-
!scope="row"|WRAPCOLS
| <translate><!--T:300--> Wraps the provided row or column of values by columns after a specified number of elements</translate> || ||
|-
!scope="row"|WRAPROWS
| <translate><!--T:301--> Wraps the provided row or column of values by rows after a specified number of elements</translate> || ||
|-
!scope="row"|ADDRESS
| <translate><!--T:302--> Returns a reference as text to a single cell in a worksheet</translate> || ||
|-
!scope="row"|AREAS
| <translate><!--T:303--> Returns the number of areas in a reference</translate> || ||
|-
!scope="row"|CHOOSE
| <translate><!--T:304--> Chooses a value from a list of values</translate> || ||
|-
!scope="row"|CHOOSECOLS
| <translate><!--T:305--> Returns the specified columns from an array</translate> || ||
|-
!scope="row"|CHOOSEROWS
| <translate><!--T:306--> Returns the specified rows from an array</translate> || ||
|-
!scope="row"|COLUMN
| <translate><!--T:307--> Returns the column number of a reference</translate> || ||
|-
!scope="row"|COLUMNS
| <translate><!--T:308--> Returns the number of columns in a reference</translate> || ||
|-
!scope="row"|DROP
| <translate><!--T:309--> Excludes a specified number of rows or columns from the start or end of an array</translate> || ||
|-
!scope="row"|EXPAND
| <translate><!--T:310--> Expands or pads an array to specified row and column dimensions</translate> || ||
|-
!scope="row"|FILTER
| <translate><!--T:311--> Filters a range of data based on criteria you define</translate> || ||
|-
!scope="row"|FORMULATEXT
| <translate><!--T:312--> Returns the formula at the given reference as text</translate> || ||
|-
!scope="row"|GETPIVOTDATA
| <translate><!--T:313--> Returns data stored in a PivotTable report</translate> || ||
|-
!scope="row"|HLOOKUP
| <translate><!--T:314--> Looks in the top row of an array and returns the value of the indicated cell</translate> || ||
|-
!scope="row"|HSTACK
| <translate><!--T:315--> Appends arrays horizontally and in sequence to return a larger array</translate> || ||
|-
!scope="row"|HYPERLINK
| <translate><!--T:316--> Creates a shortcut or jump that opens a document stored on a network server, an intranet, or the Internet</translate> || ||
|-
!scope="row"|IMAGE
| <translate><!--T:317--> Returns an image from a given source</translate> || ||
|-
!scope="row"|INDEX
| <translate><!--T:318--> Uses an index to choose a value from a reference or array</translate> || [[Z13397]] || Check Indexbase
|-
!scope="row"|INDIRECT
| <translate><!--T:319--> Returns a reference indicated by a text value</translate> || ||
|-
!scope="row"|LOOKUP
| <translate><!--T:320--> Looks up values in a vector or array</translate> || [[Z13708]] || Check if it is possible in multiple column arrays
|-
!scope="row"|MATCH
| <translate><!--T:321--> Looks up values in a reference or array</translate> || ||
|-
!scope="row"|OFFSET
| <translate><!--T:322--> Returns a reference offset from a given reference</translate> || ||
|-
!scope="row"|ROW
| <translate><!--T:323--> Returns the row number of a reference</translate> || ||
|-
!scope="row"|ROWS
| <translate><!--T:324--> Returns the number of rows in a reference</translate> || ||
|-
!scope="row"|RTD
| <translate><!--T:325--> Retrieves real-time data from a program that supports COM automation</translate> || ||
|-
!scope="row"|SORT
| <translate><!--T:326--> Sorts the contents of a range or array</translate> || ||
|-
!scope="row"|SORTBY
| <translate><!--T:327--> Sorts the contents of a range or array based on the values in a corresponding range or array</translate> || ||
|-
!scope="row"|TAKE
| <translate><!--T:328--> Returns a specified number of contiguous rows or columns from the start or end of an array</translate> || ||
|-
!scope="row"|TOCOL
| <translate><!--T:329--> Returns the array in a single column</translate> || ||
|-
!scope="row"|TOROW
| <translate><!--T:330--> Returns the array in a single row</translate> || ||
|-
!scope="row"|TRANSPOSE
| <translate><!--T:331--> Returns the transpose of an array</translate> || ||
|-
!scope="row"|UNIQUE
| <translate><!--T:332--> Returns a list of unique values in a list or range</translate> || ||
|-
!scope="row"|VLOOKUP
| <translate><!--T:333--> Looks in the first column of an array and moves across the row to return the value of a cell</translate> || ||
|-
!scope="row"|XLOOKUP
| <translate><!--T:334--> Searches a range or an array, and returns an item corresponding to the first match it finds. If a match doesn't exist, then XLOOKUP can return the closest (approximate) match.</translate> || ||
|-
!scope="row"|XMATCH
| <translate><!--T:335--> Returns the relative position of an item in an array or range of cells.</translate> || ||
|}
<translate>
== Math and trigonometry == <!--T:336-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:337--> List of math and trigonometry Excel functions</translate>
!scope="col"| <translate><!--T:338--> Function name</translate>
!scope="col"| <translate><!--T:339--> Description</translate>
!scope="col"| <translate><!--T:340--> ZID</translate>
!scope="col"| <translate><!--T:341--> Note</translate>
|-
!scope="row"|ABS
| <translate><!--T:342--> Returns the absolute value of a number</translate> || [[Z11235]]||
|-
!scope="row"|ACOS
| <translate><!--T:343--> Returns the arccosine of a number</translate> || [[Z12497]]||
|-
!scope="row"|ACOSH
| <translate><!--T:344--> Returns the inverse hyperbolic cosine of a number</translate> || [[Z12500]]||
|-
!scope="row"|ACOT
| <translate><!--T:345--> Returns the arccotangent of a number</translate> || ||
|-
!scope="row"|ACOTH
| <translate><!--T:346--> Returns the hyperbolic arccotangent of a number</translate> || ||
|-
!scope="row"|AGGREGATE
| <translate><!--T:347--> Returns an aggregate in a list or database</translate> || ||
|-
!scope="row"|ARABIC
| <translate><!--T:348--> Converts a Roman number to Arabic, as a number</translate> || [[Z11023]]||
|-
!scope="row"|ASIN
| <translate><!--T:349--> Returns the arcsine of a number</translate> || [[Z12505]]||
|-
!scope="row"|ASINH
| <translate><!--T:350--> Returns the inverse hyperbolic sine of a number</translate> || [[Z12509]]||
|-
!scope="row"|ATAN
| <translate><!--T:351--> Returns the arctangent of a number</translate> || ||
|-
!scope="row"|ATAN2
| <translate><!--T:352--> Returns the arctangent from x- and y-coordinates</translate> || ||
|-
!scope="row"|ATANH
| <translate><!--T:353--> Returns the inverse hyperbolic tangent of a number</translate> || ||
|-
!scope="row"|BASE
| <translate><!--T:354--> Converts a number into a text representation with the given radix (base)</translate> || ||
|-
!scope="row"|CEILING.MATH
| <translate><!--T:355--> Rounds a number up, to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|CEILING.PRECISE
| <translate><!--T:356--> Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.</translate> || ||
|-
!scope="row"|COMBIN
| <translate><!--T:357--> Returns the number of combinations for a given number of objects</translate> || ||
|-
!scope="row"|COMBINA
| <translate><!--T:358--> Returns the number of combinations (with repetitions) for a given number of items</translate> || ||
|-
!scope="row"|COS
| <translate><!--T:359--> Returns the cosine of a number</translate> || [[Z12473]]
|
|-
!scope="row"|COSH
| <translate><!--T:360--> Returns the hyperbolic cosine of a number</translate> || ||
|-
!scope="row"|COT
| <translate><!--T:361--> Returns the hyperbolic cosine of a number</translate> || ||
|-
!scope="row"|COTH
| <translate><!--T:362--> Returns the cotangent of an angle</translate> || ||
|-
!scope="row"|CSC
| <translate><!--T:363--> Returns the cosecant of an angle</translate> || ||
|-
!scope="row"|CSCH
| <translate><!--T:364--> Returns the hyperbolic cosecant of an angle</translate> || ||
|-
!scope="row"|DECIMAL
| <translate><!--T:365--> Converts a text representation of a number in a given base into a decimal number</translate> || ||
|-
!scope="row"|DEGREES
| <translate><!--T:366--> Converts radians to degrees</translate> || ||
|-
!scope="row"|EVEN
| <translate><!--T:367--> Rounds a number up to the nearest even integer</translate> || ||
|-
!scope="row"|EXP
| <translate><!--T:368--> Returns e raised to the power of a given number</translate> || ||
|-
!scope="row"|FACT
| <translate><!--T:369--> Returns the factorial of a number</translate> || ||
|-
!scope="row"|FACTDOUBLE
| <translate><!--T:370--> Returns the double factorial of a number</translate> || ||
|-
!scope="row"|FLOOR.MATH
| <translate><!--T:371--> Rounds a number down, to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|FLOOR.PRECISE
| <translate><!--T:372--> Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.</translate> || ||
|-
!scope="row"|GCD
| <translate><!--T:373--> Returns the greatest common divisor</translate> || ||
|-
!scope="row"|INT
| <translate><!--T:374--> Rounds a number down to the nearest integer</translate> || ||
|-
!scope="row"|ISO.CEILING
| <translate><!--T:375--> Returns a number that is rounded up to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|LCM
| <translate><!--T:376--> Returns the least common multiple</translate> || ||
|-
!scope="row"|LN
| <translate><!--T:377--> Returns the natural logarithm of a number</translate> || ||
|-
!scope="row"|LOG
| <translate><!--T:378--> Returns the logarithm of a number to a specified base</translate> || ||
|-
!scope="row"|LOG10
| <translate><!--T:379--> Returns the base-10 logarithm of a number</translate> || ||
|-
!scope="row"|MDETERM
| <translate><!--T:380--> Returns the matrix determinant of an array</translate> || ||
|-
!scope="row"|MINVERSE
| <translate><!--T:381--> Returns the matrix inverse of an array</translate> || ||
|-
!scope="row"|MMULT
| <translate><!--T:382--> Returns the matrix product of two arrays</translate> || ||
|-
!scope="row"|MOD
| <translate><!--T:383--> Returns the remainder from division</translate> || [[Z12476]]||
|-
!scope="row"|MROUND
| <translate><!--T:384--> Returns a number rounded to the desired multiple</translate> || ||
|-
!scope="row"|MULTINOMIAL
| <translate><!--T:385--> Returns the multinomial of a set of numbers</translate> || ||
|-
!scope="row"|MUNIT
| <translate><!--T:386--> Returns the unit matrix or the specified dimension</translate> || ||
|-
!scope="row"|ODD
| <translate><!--T:387--> Rounds a number up to the nearest odd integer</translate> || ||
|-
!scope="row"|PI
| <translate><!--T:388--> Returns the value of pi</translate> || [[Z10857]]||
|-
!scope="row"|POWER
| <translate><!--T:389--> Returns the result of a number raised to a power</translate> || ||
|-
!scope="row"|PRODUCT
| <translate><!--T:390--> Multiplies its arguments</translate> || [[Z10862]]||
|-
!scope="row"|QUOTIENT
| <translate><!--T:391--> Returns the integer portion of a division</translate> || [[Z12522]]||
|-
!scope="row"|RADIANS
| <translate><!--T:392--> Converts degrees to radians</translate> || ||
|-
!scope="row"|RAND
| <translate><!--T:393--> Returns a random number between 0 and 1</translate> || ||
|-
!scope="row"|RANDARRAY
| <translate><!--T:394--> Returns an array of random numbers between 0 and 1. However, you can specify the number of rows and columns to fill, minimum and maximum values, and whether to return whole numbers or decimal values.</translate> || ||
|-
!scope="row"|RANDBETWEEN
| <translate><!--T:395--> Returns a random number between the numbers you specify</translate> || ||
|-
!scope="row"|ROMAN
| <translate><!--T:396--> Converts an arabic numeral to roman, as text</translate> || [[Z11022]]||
|-
!scope="row"|ROUND
| <translate><!--T:397--> Rounds a number to a specified number of digits</translate> || ||
|-
!scope="row"|ROUNDDOWN
| <translate><!--T:398--> Rounds a number down, toward zero</translate> || ||
|-
!scope="row"|ROUNDUP
| <translate><!--T:399--> Rounds a number up, away from zero</translate> || ||
|-
!scope="row"|SEC
| <translate><!--T:400--> Returns the secant of an angle</translate> || ||
|-
!scope="row"|SECH
| <translate><!--T:401--> Returns the hyperbolic secant of an angle</translate> || ||
|-
!scope="row"|SEQUENCE
| <translate><!--T:402--> Generates a list of sequential numbers in an array, such as 1, 2, 3, 4</translate> || ||
|-
!scope="row"|SERIESSUM
| <translate><!--T:403--> Returns the sum of a power series based on the formula</translate> || ||
|-
!scope="row"|SIGN
| <translate><!--T:404--> Returns the sign of a number</translate> || ||
|-
!scope="row"|SIN
| <translate><!--T:405--> Returns the sine of the given angle</translate> || ||
|-
!scope="row"|SINH
| <translate><!--T:406--> Returns the hyperbolic sine of a number</translate> || ||
|-
!scope="row"|SQRT
| <translate><!--T:407--> Returns a positive square root</translate> || ||
|-
!scope="row"|SQRTPI
| <translate><!--T:408--> Returns the square root of (number * pi)</translate> || ||
|-
!scope="row"|SUBTOTAL
| <translate><!--T:409--> Returns a subtotal in a list or database</translate> || ||
|-
!scope="row"|SUM
| <translate><!--T:410--> Adds its arguments</translate> || ||
|-
!scope="row"|SUMIF
| <translate><!--T:411--> Adds the cells specified by a given criteria</translate> || ||
|-
!scope="row"|SUMIFS
| <translate><!--T:412--> Adds the cells in a range that meet multiple criteria</translate> || ||
|-
!scope="row"|SUMPRODUCT
| <translate><!--T:413--> Returns the sum of the products of corresponding array components</translate> || ||
|-
!scope="row"|SUMSQ
| <translate><!--T:414--> Returns the sum of the squares of the arguments</translate> || ||
|-
!scope="row"|SUMX2MY2
| <translate><!--T:415--> Returns the sum of the difference of squares of corresponding values in two arrays</translate> || ||
|-
!scope="row"|SUMX2PY2
| <translate><!--T:416--> Returns the sum of the sum of squares of corresponding values in two arrays</translate> || ||
|-
!scope="row"|SUMXMY2
| <translate><!--T:417--> Returns the sum of squares of differences of corresponding values in two arrays</translate> || ||
|-
!scope="row"|TAN
| <translate><!--T:418--> Returns the tangent of a number</translate> || ||
|-
!scope="row"|TANH
| <translate><!--T:419--> Returns the hyperbolic tangent of a number</translate> || ||
|-
!scope="row"|TRUNC
| <translate><!--T:420--> Truncates a number to an integer</translate> || ||
|}
<translate>
== Statistical == <!--T:421-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:422--> List of statistical Excel functions</translate>
!scope="col"| <translate><!--T:423--> Function name</translate>
!scope="col"| <translate><!--T:424--> Description</translate>
!scope="col"| <translate><!--T:425--> ZID</translate>
!scope="col"| <translate><!--T:426--> Note</translate>
|-
!scope="row"|AVEDEV
| <translate><!--T:427--> Returns the average of the absolute deviations of data points from their mean</translate> || ||
|-
!scope="row"|AVERAGE
| <translate><!--T:428--> Returns the average of its arguments</translate> || ||
|-
!scope="row"|AVERAGEA
| <translate><!--T:429--> Returns the average of its arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|AVERAGEIF
| <translate><!--T:430--> Returns the average (arithmetic mean) of all the cells in a range that meet a given criteria</translate> || ||
|-
!scope="row"|AVERAGEIFS
| <translate><!--T:431--> Returns the average (arithmetic mean) of all cells that meet multiple criteria.</translate> || ||
|-
!scope="row"|BETA.DIST
| <translate><!--T:432--> Returns the beta cumulative distribution function</translate> || ||
|-
!scope="row"|BETA.INV
| <translate><!--T:433--> Returns the inverse of the cumulative distribution function for a specified beta distribution</translate> || ||
|-
!scope="row"|BINOM.DIST
| <translate><!--T:434--> Returns the individual term binomial distribution probability</translate> || ||
|-
!scope="row"|BINOM.DIST.RANGE
| <translate><!--T:435--> Returns the probability of a trial result using a binomial distribution</translate> || ||
|-
!scope="row"|BINOM.INV
| <translate><!--T:436--> Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value</translate> || ||
|-
!scope="row"|CHISQ.DIST
| <translate><!--T:437--> Returns the cumulative beta probability density function</translate> || ||
|-
!scope="row"|CHISQ.DIST.RT
| <translate><!--T:438--> Returns the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHISQ.INV
| <translate><!--T:439--> Returns the cumulative beta probability density function</translate> || ||
|-
!scope="row"|CHISQ.INV.RT
| <translate><!--T:440--> Returns the inverse of the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHISQ.TEST
| <translate><!--T:441--> Returns the test for independence</translate> || ||
|-
!scope="row"|CONFIDENCE.NORM
| <translate><!--T:442--> Returns the confidence interval for a population mean</translate> || ||
|-
!scope="row"|CONFIDENCE.T
| <translate><!--T:443--> Returns the confidence interval for a population mean, using a Student's t distribution</translate> || ||
|-
!scope="row"|CORREL
| <translate><!--T:444--> Returns the correlation coefficient between two data sets</translate> || ||
|-
!scope="row"|COUNT
| <translate><!--T:445--> Counts how many numbers are in the list of arguments</translate> || ||
|-
!scope="row"|COUNTA
| <translate><!--T:446--> Counts how many values are in the list of arguments</translate> || ||
|-
!scope="row"|COUNTBLANK
| <translate><!--T:447--> Counts the number of blank cells within a range</translate> || ||
|-
!scope="row"|COUNTIF
| <translate><!--T:448--> Counts the number of cells within a range that meet the given criteria</translate> || ||
|-
!scope="row"|COUNTIFS
| <translate><!--T:449--> Counts the number of cells within a range that meet multiple criteria</translate> || ||
|-
!scope="row"|COVARIANCE.P
| <translate><!--T:450--> Returns covariance, the average of the products of paired deviations</translate> || ||
|-
!scope="row"|COVARIANCE.S
| <translate><!--T:451--> Returns the sample covariance, the average of the products deviations for each data point pair in two data sets</translate> || ||
|-
!scope="row"|DEVSQ
| <translate><!--T:452--> Returns the sum of squares of deviations</translate> || ||
|-
!scope="row"|EXPON.DIST
| <translate><!--T:453--> Returns the exponential distribution</translate> || ||
|-
!scope="row"|F.DIST
| <translate><!--T:454--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|F.DIST.RT
| <translate><!--T:455--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|F.INV
| <translate><!--T:456--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|F.INV.RT
| <translate><!--T:457--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|FISHER
| <translate><!--T:458--> Returns the Fisher transformation</translate> || ||
|-
!scope="row"|FISHERINV
| <translate><!--T:459--> Returns the inverse of the Fisher transformation</translate> || ||
|-
!scope="row"|FORECAST
| <translate><!--T:460--> Returns a value along a linear trend</translate> || ||
|-
!scope="row"|FORECAST.ETS
| <translate><!--T:461--> Returns a future value based on existing (historical) values by using the AAA version of the Exponential Smoothing (ETS) algorithm</translate> || ||
|-
!scope="row"|FORECAST.ETS.CONFINT
| <translate><!--T:462--> Returns a confidence interval for the forecast value at the specified target date</translate> || ||
|-
!scope="row"|FORECAST.ETS.SEASONALITY
| <translate><!--T:463--> Returns the length of the repetitive pattern Excel detects for the specified time series</translate> || ||
|-
!scope="row"|FORECAST.ETS.STAT
| <translate><!--T:464--> Returns a statistical value as a result of time series forecasting</translate> || ||
|-
!scope="row"|FORECAST.LINEAR
| <translate><!--T:465--> Returns a future value based on existing values</translate> || ||
|-
!scope="row"|FREQUENCY
| <translate><!--T:466--> Returns a frequency distribution as a vertical array</translate> || ||
|-
!scope="row"|F.TEST
| <translate><!--T:467--> Returns the result of an F-test</translate> || ||
|-
!scope="row"|GAMMA
| <translate><!--T:468--> Returns the Gamma function value</translate> || ||
|-
!scope="row"|GAMMA.DIST
| <translate><!--T:469--> Returns the gamma distribution</translate> || ||
|-
!scope="row"|GAMMA.INV
| <translate><!--T:470--> Returns the inverse of the gamma cumulative distribution</translate> || ||
|-
!scope="row"|GAMMALN
| <translate><!--T:471--> Returns the natural logarithm of the gamma function, Γ(x)</translate> || ||
|-
!scope="row"|GAMMALN.PRECISE
| <translate><!--T:472--> Returns the natural logarithm of the gamma function, Γ(x)</translate> || ||
|-
!scope="row"|GAUSS
| <translate><!--T:473--> Returns 0.5 less than the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|GEOMEAN
| <translate><!--T:474--> Returns the geometric mean</translate> || ||
|-
!scope="row"|GROWTH
| <translate><!--T:475--> Returns values along an exponential trend</translate> || ||
|-
!scope="row"|HARMEAN
| <translate><!--T:476--> Returns the harmonic mean</translate> || ||
|-
!scope="row"|HYPGEOM.DIST
| <translate><!--T:477--> Returns the hypergeometric distribution</translate> || ||
|-
!scope="row"|INTERCEPT
| <translate><!--T:478--> Returns the intercept of the linear regression line</translate> || ||
|-
!scope="row"|KURT
| <translate><!--T:479--> Returns the kurtosis of a data set</translate> || ||
|-
!scope="row"|LARGE
| <translate><!--T:480--> Returns the k-th largest value in a data set</translate> || ||
|-
!scope="row"|LINEST
| <translate><!--T:481--> Returns the parameters of a linear trend</translate> || ||
|-
!scope="row"|LOGEST
| <translate><!--T:482--> Returns the parameters of an exponential trend</translate> || ||
|-
!scope="row"|LOGNORM.DIST
| <translate><!--T:483--> Returns the cumulative lognormal distribution</translate> || ||
|-
!scope="row"|LOGNORM.INV
| <translate><!--T:484--> Returns the inverse of the lognormal cumulative distribution</translate> || ||
|-
!scope="row"|MAX
| <translate><!--T:485--> Returns the maximum value in a list of arguments</translate> || ||
|-
!scope="row"|MAXA
| <translate><!--T:486--> Returns the maximum value in a list of arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|MAXIFS
| <translate><!--T:487--> Returns the maximum value among cells specified by a given set of conditions or criteria</translate> || ||
|-
!scope="row"|MEDIAN
| <translate><!--T:488--> Returns the median of the given numbers</translate> || ||
|-
!scope="row"|MIN
| <translate><!--T:489--> Returns the minimum value in a list of arguments</translate> || ||
|-
!scope="row"|MINIFS
| <translate><!--T:490--> Returns the minimum value among cells specified by a given set of conditions or criteria.</translate> || ||
|-
!scope="row"|MINA
| <translate><!--T:491--> Returns the smallest value in a list of arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|MODE.MULT
| <translate><!--T:492--> Returns a vertical array of the most frequently occurring, or repetitive values in an array or range of data</translate> || ||
|-
!scope="row"|MODE.SNGL
| <translate><!--T:493--> Returns the most common value in a data set</translate> || ||
|-
!scope="row"|NEGBINOM.DIST
| <translate><!--T:494--> Returns the negative binomial distribution</translate> || ||
|-
!scope="row"|NORM.DIST
| <translate><!--T:495--> Returns the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMINV
| <translate><!--T:496--> Returns the inverse of the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.S.DIST
| <translate><!--T:497--> Returns the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.S.INV
| <translate><!--T:498--> Returns the inverse of the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|PEARSON
| <translate><!--T:499--> Returns the Pearson product moment correlation coefficient</translate> || ||
|-
!scope="row"|PERCENTILE.EXC
| <translate><!--T:500--> Returns the k-th percentile of values in a range, where k is in the range 0..1, exclusive</translate> || ||
|-
!scope="row"|PERCENTILE.INC
| <translate><!--T:501--> Returns the k-th percentile of values in a range</translate> || ||
|-
!scope="row"|PERCENTRANK.EXC
| <translate><!--T:502--> Returns the rank of a value in a data set as a percentage (0..1, exclusive) of the data set</translate> || ||
|-
!scope="row"|PERCENTRANK.INC
| <translate><!--T:503--> Returns the percentage rank of a value in a data set</translate> || ||
|-
!scope="row"|PERMUT
| <translate><!--T:504--> Returns the number of permutations for a given number of objects</translate> || ||
|-
!scope="row"|PERMUTATIONA
| <translate><!--T:505--> Returns the number of permutations for a given number of objects (with repetitions) that can be selected from the total objects</translate> || ||
|-
!scope="row"|PHI
| <translate><!--T:506--> Returns the value of the density function for a standard normal distribution</translate> || ||
|-
!scope="row"|POISSON.DIST
| <translate><!--T:507--> Returns the Poisson distribution</translate> || ||
|-
!scope="row"|PROB
| <translate><!--T:508--> Returns the probability that values in a range are between two limits</translate> || ||
|-
!scope="row"|QUARTILE.EXC
| <translate><!--T:509--> Returns the quartile of the data set, based on percentile values from 0..1, exclusive</translate> || ||
|-
!scope="row"|QUARTILE.INC
| <translate><!--T:510--> Returns the quartile of a data set</translate> || ||
|-
!scope="row"|RANK.AVG
| <translate><!--T:511--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|RANK.EQ
| <translate><!--T:512--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|RSQ
| <translate><!--T:513--> Returns the square of the Pearson product moment correlation coefficient</translate> || ||
|-
!scope="row"|SKEW
| <translate><!--T:514--> Returns the skewness of a distribution</translate> || ||
|-
!scope="row"|SKEW.P
| <translate><!--T:515--> Returns the skewness of a distribution based on a population: a characterization of the degree of asymmetry of a distribution around its mean</translate> || ||
|-
!scope="row"|SLOPE
| <translate><!--T:516--> Returns the slope of the linear regression line</translate> || ||
|-
!scope="row"|SMALL
| <translate><!--T:517--> Returns the k-th smallest value in a data set</translate> || ||
|-
!scope="row"|STANDARDIZE
| <translate><!--T:518--> Returns a normalized value</translate> || ||
|-
!scope="row"|STDEV.P
| <translate><!--T:519--> Calculates standard deviation based on the entire population</translate> || ||
|-
!scope="row"|STDEV.S
| <translate><!--T:520--> Estimates standard deviation based on a sample</translate> || ||
|-
!scope="row"|STDEVA
| <translate><!--T:521--> Estimates standard deviation based on a sample, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|STDEVPA
| <translate><!--T:522--> Calculates standard deviation based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|STEYX
| <translate><!--T:523--> Returns the standard error of the predicted y-value for each x in the regression</translate> || ||
|-
!scope="row"|T.DIST
| <translate><!--T:524--> Returns the Percentage Points (probability) for the Student t-distribution</translate> || ||
|-
!scope="row"|T.DIST.2T
| <translate><!--T:525--> Returns the Percentage Points (probability) for the Student t-distribution</translate> || ||
|-
!scope="row"|T.DIST.RT
| <translate><!--T:526--> Returns the Student's t-distribution</translate> || ||
|-
!scope="row"|T.INV
| <translate><!--T:527--> Returns the t-value of the Student's t-distribution as a function of the probability and the degrees of freedom</translate> || ||
|-
!scope="row"|T.INV.2T
| <translate><!--T:528--> Returns the inverse of the Student's t-distribution</translate> || ||
|-
!scope="row"|TREND
| <translate><!--T:529--> Returns values along a linear trend</translate> || ||
|-
!scope="row"|TRIMMEAN
| <translate><!--T:530--> Returns the mean of the interior of a data set</translate> || ||
|-
!scope="row"|T.TEST
| <translate><!--T:531--> Returns the probability associated with a Student's t-test</translate> || ||
|-
!scope="row"|VAR.P
| <translate><!--T:532--> Calculates variance based on the entire population</translate> || ||
|-
!scope="row"|VAR.S
| <translate><!--T:533--> Estimates variance based on a sample</translate> || ||
|-
!scope="row"|VARA
| <translate><!--T:534--> Estimates variance based on a sample, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|VARPA
| <translate><!--T:535--> Calculates variance based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|WEIBULL.DIST
| <translate><!--T:536--> Returns the Weibull distribution</translate> || ||
|-
!scope="row"|Z.TEST
| <translate><!--T:537--> Returns the one-tailed probability-value of a z-test</translate> || ||
|}
<translate>
== Text == <!--T:538-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:539--> List of text Excel functions</translate>
!scope="col"| <translate><!--T:540--> Function name</translate>
!scope="col"| <translate><!--T:541--> Description</translate>
!scope="col"| <translate><!--T:542--> ZID</translate>
!scope="col"| <translate><!--T:543--> Note</translate>
|-
!scope="row"|ARRAYTOTEXT
| <translate><!--T:544--> Returns an array of text values from any specified range</translate> || ||
|-
!scope="row"|ASC
| <translate><!--T:545--> Changes full-width (double-byte) English letters or katakana within a character string to half-width (single-byte) characters</translate> || ||
|-
!scope="row"|BAHTTEXT
| <translate><!--T:546--> Converts a number to text, using the ß (baht) currency format</translate> || ||
|-
!scope="row"|CHAR
| <translate><!--T:547--> Returns the character specified by the code number</translate> || ||
|-
!scope="row"|CLEAN
| <translate><!--T:548--> Removes all nonprintable characters from text</translate> || ||
|-
!scope="row"|CODE
| <translate><!--T:549--> Returns a numeric code for the first character in a text string</translate> || ||
|-
!scope="row"|CONCAT
| <translate><!--T:550--> Combines the text from multiple ranges and/or strings, but it doesn't provide the delimiter or IgnoreEmpty arguments.</translate> || {{Z+|Z10000}} || <translate><!--T:551--> WF only takes two strings</translate>
|-
!scope="row"|CONCATENATE
| <translate><!--T:552--> Joins several text items into one text item</translate> || {{Z+|Z10000}} ||
|-
!scope="row"|DBCS
| <translate><!--T:553--> Changes half-width (single-byte) English letters or katakana within a character string to full-width (double-byte) characters</translate> || ||
|-
!scope="row"|DOLLAR
| <translate><!--T:554--> Converts a number to text, using the $ (dollar) currency format</translate> || ||
|-
!scope="row"|EXACT
| <translate><!--T:555--> Checks to see if two text values are identical</translate> || {{Z+|Z866}} ||
|-
!scope="row"|FIND, FINDBs
| <translate><!--T:556--> Finds one text value within another (case-sensitive)</translate> || ||
|-
!scope="row"|FIXED
| <translate><!--T:557--> Formats a number as text with a fixed number of decimals</translate> || ||
|-
!scope="row"|JIS
| <translate><!--T:558--> Changes half-width (single-byte) characters within a string to full-width (double-byte) characters</translate> || ||
|-
!scope="row"|LEFT, LEFTBs
| <translate><!--T:559--> Returns the leftmost characters from a text value</translate> || ||
|-
!scope="row"|LEN, LENBs
| <translate><!--T:560--> Returns the number of characters in a text string</translate> || ||
|-
!scope="row"|LOWER
| <translate><!--T:561--> Converts text to lowercase</translate> || {{Z+|Z10047}} ||
|-
!scope="row"|MID, MIDBs
| <translate><!--T:562--> Returns a specific number of characters from a text string starting at the position you specify</translate> || ||
|-
!scope="row"|NUMBERVALUE
| <translate><!--T:563--> Converts text to number in a locale-independent manner</translate> || ||
|-
!scope="row"|PHONETIC
| <translate><!--T:564--> Extracts the phonetic (furigana) characters from a text string</translate> || ||
|-
!scope="row"|PROPER
| <translate><!--T:565--> Capitalizes the first letter in each word of a text value</translate> || {{Z+|Z10251}} ||
|-
!scope="row"|REPLACE, REPLACEBs
| <translate><!--T:566--> Replaces characters within text</translate> || ||
|-
!scope="row"|REPT
| <translate><!--T:567--> Repeats text a given number of times</translate> || {{Z+|Z10911}} ||
|-
!scope="row"|RIGHT, RIGHTBs
| <translate><!--T:568--> Returns the rightmost characters from a text value</translate> || ||
|-
!scope="row"|SEARCH, SEARCHBs
| <translate><!--T:569--> Finds one text value within another (not case-sensitive)</translate> || ||
|-
!scope="row"|SUBSTITUTE
| <translate><!--T:570--> Substitutes new text for old text in a text string</translate> || {{Z+|Z10075}} ||
|-
!scope="row"|T
| <translate><!--T:571--> Converts its arguments to text</translate> || ||
|-
!scope="row"|TEXT
| <translate><!--T:572--> Formats a number and converts it to text</translate> || ||
|-
!scope="row"|TEXTAFTER
| <translate><!--T:573--> Returns text that occurs after given character or string</translate> || {{Z+|Z11412}} {{Z+|Z11416}} || <translate><!--T:574--> Excel has parameters to choose last (or Nth)</translate>
|-
!scope="row"|TEXTBEFORE
| <translate><!--T:575--> Returns text that occurs before a given character or string</translate> || {{Z+|Z11418}} {{Z+|Z11422}} || <translate><!--T:576--> Excel has parameters to choose last (or Nth)</translate>
|-
!scope="row"|TEXTJOIN
| <translate><!--T:577--> Combines the text from multiple ranges and/or strings</translate> || ||
|-
!scope="row"|TEXTSPLIT
| <translate><!--T:578--> Splits text strings by using column and row delimiters</translate> || ||
|-
!scope="row"|TRIM
| <translate><!--T:579--> Removes spaces from text</translate> || {{Z+|Z10079}} ||
|-
!scope="row"|UNICHAR
| <translate><!--T:580--> Returns the Unicode character that is references by the given numeric value</translate> || {{Z+|Z11534}} ||
|-
!scope="row"|UNICODE
| <translate><!--T:581--> Returns the number (code point) that corresponds to the first character of the text</translate> || {{Z+|Z11515}} ||
|-
!scope="row"|UPPER
| <translate><!--T:582--> Converts text to uppercase</translate> || {{Z+|Z10018}} ||
|-
!scope="row"|VALUE
| <translate><!--T:583--> Converts a text argument to a number</translate> || ||
|-
!scope="row"|VALUETOTEXT
| <translate><!--T:584--> Returns text from any specified value</translate> || ||
|-
!scope="row"|ENCODEURL
| <translate><!--T:585--> Returns a URL-encoded string</translate> || {{Z+|Z10761}} ||
|-
!scope="row"|FILTERXML
| <translate><!--T:586--> Returns specific data from the XML content by using the specified XPath</translate> || ||
|-
!scope="row"|WEBSERVICE
| <translate><!--T:587--> Returns data from a web service.</translate>
|
|
|}
[[Category:Lists of functions]]
ex5fi9tlgyik1kg6aejlcwyg5wyvcj3
142757
142743
2024-12-01T00:45:38Z
Feeglgeef
8776
add some impossibility markers for my sanity
142757
wikitext
text/x-wiki
<languages/>
<translate>
<!--T:1-->
{{w|Microsoft Excel}} functions include the following.
== Add-in and automation == <!--T:2-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:3--> List of add-in and automation Excel functions</translate>
!scope="col"| <translate><!--T:4--> Function name</translate>
!scope="col"| <translate><!--T:5--> Description</translate>
!scope="col"| <translate><!--T:6--> ZID</translate>
!scope="col"| <translate><!--T:7--> Note</translate>
|-
!scope="row"|CALL
| <translate><!--T:8--> Calls a procedure in a dynamic link library or code resource</translate> || ||
|-
!scope="row"|EUROCONVERT
| <translate><!--T:9--> Converts a number to euros, converts a number from euros to a euro member currency, or converts a number from one euro member currency to another by using the euro as an intermediary (triangulation).</translate> || ||
|-
!scope="row"|REGISTER.ID
| <translate><!--T:10--> Returns the register ID of the specified dynamic link library (DLL) or code resource that has been previously registered</translate> || ||
|}
<translate>
== Compatibility == <!--T:11-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:12--> List of compatibility Excel functions</translate>
!scope="col"| <translate><!--T:13--> Function name</translate>
!scope="col"| <translate><!--T:14--> Description</translate>
!scope="col"| <translate><!--T:15--> ZID</translate>
!scope="col"| <translate><!--T:16--> Note</translate>
|-
!scope="row"|BETADIST
| <translate><!--T:17--> Returns the beta cumulative distribution function</translate> || ||
|-
!scope="row"|BETAINV
| <translate><!--T:18--> Returns the inverse of the cumulative distribution function for a specified beta distribution</translate> || ||
|-
!scope="row"|BINOMDIST
| <translate><!--T:19--> Returns the individual term binomial distribution probability</translate> || ||
|-
!scope="row"|CEILING
| <translate><!--T:20--> Rounds a number to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|CHIDIST
| <translate><!--T:21--> Returns the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHIINV
| <translate><!--T:22--> Returns the inverse of the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHITEST
| <translate><!--T:23--> Returns the test for independence</translate> || ||
|-
!scope="row"|CONFIDENCE
| <translate><!--T:24--> Returns the confidence interval for a population mean</translate> || ||
|-
!scope="row"|COVAR
| <translate><!--T:25--> Returns covariance, the average of the products of paired deviations</translate> || ||
|-
!scope="row"|CRITBINOM
| <translate><!--T:26--> Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value</translate> || ||
|-
!scope="row"|EXPONDIST
| <translate><!--T:27--> Returns the exponential distribution</translate> || ||
|-
!scope="row"|FDIST
| <translate><!--T:28--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|FINV
| <translate><!--T:29--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|FLOOR
| <translate><!--T:30--> Rounds a number down, toward zero</translate> || ||
|-
!scope="row"|FTEST
| <translate><!--T:31--> Returns the result of an F-test</translate> || ||
|-
!scope="row"|GAMMADIST
| <translate><!--T:32--> Returns the gamma distribution</translate> || ||
|-
!scope="row"|GAMMAINV
| <translate><!--T:33--> Returns the inverse of the gamma cumulative distribution</translate> || ||
|-
!scope="row"|HYPGEOMDIST
| <translate><!--T:34--> Returns the hypergeometric distribution</translate> || ||
|-
!scope="row"|LOGINV
| <translate><!--T:35--> Returns the inverse of the lognormal cumulative distribution</translate> || ||
|-
!scope="row"|LOGNORMDIST
| <translate><!--T:36--> Returns the cumulative lognormal distribution</translate> || ||
|-
!scope="row"|MODE
| <translate><!--T:37--> Returns the most common value in a data set</translate> || ||
|-
!scope="row"|NEGBINOMDIST
| <translate><!--T:38--> Returns the negative binomial distribution</translate> || ||
|-
!scope="row"|NORMDIST
| <translate><!--T:39--> Returns the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.INV
| <translate><!--T:40--> Returns the inverse of the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMSDIST
| <translate><!--T:41--> Returns the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMSINV
| <translate><!--T:42--> Returns the inverse of the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|PERCENTILE
| <translate><!--T:43--> Returns the k-th percentile of values in a range</translate> || ||
|-
!scope="row"|PERCENTRANK
| <translate><!--T:44--> Returns the percentage rank of a value in a data set</translate> || ||
|-
!scope="row"|POISSON
| <translate><!--T:45--> Returns the Poisson distribution</translate> || ||
|-
!scope="row"|QUARTILE
| <translate><!--T:46--> Returns the quartile of a data set</translate> || ||
|-
!scope="row"|RANK
| <translate><!--T:47--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|STDEV
| <translate><!--T:48--> Estimates standard deviation based on a sample</translate> || ||
|-
!scope="row"|STDEVP
| <translate><!--T:49--> Calculates standard deviation based on the entire population</translate> || ||
|-
!scope="row"|TDIST
| <translate><!--T:50--> Returns the Student's t-distribution</translate> || ||
|-
!scope="row"|TINV
| <translate><!--T:51--> Returns the inverse of the Student's t-distribution</translate> || ||
|-
!scope="row"|TTEST
| <translate><!--T:52--> Returns the probability associated with a Student's t-test</translate> || ||
|-
!scope="row"|VAR
| <translate><!--T:53--> Estimates variance based on a sample</translate> || ||
|-
!scope="row"|VARP
| <translate><!--T:54--> Calculates variance based on the entire population</translate> || ||
|-
!scope="row"|WEIBULL
| <translate><!--T:55--> Calculates variance based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|ZTEST
| <translate><!--T:56--> Returns the one-tailed probability-value of a z-test</translate> || ||
|}
<translate>
== Cube == <!--T:57-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:58--> List of cube Excel functions</translate>
!scope="col"| <translate><!--T:59--> Function name</translate>
!scope="col"| <translate><!--T:60--> Description</translate>
!scope="col"| <translate><!--T:61--> ZID</translate>
!scope="col"| <translate><!--T:62--> Note</translate>
|-
!scope="row"|CUBEKPIMEMBER
| <translate><!--T:63--> Returns a key performance indicator (KPI) name, property, and measure, and displays the name and property in the cell. A KPI is a quantifiable measurement, such as monthly gross profit or quarterly employee turnover, used to monitor an organization's performance.</translate> || ||
|-
!scope="row"|CUBEMEMBER
| <translate><!--T:64--> Returns a member or tuple in a cube hierarchy. Use to validate that the member or tuple exists in the cube.</translate> || ||
|-
!scope="row"|CUBEMEMBERPROPERTY
| <translate><!--T:65--> Returns the value of a member property in the cube. Use to validate that a member name exists within the cube and to return the specified property for this member.</translate> || ||
|-
!scope="row"|CUBERANKEDMEMBER
| <translate><!--T:66--> Returns the nth, or ranked, member in a set. Use to return one or more elements in a set, such as the top sales performer or top 10 students.</translate> || ||
|-
!scope="row"|CUBESET
| <translate><!--T:67--> Defines a calculated set of members or tuples by sending a set expression to the cube on the server, which creates the set, and then returns that set to Microsoft Office Excel.</translate> || ||
|-
!scope="row"|CUBESETCOUNT
| <translate><!--T:68--> Returns the number of items in a set.</translate> || ||
|-
!scope="row"|CUBEVALUE
| <translate><!--T:69--> Returns an aggregated value from a cube.</translate> || ||
|}
<translate>
== Database == <!--T:70-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:71--> List of database Excel functions</translate>
!scope="col"| <translate><!--T:72--> Function name</translate>
!scope="col"| <translate><!--T:73--> Description</translate>
!scope="col"| <translate><!--T:74--> ZID</translate>
!scope="col"| <translate><!--T:75--> Note</translate>
|-
!scope="row"|DAVERAGE
| <translate><!--T:76--> Returns the average of selected database entries</translate> || ||
|-
!scope="row"|DCOUNT
| <translate><!--T:77--> Counts the cells that contain numbers in a database</translate> || ||
|-
!scope="row"|DCOUNTA
| <translate><!--T:78--> Counts nonblank cells in a database</translate> || ||
|-
!scope="row"|DGET
| <translate><!--T:79--> Extracts from a database a single record that matches the specified criteria</translate> || ||
|-
!scope="row"|DMAX
| <translate><!--T:80--> Returns the maximum value from selected database entries</translate> || ||
|-
!scope="row"|DMIN
| <translate><!--T:81--> Returns the minimum value from selected database entries</translate> || ||
|-
!scope="row"|DPRODUCT
| <translate><!--T:82--> Multiplies the values in a particular field of records that match the criteria in a database</translate> || ||
|-
!scope="row"|DSTDEV
| <translate><!--T:83--> Estimates the standard deviation based on a sample of selected database entries</translate> || ||
|-
!scope="row"|DSTDEVP
| <translate><!--T:84--> Calculates the standard deviation based on the entire population of selected database entries</translate> || ||
|-
!scope="row"|DSUM
| <translate><!--T:85--> Adds the numbers in the field column of records in the database that match the criteria</translate> || ||
|-
!scope="row"|DVAR
| <translate><!--T:86--> Estimates variance based on a sample from selected database entries</translate> || ||
|-
!scope="row"|DVARP
| <translate><!--T:87--> Calculates variance based on the entire population of selected database entries</translate> || ||
|}
<translate>
== Date and time == <!--T:88-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:89--> List of date and time Excel functions</translate>
!scope="col"| <translate><!--T:90--> Function name</translate>
!scope="col"| <translate><!--T:91--> Description</translate>
!scope="col"| <translate><!--T:92--> ZID</translate>
!scope="col"| <translate><!--T:93--> Note</translate>
|-
!scope="row"|DATE
| <translate><!--T:94--> Returns the serial number of a particular date</translate> || ||
|-
!scope="row"|DATEDIF
| <translate><!--T:95--> Calculates the number of days, months, or years between two dates. This function is useful in formulas where you need to calculate an age.</translate> || ||
|-
!scope="row"|DATEVALUE
| <translate><!--T:96--> Converts a date in the form of text to a serial number</translate> || ||
|-
!scope="row"|DAY
| <translate><!--T:97--> Converts a serial number to a day of the month</translate> || ||
|-
!scope="row"|DAYS
| <translate><!--T:98--> Returns the number of days between two dates</translate> || ||
|-
!scope="row"|DAYS360
| <translate><!--T:99--> Calculates the number of days between two dates based on a 360-day year</translate> || ||
|-
!scope="row"|EDATE
| <translate><!--T:100--> Returns the serial number of the date that is the indicated number of months before or after the start date</translate> || ||
|-
!scope="row"|EOMONTH
| <translate><!--T:101--> Returns the serial number of the last day of the month before or after a specified number of months</translate> || ||
|-
!scope="row"|HOUR
| <translate><!--T:102--> Converts a serial number to an hour</translate> || ||
|-
!scope="row"|ISOWEEKNUM
| <translate><!--T:103--> Returns the number of the ISO week number of the year for a given date</translate> || ||
|-
!scope="row"|MINUTE
| <translate><!--T:104--> Converts a serial number to a minute</translate> || ||
|-
!scope="row"|MONTH
| <translate><!--T:105--> Converts a serial number to a month</translate> || ||
|-
!scope="row"|NETWORKDAYS
| <translate><!--T:106--> Returns the number of whole workdays between two dates</translate> || ||
|-
!scope="row"|NETWORKDAYS.INTL
| <translate><!--T:107--> Returns the number of whole workdays between two dates using parameters to indicate which and how many days are weekend days</translate> || ||
|-
!scope="row"|NOW
| <translate><!--T:108--> Returns the serial number of the current date and time</translate> || ||
|-
!scope="row"|SECOND
| <translate><!--T:109--> Converts a serial number to a second</translate> || ||
|-
!scope="row"|TIME
| <translate><!--T:110--> Returns the serial number of a particular time</translate> || ||
|-
!scope="row"|TIMEVALUE
| <translate><!--T:111--> Converts a time in the form of text to a serial number</translate> || ||
|-
!scope="row"|TODAY
| <translate><!--T:112--> Returns the serial number of today's date</translate> || ||
|-
!scope="row"|WEEKDAY
| <translate><!--T:113--> Converts a serial number to a day of the week</translate> || ||
|-
!scope="row"|WEEKNUM
| <translate><!--T:114--> Converts a serial number to a number representing where the week falls numerically with a year</translate> || ||
|-
!scope="row"|WORKDAY
| <translate><!--T:115--> Returns the serial number of the date before or after a specified number of workdays</translate> || ||
|-
!scope="row"|WORKDAY.INTL
| <translate><!--T:116--> Returns the serial number of the date before or after a specified number of workdays using parameters to indicate which and how many days are weekend days</translate> || ||
|-
!scope="row"|YEAR
| <translate><!--T:117--> Converts a serial number to a year</translate> || ||
|-
!scope="row"|YEARFRAC
| <translate><!--T:118--> Returns the year fraction representing the number of whole days between start_date and end_date</translate> || ||
|}
<translate>
== Engineering == <!--T:119-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:120--> List of engineering Excel functions</translate>
!scope="col"| <translate><!--T:121--> Function name</translate>
!scope="col"| <translate><!--T:122--> Description</translate>
!scope="col"| <translate><!--T:123--> ZID</translate>
!scope="col"| <translate><!--T:124--> Note</translate>
|-
!scope="row"|BESSELI
| <translate><!--T:125--> Returns the modified Bessel function In(x)</translate> || ||
|-
!scope="row"|BESSELJ
| <translate><!--T:126--> Returns the Bessel function Jn(x)</translate> || ||
|-
!scope="row"|BESSELK
| <translate><!--T:127--> Returns the modified Bessel function Kn(x)</translate> || ||
|-
!scope="row"|BESSELY
| <translate><!--T:128--> Returns the Bessel function Yn(x)</translate> || ||
|-
!scope="row"|BIN2DEC
| <translate><!--T:129--> Converts a binary number to decimal</translate> || ||
|-
!scope="row"|BIN2HEX
| <translate><!--T:130--> Converts a binary number to hexadecimal</translate> || ||
|-
!scope="row"|BIN2OCT
| <translate><!--T:131--> Converts a binary number to octal</translate> || ||
|-
!scope="row"|BITAND
| <translate><!--T:132--> Returns a 'Bitwise And' of two numbers</translate> || ||
|-
!scope="row"|BITLSHIFT
| <translate><!--T:133--> Returns a value number shifted left by shift_amount bits</translate> || ||
|-
!scope="row"|BITOR
| <translate><!--T:134--> Returns a bitwise OR of 2 numbers</translate> || ||
|-
!scope="row"|BITRSHIFT
| <translate><!--T:135--> Returns a value number shifted right by shift_amount bits</translate> || ||
|-
!scope="row"|BITXOR
| <translate><!--T:136--> Returns a bitwise 'Exclusive Or' of two numbers</translate> || ||
|-
!scope="row"|COMPLEX
| <translate><!--T:137--> Converts real and imaginary coefficients into a complex number</translate> || ||
|-
!scope="row"|CONVERT
| <translate><!--T:138--> Converts a number from one measurement system to another</translate> || ||
|-
!scope="row"|DEC2BIN
| <translate><!--T:139--> Converts a decimal number to binary</translate> || ||
|-
!scope="row"|DEC2HEX
| <translate><!--T:140--> Converts a decimal number to hexadecimal</translate> || ||
|-
!scope="row"|DEC2OCT
| <translate><!--T:141--> Converts a decimal number to octal</translate> || ||
|-
!scope="row"|DELTA
| <translate><!--T:142--> Tests whether two values are equal</translate> || ||
|-
!scope="row"|ERF
| <translate><!--T:143--> Returns the error function</translate> || ||
|-
!scope="row"|ERF.PRECISE
| <translate><!--T:144--> Returns the error function</translate> || ||
|-
!scope="row"|ERFC
| <translate><!--T:145--> Returns the complementary error function</translate> || ||
|-
!scope="row"|ERFC.PRECISE
| <translate><!--T:146--> Returns the complementary ERF function integrated between x and infinity</translate> || ||
|-
!scope="row"|GESTEP
| <translate><!--T:147--> Tests whether a number is greater than a threshold value</translate> || ||
|-
!scope="row"|HEX2BIN
| <translate><!--T:148--> Converts a hexadecimal number to binary</translate> || ||
|-
!scope="row"|HEX2DEC
| <translate><!--T:149--> Converts a hexadecimal number to decimal</translate> || ||
|-
!scope="row"|HEX2OCT
| <translate><!--T:150--> Converts a hexadecimal number to octal</translate> || ||
|-
!scope="row"|IMABS
| <translate><!--T:151--> Returns the absolute value (modulus) of a complex number</translate> || ||
|-
!scope="row"|IMAGINARY
| <translate><!--T:152--> Returns the imaginary coefficient of a complex number</translate> || ||
|-
!scope="row"|IMARGUMENT
| <translate><!--T:153--> Returns the argument theta, an angle expressed in radians</translate> || ||
|-
!scope="row"|IMCONJUGATE
| <translate><!--T:154--> Returns the complex conjugate of a complex number</translate> || ||
|-
!scope="row"|IMCOS
| <translate><!--T:155--> Returns the cosine of a complex number</translate> || ||
|-
!scope="row"|IMCOSH
| <translate><!--T:156--> Returns the hyperbolic cosine of a complex number</translate> || ||
|-
!scope="row"|IMCOT
| <translate><!--T:157--> Returns the cotangent of a complex number</translate> || ||
|-
!scope="row"|IMCSC
| <translate><!--T:158--> Returns the cosecant of a complex number</translate> || ||
|-
!scope="row"|IMCSCH
| <translate><!--T:159--> Returns the hyperbolic cosecant of a complex number</translate> || ||
|-
!scope="row"|IMDIV
| <translate><!--T:160--> Returns the quotient of two complex numbers</translate> || ||
|-
!scope="row"|IMEXP
| <translate><!--T:161--> Returns the exponential of a complex number</translate> || ||
|-
!scope="row"|IMLN
| <translate><!--T:162--> Returns the natural logarithm of a complex number</translate> || ||
|-
!scope="row"|IMLOG10
| <translate><!--T:163--> Returns the base-10 logarithm of a complex number</translate> || ||
|-
!scope="row"|IMLOG2
| <translate><!--T:164--> Returns the base-2 logarithm of a complex number</translate> || ||
|-
!scope="row"|IMPOWER
| <translate><!--T:165--> Returns a complex number raised to an integer power</translate> || ||
|-
!scope="row"|IMPRODUCT
| <translate><!--T:166--> Returns the product of complex numbers</translate> || ||
|-
!scope="row"|IMREAL
| <translate><!--T:167--> Returns the real coefficient of a complex number</translate> || ||
|-
!scope="row"|IMSEC
| <translate><!--T:168--> Returns the secant of a complex number</translate> || ||
|-
!scope="row"|IMSECH
| <translate><!--T:169--> Returns the hyperbolic secant of a complex number</translate> || ||
|-
!scope="row"|IMSIN
| <translate><!--T:170--> Returns the sine of a complex number</translate> || ||
|-
!scope="row"|IMSINH
| <translate><!--T:171--> Returns the hyperbolic sine of a complex number</translate> || ||
|-
!scope="row"|IMSQRT
| <translate><!--T:172--> Returns the square root of a complex number</translate> || ||
|-
!scope="row"|IMSUB
| <translate><!--T:173--> Returns the difference between two complex numbers</translate> || ||
|-
!scope="row"|IMSUM
| <translate><!--T:174--> Returns the sum of complex numbers</translate> || ||
|-
!scope="row"|IMTAN
| <translate><!--T:175--> Returns the tangent of a complex number</translate> || ||
|-
!scope="row"|OCT2BIN
| <translate><!--T:176--> Converts an octal number to binary</translate> || ||
|-
!scope="row"|OCT2DEC
| <translate><!--T:177--> Converts an octal number to decimal</translate> || ||
|-
!scope="row"|OCT2HEX
| <translate><!--T:178--> Converts an octal number to hexadecimal</translate> || ||
|}
<translate>
== Financial == <!--T:179-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:180--> List of financial Excel functions</translate>
!scope="col"| <translate><!--T:181--> Function name</translate>
!scope="col"| <translate><!--T:182--> Description</translate>
!scope="col"| <translate><!--T:183--> ZID</translate>
!scope="col"| <translate><!--T:184--> Note</translate>
|-
!scope="row"|ACCRINT
| <translate><!--T:185--> Returns the accrued interest for a security that pays periodic interest</translate> || ||
|-
!scope="row"|ACCRINTM
| <translate><!--T:186--> Returns the accrued interest for a security that pays interest at maturity</translate> || ||
|-
!scope="row"|AMORDEGRC
| <translate><!--T:187--> Returns the depreciation for each accounting period by using a depreciation coefficient</translate> || ||
|-
!scope="row"|AMORLINC
| <translate><!--T:188--> Returns the depreciation for each accounting period</translate> || ||
|-
!scope="row"|COUPDAYBS
| <translate><!--T:189--> Returns the number of days from the beginning of the coupon period to the settlement date</translate> || ||
|-
!scope="row"|COUPDAYS
| <translate><!--T:190--> Returns the number of days in the coupon period that contains the settlement date</translate> || ||
|-
!scope="row"|COUPDAYSNC
| <translate><!--T:191--> Returns the number of days from the settlement date to the next coupon date</translate> || ||
|-
!scope="row"|COUPNCD
| <translate><!--T:192--> Returns the next coupon date after the settlement date</translate> || ||
|-
!scope="row"|COUPNUM
| <translate><!--T:193--> Returns the number of coupons payable between the settlement date and maturity date</translate> || ||
|-
!scope="row"|COUPPCD
| <translate><!--T:194--> Returns the previous coupon date before the settlement date</translate> || ||
|-
!scope="row"|CUMIPMT
| <translate><!--T:195--> Returns the cumulative interest paid between two periods</translate> || ||
|-
!scope="row"|CUMPRINC
| <translate><!--T:196--> Returns the cumulative principal paid on a loan between two periods</translate> || ||
|-
!scope="row"|DB
| <translate><!--T:197--> Returns the depreciation of an asset for a specified period by using the fixed-declining balance method</translate> || ||
|-
!scope="row"|DDB
| <translate><!--T:198--> Returns the depreciation of an asset for a specified period by using the double-declining balance method or some other method that you specify</translate> || ||
|-
!scope="row"|DISC
| <translate><!--T:199--> Returns the discount rate for a security</translate> || ||
|-
!scope="row"|DOLLARDE
| <translate><!--T:200--> Converts a dollar price, expressed as a fraction, into a dollar price, expressed as a decimal number</translate> || ||
|-
!scope="row"|DOLLARFR
| <translate><!--T:201--> Converts a dollar price, expressed as a decimal number, into a dollar price, expressed as a fraction</translate> || ||
|-
!scope="row"|DURATION
| <translate><!--T:202--> Returns the annual duration of a security with periodic interest payments</translate> || ||
|-
!scope="row"|EFFECT
| <translate><!--T:203--> Returns the effective annual interest rate</translate> || ||
|-
!scope="row"|FV
| <translate><!--T:204--> Returns the future value of an investment</translate> || ||
|-
!scope="row"|FVSCHEDULE
| <translate><!--T:205--> Returns the future value of an initial principal after applying a series of compound interest rates</translate> || ||
|-
!scope="row"|INTRATE
| <translate><!--T:206--> Returns the interest rate for a fully invested security</translate> || ||
|-
!scope="row"|IPMT
| <translate><!--T:207--> Returns the interest payment for an investment for a given period</translate> || ||
|-
!scope="row"|IRR
| <translate><!--T:208--> Returns the internal rate of return for a series of cash flows</translate> || ||
|-
!scope="row"|ISPMT
| <translate><!--T:209--> Calculates the interest paid during a specific period of an investment</translate> || ||
|-
!scope="row"|MDURATION
| <translate><!--T:210--> Returns the Macauley modified duration for a security with an assumed par value of $100</translate> || ||
|-
!scope="row"|MIRR
| <translate><!--T:211--> Returns the internal rate of return where positive and negative cash flows are financed at different rates</translate> || ||
|-
!scope="row"|NOMINAL
| <translate><!--T:212--> Returns the annual nominal interest rate</translate> || ||
|-
!scope="row"|NPER
| <translate><!--T:213--> Returns the number of periods for an investment</translate> || ||
|-
!scope="row"|NPV
| <translate><!--T:214--> Returns the net present value of an investment based on a series of periodic cash flows and a discount rate</translate> || ||
|-
!scope="row"|ODDFPRICE
| <translate><!--T:215--> Returns the price per $100 face value of a security with an odd first period</translate> || ||
|-
!scope="row"|ODDFYIELD
| <translate><!--T:216--> Returns the yield of a security with an odd first period</translate> || ||
|-
!scope="row"|ODDLPRICE
| <translate><!--T:217--> Returns the price per $100 face value of a security with an odd last period</translate> || ||
|-
!scope="row"|ODDLYIELD
| <translate><!--T:218--> Returns the yield of a security with an odd last period</translate> || ||
|-
!scope="row"|PDURATION
| <translate><!--T:219--> Returns the number of periods required by an investment to reach a specified value</translate> || ||
|-
!scope="row"|PMT
| <translate><!--T:220--> Returns the periodic payment for an annuity</translate> || ||
|-
!scope="row"|PPMT
| <translate><!--T:221--> Returns the payment on the principal for an investment for a given period</translate> || ||
|-
!scope="row"|PRICE
| <translate><!--T:222--> Returns the price per $100 face value of a security that pays periodic interest</translate> || ||
|-
!scope="row"|PRICEDISC
| <translate><!--T:223--> Returns the price per $100 face value of a discounted security</translate> || ||
|-
!scope="row"|PRICEMAT
| <translate><!--T:224--> Returns the price per $100 face value of a security that pays interest at maturity</translate> || ||
|-
!scope="row"|PV
| <translate><!--T:225--> Returns the present value of an investment</translate> || ||
|-
!scope="row"|RATE
| <translate><!--T:226--> Returns the interest rate per period of an annuity</translate> || ||
|-
!scope="row"|RECEIVED
| <translate><!--T:227--> Returns the amount received at maturity for a fully invested security</translate> || ||
|-
!scope="row"|RRI
| <translate><!--T:228--> Returns an equivalent interest rate for the growth of an investment</translate> || ||
|-
!scope="row"|SLN
| <translate><!--T:229--> Returns the straight-line depreciation of an asset for one period</translate> || ||
|-
!scope="row"|STOCKHISTORY
| <translate><!--T:230--> Retrieves historical data about a financial instrument</translate> || ||
|-
!scope="row"|SYD
| <translate><!--T:231--> Returns the sum-of-years' digits depreciation of an asset for a specified period</translate> || ||
|-
!scope="row"|TBILLEQ
| <translate><!--T:232--> Returns the bond-equivalent yield for a Treasury bill</translate> || ||
|-
!scope="row"|TBILLPRICE
| <translate><!--T:233--> Returns the price per $100 face value for a Treasury bill</translate> || ||
|-
!scope="row"|TBILLYIELD
| <translate><!--T:234--> Returns the yield for a Treasury bill</translate> || ||
|-
!scope="row"|VDB
| <translate><!--T:235--> Returns the depreciation of an asset for a specified or partial period by using a declining balance method</translate> || ||
|-
!scope="row"|XIRR
| <translate><!--T:236--> Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic</translate> || ||
|-
!scope="row"|XNPV
| <translate><!--T:237--> Returns the net present value for a schedule of cash flows that is not necessarily periodic</translate> || ||
|-
!scope="row"|YIELD
| <translate><!--T:238--> Returns the yield on a security that pays periodic interest</translate> || ||
|-
!scope="row"|YIELDDISC
| <translate><!--T:239--> Returns the annual yield for a discounted security; for example, a Treasury bill</translate> || ||
|-
!scope="row"|YIELDMAT
| <translate><!--T:240--> Returns the annual yield of a security that pays interest at maturity</translate> || ||
|}
<translate>
== Information == <!--T:241-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:242--> List of information Excel functions</translate>
!scope="col"| <translate><!--T:243--> Function name</translate>
!scope="col"| <translate><!--T:244--> Description</translate>
!scope="col"| <translate><!--T:245--> ZID</translate>
!scope="col"| <translate><!--T:246--> Note</translate>
|-
!scope="row"|CELL
| <translate><!--T:247--> Returns information about the formatting, location, or contents of a cell</translate> || ||
|-
!scope="row"|ERROR.TYPE
| <translate><!--T:248--> Returns a number corresponding to an error type</translate> || ||
|-
!scope="row"|INFO
| <translate><!--T:249--> Returns information about the current operating environment</translate> || ||
|-
!scope="row"|ISBLANK
| <translate><!--T:250--> Returns TRUE if the value is blank</translate> || [[Z10008]] ||
|-
!scope="row"|ISERR
| <translate><!--T:251--> Returns TRUE if the value is any error value except #N/A</translate> || ||
|-
!scope="row"|ISERROR
| <translate><!--T:252--> Returns TRUE if the value is any error value</translate> || ||
|-
!scope="row"|ISEVEN
| <translate><!--T:253--> Returns TRUE if the number is even</translate> || [[Z12480]]||
|-
!scope="row"|ISFORMULA
| <translate><!--T:254--> Returns TRUE if there is a reference to a cell that contains a formula</translate> || ||
|-
!scope="row"|ISLOGICAL
| <translate><!--T:255--> Returns TRUE if the value is a logical value</translate> || ||
|-
!scope="row"|ISNA
| <translate><!--T:256--> Returns TRUE if the value is the #N/A error value</translate> || ||
|-
!scope="row"|ISNONTEXT
| <translate><!--T:257--> Returns TRUE if the value is not text</translate> || ||
|-
!scope="row"|ISNUMBER
| <translate><!--T:258--> Returns TRUE if the value is a number</translate> || [[Z10715]] ||
|-
!scope="row"|ISODD
| <translate><!--T:259--> Returns TRUE if the number is odd</translate> || [[Z12429]]||
|-
!scope="row"|ISOMITTED
| <translate><!--T:260--> Checks whether the value in a LAMBDA is missing and returns TRUE or FALSE</translate> || ||
|-
!scope="row"|ISREF
| <translate><!--T:261--> Returns TRUE if the value is a reference</translate> || ||
|-
!scope="row"|ISTEXT
| <translate><!--T:262--> Returns TRUE if the value is text</translate> || ||
|-
!scope="row"|N
| <translate><!--T:263--> Returns a value converted to a number</translate> || ||
|-
!scope="row"|NA
| <translate><!--T:264--> Returns the error value #N/A</translate> || ||
|-
!scope="row"|SHEET
| <translate><!--T:265--> Returns the sheet number of the referenced sheet</translate> || ||
|-
!scope="row"|SHEETS
| <translate><!--T:266--> Returns the number of sheets in a reference</translate> || ||
|-
!scope="row"|TYPE
| <translate><!--T:267--> Returns a number indicating the data type of a value</translate> || ||
|}
<translate>
== Logical == <!--T:268-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:269--> List of logical Excel functions</translate>
!scope="col"| <translate><!--T:270--> Function name</translate>
!scope="col"| <translate><!--T:271--> Description</translate>
!scope="col"| <translate><!--T:272--> ZID</translate>
!scope="col"| <translate><!--T:273--> Note</translate>
|-
!scope="row"|AND
| <translate><!--T:274--> Returns TRUE if all of its arguments are TRUE</translate> || [[Z10174]] ||
|-
!scope="row"|BYCOL
| <translate><!--T:275--> Applies a LAMBDA to each column and returns an array of the results</translate> || || Believed to be not possible currently
|-
!scope="row"|BYROW
| <translate><!--T:276--> Applies a LAMBDA to each row and returns an array of the results</translate> || || Believed to be not possible currently
|-
!scope="row"|FALSE
| <translate><!--T:277--> Returns the logical value FALSE</translate> || [[Z10206]] ||
|-
!scope="row"|IF
| <translate><!--T:278--> Specifies a logical test to perform</translate> || [[Z802]], [[Z11542]] ||
|-
!scope="row"|IFERROR
| <translate><!--T:279--> Returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula</translate> || || Believed to be not possible currently
|-
!scope="row"|IFNA
| <translate><!--T:280--> Returns the value you specify if the expression resolves to #N/A, otherwise returns the result of the expression</translate> || ||
|-
!scope="row"|IFS
| <translate><!--T:281--> Checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition.</translate> || [[Z19601]] ||
|-
!scope="row"|LAMBDA
| <translate><!--T:282--> Create custom, reusable functions and call them by a friendly name</translate> || [[Z8]] ||
|-
!scope="row"|LET
| <translate><!--T:283--> Assigns names to calculation results</translate> || ||
|-
!scope="row"|MAKEARRAY
| <translate><!--T:284--> Returns a calculated array of a specified row and column size, by applying a LAMBDA</translate> || || Believed to be not possible currently
|-
!scope="row"|MAP
| <translate><!--T:285--> Returns an array formed by mapping each value in the array(s) to a new value by applying a LAMBDA to create a new value</translate> || [[Z873]] ||
|-
!scope="row"|NOT
| <translate><!--T:286--> Reverses the logic of its argument</translate> || [[Z10216]] ||
|-
!scope="row"|OR
| <translate><!--T:287--> Returns TRUE if any argument is TRUE</translate> || [[Z10184]] ||
|-
!scope="row"|REDUCE
| <translate><!--T:288--> Reduces an array to an accumulated value by applying a LAMBDA to each value and returning the total value in the accumulator</translate> || || Believed to be not possible currently
|-
!scope="row"|SCAN
| <translate><!--T:289--> Scans an array by applying a LAMBDA to each value and returns an array that has each intermediate value</translate> || || Believed to be not possible currently
|-
!scope="row"|SWITCH
| <translate><!--T:290--> Evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value may be returned.</translate> || ||
|-
!scope="row"|TRUE
| <translate><!--T:291--> Returns the logical value TRUE</translate> || [[Z10210]] ||
|-
!scope="row"|XOR
| <translate><!--T:292--> Returns a logical exclusive OR of all arguments</translate> || [[Z10237]] ||
|}
<translate>
== Lookup and reference == <!--T:293-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:294--> List of lookup and reference Excel functions</translate>
!scope="col"| <translate><!--T:295--> Function name</translate>
!scope="col"| <translate><!--T:296--> Description</translate>
!scope="col"| <translate><!--T:297--> ZID</translate>
!scope="col"| <translate><!--T:298--> Note</translate>
|-
!scope="row"|VSTACK
| <translate><!--T:299--> Appends arrays vertically and in sequence to return a larger array</translate> || ||
|-
!scope="row"|WRAPCOLS
| <translate><!--T:300--> Wraps the provided row or column of values by columns after a specified number of elements</translate> || ||
|-
!scope="row"|WRAPROWS
| <translate><!--T:301--> Wraps the provided row or column of values by rows after a specified number of elements</translate> || ||
|-
!scope="row"|ADDRESS
| <translate><!--T:302--> Returns a reference as text to a single cell in a worksheet</translate> || ||
|-
!scope="row"|AREAS
| <translate><!--T:303--> Returns the number of areas in a reference</translate> || ||
|-
!scope="row"|CHOOSE
| <translate><!--T:304--> Chooses a value from a list of values</translate> || ||
|-
!scope="row"|CHOOSECOLS
| <translate><!--T:305--> Returns the specified columns from an array</translate> || ||
|-
!scope="row"|CHOOSEROWS
| <translate><!--T:306--> Returns the specified rows from an array</translate> || ||
|-
!scope="row"|COLUMN
| <translate><!--T:307--> Returns the column number of a reference</translate> || ||
|-
!scope="row"|COLUMNS
| <translate><!--T:308--> Returns the number of columns in a reference</translate> || ||
|-
!scope="row"|DROP
| <translate><!--T:309--> Excludes a specified number of rows or columns from the start or end of an array</translate> || ||
|-
!scope="row"|EXPAND
| <translate><!--T:310--> Expands or pads an array to specified row and column dimensions</translate> || ||
|-
!scope="row"|FILTER
| <translate><!--T:311--> Filters a range of data based on criteria you define</translate> || ||
|-
!scope="row"|FORMULATEXT
| <translate><!--T:312--> Returns the formula at the given reference as text</translate> || ||
|-
!scope="row"|GETPIVOTDATA
| <translate><!--T:313--> Returns data stored in a PivotTable report</translate> || ||
|-
!scope="row"|HLOOKUP
| <translate><!--T:314--> Looks in the top row of an array and returns the value of the indicated cell</translate> || ||
|-
!scope="row"|HSTACK
| <translate><!--T:315--> Appends arrays horizontally and in sequence to return a larger array</translate> || ||
|-
!scope="row"|HYPERLINK
| <translate><!--T:316--> Creates a shortcut or jump that opens a document stored on a network server, an intranet, or the Internet</translate> || ||
|-
!scope="row"|IMAGE
| <translate><!--T:317--> Returns an image from a given source</translate> || ||
|-
!scope="row"|INDEX
| <translate><!--T:318--> Uses an index to choose a value from a reference or array</translate> || [[Z13397]] || Check Indexbase
|-
!scope="row"|INDIRECT
| <translate><!--T:319--> Returns a reference indicated by a text value</translate> || ||
|-
!scope="row"|LOOKUP
| <translate><!--T:320--> Looks up values in a vector or array</translate> || [[Z13708]] || Check if it is possible in multiple column arrays
|-
!scope="row"|MATCH
| <translate><!--T:321--> Looks up values in a reference or array</translate> || ||
|-
!scope="row"|OFFSET
| <translate><!--T:322--> Returns a reference offset from a given reference</translate> || ||
|-
!scope="row"|ROW
| <translate><!--T:323--> Returns the row number of a reference</translate> || ||
|-
!scope="row"|ROWS
| <translate><!--T:324--> Returns the number of rows in a reference</translate> || ||
|-
!scope="row"|RTD
| <translate><!--T:325--> Retrieves real-time data from a program that supports COM automation</translate> || ||
|-
!scope="row"|SORT
| <translate><!--T:326--> Sorts the contents of a range or array</translate> || ||
|-
!scope="row"|SORTBY
| <translate><!--T:327--> Sorts the contents of a range or array based on the values in a corresponding range or array</translate> || ||
|-
!scope="row"|TAKE
| <translate><!--T:328--> Returns a specified number of contiguous rows or columns from the start or end of an array</translate> || ||
|-
!scope="row"|TOCOL
| <translate><!--T:329--> Returns the array in a single column</translate> || ||
|-
!scope="row"|TOROW
| <translate><!--T:330--> Returns the array in a single row</translate> || ||
|-
!scope="row"|TRANSPOSE
| <translate><!--T:331--> Returns the transpose of an array</translate> || ||
|-
!scope="row"|UNIQUE
| <translate><!--T:332--> Returns a list of unique values in a list or range</translate> || ||
|-
!scope="row"|VLOOKUP
| <translate><!--T:333--> Looks in the first column of an array and moves across the row to return the value of a cell</translate> || ||
|-
!scope="row"|XLOOKUP
| <translate><!--T:334--> Searches a range or an array, and returns an item corresponding to the first match it finds. If a match doesn't exist, then XLOOKUP can return the closest (approximate) match.</translate> || ||
|-
!scope="row"|XMATCH
| <translate><!--T:335--> Returns the relative position of an item in an array or range of cells.</translate> || ||
|}
<translate>
== Math and trigonometry == <!--T:336-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:337--> List of math and trigonometry Excel functions</translate>
!scope="col"| <translate><!--T:338--> Function name</translate>
!scope="col"| <translate><!--T:339--> Description</translate>
!scope="col"| <translate><!--T:340--> ZID</translate>
!scope="col"| <translate><!--T:341--> Note</translate>
|-
!scope="row"|ABS
| <translate><!--T:342--> Returns the absolute value of a number</translate> || [[Z11235]]||
|-
!scope="row"|ACOS
| <translate><!--T:343--> Returns the arccosine of a number</translate> || [[Z12497]]||
|-
!scope="row"|ACOSH
| <translate><!--T:344--> Returns the inverse hyperbolic cosine of a number</translate> || [[Z12500]]||
|-
!scope="row"|ACOT
| <translate><!--T:345--> Returns the arccotangent of a number</translate> || ||
|-
!scope="row"|ACOTH
| <translate><!--T:346--> Returns the hyperbolic arccotangent of a number</translate> || ||
|-
!scope="row"|AGGREGATE
| <translate><!--T:347--> Returns an aggregate in a list or database</translate> || ||
|-
!scope="row"|ARABIC
| <translate><!--T:348--> Converts a Roman number to Arabic, as a number</translate> || [[Z11023]]||
|-
!scope="row"|ASIN
| <translate><!--T:349--> Returns the arcsine of a number</translate> || [[Z12505]]||
|-
!scope="row"|ASINH
| <translate><!--T:350--> Returns the inverse hyperbolic sine of a number</translate> || [[Z12509]]||
|-
!scope="row"|ATAN
| <translate><!--T:351--> Returns the arctangent of a number</translate> || ||
|-
!scope="row"|ATAN2
| <translate><!--T:352--> Returns the arctangent from x- and y-coordinates</translate> || ||
|-
!scope="row"|ATANH
| <translate><!--T:353--> Returns the inverse hyperbolic tangent of a number</translate> || ||
|-
!scope="row"|BASE
| <translate><!--T:354--> Converts a number into a text representation with the given radix (base)</translate> || ||
|-
!scope="row"|CEILING.MATH
| <translate><!--T:355--> Rounds a number up, to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|CEILING.PRECISE
| <translate><!--T:356--> Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.</translate> || ||
|-
!scope="row"|COMBIN
| <translate><!--T:357--> Returns the number of combinations for a given number of objects</translate> || ||
|-
!scope="row"|COMBINA
| <translate><!--T:358--> Returns the number of combinations (with repetitions) for a given number of items</translate> || ||
|-
!scope="row"|COS
| <translate><!--T:359--> Returns the cosine of a number</translate> || [[Z12473]]
|
|-
!scope="row"|COSH
| <translate><!--T:360--> Returns the hyperbolic cosine of a number</translate> || ||
|-
!scope="row"|COT
| <translate><!--T:361--> Returns the hyperbolic cosine of a number</translate> || ||
|-
!scope="row"|COTH
| <translate><!--T:362--> Returns the cotangent of an angle</translate> || ||
|-
!scope="row"|CSC
| <translate><!--T:363--> Returns the cosecant of an angle</translate> || ||
|-
!scope="row"|CSCH
| <translate><!--T:364--> Returns the hyperbolic cosecant of an angle</translate> || ||
|-
!scope="row"|DECIMAL
| <translate><!--T:365--> Converts a text representation of a number in a given base into a decimal number</translate> || ||
|-
!scope="row"|DEGREES
| <translate><!--T:366--> Converts radians to degrees</translate> || ||
|-
!scope="row"|EVEN
| <translate><!--T:367--> Rounds a number up to the nearest even integer</translate> || ||
|-
!scope="row"|EXP
| <translate><!--T:368--> Returns e raised to the power of a given number</translate> || ||
|-
!scope="row"|FACT
| <translate><!--T:369--> Returns the factorial of a number</translate> || ||
|-
!scope="row"|FACTDOUBLE
| <translate><!--T:370--> Returns the double factorial of a number</translate> || ||
|-
!scope="row"|FLOOR.MATH
| <translate><!--T:371--> Rounds a number down, to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|FLOOR.PRECISE
| <translate><!--T:372--> Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.</translate> || ||
|-
!scope="row"|GCD
| <translate><!--T:373--> Returns the greatest common divisor</translate> || ||
|-
!scope="row"|INT
| <translate><!--T:374--> Rounds a number down to the nearest integer</translate> || ||
|-
!scope="row"|ISO.CEILING
| <translate><!--T:375--> Returns a number that is rounded up to the nearest integer or to the nearest multiple of significance</translate> || ||
|-
!scope="row"|LCM
| <translate><!--T:376--> Returns the least common multiple</translate> || ||
|-
!scope="row"|LN
| <translate><!--T:377--> Returns the natural logarithm of a number</translate> || ||
|-
!scope="row"|LOG
| <translate><!--T:378--> Returns the logarithm of a number to a specified base</translate> || ||
|-
!scope="row"|LOG10
| <translate><!--T:379--> Returns the base-10 logarithm of a number</translate> || ||
|-
!scope="row"|MDETERM
| <translate><!--T:380--> Returns the matrix determinant of an array</translate> || ||
|-
!scope="row"|MINVERSE
| <translate><!--T:381--> Returns the matrix inverse of an array</translate> || ||
|-
!scope="row"|MMULT
| <translate><!--T:382--> Returns the matrix product of two arrays</translate> || ||
|-
!scope="row"|MOD
| <translate><!--T:383--> Returns the remainder from division</translate> || [[Z12476]]||
|-
!scope="row"|MROUND
| <translate><!--T:384--> Returns a number rounded to the desired multiple</translate> || ||
|-
!scope="row"|MULTINOMIAL
| <translate><!--T:385--> Returns the multinomial of a set of numbers</translate> || ||
|-
!scope="row"|MUNIT
| <translate><!--T:386--> Returns the unit matrix or the specified dimension</translate> || ||
|-
!scope="row"|ODD
| <translate><!--T:387--> Rounds a number up to the nearest odd integer</translate> || ||
|-
!scope="row"|PI
| <translate><!--T:388--> Returns the value of pi</translate> || [[Z10857]]||
|-
!scope="row"|POWER
| <translate><!--T:389--> Returns the result of a number raised to a power</translate> || ||
|-
!scope="row"|PRODUCT
| <translate><!--T:390--> Multiplies its arguments</translate> || [[Z10862]]||
|-
!scope="row"|QUOTIENT
| <translate><!--T:391--> Returns the integer portion of a division</translate> || [[Z12522]]||
|-
!scope="row"|RADIANS
| <translate><!--T:392--> Converts degrees to radians</translate> || ||
|-
!scope="row"|RAND
| <translate><!--T:393--> Returns a random number between 0 and 1</translate> || ||
|-
!scope="row"|RANDARRAY
| <translate><!--T:394--> Returns an array of random numbers between 0 and 1. However, you can specify the number of rows and columns to fill, minimum and maximum values, and whether to return whole numbers or decimal values.</translate> || ||
|-
!scope="row"|RANDBETWEEN
| <translate><!--T:395--> Returns a random number between the numbers you specify</translate> || ||
|-
!scope="row"|ROMAN
| <translate><!--T:396--> Converts an arabic numeral to roman, as text</translate> || [[Z11022]]||
|-
!scope="row"|ROUND
| <translate><!--T:397--> Rounds a number to a specified number of digits</translate> || ||
|-
!scope="row"|ROUNDDOWN
| <translate><!--T:398--> Rounds a number down, toward zero</translate> || ||
|-
!scope="row"|ROUNDUP
| <translate><!--T:399--> Rounds a number up, away from zero</translate> || ||
|-
!scope="row"|SEC
| <translate><!--T:400--> Returns the secant of an angle</translate> || ||
|-
!scope="row"|SECH
| <translate><!--T:401--> Returns the hyperbolic secant of an angle</translate> || ||
|-
!scope="row"|SEQUENCE
| <translate><!--T:402--> Generates a list of sequential numbers in an array, such as 1, 2, 3, 4</translate> || ||
|-
!scope="row"|SERIESSUM
| <translate><!--T:403--> Returns the sum of a power series based on the formula</translate> || ||
|-
!scope="row"|SIGN
| <translate><!--T:404--> Returns the sign of a number</translate> || ||
|-
!scope="row"|SIN
| <translate><!--T:405--> Returns the sine of the given angle</translate> || ||
|-
!scope="row"|SINH
| <translate><!--T:406--> Returns the hyperbolic sine of a number</translate> || ||
|-
!scope="row"|SQRT
| <translate><!--T:407--> Returns a positive square root</translate> || ||
|-
!scope="row"|SQRTPI
| <translate><!--T:408--> Returns the square root of (number * pi)</translate> || ||
|-
!scope="row"|SUBTOTAL
| <translate><!--T:409--> Returns a subtotal in a list or database</translate> || ||
|-
!scope="row"|SUM
| <translate><!--T:410--> Adds its arguments</translate> || ||
|-
!scope="row"|SUMIF
| <translate><!--T:411--> Adds the cells specified by a given criteria</translate> || ||
|-
!scope="row"|SUMIFS
| <translate><!--T:412--> Adds the cells in a range that meet multiple criteria</translate> || ||
|-
!scope="row"|SUMPRODUCT
| <translate><!--T:413--> Returns the sum of the products of corresponding array components</translate> || ||
|-
!scope="row"|SUMSQ
| <translate><!--T:414--> Returns the sum of the squares of the arguments</translate> || ||
|-
!scope="row"|SUMX2MY2
| <translate><!--T:415--> Returns the sum of the difference of squares of corresponding values in two arrays</translate> || ||
|-
!scope="row"|SUMX2PY2
| <translate><!--T:416--> Returns the sum of the sum of squares of corresponding values in two arrays</translate> || ||
|-
!scope="row"|SUMXMY2
| <translate><!--T:417--> Returns the sum of squares of differences of corresponding values in two arrays</translate> || ||
|-
!scope="row"|TAN
| <translate><!--T:418--> Returns the tangent of a number</translate> || ||
|-
!scope="row"|TANH
| <translate><!--T:419--> Returns the hyperbolic tangent of a number</translate> || ||
|-
!scope="row"|TRUNC
| <translate><!--T:420--> Truncates a number to an integer</translate> || ||
|}
<translate>
== Statistical == <!--T:421-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:422--> List of statistical Excel functions</translate>
!scope="col"| <translate><!--T:423--> Function name</translate>
!scope="col"| <translate><!--T:424--> Description</translate>
!scope="col"| <translate><!--T:425--> ZID</translate>
!scope="col"| <translate><!--T:426--> Note</translate>
|-
!scope="row"|AVEDEV
| <translate><!--T:427--> Returns the average of the absolute deviations of data points from their mean</translate> || ||
|-
!scope="row"|AVERAGE
| <translate><!--T:428--> Returns the average of its arguments</translate> || ||
|-
!scope="row"|AVERAGEA
| <translate><!--T:429--> Returns the average of its arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|AVERAGEIF
| <translate><!--T:430--> Returns the average (arithmetic mean) of all the cells in a range that meet a given criteria</translate> || ||
|-
!scope="row"|AVERAGEIFS
| <translate><!--T:431--> Returns the average (arithmetic mean) of all cells that meet multiple criteria.</translate> || ||
|-
!scope="row"|BETA.DIST
| <translate><!--T:432--> Returns the beta cumulative distribution function</translate> || ||
|-
!scope="row"|BETA.INV
| <translate><!--T:433--> Returns the inverse of the cumulative distribution function for a specified beta distribution</translate> || ||
|-
!scope="row"|BINOM.DIST
| <translate><!--T:434--> Returns the individual term binomial distribution probability</translate> || ||
|-
!scope="row"|BINOM.DIST.RANGE
| <translate><!--T:435--> Returns the probability of a trial result using a binomial distribution</translate> || ||
|-
!scope="row"|BINOM.INV
| <translate><!--T:436--> Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value</translate> || ||
|-
!scope="row"|CHISQ.DIST
| <translate><!--T:437--> Returns the cumulative beta probability density function</translate> || ||
|-
!scope="row"|CHISQ.DIST.RT
| <translate><!--T:438--> Returns the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHISQ.INV
| <translate><!--T:439--> Returns the cumulative beta probability density function</translate> || ||
|-
!scope="row"|CHISQ.INV.RT
| <translate><!--T:440--> Returns the inverse of the one-tailed probability of the chi-squared distribution</translate> || ||
|-
!scope="row"|CHISQ.TEST
| <translate><!--T:441--> Returns the test for independence</translate> || ||
|-
!scope="row"|CONFIDENCE.NORM
| <translate><!--T:442--> Returns the confidence interval for a population mean</translate> || ||
|-
!scope="row"|CONFIDENCE.T
| <translate><!--T:443--> Returns the confidence interval for a population mean, using a Student's t distribution</translate> || ||
|-
!scope="row"|CORREL
| <translate><!--T:444--> Returns the correlation coefficient between two data sets</translate> || ||
|-
!scope="row"|COUNT
| <translate><!--T:445--> Counts how many numbers are in the list of arguments</translate> || ||
|-
!scope="row"|COUNTA
| <translate><!--T:446--> Counts how many values are in the list of arguments</translate> || ||
|-
!scope="row"|COUNTBLANK
| <translate><!--T:447--> Counts the number of blank cells within a range</translate> || ||
|-
!scope="row"|COUNTIF
| <translate><!--T:448--> Counts the number of cells within a range that meet the given criteria</translate> || ||
|-
!scope="row"|COUNTIFS
| <translate><!--T:449--> Counts the number of cells within a range that meet multiple criteria</translate> || ||
|-
!scope="row"|COVARIANCE.P
| <translate><!--T:450--> Returns covariance, the average of the products of paired deviations</translate> || ||
|-
!scope="row"|COVARIANCE.S
| <translate><!--T:451--> Returns the sample covariance, the average of the products deviations for each data point pair in two data sets</translate> || ||
|-
!scope="row"|DEVSQ
| <translate><!--T:452--> Returns the sum of squares of deviations</translate> || ||
|-
!scope="row"|EXPON.DIST
| <translate><!--T:453--> Returns the exponential distribution</translate> || ||
|-
!scope="row"|F.DIST
| <translate><!--T:454--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|F.DIST.RT
| <translate><!--T:455--> Returns the F probability distribution</translate> || ||
|-
!scope="row"|F.INV
| <translate><!--T:456--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|F.INV.RT
| <translate><!--T:457--> Returns the inverse of the F probability distribution</translate> || ||
|-
!scope="row"|FISHER
| <translate><!--T:458--> Returns the Fisher transformation</translate> || ||
|-
!scope="row"|FISHERINV
| <translate><!--T:459--> Returns the inverse of the Fisher transformation</translate> || ||
|-
!scope="row"|FORECAST
| <translate><!--T:460--> Returns a value along a linear trend</translate> || ||
|-
!scope="row"|FORECAST.ETS
| <translate><!--T:461--> Returns a future value based on existing (historical) values by using the AAA version of the Exponential Smoothing (ETS) algorithm</translate> || ||
|-
!scope="row"|FORECAST.ETS.CONFINT
| <translate><!--T:462--> Returns a confidence interval for the forecast value at the specified target date</translate> || ||
|-
!scope="row"|FORECAST.ETS.SEASONALITY
| <translate><!--T:463--> Returns the length of the repetitive pattern Excel detects for the specified time series</translate> || ||
|-
!scope="row"|FORECAST.ETS.STAT
| <translate><!--T:464--> Returns a statistical value as a result of time series forecasting</translate> || ||
|-
!scope="row"|FORECAST.LINEAR
| <translate><!--T:465--> Returns a future value based on existing values</translate> || ||
|-
!scope="row"|FREQUENCY
| <translate><!--T:466--> Returns a frequency distribution as a vertical array</translate> || ||
|-
!scope="row"|F.TEST
| <translate><!--T:467--> Returns the result of an F-test</translate> || ||
|-
!scope="row"|GAMMA
| <translate><!--T:468--> Returns the Gamma function value</translate> || ||
|-
!scope="row"|GAMMA.DIST
| <translate><!--T:469--> Returns the gamma distribution</translate> || ||
|-
!scope="row"|GAMMA.INV
| <translate><!--T:470--> Returns the inverse of the gamma cumulative distribution</translate> || ||
|-
!scope="row"|GAMMALN
| <translate><!--T:471--> Returns the natural logarithm of the gamma function, Γ(x)</translate> || ||
|-
!scope="row"|GAMMALN.PRECISE
| <translate><!--T:472--> Returns the natural logarithm of the gamma function, Γ(x)</translate> || ||
|-
!scope="row"|GAUSS
| <translate><!--T:473--> Returns 0.5 less than the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|GEOMEAN
| <translate><!--T:474--> Returns the geometric mean</translate> || ||
|-
!scope="row"|GROWTH
| <translate><!--T:475--> Returns values along an exponential trend</translate> || ||
|-
!scope="row"|HARMEAN
| <translate><!--T:476--> Returns the harmonic mean</translate> || ||
|-
!scope="row"|HYPGEOM.DIST
| <translate><!--T:477--> Returns the hypergeometric distribution</translate> || ||
|-
!scope="row"|INTERCEPT
| <translate><!--T:478--> Returns the intercept of the linear regression line</translate> || ||
|-
!scope="row"|KURT
| <translate><!--T:479--> Returns the kurtosis of a data set</translate> || ||
|-
!scope="row"|LARGE
| <translate><!--T:480--> Returns the k-th largest value in a data set</translate> || ||
|-
!scope="row"|LINEST
| <translate><!--T:481--> Returns the parameters of a linear trend</translate> || ||
|-
!scope="row"|LOGEST
| <translate><!--T:482--> Returns the parameters of an exponential trend</translate> || ||
|-
!scope="row"|LOGNORM.DIST
| <translate><!--T:483--> Returns the cumulative lognormal distribution</translate> || ||
|-
!scope="row"|LOGNORM.INV
| <translate><!--T:484--> Returns the inverse of the lognormal cumulative distribution</translate> || ||
|-
!scope="row"|MAX
| <translate><!--T:485--> Returns the maximum value in a list of arguments</translate> || ||
|-
!scope="row"|MAXA
| <translate><!--T:486--> Returns the maximum value in a list of arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|MAXIFS
| <translate><!--T:487--> Returns the maximum value among cells specified by a given set of conditions or criteria</translate> || ||
|-
!scope="row"|MEDIAN
| <translate><!--T:488--> Returns the median of the given numbers</translate> || ||
|-
!scope="row"|MIN
| <translate><!--T:489--> Returns the minimum value in a list of arguments</translate> || ||
|-
!scope="row"|MINIFS
| <translate><!--T:490--> Returns the minimum value among cells specified by a given set of conditions or criteria.</translate> || ||
|-
!scope="row"|MINA
| <translate><!--T:491--> Returns the smallest value in a list of arguments, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|MODE.MULT
| <translate><!--T:492--> Returns a vertical array of the most frequently occurring, or repetitive values in an array or range of data</translate> || ||
|-
!scope="row"|MODE.SNGL
| <translate><!--T:493--> Returns the most common value in a data set</translate> || ||
|-
!scope="row"|NEGBINOM.DIST
| <translate><!--T:494--> Returns the negative binomial distribution</translate> || ||
|-
!scope="row"|NORM.DIST
| <translate><!--T:495--> Returns the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORMINV
| <translate><!--T:496--> Returns the inverse of the normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.S.DIST
| <translate><!--T:497--> Returns the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|NORM.S.INV
| <translate><!--T:498--> Returns the inverse of the standard normal cumulative distribution</translate> || ||
|-
!scope="row"|PEARSON
| <translate><!--T:499--> Returns the Pearson product moment correlation coefficient</translate> || ||
|-
!scope="row"|PERCENTILE.EXC
| <translate><!--T:500--> Returns the k-th percentile of values in a range, where k is in the range 0..1, exclusive</translate> || ||
|-
!scope="row"|PERCENTILE.INC
| <translate><!--T:501--> Returns the k-th percentile of values in a range</translate> || ||
|-
!scope="row"|PERCENTRANK.EXC
| <translate><!--T:502--> Returns the rank of a value in a data set as a percentage (0..1, exclusive) of the data set</translate> || ||
|-
!scope="row"|PERCENTRANK.INC
| <translate><!--T:503--> Returns the percentage rank of a value in a data set</translate> || ||
|-
!scope="row"|PERMUT
| <translate><!--T:504--> Returns the number of permutations for a given number of objects</translate> || ||
|-
!scope="row"|PERMUTATIONA
| <translate><!--T:505--> Returns the number of permutations for a given number of objects (with repetitions) that can be selected from the total objects</translate> || ||
|-
!scope="row"|PHI
| <translate><!--T:506--> Returns the value of the density function for a standard normal distribution</translate> || ||
|-
!scope="row"|POISSON.DIST
| <translate><!--T:507--> Returns the Poisson distribution</translate> || ||
|-
!scope="row"|PROB
| <translate><!--T:508--> Returns the probability that values in a range are between two limits</translate> || ||
|-
!scope="row"|QUARTILE.EXC
| <translate><!--T:509--> Returns the quartile of the data set, based on percentile values from 0..1, exclusive</translate> || ||
|-
!scope="row"|QUARTILE.INC
| <translate><!--T:510--> Returns the quartile of a data set</translate> || ||
|-
!scope="row"|RANK.AVG
| <translate><!--T:511--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|RANK.EQ
| <translate><!--T:512--> Returns the rank of a number in a list of numbers</translate> || ||
|-
!scope="row"|RSQ
| <translate><!--T:513--> Returns the square of the Pearson product moment correlation coefficient</translate> || ||
|-
!scope="row"|SKEW
| <translate><!--T:514--> Returns the skewness of a distribution</translate> || ||
|-
!scope="row"|SKEW.P
| <translate><!--T:515--> Returns the skewness of a distribution based on a population: a characterization of the degree of asymmetry of a distribution around its mean</translate> || ||
|-
!scope="row"|SLOPE
| <translate><!--T:516--> Returns the slope of the linear regression line</translate> || ||
|-
!scope="row"|SMALL
| <translate><!--T:517--> Returns the k-th smallest value in a data set</translate> || ||
|-
!scope="row"|STANDARDIZE
| <translate><!--T:518--> Returns a normalized value</translate> || ||
|-
!scope="row"|STDEV.P
| <translate><!--T:519--> Calculates standard deviation based on the entire population</translate> || ||
|-
!scope="row"|STDEV.S
| <translate><!--T:520--> Estimates standard deviation based on a sample</translate> || ||
|-
!scope="row"|STDEVA
| <translate><!--T:521--> Estimates standard deviation based on a sample, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|STDEVPA
| <translate><!--T:522--> Calculates standard deviation based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|STEYX
| <translate><!--T:523--> Returns the standard error of the predicted y-value for each x in the regression</translate> || ||
|-
!scope="row"|T.DIST
| <translate><!--T:524--> Returns the Percentage Points (probability) for the Student t-distribution</translate> || ||
|-
!scope="row"|T.DIST.2T
| <translate><!--T:525--> Returns the Percentage Points (probability) for the Student t-distribution</translate> || ||
|-
!scope="row"|T.DIST.RT
| <translate><!--T:526--> Returns the Student's t-distribution</translate> || ||
|-
!scope="row"|T.INV
| <translate><!--T:527--> Returns the t-value of the Student's t-distribution as a function of the probability and the degrees of freedom</translate> || ||
|-
!scope="row"|T.INV.2T
| <translate><!--T:528--> Returns the inverse of the Student's t-distribution</translate> || ||
|-
!scope="row"|TREND
| <translate><!--T:529--> Returns values along a linear trend</translate> || ||
|-
!scope="row"|TRIMMEAN
| <translate><!--T:530--> Returns the mean of the interior of a data set</translate> || ||
|-
!scope="row"|T.TEST
| <translate><!--T:531--> Returns the probability associated with a Student's t-test</translate> || ||
|-
!scope="row"|VAR.P
| <translate><!--T:532--> Calculates variance based on the entire population</translate> || ||
|-
!scope="row"|VAR.S
| <translate><!--T:533--> Estimates variance based on a sample</translate> || ||
|-
!scope="row"|VARA
| <translate><!--T:534--> Estimates variance based on a sample, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|VARPA
| <translate><!--T:535--> Calculates variance based on the entire population, including numbers, text, and logical values</translate> || ||
|-
!scope="row"|WEIBULL.DIST
| <translate><!--T:536--> Returns the Weibull distribution</translate> || ||
|-
!scope="row"|Z.TEST
| <translate><!--T:537--> Returns the one-tailed probability-value of a z-test</translate> || ||
|}
<translate>
== Text == <!--T:538-->
</translate>
{| class="wikitable collapsible sortable"
|+<translate><!--T:539--> List of text Excel functions</translate>
!scope="col"| <translate><!--T:540--> Function name</translate>
!scope="col"| <translate><!--T:541--> Description</translate>
!scope="col"| <translate><!--T:542--> ZID</translate>
!scope="col"| <translate><!--T:543--> Note</translate>
|-
!scope="row"|ARRAYTOTEXT
| <translate><!--T:544--> Returns an array of text values from any specified range</translate> || ||
|-
!scope="row"|ASC
| <translate><!--T:545--> Changes full-width (double-byte) English letters or katakana within a character string to half-width (single-byte) characters</translate> || ||
|-
!scope="row"|BAHTTEXT
| <translate><!--T:546--> Converts a number to text, using the ß (baht) currency format</translate> || ||
|-
!scope="row"|CHAR
| <translate><!--T:547--> Returns the character specified by the code number</translate> || ||
|-
!scope="row"|CLEAN
| <translate><!--T:548--> Removes all nonprintable characters from text</translate> || ||
|-
!scope="row"|CODE
| <translate><!--T:549--> Returns a numeric code for the first character in a text string</translate> || ||
|-
!scope="row"|CONCAT
| <translate><!--T:550--> Combines the text from multiple ranges and/or strings, but it doesn't provide the delimiter or IgnoreEmpty arguments.</translate> || {{Z+|Z10000}} || <translate><!--T:551--> WF only takes two strings</translate>
|-
!scope="row"|CONCATENATE
| <translate><!--T:552--> Joins several text items into one text item</translate> || {{Z+|Z10000}} ||
|-
!scope="row"|DBCS
| <translate><!--T:553--> Changes half-width (single-byte) English letters or katakana within a character string to full-width (double-byte) characters</translate> || ||
|-
!scope="row"|DOLLAR
| <translate><!--T:554--> Converts a number to text, using the $ (dollar) currency format</translate> || ||
|-
!scope="row"|EXACT
| <translate><!--T:555--> Checks to see if two text values are identical</translate> || {{Z+|Z866}} ||
|-
!scope="row"|FIND, FINDBs
| <translate><!--T:556--> Finds one text value within another (case-sensitive)</translate> || ||
|-
!scope="row"|FIXED
| <translate><!--T:557--> Formats a number as text with a fixed number of decimals</translate> || ||
|-
!scope="row"|JIS
| <translate><!--T:558--> Changes half-width (single-byte) characters within a string to full-width (double-byte) characters</translate> || ||
|-
!scope="row"|LEFT, LEFTBs
| <translate><!--T:559--> Returns the leftmost characters from a text value</translate> || ||
|-
!scope="row"|LEN, LENBs
| <translate><!--T:560--> Returns the number of characters in a text string</translate> || ||
|-
!scope="row"|LOWER
| <translate><!--T:561--> Converts text to lowercase</translate> || {{Z+|Z10047}} ||
|-
!scope="row"|MID, MIDBs
| <translate><!--T:562--> Returns a specific number of characters from a text string starting at the position you specify</translate> || ||
|-
!scope="row"|NUMBERVALUE
| <translate><!--T:563--> Converts text to number in a locale-independent manner</translate> || ||
|-
!scope="row"|PHONETIC
| <translate><!--T:564--> Extracts the phonetic (furigana) characters from a text string</translate> || ||
|-
!scope="row"|PROPER
| <translate><!--T:565--> Capitalizes the first letter in each word of a text value</translate> || {{Z+|Z10251}} ||
|-
!scope="row"|REPLACE, REPLACEBs
| <translate><!--T:566--> Replaces characters within text</translate> || ||
|-
!scope="row"|REPT
| <translate><!--T:567--> Repeats text a given number of times</translate> || {{Z+|Z10911}} ||
|-
!scope="row"|RIGHT, RIGHTBs
| <translate><!--T:568--> Returns the rightmost characters from a text value</translate> || ||
|-
!scope="row"|SEARCH, SEARCHBs
| <translate><!--T:569--> Finds one text value within another (not case-sensitive)</translate> || ||
|-
!scope="row"|SUBSTITUTE
| <translate><!--T:570--> Substitutes new text for old text in a text string</translate> || {{Z+|Z10075}} ||
|-
!scope="row"|T
| <translate><!--T:571--> Converts its arguments to text</translate> || ||
|-
!scope="row"|TEXT
| <translate><!--T:572--> Formats a number and converts it to text</translate> || ||
|-
!scope="row"|TEXTAFTER
| <translate><!--T:573--> Returns text that occurs after given character or string</translate> || {{Z+|Z11412}} {{Z+|Z11416}} || <translate><!--T:574--> Excel has parameters to choose last (or Nth)</translate>
|-
!scope="row"|TEXTBEFORE
| <translate><!--T:575--> Returns text that occurs before a given character or string</translate> || {{Z+|Z11418}} {{Z+|Z11422}} || <translate><!--T:576--> Excel has parameters to choose last (or Nth)</translate>
|-
!scope="row"|TEXTJOIN
| <translate><!--T:577--> Combines the text from multiple ranges and/or strings</translate> || ||
|-
!scope="row"|TEXTSPLIT
| <translate><!--T:578--> Splits text strings by using column and row delimiters</translate> || ||
|-
!scope="row"|TRIM
| <translate><!--T:579--> Removes spaces from text</translate> || {{Z+|Z10079}} ||
|-
!scope="row"|UNICHAR
| <translate><!--T:580--> Returns the Unicode character that is references by the given numeric value</translate> || {{Z+|Z11534}} ||
|-
!scope="row"|UNICODE
| <translate><!--T:581--> Returns the number (code point) that corresponds to the first character of the text</translate> || {{Z+|Z11515}} ||
|-
!scope="row"|UPPER
| <translate><!--T:582--> Converts text to uppercase</translate> || {{Z+|Z10018}} ||
|-
!scope="row"|VALUE
| <translate><!--T:583--> Converts a text argument to a number</translate> || ||
|-
!scope="row"|VALUETOTEXT
| <translate><!--T:584--> Returns text from any specified value</translate> || ||
|-
!scope="row"|ENCODEURL
| <translate><!--T:585--> Returns a URL-encoded string</translate> || {{Z+|Z10761}} ||
|-
!scope="row"|FILTERXML
| <translate><!--T:586--> Returns specific data from the XML content by using the specified XPath</translate> || ||
|-
!scope="row"|WEBSERVICE
| <translate><!--T:587--> Returns data from a web service.</translate>
|
|
|}
[[Category:Lists of functions]]
ajzvbdlsasoez030wbkhs4alnh2f2hb
Z11589
0
16734
142665
141824
2024-11-30T13:08:16Z
Feeglgeef
8776
Added Z20664 to the approved list of implementations
142665
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z11589"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z11589K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "adjective"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "形容詞"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "επίθετο"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "adj"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Adjektiv"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "adjectif"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z11607",
"Z11608",
"Z12426"
],
"Z8K4": [
"Z14",
"Z20664"
],
"Z8K5": "Z11589"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "French adjective to adverb"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1672",
"Z11K2": "法語形容詞轉換成副詞"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "μετατροπή επίθετου σε επίρρημα στα γαλλικά"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nkọwa okwu French gaa nkwuwa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "Siffatau na Faransanci zuwa Bayyanau"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "französisches Adjektiv in Adverb"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "adverbe à partir d'un adjectif en français"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "Canja kalmar da akayi amfani da ita ta harshen Faransanci daga \"Siffa\" zuwa \"Bayanau\" "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "wandelt ein Adjektiv in ein Adverb um"
}
]
}
}
rzekhrzqjzimzlkcwdxydl4a2fy9usz
Z12828
0
22316
142831
136915
2024-12-01T07:33:16Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142831
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z12828"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z12828K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "taxon name"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "aha taxon"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Name des Taxons"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nom du taxon"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z12833",
"Z12835",
"Z12836",
"Z12837"
],
"Z8K4": [
"Z14",
"Z12832",
"Z12834"
],
"Z8K5": "Z12828"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English adjective based on scientific name of plant family"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "adjective Bekee dabeere na nkà mmụta sayensị aha osisi ezinụlọ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Englisches Adjektiv von Name einer Pflanzenfamilie"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "adjectif anglais basé sur le nom scientifique"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scientific names of plants end on -ceae, and the corresponding adjective is -ceous."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Aha sayensị nke osisi na-ejedebe na -ceae, na nkọwa ya kwekọrọ bụ -ceous"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "wissenschaftliche Namen von Pflanzen enden auf -ceae und das entsprechende Adjektiv endet auf -ceous\n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "adjectif anglais basé sur le nom scientifique de la famille des plantes"
}
]
}
}
3zft83u9a3szo20khaw1ninmzkvv5mx
Z12832
0
22320
142832
129915
2024-12-01T07:35:22Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142832
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z12832"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z12828",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z12828(Z12828K1):\n\tlowercased_input = Z12828K1.lower()\n\tif lowercased_input.endswith(\"ceae\"):\n\t\tif Z12828K1.isupper():\n\t\t\treturn Z12828K1[:-3] + \"EOUS\"\n\t\telse:\n\t\t\treturn Z12828K1[:-3] + \"eous\"\n\telse:\n\t\treturn Z12828K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English adjective based on scientific name of plant family (Python)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Englisches Adjektiv Pflanzenfamilie in Python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "adjectif anglais basé sur le nom sci, en Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "en anglais, remplace à la fin d'un taxon \"-ceae' par \"-ceous\""
}
]
}
}
sb5meqrk6k9t8knmfhv7edbzozg82a7
Z12833
0
22321
142835
129916
2024-12-01T07:39:55Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142835
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z12833"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z12828",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z12828",
"Z12828K1": "Rutaceae"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "Rutaceous"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Rutaceae → Rutaceous"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Rutaceae → Rutaceous"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Rutaceae → Rutaceous"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Conversion from plant family name to corresponding adjective"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Umwandlung des Namens der Pflanzenfamilie in das entsprechende Adjektiv"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "conversion du nom de famille d'une plante en adjectif correspondant, en anglais"
}
]
}
}
9aypu3ccb38qlvjcst060u44yl1yh3e
Z12834
0
22322
142833
129917
2024-12-01T07:35:33Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142833
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z12834"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z12828",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z11178",
"Z11178K1": {
"Z1K1": "Z7",
"Z7K1": "Z11178",
"Z11178K1": {
"Z1K1": "Z18",
"Z18K1": "Z12828K1"
},
"Z11178K2": "CEAE",
"Z11178K3": "CEOUS"
},
"Z11178K2": "ceae",
"Z11178K3": "ceous"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "replace -ceae at end with -ceous, composition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Englisches Adjektiv Pflanzenfamilie, Komposition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "adjectif anglais basé sur le nom sci, en Compositi"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "en anglais, remplace à la fin d'un taxon \"-ceae' par \"-ceous\""
}
]
}
}
fhmtwohkdnd6a6uxp09adxpfci96vmx
Z12835
0
22324
142836
129918
2024-12-01T07:40:01Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142836
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z12835"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z12828",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z12828",
"Z12828K1": "rutaceae"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "rutaceous"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "rutaceae → rutaceous"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "rutaceae → rutaceous"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "rutaceae → rutaceous"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "conversion du nom de famille d'une plante en adjectif correspondant, en anglais"
}
]
}
}
bqujcqsr43i6le2de3orjop42mwb3js
Z12836
0
22325
142837
129919
2024-12-01T07:40:08Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142837
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z12836"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z12828",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z12828",
"Z12828K1": "RUTACEAE"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "RUTACEOUS"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "RUTACEAE → RUTACEOUS"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "RUTACEAE → RUTACEOUS"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "RUTACEAE → RUTACEOUS"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "conversion du nom de famille d'une plante en adjectif correspondant, en anglais"
}
]
}
}
55bx8yyws00gaueiu9g4f19oze3w3bq
Z12837
0
22326
142834
129920
2024-12-01T07:38:08Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142834
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z12837"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z12828",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z12828",
"Z12828K1": "citrus"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "citrus"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "leave \"citrus\" unchanged since not in required format"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "\"citrus\" bleibt unverändert (falsches Format)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "laisser \"citrus\" inchangé car pas dans le format"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6rj0fj2j496f3twetkecxwhe131jb6e
Z13781
0
25032
142692
114547
2024-11-30T20:19:49Z
Ameisenigel
44
de
142692
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13781"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13781K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zahl"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z13793",
"Z13874",
"Z17696",
"Z17697"
],
"Z8K4": [
"Z14",
"Z13787",
"Z15677",
"Z17693"
],
"Z8K5": "Z13781"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "natural number to hexadecimal (lowercase, without prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "int ka hexadecimal (obere, ya na nganiihu)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu hexadezimal (ohne Präfix)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"int to hexadecimal (lowercase, without prefix)"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
afsah6egl2e9m4b6uet6578rvw9r46g
142693
142692
2024-11-30T20:20:01Z
WikiLambda system
3
Updated the implementation list
142693
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13781"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13781K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zahl"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z13793",
"Z13874",
"Z17696",
"Z17697"
],
"Z8K4": [
"Z14",
"Z17693",
"Z13787",
"Z15677"
],
"Z8K5": "Z13781"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "natural number to hexadecimal (lowercase, without prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "int ka hexadecimal (obere, ya na nganiihu)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu hexadezimal (ohne Präfix)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"int to hexadecimal (lowercase, without prefix)"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pkh5dlaucjez4gog72n1ipuersqs79i
Z13782
0
25033
142694
142167
2024-11-30T20:20:48Z
Ameisenigel
44
de
142694
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13782"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13782K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "n: Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zahl"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z13794"
],
"Z8K4": [
"Z14",
"Z13788",
"Z15698"
],
"Z8K5": "Z13782"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "natural number to binary (with prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "int ka ọnụọgụ abụọ (ya na prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "int zuwa binary (tare da prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "int si alakomeji (pẹlu ìpele)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu binär (mit Präfix)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"int to binary (with prefix)"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
d6k7x0ug5qmqxpetcsymqgektrrzlg5
Z13783
0
25034
142695
119007
2024-11-30T20:22:23Z
Ameisenigel
44
de
142695
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13783"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13783K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "n: Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "αριθμός για μετατροπή:"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zahl"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z13795"
],
"Z8K4": [
"Z14",
"Z13789"
],
"Z8K5": "Z13783"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "natural number to octal (with prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "int ka octal (ya na prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "int si octal (pẹlu ìpele)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "int zuwa octal (tare da prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "φυσικός αριθμός στο οκταδικό σύστημα (με πρόθεμα)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu oktal (mit Präfix)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"int to octal",
"natural number to octal string"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Converts a decimal (base-10) integer to octal (base-8) as a string, prefixed with \"0o\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Na-atụgharị ọnụọgụ iri (base-10) ka ọ bụrụ octal (base-8) dị ka eriri, jiri \"0o\" buru ụzọ tinye ya."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "Ṣe iyipada odidi eleemewa kan (ipilẹ-10) si octal (ipilẹ-8) gẹgẹbi okun, ti a ṣaju pẹlu \"0o\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "Yana canza lamba ɗaya (base-10) lamba zuwa octal (base-8) azaman kirtani, an riga an saita shi da \"0o\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "μετατρέπει έναν φυσικό αριθμό από το δεκαδικό σύστημα (βάση 10) στο οκταδικό σύστημα (βάση 8) με το πρόθεμα \"0o\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "wandelt eine dezimiert Ganzzahl in eine oktale als Zeichenkette um mit dem Präfix \"0o\""
}
]
}
}
60m54n9rp39q3x6lrgc97b6d871t5pn
Z13784
0
25035
142696
110641
2024-11-30T20:22:57Z
Ameisenigel
44
de
142696
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13784"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13784K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zahl"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z13796"
],
"Z8K4": [
"Z14",
"Z13790"
],
"Z8K5": "Z13784"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "natural number to hexadecimal (lowercase, with prefix)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu hexadezimal (mit Präfix)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"int to hexadecimal (lowercase, with prefix)"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8nlg4m2z2cvqqjr8yjxv43j9vzg9dux
Z13785
0
25037
142697
95717
2024-11-30T20:23:20Z
Ameisenigel
44
de
142697
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13785"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z13779",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z13779(Z13779K1):\n\treturn bin(Z13779K1)[2:]"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "int to binary (without prefix), python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu binär (ohne Präfix) in Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hg1iru9pwhistvu8kkm2pp7p1vftc6y
Z13786
0
25038
142698
98225
2024-11-30T20:24:22Z
Ameisenigel
44
de
142698
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13786"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z13780",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z13780(Z13780K1):\n\treturn oct(Z13780K1)[2:]"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "int to octal (without prefix) Python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu oktal (ohne Präfix) in Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Uses Python's built-in oct function to convert to octal, then trims off the first two characters"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Python-Implementierung der Funktion zur Umwandlung einer natürlichen Zahl in eine oktale Zahl ohne Präfix"
}
]
}
}
nnf71eqd4yo50z4qnt2dlet598x908s
Z13787
0
25039
142701
86876
2024-11-30T20:25:13Z
Ameisenigel
44
de
142701
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13787"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z13781",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z13781(Z13781K1):\n\treturn hex(Z13781K1)[2:]"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "int to hexadecimal (lowercase, without prefix), python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu hexadezimal ohne Präfix, Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fhd1hyhatfi5hnwwhe9zwsolvtorec8
Z13788
0
25040
142702
95715
2024-11-30T20:25:36Z
Ameisenigel
44
de
142702
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13788"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z13782",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z13782(Z13782K1):\n\treturn bin(Z13782K1)"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "int to binary (with prefix), python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu binär (mit Präfix) in Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mq6jzhtifa9gghn8fp6qcdkkmfzkaq4
Z13789
0
25041
142703
98219
2024-11-30T20:27:05Z
Ameisenigel
44
de
142703
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13789"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z13783",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z13783(Z13783K1):\n\treturn oct(Z13783K1)"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "int to octal (with prefix) Python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu oktal (mit Präfix) in Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Uses Python's built-in oct function to convert its decimal input to octal"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Python-Implementierung der Funktion zur Umwandlung einer natürlichen Zahl in eine oktale Zahl mit Präfix"
}
]
}
}
iwupm1o5p0pfahznix5tshsfbe6hnrd
Z13790
0
25042
142704
86869
2024-11-30T20:27:36Z
Ameisenigel
44
de
142704
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13790"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z13784",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z13784(Z13784K1):\n\treturn hex(Z13784K1)"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "int to hexadecimal, python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "natürliche Zahl zu hexadezimal mit Präfix, Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
j0b0zm2mwmcpglcuqwi3128ywsjywdd
Wikifunctions:Type proposals/float64
4
25556
142758
139005
2024-12-01T00:50:45Z
Feeglgeef
8776
142758
wikitext
text/x-wiki
== Summary ==
IEEE 754 double-precision floating-point format is a widely supported floating-point number. Note this type will natively support Inf and NaN. It can also precisely represent integer with no more than 53 bits.
== Uses ==
== Structure ==
There are three potential way to store a float64:
=== Proposal 1 ===
Store the bytes in a raw format, e.g. a list of exactly 8 [[Z80]], representing the raw IEEE 754 representation of a float.
=== Proposal 2 ===
Stored as a string of the format (nan|-?inf|(0|[1-9]\d*)\.\d+|-?[1-9]\.\d+e[+-][1-9]\d{0,2})
=== Proposal 3 ===
Store the components of the float as the following keys:
# K1: "sign" of type [[Z16659]], but [[Z16660]] and [[Z16661]] mean the same thing
#* alternatively use type [[Z40]], call it "negative", because it can only be 0 or 1, not -1, 0, 1
# K2: "exponent" of type [[Z16683]], limited to the values from -1022 to 1023, including the edges
# K3: "fraction" of type [[Z13518]], which states the numerator of the fraction of the number. This denominator of the fraction is 2<sup>exponent-53</sup>, and the number should be smaller than 2<sup>53</sup>, i.e. 9,007,199,254,740,992.
#* alternatively, this number could be a [[Z6]] called binary fraction, which has to have exactly the following format: a 1, followed by a dot, followed by 52 1s or 0s, e.g. 1.1000100000100000000000000000000000000000000000000000, or a [[Z6]] for a 13-digit hexadecimal representing the fraction.
# K4: special value of type floating point special values (which also needs to be created), and can be positive zero (+0), negative zero (-0), positive infinity (+∞), negative infinity (−∞), generic "not a number" (NaN), signaling "not a number" (sNaN), quiet "not a number" (qNan), and "no special value".
=== Example values ===
==== Proposal 2 ====
Value 0
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "float64",
"value": "0.0"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxxx",
"ZxxxK1": "0.0"
}</syntaxhighlight>
|}
==== Proposal 3 ====
Value +0
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "float64",
"sign": "positive",
"exponent": {
"type": "integer",
"sign": "negative",
"value": {
"type": "natural number",
"value": "1022"
}
},
"fraction": {
"type": "natural number",
"value": "0"
},
"special value": "positive zero"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxxx",
"ZxxxK1": "Z16660",
"ZxxxK2": {
"Z1K1": "Z16683",
"Z16683K1": "Z16662",
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1022"
}
},
"ZxxxK3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"ZxxxK4": "Zyyy"
}</syntaxhighlight>
|}
== Persistent objects ==
There are some constants meaningful to store as persistent objects, such as pi, e, (plus and minus) infinity, sNaN, qNaN, NaN, max and min values, etc.
== Validator ==
The validator ({{Z|Z19571}}) for option 2 ensures that:
* it is a valid potential floating point format ([Nn][Aa][Nn]|[+-]?[Ii][Nn][Ff]|[+-]?(\d+\.\d*|\.?\d+)([Ee][+-]?\d+)?)
* it is in canonical form (e.g. 100e100 is not in canonical form, since str(float("100e100"))="1e+102")
== Identity ==
We need to define two kinds of identities:
* Precise identity (==) - Note many operations of float64 are precisely defined
* Identity with some allowed degree of error
== Converting to code ==
=== Python ===
To convert string to float use <code>float</code>; on the other hand use <code>str</code>.
=== JavaScript ===
To convert string to float use <code>parseFloat</code>; on the other hand use <code>String</code> (note Inf and NaN should be then converted to lowercase).
== Renderer ==
We simply use the canonical form string for English.
For Scandinavian languages Swedish and Danish we need a comma renderer so 2.66 -> 2,66.
== Parsers ==
Same as "Converting to code" above for English.
For Scandinavian languages Swedish and Danish we need a comma parsing so 2,66 -> 2.66.
== Alternatives ==
We can also [[Wikifunctions:Type proposals/float32]], though neither Python nor JavaScript natively support such type.
[[Wikifunctions:Type_proposals/Rational_number]] also exists, but JavaScript doesn't natively support the type, either.
== Comments ==
*{{s}} as generally very important. Also important to get right though, so if there are choices to make, we shouldn't rush it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:36, 19 June 2024 (UTC)
* How should we deal with Nans in equality functions as they are suppose to be unequal, should we treat them as unequal according to [[w:IEEE 754|IEEE 754]] or equal as there representations are equal? [[User:ScienceD90|ScienceD90]] ([[User talk:ScienceD90|talk]]) 02:57, 22 June 2024 (UTC)
*:* {{s}} I think we should have this type, although we still have to resolve this question [[User:ScienceD90|ScienceD90]] ([[User talk:ScienceD90|talk]]) 22:10, 24 June 2024 (UTC)
*::* I think treating them as the standard does makes the most sense? This is also what most languages tend to do. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 06:27, 21 July 2024 (UTC)
* {{s}} as non-integers generally are useful. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 06:27, 21 July 2024 (UTC)
* {{s}} I need this for a lot of functions I have created and are planning to create.--[[User:So9q|So9q]] ([[User talk:So9q|talk]]) 11:10, 3 August 2024 (UTC)
* {{doubtful}} Some numeric Type(s) might be converted to float (decimal as float, scientific notation as float…), but Wikifunctions values are ultimately strings, and do not (themselves) float. I think we should do [[../Rational number]] first (which also approximates Real numbers), then [[../Decimal number]] (as Rational numbers, presumably a pair of integers, perhaps with the denominator being a base 10 exponent) and then (maybe) Decimal number (as float64, or float2<sup>n</sup>).--[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:05, 12 August 2024 (UTC)
* <s>{{s}}, would prefer Infinity/-Infinity, but both work fine!</s>[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:30, 7 November 2024 (UTC)
* I am a bit doubtful that this proposal really represents IEEE 754 floats. For example, I don't see how to represent a NaN or negative infinity in it. A string representation of such a float seems imprecise or incomplete, and wouldn't be telling about differences (i.e. is "0.1" equal to "0.1000000000000000000000000000000000000000000000001"?). The [[:en:IEEE 754|Wikipedia article on IEEE 754]] describes their structure. I am wondering whether it wouldn't make more sense to stay closer to the structure of floating points, and have keys for the sign, the exponent, the fraction, and a way to represent the special values? Sorry for being a contrarian here. But otherwise I am worried that we might get problems when switching between programming languages, if we leave the interpretation of float64 values underdefined. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:21, 7 November 2024 (UTC)
*:Agreed.
*:* The standard defines interchange formats and compliance with one of these when crossing over into code and back should be actively considered.
*:* I know full re-entrancy is a way down the line, but we should give that some consideration in this context too.
*:* That said, I’m not opposed in principle to “numeric string converted to/from float64” as an entirely separate type (that’s a string representation of “decimal number as float64” and, frankly, I’m not sure which I prefer because we can always convert such a string to a Rational number, unless it’s a special value).
*:[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:48, 7 November 2024 (UTC)
*:Actually I am in favor of matching IEEE 754, for programming language parity. That is what I care most about for a float type. Floats are the only primitive that you currently cannot return as a type, and what I want here is to be able to do that in a proper and standard way. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:56, 7 November 2024 (UTC)
*:{{s}} lgtm. [[User:Zippybonzo|Zippybonzo]] ([[User talk:Zippybonzo|talk]]) 08:59, 12 November 2024 (UTC)
* {{S}} --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 20:44, 16 November 2024 (UTC)
* I'd prefer if we had a good way of representing irrationals, like sqrt(2) and multiples, pi, i and complex numbers, and such. Though this would be difficult to implement/come up with an implementation for, I {{o}} all 3 proposed options, a better way should be found. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 00:50, 1 December 2024 (UTC)
3ias42t6ru5k0bwyubrq1szzka68z8y
Wikifunctions:Type proposals/complex128
4
25558
142759
110048
2024-12-01T00:52:00Z
Feeglgeef
8776
/* Comments */
142759
wikitext
text/x-wiki
== Summary ==
A complex128 is simply a pair of float64.
== Uses ==
== Structure ==
Either stored as a pair of float64, or as a string. If the latter, we also need to consider whether to use i or j to represent the imaginary unit.
=== Example values ===
Value 0
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "complex128",
"real part": {
"type": "float64",
"value": "0.0"
},
"imaginary part": {
"type": "float64",
"value": "0.0"
}
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxx",
"ZxxK1": {
"Z1K1": "Zyy",
"ZyyK1": "0.0"
},
"ZxxK2": {
"Z1K1": "Zyy",
"ZyyK1": "0.0"
}
}</syntaxhighlight>
|}
== Persistent objects ==
At least we should have an object for i.
== Validator ==
The validator ensures that:
* real part and imaginary part are valid float64
== Identity ==
Similar to [[Wikifunctions:Type proposals/float64]]
== Converting to code ==
=== Python ===
For example: (3+5j).imag=5.0
=== JavaScript ===
JavaScript does not natively support complex number, so we have to represent it as an object.
== Renderer ==
We can display it as a+bj format.
== Parsers ==
First extract a and b (we may also have a-bj or only bj), then parse a and b as float64.
== Alternatives ==
We can have a general type for complex number whose real and imaginary part are specific number type. This can be used to express e.g. Gaussian integer.
== Comments ==
*{{s}} Useful, but let's revisit this once we have float64 working well. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:38, 19 June 2024 (UTC)
*{{o}}, see my comment on the float type proposal. Basically, I'd like to find a way to represent these all-in-one. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 00:51, 1 December 2024 (UTC)
eirifo99ogzl23ojtx5yk0m9cbt2vva
Z14166
0
26131
142663
113820
2024-11-30T12:59:13Z
WikiLambda system
3
Updated the implementation list
142663
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14166"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z14166K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "position"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Stelle"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "θέση ψηφίου"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọnọdụ: Nọmba eke"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z14167",
"Z14168",
"Z14169",
"Z14170",
"Z14174",
"Z14193",
"Z14194"
],
"Z8K4": [
"Z14",
"Z14173",
"Z14187",
"Z14179",
"Z14186"
],
"Z8K5": "Z14166"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nth digit of π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "x-te Stelle von π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "ν-οστό ψηφίο του π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọnụọgụ nth nke π"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"nth digit of pi",
"digit of pi",
"pi digit",
"pi",
"π",
"digits of π",
"A000796",
"decimal digit of pi"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"Zahl von Pi",
"Stelle von Pi"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1827",
"Z31K2": [
"Z6",
"υπολογισμός του v-οστού ψηφίου του π",
"εύρεση του ν-οστού ψηφίου του π "
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Return the digit of the decimal representation of pi (starting from the 3 before the decimal point)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt die Ziffer der dezimalen Darstellung von Pi zurück. (beginnt mit der 3 vor dem Komma)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "βρίσκει ένα συγκεκριμένο ψηφίο της \"μαθηματικής σταθεράς π\" ξεκινώντας από το αριθμό 3 πριν την υποδιαστολή "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Weghachite mkpụrụọnụọgụgụ nke nnochite anya decimal nke pi (bido na 3 tupu akara nrịbasị)"
}
]
}
}
14mxlq0dasith0sb1uxdb4hyzvxv3qk
142684
142663
2024-11-30T16:11:15Z
Wikilambda
9571
hi
142684
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14166"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z14166K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "position"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Stelle"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "θέση ψηφίου"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọnọdụ: Nọmba eke"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z14167",
"Z14168",
"Z14169",
"Z14170",
"Z14174",
"Z14193",
"Z14194"
],
"Z8K4": [
"Z14",
"Z14173",
"Z14187",
"Z14179",
"Z14186"
],
"Z8K5": "Z14166"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "shith digit of π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "x-te Stelle von π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "ν-οστό ψηφίο του π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọnụọgụ nth nke π"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"nth digit of pi",
"digit of pi",
"pi digit",
"pi",
"π",
"digits of π",
"A000796",
"decimal digit of pi"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"Zahl von Pi",
"Stelle von Pi"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1827",
"Z31K2": [
"Z6",
"υπολογισμός του v-οστού ψηφίου του π",
"εύρεση του ν-οστού ψηφίου του π "
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Return the digit of the decimal representation of pi (starting from the 3 before the decimal point)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt die Ziffer der dezimalen Darstellung von Pi zurück. (beginnt mit der 3 vor dem Komma)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "βρίσκει ένα συγκεκριμένο ψηφίο της \"μαθηματικής σταθεράς π\" ξεκινώντας από το αριθμό 3 πριν την υποδιαστολή "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Weghachite mkpụrụọnụọgụgụ nke nnochite anya decimal nke pi (bido na 3 tupu akara nrịbasị)"
}
]
}
}
h27wj0kmi9z7w7iwdwxtd6f27snvpfr
142685
142684
2024-11-30T16:27:22Z
Feeglgeef
8776
142685
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14166"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z14166K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "position"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Stelle"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "θέση ψηφίου"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọnọdụ: Nọmba eke"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z14167",
"Z14168",
"Z14169",
"Z14170",
"Z14174",
"Z14193",
"Z14194"
],
"Z8K4": [
"Z14",
"Z14173",
"Z14187",
"Z14179",
"Z14186"
],
"Z8K5": "Z14166"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nth digit of π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "x-te Stelle von π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "ν-οστό ψηφίο του π"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọnụọgụ nth nke π"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"nth digit of pi",
"digit of pi",
"pi digit",
"pi",
"π",
"digits of π",
"A000796",
"decimal digit of pi"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"Zahl von Pi",
"Stelle von Pi"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1827",
"Z31K2": [
"Z6",
"υπολογισμός του v-οστού ψηφίου του π",
"εύρεση του ν-οστού ψηφίου του π "
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Return the digit of the decimal representation of pi (starting from the 3 before the decimal point)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt die Ziffer der dezimalen Darstellung von Pi zurück. (beginnt mit der 3 vor dem Komma)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "βρίσκει ένα συγκεκριμένο ψηφίο της \"μαθηματικής σταθεράς π\" ξεκινώντας από το αριθμό 3 πριν την υποδιαστολή "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Weghachite mkpụrụọnụọgụgụ nke nnochite anya decimal nke pi (bido na 3 tupu akara nrịbasị)"
}
]
}
}
14mxlq0dasith0sb1uxdb4hyzvxv3qk
Wikifunctions:Type proposals/bytes
4
26461
142762
93080
2024-12-01T01:06:08Z
Feeglgeef
8776
/* Comments */
142762
wikitext
text/x-wiki
== Summary ==
'''Bytes''' is a type for array of raw bytes.
== Uses ==
To store content that is not string, e.g. image, audio or video (note external data is currently not supported in Wikifunctions). Some short example of content that is not printable string includes protobuf and ASN.1 encoded data.
* We need 33-35 byte to store one tinyint (i.e. 0-255) in an array of [[Z13518]], so one persistent object can store no more than 60000 such numbers; similarly we need 28 bytes for an array of [[Z80]], so we are limited to 74000 bytes in such way.
* Storing bytes in base64 allow creating 1.5MB large binary file. (1MB if using hex and 0.5MB if using double-encoded string)
* Data larger than 1.5MB may not be stored as persistent object and must be stored elsewhere (e.g. in Commons) and received in web calls.
See also: [[m:Abstract_Wikipedia/Tasks#Task_P1.17:_REST_calls]] and [[m:Abstract_Wikipedia/Tasks#Task_O22:_Binary_type]]
Therefore we can define:
* Data shorter than 60,000 bytes is "light" data - can be stored directly as array of byte objects in JSON (though it is not performance-efficient to store like <code>["Z80",{"Z1K1":"Z80","Z80K1":"12"},{"Z1K1":"Z80","Z80K1":"34"}]</code>).
* Data between 60,000 and 1,500,000 bytes is "medium" data - currently can not be store it directly as array of bytes but can be stored as Base64, or indirectly generated via function calls.
* Data longer than 1,500,000 bytes is "heavy" data - usually Wikifunctions can not represent and handle them.
== Structure ==
JSON does support string with non-UTF-8 data, so we need to (1) either ''double'' encode it (e.g. '\\xd0\\xcf\\x11\\xe0\\xa1\\xb1\\x1a\\xe1'), or (2) store the data as Base64, or (3) hex.
Note: this is ''serialization format'' only. When executing a function, bytes in intermediate result should be stored in its raw form, not encoding/decoding once per (indirect) function calls.
We can also represent it as [[Z881|typed list]]([[Z80|bytes]]), but (1) this does not provide a proper interface to input or output the data; (2) this is not how bytes is implemented in programming languages.
=== Example values ===
(double escaped example)
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "bytes",
"value": "\\xd0\\xcf\\x11\\xe0\\xa1\\xb1\\x1a\\xe1"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": "\\xd0\\xcf\\x11\\xe0\\xa1\\xb1\\x1a\\xe1"
}</syntaxhighlight>
|}
== Validator ==
The validator ensures that:
* (double-escape) there are no overescaped characters, and no nonprintable characters
* (base64) the base64 is valid
== Identity ==
Bytes can be compared in the normal way.
== Converting to code ==
=== Python ===
Python has a built-in bytes type.
=== JavaScript ===
JavaScript has a built-in ArrayBuffer type.
== Renderer ==
Either we render it as hex (e.g. d0 cf 11 e0 a1 b1 1a e1), or use Python-style byte escaping (e.g. b'\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1').
== Parsers ==
Similar to renderer
== Alternatives ==
…
== Comments ==
* We already have the [[Z86]] type (though we've not worked on it at all, so it's likely broken in a few ways and its UX is not great). Would it be better to get that pre-defined type updated instead? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 17:12, 18 March 2024 (UTC)
** {{ping|Jdforrester (WMF)}} What I propose is a list of octets/[[Z80]] (potentially invalid in UTF-8), not a list of Unicode characters. For example AES key is an array of octets in specific length, NOT a list of Unicode characters. Note Python and JavaScript provide different types for string and bytes.--[[User:GZWDer|GZWDer]] ([[User talk:GZWDer|talk]]) 21:25, 18 March 2024 (UTC)
**:@[[User:GZWDer|GZWDer]]: OK, we also have Z80 too; this would just be Z881(Z80) then? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:52, 19 March 2024 (UTC)
*** {{ping|Jdforrester (WMF)}} (1) the interface to input and output Z881(Z80) is ugly; (2) we need 28 bytes to store each byte in a Z881(Z80), and 12-15 bytes for Python pickle dump for it. It is not an efficient way to store (and use) binary data.--[[User:GZWDer|GZWDer]] ([[User talk:GZWDer|talk]]) 11:38, 20 March 2024 (UTC)
***:Yes, I agree that the current interface isn't lovely, but it's also something on the (long) list to fix.
***:I don't know what you mean by "Python pickle dump", but the disc / network transit size of the attached packets is not a significant concern unless people are trying to abuse the system for media manipulation/etc., which is not an intended use (at least, not for now). [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 15:47, 22 March 2024 (UTC)
: 'Data shorter than 60,000 bytes is "light" data - can be stored directly as array of byte objects in JSON'
* Please, do not suggest this. Data should exclusively be stored on Wikidata, Commons, and other venues for Wikimedia movement content. Wikifunctions is for the processing of content, not storage of it. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 10:26, 26 March 2024 (UTC)
* This looks good. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:06, 1 December 2024 (UTC)
4oakq5jb31smio4iclvk2thlc79uxtt
142763
142762
2024-12-01T01:06:25Z
Feeglgeef
8776
/* Comments */
142763
wikitext
text/x-wiki
== Summary ==
'''Bytes''' is a type for array of raw bytes.
== Uses ==
To store content that is not string, e.g. image, audio or video (note external data is currently not supported in Wikifunctions). Some short example of content that is not printable string includes protobuf and ASN.1 encoded data.
* We need 33-35 byte to store one tinyint (i.e. 0-255) in an array of [[Z13518]], so one persistent object can store no more than 60000 such numbers; similarly we need 28 bytes for an array of [[Z80]], so we are limited to 74000 bytes in such way.
* Storing bytes in base64 allow creating 1.5MB large binary file. (1MB if using hex and 0.5MB if using double-encoded string)
* Data larger than 1.5MB may not be stored as persistent object and must be stored elsewhere (e.g. in Commons) and received in web calls.
See also: [[m:Abstract_Wikipedia/Tasks#Task_P1.17:_REST_calls]] and [[m:Abstract_Wikipedia/Tasks#Task_O22:_Binary_type]]
Therefore we can define:
* Data shorter than 60,000 bytes is "light" data - can be stored directly as array of byte objects in JSON (though it is not performance-efficient to store like <code>["Z80",{"Z1K1":"Z80","Z80K1":"12"},{"Z1K1":"Z80","Z80K1":"34"}]</code>).
* Data between 60,000 and 1,500,000 bytes is "medium" data - currently can not be store it directly as array of bytes but can be stored as Base64, or indirectly generated via function calls.
* Data longer than 1,500,000 bytes is "heavy" data - usually Wikifunctions can not represent and handle them.
== Structure ==
JSON does support string with non-UTF-8 data, so we need to (1) either ''double'' encode it (e.g. '\\xd0\\xcf\\x11\\xe0\\xa1\\xb1\\x1a\\xe1'), or (2) store the data as Base64, or (3) hex.
Note: this is ''serialization format'' only. When executing a function, bytes in intermediate result should be stored in its raw form, not encoding/decoding once per (indirect) function calls.
We can also represent it as [[Z881|typed list]]([[Z80|bytes]]), but (1) this does not provide a proper interface to input or output the data; (2) this is not how bytes is implemented in programming languages.
=== Example values ===
(double escaped example)
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "bytes",
"value": "\\xd0\\xcf\\x11\\xe0\\xa1\\xb1\\x1a\\xe1"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": "\\xd0\\xcf\\x11\\xe0\\xa1\\xb1\\x1a\\xe1"
}</syntaxhighlight>
|}
== Validator ==
The validator ensures that:
* (double-escape) there are no overescaped characters, and no nonprintable characters
* (base64) the base64 is valid
== Identity ==
Bytes can be compared in the normal way.
== Converting to code ==
=== Python ===
Python has a built-in bytes type.
=== JavaScript ===
JavaScript has a built-in ArrayBuffer type.
== Renderer ==
Either we render it as hex (e.g. d0 cf 11 e0 a1 b1 1a e1), or use Python-style byte escaping (e.g. b'\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1').
== Parsers ==
Similar to renderer
== Alternatives ==
…
== Comments ==
* We already have the [[Z86]] type (though we've not worked on it at all, so it's likely broken in a few ways and its UX is not great). Would it be better to get that pre-defined type updated instead? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 17:12, 18 March 2024 (UTC)
** {{ping|Jdforrester (WMF)}} What I propose is a list of octets/[[Z80]] (potentially invalid in UTF-8), not a list of Unicode characters. For example AES key is an array of octets in specific length, NOT a list of Unicode characters. Note Python and JavaScript provide different types for string and bytes.--[[User:GZWDer|GZWDer]] ([[User talk:GZWDer|talk]]) 21:25, 18 March 2024 (UTC)
**:@[[User:GZWDer|GZWDer]]: OK, we also have Z80 too; this would just be Z881(Z80) then? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:52, 19 March 2024 (UTC)
*** {{ping|Jdforrester (WMF)}} (1) the interface to input and output Z881(Z80) is ugly; (2) we need 28 bytes to store each byte in a Z881(Z80), and 12-15 bytes for Python pickle dump for it. It is not an efficient way to store (and use) binary data.--[[User:GZWDer|GZWDer]] ([[User talk:GZWDer|talk]]) 11:38, 20 March 2024 (UTC)
***:Yes, I agree that the current interface isn't lovely, but it's also something on the (long) list to fix.
***:I don't know what you mean by "Python pickle dump", but the disc / network transit size of the attached packets is not a significant concern unless people are trying to abuse the system for media manipulation/etc., which is not an intended use (at least, not for now). [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 15:47, 22 March 2024 (UTC)
: 'Data shorter than 60,000 bytes is "light" data - can be stored directly as array of byte objects in JSON'
* Please, do not suggest this. Data should exclusively be stored on Wikidata, Commons, and other venues for Wikimedia movement content. Wikifunctions is for the processing of content, not storage of it. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 10:26, 26 March 2024 (UTC)
* {{s}} This looks good. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:06, 1 December 2024 (UTC)
fvucikllmcf226do92m5c68bivnuaam
Z14460
0
26868
142744
125275
2024-11-30T23:23:37Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français
142744
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14460"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z14460K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "initial string"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "ursprüngliche Zeichenkette"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "текст"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "chaîne initiale"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z14460K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number of characters to keep"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Anzahl der Zeichen die behalten werden soll"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "кількість символів (N)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre de caractères à conserver"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z14461",
"Z16442"
],
"Z8K4": [
"Z14",
"Z14462",
"Z14595",
"Z16441"
],
"Z8K5": "Z14460"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "final N characters of string"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "weghachi naani"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "letzte N Zeichen der Zeichenkette"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "Останні N символів рядка"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "N finaux caractères d'une chaîne"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"get final N characters of string",
"get characters from end of string",
"characters at end of string",
"end of string",
"substring at end of string",
"chop string",
"final part of string",
"last N characters of string",
"last characters of string",
"right"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"Zeichen vom Ende der Zeichenkette",
"Zeichen am Ende der Zeichenkette",
"Ende der Zeichenkette",
"Teilzeichenkette am Ende der Zeichenkette",
"Zeichenkette abhacken",
"letzter Teil der Zeichenkette",
"letzte Zeichen der Zeichenkette"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"N derniers chiffres à conserver, N dernières lettres à conserver, N derniers caractères à conserver"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "return only the last N characters of the initial string"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "weghachi naanị mkpụrụedemede N ikpeazụ nke eriri mbụ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt nur die letzten N Zeichen der ursprünglichen Zeichenkette zurück"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "повертає останні N символів текстового рядка, відкидуючи все що перед ними"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie uniquement les N derniers caractères de la chaîne initiale"
}
]
}
}
5lx321cloegqhomaefy8wu95amaqjb2
Z14461
0
26869
142749
92610
2024-11-30T23:27:14Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142749
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14461"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z14460",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z14460",
"Z14460K1": "Hello, world!",
"Z14460K2": {
"Z1K1": "Z13518",
"Z13518K1": "6"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "world!"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "last 6 characters of \"Hello, world!\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "les six derniers caractères d'\"Hello, world!\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9t2gh10804b4mpuzh0t2i2juamm880f
Z14462
0
26870
142745
112363
2024-11-30T23:24:46Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142745
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14462"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z14460",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z14460(Z14460K1, Z14460K2):\n\treturn Z14460K1[-Z14460K2:]"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "final N characters, python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "mkpụrụedemede N ikpeazụ, Python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "N finaux caractères d'une chaîne, en Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fa50h0ifu6in7bp24615znwplkr15ur
142748
142745
2024-11-30T23:26:10Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142748
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14462"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z14460",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z14460(Z14460K1, Z14460K2):\n\treturn Z14460K1[-Z14460K2:]"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "final N characters, python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "mkpụrụedemede N ikpeazụ, Python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "N finaux caractères d'une chaîne, en Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie uniquement les N derniers caractères de la chaîne initiale"
}
]
}
}
rkmq8jjq8m7mbwuc0d0096p6cqjxoul
Z14595
0
27599
142747
112364
2024-11-30T23:25:56Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142747
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z14595"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z14460",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10012",
"Z10012K1": {
"Z1K1": "Z7",
"Z7K1": "Z14592",
"Z14592K1": {
"Z1K1": "Z7",
"Z7K1": "Z10012",
"Z10012K1": {
"Z1K1": "Z18",
"Z18K1": "Z14460K1"
}
},
"Z14592K2": {
"Z1K1": "Z18",
"Z18K1": "Z14460K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "final characters Composition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "mkpụrụedemede ikpeazụ Nhazi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "N finaux caractères d'une chaîne, en Composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "reverse first characters of reversed string"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "tụgharịa mkpụrụedemede mbụ nke eriri tụgharịrị"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie uniquement les N derniers caractères de la chaîne initiale"
}
]
}
}
9e3wl8dn8kr0tga3cdux2zdhe2xzp67
Z16441
0
30784
142746
112365
2024-11-30T23:25:50Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142746
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z16441"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z14460",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z14460( Z14460K1, Z14460K2 ) {\n return Z14460K1.slice(-Number(Z14460K2));\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "final N characters, JS"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "mkpụrụedemede N ikpeazụ, JS"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "N finaux caractères d'une chaîne, en JavaScript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "return the negative slice of the specified length"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "laghachi na-adịghị mma iberi nke kpọmkwem ogologo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie uniquement les N derniers caractères de la chaîne initiale"
}
]
}
}
rj3a8sxoh1rh3yl9y5bd1ri7ygq0qr1
Z16809
0
31799
142750
108290
2024-11-30T23:29:04Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142750
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z16809"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z14460",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z14460",
"Z14460K1": "Жебракували філософи на ґанку церкви в Гадячі, ще й шатро їх п'яне знаємо",
"Z14460K2": {
"Z1K1": "Z13518",
"Z13518K1": "26"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "ще й шатро їх п'яне знаємо"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1332",
"Z11K2": "Останні N символів кирилічного рядка"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Last N characters of a cyrillic string"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "derniers 26 caractères d'une chaîne en cyrillique"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
94wcfr07xrci2bgpjjyq9qkx6ttsufw
Wikifunctions:Type proposals/Kleenean
4
32403
142764
134487
2024-12-01T01:09:17Z
Feeglgeef
8776
142764
wikitext
text/x-wiki
== Summary ==
The kleenean type represents values of three-valued logic: true, false and maybe
== Uses ==
* ''Why should this exist?''
So that we can represent three-valued logic.
* ''What kinds of functions would be created using this?''
Most Boolean functions can be made to work with Kleeneans instead.
* ''What standard concepts, if any, does this align with?''
The three-valued logic proposed by Stephen Cole Kleene.
See [[Wikifunctions:Project_chat/Archive/2024/06#Overloading_types_(or_not)]]
== Structure ==
Kleeneans are represented as an enumeration with three values. Like all enumeration types, the Kleenean consists of a single key. The key is an identity key.
=== Values ===
There are three values.
# False
# Maybe
# True
=== Example values ===
Value
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Kleenean",
"value": "True"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Znnnnn",
"ZnnnnnK1": "Zmmmmm"
}</syntaxhighlight>
|}
== Validator ==
The validator ensures that:
* the identity key points directly to a value of Kleenean
== Identity ==
Two Kleeneans are the same if their identity is the same ZID.
== Converting to code ==
=== Python ===
We represent them as numbers: 1 for true, 0 for maybe, and -1 for false.
=== JavaScript ===
We represent them as numbers: 1 for true, 0 for maybe, and -1 for false.
== Renderer ==
As for all enumerations, the renderer displays the label of the value object.
== Parsers ==
As with all enumerations, there is no parser, but a selector based on pre-defined values.
== Alternatives ==
We could use [[Z40]] plus [[Z24]], however that would require proper union types to correctly type in functions, which we do not have.
We could use sign, however the UI for that would not be great: Kleenean and (positive, neutral)
We could also represent them in code as 1 for true, 0.5 for maybe, and 0 for false
== Comments ==
* {{s}} as proposer. <del>I am not a fan of the conversion to code but I do not know what we should do for that.</del> [[User:ScienceD90|ScienceD90]] ([[User talk:ScienceD90|talk]]) 19:56, 17 June 2024 (UTC)
* <del>{{weak oppose}}</del> {{s}} (see replies) - is it really necessary? Functionally, the {{Z|16659}} object is really similar. I'm not opposed to the idea of making signs have Kleenean logic, though. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 18:52, 21 July 2024 (UTC)
*:I made this proposal to avoid conflation between signs and Kleeneans. Which is easier to understand: Kleenean and (positive, neutral) or Kleenean and (Kleenean true, Kleenean maybe)? -- [[User:ScienceD90|ScienceD90]] ([[User talk:ScienceD90|talk]]) 12:35, 22 July 2024 (UTC)
*:: Fair enough, casting between the two should be fairly easy if that's desired anyway. Changing my vote to a {{s}}. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 19:22, 22 July 2024 (UTC)
* {{s}} --'''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 17:39, 27 October 2024 (UTC)
* {{s}} LGTM. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:09, 1 December 2024 (UTC)
enu2w9213euzkr8j05eedrp30zkg1wk
Wikifunctions:Type proposals/Gregorian calendar date
4
32934
142664
142658
2024-11-30T13:06:35Z
Feeglgeef
8776
/* Discussion */ Reply
142664
wikitext
text/x-wiki
== Summary ==
A Gregorian calendar date identifies a specific day using the Gregorian calendar system introduced in 1582. It is the most widely used calendar system today.
The Type is proleptic, i.e. it is also calculated backwards before its introduction.
There is no year 0. Another type can be introduced that has a year 0. The Type is naïve with regards to UTC, i.e. it ignores it as it only resolves to the level of days. When we introduce Functions and Types with a higher resolution, we need to resolve possible discrepancies.
== Uses ==
* ''Why should this exist?''
In order to be able to reference dates and have functions that work with dates.
* ''What kinds of functions would be created using this?''
** How old was a person when they died?
** How many days have passed between two days
** What day of the week was a certain day (requires days of the week as a type)
** What is this date in another calendar? (requires the other calendar)
** What is the Julian number of a given date?
** When is Easter Sunday in a given year? (one of the main use cases for introducing the calendar)
* ''What standard concepts, if any, does this align with?''
The Gregorian calendar date is widely used. It was introduced through the Papal bull Inter gravissimas.
This is not the same as the time datatype in Wikidata, but it can be used in using it.
== Structure ==
A Gregorian calendar date has two keys:
# K1 of Type [[Wikifunctions:Type proposals/Gregorian year|Gregorian year]]
# K2 of Type [[Wikifunctions:Type proposals/Day of Roman year|Roman day of the year]]
=== Example values ===
Value for October 27, 2014:
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Gregorian calendar date",
"year": {
"type": "Gregorian year",
"era": "CE",
"year": {
"type": "Natural number",
"value": "2014"
}
},
"day of the year": {
"type": "Day of the Roman year",
"month": "October",
"day": {
"type": "Natural number",
"value": "27"
}
}
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Znnn",
"ZnnnK1": {
"Z1K1": "Zppp",
"ZpppK1": "Zqqq",
"ZpppK2": {
"Z1K1": "Z13518",
"Z13518K1": "2014"
}
},
"ZnnnK2": {
"Z1K1": "Zmmm",
"ZmmmK1": "Z16110",
"ZmmmK2": {
"Z1K1": "Z13518",
"Z13518K1": "27"
}
}
}</syntaxhighlight>
|}
== Validator ==
The validator ensures that:
* February 29 only appears in leap years
* Further validation will be performed by the types used in the keys.
* If we limit the years, the validator should implement the limitations
== Identity ==
Two dates are the same if their day of the year and their year are the same.
== Converting to code ==
=== Python ===
Here are three proposals how to convert to Python.
==== 4 keys ====
We convert the Gregorian calendar into a dictionary with the following structure (for the above example date):
<syntaxhighlight lang="python">{
'K1': True,
'K2': 2014,
'K3': 10,
'K4': 27
}</syntaxhighlight>
==== 3 keys ====
1 BC is represented by 0, and 2 BC by -1, etc.
<syntaxhighlight lang="python">{
'K1': 2014,
'K2': 10,
'K3': 27
}</syntaxhighlight>
==== 2 keys ====
We could use a two-key object, with one key being Python's date object, and the other being an offset. The offset must be a multiple of 400, in order to ensure that weekdays line up. It is usually 0, unless it is out of range for Python (i.e. after December 31st 9999 or before January 1st 1). For conversion, the offset is a multiple of 2000. The multiple can be negative.
<syntaxhighlight lang="python">{
'K1': datetime.date(2014, 10, 27),
'K2': 0
}</syntaxhighlight>
The proper handling of the offset is a bit iffy.
=== JavaScript ===
==== 4 keys ====
We will use the following object to convert to:
<syntaxhighlight lang="javascript">{
K1: true,
K2: 2014n,
K3: 9,
K4: 27
}</syntaxhighlight>
Note that as with Gregorian calendar months, months are started to be counted with 0, i.e. October is 9, not 10.
==== 3 keys ====
We will use the following object:
<syntaxhighlight lang="javascript">{
K1: 2014n,
K2: 9,
K3: 27
}</syntaxhighlight>
Non-positive numbers for K1 represent the years BC, with 0 being 1 BC, -1 being 2 BC, etc.
==== 2 keys ====
The language standard Date object has an impressive range, covering more than a quarter million years into the future and the past (to be exact, from 20 April 271821 BCE to 13 September 275760 CE). Nevertheless, in order to cover the unlimited range of the Wikifunctions type, we need more.
We use a two-key object, with one key being JavaScript's Date object, and the other being an offset. The offset must be a multiple of 200000 as a BigInt, in order to ensure that weekdays line up. It is usually 0, unless it is out of range for JavaScript (i.e. after September 13th 275760 or before April 20th 271821 BC). The multiple can be negative.
<syntaxhighlight lang="javascript">{
K1: new Date(2014, 10, 27),
K2: 0n
}</syntaxhighlight>
The proper handling of the offset is a bit iffy.
==== Pure date object ====
We limited to dates for the Gregorian calendar date in the range of arbitrary years within the range of the JavaScript object, e.g. we say that all dates have to be before 100000AD and after 100000BC. In that case we can just use JavaScript's builtin Date object directly.
== Renderer ==
Renderers depend on the language. We will start with a general renderer outputting an ISO string as the default behaviour, i.e. “2014-10-27 CE”, but we will have a configuration that can be adjusted for a given language, e.g. "27 October 2014" or "le 27 octobre 2014 AD".
== Parsers ==
Parsers depend on the language. We will start with a general parser that can take an ISO string as the default behaviour, but we will have a configuration that can be adjusted for a given language.
== Alternatives ==
# We could use different calendars for dates. And we certainly should! This is just to support a first calendar. Proposals for other calendars are welcome.
# We could follow ISO 8601 and have a year 0. But this would be inconsistent with most usages on Wikipedia. The suggestion is that we should have an ISO 8601 compatible calendar date as its own Type.
# The Type could be non-proleptic, i.e. not allow dates before its introduction (though its introduction varied by location and polity, so this becomes complicated).
# The Type could use both the Julian calendar before the introduction of the Gregorian calendar, and Gregorian aftwards, instead of being proleptic. Whereas such a date Type might be very interesting, as it may be the closest to what most written texts including Wikipedia and encyclopaedias are doing, it would be very difficult to implement correctly, might be confusing for users, and it would need an underlying proleptic Gregorian calendar date as a supporting Type anyway. So, we start here with the proleptic Gregorian calendar date, and allow for the development of a more complex Type later, that supports a mixed calendar model.
# Instead of using two keys with the new “day of the Roman year” Type and “Gregorian year” type, we could have a flatter representation with four keys, for a day, month, year, and era. Since both these subtypes seem useful in their own right, we used the more composed approach instead.
# some mixes between the previous and current proposal could also be possible, i.e. flatten the day of the year but not the year or the other way around.
# Instead of using a year and an era, we could use the Integer Type, and interpret negative numbers as being BCE. This seems more aligned with the ISO 8601 calendar though, which allows a year 0. Since we do not have a year 0, using the Integer Type could easier lead to mistakes.
# We could represent every day with just an Integer for the Julian day number, and make it look like a calendar day using parsers and renderers.
# The Type could be aware of UTC and define itself with a specific time zone in mind. There is a necessity for a naive date type, in order to express birthdays, events, etc., which often are intentionally naive with regards to a timezone (e.g. if a person is born in San Francisco at 23:30 on December 31st 2000, the person would have been born on January 1st 2001 6:30 UTC. We don’t want to record their Birthdate as January 1st 2001 instead of December 31st 2000. So we need to have Functions that assume naivety with regards to UTC.
# Instead of leaving unlimited time frames, we could stop at some big (but ultimately arbitrary) date, e.g. 100,000 BCE to 100,000 CE. Given the imprecision of the Gregorian calendar and the change in speed of the Earth, it is likely that the Gregorian proleptic calendar would fail outside of this time frame anyway. In addition, this would allow us to use the built-in JavaScript Date object, which could be a real advantage of this limitation. Dates outside this timeframe seem extremely rare.
# We could even constrain it to the space that Python covers (from 1CE to 9999 CE), but that seems too limiting
== Discussion ==
* {{s}} as proposer with the three-key representation. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 20:30, 26 June 2024 (UTC)
*:Another alternative is a variation of 8 that recognises that the Gregorian calendar is a 146,097-day cycle. Specifying a Natural number representing the day within the cycle and an integer representing the cycle is guaranteed to convert as simply as possible. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:23, 27 November 2024 (UTC)
*::(Bearing in mind that 146,097 is a multiple of seven, so the weekdays also repeat.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:22, 27 November 2024 (UTC)
*::{{o}} this, we should approach how people think of a calendar. This is convincing in its simplicity. Maybe its own type in the mid-far future? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:28, 27 November 2024 (UTC)
*:::Yeah, that’s why I flagged it as an “alternative”. It’s relevant for extensions beyond the ranges supported by date types in Python and JavaScript, however, as in [[Z20311]]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:52, 27 November 2024 (UTC)
* {{S}} will be a useful type --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 17:54, 6 July 2024 (UTC)
* I'm personally in favor of a three key type converter, where K1 is the ISO year, same as the existing year type converter, K2 is the month, from 1-12, and K3 is the day, from 1-31. This would be better than the offset system, which I think will lead to confusion and complicate things, and better than the 4 key system, because it matches the year conversion and is easier to work with. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:29, 27 November 2024 (UTC)
*:@[[User:Feeglgeef|Feeglgeef]] I like the proposal in general, but shouldn't the month be 0-11 in JavaScript and 1-12 in Python, to keep it consistent with the respective languages? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 18:53, 27 November 2024 (UTC)
*::Yes, sorry! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:11, 27 November 2024 (UTC)
*:# I can’t see why the Wikifunctions representation of month would be anything other than [[Z16098]]. This avoids any possibility of confusion between days and months. It already converts to an integer in Python and JavaScript and I’m not aware of any issues with that.
*:# Automatic conversion to native Date representations in code is a high priority. I don’t see that introducing an intermediate representation (as in the original proposal) is an advantage.
*:#Avoiding a year zero is desirable, but precise dates from the period are uncommon and, of course, were not recorded using this calendar.
*:#For years, I do see advantages in consistency with ISO 8601, however. It may be unimportant to recall that the ISO 8601 representation of a year is a string with a minimum of four characters (where year 0000 represents 1 BC). Years outside this range require an initial + or - character. This converts easily to an integer, of course, but the decision of when to convert it for Wikifunctions seems finely balanced. A hybrid representation with an ISO 8601 string year and a [[Z16098]] seems a viable date object, at least, and would offer simpler conversions to an ISO 8601 type, once it’s available.
*:#It would seem a little odd not to extend that thinking to the day as well. However, I think people generally intuit the day of the month as a positive Natural number. I am tempted to propose a new type of “little counting number” that represents the natural numbers from 1 to 31, but I won’t.
*:#I see no real advantage in embedding the day of the month within a [[Z20342]] (in the case where the year is known), but consistency between the date type and [[Z20342]] should be conserved, even if that means changes to [[Z20342]]. This reinforces point 1.
*:#{{neutral}} {[[Z6]], [[Z16098]], [[Z13518]]}, where [[Z6]] is an ISO 8601 representation of the year (which would be better as a specific subtype of Type Z6, even if that is a general “constrained string” of some kind (with a Regular Expression filter, for example)).
*:#{{neutral}} {[[Z16683]], [[Z16098]], [[Z13518]]}. This is likely to be less efficient because of the explicit [[Z16659]] in the [[Z16683]].
*:[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:25, 28 November 2024 (UTC)
* I'm going to create a definition of this type from scratch, as I'd like to make this technically real-calendar independent. Below is a possibly up-for-interpretation definition I will use.
** "The start of 30 Nov" will be the start of the date 30 November, 2024 in [[w:UTC]], around the time this comment was sent. It is the Unix timestamp in seconds 1732924800. You can view said time in your timezone [https://zonestamp.toolforge.org/1732924800 here]
: With that out of the way, here's my definition for this type:
: A day is equal to the duration of 794,243,384,932,000 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium 133 atom, at rest, at a temperature of absolute zero
: A month can be equal to anywhere from 28-31 days.
:* January is 31 days long
:* February is 28 or 29 days long, depending on whether the day is in a leap year.
:* March is 31 days long
:* April is 30 days long
:* May is 31 days long
:* June is 30 days long
:* July is 31 days long
:* August is 31 days long
:* September is 30 days long
:* October is 31 days long
:* November is 30 days long
:* December is 31 days long
:A literal year is equal to the duration of 290,091,439,521,026,010 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium 133 atom, at rest, at a temperature of 0 Kelvin
:To advance days, you add one to the day number in the month. If this number becomes larger than the length of the month, the day number is set to 1 and the month is incremented by 1. If the month is December, one is added to the calendar year counter, and the month counter is reset to January and the day counter to 1.
:The start of 30 Nov is the time at which the day 30 November 2024 (Day counter: 30, Month: November, Calendar year: 2024) is started, thus, 1 December 2024 (Day counter: 1, Month: December, Calendar year: 2024) counter starts one day after 30 November.
:This can also be applied in reverse, so the 29 November 2024 (Day counter: 29, Month: November, Calendar year: 2024) starts one day before The start of 30 Nov.
:Because there is not a round number of days in one literal year, some calendar years are leap years, where February has 29 days. February only has 29 days in calendar years where the number is visible by 4, and, either the number is not divisible by 100 or the number is divisible by 400
:Days can be added or subtracted infinitely. The only anchor for this system is The start of 30 Nov.
:When the Calendar year goes to or above 0, the date to be in the era BC. Otherwise, the date is in the era AD
:Every day has an attached Weekday. Weekdays are a cycle of 7. They are Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, where adding one day moves one forward, and removing one day moves one backward. The day of 30 November 2024 is Saturday.
: I hope this clears everything up. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 00:06, 30 November 2024 (UTC)
::The current definition of the SI second is likely to be superseded within ten years.
::https://www.bipm.org/en/redefinition-second
::Although it is unlikely that additional leap seconds will be agreed between now and 2035 (when it has been agreed that they will cease), it makes sense to define t<sub>O</sub> as some point in 2036. I don’t see the relevance of the definition of a second for this particular type, however. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:59, 30 November 2024 (UTC)
:::I don't see where the definition of a second is mentioned? This actively avoids said definition. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:06, 30 November 2024 (UTC)
== Comments and Votes ==
Given the above options for conversion, which ones should be used?
* I am for the three key solution, for both Python and JavaScript --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 20:11, 28 November 2024 (UTC)
*I would prefer three keys as well. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 20:25, 28 November 2024 (UTC)
*Three keys, as effective proposer. Two keys looks good on paper, but when I did testing with it I found it to have too many flaws, especially with full support of all years, and I don't think it would be appropriate for a type that does support BC years. I think we should have a type in the future for the 1-9999 AD range, so that we can convert well in Python. Thanks![[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:38, 28 November 2024 (UTC)
:@[[User:GrounderUK|GrounderUK]] @[[User:Ameisenigel|Ameisenigel]] @[[User:Feeglgeef|Feeglgeef]] -- pings to see if you have thoughts on the three options. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 20:14, 28 November 2024 (UTC)
::{{ping|99of9}} too [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:39, 28 November 2024 (UTC)
::JavaScript’s range is difficult to justify, so extending it further by the use of a BigInt for the year seems gratuitous. As it adds some complexity for the coder if the three numbers are of different types, I would prefer to see the year being converted into a Number (integer) (or an ISO 8601 string if the BigInt range is important).
::On the assumption that some sort of access to common Python functions (implementations) will become available even if full re-entrancy (across languages) is delayed, I’m inclined to oppose conversion to a Python Date object with offset. I don’t oppose a separate value representing the Gregorian era, allowing the avoidance of a year zero but it would be confusing to diverge from JavaScript for little benefit. (This would a little weight to the option for the year to be an ISO 8601 string in both conversions but I don’t believe Python
::natively supports the extended range above 9999 or below 0000, so, in fact, it pushes us back to an integer year.)
::So, yeah…
::{{S}} Three keys, with the year as either Number or BigInt in JavaScript, depending on whether the range is limited by the converter (which I would argue is sensible, even if the JavaScript limits are not chosen; the actual limits could be changed with little or no impact, so long as they remain within the safe integer range, I believe). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:25, 29 November 2024 (UTC)
ajr4tv9nfda2ajmob8kda11mubpke9w
Wikifunctions:Type proposals/RGBA color
4
34574
142765
139041
2024-12-01T01:10:12Z
Feeglgeef
8776
/* Comments */
142765
wikitext
text/x-wiki
== Summary ==
Having a format for colors would be nice - as they already have functions dedicated to them ({{Z|13023}}, {{Z|12997}}, and {{Z|13028}}, just to name a few.) However, all of these work either off of hex codes or natural number values - which isn't always the case. This proposal would use a range of 0-1 using [[Wikifunctions:Type_proposals/Rational_number]] for red, green, blue, and (optionally) alpha, to increase flexibility.
== Uses ==
This would allow for more specific typing, as well as allowing uses outside of the 8-bit RGB color space.
== Structure ==
The structure is simply an object with 4 keys - for the red, green, blue, and alpha fields - with a rational number inside each.
=== Example values ===
Value <code>#0080ff</code>
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "RGBA color",
"red": {
"type": "rational number",
"numerator": {
"type": "integer",
"sign": "neutral",
"absolute value": {
"type": "natural number",
"value": "0"
}
}
"denominator": {
"type": "natural number",
"value": "1"
}
},
"green": {
"type": "rational number",
"numerator": {
"type": "integer",
"sign": "neutral",
"absolute value": {
"type": "natural number",
"value": "128"
}
}
"denominator": {
"type": "natural number",
"value": "255"
}
},
"blue": {
"type": "rational number",
"numerator": {
"type": "integer",
"sign": "neutral",
"absolute value": {
"type": "natural number",
"value": "1"
}
}
"denominator": {
"type": "natural number",
"value": "1"
}
},
"alpha": {
"type": "rational number",
"numerator": {
"type": "integer",
"sign": "neutral",
"absolute value": {
"type": "natural number",
"value": "1"
}
}
"denominator": {
"type": "natural number",
"value": "1"
}
}
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zccccc",
"ZcccccK1": {
"Z1K1": "Zmmmmm",
"ZmmmmmK1": {
"Z1K1": "Z16683",
"Z16683K1": "Z16661",
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
}
"ZmmmmmK2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"ZcccccK2": {
"Z1K1": "Zmmmmm",
"ZmmmmmK1": {
"Z1K1": "Z16683",
"Z16683K1": "Z16661",
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "128"
}
}
"ZmmmmmK2": {
"Z1K1": "Z13518",
"Z13518K1": "255"
}
},
"ZcccccK3": {
"Z1K1": "Zmmmmm",
"ZmmmmmK1": {
"Z1K1": "Z16683",
"Z16683K1": "Z16661",
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
"ZmmmmmK2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"ZcccccK4": {
"Z1K1": "Zmmmmm",
"ZmmmmmK1": {
"Z1K1": "Z16683",
"Z16683K1": "Z16661",
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
"ZmmmmmK2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
}</syntaxhighlight>
|}
== Validator ==
The validator ensures that the fractions are in the range of 0-1, inclusive.
== Identity ==
Two colors are the same if all keys are the same.
== Converting to code ==
=== Python ===
A Tuple of fractions, in RGBA order. For the example value, this would be <code>(Fraction(0, 1), Fraction(128, 255), Fraction(1, 1), Fraction(1, 1))</code>.
=== JavaScript ===
An array of fractions, in RGBA order. For the example value, this would be <code>[[0, 1], [128, 255], [1, 1], [1,1]]</code>
== Renderer ==
If the color would fit inside the typical 8-bit color hex format, it can be formatted as <code>#rrggbbaa</code>. Alpha should only be shown if it is not 1 (the default), and digits a-f should be in lowercase. If it doesn't fit in the normal format, it should default to showing the fractions in RGBA order. For example: <code>[1/1, 2/3, 951/1327, 1/1]</code>.
== Parsers ==
Parsers should be able to read the same formats the renderer puts out [hex codes or fractional representation].
== Alternatives ==
# Instead of rational numbers, float64s could be used. They'd be a bit easier to work with without giving up too much precision.
# There are numerous other color standards that could work instead, like HSV or CIELAB.
# The alpha channel may not be necessary.
# We could store the values as bytes.
== Comments ==
* {{s}} as proposer. [[User:Infernostars|infernostars]] <small>([[User talk:Infernostars|talk]]) ([[Special:Contributions/Infernostars|contribs]])</small> 19:40, 21 July 2024 (UTC)
* {{s}} Could be useful in dealing with color theory, effects, etc. [[User:DigitalCross|DigitalCross]] ([[User talk:DigitalCross|talk]]) 21:46, 21 July 2024 (UTC)
* {{S}} The amount of functions working on colors will only grow, it would be nice to have a standard color type for them -- [[User:ScienceD90|ScienceD90]] ([[User talk:ScienceD90|talk]]) 21:58, 21 July 2024 (UTC)
* {{s}} -- [[User:Asked42|Asked42]] ([[User talk:Asked42|talk]]) 19:33, 23 July 2024 (UTC)
* {{s}} -- '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 15:49, 13 October 2024 (UTC)
* {{o}}, I think CIELAB would be a better first color type. <s>{{s}}, we need a standard for color functions to work with.</s> [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 23:53, 16 November 2024 (UTC)
j35gjwcf4c9tk2yuuw1cgkpxd0ir8sm
Z19223
0
41127
142751
133172
2024-11-30T23:31:57Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142751
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19223"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z19223K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Country code (2-letter)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "code du pays (deux lettres)"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z19223K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Use official name?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "utiliser le nom officiel ?"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z19225",
"Z19226",
"Z19227"
],
"Z8K4": [
"Z14",
"Z19224"
],
"Z8K5": "Z19223"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Convert ISO 3166 country code to name"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertir le code ISO 3166 d'un pays en nom"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Convert country code to name"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Convert ISO 2-letter 3166 country code to the name, either to the ISO 3166 name or the Official state name (wp used as source)"
}
]
}
}
hr6n36b133u2v9rfzvbmnb23nzirx8c
142752
142751
2024-11-30T23:37:15Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142752
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19223"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z19223K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Country code (2-letter)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "code du pays (deux lettres)"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z19223K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Use official name?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "utiliser le nom officiel ?"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z19225",
"Z19226",
"Z19227"
],
"Z8K4": [
"Z14",
"Z19224"
],
"Z8K5": "Z19223"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Convert ISO 3166 country code to name"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertir le code ISO 3166 d'un pays en nom"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Convert country code to name"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Convert ISO 2-letter 3166 country code to the name, either to the ISO 3166 name or the Official state name (wp used as source)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertis le code ISO 3166 d'un pays, exprimé en deux lettres, en son nom en anglais, le nom pouvant être officiel ou pas"
}
]
}
}
npo5gmve3fgifs0xlpcypox6vlm8ndu
142809
142752
2024-12-01T06:39:18Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142809
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19223"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z19223K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Country code (2-letter)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "code ISO 3166 du pays (en deux lettres)"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z19223K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Use official name?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "utiliser le nom officiel ?"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z19225",
"Z19226",
"Z19227"
],
"Z8K4": [
"Z14",
"Z19224"
],
"Z8K5": "Z19223"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Convert ISO 3166 country code to name"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertir le code ISO 3166 d'un pays en nom"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Convert country code to name"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Convert ISO 2-letter 3166 country code to the name, either to the ISO 3166 name or the Official state name (wp used as source)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertis le code ISO 3166 d'un pays, exprimé en deux lettres, en son nom en anglais, le nom pouvant être officiel ou pas"
}
]
}
}
ilb9moa9a8tewvjocxta567w19l8rkk
Z19224
0
41128
142753
133147
2024-11-30T23:39:04Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142753
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19224"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z19223",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z19223( Z19223K1, Z19223K2 ) {\n\tconst countries = {\n \"AF\": [\"Afghanistan\", \"the Islamic Republic of Afghanistan\"],\n \"AX\": [\"Åland Islands\", \"Åland\"],\n \"AL\": [\"Albania\", \"the Republic of Albania\"],\n \"DZ\": [\"Algeria\", \"the People's Democratic Republic of Algeria\"],\n \"AS\": [\"American Samoa\", \"American Samoa\"],\n \"AD\": [\"Andorra\", \"the Principality of Andorra\"],\n \"AO\": [\"Angola\", \"the Republic of Angola\"],\n \"AI\": [\"Anguilla\", \"Anguilla\"],\n \"AQ\": [\"Antarctica\", \"Antarctica\"],\n \"AG\": [\"Antigua and Barbuda\", \"Antigua and Barbuda\"],\n \"AR\": [\"Argentina\", \"the Argentine Republic\"],\n \"AM\": [\"Armenia\", \"the Republic of Armenia\"],\n \"AW\": [\"Aruba\", \"the Country of Aruba\"],\n \"AU\": [\"Australia\", \"the Commonwealth of Australia\"],\n \"AT\": [\"Austria\", \"the Republic of Austria\"],\n \"AZ\": [\"Azerbaijan\", \"the Republic of Azerbaijan\"],\n \"BS\": [\"Bahamas\", \"the Commonwealth of The Bahamas\"], \n \"BH\": [\"Bahrain\", \"the Kingdom of Bahrain\"],\n \"BD\": [\"Bangladesh\", \"the People's Republic of Bangladesh\"],\n \"BB\": [\"Barbados\", \"Barbados\"],\n \"BY\": [\"Belarus\", \"the Republic of Belarus\"],\n \"BE\": [\"Belgium\", \"the Kingdom of Belgium\"],\n \"BZ\": [\"Belize\", \"Belize\"],\n \"BJ\": [\"Benin\", \"the Republic of Benin\"],\n \"BM\": [\"Bermuda\", \"Bermuda\"],\n \"BT\": [\"Bhutan\", \"the Kingdom of Bhutan\"],\n \"BO\": [\"Bolivia\", \"the Plurinational State of Bolivia\"],\n \"BQ\": [\"Bonaire, Sint Eustatius and Saba\", \"Bonaire, Sint Eustatius and Saba\"],\n \"BA\": [\"Bosnia and Herzegovina\", \"Bosnia and Herzegovina\"],\n \"BW\": [\"Botswana\", \"the Republic of Botswana\"],\n \"BV\": [\"Bouvet Island\", \"Bouvet Island\"],\n \"BR\": [\"Brazil\", \"the Federative Republic of Brazil\"],\n \"IO\": [\"British Indian Ocean Territory\", \"the British Indian Ocean Territory\"],\n \"BN\": [\"Brunei\", \"Brunei Darussalam\"], \n \"BG\": [\"Bulgaria\", \"the Republic of Bulgaria\"],\n \"BF\": [\"Burkina Faso\", \"Burkina Faso\"],\n \"BI\": [\"Burundi\", \"the Republic of Burundi\"],\n \"CV\": [\"Cabo Verde\", \"the Republic of Cabo Verde\"], \n \"KH\": [\"Cambodia\", \"the Kingdom of Cambodia\"],\n \"CM\": [\"Cameroon\", \"the Republic of Cameroon\"],\n \"CA\": [\"Canada\", \"Canada\"],\n \"KY\": [\"Cayman Islands\", \"the Cayman Islands\"],\n \"CF\": [\"Central African Republic\", \"the Central African Republic\"],\n \"TD\": [\"Chad\", \"the Republic of Chad\"],\n \"CL\": [\"Chile\", \"the Republic of Chile\"],\n \"CN\": [\"China\", \"the People's Republic of China\"],\n \"CX\": [\"Christmas Island\", \"the Territory of Christmas Island\"],\n \"CC\": [\"Cocos (Keeling) Islands\", \"the Territory of Cocos (Keeling) Islands\"],\n \"CO\": [\"Colombia\", \"the Republic of Colombia\"],\n \"KM\": [\"Comoros\", \"the Union of the Comoros\"],\n \"CD\": [\"Democratic Republic of the Congo\", \"the Democratic Republic of the Congo\"], \n \"CG\": [\"Republic of the Congo\", \"the Republic of the Congo\"], \n \"CK\": [\"Cook Islands\", \"the Cook Islands\"],\n \"CR\": [\"Costa Rica\", \"the Republic of Costa Rica\"],\n \"CI\": [\"Côte d'Ivoire\", \"the Republic of Côte d'Ivoire\"], \n \"HR\": [\"Croatia\", \"the Republic of Croatia\"],\n \"CU\": [\"Cuba\", \"the Republic of Cuba\"],\n \"CW\": [\"Curaçao\", \"the Country of Curaçao\"],\n \"CY\": [\"Cyprus\", \"the Republic of Cyprus\"],\n \"CZ\": [\"Czechia\", \"the Czech Republic\"], \n \"DK\": [\"Denmark\", \"the Kingdom of Denmark\"],\n \"DJ\": [\"Djibouti\", \"the Republic of Djibouti\"],\n \"DM\": [\"Dominica\", \"the Commonwealth of Dominica\"],\n \"DO\": [\"Dominican Republic\", \"the Dominican Republic\"],\n \"EC\": [\"Ecuador\", \"the Republic of Ecuador\"],\n \"EG\": [\"Egypt\", \"the Arab Republic of Egypt\"],\n \"SV\": [\"El Salvador\", \"the Republic of El Salvador\"],\n \"GQ\": [\"Equatorial Guinea\", \"the Republic of Equatorial Guinea\"],\n \"ER\": [\"Eritrea\", \"the State of Eritrea\"],\n \"EE\": [\"Estonia\", \"the Republic of Estonia\"],\n \"SZ\": [\"Eswatini\", \"the Kingdom of Eswatini\"], \n \"ET\": [\"Ethiopia\", \"the Federal Democratic Republic of Ethiopia\"],\n \"FK\": [\"Falkland Islands\", \"the Falkland Islands\"], \n \"FO\": [\"Faroe Islands\", \"the Faroe Islands\"],\n \"FJ\": [\"Fiji\", \"the Republic of Fiji\"],\n \"FI\": [\"Finland\", \"the Republic of Finland\"],\n \"FR\": [\"France\", \"the French Republic\"],\n \"GF\": [\"French Guiana\", \"Guyane\"], \n \"PF\": [\"French Polynesia\", \"Overseas Lands of French Polynesia\"], \n \"TF\": [\"French Southern Territories\", \"the French Southern and Antarctic Lands\"], \n \"GA\": [\"Gabon\", \"the Gabonese Republic\"],\n \"GM\": [\"Gambia\", \"the Republic of The Gambia\"], \n \"GE\": [\"Georgia\", \"Georgia\"],\n \"DE\": [\"Germany\", \"the Federal Republic of Germany\"],\n \"GH\": [\"Ghana\", \"the Republic of Ghana\"],\n \"GI\": [\"Gibraltar\", \"Gibraltar\"],\n \"GR\": [\"Greece\", \"the Hellenic Republic\"],\n \"GL\": [\"Greenland\", \"Greenland\"],\n \"GD\": [\"Grenada\", \"Grenada\"],\n \"GP\": [\"Guadeloupe\", \"Guadeloupe\"], \n \"GU\": [\"Guam\", \"Guam\"],\n \"GT\": [\"Guatemala\", \"the Republic of Guatemala\"],\n \"GG\": [\"Guernsey\", \"the Bailiwick of Guernsey\"],\n \"GN\": [\"Guinea\", \"the Republic of Guinea\"],\n \"GW\": [\"Guinea-Bissau\", \"the Republic of Guinea-Bissau\"],\n \"GY\": [\"Guyana\", \"the Co-operative Republic of Guyana\"],\n \"HT\": [\"Haiti\", \"the Republic of Haiti\"],\n \"HM\": [\"Heard Island and McDonald Islands\", \"the Territory of Heard Island and McDonald Islands\"],\n \"VA\": [\"Holy See\", \"the Holy See\"], \n \"HN\": [\"Honduras\", \"the Republic of Honduras\"],\n \"HK\": [\"Hong Kong\", \"the Hong Kong Special Administrative Region of China\"],\n \"HU\": [\"Hungary\", \"Hungary\"],\n \"IS\": [\"Iceland\", \"Iceland\"],\n \"IN\": [\"India\", \"the Republic of India\"],\n \"ID\": [\"Indonesia\", \"the Republic of Indonesia\"],\n \"IR\": [\"Iran\", \"the Islamic Republic of Iran\"], \n \"IQ\": [\"Iraq\", \"the Republic of Iraq\"],\n \"IE\": [\"Ireland\", \"Ireland\"],\n \"IM\": [\"Isle of Man\", \"the Isle of Man\"],\n \"IL\": [\"Israel\", \"the State of Israel\"],\n \"IT\": [\"Italy\", \"the Italian Republic\"],\n \"JM\": [\"Jamaica\", \"Jamaica\"],\n \"JP\": [\"Japan\", \"Japan\"],\n \"JE\": [\"Jersey\", \"the Bailiwick of Jersey\"],\n \"JO\": [\"Jordan\", \"the Hashemite Kingdom of Jordan\"],\n \"KZ\": [\"Kazakhstan\", \"the Republic of Kazakhstan\"],\n \"KE\": [\"Kenya\", \"the Republic of Kenya\"],\n \"KI\": [\"Kiribati\", \"the Republic of Kiribati\"],\n \"KP\": [\"North Korea\", \"the Democratic People's Republic of Korea\"], \n \"KR\": [\"South Korea\", \"the Republic of Korea\"], \n \"KW\": [\"Kuwait\", \"the State of Kuwait\"],\n \"KG\": [\"Kyrgyzstan\", \"the Kyrgyz Republic\"],\n \"LA\": [\"Laos\", \"the Lao People's Democratic Republic\"], \n \"LV\": [\"Latvia\", \"the Republic of Latvia\"],\n \"LB\": [\"Lebanon\", \"the Lebanese Republic\"],\n \"LS\": [\"Lesotho\", \"the Kingdom of Lesotho\"],\n \"LR\": [\"Liberia\", \"the Republic of Liberia\"],\n \"LY\": [\"Libya\", \"the State of Libya\"],\n \"LI\": [\"Liechtenstein\", \"the Principality of Liechtenstein\"],\n \"LT\": [\"Lithuania\", \"the Republic of Lithuania\"],\n \"LU\": [\"Luxembourg\", \"the Grand Duchy of Luxembourg\"],\n \"MO\": [\"Macao\", \"the Macao Special Administrative Region of China\"], \n\t\"MG\": [\"Madagascar\", \"the Republic of Madagascar\"],\n \"MW\": [\"Malawi\", \"the Republic of Malawi\"],\n \"MY\": [\"Malaysia\", \"Malaysia\"],\n \"MV\": [\"Maldives\", \"the Republic of Maldives\"],\n \"ML\": [\"Mali\", \"the Republic of Mali\"],\n \"MT\": [\"Malta\", \"the Republic of Malta\"],\n \"MH\": [\"Marshall Islands\", \"the Republic of the Marshall Islands\"],\n \"MQ\": [\"Martinique\", \"Martinique\"], \n \"MR\": [\"Mauritania\", \"the Islamic Republic of Mauritania\"],\n \"MU\": [\"Mauritius\", \"the Republic of Mauritius\"],\n \"YT\": [\"Mayotte\", \"the Department of Mayotte\"], \n \"MX\": [\"Mexico\", \"the United Mexican States\"],\n \"FM\": [\"Micronesia\", \"the Federated States of Micronesia\"], \n \"MD\": [\"Moldova\", \"the Republic of Moldova\"], \n \"MC\": [\"Monaco\", \"the Principality of Monaco\"],\n \"MN\": [\"Mongolia\", \"Mongolia\"],\n \"ME\": [\"Montenegro\", \"Montenegro\"],\n \"MS\": [\"Montserrat\", \"Montserrat\"],\n \"MA\": [\"Morocco\", \"the Kingdom of Morocco\"],\n \"MZ\": [\"Mozambique\", \"the Republic of Mozambique\"],\n \"MM\": [\"Myanmar\", \"the Republic of the Union of Myanmar\"], \n \"NA\": [\"Namibia\", \"the Republic of Namibia\"],\n \"NR\": [\"Nauru\", \"the Republic of Nauru\"],\n \"NP\": [\"Nepal\", \"the Federal Democratic Republic of Nepal\"], \n \"NL\": [\"Netherlands\", \"the Kingdom of the Netherlands\"], \n \"NC\": [\"New Caledonia\", \"New Caledonia\"],\n \"NZ\": [\"New Zealand\", \"New Zealand\"],\n \"NI\": [\"Nicaragua\", \"the Republic of Nicaragua\"],\n \"NE\": [\"Niger\", \"the Republic of the Niger\"], \n \"NG\": [\"Nigeria\", \"the Federal Republic of Nigeria\"],\n \"NU\": [\"Niue\", \"Niue\"],\n \"NF\": [\"Norfolk Island\", \"the Territory of Norfolk Island\"],\n \"MK\": [\"North Macedonia\", \"the Republic of North Macedonia\"], \n \"MP\": [\"Northern Mariana Islands\", \"the Commonwealth of the Northern Mariana Islands\"], \n \"NO\": [\"Norway\", \"the Kingdom of Norway\"],\n \"OM\": [\"Oman\", \"the Sultanate of Oman\"],\n \"PK\": [\"Pakistan\", \"the Islamic Republic of Pakistan\"],\n \"PW\": [\"Palau\", \"the Republic of Palau\"],\n \"PS\": [\"Palestine\", \"the State of Palestine\"], \n \"PA\": [\"Panama\", \"the Republic of Panama\"],\n \"PG\": [\"Papua New Guinea\", \"the Independent State of Papua New Guinea\"],\n \"PY\": [\"Paraguay\", \"the Republic of Paraguay\"],\n \"PE\": [\"Peru\", \"the Republic of Peru\"],\n \"PH\": [\"Philippines\", \"the Republic of the Philippines\"], \n \"PN\": [\"Pitcairn\", \"the Pitcairn, Henderson, Ducie and Oeno Islands\"], \n \"PL\": [\"Poland\", \"the Republic of Poland\"],\n \"PT\": [\"Portugal\", \"the Portuguese Republic\"],\n \"PR\": [\"Puerto Rico\", \"the Commonwealth of Puerto Rico\"],\n \"QA\": [\"Qatar\", \"the State of Qatar\"],\n \"RE\": [\"Réunion\", \"Réunion\"], \n \"RO\": [\"Romania\", \"Romania\"],\n \"RU\": [\"Russia\", \"the Russian Federation\"], \n \"RW\": [\"Rwanda\", \"the Republic of Rwanda\"],\n \"BL\": [\"Saint Barthélemy\", \"the Collectivity of Saint-Barthélemy\"], \n \"SH\": [\"Saint Helena, Ascension and Tristan da Cunha\", \"Saint Helena, Ascension and Tristan da Cunha\"], \n \"KN\": [\"Saint Kitts and Nevis\", \"the Federation of Saint Kitts and Nevis\"], \n \"LC\": [\"Saint Lucia\", \"Saint Lucia\"],\n \"MF\": [\"Saint Martin\", \"the Collectivity of Saint-Martin\"], \n \"PM\": [\"Saint Pierre and Miquelon\", \"the Overseas Collectivity of Saint-Pierre and Miquelon\"], \n \"VC\": [\"Saint Vincent and the Grenadines\", \"Saint Vincent and the Grenadines\"], \n \"WS\": [\"Samoa\", \"the Independent State of Samoa\"],\n \"SM\": [\"San Marino\", \"the Republic of San Marino\"],\n \"ST\": [\"Sao Tome and Principe\", \"the Democratic Republic of São Tomé and Príncipe\"], \n \"SA\": [\"Saudi Arabia\", \"the Kingdom of Saudi Arabia\"],\n \"SN\": [\"Senegal\", \"the Republic of Senegal\"],\n \"RS\": [\"Serbia\", \"the Republic of Serbia\"],\n \"SC\": [\"Seychelles\", \"the Republic of Seychelles\"],\n \"SL\": [\"Sierra Leone\", \"the Republic of Sierra Leone\"],\n \"SG\": [\"Singapore\", \"the Republic of Singapore\"],\n \"SX\": [\"Sint Maarten\", \"Sint Maarten\"], \n \"SK\": [\"Slovakia\", \"the Slovak Republic\"],\n \"SI\": [\"Slovenia\", \"the Republic of Slovenia\"],\n \"SB\": [\"Solomon Islands\", \"the Solomon Islands\"],\n \"SO\": [\"Somalia\", \"the Federal Republic of Somalia\"],\n \"ZA\": [\"South Africa\", \"the Republic of South Africa\"],\n \"GS\": [\"South Georgia and the South Sandwich Islands\", \"South Georgia and the South Sandwich Islands\"],\n \"SS\": [\"South Sudan\", \"the Republic of South Sudan\"],\n \"ES\": [\"Spain\", \"the Kingdom of Spain\"],\n \"LK\": [\"Sri Lanka\", \"the Democratic Socialist Republic of Sri Lanka\"],\n \"SD\": [\"Sudan\", \"the Republic of the Sudan\"], \n \"SR\": [\"Suriname\", \"the Republic of Suriname\"],\n \"SJ\": [\"Svalbard and Jan Mayen\", \"Svalbard and Jan Mayen\"], \n \"SE\": [\"Sweden\", \"the Kingdom of Sweden\"],\n \"CH\": [\"Switzerland\", \"the Swiss Confederation\"],\n \"SY\": [\"Syria\", \"the Syrian Arab Republic\"], \n \"TW\": [\"Taiwan\", \"the Republic of China\"], \n \"TJ\": [\"Tajikistan\", \"the Republic of Tajikistan\"],\n \"TZ\": [\"Tanzania\", \"the United Republic of Tanzania\"], \n \"TH\": [\"Thailand\", \"the Kingdom of Thailand\"],\n \"TL\": [\"Timor-Leste\", \"the Democratic Republic of Timor-Leste\"], \n \"TG\": [\"Togo\", \"the Togolese Republic\"],\n \"TK\": [\"Tokelau\", \"Tokelau\"],\n \"TO\": [\"Tonga\", \"the Kingdom of Tonga\"],\n \"TT\": [\"Trinidad and Tobago\", \"the Republic of Trinidad and Tobago\"],\n \"TN\": [\"Tunisia\", \"the Republic of Tunisia\"],\n \"TR\": [\"Türkiye\", \"the Republic of Türkiye\"], \n \"TM\": [\"Turkmenistan\", \"Turkmenistan\"],\n \"TC\": [\"Turks and Caicos Islands\", \"the Turks and Caicos Islands\"], \n \"TV\": [\"Tuvalu\", \"Tuvalu\"],\n \"UG\": [\"Uganda\", \"the Republic of Uganda\"],\n \"UA\": [\"Ukraine\", \"Ukraine\"],\n \"AE\": [\"United Arab Emirates\", \"the United Arab Emirates\"], \n \"GB\": [\"United Kingdom\", \"the United Kingdom of Great Britain and Northern Ireland\"], \n \"UM\": [\"United States Minor Outlying Islands\", \"United States Pacific Island Wildlife Refuges, Navassa Island, and Wake Island\"], \n \"US\": [\"United States\", \"the United States of America\"], \n \"UY\": [\"Uruguay\", \"the Oriental Republic of Uruguay\"],\n \"UZ\": [\"Uzbekistan\", \"the Republic of Uzbekistan\"],\n \"VU\": [\"Vanuatu\", \"the Republic of Vanuatu\"],\n \"VE\": [\"Venezuela\", \"the Bolivarian Republic of Venezuela\"], \n \"VN\": [\"Vietnam\", \"the Socialist Republic of Viet Nam\"], \n \"VG\": [\"British Virgin Islands\", \"the Virgin Islands\"], \n \"VI\": [\"U.S. Virgin Islands\", \"the Virgin Islands of the United States\"], \n \"WF\": [\"Wallis and Futuna\", \"the Territory of the Wallis and Futuna Islands\"], \n \"EH\": [\"Western Sahara\", \"the Sahrawi Arab Democratic Republic\"], \n \"YE\": [\"Yemen\", \"the Republic of Yemen\"],\n \"ZM\": [\"Zambia\", \"the Republic of Zambia\"],\n \"ZW\": [\"Zimbabwe\", \"the Republic of Zimbabwe\"]\n\t}\n\treturn countries[Z19223K1][+Z19223K2]\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Convert ISO 3166 country code to name Javascript"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertir le code d'un pays en nom, en JavaScript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
83tkgetwoz5rdz885o5fzku4y32u5bi
Z19225
0
41129
142806
133148
2024-12-01T06:37:41Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142806
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19225"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z19223",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z19223",
"Z19223K1": "US",
"Z19223K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "United States"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "US ISO name"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le code ISO 3166 US donne \"United States\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
r8jro7khivg20jo4979gbtvf2e0f4b0
Z19226
0
41130
142807
133149
2024-12-01T06:37:44Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142807
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19226"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z19223",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z19223",
"Z19223K1": "US",
"Z19223K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "the United States of America"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "US official name"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le code ISO 3166 US donne \"the United States of A\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0r3ux9bf911h9qzox4xwjy53oykr3en
Z19227
0
41131
142808
133151
2024-12-01T06:37:52Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142808
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19227"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z19223",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z19223",
"Z19223K1": "AQ",
"Z19223K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "Antarctica"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Antarctica"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le code ISO 3166 AQ donne \"Antarctica\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1wpwyooqjkwxgs9elt1zz95ttwhdll0
User:Feeglgeef
2
41873
142766
142406
2024-12-01T01:29:23Z
Feeglgeef
8776
142766
wikitext
text/x-wiki
{{#babel:en|hu-3|la-2|de-2|es-1|dag-0|ml-0}}
Hello! I'm Feeglgeef (fiːɡələɡiːf/FEEG-uhluh-geef). I'm a functioneer here, and I contribute wherever I can. I've written a type proposals: [[Wikifunctions:Type proposals/SI units|SI units]], and two essays: [[Wikifunctions:Be bold|Be bold]] and [[Wikifunctions:Broad|Be broad]]. If you need anything, feel free to leave me a message on [[User Talk:Feeglgeef]] or ping me on any talk page. I have really good knowledge of Javascript and Python. I prefer Javascript in most contexts, but in some I prefer Python. I've created a tool, [https://wf-usage-feeglgeef.replit.app], that allows you to check what other objects depend on a specific object. It's not done, and it will be improved in the future.
I agree to waive all copyright, under [https://creativecommons.org/public-domain/cc0/ CC0] to any contributions I have made to the values of Z16K2 keys in the mainspace, where
#I am the sole contributor (with wiggle room for extremely small bugfix/spelling/grammar/etc.) to the key's value.
#The implementation is not related to Natural Language Generation/Natural Language/Natural Language morphology/Lexicographical data/Strings of real words
awojq81iqc20iiqumx3nl5ckrgllef7
Wikifunctions:Catalogue/Logic operators
4
41919
142739
140696
2024-11-30T22:42:42Z
Hogü-456
617
142739
wikitext
text/x-wiki
[[File:Wikifunctions-logo-logic-operators.svg|200px|right]]
These are the fundamental tools to control flow in your functions.
* {{Z+|Z802}}
* {{Z+|Z11542}}
* {{Z+|Z13846}}
* {{Z+|Z17192}}
* {{Z+|Z15728}}
* {{Z+|19565}}
* {{Z+|19601}}
* {{Z+|Z20305}}
There also other logical functions, the list is not complete.
*{{Z+|Z10329}}
*{{Z+|Z10272}}
*{{Z+|Z10306}}
*{{Z+|Z10725}}
*{{Z+|Z140}}
*{{Z+|Z10265}}
*{{Z+|Z10298}}
*{{Z+|Z10441}}
[[Category:Lists of functions]]
67z2l86hhmpzco8ezm1pznodsppnigs
142740
142739
2024-11-30T22:43:06Z
Hogü-456
617
142740
wikitext
text/x-wiki
[[File:Wikifunctions-logo-logic-operators.svg|200px|right]]
These are the fundamental tools to control flow in your functions.
* {{Z+|Z802}}
* {{Z+|Z11542}}
* {{Z+|Z13846}}
* {{Z+|Z17192}}
* {{Z+|Z15728}}
* {{Z+|19565}}
* {{Z+|19601}}
* {{Z+|Z20305}}
There also other logical functions, the list is not complete.
*{{Z+|Z10329}}
*{{Z+|Z10272}}
*{{Z+|Z10306}}
*{{Z+|Z10725}}
*{{Z+|Z140}}
*{{Z+|Z10265}}
*{{Z+|Z10298}}
[[Category:Lists of functions]]
6s3g26nhiex6t4x51kfwx36pc4x9lz7
142741
142740
2024-11-30T22:44:12Z
Hogü-456
617
Added in the wrong subsection, so I remove it again
142741
wikitext
text/x-wiki
[[File:Wikifunctions-logo-logic-operators.svg|200px|right]]
These are the fundamental tools to control flow in your functions.
* {{Z+|Z802}}
* {{Z+|Z11542}}
* {{Z+|Z13846}}
* {{Z+|Z17192}}
* {{Z+|Z15728}}
* {{Z+|19565}}
* {{Z+|19601}}
* {{Z+|Z20305}}
[[Category:Lists of functions]]
2y6385xauo1te2l8lfb3jvzhrdgrg50
Wikifunctions:Catalogue/Natural language operations
4
41925
142667
138554
2024-11-30T13:16:22Z
Redtree21
9564
Adding language to list
142667
wikitext
text/x-wiki
See context in [[m:Special:MyLanguage/Abstract_Wikipedia/Updates/2023-09-08|m:Abstract Wikipedia/Updates/2023-09-08]].
* [[Wikifunctions:Catalogue/Natural language operations/Global language functions|Global language functions]]
<div style="column-count: 3">
* [[Wikifunctions:Catalogue/Natural language operations/Bangla|Bangla]]
* [[Wikifunctions:Catalogue/Natural language operations/Basque|Basque]]
* [[Wikifunctions:Catalogue/Natural language operations/Brahui|Brahui]]
* [[Wikifunctions:Catalogue/Natural language operations/Breton|Breton]]
* [[Wikifunctions:Catalogue/Natural language operations/Croatian|Croatian]]
* [[Wikifunctions:Catalogue/Natural language operations/Dagbani|Dagbani]]
* [[Wikifunctions:Catalogue/Natural language operations/Dutch|Dutch]]
* [[Wikifunctions:Catalogue/Natural language operations/English|English]]
* [[Wikifunctions:Catalogue/Natural language operations/Esperanto|Esperanto]]
* [[Wikifunctions:Catalogue/Natural language operations/Finnish|Finnish]]
* [[Wikifunctions:Catalogue/Natural language operations/French|French]]
* [[Wikifunctions:Catalogue/Natural language operations/German|German]]
* [[Wikifunctions:Catalogue/Natural language operations/Hindustani|Hindustani]]
* [[Wikifunctions:Catalogue/Natural language operations/Igbo|Igbo]]
* [[Wikifunctions:Catalogue/Natural language operations/Japanese|Japanese]]
* [[Wikifunctions:Catalogue/Natural language operations/New Persian|New Persian]]
* [[Wikifunctions:Catalogue/Natural language operations/Korean|Korean]]
* [[Wikifunctions:Catalogue/Natural language operations/Kurdish|Kurdish]]
* [[Wikifunctions:Catalogue/Natural language operations/Malayalam|Malayalam]]
*[[Wikifunctions:Catalogue/Natural language operations/Moroccan Arabic|Moroccan Arabic]]
* [[Wikifunctions:Catalogue/Natural language operations/Polish|Polish]]
* [[Wikifunctions:Catalogue/Natural language operations/Punjabi|Punjabi]]
* [[Wikifunctions:Catalogue/Natural language operations/Rohingya|Rohingya]]
* [[Wikifunctions:Catalogue/Natural language operations/Russian|Russian]]
* [[Wikifunctions:Catalogue/Natural language operations/Scottish Gaelic|Scottish Gaelic]]
* [[Wikifunctions:Catalogue/Natural language operations/Serbian|Serbian]]
* [[Wikifunctions:Catalogue/Natural language operations/Sindhi|Sindhi]]
* [[Wikifunctions:Catalogue/Natural language operations/Spanish|Spanish]]
* [[Wikifunctions:Catalogue/Natural language operations/Swedish|Swedish]]
* [[Wikifunctions:Catalogue/Natural language operations/Turkish|Turkish]]
* [[Wikifunctions:Catalogue/Natural language operations/Ukrainian|Ukrainian]]
* [[Wikifunctions:Catalogue/Natural language operations/Arabic|Arabic]]
</div>
[[Category:Lists of functions]]
hfo0rens4to8yfz658v69ayzx60kels
Wikifunctions:Catalogue/Natural language operations/Dagbani
4
41932
142718
142341
2024-11-30T20:43:45Z
Feeglgeef
8776
+2
142718
wikitext
text/x-wiki
* [[Z20618]]
* [[Z20622]]
* [[Z20669]]
* Is some string(s) containing a Dagbani character?
[[Category:Lists of functions]]
8drugxg2qg15h1meb70qy47cnb46z1h
Z19722
0
42474
142687
138921
2024-11-30T17:42:26Z
WikiLambda system
3
Updated the implementation list
142687
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19722"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z19722K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "rational number"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z19725",
"Z19726",
"Z19727",
"Z19774"
],
"Z8K4": [
"Z14",
"Z19741",
"Z19723",
"Z19732"
],
"Z8K5": "Z19722"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "numerator of simplified rational number"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"numerator",
"numerator of rational number",
"numerator of simplified rational number"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the numerator of the rational number when simplified"
}
]
}
}
c7ct4hkcfnx5845erw1iuz1ysnsgk4s
Z20342
0
43682
142756
141218
2024-11-30T23:48:22Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142756
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20342"
},
"Z2K2": {
"Z1K1": "Z4",
"Z4K1": "Z20342",
"Z4K2": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": "Z16098",
"Z3K2": "Z20342K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "month"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "মাস"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Monat"
}
]
},
"Z3K4": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
},
{
"Z1K1": "Z3",
"Z3K1": "Z13518",
"Z3K2": "Z20342K2",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "day"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "দিন"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Tag"
}
]
},
"Z3K4": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
],
"Z4K3": "Z101",
"Z4K4": "Z20348",
"Z4K7": [
"Z46",
"Z20236",
"Z20347"
],
"Z4K8": [
"Z64",
"Z20338",
"Z20337"
]
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Day of Roman year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "রোমান বছরের দিন"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Tag des Römischen Kalenders"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour de l'année romaine"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"day",
"date",
"day of Gregorian year"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"রোমান দিবস",
"গ্রেগরীয় বছরের দিন",
"দিন"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"jour",
"date",
"jour de l'année grégorienne"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "A day of the month and a month of the Gregorian calendar"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "গ্রেগরীয় বর্ষপঞ্জির একটি মাস এবং মাসের একটি দিন"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Tag eines Monats und Monat des Gregorianischen Kalenders"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "un jour du mois et un mois du calendrier grégorien"
}
]
}
}
thrahfvtoj8m2emimbm9bw1aqu4k22n
Z20348
0
43688
142827
141066
2024-12-01T07:28:40Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142827
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20348"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20348K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "this"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premier jour à tester"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20348K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "that"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "deuxième jour à tester"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z20352",
"Z20378",
"Z20379"
],
"Z8K4": [
"Z14",
"Z20349",
"Z20350",
"Z20351"
],
"Z8K5": "Z20348"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "same Day of Roman Year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": " même jour de l'année romaine"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"equal",
"calendar days equal",
"day of Roman year equal",
"equality of day of Roman year",
"equality of calendar day",
"=="
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "vérifie si les deux jours indiqués sont identiques"
}
]
}
}
stonus5tmhmxsjzd6bhqzyyqb0rh3yo
Z20349
0
43690
142830
140867
2024-12-01T07:30:40Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142830
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20349"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20348",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z600",
"Z16K2": "function Z20348( Z20348K1, Z20348K2 ) {\n\treturn Z20348K1.K1 == Z20348K2.K1 \u0026\u0026 Z20348K1.K2 == Z20348K2.K2;\n}"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Javascript == on both keys"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "même jour de l'année romaine, en JavaScript"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
f29kdd7pzc3edoeed6368c8p1gxc1nt
Z20350
0
43691
142829
141020
2024-12-01T07:30:04Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142829
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20350"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20348",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20348(Z20348K1, Z20348K2):\n\treturn Z20348K1 == Z20348K2;"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "same day of Roman year, python =="
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "même jour de l'année romaine, en Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pvyazbzsbqhmz4gx207at8hptsfmit1
Z20351
0
43692
142828
140835
2024-12-01T07:29:41Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142828
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20351"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20348",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13052",
"Z13052K1": {
"Z1K1": "Z18",
"Z18K1": "Z20348K1"
},
"Z13052K2": {
"Z1K1": "Z18",
"Z18K1": "Z20348K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Composition with Object Equality"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "même jour de l'année romaine, en Composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7p715anokn8ltrblbamir771bshghba
Z20352
0
43693
142824
140839
2024-12-01T07:24:28Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142824
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20352"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20348",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16108",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16108",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "August 2 is August 2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 2 août est le 2 août"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
faysfqq8t5fly5bbwy9xjohd1j5q5fs
Z20378
0
43756
142825
141016
2024-12-01T07:25:29Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142825
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20378"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20348",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16102",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16101",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "31"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "(invalid) 0 Feb != 31 Jan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 0 février est différent du 31 janvier"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gbag0rcz1rqq18uj4mixqtv7gq7364n
Z20379
0
43757
142826
141018
2024-12-01T07:26:17Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142826
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20379"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20348",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16102",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "29"
}
},
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16103",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "29 February != 1 March"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 29 février est différent du 1er mars"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bg1iiu3rtr5fgnuhvfkhotsmuof2r8o
Z20399
0
43779
142815
141116
2024-12-01T07:14:27Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142815
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20399"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20399K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "day to increment"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": " jour pour incrémenter"
}
]
}
}
],
"Z8K2": "Z20342",
"Z8K3": [
"Z20",
"Z20400",
"Z20401",
"Z20402"
],
"Z8K4": [
"Z14",
"Z20403",
"Z20405"
],
"Z8K5": "Z20399"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "next day in leap year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour suivant dans une année bissextile"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"following day",
"increment date"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"jour suivant"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
flyy6fzg54osva7geq7qy2ugunbo8j1
Z20400
0
43780
142818
141105
2024-12-01T07:17:39Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français
142818
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20400"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20399",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20399",
"Z20399K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16102",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "28"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16102",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "29"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "28 February is followed by 29 February"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 28 février est suivi par le 29 février"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "in a leap year"
}
]
}
}
7jctil4rjrb4sk3br77dtkkhvbc0fgu
Z20401
0
43781
142819
141107
2024-12-01T07:18:36Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142819
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20401"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20399",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20399",
"Z20399K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16102",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "29"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16103",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "29 February is followed by 1 March"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 29 février est suivi par le 1er mars"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lktnh25pmiivoct63scmnpwzobxkj4m
Z20402
0
43782
142820
141109
2024-12-01T07:19:04Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142820
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20402"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20399",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20399",
"Z20399K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16112",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "31"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16101",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "31 Dec is followed by 1 Jan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 31 décembre est suivi par le 1er janvier"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
aa3y9m3t8sqnk3h0nbvsufp67hwdzta
Z20403
0
43783
142816
141111
2024-12-01T07:15:13Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français
142816
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20403"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20399",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z13522",
"Z13522K1": {
"Z1K1": "Z7",
"Z7K1": "Z20388",
"Z20388K1": {
"Z1K1": "Z18",
"Z18K1": "Z20399K1"
}
},
"Z13522K2": {
"Z1K1": "Z7",
"Z7K1": "Z16332",
"Z16332K1": {
"Z1K1": "Z7",
"Z7K1": "Z20343",
"Z20343K1": {
"Z1K1": "Z18",
"Z18K1": "Z20399K1"
}
}
}
},
"Z802K2": {
"Z1K1": "Z20342",
"Z20342K1": {
"Z1K1": "Z7",
"Z7K1": "Z16136",
"Z16136K1": {
"Z1K1": "Z7",
"Z7K1": "Z20343",
"Z20343K1": {
"Z1K1": "Z18",
"Z18K1": "Z20399K1"
}
}
},
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z802K3": {
"Z1K1": "Z20342",
"Z20342K1": {
"Z1K1": "Z7",
"Z7K1": "Z20343",
"Z20343K1": {
"Z1K1": "Z18",
"Z18K1": "Z20399K1"
}
},
"Z20342K2": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z20388",
"Z20388K1": {
"Z1K1": "Z18",
"Z18K1": "Z20399K1"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "next day in leap year, composition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour suivant dans une année bissextile, en Composi"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
l0mpfhrszwnoeqoi0raikhy0h80iend
Z20405
0
43785
142817
141115
2024-12-01T07:16:55Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français
142817
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20405"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20399",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z20367",
"Z20367K1": {
"Z1K1": "Z18",
"Z18K1": "Z20399K1"
},
"Z20367K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20367K3": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "increment N=1 days, composition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "incrémenter N d'un jour, en Composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6oie6bf0gkhk0m694a6n23slo0lw37g
Z20406
0
43786
142838
141155
2024-12-01T07:54:07Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142838
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20406"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20406K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première date"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20406K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "deuxième date"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z20407",
"Z20409",
"Z20410",
"Z20411"
],
"Z8K4": [
"Z14",
"Z20415",
"Z20413",
"Z20408",
"Z20417"
],
"Z8K5": "Z20406"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "earlier in year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce plus tôt dans l'année ?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"before",
"first date before second"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is the first calendar day earlier in the year compared to the second calendar day (false if equal)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "indique si la première date indiquée arrive plus tôt dans l'année que la deuxième date (renvoie \"faux\" si les dates sont identiques)"
}
]
}
}
fa7tnzxxdornzmoogirsdjx76mklnae
142839
142838
2024-12-01T07:54:39Z
WikiLambda system
3
Updated the implementation list
142839
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20406"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20406K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première date"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20406K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "deuxième date"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z20407",
"Z20409",
"Z20410",
"Z20411"
],
"Z8K4": [
"Z14",
"Z20413",
"Z20415",
"Z20417",
"Z20408"
],
"Z8K5": "Z20406"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "earlier in year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce plus tôt dans l'année ?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"before",
"first date before second"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is the first calendar day earlier in the year compared to the second calendar day (false if equal)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "indique si la première date indiquée arrive plus tôt dans l'année que la deuxième date (renvoie \"faux\" si les dates sont identiques)"
}
]
}
}
bppby6qbuyk00xw18zbu6v3c9k6usas
Z20417
0
43798
142840
141153
2024-12-01T07:55:11Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142840
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20417"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20406",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13689",
"Z13689K1": {
"Z1K1": "Z7",
"Z7K1": "Z20357",
"Z20357K1": {
"Z1K1": "Z18",
"Z18K1": "Z20406K1"
},
"Z20357K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
"Z13689K2": {
"Z1K1": "Z7",
"Z7K1": "Z20357",
"Z20357K1": {
"Z1K1": "Z18",
"Z18K1": "Z20406K2"
},
"Z20357K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Compare day numbers"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": " comparer les numéros de jours"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6d3v64kp4kb81nrew0xtn8xmigpisbk
Wikifunctions:Status updates/2024-11-27
4
44010
142733
142142
2024-11-30T21:18:39Z
Ameisenigel
44
142733
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = <translate><!--T:1--> Previous update</translate>
| prev = 2024-11-21
| nextlabel = <translate><!--T:2--> Next update</translate>
| next =
}}
<translate>
=== WordGraph: (almost) a million forms for describing people === <!--T:3-->
</translate>
[[File:Dicti indent.jpg|thumb]]
<translate>
<!--T:4-->
A belated present for Wikidata’s 12th birthday: a team at Google Zurich released the WordGraph dataset, almost a million word-forms in a structured representation that is easy to upload to Wikidata. According to its self-description, ''“[t]he WordGraph dataset contains multilingual lexicon entries linked to Wikipedia entities, focusing on human-denoting nouns and demonym adjectives. Each lexicon entry contains inflected word-forms and morphological information for all locales.”''
<!--T:5-->
The dataset contains 968,153 forms in 39 languages. The [<tvar name="1">https://github.com/google-research-datasets/WordGraph</tvar> dataset is available on GitHub] and published under CC0, making it compatible with Wikidata. We created [[<tvar name="2">:d:Special:MyLanguage/Wikidata:WordGraph</tvar>|an overview with some statistics about the dataset]], compared with Wikidata. The senses are already mapped to Wikidata QIDs, and so are the grammatical features, which makes adding them to Wikidata particularly easy.
<!--T:6-->
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
<!--T:7-->
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
<!--T:8-->
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[<tvar name="1">Special:ListFunctionsByTests</tvar>|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [<tvar name="2">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters</tvar> fewer than two tests]), or it can help to find [<tvar name="3">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters</tvar> functions that have passing tests that are not connected yet]. Or, on the other side, [<tvar name="4">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters</tvar> functions with failing tests that are still connected]. We can look for [<tvar name="5">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters</tvar> functions that have no tests at all], or that [<tvar name="6">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters</tvar> have no connected tests], or for [<tvar name="7">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters</tvar> functions with more than a dozen tests].
<!--T:9-->
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
<!--T:10-->
On the page, you can enter:
</translate>
* <translate><!--T:11--> a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</translate>
* <translate><!--T:12--> whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</translate>
* <translate><!--T:13--> whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</translate>
<translate>
<!--T:14-->
Your resulting page can be shared by its URL.
<!--T:15-->
We hope that this new page will be helpful for you to maintain Wikifunctions!
=== More statements! === <!--T:16-->
<!--T:61-->
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</translate>
* <translate><!--T:17--> String</translate>
* <translate><!--T:18--> Lexeme reference</translate>
* <translate><!--T:19--> Lexeme form reference</translate>
* <translate><!--T:20--> Lexeme sense reference</translate>
* <translate><!--T:21--> Item reference</translate>
* <translate><!--T:22--> Monolingual text</translate>
<translate>
<!--T:23-->
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[<tvar name="1">Special:MyLanguage/Wikifunctions:Support for Wikidata content</tvar>|Wikifunctions:Support for Wikidata content]].
<!--T:24-->
In order to do so, we added a new key to the [[<tvar name="1">Z6003</tvar>|Wikidata statement]] last week, representing the [[<tvar name="2">Z6040</tvar>|rank]]. Big thanks to the community for organizing [[<tvar name="3">Talk:Z6003</tvar>|a marvelous and diligent clean-up job]]!
=== New type: day of Roman year === <!--T:25-->
<!--T:62-->
This week we introduce a new type: the [[<tvar name="1">Z20342</tvar>|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
<!--T:26-->
We were also planning to release the [[<tvar name="1">Z20420</tvar>|Gregorian date type]]. But while implementing the converters for the type and doing the [[<tvar name="2">Z20440</tvar>|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[<tvar name="3">Wikifunctions:Type proposals/Gregorian calendar date</tvar>|type proposal page]].
<!--T:27-->
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
<!--T:28-->
Note that the Gregorian date type is not yet the same as the [[<tvar name="1">:d:Special:MyLanguage/Help:Data type#time</tvar>|point in time data type in Wikidata]], but it is a necessary step on the path to it.
=== Recent Changes in the software === <!--T:29-->
<!--T:63-->
Last week, we unveiled the new special page, [[<tvar name="1">Special:ListMissingLabels</tvar>|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[<tvar name="2">Special:ListFunctionsByTests</tvar>|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[<tvar name="3">:phab:T377909</tvar>|T377909]] and [[<tvar name="4">:phab:T377910</tvar>|T377910]]). We have also changed [[<tvar name="5">Special:ListObjectsByType</tvar>|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[<tvar name="6">:phab:T296315</tvar>|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[<tvar name="7">:phab:T343633</tvar>|T343633]]).
<!--T:30-->
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[<tvar name="1">:phab:T374241</tvar>|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
<!--T:31-->
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[<tvar name="1">:phab:T296724</tvar>|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[<tvar name="2">:phab:T380386</tvar>|T380386]]).
<!--T:32-->
Finally, we have added support for the [[<tvar name="1">Z1952</tvar>|Z1952/bax-bamu]] ([[<tvar name="2">:phab:T379870</tvar>|T379870]]), [[<tvar name="3">Z1953</tvar>|Z1953/xon]] ([[<tvar name="4">:phab:T380246</tvar>|T380246]]), and [[<tvar name="5">Z1954</tvar>|Z1954/cdo-hant]] & [[<tvar name="6">Z1955</tvar>|Z1955/cdo-latn]] ([[<tvar name="7">:phab:T139010</tvar>|T139010]], [[<tvar name="8">:phab:T379829</tvar>|T379829]], and [[<tvar name="9">:phab:T380046</tvar>|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
=== Next volunteers’ corner on December 9 === <!--T:33-->
<!--T:64-->
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [<tvar name="1">https://zonestamp.toolforge.org/1733758200</tvar> December 9 at 15:30 UTC] at the [<tvar name="2">https://meet.google.com/xuy-njxh-rkw</tvar> usual place]. The January volunteers’ corner will also be moved by a week to January 13.
=== No update next week === <!--T:34-->
<!--T:65-->
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
=== Function of the week: is leap year === <!--T:35-->
<!--T:66-->
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
<!--T:36-->
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
<!--T:37-->
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[<tvar name="1">Z20159</tvar>|Gregorian year]] type last week, it could finally be implemented: [[<tvar name="2">Z20181</tvar>|is leap year]] (Z20181).
<!--T:38-->
Is leap year takes a single argument, a [[<tvar name="1">Z20159</tvar>|Gregorian year]], and returns a simple [[<tvar name="2">Z40</tvar>|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
<!--T:39-->
[[<tvar name="1">:en:Leap year</tvar>|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[<tvar name="2">:en:Pontifex maximus</tvar>|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[<tvar name="3">:en:Julius Caesar</tvar>|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
<!--T:40-->
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[<tvar name="1">:en:Pope Gregory XIII</tvar>|pope Gregory XIII]], as ''pontifex maximus'', issued a [[<tvar name="2">:en:Inter gravissimas</tvar>|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
<!--T:41-->
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
<!--T:42-->
The function has a solid set of tests:
</translate>
* <translate><!--T:43--> this year, 2024 [[<tvar name="1">Z20183</tvar>|is a]] leap year</translate>
* <translate><!--T:44--> next year, 2025, [[<tvar name="1">Z20253</tvar>|is not]]</translate>
* <translate><!--T:45--> 2000 [[<tvar name="1">Z20184</tvar>|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</translate>
* <translate><!--T:46--> 1900 [[<tvar name="1">Z20248</tvar>|was not a]] leap year, the last occurrence of skipping the leap year rule</translate>
* <translate><!--T:47--> 1582 [[<tvar name="1">Z20256</tvar>|was not]] a leap year either</translate>
* <translate><!--T:48--> 1 BC [[<tvar name="1">Z20252</tvar>|was a]] leap year</translate>
* <translate><!--T:49--> 5 BC [[<tvar name="1">Z20249</tvar>|was a]] leap year, because it was four years before 1 BC</translate>
* <translate><!--T:50--> 2025 BC [[<tvar name="1">Z20255</tvar>|was a]] leap year, too</translate>
* <translate><!--T:51--> 1300 was a Julian leap year, but [[<tvar name="1">Z20381</tvar>|not one]] in the proleptic Gregorian calendar</translate>
* <translate><!--T:52--> 4000 AD [[<tvar name="1">Z20382</tvar>|will be]] a leap year in the Gregorian calendar, but would not be in [[<tvar name="2">:en:Gregorian calendar#Accuracy</tvar>|Herschel's proposed modification]]</translate>
<translate>
<!--T:53-->
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
<!--T:54-->
The function has currently the following implementations:
</translate>
* <translate><!--T:55--> [[<tvar name="1">Z20182</tvar>|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</translate>
* <translate><!--T:56--> [[<tvar name="1">Z20251</tvar>|one in JavaScript]], which, according to a [<tvar name="2">https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914</tvar> detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</translate>
* <translate><!--T:57--> [[<tvar name="1">Z20275</tvar>|a composition]] which [[<tvar name="2">Z20257</tvar>|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[<tvar name="3">Z802</tvar>|ifs]]: if it is [[<tvar name="4">Z20266</tvar>|divisible by]] 400, then true, else if it is [[<tvar name="5">Z20266</tvar>|divisible by]] 100, then false, else whether it is [[<tvar name="6">Z20266</tvar>|divisible by]] 4.</translate>
* <translate><!--T:58--> and [[<tvar name="1">Z20304</tvar>|a quite charming composition]], that checks that the [[<tvar name="2">Z20302</tvar>|day of the week of the last day of the year]] is the [[<tvar name="3">Z17414</tvar>|same as]] the day of the week [[<tvar name="4">Z17420</tvar>|following]] the [[<tvar name="5">Z20290</tvar>|day of the week of the first day of the year]].</translate>
<translate>
<!--T:59-->
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
<!--T:60-->
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</translate>
[[Category:Status updates{{#translation:}}|2024-11-27]]
3toms73buysxyws41nqpmcnuq4l1ua1
142734
142733
2024-11-30T21:19:01Z
Ameisenigel
44
Marked this version for translation
142734
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = <translate><!--T:1--> Previous update</translate>
| prev = 2024-11-21
| nextlabel = <translate><!--T:2--> Next update</translate>
| next =
}}
<translate>
=== WordGraph: (almost) a million forms for describing people === <!--T:3-->
</translate>
[[File:Dicti indent.jpg|thumb]]
<translate>
<!--T:4-->
A belated present for Wikidata’s 12th birthday: a team at Google Zurich released the WordGraph dataset, almost a million word-forms in a structured representation that is easy to upload to Wikidata. According to its self-description, ''“[t]he WordGraph dataset contains multilingual lexicon entries linked to Wikipedia entities, focusing on human-denoting nouns and demonym adjectives. Each lexicon entry contains inflected word-forms and morphological information for all locales.”''
<!--T:5-->
The dataset contains 968,153 forms in 39 languages. The [<tvar name="1">https://github.com/google-research-datasets/WordGraph</tvar> dataset is available on GitHub] and published under CC0, making it compatible with Wikidata. We created [[<tvar name="2">:d:Special:MyLanguage/Wikidata:WordGraph</tvar>|an overview with some statistics about the dataset]], compared with Wikidata. The senses are already mapped to Wikidata QIDs, and so are the grammatical features, which makes adding them to Wikidata particularly easy.
<!--T:6-->
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
<!--T:7-->
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
=== New special page: list of functions filtered by their tests === <!--T:8-->
<!--T:67-->
This week we are happy to introduce a [[<tvar name="1">Special:ListFunctionsByTests</tvar>|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [<tvar name="2">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters</tvar> fewer than two tests]), or it can help to find [<tvar name="3">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters</tvar> functions that have passing tests that are not connected yet]. Or, on the other side, [<tvar name="4">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters</tvar> functions with failing tests that are still connected]. We can look for [<tvar name="5">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters</tvar> functions that have no tests at all], or that [<tvar name="6">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters</tvar> have no connected tests], or for [<tvar name="7">https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters</tvar> functions with more than a dozen tests].
<!--T:9-->
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
<!--T:10-->
On the page, you can enter:
</translate>
* <translate><!--T:11--> a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</translate>
* <translate><!--T:12--> whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</translate>
* <translate><!--T:13--> whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</translate>
<translate>
<!--T:14-->
Your resulting page can be shared by its URL.
<!--T:15-->
We hope that this new page will be helpful for you to maintain Wikifunctions!
=== More statements! === <!--T:16-->
<!--T:61-->
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</translate>
* <translate><!--T:17--> String</translate>
* <translate><!--T:18--> Lexeme reference</translate>
* <translate><!--T:19--> Lexeme form reference</translate>
* <translate><!--T:20--> Lexeme sense reference</translate>
* <translate><!--T:21--> Item reference</translate>
* <translate><!--T:22--> Monolingual text</translate>
<translate>
<!--T:23-->
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[<tvar name="1">Special:MyLanguage/Wikifunctions:Support for Wikidata content</tvar>|Wikifunctions:Support for Wikidata content]].
<!--T:24-->
In order to do so, we added a new key to the [[<tvar name="1">Z6003</tvar>|Wikidata statement]] last week, representing the [[<tvar name="2">Z6040</tvar>|rank]]. Big thanks to the community for organizing [[<tvar name="3">Talk:Z6003</tvar>|a marvelous and diligent clean-up job]]!
=== New type: day of Roman year === <!--T:25-->
<!--T:62-->
This week we introduce a new type: the [[<tvar name="1">Z20342</tvar>|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
<!--T:26-->
We were also planning to release the [[<tvar name="1">Z20420</tvar>|Gregorian date type]]. But while implementing the converters for the type and doing the [[<tvar name="2">Z20440</tvar>|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[<tvar name="3">Wikifunctions:Type proposals/Gregorian calendar date</tvar>|type proposal page]].
<!--T:27-->
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
<!--T:28-->
Note that the Gregorian date type is not yet the same as the [[<tvar name="1">:d:Special:MyLanguage/Help:Data type#time</tvar>|point in time data type in Wikidata]], but it is a necessary step on the path to it.
=== Recent Changes in the software === <!--T:29-->
<!--T:63-->
Last week, we unveiled the new special page, [[<tvar name="1">Special:ListMissingLabels</tvar>|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[<tvar name="2">Special:ListFunctionsByTests</tvar>|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[<tvar name="3">:phab:T377909</tvar>|T377909]] and [[<tvar name="4">:phab:T377910</tvar>|T377910]]). We have also changed [[<tvar name="5">Special:ListObjectsByType</tvar>|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[<tvar name="6">:phab:T296315</tvar>|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[<tvar name="7">:phab:T343633</tvar>|T343633]]).
<!--T:30-->
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[<tvar name="1">:phab:T374241</tvar>|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
<!--T:31-->
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[<tvar name="1">:phab:T296724</tvar>|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[<tvar name="2">:phab:T380386</tvar>|T380386]]).
<!--T:32-->
Finally, we have added support for the [[<tvar name="1">Z1952</tvar>|Z1952/bax-bamu]] ([[<tvar name="2">:phab:T379870</tvar>|T379870]]), [[<tvar name="3">Z1953</tvar>|Z1953/xon]] ([[<tvar name="4">:phab:T380246</tvar>|T380246]]), and [[<tvar name="5">Z1954</tvar>|Z1954/cdo-hant]] & [[<tvar name="6">Z1955</tvar>|Z1955/cdo-latn]] ([[<tvar name="7">:phab:T139010</tvar>|T139010]], [[<tvar name="8">:phab:T379829</tvar>|T379829]], and [[<tvar name="9">:phab:T380046</tvar>|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
=== Next volunteers’ corner on December 9 === <!--T:33-->
<!--T:64-->
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [<tvar name="1">https://zonestamp.toolforge.org/1733758200</tvar> December 9 at 15:30 UTC] at the [<tvar name="2">https://meet.google.com/xuy-njxh-rkw</tvar> usual place]. The January volunteers’ corner will also be moved by a week to January 13.
=== No update next week === <!--T:34-->
<!--T:65-->
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
=== Function of the week: is leap year === <!--T:35-->
<!--T:66-->
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
<!--T:36-->
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
<!--T:37-->
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[<tvar name="1">Z20159</tvar>|Gregorian year]] type last week, it could finally be implemented: [[<tvar name="2">Z20181</tvar>|is leap year]] (Z20181).
<!--T:38-->
Is leap year takes a single argument, a [[<tvar name="1">Z20159</tvar>|Gregorian year]], and returns a simple [[<tvar name="2">Z40</tvar>|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
<!--T:39-->
[[<tvar name="1">:en:Leap year</tvar>|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[<tvar name="2">:en:Pontifex maximus</tvar>|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[<tvar name="3">:en:Julius Caesar</tvar>|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
<!--T:40-->
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[<tvar name="1">:en:Pope Gregory XIII</tvar>|pope Gregory XIII]], as ''pontifex maximus'', issued a [[<tvar name="2">:en:Inter gravissimas</tvar>|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
<!--T:41-->
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
<!--T:42-->
The function has a solid set of tests:
</translate>
* <translate><!--T:43--> this year, 2024 [[<tvar name="1">Z20183</tvar>|is a]] leap year</translate>
* <translate><!--T:44--> next year, 2025, [[<tvar name="1">Z20253</tvar>|is not]]</translate>
* <translate><!--T:45--> 2000 [[<tvar name="1">Z20184</tvar>|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</translate>
* <translate><!--T:46--> 1900 [[<tvar name="1">Z20248</tvar>|was not a]] leap year, the last occurrence of skipping the leap year rule</translate>
* <translate><!--T:47--> 1582 [[<tvar name="1">Z20256</tvar>|was not]] a leap year either</translate>
* <translate><!--T:48--> 1 BC [[<tvar name="1">Z20252</tvar>|was a]] leap year</translate>
* <translate><!--T:49--> 5 BC [[<tvar name="1">Z20249</tvar>|was a]] leap year, because it was four years before 1 BC</translate>
* <translate><!--T:50--> 2025 BC [[<tvar name="1">Z20255</tvar>|was a]] leap year, too</translate>
* <translate><!--T:51--> 1300 was a Julian leap year, but [[<tvar name="1">Z20381</tvar>|not one]] in the proleptic Gregorian calendar</translate>
* <translate><!--T:52--> 4000 AD [[<tvar name="1">Z20382</tvar>|will be]] a leap year in the Gregorian calendar, but would not be in [[<tvar name="2">:en:Gregorian calendar#Accuracy</tvar>|Herschel's proposed modification]]</translate>
<translate>
<!--T:53-->
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
<!--T:54-->
The function has currently the following implementations:
</translate>
* <translate><!--T:55--> [[<tvar name="1">Z20182</tvar>|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</translate>
* <translate><!--T:56--> [[<tvar name="1">Z20251</tvar>|one in JavaScript]], which, according to a [<tvar name="2">https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914</tvar> detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</translate>
* <translate><!--T:57--> [[<tvar name="1">Z20275</tvar>|a composition]] which [[<tvar name="2">Z20257</tvar>|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[<tvar name="3">Z802</tvar>|ifs]]: if it is [[<tvar name="4">Z20266</tvar>|divisible by]] 400, then true, else if it is [[<tvar name="5">Z20266</tvar>|divisible by]] 100, then false, else whether it is [[<tvar name="6">Z20266</tvar>|divisible by]] 4.</translate>
* <translate><!--T:58--> and [[<tvar name="1">Z20304</tvar>|a quite charming composition]], that checks that the [[<tvar name="2">Z20302</tvar>|day of the week of the last day of the year]] is the [[<tvar name="3">Z17414</tvar>|same as]] the day of the week [[<tvar name="4">Z17420</tvar>|following]] the [[<tvar name="5">Z20290</tvar>|day of the week of the first day of the year]].</translate>
<translate>
<!--T:59-->
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
<!--T:60-->
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</translate>
[[Category:Status updates{{#translation:}}|2024-11-27]]
n4gi2uk90p6p2ddy7ch7gpkida6kvra
Translations:Wikifunctions:Status updates/2024-11-27/8/en
1198
44052
142735
142143
2024-11-30T21:19:01Z
FuzzyBot
207
Importing a new version from external source
142735
wikitext
text/x-wiki
=== New special page: list of functions filtered by their tests ===
k7q7ypm41rlm5os1okhs6majvg4ogs6
Wikifunctions:Status updates/2024-11-27/en
4
44105
142738
142166
2024-11-30T21:19:04Z
FuzzyBot
207
Updating to match new version of source page
142738
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Previous update
| prev = 2024-11-21
| nextlabel = Next update
| next =
}}
=== WordGraph: (almost) a million forms for describing people ===
[[File:Dicti indent.jpg|thumb]]
A belated present for Wikidata’s 12th birthday: a team at Google Zurich released the WordGraph dataset, almost a million word-forms in a structured representation that is easy to upload to Wikidata. According to its self-description, ''“[t]he WordGraph dataset contains multilingual lexicon entries linked to Wikipedia entities, focusing on human-denoting nouns and demonym adjectives. Each lexicon entry contains inflected word-forms and morphological information for all locales.”''
The dataset contains 968,153 forms in 39 languages. The [https://github.com/google-research-datasets/WordGraph dataset is available on GitHub] and published under CC0, making it compatible with Wikidata. We created [[:d:Special:MyLanguage/Wikidata:WordGraph|an overview with some statistics about the dataset]], compared with Wikidata. The senses are already mapped to Wikidata QIDs, and so are the grammatical features, which makes adding them to Wikidata particularly easy.
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
On the page, you can enter:
* a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;
* whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and
* whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)
Your resulting page can be shared by its URL.
We hope that this new page will be helpful for you to maintain Wikifunctions!
=== More statements! ===
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
* String
* Lexeme reference
* Lexeme form reference
* Lexeme sense reference
* Item reference
* Monolingual text
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
=== New type: day of Roman year ===
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
=== Recent Changes in the software ===
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
=== Next volunteers’ corner on December 9 ===
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
=== No update next week ===
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
=== Function of the week: is leap year ===
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
The function has a solid set of tests:
* this year, 2024 [[Z20183|is a]] leap year
* next year, 2025, [[Z20253|is not]]
* 2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule
* 1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule
* 1582 [[Z20256|was not]] a leap year either
* 1 BC [[Z20252|was a]] leap year
* 5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC
* 2025 BC [[Z20255|was a]] leap year, too
* 1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar
* 4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
The function has currently the following implementations:
* [[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.
* [[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)
* [[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.
* and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
[[Category:Status updates{{#translation:}}|2024-11-27]]
gp71kszq7ddkzqs7xqweecgkvyptsa3
Z20628
0
44192
142813
142373
2024-12-01T07:10:38Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142813
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20628"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20628K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "this"
}
]
}
}
],
"Z8K2": "Z20342",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z20629"
],
"Z8K5": "Z20628"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Validate Day of Roman year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour valide de l'année romaine"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Takes a Day of Roman year, and returns a valid one."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "prend un jour de l'année romaine, et renvoie un jour valide."
}
]
}
}
dk0stih9njyo9v9lk5e5c0i2brd6ahj
Z20629
0
44193
142814
142372
2024-12-01T07:11:32Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français
142814
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20629"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20628",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20628(Z20628K1):\n\tmonthLengths = [31,29,31,30,31,30,31,31,30,31,30,31]\n\tif Z20628K1.K2 \u003E monthLengths[Z20628K1.K1 - 1]:\n\t\treturn {\n\t\t\tK1: Z20628K1.K1,\n\t\t\tK2: monthLengths[Z20628K1.K1 - 1]\n\t\t}\n\telif Z20628K1.K2 == 0:\n\t\treturn {\n\t\t\tK1: Z20628K1.K1,\n\t\t\tK2: 1\n\t\t}\n\telse:\n\t\treturn Z20628K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour valide de l'année romaine, en Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
jo1e5kxlk0slwhihgg95kev096xycnu
Z20630
0
44194
142810
142374
2024-12-01T07:07:06Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142810
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20630"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20628",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20628",
"Z20628K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16111",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "31"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16111",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "30"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "31 November -\u003E 30 November"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "31 novembre → 30 novembre"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qibw0mkgcsxzfxdtycyiduts9vbvzfl
Z20631
0
44195
142811
142375
2024-12-01T07:07:41Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142811
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20631"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20628",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20628",
"Z20628K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16111",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "30"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16111",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "30"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "30 November -\u003E 30 November"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "30 novembre → 30 novembre"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qg5ykgglfeauax95k4z9xkwx9ovzzgl
Z20632
0
44196
142812
142376
2024-12-01T07:08:03Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142812
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20632"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20628",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20628",
"Z20628K1": {
"Z1K1": "Z20342",
"Z20342K1": "Z16112",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K2": {
"Z1K1": "Z20342",
"Z20342K1": "Z16112",
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "0 December -\u003E 1 December"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "0 décembre → 1er décembre"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
svw8ucbrgrjks8qc0mvtxqgspax5fa8
Wikifunctions:Type proposals/Byte
4
44197
142761
142434
2024-12-01T00:58:49Z
Feeglgeef
8776
/* Comments */
142761
wikitext
text/x-wiki
== Status ==
The type [[Z80|Z80/Byte]] already exists, but currently the community is asked not to use it. In order to get it ready for usage, a few decisions need to be made. The Byte type currently has no converters, parsers, and renderers. Whereas parsers and renderers can be updated later, changing converters would be a painstaking process and should be thus avoided. So let’s decide together on the converters.
== Summary ==
A Byte represents one of 256 possible values, often represented by the natural numbers 0 to 255. A Byte consists of eight bits, which each can be 0 or 1. It is frequently represented by two hexadecimal digits, i.e. from 00 to FF.
== Uses ==
* ''Why should this exist?''
A sequence of Bytes is usually used to represent binary data. Bytes are also traditionally the simplest data types computation is performed on.
* ''What kinds of functions would be created using this?''
There are quite a few functions which operate on Byte, mixing Boolean operations over the Byte viewed as an array of eight bits (e.g. Bitwise and, Bitwise or, Bitwise negation, left shift, etc.) and viewed as a number (addition, subtraction, multiplication, modulo, etc.). Besides operations on Bytes, there could also be operations to transform into and from bytes, e.g. for encoding Unicode codepoints, numbers, etc., although most of these will require a list of bytes.
* ''What standard concepts, if any, does this align with?''
Bytes are such a widely used standard in computing that it is rarely explicated. ISO/IEC 2382-1:1993 is the current standard that defines bytes.
== Structure ==
A byte consists of one key that represents the value of the byte. The value is of type string, and has always exactly two codepoints, each being one of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, or F.
=== Example values ===
Here is a value for the byte representing the value 27, or, in hexadecimal 1B, or in binary, 00011001.
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "Byte",
"value": "1B"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Z80",
"Z80K1": "1B"
}</syntaxhighlight>
|}
== Validator ==
The validator ensures that the string in the single key has exactly two characters, each of which being from the set 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
== Identity ==
Two Bytes are the same if the strings in their single key are the same.
== Converting to code ==
=== Python ===
Python does not have a native type for a Byte. The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int. Python does have a native representation for an array of Bytes, which is the bytes object. Using the Python int for a single Byte is consistent with what the elements of a Python bytes object are, e.g. try in a Python3 console
<code>> type(b'Wiki'[2])<br />
<class 'int'></code>
=== JavaScript ===
JavaScript does not have a native type for a Byte. The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number. JavaScript does have a native representation for an array of Bytes, which is Uint8Array. Using the JavaScript number for a single Byte is consistent with what the elements of a JavaScript Uint8Array are, e.g. try in a node or browser console:
<code>> typeof new Uint8Array(1)[0]<br />
'number'</code>
== Renderer ==
The renderer displays a byte as a string of length 2, displaying the hexadecimal value.
== Parsers ==
The renderer accepts any of the following formats:
Two hexadecimal digits, the letters either capitalized or not
A three or one digit digital number
An eight digit binary number
Note that a two digit digital number will be understood as the corresponding hexadecimal number, i.e. 20 will be read as “20” in hex, i.e. 32 in digital, not as 20 in digital, which would be 14 in hex. If one wants to enter a two digit digital number, they have to add a preceding zero, i.e. type 020.
== Alternatives ==
Instead of being represented with a string of two hexadecimal characters (Option 1), there could be a few other options:
* (Option 2) A byte consists of one key that represents the value of the byte. The value is of type string, and has always exactly eight characters, each either 0 or 1.
* (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.
* (Option 4) A byte consists of eight keys, each of type Boolean.
* (Option 5) A byte consists of one key of type list of Booleans. The list has a length of exactly eight.
* (Option 6) we could represent the type as an enumeration of 256 values
* (Option 7) we could create a type for hexadecimal digit, and make this type have two keys of hexadecimal digit
Since Byte already exists, we should avoid trying to change the structure of Byte.
(Option 8) The renderer could also display the value as a string of eight 0s and 1s.
(Option 9) The renderer could also display a different set for the hexadecimal digits, but it seems that 0…9A…F is widely used also in languages that do not use the latin alphabet.
(Option A) The Python conversion could convert to a bytes object of length 1 instead of a value of type int.
(Option B) The JavaScript conversion could convert to a Uint8Array(1) object.
== Comments ==
* {{s}} as proposer. --sign here
* {{o}} the use of hex here. It's not efficient, it's not language neutral, it's just all around meh. I am {{neutral}} to {{ping|99of9}}'s proposal in the Telegram, I think it's still flawed, but the best I've seen proposed. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 00:58, 1 December 2024 (UTC)
pd6i1q6mq04zkcwqd2vfx3m9hsd6dew
Wikifunctions:Type proposals/Unicode codepoint
4
44198
142760
142582
2024-12-01T00:54:02Z
Feeglgeef
8776
/* Comments */
142760
wikitext
text/x-wiki
== Summary ==
A Unicode codepoint represents a single code point in the Unicode standard. This is often (mis)understood as a single Unicode character (but that’s not exactly correct). This is to fix up the current [[Z86]] Type.
== Uses ==
* ''Why should this exist?''
Unicode is the most widely used standard for encoding text. Since our goal is to generate texts, it would be good to work effectively with Unicode concepts.
* ''What kinds of functions would be created using this?''
This is for breaking a string into parts and modifying them.
* ''What standard concepts, if any, does this align with?''
Unicode
== Structure ==
A Unicode codepoint consists of a single key with a natural number as the value type.
=== Example values ===
{| class="wikitable" style="margin:.6em 1.6em"
|<syntaxhighlight lang="json" line="line">{
"type": "Code point",
"value": {
"type": "Natural number",
"value": "85"
}
}</syntaxhighlight>
|<syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": {
"Z1K1": "Z13518",
"Z13518K1": "85"
}
}</syntaxhighlight>
|}
== Validator ==
The validator ensures that the natural number is below 1,114,113.
== Identity ==
Two code points are the same if their numbers are the same.
Note that two code points which have the same glyph are not the same.
== Converting to code ==
=== Python ===
In Python, turning a character into a code point is using the function ord. That function results in an int. Therefore it seems that an int is idiomatic in Python to represent a code point.
=== JavaScript ===
In JavaScript, turning a character into a code point is using the method .codePointAt(). That method results in a number. Therefore it seems that number is idiomatic in JavaScript to represent a code point.
== Renderer ==
Represent the number without commas or anything else.
== Parsers ==
Accept a number only.
== Alternatives ==
(Option 1) is the main proposal as described.
(Option 2) The validator also may disallow the 2,048 values which are due to UTF16’s encoding, i.e. the values from 55,296 to 57,343, including the edges.
(Option 3) The converters could turn them into strings instead of numeric values for the code points. That seems closer to the notion of a character.
(Option 4) Renderers and parsers could be using localization, i.e. display the numbers as appropriate for the given language.
(Option 5) Renderers and parsers could work on individual glyphs or strings. This seems error-prone.
== Comments ==
* {{s}} as proposer.
* {{o}} I disagree with the necessity. A one character string is better and makes more sense here [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 00:53, 1 December 2024 (UTC)
ijgtg3sliajb3h45emvpyjqdl2f1569
Z20659
0
44252
142661
142619
2024-11-30T12:35:20Z
99of9
1622
Added Z20661 to the approved list of test cases
142661
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20659"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z17K2": "Z20659K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Vector 1"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z17K2": "Z20659K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Vector 2"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z8K3": [
"Z20",
"Z20661"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20659"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "get dot product"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"dot product"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Finds the dot product of two integer vectors"
}
]
}
}
9en7f6b89git7k0f88k4xm8yzsq77sn
142823
142661
2024-12-01T07:22:40Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142823
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20659"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z17K2": "Z20659K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Vector 1"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "vecteur 1"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z17K2": "Z20659K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Vector 2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "vecteur 2"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z8K3": [
"Z20",
"Z20661"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20659"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "get dot product"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "obtenir le produit scalaire"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"dot product"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"produit scalaire"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Finds the dot product of two integer vectors"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "trouve le produit scalaire de deux vecteurs entiers"
}
]
}
}
0k1nker6pchmyizn3u81t6jnhgdu248
Z20660
0
44253
142822
142623
2024-12-01T07:22:19Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142822
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20660"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20659",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20659(Z20659K1, Z20659K2):\n\treturn sum(Z20659K1 * Z20659K2 for Z20659K1, Z20659K2 in zip(Z20659K1, Z20659K2))"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "get dot product, python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "obtenir le produit scalaire, en Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Python implementation of Z20659 (\"get dot product\")"
}
]
}
}
16qub9m9zijheg3z34s9boinql7oiws
Z20661
0
44254
142821
142622
2024-12-01T07:20:06Z
Jérémy-Günther-Heinz Jähnick
6055
Traduction en français (fr)
142821
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20661"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20659",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20659",
"Z20659K1": [
"Z16683",
{
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
{
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
}
],
"Z20659K2": [
"Z16683",
{
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "3"
}
},
{
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "4"
}
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z16688",
"Z16688K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "11"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "[1,2] • [3,4] = 11"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "[1,2] • [3,4] = 11"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
oknnthac6hpy567i2hz04f0cc7epkng
Z20664
0
44258
142662
142660
2024-11-30T12:39:30Z
Redtree21
9564
Lowercase
142662
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20664"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z11589",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z11589(Z11589K1):\n\tif(Z11589K1.endswith('ant')):\n\t\treturn Z11589K1[:-2] + 'mment';\n\tif(Z11589K1.endswith('ent','int','ont','unt')):\n\t\treturn Z11589K1 + 'ement';\n\tif(Z11589K1.endswith('ux')):\n\t\treturn Z11589K1[:-1] + 'sement';\n\telse:\n\t\treturn Z11589K1 + 'ment'"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "adjective to adverb rules (regular), python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bgsx9qdtqketrys4iutip1v1jenxq7a
142666
142662
2024-11-30T13:11:37Z
Feeglgeef
8776
fixes
142666
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20664"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z11589",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z11589(Z11589K1):\n\tif(Z11589K1.endswith('ant')):\n\t\treturn Z11589K1[:-2] + 'mment';\n\tif(Z11589K1.endswith(('ent','int','ont','unt'))):\n\t\treturn Z11589K1 + 'ement';\n\tif(Z11589K1.endswith('ux')):\n\t\treturn Z11589K1[:-1] + 'sement';\n\telse:\n\t\treturn Z11589K1 + 'ment'"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "adjective to adverb rules (regular), python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ljr3qvh1yr210gndelqmisp18xf27dy
Z20665
0
44259
142668
2024-11-30T13:20:30Z
Redtree21
9564
Created natural language function
142668
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Obtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
exk8gchdx59bq7qwz4fxzrm59fvrrnq
142674
142668
2024-11-30T14:02:32Z
Redtree21
9564
Defective code
142674
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
2213arpg6691l2hqsd9i6ui90120mo4
142678
142674
2024-11-30T14:23:28Z
Feeglgeef
8776
Added Z20666 to the approved list of implementations
142678
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z20666"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
if0if37ndl8yi41a525z2fw3y7js642
142681
142678
2024-11-30T15:20:12Z
GrounderUK
50
Added Z20667 and Z20668 to the approved list of test cases
142681
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668"
],
"Z8K4": [
"Z14",
"Z20666"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
b10zc2y72uzf5hd9icesgxswwe9wjac
142682
142681
2024-11-30T15:22:46Z
Feeglgeef
8776
Removed Z20666 from the approved list of implementations
142682
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
7hg1cwy9a0xml3ikmwpv0n00mm0d98b
142774
142682
2024-12-01T04:28:16Z
Feeglgeef
8776
142774
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infinitive"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
sl2o1lgm7dqe0q3yokcgkof1zenkzr9
142784
142774
2024-12-01T04:53:42Z
Feeglgeef
8776
Added Z20676 to the approved list of test cases
142784
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infinitive"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668",
"Z20676"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
i02vlveucy1gj4z03tmmsnx3l9qykno
142789
142784
2024-12-01T05:00:45Z
Redtree21
9564
Removed defective code notice
142789
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infinitive"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668",
"Z20676"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
hxwl2zhgvrvygljertagf5cz7n3fxhx
142792
142789
2024-12-01T05:07:16Z
Feeglgeef
8776
Added Z20677 to the approved list of test cases
142792
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infinitive"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668",
"Z20676",
"Z20677"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
1fkd8lw0hpoc2dqhrzv83cvwqwn6s8a
142795
142792
2024-12-01T05:11:30Z
Feeglgeef
8776
Added Z20666 to the approved list of implementations
142795
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infinitive"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668",
"Z20676",
"Z20677"
],
"Z8K4": [
"Z14",
"Z20666"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\n\nObtains the lenited form of a verb in Scottish Gaelic"
}
]
}
}
p7rumy7s9k4a5ym7wjo00sx00zysk2r
142842
142795
2024-12-01T09:01:55Z
Redtree21
9564
Correction to short description
142842
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infinitive"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668",
"Z20676",
"Z20677"
],
"Z8K4": [
"Z14",
"Z20666"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Obtains the lenited form of a noun in Scottish Gaelic"
}
]
}
}
t9e8ibylnk199vsznxtdmefatregaqn
142843
142842
2024-12-01T09:02:45Z
Redtree21
9564
Word class correction
142843
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "noun"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668",
"Z20676",
"Z20677"
],
"Z8K4": [
"Z14",
"Z20666"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Obtains the lenited form of a noun in Scottish Gaelic"
}
]
}
}
plg23ig59po63k4cfu7j00dpgd2kgra
142844
142843
2024-12-01T09:04:30Z
Redtree21
9564
More general
142844
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "noun"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668",
"Z20676",
"Z20677"
],
"Z8K4": [
"Z14",
"Z20666"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Obtains the lenited form of a word in Scottish Gaelic"
}
]
}
}
ll4teousdn2z33d58qng39lrnzc7iwh
142845
142844
2024-12-01T09:04:55Z
Redtree21
9564
More general
142845
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20665"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20665K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "word"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20667",
"Z20668",
"Z20676",
"Z20677"
],
"Z8K4": [
"Z14",
"Z20666"
],
"Z8K5": "Z20665"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic lenited form"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Obtains the lenited form of a word in Scottish Gaelic"
}
]
}
}
l8f6lutwd7sp6dd9hnif9xbknvglzux
Wikifunctions:Catalogue/Natural language operations/Scottish Gaelic
4
44260
142669
2024-11-30T13:21:35Z
Redtree21
9564
Created page
142669
wikitext
text/x-wiki
* {{Z|Z20665}}
tritmhjjx0hlllcyxh9jdcabb0eqee7
Z20666
0
44261
142670
2024-11-30T13:36:36Z
Redtree21
9564
Added implementation python code
142670
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif(Z20665K1.startswith('b')):\n\t\treturn Z20665K1[-1:] + 'bh'\n\tif(Z20665K1.startswith('c')):\n\t\treturn Z20665K1[-1:] + 'ch'\n\tif(Z20665K1.startswith('d')):\n\t\treturn Z20665K1[-1:] + 'dh'\n\tif(Z20665K1.startswith('f')):\n\t\treturn Z20665K1[-1:] + 'fh'\n\tif(Z20665K1.startswith('g')):\n\t\treturn Z20665K1[-1:] + 'gh'\n\tif(Z20665K1.startswith('m')):\n\t\treturn Z20665K1[-1:] + 'mh'\n\tif(Z20665K1.startswith('p')):\n\t\treturn Z20665K1[-1:] + 'ph'\n\tif(Z20665K1.startswith('s')):\n\t\treturn Z20665K1[-1:] + 'sh'\n\tif(Z20665K1.startswith('t')):\n\t\treturn Z20665K1[-1:] + 'th'\n\tif(Z20665K1.startswith('sg')):\n\t\treturn Z20665K1\n\tif(Z20665K1.startswith('sp')):\n\t\treturn Z20665K1\n\tif(Z20665K1.startswith('st')):\n\t\treturn Z20665K1\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0ttbhzyffolfejq33vhu8vwpuh3yxks
142671
142670
2024-11-30T13:38:21Z
Redtree21
9564
Added semicolons to python code
142671
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif(Z20665K1.startswith('b')):\n\t\treturn Z20665K1[-1:] + 'bh';\n\tif(Z20665K1.startswith('c')):\n\t\treturn Z20665K1[-1:] + 'ch';\n\tif(Z20665K1.startswith('d')):\n\t\treturn Z20665K1[-1:] + 'dh';\n\tif(Z20665K1.startswith('f')):\n\t\treturn Z20665K1[-1:] + 'fh';\n\tif(Z20665K1.startswith('g')):\n\t\treturn Z20665K1[-1:] + 'gh';\n\tif(Z20665K1.startswith('m')):\n\t\treturn Z20665K1[-1:] + 'mh';\n\tif(Z20665K1.startswith('p')):\n\t\treturn Z20665K1[-1:] + 'ph';\n\tif(Z20665K1.startswith('s')):\n\t\treturn Z20665K1[-1:] + 'sh';\n\tif(Z20665K1.startswith('t')):\n\t\treturn Z20665K1[-1:] + 'th';\n\tif(Z20665K1.startswith('sg')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('sp')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('st')):\n\t\treturn Z20665K1;\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4p1yr3vglfjgatfl1prmtcld5brmfdc
142673
142671
2024-11-30T13:53:31Z
Redtree21
9564
Removed incorrectly used slice in code
142673
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif(Z20665K1.startswith('b')):\n\t\treturn Z20665K1[-1] + 'bh';\n\tif(Z20665K1.startswith('c')):\n\t\treturn Z20665K1[-1] + 'ch';\n\tif(Z20665K1.startswith('d')):\n\t\treturn Z20665K1[-1] + 'dh';\n\tif(Z20665K1.startswith('f')):\n\t\treturn Z20665K1[-1] + 'fh';\n\tif(Z20665K1.startswith('g')):\n\t\treturn Z20665K1[-1] + 'gh';\n\tif(Z20665K1.startswith('m')):\n\t\treturn Z20665K1[-1] + 'mh';\n\tif(Z20665K1.startswith('p')):\n\t\treturn Z20665K1[-1] + 'ph';\n\tif(Z20665K1.startswith('s')):\n\t\treturn Z20665K1[-1] + 'sh';\n\tif(Z20665K1.startswith('t')):\n\t\treturn Z20665K1[-1] + 'th';\n\tif(Z20665K1.startswith('sg')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('sp')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('st')):\n\t\treturn Z20665K1;\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6sg2mbqm9lm2c1pq1i0fsusltuvnd0q
142675
142673
2024-11-30T14:03:02Z
Redtree21
9564
Defective code
142675
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif(Z20665K1.startswith('b')):\n\t\treturn Z20665K1[-1] + 'bh';\n\tif(Z20665K1.startswith('c')):\n\t\treturn Z20665K1[-1] + 'ch';\n\tif(Z20665K1.startswith('d')):\n\t\treturn Z20665K1[-1] + 'dh';\n\tif(Z20665K1.startswith('f')):\n\t\treturn Z20665K1[-1] + 'fh';\n\tif(Z20665K1.startswith('g')):\n\t\treturn Z20665K1[-1] + 'gh';\n\tif(Z20665K1.startswith('m')):\n\t\treturn Z20665K1[-1] + 'mh';\n\tif(Z20665K1.startswith('p')):\n\t\treturn Z20665K1[-1] + 'ph';\n\tif(Z20665K1.startswith('s')):\n\t\treturn Z20665K1[-1] + 'sh';\n\tif(Z20665K1.startswith('t')):\n\t\treturn Z20665K1[-1] + 'th';\n\tif(Z20665K1.startswith('sg')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('sp')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('st')):\n\t\treturn Z20665K1;\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective"
}
]
}
}
nit8z85lcerb621t73lrqu5tk92blaq
142676
142675
2024-11-30T14:07:39Z
Redtree21
9564
Attempting to fix code
142676
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif(Z20665K1.startswith('b')):\n\t\treturn Z20665K1[:1] + 'bh';\n\tif(Z20665K1.startswith('c')):\n\t\treturn Z20665K1[:1] + 'ch';\n\tif(Z20665K1.startswith('d')):\n\t\treturn Z20665K1[:1] + 'dh';\n\tif(Z20665K1.startswith('f')):\n\t\treturn Z20665K1[:1] + 'fh';\n\tif(Z20665K1.startswith('g')):\n\t\treturn Z20665K1[:1] + 'gh';\n\tif(Z20665K1.startswith('m')):\n\t\treturn Z20665K1[:1] + 'mh';\n\tif(Z20665K1.startswith('p')):\n\t\treturn Z20665K1[:1] + 'ph';\n\tif(Z20665K1.startswith('s')):\n\t\treturn Z20665K1[:1] + 'sh';\n\tif(Z20665K1.startswith('t')):\n\t\treturn Z20665K1[:1] + 'th';\n\tif(Z20665K1.startswith('sg')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('sp')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('st')):\n\t\treturn Z20665K1;\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective"
}
]
}
}
7hl34gts5bmxq70yiv5hw1qyoale9jm
142677
142676
2024-11-30T14:20:25Z
Redtree21
9564
Attempted code fixes
142677
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif(Z20665K1.startswith('b')):\n\t\tdef replace Z20665K1(1, bh);\n\tif(Z20665K1.startswith('c')):\n\t\tdef replace Z20665K1(1, ch);\n\tif(Z20665K1.startswith('d')):\n\t\tdef replace Z20665K1(1, dh);\n\tif(Z20665K1.startswith('f')):\n\t\tdef replace Z20665K1(1, fh);\n\tif(Z20665K1.startswith('g')):\n\t\tdef replace Z20665K1(1, gh);\n\tif(Z20665K1.startswith('m')):\n\t\tdef replace Z20665K1(1, mh);\n\tif(Z20665K1.startswith('p')):\n\t\tdef replace Z20665K1(1, ph);\n\tif(Z20665K1.startswith('s')):\n\t\tdef replace Z20665K1(1, sh);\n\tif(Z20665K1.startswith('t')):\n\t\tdef replace Z20665K1(1, th);\n\tif(Z20665K1.startswith('sg')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('sp')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('st')):\n\t\treturn Z20665K1;\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective"
}
]
}
}
373djh8thtvdy7k21l7gnv95xadn2g7
142771
142677
2024-12-01T04:17:45Z
Redtree21
9564
Trying more fixes
142771
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif(Z20665K1.startswith('b','c','d','f','g','m','p','s','t')):\n\t\t1=Z20665K1[:1] + 'h' + Z20665K1[1:];\n\tif(Z20665K1.startswith('sg')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('sp')):\n\t\treturn Z20665K1;\n\tif(Z20665K1.startswith('st')):\n\t\treturn Z20665K1;\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective"
}
]
}
}
lyjf4r89rj6klmouo8fduyfymil14j3
142772
142771
2024-12-01T04:22:38Z
Redtree21
9564
Test edit
142772
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif(Z20665K1.startswith('b','c','d','f','g','m','p','s','t')):\n\t\t1=Z20665K1[:1] + 'h' + Z20665K1[1:];\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective"
}
]
}
}
r07hc656kn07h9wbt6muodqudf4plp2
142773
142772
2024-12-01T04:26:43Z
Feeglgeef
8776
Fix + pythonify
142773
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif Z20665K1.startswith(('b','c','d','f','g','m','p','s','t')):\n\t\treturn Z20665K1[:1] + 'h' + Z20665K1[1:]\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective"
}
]
}
}
rys9ukipcithb6fh6wyut6x3ymd4s7c
142777
142773
2024-12-01T04:32:41Z
Redtree21
9564
Exceptions to lenition
142777
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif Z20665K1.startswith(('b','c','d','f','g','m','p','s','t')):\n\t\treturn Z20665K1[:1] + 'h' + Z20665K1[1:]\n\tif Z20665K1.startswith(('sg','sp','st')):\n\t\treturn Z20665K1\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective"
}
]
}
}
46ltrvr6ocay8ldsk6oyilne2ds9gnh
142781
142777
2024-12-01T04:48:45Z
Redtree21
9564
Trying another fix
142781
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif Z20665K1.startswith(('b','c','d','f','g','m','p','s','t')):\n\t\tif Z20665K1.startswith(('sg','sp','st')):\n\t\t\treturn Z20665K1\n\t\telse:\n\t\t\treturn Z20665K1[:1] + 'h' + Z20665K1[1:]\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "NOTE - Code is defective"
}
]
}
}
ohd948h7qdlxncmf0um2vgwjvx4il7l
142790
142781
2024-12-01T05:01:22Z
Redtree21
9564
Removed defective code notice
142790
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif Z20665K1.startswith(('b','c','d','f','g','m','p','s','t')):\n\t\tif Z20665K1.startswith(('sg','sp','st')):\n\t\t\treturn Z20665K1\n\t\telse:\n\t\t\treturn Z20665K1[:1] + 'h' + Z20665K1[1:]\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited verb, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
g0wgpltgjz25b68iam1zjritzk2irij
142841
142790
2024-12-01T09:01:20Z
Redtree21
9564
Word class correction
142841
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif Z20665K1.startswith(('b','c','d','f','g','m','p','s','t')):\n\t\tif Z20665K1.startswith(('sg','sp','st')):\n\t\t\treturn Z20665K1\n\t\telse:\n\t\t\treturn Z20665K1[:1] + 'h' + Z20665K1[1:]\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited noun, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pg25bhnp69og09g5yg9j0wolm6buvch
142846
142841
2024-12-01T09:05:34Z
Redtree21
9564
More general
142846
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20666"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20665",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20665(Z20665K1):\n\tif Z20665K1.startswith(('b','c','d','f','g','m','p','s','t')):\n\t\tif Z20665K1.startswith(('sg','sp','st')):\n\t\t\treturn Z20665K1\n\t\telse:\n\t\t\treturn Z20665K1[:1] + 'h' + Z20665K1[1:]\n\telse:\n\t\treturn Z20665K1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Scottish Gaelic standard to lenited word, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2oni8ifcoe2hw0s96160rn275auad7u
Z20667
0
44262
142672
2024-11-30T13:42:11Z
Redtree21
9564
Added test
142672
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20667"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20665",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20665",
"Z20665K1": "caraid"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "charaid"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ikrlh15sswwn38ym248nzaphcc4opjx
142775
142672
2024-12-01T04:29:06Z
Feeglgeef
8776
Name
142775
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20667"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20665",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20665",
"Z20665K1": "caraid"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "charaid"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "caraid -\u003E charaid"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gccrrmlaaz28jz1ujtohejyzlt8zvyj
Z20668
0
44263
142679
2024-11-30T14:44:21Z
Redtree21
9564
Created test
142679
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20668"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20665",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20665",
"Z20665K1": "dùn"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dhùn"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4uu2mjmxauejdbj8f9kqk2g3br9upo0
142776
142679
2024-12-01T04:29:53Z
Feeglgeef
8776
142776
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20668"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20665",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20665",
"Z20665K1": "dùn"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "dhùn"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "dùn -\u003E dhùn"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
q7f1p2h99qupfdmttxzlkcq9445mfak
Z20669
0
44264
142691
2024-11-30T20:19:05Z
Feeglgeef
8776
142691
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20669"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20669K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "word"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z16683",
"Z17K2": "Z20669K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20669"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Caesar cipher (Dagbani alphabet)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lpall2tjsgtdi09h02weutvsgolo8fr
142700
142691
2024-11-30T20:25:10Z
Feeglgeef
8776
Added Z20670 to the approved list of implementations
142700
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20669"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20669K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "word"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z16683",
"Z17K2": "Z20669K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z20670"
],
"Z8K5": "Z20669"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Caesar cipher (Dagbani alphabet)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qyct1nwdnkpf8ssnrg72ccc0mvvwakd
142706
142700
2024-11-30T20:28:33Z
Feeglgeef
8776
Added Z20671 to the approved list of test cases
142706
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20669"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20669K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "word"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z16683",
"Z17K2": "Z20669K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20671"
],
"Z8K4": [
"Z14",
"Z20670"
],
"Z8K5": "Z20669"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Caesar cipher (Dagbani alphabet)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6zd29uhc8il8rqao1l8steahhajtdf0
142717
142706
2024-11-30T20:42:02Z
Feeglgeef
8776
Added Z20672 to the approved list of test cases
142717
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20669"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20669K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "word"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z16683",
"Z17K2": "Z20669K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20671",
"Z20672"
],
"Z8K4": [
"Z14",
"Z20670"
],
"Z8K5": "Z20669"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Caesar cipher (Dagbani alphabet)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
o4rw6kmv65vuio1ckh99h7nrvra9uz9
Z20670
0
44265
142699
2024-11-30T20:25:01Z
Feeglgeef
8776
142699
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20670"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20669",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20669(Z20669K1, Z20669K2):\n\tl = \"a|b|ch|d|e|ɛ|f|g|gb|ɣ|h|i|j|k|kp|l|m|n|ny|ŋ|ŋm|o|ɔ|p|r|s|sh|t|u|w|y|z|ʒ|’\"\n\tl = l.split(\"|\")\n\twl = []\n\tt = Z20669K1\n\twhile len(t) != 0:\n\t\tif t[:1] in l:\n\t\t\tt = t[2:]\n\t\t\twl.append(t[:1])\n\t\telse:\n\t\t\tt = t[1:]\n\t\t\twl.append(t[0])\n\tfor n, i in enumerate(wl):\n\t\tindex = l.index(i)\n\t\tnewIndex = (index + Z20669K2) % l.length\n\t\twl[n] = l[newIndex]\n\treturn \"\".join(wl)"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
iuff9t4z1n9s309csodk8uje8kwdwtv
142713
142699
2024-11-30T20:32:22Z
Feeglgeef
8776
142713
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20670"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20669",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z20669(Z20669K1, Z20669K2):\n\tl = \"a|b|ch|d|e|ɛ|f|g|gb|ɣ|h|i|j|k|kp|l|m|n|ny|ŋ|ŋm|o|ɔ|p|r|s|sh|t|u|w|y|z|ʒ|’\"\n\tl = l.split(\"|\")\n\twl = []\n\tt = Z20669K1\n\twhile len(t) != 0:\n\t\tif t[:2] in l and len(t) \u003E 1:\n\t\t\twl.append(t[:1])\n\t\t\tt = t[2:]\n\t\telif len(t) \u003E= 1:\n\t\t\twl.append(t[0])\n\t\t\tt = t[1:]\n\tfor n, i in enumerate(wl):\n\t\tindex = l.index(i)\n\t\tnewIndex = (index + Z20669K2) % len(l)\n\t\twl[n] = l[newIndex]\n\treturn \"\".join(wl)"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
f9gzqztt71owg4m5fn9jmxdojaibj94
Z20671
0
44266
142705
2024-11-30T20:28:24Z
Feeglgeef
8776
142705
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20671"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20669",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20669",
"Z20669K1": "yi",
"Z20669K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "ʒk"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"yi\", 2 is \"ʒk\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5bscmxa28cgwnhbq7gzxugcls92whmg
Translations:Wikifunctions:Status updates/2024-11-27/Page display title/de
1198
44267
142707
2024-11-30T20:31:39Z
Ameisenigel
44
Created page with "Wikifunctions:Status-Updates/2024-11-27"
142707
wikitext
text/x-wiki
Wikifunctions:Status-Updates/2024-11-27
9knz0yaw4zk7vdk77gs84g3rr2mo6xa
Wikifunctions:Status updates/2024-11-27/de
4
44268
142708
2024-11-30T20:31:39Z
Ameisenigel
44
Created page with "Wikifunctions:Status-Updates/2024-11-27"
142708
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Previous update</span>
| prev = 2024-11-21
| nextlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Next update</span>
| next =
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== WordGraph: (almost) a million forms for describing people ===
</div>
[[File:Dicti indent.jpg|thumb]]
<div lang="en" dir="ltr" class="mw-content-ltr">
A belated present for Wikidata’s 12th birthday: a team at Google Zurich released the WordGraph dataset, almost a million word-forms in a structured representation that is easy to upload to Wikidata. According to its self-description, ''“[t]he WordGraph dataset contains multilingual lexicon entries linked to Wikipedia entities, focusing on human-denoting nouns and demonym adjectives. Each lexicon entry contains inflected word-forms and morphological information for all locales.”''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The dataset contains 968,153 forms in 39 languages. The [https://github.com/google-research-datasets/WordGraph dataset is available on GitHub] and published under CC0, making it compatible with Wikidata. We created [[:d:Special:MyLanguage/Wikidata:WordGraph|an overview with some statistics about the dataset]], compared with Wikidata. The senses are already mapped to Wikidata QIDs, and so are the grammatical features, which makes adding them to Wikidata particularly easy.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
jjho8nljn4d17cqxs8iaal6ohclkdgv
142710
142708
2024-11-30T20:31:42Z
Ameisenigel
44
Created page with "Vorheriges Update"
142710
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2024-11-21
| nextlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Next update</span>
| next =
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== WordGraph: (almost) a million forms for describing people ===
</div>
[[File:Dicti indent.jpg|thumb]]
<div lang="en" dir="ltr" class="mw-content-ltr">
A belated present for Wikidata’s 12th birthday: a team at Google Zurich released the WordGraph dataset, almost a million word-forms in a structured representation that is easy to upload to Wikidata. According to its self-description, ''“[t]he WordGraph dataset contains multilingual lexicon entries linked to Wikipedia entities, focusing on human-denoting nouns and demonym adjectives. Each lexicon entry contains inflected word-forms and morphological information for all locales.”''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The dataset contains 968,153 forms in 39 languages. The [https://github.com/google-research-datasets/WordGraph dataset is available on GitHub] and published under CC0, making it compatible with Wikidata. We created [[:d:Special:MyLanguage/Wikidata:WordGraph|an overview with some statistics about the dataset]], compared with Wikidata. The senses are already mapped to Wikidata QIDs, and so are the grammatical features, which makes adding them to Wikidata particularly easy.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
pz7pzbzxy3t1zav8pvnhgwutkfdh192
142712
142710
2024-11-30T20:31:54Z
Ameisenigel
44
Created page with "Nächstes Update"
142712
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2024-11-21
| nextlabel = Nächstes Update
| next =
}}
<div lang="en" dir="ltr" class="mw-content-ltr">
=== WordGraph: (almost) a million forms for describing people ===
</div>
[[File:Dicti indent.jpg|thumb]]
<div lang="en" dir="ltr" class="mw-content-ltr">
A belated present for Wikidata’s 12th birthday: a team at Google Zurich released the WordGraph dataset, almost a million word-forms in a structured representation that is easy to upload to Wikidata. According to its self-description, ''“[t]he WordGraph dataset contains multilingual lexicon entries linked to Wikipedia entities, focusing on human-denoting nouns and demonym adjectives. Each lexicon entry contains inflected word-forms and morphological information for all locales.”''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The dataset contains 968,153 forms in 39 languages. The [https://github.com/google-research-datasets/WordGraph dataset is available on GitHub] and published under CC0, making it compatible with Wikidata. We created [[:d:Special:MyLanguage/Wikidata:WordGraph|an overview with some statistics about the dataset]], compared with Wikidata. The senses are already mapped to Wikidata QIDs, and so are the grammatical features, which makes adding them to Wikidata particularly easy.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
dcv99m7mshyf7eu8ifhww1xw6grw4j7
142715
142712
2024-11-30T20:32:44Z
Ameisenigel
44
Created page with "=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ==="
142715
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2024-11-21
| nextlabel = Nächstes Update
| next =
}}
<span id="WordGraph:_(almost)_a_million_forms_for_describing_people"></span>
=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ===
[[File:Dicti indent.jpg|thumb]]
<div lang="en" dir="ltr" class="mw-content-ltr">
A belated present for Wikidata’s 12th birthday: a team at Google Zurich released the WordGraph dataset, almost a million word-forms in a structured representation that is easy to upload to Wikidata. According to its self-description, ''“[t]he WordGraph dataset contains multilingual lexicon entries linked to Wikipedia entities, focusing on human-denoting nouns and demonym adjectives. Each lexicon entry contains inflected word-forms and morphological information for all locales.”''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The dataset contains 968,153 forms in 39 languages. The [https://github.com/google-research-datasets/WordGraph dataset is available on GitHub] and published under CC0, making it compatible with Wikidata. We created [[:d:Special:MyLanguage/Wikidata:WordGraph|an overview with some statistics about the dataset]], compared with Wikidata. The senses are already mapped to Wikidata QIDs, and so are the grammatical features, which makes adding them to Wikidata particularly easy.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
2d7yrf4kopbwquh6yrgf52f7dtna5qc
142724
142715
2024-11-30T21:00:17Z
Ameisenigel
44
Created page with "Ein verspätetes Geschenk zum 12. Geburtstag von Wikidata: Ein Team bei Google Zürich hat den WordGraph-Datensatz veröffentlicht, fast eine Millionen Wortformen in einer strukturierten Darstellung, die sich leicht auf Wikidata hochladen lässt. Laut seiner Selbstbeschreibung ''“enthält der WordGraph-Datensatz mehrsprachige Lexikoneinträge, die mit Wikipedia-Entitäten verknüpft sind und sich auf menschenbezeichnende Nomen und demonyme Adjektive konzentrieren. Jede..."
142724
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2024-11-21
| nextlabel = Nächstes Update
| next =
}}
<span id="WordGraph:_(almost)_a_million_forms_for_describing_people"></span>
=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ===
[[File:Dicti indent.jpg|thumb]]
Ein verspätetes Geschenk zum 12. Geburtstag von Wikidata: Ein Team bei Google Zürich hat den WordGraph-Datensatz veröffentlicht, fast eine Millionen Wortformen in einer strukturierten Darstellung, die sich leicht auf Wikidata hochladen lässt. Laut seiner Selbstbeschreibung ''“enthält der WordGraph-Datensatz mehrsprachige Lexikoneinträge, die mit Wikipedia-Entitäten verknüpft sind und sich auf menschenbezeichnende Nomen und demonyme Adjektive konzentrieren. Jeder Lexikoneintrag enthält flektierte Wortformen und morphologische Informationen für alle Ortsangaben.”''
<div lang="en" dir="ltr" class="mw-content-ltr">
The dataset contains 968,153 forms in 39 languages. The [https://github.com/google-research-datasets/WordGraph dataset is available on GitHub] and published under CC0, making it compatible with Wikidata. We created [[:d:Special:MyLanguage/Wikidata:WordGraph|an overview with some statistics about the dataset]], compared with Wikidata. The senses are already mapped to Wikidata QIDs, and so are the grammatical features, which makes adding them to Wikidata particularly easy.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
nhvajtw3kmtwz2vgcy557hfoddou2ne
142728
142724
2024-11-30T21:09:26Z
Ameisenigel
44
Created page with "Der Datensatz enthält 968.153 Formen in 39 Sprachen. Der [$1 Datensatz ist auf GitHub verfügbar] und unter CC0 veröffentlicht, was ihn mit Wikidata kompatibel macht. Wir haben [[$2|eine Übersicht mit einigen Statistiken zum Datensatz]] erstellt, verglichen mit Wikidata. Die Sinne sind bereits Wikidata-QIDs zugeordnet, ebenso wie die grammatikalischen Funktionen, was das Hinzufügen zu Wikidata besonders einfach macht."
142728
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2024-11-21
| nextlabel = Nächstes Update
| next =
}}
<span id="WordGraph:_(almost)_a_million_forms_for_describing_people"></span>
=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ===
[[File:Dicti indent.jpg|thumb]]
Ein verspätetes Geschenk zum 12. Geburtstag von Wikidata: Ein Team bei Google Zürich hat den WordGraph-Datensatz veröffentlicht, fast eine Millionen Wortformen in einer strukturierten Darstellung, die sich leicht auf Wikidata hochladen lässt. Laut seiner Selbstbeschreibung ''“enthält der WordGraph-Datensatz mehrsprachige Lexikoneinträge, die mit Wikipedia-Entitäten verknüpft sind und sich auf menschenbezeichnende Nomen und demonyme Adjektive konzentrieren. Jeder Lexikoneintrag enthält flektierte Wortformen und morphologische Informationen für alle Ortsangaben.”''
Der Datensatz enthält 968.153 Formen in 39 Sprachen. Der [https://github.com/google-research-datasets/WordGraph Datensatz ist auf GitHub verfügbar] und unter CC0 veröffentlicht, was ihn mit Wikidata kompatibel macht. Wir haben [[:d:Special:MyLanguage/Wikidata:WordGraph|eine Übersicht mit einigen Statistiken zum Datensatz]] erstellt, verglichen mit Wikidata. Die Sinne sind bereits Wikidata-QIDs zugeordnet, ebenso wie die grammatikalischen Funktionen, was das Hinzufügen zu Wikidata besonders einfach macht.
<div lang="en" dir="ltr" class="mw-content-ltr">
With the selection of human-denoting nouns and demonyms, this dataset is particularly useful for abstract descriptions for people in Wikidata – and people are, after all, the largest type of items that have Wikipedia articles. These lexemes will help us with creating such descriptions as “Irish rugby player”, “Ghanaian singer,” or “Indian mathematician” in many languages.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
fi06zhgmemmpjr79h2nwre8ng35j0fq
142730
142728
2024-11-30T21:16:56Z
Ameisenigel
44
Created page with "Mit der Auswahl an menschenbezeichnenden Nomen und Demonymen ist dieser Datensatz besonders nützlich für abstrakte Beschreibungen von Personen in Wikidata – und Personen sind schließlich der größte Typ von Datenobjekten, zu dem es Wikipedia-Artikel gibt. Diese Lexeme helfen uns dabei, Beschreibungen wie “irischer Rugbyspieler”, “ghanaischer Sänger” oder “indischer Mathematiker” in vielen Sprachen zu erstellen."
142730
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2024-11-21
| nextlabel = Nächstes Update
| next =
}}
<span id="WordGraph:_(almost)_a_million_forms_for_describing_people"></span>
=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ===
[[File:Dicti indent.jpg|thumb]]
Ein verspätetes Geschenk zum 12. Geburtstag von Wikidata: Ein Team bei Google Zürich hat den WordGraph-Datensatz veröffentlicht, fast eine Millionen Wortformen in einer strukturierten Darstellung, die sich leicht auf Wikidata hochladen lässt. Laut seiner Selbstbeschreibung ''“enthält der WordGraph-Datensatz mehrsprachige Lexikoneinträge, die mit Wikipedia-Entitäten verknüpft sind und sich auf menschenbezeichnende Nomen und demonyme Adjektive konzentrieren. Jeder Lexikoneintrag enthält flektierte Wortformen und morphologische Informationen für alle Ortsangaben.”''
Der Datensatz enthält 968.153 Formen in 39 Sprachen. Der [https://github.com/google-research-datasets/WordGraph Datensatz ist auf GitHub verfügbar] und unter CC0 veröffentlicht, was ihn mit Wikidata kompatibel macht. Wir haben [[:d:Special:MyLanguage/Wikidata:WordGraph|eine Übersicht mit einigen Statistiken zum Datensatz]] erstellt, verglichen mit Wikidata. Die Sinne sind bereits Wikidata-QIDs zugeordnet, ebenso wie die grammatikalischen Funktionen, was das Hinzufügen zu Wikidata besonders einfach macht.
Mit der Auswahl an menschenbezeichnenden Nomen und Demonymen ist dieser Datensatz besonders nützlich für abstrakte Beschreibungen von Personen in Wikidata – und Personen sind schließlich der größte Typ von Datenobjekten, zu dem es Wikipedia-Artikel gibt. Diese Lexeme helfen uns dabei, Beschreibungen wie “irischer Rugbyspieler”, “ghanaischer Sänger” oder “indischer Mathematiker” in vielen Sprachen zu erstellen.
<div lang="en" dir="ltr" class="mw-content-ltr">
We want to thank Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang and Abdelrahman Nabil at Google for this beautiful gift. We invite everyone to work on enriching Wikidata with this lexicographic data.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
at4qn46eb48zyc55kjt8aknlzh3f4hl
142732
142730
2024-11-30T21:18:17Z
Ameisenigel
44
Created page with "Wir möchten Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang und Abdelrahman Nabil von Google für dieses wunderbare Geschenk danken. Wir laden alle ein, an der Anreicherung von Wikidata mit diesen lexikografischen Daten mitzuarbeiten."
142732
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2024-11-21
| nextlabel = Nächstes Update
| next =
}}
<span id="WordGraph:_(almost)_a_million_forms_for_describing_people"></span>
=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ===
[[File:Dicti indent.jpg|thumb]]
Ein verspätetes Geschenk zum 12. Geburtstag von Wikidata: Ein Team bei Google Zürich hat den WordGraph-Datensatz veröffentlicht, fast eine Millionen Wortformen in einer strukturierten Darstellung, die sich leicht auf Wikidata hochladen lässt. Laut seiner Selbstbeschreibung ''“enthält der WordGraph-Datensatz mehrsprachige Lexikoneinträge, die mit Wikipedia-Entitäten verknüpft sind und sich auf menschenbezeichnende Nomen und demonyme Adjektive konzentrieren. Jeder Lexikoneintrag enthält flektierte Wortformen und morphologische Informationen für alle Ortsangaben.”''
Der Datensatz enthält 968.153 Formen in 39 Sprachen. Der [https://github.com/google-research-datasets/WordGraph Datensatz ist auf GitHub verfügbar] und unter CC0 veröffentlicht, was ihn mit Wikidata kompatibel macht. Wir haben [[:d:Special:MyLanguage/Wikidata:WordGraph|eine Übersicht mit einigen Statistiken zum Datensatz]] erstellt, verglichen mit Wikidata. Die Sinne sind bereits Wikidata-QIDs zugeordnet, ebenso wie die grammatikalischen Funktionen, was das Hinzufügen zu Wikidata besonders einfach macht.
Mit der Auswahl an menschenbezeichnenden Nomen und Demonymen ist dieser Datensatz besonders nützlich für abstrakte Beschreibungen von Personen in Wikidata – und Personen sind schließlich der größte Typ von Datenobjekten, zu dem es Wikipedia-Artikel gibt. Diese Lexeme helfen uns dabei, Beschreibungen wie “irischer Rugbyspieler”, “ghanaischer Sänger” oder “indischer Mathematiker” in vielen Sprachen zu erstellen.
Wir möchten Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang und Abdelrahman Nabil von Google für dieses wunderbare Geschenk danken. Wir laden alle ein, an der Anreicherung von Wikidata mit diesen lexikografischen Daten mitzuarbeiten.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
nr4shlso4jedae1s1zr4l9imuokbdjf
142737
142732
2024-11-30T21:19:04Z
FuzzyBot
207
Updating to match new version of source page
142737
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2024-11-21
| nextlabel = Nächstes Update
| next =
}}
<span id="WordGraph:_(almost)_a_million_forms_for_describing_people"></span>
=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ===
[[File:Dicti indent.jpg|thumb]]
Ein verspätetes Geschenk zum 12. Geburtstag von Wikidata: Ein Team bei Google Zürich hat den WordGraph-Datensatz veröffentlicht, fast eine Millionen Wortformen in einer strukturierten Darstellung, die sich leicht auf Wikidata hochladen lässt. Laut seiner Selbstbeschreibung ''“enthält der WordGraph-Datensatz mehrsprachige Lexikoneinträge, die mit Wikipedia-Entitäten verknüpft sind und sich auf menschenbezeichnende Nomen und demonyme Adjektive konzentrieren. Jeder Lexikoneintrag enthält flektierte Wortformen und morphologische Informationen für alle Ortsangaben.”''
Der Datensatz enthält 968.153 Formen in 39 Sprachen. Der [https://github.com/google-research-datasets/WordGraph Datensatz ist auf GitHub verfügbar] und unter CC0 veröffentlicht, was ihn mit Wikidata kompatibel macht. Wir haben [[:d:Special:MyLanguage/Wikidata:WordGraph|eine Übersicht mit einigen Statistiken zum Datensatz]] erstellt, verglichen mit Wikidata. Die Sinne sind bereits Wikidata-QIDs zugeordnet, ebenso wie die grammatikalischen Funktionen, was das Hinzufügen zu Wikidata besonders einfach macht.
Mit der Auswahl an menschenbezeichnenden Nomen und Demonymen ist dieser Datensatz besonders nützlich für abstrakte Beschreibungen von Personen in Wikidata – und Personen sind schließlich der größte Typ von Datenobjekten, zu dem es Wikipedia-Artikel gibt. Diese Lexeme helfen uns dabei, Beschreibungen wie “irischer Rugbyspieler”, “ghanaischer Sänger” oder “indischer Mathematiker” in vielen Sprachen zu erstellen.
Wir möchten Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang und Abdelrahman Nabil von Google für dieses wunderbare Geschenk danken. Wir laden alle ein, an der Anreicherung von Wikidata mit diesen lexikografischen Daten mitzuarbeiten.
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New special page: list of functions filtered by their tests ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we are happy to introduce a [[Special:ListFunctionsByTests|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=1&status%5B%5D=connected&wpFormIdentifier=testfilters fewer than two tests]), or it can help to find [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=pending&result%5B%5D=pass&wpFormIdentifier=testfilters functions that have passing tests that are not connected yet]. Or, on the other side, [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=1&max=&status%5B%5D=connected&result%5B%5D=fail&wpFormIdentifier=testfilters functions with failing tests that are still connected]. We can look for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&wpFormIdentifier=testfilters functions that have no tests at all], or that [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=&max=0&status%5B%5D=connected&wpFormIdentifier=testfilters have no connected tests], or for [https://wikifunctions.org/wiki/Special:ListFunctionsByTests?min=13&max=&wpFormIdentifier=testfilters functions with more than a dozen tests].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This special page is expected to be particularly useful for functioneers looking for tests and implementations to connect.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
On the page, you can enter:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">a range of numbers, given as a lower limit and an upper limit (both inclusive) to limit the number of tests that should match the test characteristics specified below;</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count connected tests or tests not connected yet (or both, in which case you leave both checkboxes empty); and</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">whether we want to count only tests that pass all connected implementations, or tests that fail for some of the connected implementations (or both, in which case you leave both checkboxes empty)</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Your resulting page can be shared by its URL.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We hope that this new page will be helpful for you to maintain Wikifunctions!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== More statements! ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The claims sections of Wikidata lexemes, lexeme forms, and lexeme senses have received a major upgrade last week. Each claims section contains a list of Wikidata statements. Previously only statements with String values were included. This has been expanded to include statements with all the following types of values:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">String</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme form reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Lexeme sense reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Item reference</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">Monolingual text</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
In addition, all statements now include a rank, in addition to their subject, predicate, and value. Additional details may be found in [[Special:MyLanguage/Wikifunctions:Support for Wikidata content|Wikifunctions:Support for Wikidata content]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
In order to do so, we added a new key to the [[Z6003|Wikidata statement]] last week, representing the [[Z6040|rank]]. Big thanks to the community for organizing [[Talk:Z6003|a marvelous and diligent clean-up job]]!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== New type: day of Roman year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we introduce a new type: the [[Z20342|day of Roman year]] allows us to specify a specific day in a year, e.g. November 27, the day when this newsletter is coming out. A day is represented by a natural number for the day of the month and a Gregorian month.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We were also planning to release the [[Z20420|Gregorian date type]]. But while implementing the converters for the type and doing the [[Z20440|first function]] returning the new type, we noticed that the type felt rather difficult to work with, and community feedback came up raising concerns. Because of that we marked the type as “do not use” again and are asking for more feedback and discussion on the [[Wikifunctions:Type proposals/Gregorian calendar date|type proposal page]].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Gregorian calendar date is represented by a day of the year and a Gregorian year. This eventually allows us to identify a day according to the proleptic Gregorian calendar, e.g. 15 January 2001, the day Wikipedia was founded, or 15 October 1582, the day the Gregorian calendar was introduced.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the Gregorian date type is not yet the same as the [[:d:Special:MyLanguage/Help:Data type#time|point in time data type in Wikidata]], but it is a necessary step on the path to it.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Recent Changes in the software ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Last week, we unveiled the new special page, [[Special:ListMissingLabels|Special:ListMissingLabels]], to find Functions and other Objects that were missing a label in a language. Today, we have completed the planned work in this area with [[Special:ListFunctionsByTests|Special:ListFunctionsByTests]], announced above. We hope this page will help the Wikifunctions community hunt down work that needs to be done more easily ([[:phab:T377909|T377909]] and [[:phab:T377910|T377910]]). We have also changed [[Special:ListObjectsByType|Special:ListObjectsByType]] to use a drop-down to select the target Type, to be like the other special pages ([[:phab:T296315|T296315]]), and to let you sort the results not just alphabetically but newness, either ascending or descending ([[:phab:T343633|T343633]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have dropped a large part of the validation code we built that runs inside the MediaWiki side of the Wikifunctions ecosystem, as it was complex, buggy — causing at least one partial site outage ([[:phab:T374241|T374241]]) – and slow. The validation of saved and unsaved Objects will mostly still take place, but in fewer bits of the code. This should make the site a little faster when you use it, but more importantly, avoid the risk of crashes (at least, from this area).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also tweaked the PHP-side acceptance code to only allow strings as Z2K1 values, where we were previously lax mostly for testing purposes ([[:phab:T296724|T296724]]). We don't think this change should have any user-visible impacts. Finally on the validation side for this week, we've corrected the PHP code to not try to inspect the validity of items inside Z99/Quote objects, as they can be invalid, such as when processing an error complaining that input was invalid ([[:phab:T380386|T380386]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have added support for the [[Z1952|Z1952/bax-bamu]] ([[:phab:T379870|T379870]]), [[Z1953|Z1953/xon]] ([[:phab:T380246|T380246]]), and [[Z1954|Z1954/cdo-hant]] & [[Z1955|Z1955/cdo-latn]] ([[:phab:T139010|T139010]], [[:phab:T379829|T379829]], and [[:phab:T380046|T380046]]) languages to Wikifunctions, as part of them being added to MediaWiki.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Next volunteers’ corner on December 9 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to our team offsite next week, we have to move the next volunteers’ corner (and the last one of the year) one week later, to [https://zonestamp.toolforge.org/1733758200 December 9 at 15:30 UTC] at the [https://meet.google.com/xuy-njxh-rkw usual place]. The January volunteers’ corner will also be moved by a week to January 13.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== No update next week ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Due to the same team offsite next week, we will also skip next week’s update. See you again in two weeks!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Function of the week: is leap year ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Since it’s Thanksgiving this week in North America, I wanted to give a thank you to the awesome contributor community we have at Wikifunctions! In the beginning of this year, I started the “Function of the week” rubric in this newsletter, and I wanted to highlight some of the great work done by the community and use it as a vehicle to explain some of the concepts that Wikifunctions works on.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When the year started, I was genuinely worried whether we would have a function to present every week. But you exceeded my expectations entirely and proved my worries wonderfully wrong. Not only was there more than enough material to present a function of the week, but you have created more than enough functions to have a function of a day a few times over. This is utterly amazing, and I want to say thank you, thank you all!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we’re coming to a function I have been waiting for a while, and now that we introduced the [[Z20159|Gregorian year]] type last week, it could finally be implemented: [[Z20181|is leap year]] (Z20181).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Is leap year takes a single argument, a [[Z20159|Gregorian year]], and returns a simple [[Z40|Boolean]]: it returns true if the given year is a leap year, and false otherwise.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
[[:en:Leap year|Leap years]] were introduced many years ago, when folks noticed that their calendar years and the seasons and the skies were not aligning perfectly. In old Rome, a role was introduced, the [[:en:Pontifex maximus|''pontifex maximus'']], the chief bridge builder between our world and the world in the heavens, and, among other things, their job was to keep the human calendar counting aligned with the actual seasons and other heavenly events. Originally, the ''pontifex maximus'' simply decided, year by year, how long the year should be. [[:en:Julius Caesar|Julius Caesar]] became ''pontifex maximus'' in 63 BC, but instead of deciding year by year, he reformed the calendar and set up predictable rules: every year would have 365 days, but every fourth year would be a leap year, and that’s 366 days long. This rule kept going for a few centuries.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Later the role of the ''pontifex maximus'' was picked up by the Catholic pope. The calendar was starting to again become out of sync with reality, and so [[:en:Pope Gregory XIII|pope Gregory XIII]], as ''pontifex maximus'', issued a [[:en:Inter gravissimas|bull]] introducing the Gregorian calendar in 1582. The bull had two main effects: first, it dropped ten days off the calendar, to bring the calendar back in alignment with the seasons, and second, it modified the rules in order to further reduce the two from getting out of sync. Every fourth year would still be a leap year, but there was an exception: every hundredth year, the leap year would be skipped. But there’s also an exception to that exception: every 400 years we skip skipping the leap year. So, 1900 had and 2100 will have 365 days, but 2000 had 366.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Whereas most people are aware of the four-year rule of the Julian calendar, fewer people know the rules of the Gregorian calendar (given how rarely it occurs, that’s not exactly a surprise). And so it is unsurprising that there are many wrong implementations of this function. When searching for implementations of the leap year rule on GitHub, it is easy to find dozens of implementations that apply the leap year rule partially or incorrectly. One more example of why having a large library of functions is a good idea in general!
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has a solid set of tests:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">this year, 2024 [[Z20183|is a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">next year, 2025, [[Z20253|is not]]</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2000 [[Z20184|was a]] leap year, the last occurrence of the skipping the skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1900 [[Z20248|was not a]] leap year, the last occurrence of skipping the leap year rule</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1582 [[Z20256|was not]] a leap year either</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1 BC [[Z20252|was a]] leap year</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">5 BC [[Z20249|was a]] leap year, because it was four years before 1 BC</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">2025 BC [[Z20255|was a]] leap year, too</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">1300 was a Julian leap year, but [[Z20381|not one]] in the proleptic Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">4000 AD [[Z20382|will be]] a leap year in the Gregorian calendar, but would not be in [[:en:Gregorian calendar#Accuracy|Herschel's proposed modification]]</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
Note that the people living in 2025 BC obviously neither knew that they are living in 2025 BC nor that they are living in a leap year. That’s the meaning of proleptic: it is anachronistically applied back in time.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
The function has currently the following implementations:
</div>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20182|one in Python]], representing the usual rules in a way: if the year number can be divided by 4, but not by 100 but then by 400, then it is a leap year.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20251|one in JavaScript]], which, according to a [https://stackoverflow.com/questions/3220163/how-to-find-leap-year-programmatically-in-c/11595914#11595914 detailed StackOverflow answer], is the fastest possible check (but probably not in our implementation, given that we are using BigInt)</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Z20275|a composition]] which [[Z20257|converts the year number to the ISO 8601 year]] (thus turning 1 BC to 0, 2 BC to -1, etc.), and then uses a series of [[Z802|ifs]]: if it is [[Z20266|divisible by]] 400, then true, else if it is [[Z20266|divisible by]] 100, then false, else whether it is [[Z20266|divisible by]] 4.</span>
* <span lang="en" dir="ltr" class="mw-content-ltr">and [[Z20304|a quite charming composition]], that checks that the [[Z20302|day of the week of the last day of the year]] is the [[Z17414|same as]] the day of the week [[Z17420|following]] the [[Z20290|day of the week of the first day of the year]].</span>
<div lang="en" dir="ltr" class="mw-content-ltr">
The code implementations benefit from negative years being represented through an implicit ISO 8601 conversion, and so the usual rules can be directly applied.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
I don’t find it obvious at all that the given implementations would always have the same result. But given the passing tests, I am quite confident that they are indeed interchangeable.
</div>
[[Category:Status updates{{#translation:}}|2024-11-27]]
0yigt9zzrmlta02yi0dxc1elsszzogt
Translations:Wikifunctions:Status updates/2024-11-27/1/de
1198
44269
142709
2024-11-30T20:31:41Z
Ameisenigel
44
Created page with "Vorheriges Update"
142709
wikitext
text/x-wiki
Vorheriges Update
gip3hi7u0wf8jv7dena73ndlrx52ohv
Translations:Wikifunctions:Status updates/2024-11-27/2/de
1198
44270
142711
2024-11-30T20:31:53Z
Ameisenigel
44
Created page with "Nächstes Update"
142711
wikitext
text/x-wiki
Nächstes Update
srj2pwwjkwr7a3zol9puxaaqvo0drwd
Translations:Wikifunctions:Status updates/2024-11-27/3/de
1198
44271
142714
2024-11-30T20:32:43Z
Ameisenigel
44
Created page with "=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ==="
142714
wikitext
text/x-wiki
=== WordGraph: (fast) eine Millionen Formen zur Beschreibung von Personen ===
gxzjjaq6sj2atllz56aj309d56ns171
Z20672
0
44272
142716
2024-11-30T20:36:08Z
Feeglgeef
8776
142716
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20672"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20669",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20669",
"Z20669K1": "a",
"Z20669K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "21"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "o"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "You become they in 21 moves"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
69fh14kh7qzk1531m2xyzxjbvhzbz3c
Z20673
0
44273
142719
2024-11-30T20:56:32Z
Feeglgeef
8776
142719
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20673"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6006",
"Z17K2": "Z20673K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sense"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z20673K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lang"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20673"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Gloss of Lexeme Sense as text of language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hczll5ki9hrm6wjjpddonfs6v48ehcn
142720
142719
2024-11-30T20:56:51Z
Feeglgeef
8776
142720
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20673"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6096",
"Z17K2": "Z20673K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sense"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z20673K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lang"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z20673"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Gloss of Lexeme Sense as text of language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5dm2cjuf5wrgmob5w9qgfnbazho4sak
142722
142720
2024-11-30T21:00:06Z
Feeglgeef
8776
Added Z20674 to the approved list of implementations
142722
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20673"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6096",
"Z17K2": "Z20673K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sense"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z20673K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lang"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z20674"
],
"Z8K5": "Z20673"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Gloss of Lexeme Sense as text of language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
oljm2nifemi1unmkphxrr6cxrzmrmmo
142726
142722
2024-11-30T21:02:19Z
Feeglgeef
8776
Added Z20675 to the approved list of test cases
142726
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20673"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6096",
"Z17K2": "Z20673K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sense"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z20673K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lang"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z20675"
],
"Z8K4": [
"Z14",
"Z20674"
],
"Z8K5": "Z20673"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Gloss of Lexeme Sense as text of language"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1dqz6cr5z45nz4d724d42uoqro0gj9n
Z20674
0
44274
142721
2024-11-30T21:00:00Z
Feeglgeef
8776
142721
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20674"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20673",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z16273",
"Z16273K1": {
"Z1K1": "Z7",
"Z7K1": "Z803",
"Z803K1": {
"Z1K1": "Z39",
"Z39K1": "Z6006K2"
},
"Z803K2": {
"Z1K1": "Z7",
"Z7K1": "Z6826",
"Z6826K1": {
"Z1K1": "Z18",
"Z18K1": "Z20673K1"
}
}
},
"Z16273K2": {
"Z1K1": "Z18",
"Z18K1": "Z20673K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
37nhce20vrm5p55r8qy9a67731rivi2
Translations:Wikifunctions:Status updates/2024-11-27/4/de
1198
44275
142723
2024-11-30T21:00:16Z
Ameisenigel
44
Created page with "Ein verspätetes Geschenk zum 12. Geburtstag von Wikidata: Ein Team bei Google Zürich hat den WordGraph-Datensatz veröffentlicht, fast eine Millionen Wortformen in einer strukturierten Darstellung, die sich leicht auf Wikidata hochladen lässt. Laut seiner Selbstbeschreibung ''“enthält der WordGraph-Datensatz mehrsprachige Lexikoneinträge, die mit Wikipedia-Entitäten verknüpft sind und sich auf menschenbezeichnende Nomen und demonyme Adjektive konzentrieren. Jede..."
142723
wikitext
text/x-wiki
Ein verspätetes Geschenk zum 12. Geburtstag von Wikidata: Ein Team bei Google Zürich hat den WordGraph-Datensatz veröffentlicht, fast eine Millionen Wortformen in einer strukturierten Darstellung, die sich leicht auf Wikidata hochladen lässt. Laut seiner Selbstbeschreibung ''“enthält der WordGraph-Datensatz mehrsprachige Lexikoneinträge, die mit Wikipedia-Entitäten verknüpft sind und sich auf menschenbezeichnende Nomen und demonyme Adjektive konzentrieren. Jeder Lexikoneintrag enthält flektierte Wortformen und morphologische Informationen für alle Ortsangaben.”''
bg77ra5ds9d6aw62upv3jhj0va50k85
Z20675
0
44276
142725
2024-11-30T21:02:11Z
Feeglgeef
8776
142725
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20675"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20673",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20673",
"Z20673K1": {
"Z1K1": "Z6096",
"Z6096K1": "L3270-S1"
},
"Z20673K2": "Z1015"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1015",
"Z11K2": "dozim"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Green, the color, is L-dag dozim"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ocnu5nz4cdxc37yumeiyx8q296e5nbj
Translations:Wikifunctions:Status updates/2024-11-27/5/de
1198
44277
142727
2024-11-30T21:09:25Z
Ameisenigel
44
Created page with "Der Datensatz enthält 968.153 Formen in 39 Sprachen. Der [$1 Datensatz ist auf GitHub verfügbar] und unter CC0 veröffentlicht, was ihn mit Wikidata kompatibel macht. Wir haben [[$2|eine Übersicht mit einigen Statistiken zum Datensatz]] erstellt, verglichen mit Wikidata. Die Sinne sind bereits Wikidata-QIDs zugeordnet, ebenso wie die grammatikalischen Funktionen, was das Hinzufügen zu Wikidata besonders einfach macht."
142727
wikitext
text/x-wiki
Der Datensatz enthält 968.153 Formen in 39 Sprachen. Der [$1 Datensatz ist auf GitHub verfügbar] und unter CC0 veröffentlicht, was ihn mit Wikidata kompatibel macht. Wir haben [[$2|eine Übersicht mit einigen Statistiken zum Datensatz]] erstellt, verglichen mit Wikidata. Die Sinne sind bereits Wikidata-QIDs zugeordnet, ebenso wie die grammatikalischen Funktionen, was das Hinzufügen zu Wikidata besonders einfach macht.
527r2fuxh4ywkreydoxqmcm1eokze0e
Translations:Wikifunctions:Status updates/2024-11-27/6/de
1198
44278
142729
2024-11-30T21:16:55Z
Ameisenigel
44
Created page with "Mit der Auswahl an menschenbezeichnenden Nomen und Demonymen ist dieser Datensatz besonders nützlich für abstrakte Beschreibungen von Personen in Wikidata – und Personen sind schließlich der größte Typ von Datenobjekten, zu dem es Wikipedia-Artikel gibt. Diese Lexeme helfen uns dabei, Beschreibungen wie “irischer Rugbyspieler”, “ghanaischer Sänger” oder “indischer Mathematiker” in vielen Sprachen zu erstellen."
142729
wikitext
text/x-wiki
Mit der Auswahl an menschenbezeichnenden Nomen und Demonymen ist dieser Datensatz besonders nützlich für abstrakte Beschreibungen von Personen in Wikidata – und Personen sind schließlich der größte Typ von Datenobjekten, zu dem es Wikipedia-Artikel gibt. Diese Lexeme helfen uns dabei, Beschreibungen wie “irischer Rugbyspieler”, “ghanaischer Sänger” oder “indischer Mathematiker” in vielen Sprachen zu erstellen.
eukpy9ylbit4rlppg9fwzyrpkn88y09
Translations:Wikifunctions:Status updates/2024-11-27/7/de
1198
44279
142731
2024-11-30T21:18:16Z
Ameisenigel
44
Created page with "Wir möchten Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang und Abdelrahman Nabil von Google für dieses wunderbare Geschenk danken. Wir laden alle ein, an der Anreicherung von Wikidata mit diesen lexikografischen Daten mitzuarbeiten."
142731
wikitext
text/x-wiki
Wir möchten Bruno Cartoni, Saran Lertpradit, Seungmin Back, Daniel Calvelo Aros, Kuang-Yu Samuel Chang und Abdelrahman Nabil von Google für dieses wunderbare Geschenk danken. Wir laden alle ein, an der Anreicherung von Wikidata mit diesen lexikografischen Daten mitzuarbeiten.
0q0qqmat3apfsbduf967qv95qacxeya
Translations:Wikifunctions:Status updates/2024-11-27/67/en
1198
44280
142736
2024-11-30T21:19:02Z
FuzzyBot
207
Importing a new version from external source
142736
wikitext
text/x-wiki
This week we are happy to introduce a [[$1|new special page: list of functions filtered by their tests]]. The page allows you to list all functions that have fewer than a certain number of tests (e.g., [$2 fewer than two tests]), or it can help to find [$3 functions that have passing tests that are not connected yet]. Or, on the other side, [$4 functions with failing tests that are still connected]. We can look for [$5 functions that have no tests at all], or that [$6 have no connected tests], or for [$7 functions with more than a dozen tests].
ojbld3h87mi6e9dqqmzl7vyu4jqi59l
Wikifunctions:Type proposals/Timezone
4
44281
142767
2024-12-01T02:27:03Z
Feeglgeef
8776
Created page with "== Use/Why == Timezones will mainly be used for other types. This will probably most importantly be "Timezoned point in time," however, this type by itself can be used, and it can be used with many other possible types. == Structure == This type would simply consist of an identity key. The current values for this are: *-12 *-11/SST *-10/HST *-9:30 *-9/AKST *-8/PST *-7/MST *-6/CST *-5/EST *-4/AST *-3:30/NST *-3 *-2 *-1 *+0/GMT *+1/CET/WAT *+2/CAT/SAT/EET/IST *+3/EAT/MSK..."
142767
wikitext
text/x-wiki
== Use/Why ==
Timezones will mainly be used for other types. This will probably most importantly be "Timezoned point in time," however, this type by itself can be used, and it can be used with many other possible types.
== Structure ==
This type would simply consist of an identity key. The current values for this are:
*-12
*-11/SST
*-10/HST
*-9:30
*-9/AKST
*-8/PST
*-7/MST
*-6/CST
*-5/EST
*-4/AST
*-3:30/NST
*-3
*-2
*-1
*+0/GMT
*+1/CET/WAT
*+2/CAT/SAT/EET/IST
*+3/EAT/MSK
*+3:30
*+4
*+4:30
*+5/PKT
*+5:30/IST
*+5:45
*+6
*+6:30
*+7/WIB
*+8/CST/HKT/WITA/PST/AWST
*+8:45
*+9/KST/JST
*+9:30/ACST
*+10/AEST/ChST
*+10:30
*+11
*+12/NZST
*+12:45
*+13
*+14
If more timezones are created, more identity options can be.
== Type converters ==
Either as a number, with :30 being converted to .5 and :45 being converted to .75, or a string, like "UTC+11:30" or "+11:30". I have no strong opinions here, but a number seems easier to work with.
== Other ==
Two time zones are only the same if they have the same identity. No validator/renderer/parser is needed.
== Alternatives ==
Instead of being an identity type, we could have this accept a rational numbers or 2 natural numbers and a sign or something along those lines, however, I don't think it makes sense to represent time zones that do not exist.
== Comments ==
{{s}} as proposer [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:26, 1 December 2024 (UTC)
7nkhlcs376tufjlnj8glskki4yiia1s
Wikifunctions:TP/TZ
4
44282
142768
2024-12-01T02:27:32Z
Feeglgeef
8776
Redirected page to [[Wikifunctions:Type proposals/Timezone]]
142768
wikitext
text/x-wiki
#REDIRECT [[WF:Type proposals/Timezone]]
jjddvr6u3vgfo2tjr34jemxldjqvtks
Wikifunctions:Administrators' noticeboard/Archive/2024/10
4
44283
142769
2024-12-01T03:08:12Z
SpBot
978
archiving 1 section from [[Wikifunctions:Administrators' noticeboard]] (after section [[Wikifunctions:Administrators' noticeboard/Archive/2024/10#Protection_Request|Protection_Request]])
142769
wikitext
text/x-wiki
{{Talkarchive}}
== Protection Request ==
[[Module:Template translation]] was unprotected, and is used by a lot of pages. Thanks. [[User:Oqwd3892|Oqwd3892]] ([[User talk:Oqwd3892|talk]]) 19:11, 29 October 2024 (UTC)
:@[[User:Oqwd3892|Oqwd3892]]: The template has [https://www.wikifunctions.org/w/index.php?title=Special:Log&page=Module%3ATemplate+translation never been protected], but I suppose it often is on other wikis? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 22:10, 29 October 2024 (UTC)
::It is full-protected on meta-wiki, and is used on a ton of pages, so it probably should be protected here. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 22:20, 29 October 2024 (UTC)
:::I have set semi-protection. I guess we should try this before using full-protection. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 16:10, 30 October 2024 (UTC)
::::@[[User:Ameisenigel|Ameisenigel]]: Thanks! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:46, 31 October 2024 (UTC)
0h95lzs70ytlywhabznka0umcgrllzc
Talk:Z20666
1
44284
142778
2024-12-01T04:32:57Z
Feeglgeef
8776
/* Condition failing meaning */ new section
142778
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
r84tksnue5it28m8xgptz5aob68tugk
142780
142778
2024-12-01T04:33:51Z
Feeglgeef
8776
/* Condition failing meaning */ Reply
142780
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
:{{ping|Redtree21}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:33, 1 December 2024 (UTC)
m0bw0pc0f6isqj0nluz67i3tnk5v38g
142782
142780
2024-12-01T04:49:54Z
Redtree21
9564
/* Condition failing meaning */ Reply
142782
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
:{{ping|Redtree21}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:33, 1 December 2024 (UTC)
::Hi @[[User:Feeglgeef|Feeglgeef]], thank you for your help with this. I am assuming you are talking about the 'sg', 'sp' and 'st' which are supposed to return the input value - what this means is that if the input value begins with 's' the orthographic change should occur, unless the second letter in the input value is 'p', 's' or 't'. I think I have now fixed this as the test I included for it is passing. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:49, 1 December 2024 (UTC)
mjwppayq0na98zqtzivvo6tt6rlmyb8
142783
142782
2024-12-01T04:52:53Z
Feeglgeef
8776
/* Condition failing meaning */ Reply
142783
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
:{{ping|Redtree21}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:33, 1 December 2024 (UTC)
::Hi @[[User:Feeglgeef|Feeglgeef]], thank you for your help with this. I am assuming you are talking about the 'sg', 'sp' and 'st' which are supposed to return the input value - what this means is that if the input value begins with 's' the orthographic change should occur, unless the second letter in the input value is 'p', 's' or 't'. I think I have now fixed this as the test I included for it is passing. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:49, 1 December 2024 (UTC)
:::{{ping|Redtree21}} I'm referring to the final else condition. If that means that the verb is invalid, please do throw an error. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:52, 1 December 2024 (UTC)
kr4135lu471f2pptusxz0cz9pd6rouy
142785
142783
2024-12-01T04:54:25Z
Feeglgeef
8776
/* Condition failing meaning */ Reply
142785
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
:{{ping|Redtree21}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:33, 1 December 2024 (UTC)
::Hi @[[User:Feeglgeef|Feeglgeef]], thank you for your help with this. I am assuming you are talking about the 'sg', 'sp' and 'st' which are supposed to return the input value - what this means is that if the input value begins with 's' the orthographic change should occur, unless the second letter in the input value is 'p', 's' or 't'. I think I have now fixed this as the test I included for it is passing. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:49, 1 December 2024 (UTC)
:::{{ping|Redtree21}} I'm referring to the final else condition. If that means that the verb is invalid, please do throw an error. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:52, 1 December 2024 (UTC)
:::Additionally, please label your tests (and, really, everything you create). Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:54, 1 December 2024 (UTC)
48kol1czbnq7eoj8prs5sf5u4ys73a5
142788
142785
2024-12-01T04:59:47Z
Redtree21
9564
/* Condition failing meaning */ Reply
142788
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
:{{ping|Redtree21}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:33, 1 December 2024 (UTC)
::Hi @[[User:Feeglgeef|Feeglgeef]], thank you for your help with this. I am assuming you are talking about the 'sg', 'sp' and 'st' which are supposed to return the input value - what this means is that if the input value begins with 's' the orthographic change should occur, unless the second letter in the input value is 'p', 's' or 't'. I think I have now fixed this as the test I included for it is passing. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:49, 1 December 2024 (UTC)
:::{{ping|Redtree21}} I'm referring to the final else condition. If that means that the verb is invalid, please do throw an error. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:52, 1 December 2024 (UTC)
:::Additionally, please label your tests (and, really, everything you create). Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:54, 1 December 2024 (UTC)
::::@[[User:Feeglgeef|Feeglgeef]]: The final else condition means that the verb stays as it is without any changes (it is still a valid verb, though). My apologies as well for forgetting to label the test I included. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:59, 1 December 2024 (UTC)
90fsj7b3e2aep854btq2d6f4hi9147x
142791
142788
2024-12-01T05:06:17Z
Feeglgeef
8776
/* Condition failing meaning */ Reply
142791
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
:{{ping|Redtree21}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:33, 1 December 2024 (UTC)
::Hi @[[User:Feeglgeef|Feeglgeef]], thank you for your help with this. I am assuming you are talking about the 'sg', 'sp' and 'st' which are supposed to return the input value - what this means is that if the input value begins with 's' the orthographic change should occur, unless the second letter in the input value is 'p', 's' or 't'. I think I have now fixed this as the test I included for it is passing. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:49, 1 December 2024 (UTC)
:::{{ping|Redtree21}} I'm referring to the final else condition. If that means that the verb is invalid, please do throw an error. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:52, 1 December 2024 (UTC)
:::Additionally, please label your tests (and, really, everything you create). Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:54, 1 December 2024 (UTC)
::::@[[User:Feeglgeef|Feeglgeef]]: The final else condition means that the verb stays as it is without any changes (it is still a valid verb, though). My apologies as well for forgetting to label the test I included. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:59, 1 December 2024 (UTC)
:::::Okay. Would you like me to connect the implementation now, or are you still working on it? Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 05:06, 1 December 2024 (UTC)
mwos7bd4rqwrx4tt8qqwmdm4vvt6hr3
142793
142791
2024-12-01T05:07:54Z
Redtree21
9564
/* Condition failing meaning */ Reply
142793
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
:{{ping|Redtree21}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:33, 1 December 2024 (UTC)
::Hi @[[User:Feeglgeef|Feeglgeef]], thank you for your help with this. I am assuming you are talking about the 'sg', 'sp' and 'st' which are supposed to return the input value - what this means is that if the input value begins with 's' the orthographic change should occur, unless the second letter in the input value is 'p', 's' or 't'. I think I have now fixed this as the test I included for it is passing. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:49, 1 December 2024 (UTC)
:::{{ping|Redtree21}} I'm referring to the final else condition. If that means that the verb is invalid, please do throw an error. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:52, 1 December 2024 (UTC)
:::Additionally, please label your tests (and, really, everything you create). Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:54, 1 December 2024 (UTC)
::::@[[User:Feeglgeef|Feeglgeef]]: The final else condition means that the verb stays as it is without any changes (it is still a valid verb, though). My apologies as well for forgetting to label the test I included. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:59, 1 December 2024 (UTC)
:::::Okay. Would you like me to connect the implementation now, or are you still working on it? Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 05:06, 1 December 2024 (UTC)
::::::@[[User:Feeglgeef|Feeglgeef]]: I think it is ready to connect now. Thanks! [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 05:07, 1 December 2024 (UTC)
hcmtf1jjxwh764ga6688889fm9wghhx
142794
142793
2024-12-01T05:11:22Z
Feeglgeef
8776
/* Condition failing meaning */ Reply
142794
wikitext
text/x-wiki
== Condition failing meaning ==
I'm not a speaker of Scottish Gaelic, so can you tell me what the condition failing means? Does it that if it doesn't start with one of the characters, it is already correct, of is it that if it doesn't start with one of the characters, it is invalid? If the latter, it should raise an error. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:32, 1 December 2024 (UTC)
:{{ping|Redtree21}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:33, 1 December 2024 (UTC)
::Hi @[[User:Feeglgeef|Feeglgeef]], thank you for your help with this. I am assuming you are talking about the 'sg', 'sp' and 'st' which are supposed to return the input value - what this means is that if the input value begins with 's' the orthographic change should occur, unless the second letter in the input value is 'p', 's' or 't'. I think I have now fixed this as the test I included for it is passing. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:49, 1 December 2024 (UTC)
:::{{ping|Redtree21}} I'm referring to the final else condition. If that means that the verb is invalid, please do throw an error. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:52, 1 December 2024 (UTC)
:::Additionally, please label your tests (and, really, everything you create). Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 04:54, 1 December 2024 (UTC)
::::@[[User:Feeglgeef|Feeglgeef]]: The final else condition means that the verb stays as it is without any changes (it is still a valid verb, though). My apologies as well for forgetting to label the test I included. [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 04:59, 1 December 2024 (UTC)
:::::Okay. Would you like me to connect the implementation now, or are you still working on it? Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 05:06, 1 December 2024 (UTC)
::::::@[[User:Feeglgeef|Feeglgeef]]: I think it is ready to connect now. Thanks! [[User:Redtree21|Redtree21]] ([[User talk:Redtree21|talk]]) 05:07, 1 December 2024 (UTC)
:::::::Alright. Thank you! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 05:11, 1 December 2024 (UTC)
bygl1ti7pr1hqzz4p6oyqklw7lde6rj
Z20676
0
44285
142779
2024-12-01T04:33:45Z
Redtree21
9564
Added test
142779
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20676"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20665",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20665",
"Z20665K1": "sporag"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "sporag"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5iydrjn378696qg4kh4q5oco2juc7jg
142786
142779
2024-12-01T04:54:45Z
Feeglgeef
8776
142786
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20676"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20665",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20665",
"Z20665K1": "sporag"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "sporag"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sporag stays"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
p49p4jz5r8jddyguthmcit050ztlhzk
Z20677
0
44286
142787
2024-12-01T04:57:09Z
Redtree21
9564
Added test
142787
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20677"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20665",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20665",
"Z20665K1": "Alasdair"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "Alasdair"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Alasdair stays"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4ahzd85rcsgdam17z5z8nollhwju8js
Translations:Wikifunctions:User scripts/Page display title/fr
1198
44287
142796
2024-12-01T05:12:38Z
Redtree21
9564
Created page with "Wikifunctions:Scripts utilisateur"
142796
wikitext
text/x-wiki
Wikifunctions:Scripts utilisateur
a22wg18zilj9i19voutzzjtty5rq6xq
Translations:Wikifunctions:User scripts/1/fr
1198
44288
142797
2024-12-01T05:18:09Z
Redtree21
9564
Created page with "Les scripts utilisateur sont des programmes écrits en JavaScript pour faciliter la modification de Wikifunctions. Les scripts utilisateur permettent aux comptes utilisateurs de faire des tâches qui seront autrement plus difficiles à faire. Beaucoup de scripts utilisateur sont disponibles, prêts pour vous d'installer. Vous pouvez également écrire un nouveau script utilisateur en modifiant un script existant ou en commençant à zéro."
142797
wikitext
text/x-wiki
Les scripts utilisateur sont des programmes écrits en JavaScript pour faciliter la modification de Wikifunctions. Les scripts utilisateur permettent aux comptes utilisateurs de faire des tâches qui seront autrement plus difficiles à faire. Beaucoup de scripts utilisateur sont disponibles, prêts pour vous d'installer. Vous pouvez également écrire un nouveau script utilisateur en modifiant un script existant ou en commençant à zéro.
e0d3mth2axvt6uacwcj77kj7c9v1bzm
Translations:Wikifunctions:User scripts/2/fr
1198
44289
142798
2024-12-01T05:18:38Z
Redtree21
9564
Created page with "==Un mot sur la sécurité=="
142798
wikitext
text/x-wiki
==Un mot sur la sécurité==
t8xxejd7n72afqyc5rq36071n09vepu
Translations:Wikifunctions:User scripts/3/fr
1198
44290
142799
2024-12-01T05:21:59Z
Redtree21
9564
Created page with "Les scripts utilisateur ont l'acces illimité à votre compte par leur nature - contrairement aux applications basées sur le mot de passe OAuth/bot comme Huggle, où il est possible de contrôler les niveaux d'accès, le script s'exécute dans votre navigateur. Il peut faire tout ce qui est possible sur Wikifunctions."
142799
wikitext
text/x-wiki
Les scripts utilisateur ont l'acces illimité à votre compte par leur nature - contrairement aux applications basées sur le mot de passe OAuth/bot comme Huggle, où il est possible de contrôler les niveaux d'accès, le script s'exécute dans votre navigateur. Il peut faire tout ce qui est possible sur Wikifunctions.
h1xrfdwdm6toxogwmig4u225vjc9hqe
Wikifunctions:User scripts/fr
4
44291
142800
2024-12-01T05:27:42Z
Redtree21
9564
Created page with "Wikifunctions:Scripts utilisateur"
142800
wikitext
text/x-wiki
<languages />
Les scripts utilisateur sont des programmes écrits en JavaScript pour faciliter la modification de Wikifunctions. Les scripts utilisateur permettent aux comptes utilisateurs de faire des tâches qui seront autrement plus difficiles à faire. Beaucoup de scripts utilisateur sont disponibles, prêts pour vous d'installer. Vous pouvez également écrire un nouveau script utilisateur en modifiant un script existant ou en commençant à zéro.
<span id="A_word_about_security"></span>
==Un mot sur la sécurité==
Les scripts utilisateur ont l'acces illimité à votre compte par leur nature - contrairement aux applications basées sur le mot de passe OAuth/bot comme Huggle, où il est possible de contrôler les niveaux d'accès, le script s'exécute dans votre navigateur. Il peut faire tout ce qui est possible sur Wikifunctions.
<div lang="en" dir="ltr" class="mw-content-ltr">
As such, and this is especially pertinent to users with advanced permissions, make sure that you trust the user who wrote the script. You will be held responsible for any actions it takes on your behalf. If you are "importing" a script (instead of copying the code itself) be warned that the user you are importing from could alter their script at any time. Only import from users you trust.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
==List of user scripts==
</div>
*[[User:Ameisenigel/Gadget-markAdmins.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Marks administrators/WF staff in their signature.</span>
*[[User:Terasail/ReadableDiff.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Replaces zId's with the label for the page language in diffs.</span>
*[[User:מקף/wikilambda editsource.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Enables editing in the source mode for pages with the content model <code>WikiLambda object</code>.</span>
*[[User:Feeglgeef/wikilambda editsource.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Fork of above above user script, with more features</span>
[[Category:Help{{#translation:}}]]
[[Category:Project{{#translation:}}]]
g71ylovfz3jpz0yc5agaebejtoeyxsz
142803
142800
2024-12-01T05:29:43Z
Redtree21
9564
Created page with "Les scripts utilisateur ont l'acces illimité à votre compte par leur nature - contrairement aux applications basées sur le mot de passe OAuth/bot comme Huggle, où il est possible de contrôler les niveaux d'accès, le script s'exécute dans votre navigateur. Il peut faire tout ce qui est possible sur Wikifunctions."
142803
wikitext
text/x-wiki
<languages />
Les scripts utilisateur sont des programmes écrits en JavaScript pour faciliter la modification de Wikifunctions. Les scripts utilisateur permettent aux comptes utilisateurs de faire des tâches qui seront autrement plus difficiles à faire. Beaucoup de scripts utilisateur sont disponibles, prêts pour vous d'installer. Vous pouvez également écrire un nouveau script utilisateur en modifiant un script existant ou en commençant à zéro.
<span id="A_word_about_security"></span>
==Un mot sur la sécurité==
Les scripts utilisateur ont l'acces illimité à votre compte par leur nature - contrairement aux applications basées sur le mot de passe OAuth/bot comme Huggle, où il est possible de contrôler les niveaux d'accès, le script s'exécute dans votre navigateur. Il peut faire tout ce qui est possible sur Wikifunctions.
En tant que tel, assurez-vous que vous faites confiance à l'utilisateur qui a écrit le script ; ceci est particulièrement important pour les utilisateurs avec des autorisations avancées. Vous êtes responsable pour chaque action que le script entreprendra. Si vous "importez" un script (au lieu de copier le code lui-même), soyez conscient que l'utilisateur à partir duquel vous importez pourrait modifier son script à tout moment. Importez seulement des scripts qui viennent des utilisateurs en qui vous avez confiance.
<span id="List_of_user_scripts"></span>
==Liste de scripts utilisateur==
*[[User:Ameisenigel/Gadget-markAdmins.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Marks administrators/WF staff in their signature.</span>
*[[User:Terasail/ReadableDiff.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Replaces zId's with the label for the page language in diffs.</span>
*[[User:מקף/wikilambda editsource.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Enables editing in the source mode for pages with the content model <code>WikiLambda object</code>.</span>
*[[User:Feeglgeef/wikilambda editsource.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Fork of above above user script, with more features</span>
[[Category:Help{{#translation:}}]]
[[Category:Project{{#translation:}}]]
l9rstuz73phs332behs8uzcbhavdays
142805
142803
2024-12-01T05:31:25Z
Redtree21
9564
Created page with "En tant que tel, assurez-vous que vous faites confiance à l'utilisateur qui a écrit le script ; ceci est particulièrement important pour les utilisateurs avec des autorisations avancées. Vous êtes responsable pour chaque action que le script entreprendra. Si vous "importez" un script (au lieu de copier le code lui-même), soyez conscient que l'utilisateur à partir duquel vous importez pourrait modifier son script à tout moment. Importez seulement des scripts qui v..."
142805
wikitext
text/x-wiki
<languages />
Les scripts utilisateur sont des programmes écrits en JavaScript pour faciliter la modification de Wikifunctions. Les scripts utilisateur permettent aux comptes utilisateurs de faire des tâches qui seront autrement plus difficiles à faire. Beaucoup de scripts utilisateur sont disponibles, prêts pour vous d'installer. Vous pouvez également écrire un nouveau script utilisateur en modifiant un script existant ou en commençant à zéro.
<span id="A_word_about_security"></span>
==Un mot sur la sécurité==
Les scripts utilisateur ont l'acces illimité à votre compte par leur nature - contrairement aux applications basées sur le mot de passe OAuth/bot comme Huggle, où il est possible de contrôler les niveaux d'accès, le script s'exécute dans votre navigateur. Il peut faire tout ce qui est possible sur Wikifunctions.
En tant que tel, assurez-vous que vous faites confiance à l'utilisateur qui a écrit le script ; ceci est particulièrement important pour les utilisateurs avec des autorisations avancées. Vous êtes responsable pour chaque action que le script entreprendra. Si vous « importez » un script (au lieu de copier le code lui-même), soyez conscient que l'utilisateur à partir duquel vous importez pourrait modifier son script à tout moment. Importez seulement des scripts qui viennent des utilisateurs en qui vous avez confiance.
<span id="List_of_user_scripts"></span>
==Liste de scripts utilisateur==
*[[User:Ameisenigel/Gadget-markAdmins.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Marks administrators/WF staff in their signature.</span>
*[[User:Terasail/ReadableDiff.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Replaces zId's with the label for the page language in diffs.</span>
*[[User:מקף/wikilambda editsource.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Enables editing in the source mode for pages with the content model <code>WikiLambda object</code>.</span>
*[[User:Feeglgeef/wikilambda editsource.js]] — <span lang="en" dir="ltr" class="mw-content-ltr">Fork of above above user script, with more features</span>
[[Category:Help{{#translation:}}]]
[[Category:Project{{#translation:}}]]
rs8bhd6p7tvujvn3rlsxiewo6j4hsbz
Translations:Wikifunctions:User scripts/4/fr
1198
44292
142801
2024-12-01T05:29:02Z
Redtree21
9564
Created page with "En tant que tel, assurez-vous que vous faites confiance à l'utilisateur qui a écrit le script ; ceci est particulièrement important pour les utilisateurs avec des autorisations avancées. Vous êtes responsable pour chaque action que le script entreprendra. Si vous "importez" un script (au lieu de copier le code lui-même), soyez conscient que l'utilisateur à partir duquel vous importez pourrait modifier son script à tout moment. Importez seulement des scripts qui v..."
142801
wikitext
text/x-wiki
En tant que tel, assurez-vous que vous faites confiance à l'utilisateur qui a écrit le script ; ceci est particulièrement important pour les utilisateurs avec des autorisations avancées. Vous êtes responsable pour chaque action que le script entreprendra. Si vous "importez" un script (au lieu de copier le code lui-même), soyez conscient que l'utilisateur à partir duquel vous importez pourrait modifier son script à tout moment. Importez seulement des scripts qui viennent des utilisateurs en qui vous avez confiance.
83g0q4x6lqxnrmynzrg15ruiknpq9ko
142804
142801
2024-12-01T05:30:40Z
Redtree21
9564
142804
wikitext
text/x-wiki
En tant que tel, assurez-vous que vous faites confiance à l'utilisateur qui a écrit le script ; ceci est particulièrement important pour les utilisateurs avec des autorisations avancées. Vous êtes responsable pour chaque action que le script entreprendra. Si vous « importez » un script (au lieu de copier le code lui-même), soyez conscient que l'utilisateur à partir duquel vous importez pourrait modifier son script à tout moment. Importez seulement des scripts qui viennent des utilisateurs en qui vous avez confiance.
0u7cxyb7ex4xw8u689y4e0jzfwasrta
Translations:Wikifunctions:User scripts/5/fr
1198
44293
142802
2024-12-01T05:29:15Z
Redtree21
9564
Created page with "==Liste de scripts utilisateur=="
142802
wikitext
text/x-wiki
==Liste de scripts utilisateur==
eo98nszt3eijt7ypcp54eidbhro89nq
Z20678
0
44294
142847
2024-12-01T09:07:05Z
Redtree21
9564
Added test
142847
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20678"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z20665",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z20665",
"Z20665K1": "Glaschu"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "Ghlaschu"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Glaschu -\u003E Ghlaschu (works for capitalisation)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hcp54hyxoqdvzqmxm41sdf3oeh0dt5g
Wikifunctions:Catalogue/Colour functions
4
44295
142848
2024-12-01T10:08:40Z
VIGNERON
96
creation
142848
wikitext
text/x-wiki
Functions that are directly related to colours.
Conversion functions:
* {{Z+|Z13017}}
* {{Z+|Z17664}}
* {{Z+|Z17687}}
* {{Z+|Z17713}}
Function related to the chromatic wheel:
* {{Z+|Z13023}}
* {{Z+|Z18212}}
* {{Z+|Z18204}}
* {{Z+|Z18208}}
Other functions:
* {{Z+|Z12997}}
* {{Z+|Z13028}}
* {{Z+|Z18184}}
* {{Z+|Z18189}}
* {{Z+|Z18196}}
* {{Z+|Z18263}}
* {{Z+|Z18268}}
* {{Z+|Z18296}}
* {{Z+|Z18300}}
[[Category:Lists of functions]]
7ldsxzq6cgssy1jrb0z1pr9pr0jpg5x
142849
142848
2024-12-01T11:35:11Z
VIGNERON
96
+ validation function
142849
wikitext
text/x-wiki
Functions that are directly related to colours.
* {{Z+|Z15593}}
Conversion functions:
* {{Z+|Z13017}}
* {{Z+|Z17664}}
* {{Z+|Z17687}}
* {{Z+|Z17713}}
Function related to the chromatic wheel:
* {{Z+|Z13023}}
* {{Z+|Z18212}}
* {{Z+|Z18204}}
* {{Z+|Z18208}}
Other functions:
* {{Z+|Z12997}}
* {{Z+|Z13028}}
* {{Z+|Z18184}}
* {{Z+|Z18189}}
* {{Z+|Z18196}}
* {{Z+|Z18263}}
* {{Z+|Z18268}}
* {{Z+|Z18296}}
* {{Z+|Z18300}}
[[Category:Lists of functions]]
mv7adofxu9zafrse7ulzdflrmn40se9