As an anonymous user, you can only add new data. If you would like to also modify existing data, please create an account and indicate your languages on your user page.

International Beer Parlour/Archive20130228

From OmegaWiki
Jump to: navigation, search

Words of the day[edit]

I put words of the day a bit randomly, usually, new words that we just added to OmegaWiki.

If you feel like we should have words of the day related to the day (i.e. one for December 25th that is actually related to Christmas, etc.), and if you have an idea, do not hesitate to go ahead and modify the word of the day. You can move the ones I proposed to any posterior date. --Kip (talk) 22:53, 21 December 2012 (CET)

I guess you're doing well using mostly new words. Before using them on Twitter I add if I can the Dutch explanation and/or translation :-) Keep up the good work in the upcoming year 2013, Kip! Merci beacoup  Klaas V 14:30, 31 December 2012 (CET)

most important Japanese words[edit]

If there is someone interested in japanese, i have a list of the most important words of the japanese language (the "Jōyō Kanji") here:


Can need a helping hand translating it. MovGP0 (talk) 03:55, 3 January 2013 (CET)

There are also some (unformatted) lists there Portal:jpn/eng. Maybe you could add your list to that page. --Kip (talk) 15:33, 4 January 2013 (CET)


Is it possible to merge 2 DefinedMeanings? Those 2 look the same to me: DefinedMeaning:Erde (7401) and DefinedMeaning:замин (1124925) (but I don't know Persan). --Rinaku (talk) 00:38, 17 January 2013 (CET)

These ones too: DefinedMeaning:nonagonal (388304) and DefinedMeaning:enneagonal (389632). --Rinaku (talk) 00:49, 17 January 2013 (CET)
These ones too: DefinedMeaning:Egypt Sign Language (708427) and DefinedMeaning:Egyptian Sign Language (738716). --Rinaku (talk) 00:53, 17 January 2013 (CET)
There is no tool for merging, so that the merge has to be done manually, i.e. copy information from one DM to the other, and then delete everything from the duplicate DM.
If you don't want to do it, it is ok, just report the suspected duplicate meanings to the page Meta:Questions about words, in the section "Duplicate Meaning?", and it will be merged hopefully someday in the future... --Kip (talk) 10:05, 17 January 2013 (CET)
Done for those three pairs. --Rinaku (talk) 18:29, 19 January 2013 (CET)
Thank you! --Kip (talk) 12:35, 20 January 2013 (CET)


Beginner's question: When editing a page one can add a summary. Does it then appear anywhere? I don't see it on the "View history" tab. What is the point of adding one? --Rinaku (talk) 00:47, 17 January 2013 (CET)

At the moment, the summary only appears in the Recentchanges page.
You are right that it should also appear in the history page... but anyway, a summary is not mandatory. In particular if you just added translations or definitions, don't bother with a summary. --Kip (talk) 10:10, 17 January 2013 (CET)

Bad First Definition[edit]

If I correctly understand Help:DefinedMeaning all the Definitions of a DefinedMeaning should be translations of the first Definition. Is that correct? But then what is the rule for when the first Definition isn't a very good definition of the first Expression (e.g. here and here)? Should one add better Definitions, or create a new DefinedMeaning? --Rinaku (talk) 01:04, 17 January 2013 (CET)

If the definition isn't good, it should be changed to something better.
Then, since you cannot change all the other definitions (unless you speak all the languages), what we do is edit the talk page of the DefinedMeaning, add a small explanation (like "improved the definition in English"), and use the templates {{outofsync|deu}}, {{outofsync|spa}}, {{outofsync|grc}}, {{outofsync|fra}}, .... to indicate that the definitions in these languages should be updated to match the new definition.
We should update the Help:DefinedMeaning page accordingly... --Kip (talk) 10:18, 17 January 2013 (CET)
I updated the page Help:DefinedMeaning/ (in English only) and created Help:outofsync template --Kip (talk) 21:35, 17 January 2013 (CET)
Thank you for your answers. I just improved the definition in English on DefinedMeaning:Egypt Sign Language (708427). Is there an easy way to know the language code of each language shown on a DefinedMeaning? For example, I guess "Greek" is modern Greek (ell) but I was wondering if it could be ancient Greek (grc). If there were dozens of languages on a DefinedMeaning I wouldn't know the language code for each of them and couldn't use {{outofsync}} properly. --Rinaku (talk) 18:24, 19 January 2013 (CET)
There is the page Editable languages that is automatically generated and shows the 3 letter-codes (sometimes more than 3 letters) used in OmegaWiki. There, you have to know the name of the language in English.
If you only have the name in French, you can also go to the pages Expression:grec and Expression:grec ancien and look in the "Collection" Section for the value of the "ISO 639-3 code" property.
I know it is not the best solution. Ideally, the {outofsync} template should be managed by the interface. --Kip (talk) 12:45, 20 January 2013 (CET)

Namespace alias[edit]

Could we have "DM" as a namespace alias for "DefinedMeaning" as "WP" is for "Wikipedia" on Wikipedia? --Rinaku (talk) 18:30, 19 January 2013 (CET)

Good idea! Done! DM:scissors_(5807) It even works :) --Kip (talk) 12:50, 20 January 2013 (CET)

Wikipedia interlanguage links[edit]

I have been using interlanguage links present on Wikipedia articles to translate encyclopedic concepts for quite some time now and I find that it is easier and gives better results than using a dictionary. Those links are now the first pieces of data to be moved from the Wikipedias to's databases. Are there any plans to import this to OmegaWiki, either directly from WP of from Wikidata's base when it's complete? It need not necessarily be one massive import, it could be a bot which, whenever a link to WP is added to a DM, would fetch all the translations.

BTW, is there any mechanism to say that something has been imported to OmegaWiki automatically and should be checked by a human?

--Rinaku (talk) 19:01, 19 January 2013 (CET)

There are some plans to allow for automatic import of data with bots, but first I (or someone else) have to implement an API that actually works and allows to add data. There are other users who told me that with a working API, they could develop some perl scripts to do nice things.
Then we could see if it works well with Wikipedia articles. One problem I see is that Wikipedia articles are always capitalized, whereas the corresponding word in French would mostly be uncapitalized, with some exceptions (proper nouns), so that a human would have to check. In German, it is more complicated because you often have to change the declension, and nouns are always capitalized but not adjectives. So probably we should consider each language individually.
mechanism to say that something has been imported to OmegaWiki automatically <= no, but this would be useful. The same idea could be used for example when I import translations in Bulgarian from Wiktionary, to indicate that the translation is maybe not reliable since I don't speak Bulgarian (this could be based on Babel templates, but we could start with your idea of just indicating if it was imported by a bot). --Kip (talk) 13:05, 20 January 2013 (CET)

url automatic label[edit]

I have added a javascript function that automatically fills in the "label" section when an url is inputted, in an annotation (such as Wikipedia article). It works on copy/paste of an url only, not when you type the url yourself. You can of course then manually edit the label (or the url). If you paste another url, it will adapt the label accordingly. --Kip (talk) 22:48, 25 January 2013 (CET)

Association statutes[edit]

I've redacted a proposal of statutes for an association. Please comment it and propose your modifications (or a new redaction) and say if you would like or not to become member of such an association, aimed at leading Omegawiki, as well as to begging and receiving financial support from sponsors. (talk) 13:32, 29 January 2013 (CET) Note that the historical association has been liquidated liquidated. (talk) 01:32, 2 February 2013 (CET)

Request Pali be added to etymology languages[edit]

Many Khmer words are derived from Pāli, a "literary language of the Prakrit language family ... [that] was first written down in Sri Lanka in the first century BCE," as Wikipedia explains it. Like Latin, it's not a language with any native speakers but is still used for liturgical purposes.

Could this language be added to the etymology pick-list so that that information for Pali-derived words in Khmer can be captured? Thank you. Rsperberg (talk) 21:34, 31 January 2013 (CET)

In the etymology language selection, you actually select the language in which the etymology is written, not the language from which the word is derived.
For example, if you want to add, in English, the etymology of the Latin word "rosa", which comes from Ancient Greek, you would select "English" as a language, and write "From Ancient Greek ῥόδον (same meaning)". Then, if you click the green "+" symbol next to the language selection, you can write the same etymology in another language. For example, select "French" and write "Du grec ancien ῥόδον (même sens)". I'll put screenshots later to make it clear.
I think what you would like is a structured etymology, with links between the words and their "parents" or stems, etc. This is still a to-do feature that has not been implemented, but which we want to have in the future.
Now of course, we can add the Pāli language if you want to add translations in that language. --Kip (talk) 10:12, 1 February 2013 (CET)
Adding Pāli as a language for translations would be a very good idea. It is the primary written language of Theravāda Buddhist teachings - and widely studied. I'm sure that, if it were available, there would be some keen contibutors.
BTW I wonder about the use of "extinct" in the current definition of Pali. Pali is still used as the language of the Theravada Buddhist canon and is widely studied, read and even spoken by monks and scholars of Theravada Buddhism.
Chris Fynn (talk) 18:06, 22 May 2013 (CEST)

Pali is written in multiple scripts[edit]

What do we do with languages like Pāli which can be, and are, written in several different scripts? In this case, it would include the Devanagri, Sinhala, Latin (with diacritics), Lao, Burmese, and Thai scripts - none of which is particularly predominant for Pali. A similar case exists for Sanskrit which can be written in almost any Indic script as well as Latin with diacritics, Tibetan, etc. - though, in this case, use of Devanagri script is probably predominant. Perhaps you could combine an ISO 639 language tag with an ISO 15924 script tag? e.g. pi-Sinh to indicate Pāli written in Sinhala script and pi-Laoo for Pāli written in Lao script.
Chris Fynn (talk) 17:02, 22 May 2013 (CEST)
We do this already for Serbian (Latin script) and Serbian (Cyrillic script), for which we created the codes "srp-Latn" and "srp-Cyrl". We have also "Hebrew (nikkud)".
At the moment, we make our own code, but I think that ISO 639-6 has distinct codes for both, so that we might consider switching to ISO639-6 later.
Basically, we create the code when a user wants to contribute in those languages. If you would like to contribute in one of the languages you mentioned above, just tell me which :) --Kip (talk) 19:03, 22 May 2013 (CEST)
I have no expertise in Pāli - though a freind may be interested in contributing. There are some Pāli dictionaries compiled in the 19th and early 20th C. which must be out of copyright by now. Several of these use a standard Roman/Latin transcription. Perhaps pi-Latn would be useful to start with. Using Python or similar I think it should be reasonably easy to convert between most Indic scripts and between Indic and standard Latin transcription. I suspect such routines may already exist ~ and, if I can find any which are FOSS, I'll let you know. That would save people entering data multiple times (for each script). Chris Fynn (talk) 20:22, 26 May 2013 (CEST)
Ok, I added "Pali (Latin script)". --Kip (talk) 10:44, 27 May 2013 (CEST)

See only the languages you want to see[edit]

There is now an option in your preferences Special:Preferences#mw-prefsection-omegawiki where you can select the languages you are interested in, so that all the other languages are hidden. When you have selected a list of languages, you also have to activate the "language filtering" by clicking on the first checkbox on top "Show only the selected languages". This allows to easily switch it on and off without having each time to select/deselect all languages from the list.

If you restrict the number of languages, the pages should also load faster.

I modified a lot of the source code to add that feature. There might be bugs.

Caution: If you select e.g. Italian, but you visit a word that is only translated in English and French, the page will look weird (empty or almost empty). I am not sure what to do in that case. The best is to always have English activated (should I force English to be "on"?). Any idea? --Kip (talk) 19:58, 1 February 2013 (CET)

Thank you very much indeed! When I look for a word which doesn't exist in any of the languages I have selected but whose at least one translation exist in such a language, I got the word, but not its annotations because the word doesn't appear in the list of translations. This is a pity. For instance I'm usually not interested in German but if, exceptionally, I look of a German word, I may be interested in all the information about this word. I suggest that, if the word doesn't exist in any of the selected languages, then the list of all the languages that word exist in be temporarily added to the selected languages list and a second query be launched with this extended language list. But I guess this is not easy to implement. (talk) 02:16, 2 February 2013 (CET)
But other users might consider it as a bug, that they see a German word even though they did not select German. Maybe we could just add somewhere a warning like: "You have activated language filtering, and as a consequence some information about other languages might be hidden to you, click here to see all languages." (then you click and the page reloads with all languages shown).
It would be possible to show such warning only if there are indeed other languages, but that means an extra SQL query to run = extra processing time (at the moment, I am trying to reduce the page loading time whenever possible). --Kip (talk) 12:23, 3 February 2013 (CET)
Nice one. Can you check this one ... . To me, its blank. Hiong3-eng5 (talk) 06:02, 2 February 2013 (CET)
It seems that the history function is broken... --Kip (talk) 12:51, 2 February 2013 (CET)
Fixed! :) --Kip (talk) 14:28, 2 February 2013 (CET)
Useful feature! It would be even more if it could be easily disabled from a normal page's interface without going to one's preferences. It would be used when looking up a word in an "unusual" language as noted, and when looking up a word in a usual language to get its translation in an unusual language. For that purpose, the gadget could activate a button visible on any normal page, like on the left in the toolbox, or as an iconic tab next the "Watch this page" one, or on the left of the link to the user page, and this button would switch from one mode to the other. --Rinaku (talk) 22:07, 3 February 2013 (CET)
A switch on/off can be easily added as you suggest. We would just have to agree on where to place it, and what it would look like. --Kip (talk) 10:21, 4 February 2013 (CET)
I don't know, I'm no UI designer. At least any of the 3 places I said would be okay with me. An iconic tab would be the visually cleaner way IMO, but it wouldn't fit the "spirit" of tabs as it has nothing to do with the current page. On another place it could be a drop-down list with only 2 choices: "All languages" and "Selected languages". --Rinaku (talk) 00:37, 8 February 2013 (CET)
I thank you too for this modification! Very useful. I also want to express my support to the suggestion that there should be a button somewhere on the page that toggles between "show all languages" and "show only my preferred languages". There are times when I may want to see all languages to check/edit definitions in other languages, for example (I use Google Translate for that), although in general I may prefer to see only a small number of languages displayed for quick loading of the page. --InfoCan (talk) 17:19, 10 February 2013 (CET)
Well, all of the possibilities mentioned by Rinaku are possible, and equally easy to implement. I just want a sort of vote, or general idea of where people would prefer it, because I am also not a good UI designer. Maybe something similar to the star above to follow/unfollow a page would be nice, but I don't know what kind of icon would well represent language filtering on/off. --Kip (talk) 22:30, 10 February 2013 (CET)
How about these icons?
all lang4.png my lang5.png
They are meant to represent all and a subset of languages. I can edit them if you have any suggestions for improvements.
--InfoCan (talk) 17:11, 11 February 2013 (CET)
Maybe with green dots when selected, and red dots for those outside the circle? Anyway, I can give it a try like this and we can always change the images later. --Kip (talk) 17:27, 11 February 2013 (CET)
Like this?
all lang7.png my lang6.png
--InfoCan (talk) 04:51, 12 February 2013 (CET)
What about a 1-2px black border around the blue area in my_lang and replace the blue with a color that better contrasts with the green (not necessarily a different color than the background of the red dots)? --Rinaku (talk) 18:46, 12 February 2013 (CET)
How does this look? Adding a border doesn't look good.
all lang8.png my lang8.png all lang10.png my lang10.png
--InfoCan (talk) 18:34, 13 February 2013 (CET)
Low contrast between the gray and the green, plus it does not go well with Vector colors. White would be better than this gray. The border could be thicker and elliptical (vs. circular) for my_lang. My 2¢ --Rinaku (talk) 17:28, 16 February 2013 (CET)
OK, I made a few sets. For the second and third set, the border is the color of the blue in the Vector skin. For the third set I tried to make the red more subdued and the green more different from the blue border... --InfoCan (talk) 21:07, 16 February 2013 (CET)
all lang11.png my lang14.png all lang15.png my lang16.pngall lang17.png my lang18.png
Nice, much better. My personal favorite is #2. --Rinaku (talk) 13:10, 17 February 2013 (CET)
Now you have the icon :)
  • The icon only shows with the Vector skin. The other skins do not so well support icons. I could replace it with a text for those skins, if you like, and if you find me a text that is not too long, but still expresses well what it does.
  • When you click, it changes your preferences (it is saved in the DB so that the preference is kept when you move to another page)
  • Like the favorite icon, it shows you the state in which you are, and not what the click does.
  • I chose "all_lang11.png" and "my_lang14.png" arbitrarily, we can change them of course.
  • What is missing is a popup text that appears when you put your mouse over the icon, for an explanation. I've tried but couldn't find how to do it with MediaWiki (just "look how the other standard buttons do it, and do the same" did not work ;) )
  • If you want to try how other alternatives look, modify your user css (the images that are uploaded to the server need to be resized to 26px (or 25px) first):
Modifying your css
.wld_lang_filter_on a {
	background-image: url("");

.wld_lang_filter_off a {
	background-image: url("");

to hide the icon:

#ca-switch_lang_filter {
Enjoy! --Kip (talk) 13:44, 17 February 2013 (CET)
Nice! Thanks! I just think the icon could be 10-20% smaller; the current one looks big compared to the watchlist star. --Rinaku (talk) 14:32, 17 February 2013 (CET)
The above examples were displayed at 25 px. I also uploaded two versions of the icons sized at 20 and 16 px, as shown below. It looks like the 16px icons will be about the same size as the watchlist star. So, I suggest we go with "all_lang20.png" and "my_lang20.png" all lang19.png my lang19.png all lang20.png my lang20.png --InfoCan (talk) 17:42, 17 February 2013 (CET)
Done! (you might need to refresh your cache to see the change) --Kip (talk) 19:41, 21 February 2013 (CET)
A final touch could be to move the icon on the tab to place it at the same height as the star and horizontally centered. --Rinaku (talk) 00:59, 22 February 2013 (CET)
Which is what I tried briefly, but didn't want to spend too much time on. The css I used for the icon is the same as the one for the star, so that I am not sure why they are not aligned. Anybody is welcome to modify the css in your user css, and if you find the right combination, I can upload it. Below I write the current default css to start from. --Kip (talk) 10:23, 22 February 2013 (CET)
language filtering icon css
.wld_lang_filter_on a, .wld_lang_filter_off a {
	margin: 0;
	padding: 0;
	outline: none;
	display: block;
	width: 14px;
	background-repeat: no-repeat;
	background-position: center;
It would be useful to have a "hint" text that describes the function of this icon when you hover over it. --InfoCan (talk) 22:22, 25 February 2013 (CET)
As I said above, I tried to do it, but didn't find the proper way. In the code, an icon that you add in a hook is defined differently from an icon that is from MediaWiki itself. It seems that they forgot the section for "hint" in the icon extension. I would have to ask the developers. --Kip (talk) 10:02, 26 February 2013 (CET)

n more[edit]

It could be nice to have, at the bottom of the "definition" and "synonyms" tables of a DM, the expression "n more languages" with n replaced by the right number. This expression could be a link to show all languages, either from now on (like clicking on the tab Kip implemented) or just for the current page. --Rinaku (talk) 18:49, 17 February 2013 (CET)

I considered that as well.
The drawback is that to know how many more languages there are, it needs to run a larger query. At the moment, I try to make OmegaWiki faster when possible, because as you saw, speed is a bit of an issue in OW.
So, I'll postpone this feature for the future, if we get faster hardware, or if the software becomes lighter (e.g. by not loading all annotations on startup, that'll be my next improvement). --Kip (talk) 19:45, 17 February 2013 (CET)

Unavailable language[edit]

When some feature is not available in the main UI language (for instance, there is no wp:fr article for DM:shirt (6654)), the list of selected languages could be used as a fallback. --Rinaku (talk) 18:58, 17 February 2013 (CET)

Yes good idea (for the moment, English is always used as fallback, and if no English, the first language that the software finds).
For the wp articles in particular, I don't know if it would work, because the wp articles are loaded with javascript, and I don't know if we have access to the user options from the javascript.
Please also understand that, since I don't use language filtering myself, it is not in my priority list ;-) If by any chance you know some php, I'd be glad to help :)
--Kip (talk) 19:52, 17 February 2013 (CET)
Not much but above all I currently don't have much time to contribute, sorry :-/ --Rinaku (talk) 20:40, 17 February 2013 (CET)

Request Collection[edit]

Can I request Chinese Radical Index as a Collection with where one can also add the radical number + additional strokes ex. 1.3 means radical number 1 with 3 additional strokes. Hiong3-eng5 (talk) 06:03, 4 February 2013 (CET)

This can be done, but first we need to define Expression:Chinese radical index ("An index for sorting Chinese characters according to a radical and a number of additional strokes"?) --Kip (talk) 10:19, 4 February 2013 (CET)
I created Expression:Kangxi radical index. Used a definition from as basis. I used Kangxi because it is the de facto used. Hiong3-eng5

Would it be better to have a separate collection for the radicals itself or include it here minus the additional strokes number? Hiong3-eng5 (talk) 06:06, 5 February 2013 (CET)

I added the collection Expression:Kangxi radical index.
I think it is best to have them in the same collection for now, but if you want a separate collection we can do that as well, we don't really have guidelines that limit the number of collection that we use. --Kip (talk) 11:23, 5 February 2013 (CET)
Ok then, let us have them in the same collection. Hiong3-eng5 (talk) 16:13, 5 February 2013 (CET)

: The first radical . I created a definition for this. Can anyone check if this is okay? Hiong3-eng5 (talk) 06:14, 6 February 2013 (CET)

The definition and collection attribution look fine for me.
Since we are here just defining the character in itself, and not its meaning, I am just wondering if it should maybe be attributed to language "international" (like the translingual section in Wiktionary), or, as you did, to Mandarin (but then also to Cantonese, Minnan, etc.). With "international", we wouldn't have to "translate" it in all languages using that character. However, the user would probably look for the character in a Chinese language, and it would not be intuitive to look into "international".
So I don't know, it is just a thought. --Kip (talk) 11:21, 6 February 2013 (CET)
As always, I have many things to implement that have top priority... but I'll try to do a collection browser that is better than the ugly interface we had so far [1]. In the meantime, you can also use the Datasearch special page [2]. --Kip (talk) 14:09, 7 February 2013 (CET)
I think an "international" language is a good idea. We can put math symbols etc that are universal symbols. We can make "international" always included in the search. Meaning, even if I marked English and Mandarin as my search language, "international" will also be searched. That way, we need not indicate what language it is applicable and at the same time, the it can also be searched regardless of the language limitations. Hiong3-eng5 (talk) 04:31, 8 February 2013 (CET)
The "international" language already exists. It is used for math symbols (as you say), and e.g. Scientific Latin names of species (animals, plants...). I was also thinking of making it always searchable, it's not too complicated, I'll do that. --Kip (talk) 09:29, 8 February 2013 (CET)

Class Attribute[edit]

How do I add class attributes? There was once an instruction given to me how to do so, but it does not seem possible at the moment Hiong3-eng5 (talk) 05:33, 5 February 2013 (CET)

It has been restricted to bureaucrats, because several users created class attributes without discussing it with the community, and then it was sometimes wrong (the wrong type of attribute), or nobody else knew when to use it, or redundant, etc.
So, just tell me the class attributes you want to add and I will add it. Thanks. --Kip (talk) 11:07, 5 February 2013 (CET)

Syntrans relations[edit]

Is is possible to add syntrans relations with another syntrans? Maybe by expanding uw_meaning_relations table for that, adding a new attribute_type to the uw_class_attribute table. This is useful for showing the relations of brogues within a Macro language or dialects (example American English center and British English centre). Or between scripts of a language. In the case of Min Nan, we can know that a POJ has a traditional script that is either: an original character (common usage within all Chinese languages), a phonetic character (different meaning, same sound), a semantic one (read differently but same meaning) etc. Hiong3-eng5 (talk) 16:35, 5 February 2013 (CET)

It is supposed to be possible, but it is buggy. I would have to check the source code to see what is wrong. --Kip (talk) 19:08, 5 February 2013 (CET)
Hmm, in fact, it is not something that is buggy, but something that is not yet implemented.
I looked up in the source code, and there is no trace of this. So, it will take more time until I come up with an idea how to implement it.
Adding a new attribute_type to the uw_class_attribute table is a good start, but the php code about relations has to be modified as well. Some of it is already generic, but some of it is specifically written for DM<->DM relations. --Kip (talk) 22:31, 8 February 2013 (CET)
It already is possible to create syntrans to syntrans relations in the case of the links->idiom. If "cat" can be linked to ("rain cats and dogs") in the idiom field, wouldn't it be a simple modification of the code to make it such that it is able to link to Expression:rain_cats_and_dogs instead? --InfoCan (talk) 17:14, 10 February 2013 (CET)
No, it is not a syntrans-to-syntrans relation, but a syntrans-to-dm relation, because what is stored in the database in that case is a dm_id, not a syntrans_id. It means that in the case where there are several expression in a language for a given dm, the system will not be able to find the correct expression (or syntrans), even though the user has the illusion of selecting a specific expression.
But, don't worry, after having thought about it all night, and writing a bit of code over the week-end, I have a syntrans-to-syntrans relation system that is almost ready :-) --Kip (talk) 22:26, 10 February 2013 (CET)

It works, be vigilant[edit]

So, it is now possible to have syntrans relations! :-)

More specifically, Syntrans->Syntrans and DM->DM relations will work, but Syntrans->DM or DM->Syntrans will not work (even though it is possible to define such a relation in the database, but the php code will not understand it). Anyway, I believe that DM-Syntrans relations do not make sense.

In the process of adding syntrans relations, I have removed several function calls from the php code. To me, they looked like they did not do anything except use a bit of CPU. So please tell me, if any feature went missing, it might just be it... --Kip (talk) 16:03, 12 February 2013 (CET)

Note that when you click on a linked Syntrans, it will get you to a page in the form , with a syntrans number in the end. I did this in prevision for the future, but at the moment, the "syntrans=614371" parameter in the url is not taken into account, i.e. all syntrans are shown anyway. --Kip (talk) 10:25, 14 February 2013 (CET)

What Syntrans relations do we want?[edit]

Please add below and discuss your ideas of syntrans-syntrans relations that we might need. I will start with the ones we discussed previously. We also need to determine how we will name such relations. --Kip (talk) 16:03, 12 February 2013 (CET)

Added "derivationally related form" and "etymologies". --InfoCan (talk) 17:36, 12 February 2013 (CET)
Added Min Nan Syntrans Hiong3-eng5 (talk) 01:21, 13 February 2013 (CET)
  • abbreviations
  • alternative spelling
    • name: "alternative spelling"? or "alternative form" as in Wiktionary?
    • vote: alternative form --Hiong3-eng5 (talk)
    • Done Done created alternative form relation. --Kip (talk) 10:20, 14 February 2013 (CET)
  • Min Nan POJ and Min Nan Traditional - There are four relations:
    • Semantically borrowed character. The character has the same meaning but not the same phonetically
      • ex. "要" is a semantically borrowed character of "beh" (want)
    • Etymological character. The character is similar both phonetically and semantically
      • ex. "水" is an etymological character of "chúi" (water)
      • ex. "水" is an etymological character of "súi" (water)
    • Phonetically borrowed character. The character is used because it is phonetically similar even though it has a completely different meaning.
      • ex. "水" is a phonetically borrowed character of "súi" (beautiful)
    • Domestic Character. The character that are not currently in use (archaic), but was (probably) used for that character.
      • ex. "亻因" is a domestic character of "in" (them)
I trust you on this one, my knowledge of Chinese being too limited. We just need names that make it clear in which direction the relation goes (since "etymological character" would mean "has for etymological character:", which is different from "etymological character of").
Written Taiwanese: Its Characteristic Analysis and Processing Techniques Chapter I p 8 is my basis for the four categories of Han Characters for Min Nan. -- Hiong3-eng5 (talk) 15:33, 18 February 2013 (CET)
      • Min Nan (tranditional) -> Min Nan (POJ)
        • name: "semantically borrowed character", "etymological character", "phonetically borrowed character" and "domestic character"
        • ex. "in" has for domestic character: "亻因". -- Hiong3-eng5 (talk) 05:42, 19 February 2013 (CET)
      • Min Nan (POJ) -> Min Nan (tranditional)
        • name: "romanization" probably?
        • ex. "亻因" has for romanization: "in". -- Hiong3-eng5 (talk) 05:42, 19 February 2013 (CET)
Also I am wondering if this is specific to Min Nan, or if I should enable them for all languages (probably not?). --Kip (talk) 18:35, 17 February 2013 (CET)
It may prove useful for all non-Mandarin Chinese language, but I am not sure. It is safer to make it specific to Min Nan for the meantime. --Hiong3-eng5 (talk) 15:33, 18 February 2013 (CET)
Done Done All of the above for MinNan. --Kip (talk) 10:22, 28 February 2013 (CET)
  • idioms / proverbs / ...
    • something that would link cat=>"rain cats and dogs", and maybe the reverse relationship "rain cats and dogs"=>"cat".
    • name: simply "idiom"?
    • or regroup with derivationally related form? (see below). --Kip (talk) 18:38, 17 February 2013 (CET)
A more universal relation would be "this expression appears in that other expression". This would work for "rain", "cats", dogs" in "rain cats and dogs" but also for "$verb" in "$verb $preposition". I think such a relation could be computed automatically, and overridden only for words that appear in too many expressions (like "and" I guess) to display a meaningful subset. --Rinaku (talk) 20:19, 17 February 2013 (CET)
  • derivationally related form
    • link "paint" (verb) to "paint" (noun), "painter" and "painting".
agreed, very useful. I find the name a bit too long, but I am not sure we can have a more concise name for that relation...? --Kip (talk) 18:27, 17 February 2013 (CET)
In Wiktionary, they only have one section called "derived terms", where both deriviationally related forms and idioms are. Do we want that, or do we want to make the distinction? --Kip (talk) 18:38, 17 February 2013 (CET)
  • etymologies
    • link English "automobile" to French "automobile". Also link French: "automobile" to Ancient Greek: "αὐτός" and French: "mobile".
    • name: "etymon"? (we need a name that is different from "etymology", to not mistake the two annotations)
Is it possible or ideal to transfer all etymology to syntrans-syntrans relations? --Hiong3-eng5 (talk) 13:03, 13 February 2013 (CET)
No, there are some etymological information that needs translatable free text. For example, "telescope: Coined in 1611 by the Greek mathematician Giovanni Demisiani [...]" (Wiktionary). In my opinion, the other part of the etymology "From Latin telescopium, from Ancient Greek τηλεσκόπος (tēleskopos, "far-seeing"), from τῆλε (tēle, "afar") + σκοπέω (skopeō, "I look at")." should stay in free text as well. The above mentioned "etymon" would be in addition to that, but would allow to display an interesting etymological hierarchical tree. --Kip (talk) 14:08, 13 February 2013 (CET)
  • Brogue or Dialect
    • We need a general term for syntrans relations for related languages like American and British languages or Min Nan dialects.
    • ex. "center" is a dialect of "centre". (between American and British English)
      • For this, the English Wiktionary uses "alternative form" (mentioned above). We could also have more specific annotations like "British English alternative form", where this annotation would be available only for English words. --Kip (talk) 10:47, 13 February 2013 (CET)
    • ex. "koe" is a dialect of "ke". (within Min Nan POJ, meaning "chicken")
    • name: "dialect" or "brogue"
      • What about "regional variant"? I am not sure about brogue. --Kip (talk) 10:47, 13 February 2013 (CET)
What about "dialectal variant"? It is not necessarily a regional one. --Hiong3-eng5 (talk) 13:03, 13 February 2013 (CET)
ok with "dialectal variant" --Kip (talk) 14:10, 13 February 2013 (CET)
i vote that we use "alternative form" when both syntrans are phonologically the same and use "dialectal variant" for those that are not phonologically similar. -- Hiong3-eng5 (talk) 01:34, 14 February 2013 (CET)
sounds reasonable to me. How should we define Expression:dialectal variant? --Kip (talk) 10:11, 14 February 2013 (CET)
since alternative form is A word or phrase that has the same meaning and is phonologically similar to another word or phrase of the same language. maybe we can use A word or phrase that has the same meaning but is phonologically different from another word or phrase of the same language due either from distance between communities, a topographic barrier (such as rivers or mountain ranges) or due to assimilation of words from nearby neighbors with a different language. for dialectal variant. Kindly check if my data and grammar is correct -- Hiong3-eng5 (talk) 01:19, 16 February 2013 (CET)
The definition is too long in my opinion. A dictionary definition does not need to give encyclopedic information, it just needs to be be able to define a word sufficiently such that its meaning can be distinguished from some other, similar meaning. I suggest dialectal variant: "A word or phrase that has the same meaning but is phonologically different from another word or phrase of the same language". Same construct as in the definition for alternative form, differing by just one word. --InfoCan (talk) 17:51, 17 February 2013 (CET).
ok with the definition from InfoCan. I'll create it like that and we can change the definition later on if needed. --Kip (talk) 18:25, 17 February 2013 (CET)
Done Done created Expression:dialectal variant annotation. --Kip (talk) 18:35, 17 February 2013 (CET)
  • Inflectionally generated words.
    • For example, define 'reenter' as "enter again" and link it to 'enter'. The word 'enter' can have many meanings, I don't think we should define each of them again in 'reenter', like "to come onto the stage, again". The user should be made to go to 'enter' to figure out what meanings this word has. But I am not sure of how best to implement this. Ideas? --InfoCan (talk) 18:04, 17 February 2013 (CET)
      • Another difficulty is that "reenter" could be translated differently in other languages, according to what meaning of "enter" is used. I don't know how to implement that either... --Kip (talk) 18:25, 17 February 2013 (CET)
Come to think of it, this is no different from "derivationally related form" (or "derived terms"?) that I mentioned above. So, for example for "paint" (verb), in addition to "paint" (noun), "painting" and "painter", we would have "repaint". Other languages don't matter because this is a syntrans-to-syntrans relationship. The English translation for the DM of "paint" would be linked to the English version of "repaint", and vice-versa. --InfoCan (talk) 20:36, 18 February 2013 (CET)
  • IPA
    • Would it be better to move all IPA's to a new language IPA and then syntrans relate the expression with the proper syntrans? Just thinking ... -- Hiong3-eng5 (talk) 05:42, 19 February 2013 (CET)
      • not with the current system, because if the IPA is wrong and you want to correct it, you would have to delete it and write a new one on a new syntrans (as we do for correcting wrong spelling in translations), and then you would have to change it in the syntrans(es) that link to it (which is the tricky part). But more generally, I would like to change it to a system where IPA, example sentences, etymology, etc. would have their own namespaces (Annotation:...?), so that several different syntranses could link to the same annotation (something like this would be also very useful later on for inflexions). Mostly it is the interface that should be changed, because the database already supports sharing the same annotation between several entities. --Kip (talk) 10:17, 22 February 2013 (CET)
        • IPA is neither a language nor a script. (Several attempts to have IPA registered as a Script with the ISO 15924 authority failed) In theory, you should be able to write any language using the IPA system, so it is language independent. If you want to annotate IPA correctly in HTML, you must use a tag such as lang="xyz-other-subtags-phonipa" for language code xyz according to BCP 47.

How to indicate an abbreviation?[edit]

In Expression:United_States, various abbreviated forms of the English name are shown: U.S. of A., U.S.A., etc. Similarly, abbreviations in other languages are shown, such as E.E.U.U. in Castilian.

Today when I added ស. រ. អា. in Khmer, I expected to add an annotation indicating what word(s) this abbreviation stood for. I didn't find any such, and I wonder how an abbreviation should be indicated? Isn't this a useful piece of information that should be captured? Rsperberg (talk) 19:57, 7 February 2013 (CET)

Hi, it is exactly the same problem as the above question, i.e. that we need Syntrans relations, but they do not work at the moment, so we cannot have that yet. I'll see to debug that. --Kip (talk) 20:14, 7 February 2013 (CET)
Thanks. Didn't mean to dump even more on your plate. :-\ Rsperberg (talk) 20:31, 7 February 2013 (CET)
It is now technically possible (see above) :-) --Kip (talk) 18:43, 12 February 2013 (CET)

Server hosting and Wikimedia[edit]

As you know, our server is slow, mainly because it has only 1GB RAM, which is not enough to load the entire SQL database in memory.

Among other things, I have asked about the possibility to be hosted on a Wikimedia server (we would be like a "sister project", hosted by Wikimedia, and potentially getting some advertisment from them, but we would not get money or programmers from the WMF).

Sj has suggested a course of actions [3] with interesting ideas of how we could request such hosting. In particular, that the request should concentrate on hosting and nothing else. Anybody who wants to help with updating the mentioned pages, or contribute any comment, is welcome! Doing it alone is a lot of work. --Kip (talk) 11:09, 11 February 2013 (CET)

And you can also put your name to the list of supporters [4] :) --Kip (talk) 18:47, 12 February 2013 (CET)
I have suggested something else. (talk) 05:49, 9 March 2013 (CET)

Using Wikidata for our Wikipedia links[edit]

As you may know, Wikidata is now used to store the interwiki links between the various Wikipedias.

I made a script to have OmegaWiki find the links to Wikipedia using Wikidata. All you have to do is provide the ID at Wikidata. See for example DefinedMeaning:forehead_(1241509), the Wikidata ID is in the annotations at the bottom of the page. Using this ID, the script automatically finds the corresponding Wikipedia article in the user language. Some advantages:

  • we don't have to add a link for each language, as we did before, but just put one Wikidata ID.
  • the links are automatically updated when they are changed on Wikidata.
  • it works even when we don't have a translation in that language. For example, if we have a species, like Spalerosophis diadema that has no translation in French ("Spalerosophis diadema" is language "international") we can still have a link to a Wikipedia article.
  • it is an annotation at DM level. This is more consistant, but also I had planned to load the syntrans annotations (rightmost column) only when you click on them, and not on page load, but I couldn't do it because we would have lost the links to Wikipedia. Now I can do that.

To find a Wikidata ID, find the article in the English Wikipedia. At the bottom of the interwiki links (left column), click on "edit link", it'll take you to the corresponding Wikidata page. The ID is the "Q27868" in the url.

The old Wikipedia links need to be converted to the new system. We have about 15.000 of them... I will do that with a script. --Kip (talk) 13:57, 16 February 2013 (CET)

Wonderful! Thanks. --InfoCan (talk) 21:09, 16 February 2013 (CET)
I ran a script to convert the links. There are now 7917 links to Wikidata. There are still 1170 links to Wikipedia for which no Wikidata ID were found by the script (we had 15700 initially). I'll run the script again in a few weeks, when Wikidata has more articles (they create 1 million every 3 weeks at the moment). --Kip (talk) 19:09, 24 February 2013 (CET)
If no Wikipedia article is available in your user language, it now displays a link to Wikidata (with the Wikidata logo) instead of displaying nothing. So, a contributor (e.g. me) knows that a link to Wikidata is already there. A standard user can go to Wikidata and pick the Wikipedia that he's the most able to read. --Kip (talk) 20:02, 26 February 2013 (CET)
Currently the Wikidata link is hidden under the Semantic Relations collapsible header. Most people would not know that clicking on the Wikidata link takes you to a list of Wikipedia articles in all languages on the subject. It may be more user-friendly to display the Wikidata link on the right side (below the image, otherwise on the top), with the Wikipedia logo, and a label below that says "Wikipedia article(s)". --InfoCan (talk) 22:13, 27 February 2013 (CET)
It is not hidden, it shows on the right side with a Wikidata logo (that's what my previous message is supposed to mean). See e.g. [5]. Do you mean that you would like a Wikipedia logo instead of a Wikidata logo? --Kip (talk) 10:18, 28 February 2013 (CET)
You are right, I got mixed up. My thinking was along the line that not too many people know yet what Wikidata is, but everyone knows Wikipedia. On the other hand people can just figure out what Wikidata is by clicking on it. Maybe it is fine the way it is. What do others think? --InfoCan (talk) 16:45, 28 February 2013 (CET)

When I edit a page, in "semantic annotations" → "links" → "property", I still have only "Commons category" and "image from Commons", no "wikidata"... (talk) 06:20, 8 March 2013 (CET)

That confused me too... It is now in "Semantic Annotations" --> "Plaintext". --Tosca (talk) 09:13, 8 March 2013 (CET)
Yes, it's a plaintext because it is just an ID. It is then transformed to a link when viewing a page, using some javascript.
In the future I'll try to get rid of all those subsections in annotations, they seem to confuse too many people (me included ;-) ). There will be only one dropdown list where you select your annotation, and the additional input areas will be created on the fly according to the selected annotation. --Kip (talk) 09:57, 8 March 2013 (CET)
Thank you. When I choose as interface language "British English", I get Wikidata's icon linking to Wikidata, instead of the expected Wikipedia icon-link which appears when I choose "English". (talk) 10:51, 8 March 2013 (CET)
Because there is no .
I don't know how fallback languages are defined at mediawiki, and how to access them with javascript. --Kip (talk) 10:55, 8 March 2013 (CET)

Incoming relations[edit]

I find incoming relations weird. When A is in relation with B, B is in relation with A. Sometimes the relation is symmetrical (pretty has for antonym uglyugly has for antonym pretty); sometimes one relation is the inverse of another one (shirt has for hyponym dress shirtdress shirt has for hyperonym shirt). Currently on DM:shirt (6654) one can see that shirt has for hyponym dress shirt and that T-Shirt has for hypernym shirt, which means that dress shirt and T-Shirt are in the exact same situation compared to shirt but this does not appear clearly. It would be nice if those inverse relations could be merged, i.e.:

  • on DM A one can see as antonyms all Bs such that A "has for antonym" B or B "has for antonym" A ;
  • of the hyponym and hyperonym relations we only keep one, say hyponym, and when a user declares than A has for hyperonym B what is actually registered is that B has for hyponym A ;
  • likewise for meronym/holonym and any pair "has for R" / "is R of".

--Rinaku (talk) 17:45, 17 February 2013 (CET)

It is in the OmegaWiki Roadmap, "Annotation reciprocity" ;-)
This requires some work, since an extra column has to be added in a table of the database. When we have that, we'll get rid of "incoming relation" --Kip (talk) 18:20, 17 February 2013 (CET)
OK. --Rinaku (talk) 18:39, 17 February 2013 (CET)

Alternative definitions[edit]

Does someone actually use alternative definitions?

I have not seen anyone use it except for just testing what it could be used for. This included copying definitions from authoritative databases (e.g. WordNet), but I believe this is outside the scope of OmegaWiki. IMO, authoritative databases should have their own websites, and we could/should only link to them instead of copying the definitions (or a meta-ontology would link both to us and to them, which would be better I think).

So, all I want to say is that I'd like to disable the feature "alternative definitions". For me it is just an extra section in the page that I don't use and one more cause of perplexity for the newcomers. (and also, I'll make a new section appear in the coming days... more later...) Wadda you think? --Kip (talk) 22:27, 19 February 2013 (CET)

I wonder whether the alternative definitions might have been intended to enter simplified definitions to be used for the OLPC Children's Dictionary. Even if this was not not the original intention, this could be a a reason for keeping the field. Children's dictionaries use a simple vocabulary and give definitions that may be less precise than those in adult dictionaries, but for an 8-year old kid, that may just what is needed. For example our definition of photosynthesis is "process by which plants transform carbon dioxide and water into carbohydrates and other compounds, using energy from the sun captured by chlorophyll in the plant." In a kid's dictionary it may be "In photosynthesis plants make sugar from water and carbon dioxide, with the help of sun light". See this article [6] about the need for a good free children's dictionary. Having two sets of definitions in OmegaWiki, one for adults one for kids, would be similar to having two versions of Wikipedia, one in English and one in Simple English. Wiktionary has a version in Simple English, but using the Alternative Definition Field would enable a children's version to exist in any language. Just a thought. --InfoCan (talk) 18:28, 20 February 2013 (CET)
No, the original purpose was to copy definitions from somewhere else. That's why in alternative definition, there is an extra column with a field called "source".
The idea of a dictionary for kids is nice (though I think it would be better if they had their own website but that could be discussed). However, unless someone wants to dedicate his time on this, I would be of the opinion to just make "alternative definition" disappear, and put it back if someone comes later with the idea - or a similar idea.
I see also that the people from the article you mentioned are aware of OmegaWiki (but didn't contact us), and opened their own collaborative dictionary which is still a bit active. --Kip (talk) 23:00, 20 February 2013 (CET)
A subject already discussed twice but about which I didn't get any support, is that, to my mind, a definition should be as often as possible a definition of the signified and not a definition of the signifying. For instance definition of "yes": "I agree with what you've just said." rather than "[A word used to show agreement or affirmation of something.]". If we don't agree on this rule, the alternative definition could be used for one of the 2 definitions. (talk) 06:15, 23 February 2013 (CET)
I agree with you here :-) . In fact, there are many types of definitions, see Help:Types of definition that I wrote with exactly these thoughts, but I neglected to follow up.
Here are some more examples. For weight you can have a theoretical definition of "a measurement of gravitational force acting on an object" or an operational definition of "a result of measurement of an object on a newton spring scale". For red, you can have an ostensive definition of "the color of certain objects such as tomatoes, stawberries or stop signs", a theoretical definition of "Any of a range of colours having the longest wavelengths, 670 nm, of the visible spectrum" or an operational definition of "the colour obtained by subtracting green and blue from white light using magenta and yellow filters".
These are not different meanings, they are different ways of defining a particular meaning. In OmegaWiki do we need to distinguish among different definition types? Should we require or prefer certain definitions? Is there a need to develop a policy on this subject?
--InfoCan (talk) 17:27, 25 February 2013 (CET)
That would be some good use of the "alternative definition" field. In that case, we would need to change it a bit so that "source" becomes "type of definition", and we could choose from a list like "theoretical", "childish", "operative / functional". If we go in that direction, it would be good to find some publication about the subject to have the right terminology.
But still, my question remains ;-) should I remove this field now because it is not used, and put it back later if someone wants to create different types of definitions, or should I let the field as it is? --Kip (talk) 17:56, 25 February 2013 (CET)
Doing it the way you suggest implies that there is a preferred definition type for the main definition and others should go into the "alternative definition" field. Consider the examples I gave above for the word "red": which should be the "main" definition, which should be "alternative"? I think that if there are multiple definition types, they should be all be displayed together. On the Wiktionary, for example, the definition of "red" is
Any of a range of colours having the longest wavelengths, 670 nm, of the visible spectrum; a primary additive colour for transmitted light: the colour obtained by subtracting green and blue from white light using magenta and yellow filters.
So, it seems to me that Definition Type should be an attribute of the DM. It should be made possible to enter multiple DMs as long as they are tagged with different Definition Types (let's just make sure people don't overwrite another definition by mistake). If there are multiple definitions with different types, they would be displayed together, separated with a semicolon perhaps.
As for the "alternative definition" field, let's just discard it. --InfoCan (talk) 22:09, 25 February 2013 (CET)

DM less Expressions[edit]

I checked with omegawiki-lexical database (stripped to the languages I use), and used this SQL (I put an extra space between '[' and ']', since the script won't show correctly):

select '[ [Expression:'|| spelling || '] ]'
from (
	select spelling, language_id, uw_expression.expression_id, 
	from uw_expression left join (
		select distinct expression_id from uw_syntrans 
		where remove_transaction_id is null
	) as uw_syntrans 
	on uw_expression.expression_id = uw_syntrans.expression_id 
	where uw_syntrans.expression_id is null
	order by spelling

And found a list of Expressions.

I have not checked all of it, but if my SQL is correct, most or all are DM less. What is the policy for DMless Expressions? Should they be deleted to save database space? -- Hiong3-eng5 (talk) 05:32, 20 February 2013 (CET)

We cannot just delete them because they are useful when viewing history. What we need to do is update the field uw_expression.remove_transaction_id (which is currently not used), so that it is set to a value when all DMs of that expression are removed, and set back to null if ever the expression is used again. --Kip (talk) 09:28, 20 February 2013 (CET)

Here is what I see as a first step...

Remove expression[edit]

For example we want to remove the expression 'remove' which has an expression_id = 352215.

After removing the expression from uw_syntrans, check with this SQL if the expression still has other similar expression_id listed.

Sql query
SELECT count(*) FROM (
 SELECT "expression_id"
 FROM "uw_syntrans"
 WHERE "remove_transaction_id" IS NULL
 AND "expression_id" = 352215

if the count registers 0 then that means that there are no more expression_id connected with any defined_meaning_id. Then we update uw_expression.remove_transaction_id.

Sql query
update "uw_expression" 
set "remove_transaction_id" = 00000 /* just an example */
where expression_id = 352215
and language_id = 85

What do you think? -- Hiong3-eng5 (talk) 05:41, 22 February 2013 (CET)

Yes, that's how it should be done.
I know that it is not too complicated, it's just that I never took the time to do it. You can also try to submit your own patch if you feel like it.
By the way, I think the count(*) query can be simply written
Sql query
SELECT count(*) FROM "uw_syntrans"
 WHERE "remove_transaction_id" IS NULL
 AND "expression_id" = 352215;
Or what I usually do is
SELECT expression_id FROM "uw_syntrans"
 WHERE "remove_transaction_id" IS NULL
 AND "expression_id" = 352215
and then look if there is one result. I believe (but am not sure) that it is faster.
In the second query, if you already have "expression_id", you don't need "and language_id = 85", because the expression_id is unique in the uw_expression table. --Kip (talk) 10:08, 22 February 2013 (CET)
Yep, the short cut is better. I would submit a patch if I knew how to read php. I tried to look at the source and got a headache. -- Hiong3-eng5 (talk) 11:50, 22 February 2013 (CET) PERL beginner
I think the only file that needs modifications is WikidataAPI.php, which is one of the most readable file in the code. But I agree that the source is code gives headaches. --Kip (talk) 11:55, 22 February 2013 (CET)

Update Expression[edit]

For example we want to add the expression 'remove' which has an expression_id = 352215.

After checking, if spelling = 'remove' exists, then use the same SQL above

Sql query
SELECT count(*) FROM (
 SELECT "expression_id"
 FROM "uw_syntrans"
 WHERE "remove_transaction_id" IS NULL
 AND "expression_id" = 352215

if the count registers 0 then update uw_expression.remove_transaction_id.

Sql query
update "uw_expression" 
set "remove_transaction_id" = NULL
where expression_id = 352215
and language_id = 85

-- Hiong3-eng5 (talk) 06:49, 22 February 2013 (CET)

Updating unprocessed uw_expression.remove_transaction_id[edit]

A SQL that updates uw_expression.remove_transaction_id one entry only. This script compares uw_expression and uw_syntrans where uw_syntrans.remove_transaction_id is not null. It only adds uw_expression.remove_transaction_id from the latest uw_syntrans.remove_transaction_id (That's why LIMIT 1 is important in this script). I have only tested this under a SQLite database. Simplify and/or convert this to MYSQL format.

Sql query
UPDATE "uw_expression" SET "remove_transaction_id" =
( SELECT "remove_transaction_id" FROM (
	SELECT DISTINCT "elist"."expression_id", "rtid"."syntrans_sid",
	"rtid"."remove_transaction_id" FROM (
		SELECT DISTINCT "e"."expression_id" FROM "uw_expression" AS "e",
		SELECT "expression_id" FROM "uw_syntrans"
		WHERE "remove_transaction_id" IS NOT NULL
		) AS "st"
		WHERE "e"."expression_id" = "st"."expression_id"
		and "e"."remove_transaction_id" IS NULL
	) AS "elist" LEFT JOIN (
		SELECT "syntrans_sid", "expression_id", "remove_transaction_id" 
		FROM "uw_syntrans"
		WHERE "remove_transaction_id" IS NOT NULL
		ORDER BY "syntrans_sid" DESC
	) AS "rtid"
	ON "elist"."expression_id" = "rtid"."expression_id"
	ORDER BY "elist"."expression_id" ASC, "rtid"."syntrans_sid" DESC
WHERE "expression_id" =
( SELECT "expression_id" FROM (
	SELECT DISTINCT "elist"."expression_id", "rtid"."syntrans_sid",
	"rtid"."remove_transaction_id" FROM (
		SELECT DISTINCT "e"."expression_id" FROM "uw_expression" AS "e",
		SELECT "expression_id" FROM "uw_syntrans"
		WHERE "remove_transaction_id" IS NOT NULL
		) AS "st"
		WHERE "e"."expression_id" = "st"."expression_id"
		and "e"."remove_transaction_id" IS NULL
	) AS "elist" LEFT JOIN (
		SELECT "syntrans_sid", "expression_id", "remove_transaction_id" 
		FROM "uw_syntrans"
		WHERE "remove_transaction_id" IS NOT NULL
		ORDER BY "syntrans_sid" DESC
	) AS "rtid"
	ON "elist"."expression_id" = "rtid"."expression_id"
	ORDER BY "elist"."expression_id" ASC, "rtid"."syntrans_sid" DESC

-- Hiong3-eng5 (talk) 02:44, 23 February 2013 (CET)

This is nice! (though I'm sure it can be simplified, for example instead of "order by Desc/asc + limit 1", one can use "select max(...)" but I am not sure of the syntax).
Before running that, we first need to modify the php so that it updates uw_expression.remove_transaction_id in realtime. --Kip (talk) 10:24, 26 February 2013 (CET)

More visible annotations[edit]

The annotations about the current word (syntrans) are now visible on a higher level, instead of being hidden in the last column of the list of "synonyms and translations". I put them on top, above the list of definitions, but this can be changed. You can see an example at Expression:dictionary. I think this is how it should have looked years ago... It would be good to give it a less table-like appearance, but I am not sure how at the moment.

If you edit the Expression: page, you can edit these annotations at the same place. If you edit the DefinedMeaning: page, you have to go to the column.

Also, I have removed the current word from the list of "synonyms and translations", which is more logical. (Another logical thing would be to separate synonyms and translations in two separate sections).

Since we would have had two sections called "annotation", I have renamed them to "lexical annotations" (which are about the word itself, e.g. "part of speech", "IPA", "etymology") and "semantic annotations" (which are about the meaning, e.g. "hyponym", "image", "link to Wikidata" (to have links to Wikipedia)). These new names "lexical annotations" and "semantic annotations" are not yet translatable at, because I wanted to discuss them first. Any better idea is welcome. --Kip (talk) 19:32, 21 February 2013 (CET)

These are great improvements. Thanks a lot! --InfoCan (talk) 22:27, 25 February 2013 (CET)
Note: There is a bug that language-specific annotations (e.g. part of speech) do not appear when editing the section called "semantic annotation". But it still works when editing the annotation in the columns. Will fix, be patient. --Kip (talk) 09:59, 26 February 2013 (CET)
Fixed! --Kip (talk) 19:57, 26 February 2013 (CET)


In Hebrew, vowels (niqqud) are usually omitted from standard writing. So does OmegaWiki in most cases, but there are some exceptions (צפור is here along with the vocalized צִפּוֹר). Should we only use unvocalized words, should we only use vocalized words, or should we make two languages, with and without niqqud? -- Ypnypn (talk) 15:03, 27 February 2013 (CET)

There was a discussion about it Meta:Functionality_wanted#Hebrew_spelling_with_vowels but we didn't take a final decision. Amir is not active at the moment on the project, but can be reached if you want to discuss it further with him.
Basically, I can implement the solution you like best, and if later another solution is preferred, we can always switch from one to the other by running some scripts on the database. --Kip (talk) 16:11, 27 February 2013 (CET)
Having reviewed the discussion you mentioned and talked to Amir at Pedia, I think that (until a way of searching by annotation is developed) we should have two languages: Hebrew (heb) and Hebrew (nikkud) (heb-n). -- Ypnypn (talk) 01:49, 3 March 2013 (CET)
Ok, Added Hebrew (nikkud) as a language! --Kip (talk) 12:06, 3 March 2013 (CET)
Thanks! -- Ypnypn (talk) 16:30, 3 March 2013 (CET)


I got the queries for selecting a DM or a Syntrans (in a relation) to work significantly faster (or so I hope). According to my tests, from about 30 seconds to about half a second. If this is correct, this is good :-)

I can probably improve any other long query that is sorted by spelling, using the same strategy. --Kip (talk) 21:36, 28 February 2013 (CET)

That is impressive, congratulations. Ascánder (talk) 04:08, 3 March 2013 (CET)

I changed something else to be faster. It might affect lowercase / uppercase distinction in OmegaWiki, as well as maybe some non-Latin scripts. I am not sure exactly. Of course I tested it on my local installation first, without any problem, but be aware of possible bugs. To be on the safe side I did a full database backup - but don't be scared ;-) For the techies, I changed the spelling column in the database from varchar to varbinary, which should allow MySql to use an index on the column, which should perform faster. --Kip (talk) 09:56, 14 March 2013 (CET)